1This ChangeLog file is no longer maintained - see the git repo history for
2more recent changes: https://xapian.org/bleeding
3
4Wed Sep 30 19:34:51 GMT 2015  Olly Betts <olly@survex.com>
5
6	* languages/compiler/: Merge changes from upstream snowball again.
7
8Sun Sep 27 23:59:05 GMT 2015  Olly Betts <olly@survex.com>
9
10	* languages/compiler/: Merge changes from upstream snowball.
11
12Sat Sep 26 04:07:35 GMT 2015  Olly Betts <olly@survex.com>
13
14	* tests/api_backend.cc: Remove pointless call to get_database().
15
16Sat Sep 26 03:21:45 GMT 2015  Olly Betts <olly@survex.com>
17
18	* common/pack.h,configure.ac,include/xapian/types.h,
19	  include/xapian/version_h.cc,tests/api_backend.cc,tests/api_wrdb.cc:
20	  Add new configure options --enable-64bit-docid and
21	  --enable-64bit-termcount, which control the size of these types.
22	  Currently the backends only support 32-bit docids, but using 64-bit
23	  docids allows searching multiple database where the mapped docids
24	  don't fit in a 32-bit type.  Based heavily on patch from James
25	  Aylett and Dylan Griffith.  Fixes #385.
26
27Sat Sep 26 00:32:31 GMT 2015  Olly Betts <olly@survex.com>
28
29	* backends/glass/glass_table.cc: Use BLK_UNUSED constant.
30
31Sat Sep 26 00:31:45 GMT 2015  Olly Betts <olly@survex.com>
32
33	* backends/chert/chert_table.cc: Initialise last_readahead - was
34	  causing testsuite failures under valgrind.
35
36Fri Sep 25 06:28:02 GMT 2015  Olly Betts <olly@survex.com>
37
38	* net/length.cc,net/length.h: Provide overloads for unsigned, unsigned
39	  long, and unsigned long long, rather than uint32_t and uint64_t -
40	  this avoids overload resolution failing when we pass a type which
41	  isn't one which uint32_t or uint64_t is a typedef to.  (see #385)
42
43Fri Sep 25 04:10:00 GMT 2015  Olly Betts <olly@survex.com>
44
45	* api/vectortermlist.cc: Check decoded length.
46
47Sun Sep 13 08:27:53 GMT 2015  Olly Betts <olly@survex.com>
48
49	* common/socket_utils.cc: Change C-style cast to reinterpret_cast.
50
51Wed Sep 02 03:13:45 GMT 2015  Olly Betts <olly@survex.com>
52
53	* docs/stemming.rst,languages/armenian.sbl,languages/basque.sbl,
54	  languages/catalan.sbl: Update snowball website links to
55	  snowballstem.org.  Correct "2-clause BSD" to "3-clause BSD".
56
57Sun Aug 30 04:43:49 GMT 2015  Olly Betts <olly@survex.com>
58
59	* net/remote_protocol.rst: Markup tweak.
60
61Thu Aug 13 08:56:25 GMT 2015  Olly Betts <olly@survex.com>
62
63	* backends/remote/remote-database.cc: Improve error when the client and
64	  server remote protocol versions aren't compatible.
65
66Tue Aug 11 09:32:46 GMT 2015  Olly Betts <olly@survex.com>
67
68	* docs/: Strip out "quickstart" examples which are out of date and
69	  rather redundant with the "simple" examples.
70
71Tue Aug 11 08:24:48 GMT 2015  Olly Betts <olly@survex.com>
72
73	* pkgconfig/xapian-core.pc.in: Fix library name in .pc file to say
74	  "xapian" not "xapian-core".  Reported by Eric Lindblad to the
75	  xapian-devel list.
76
77Tue Jul 07 01:37:00 GMT 2015  Olly Betts <olly@survex.com>
78
79	* api/omenquire.cc,api/query.cc,backends/chert/,backends/database.cc,
80	  backends/database.h,backends/glass/,common/io_utils.cc,
81	  common/io_utils.h,configure.ac,include/xapian/enquire.h,
82	  include/xapian/query.h,matcher/multimatch.cc: Where posix_fadvise()
83	  is available, use it to prefetch postlist Btree blocks from the
84	  level below the root block which will be needed for postlists of
85	  terms in the query, and similarly for the record/docdata table
86	  when MSet::fetch() is called.  Based on patch by Will Greenberg
87	  in #671.
88
89Mon Jul 06 09:44:54 GMT 2015  Olly Betts <olly@survex.com>
90
91	* common/safeunistd.h,configure.ac: Don't provide our own
92	  implementation of sleep() under __WIN32__ if there's already one -
93	  mingw provides one, and in some situations it seems to clash with
94	  ours.  Reported to xapian-discuss by John Alveris.
95
96Mon Jun 29 12:10:22 GMT 2015  Olly Betts <olly@survex.com>
97
98	* backends/chert/chert_compact.cc: Need <unistd.h> for unlink() on
99	  FreeBSD, reported by Germán M. Bravo via github PR 72.
100
101Wed Jun 24 10:07:05 GMT 2015  Olly Betts <olly@survex.com>
102
103	* tests/harness/testutils.cc,tests/harness/testutils.h: Use
104	  'Xapian::docid' instead of 'unsigned int' so that things work with
105	  64 bit docids (see #385).
106
107Tue Jun 23 13:38:54 GMT 2015  Olly Betts <olly@survex.com>
108
109	* api/snipper.cc,api/snipperinternal.h: Use appropriate typedefs
110	  rather than unsigned int.  Split out of patch by Dylan Griffith in
111	  #385.
112
113Tue Jun 23 13:32:36 GMT 2015  Olly Betts <olly@survex.com>
114
115	* backends/chert/chert_database.cc,backends/chert/chert_types.h,
116	  backends/glass/glass_database.cc,backends/glass/glass_defs.h: Add
117	  constants CHERT_MAX_DOCID and GLASS_MAX_DOCID for the largest docid
118	  which the backends support, independent of the size of type
119	  Xapian::docid.  (helps #385)
120
121Tue Jun 23 13:19:06 GMT 2015  Olly Betts <olly@survex.com>
122
123	* tests/api_backend.cc: Add regression test for #678.
124
125Tue Jun 23 13:04:06 GMT 2015  Olly Betts <olly@survex.com>
126
127	* api/,backends/remote/net_postlist.cc,
128	  backends/remote/remote-database.cc,
129	  geospatial/latlong_posting_source.cc,net/,tests/unittest.cc: Split
130	  decode_length() into versions which decode a 32 vs 64 bit value,
131	  and which check that there's at least the decoded length in bytes
132	  in the source data.  (Fixes #678 and helps #385)
133
134Tue Jun 23 11:49:15 GMT 2015  Olly Betts <olly@survex.com>
135
136	* net/remoteserver.cc: Check length of key in MSG_SETMETADATA.
137
138Sat Jun 20 13:05:50 GMT 2015  Olly Betts <olly@survex.com>
139
140	* common/str.h,tests/,tests/harness/,tests/internaltest.cc,
141	  tests/perftest/perftest.cc,tests/perftest/perftest_matchdecider.cc,
142	  tests/perftest/perftest_randomidx.cc,tests/queryparsertest.cc,
143	  tests/soaktest/soaktest_queries.cc,tests/termgentest.cc,
144	  tests/unittest.cc: Make str() private to the library, and use
145	  C++11 std::to_string() to convert numbers to std::string in the
146	  testsuite.  (ticket #63)
147
148Sat Jun 20 12:32:13 GMT 2015  Olly Betts <olly@survex.com>
149
150	* tests/api_unicode.cc: Fix trailing whitespace introduced by previous
151	  commit.
152
153Sat Jun 20 06:31:27 GMT 2015  Olly Betts <olly@survex.com>
154
155	* tests/api_unicode.cc,unicode/Makefile.mk,
156	  unicode/UnicodeData-README.txt,unicode/UnicodeData.txt:
157	  Update to Unicode 8.0.0.  (fixes #680)
158
159Thu Jun 11 11:57:50 GMT 2015  Olly Betts <olly@survex.com>
160
161	* include/xapian/queryparser.h: Remove XAPIAN_CONST_FUNCTION marker
162	  from sortable_serialise_() helper, as it writes to the passed in
163	  buffer, so it isn't const or pure.  Fixes decvalwtsource2 testcase
164	  failure when compiled with clang.
165
166Thu Jun 11 05:05:27 GMT 2015  Olly Betts <olly@survex.com>
167
168	* examples/xapian-metadata.cc: Extend "list" subcommand to take
169	  optional key prefix.
170
171Sat Jun 06 11:02:50 GMT 2015  Olly Betts <olly@survex.com>
172
173	* queryparser/queryparser.lemony: Use C++11 auto and container
174	  iteration for cleaner code.
175
176Fri Jun 05 12:08:02 GMT 2015  Olly Betts <olly@survex.com>
177
178	* api/omenquire.cc,api/omenquireinternal.h,
179	  backends/remote/remote-database.cc,backends/remote/remote-database.h,
180	  include/xapian/matchspy.h,matcher/,net/remoteserver.cc,
181	  tests/api_none.cc: Add support for optional reference counting of
182	  MatchSpy objects.
183
184Fri Jun 05 02:55:54 GMT 2015  Olly Betts <olly@survex.com>
185
186	* backends/remote/remote-database.h: Correct doxygen comment for
187	  internal method.
188
189Thu Jun 04 12:44:00 GMT 2015  Olly Betts <olly@survex.com>
190
191	* examples/quest.cc: Prefer pre-increment ++.
192
193Thu Jun 04 12:42:49 GMT 2015  Olly Betts <olly@survex.com>
194
195	* tests/api_compact.cc,tests/api_posdb.cc: Remove unused variables.
196
197Thu Jun 04 12:42:04 GMT 2015  Olly Betts <olly@survex.com>
198
199	* tests/api_backend.cc: Fix compilation in case where S_ISSOCK() isn't
200	  defined.
201
202Thu Jun 04 12:41:31 GMT 2015  Olly Betts <olly@survex.com>
203
204	* languages/compiler/generator.c: Remove redundant assignment.
205
206Thu Jun 04 12:40:52 GMT 2015  Olly Betts <olly@survex.com>
207
208	* languages/compiler/generator.c: Remove extra "break;".
209
210Thu Jun 04 12:39:51 GMT 2015  Olly Betts <olly@survex.com>
211
212	* include/xapian/query.h: Remove bogus extra "Query::" qualifier from
213	  fake Query constructor prototypes provided for SWIG.
214
215Thu Jun 04 12:38:36 GMT 2015  Olly Betts <olly@survex.com>
216
217	* api/documentvaluelist.h,api/leafpostlist.h,api/matchspy.cc,
218	  include/xapian/,net/length.cc: Mark constructors taking a
219	  single argument as "explicit" to avoid unwanted implicit
220	  conversions.
221
222Mon Jun 01 13:11:02 GMT 2015  Olly Betts <olly@survex.com>
223
224	* NEWS.SKELETON: Remove section for "flint backend" from template.
225
226Mon Jun 01 13:09:55 GMT 2015  Olly Betts <olly@survex.com>
227
228	* NEWS,configure.ac: Update for 1.3.3.
229
230Mon May 25 04:33:15 GMT 2015  Olly Betts <olly@survex.com>
231
232	* NEWS: Update.
233
234Sun May 24 12:52:47 GMT 2015  Olly Betts <olly@survex.com>
235
236	* tests/api_postingsource.cc: timer_create() seems to always fail on
237	  AIX with EAGAIN, so just skip the matchtimelimit1 testcase there.
238
239Sun May 24 11:48:30 GMT 2015  Olly Betts <olly@survex.com>
240
241	* net/tcpserver.cc: Under __WIN32__, inet_ntop()'s second parameter
242	  is 'void*' (to POSIX says it should be 'const void*').
243
244Sun May 24 11:46:25 GMT 2015  Olly Betts <olly@survex.com>
245
246	* common/safenetdb.h: Under __WIN32__, MSDN says that newer platforms
247	  need <ws2def.h> for AI_* constants.  And mingw doesn't seem to
248	  define AI_NUMERICSERV yet.
249
250Sun May 24 10:41:39 GMT 2015  Olly Betts <olly@survex.com>
251
252	* common/safewindows.h,configure.ac: Under __WIN32__, we need to
253	  specify Vista as the minimum supported version to get the
254	  AI_ADDRCONFIG flag.  Older versions seem to all be out of support
255	  anyway.
256
257Sun May 24 06:46:15 GMT 2015  Olly Betts <olly@survex.com>
258
259	* net/tcpclient.cc: Add missing declaration of variable under
260	  __WIN32__.
261
262Sun May 24 06:39:56 GMT 2015  Olly Betts <olly@survex.com>
263
264	* tests/harness/testsuite.h: Simplify FAIL_TEST and SKIP_TEST
265	  slightly.
266
267Sat May 23 11:52:03 GMT 2015  Olly Betts <olly@survex.com>
268
269	* tests/harness/backendmanager_remotetcp.cc: Don't leave an extra fd
270	  open when starting xapian-tcpsrv for remotetcp tests.
271
272Sat May 23 10:12:31 GMT 2015  Olly Betts <olly@survex.com>
273
274	* tests/harness/backendmanager_remotetcp.cc: Add spaces between literal
275	  strings and macros which expand to literal strings for C++11
276	  compatibility in __WIN32__-specific code.
277
278Fri May 22 03:22:03 GMT 2015  Olly Betts <olly@survex.com>
279
280	* NEWS: Update.
281
282Wed May 20 14:24:03 GMT 2015  Olly Betts <olly@survex.com>
283
284	* include/xapian/version_h.cc: If old and new __GXX_ABI_VERSION are
285	  both >= 1002 (which means GCC >= 3.4), then issue a warning about
286	  mismatching versions instead of an error.  The changes in these
287	  versions are bug fixes for corner cases, so there's a good chance of
288	  things working - e.g. building xapian-bindings with GCC 5.1 (which
289	  defaults to __GXX_ABI_VERSION 1008) against xapian-core built with
290	  GCC 4.9 (1002) seems to work OK.  A warning is still useful as a
291	  clue to what is going on if linking fails due to a missing symbol.
292
293Wed May 20 13:47:50 GMT 2015  Olly Betts <olly@survex.com>
294
295	* net/serialise.cc: Don't use encode_length() on a bool - it's
296	  overkill, and leads to a warning from GCC 5.1 (due to the
297	  comparison (bool_value < 255) from the template expansion
298	  always being true).
299
300Wed May 20 01:49:18 GMT 2015  Olly Betts <olly@survex.com>
301
302	* api/matchspy.cc: Fix comparison function not to return true for two
303	  equal elements, which fixes matchspy4 test failure with clang and
304	  libc++.
305
306Wed May 20 00:20:56 GMT 2015  Olly Betts <olly@survex.com>
307
308	* configure.ac: Disable "<FUNCTION> is expected to return a value"
309	  warning from Sun's C++ compiler, as it fires even for functions we
310	  end in a "throw" statement.  Genuine instances will be caught by
311	  compilers with superior warning machinery.
312
313Mon May 18 04:18:37 GMT 2015  Olly Betts <olly@survex.com>
314
315	* configure.ac: Arrange to pass command line option so that xlC
316	  actually fails to compile the test code for typeid() when RTTI isn't
317	  enabled.
318
319Sun May 17 11:35:36 GMT 2015  Olly Betts <olly@survex.com>
320
321	* backends/glass/glass_version.cc: When reporting an error that the
322	  glass format version doesn't match, don't append an uninitialised
323	  char[] buffer to the error string (code accidentally left behind
324	  by the previous change in this area).
325
326Sat May 16 12:08:17 GMT 2015  Olly Betts <olly@survex.com>
327
328	* common/socket_utils.cc: Fix casts on the 4th argument of
329	  setsockopt() so they compile on platforms which expect
330	  char * or const char * there.
331
332Fri May 15 13:24:55 GMT 2015  Olly Betts <olly@survex.com>
333
334	* configure.ac: Enhance the probe for whether the test harness can use
335	  RTTI so that it works for xlC (which defaults to not generating
336	  RTTI).
337
338Fri May 15 12:28:32 GMT 2015  Olly Betts <olly@survex.com>
339
340	* common/debuglog.h: Remove commented out STATIC_ASSERT() which
341	  is conceptually flawed.
342
343Fri May 15 12:27:45 GMT 2015  Olly Betts <olly@survex.com>
344
345	* common/omassert.h,common/pack.h,tests/api_wrdb.cc,
346	  tests/internaltest.cc: Replace STATIC_ASSERT() with C++11's
347	  static_assert().
348
349Fri May 15 11:34:47 GMT 2015  Olly Betts <olly@survex.com>
350
351	* common/stringutils.cc: Use static_assert rather than an adhoc check
352	  via a negative array size.
353
354Fri May 15 11:16:18 GMT 2015  Olly Betts <olly@survex.com>
355
356	* common/io_utils.cc: Replace the code used on platforms without
357	  F_DUPFD with simpler code which actually compiles.
358
359Fri May 15 03:43:16 GMT 2015  Olly Betts <olly@survex.com>
360
361	* pkgconfig/xapian-core.pc.in: Include @ldflags@ in pkg-config .pc
362	  file.
363
364Fri May 15 03:33:40 GMT 2015  Olly Betts <olly@survex.com>
365
366	* pkgconfig/xapian-core.pc.in: Fix include directory reported by
367	  pkg-config.
368
369Fri May 15 03:31:43 GMT 2015  Olly Betts <olly@survex.com>
370
371	* configure.ac,pkgconfig/xapian-core.pc.in,xapian-config.in: When
372	  compiling with xlC on AIX, _LARGE_FILES gets defined by
373	  AC_SYS_LARGEFILE to enable large file support, and defining this
374	  changes the ABI of std::string, so include it in xapian-config
375	  --cxxflags and the pkg-config equivalent.
376
377Fri May 15 02:52:10 GMT 2015  Olly Betts <olly@survex.com>
378
379	* tests/Makefile.am,tests/perftest/Makefile.mk: Use $(NO_INSTALL)
380	  rather than @NO_INSTALL@ to allow make-time overriding.
381
382Fri May 15 02:33:11 GMT 2015  Olly Betts <olly@survex.com>
383
384	* tests/soaktest/Makefile.mk: Use -no-fast-install instead of
385	  -no-install for linking soaktest on platforms where libtool issues
386	  a warning for -no-install, like we already do for all the other test
387	  programs.
388
389Fri May 15 02:14:16 GMT 2015  Olly Betts <olly@survex.com>
390
391	* examples/simpleexpand.cc,examples/simpleindex.cc,
392	  examples/simplesearch.cc: '#include <config.h>' in the examples, as
393	  when compiling with xlC on AIX, _LARGE_FILES gets defined by
394	  AC_SYS_LARGEFILE to enable large file support, and defining this
395	  changes the ABI of std::string, so it also needs to be defined when
396	  compiling code using Xapian.
397
398Thu May 14 03:17:28 GMT 2015  Olly Betts <olly@survex.com>
399
400	* backends/chert/chert_cursor.cc: Correct delete to delete [].
401
402Tue May 12 14:33:28 GMT 2015  Olly Betts <olly@survex.com>
403
404	* docs/deprecation.rst: Add deprecation of --preserve-nonduplicates
405	  which happened in 1.2.4.
406
407Tue May 12 07:38:12 GMT 2015  Olly Betts <olly@survex.com>
408
409	* Makefile.am: Actually use $(NO_UNDEFINED).
410
411Tue May 12 06:40:38 GMT 2015  Olly Betts <olly@survex.com>
412
413	* configure.ac: Only pass -no-undefined when linking the library if
414	  it's actually required for the current platform.  Sun C++ doesn't
415	  link the C++ runtime libraries to shared objects, so the build
416	  fails with -no-undefined.
417
418Tue May 12 06:39:26 GMT 2015  Olly Betts <olly@survex.com>
419
420	* INSTALL,configure.ac: Fix comment and doc typos.
421
422Tue May 12 03:49:38 GMT 2015  Olly Betts <olly@survex.com>
423
424	* configure.ac: Add workaround for odd <cmath> issue with Sun C++.
425
426Tue May 12 03:49:15 GMT 2015  Olly Betts <olly@survex.com>
427
428	* configure.ac: On Solaris, inet_ntop() needs -lnsl.
429
430Tue May 12 03:48:48 GMT 2015  Olly Betts <olly@survex.com>
431
432	* api/keymaker.cc: Fix error compiling with Sun C++.
433
434Tue May 12 03:07:06 GMT 2015  Olly Betts <olly@survex.com>
435
436	* include/xapian/attributes.h: Fix typo in definition of
437	  XAPIAN_NOTHROW() definition for C++11 compilers other than GCC and
438	  MSVC.
439
440Tue May 12 01:48:19 GMT 2015  Olly Betts <olly@survex.com>
441
442	* exception_data.pm: Fix not to parse mentions of XAPIAN_THROW() in
443	  comments.
444
445Mon May 11 14:16:22 GMT 2015  Olly Betts <olly@survex.com>
446
447	* HACKING: libtool 2.4.6 is now used for snapshots and releases.
448
449Mon May 11 14:14:04 GMT 2015  Olly Betts <olly@survex.com>
450
451	* common/str.cc,expand/bo1eweight.cc,geospatial/geoencode.cc,
452	  matcher/multiandpostlist.cc,net/remoteconnection.cc,weight/:
453	  Fixes for errors when compiling with Sun C++.
454
455Mon May 11 10:53:47 GMT 2015  Olly Betts <olly@survex.com>
456
457	* common/log2.h,configure.ac: Change probe for log2() to check for a
458	  declaration and '#include <cmath>' to get it to fix build on Solaris
459	  with Sun C++.  C++11 compilers should all provide log2(), but let's
460	  not rely on that just yet as it's easy to provide a fallback
461	  implementation.
462
463Mon May 11 07:04:06 GMT 2015  Olly Betts <olly@survex.com>
464
465	* common/getopt.cc,net/tcpserver.cc: Fix clang warnings on OS X.
466	  Reported by Germán M. Bravo.
467
468Mon May 11 06:29:42 GMT 2015  Olly Betts <olly@survex.com>
469
470	* api/constinfo.cc,docs/doxygen_api.conf.in,
471	  docs/doxygen_source.conf.in,include/xapian/: C++11's noexcept
472	  needs to be on definitions as well as declarations, but GCC
473	  function attributes must only be on declarations, so split
474	  XAPIAN_NOEXCEPT off from XAPIAN_NOTHROW.
475
476Sun May 10 13:26:24 GMT 2015  Olly Betts <olly@survex.com>
477
478	* include/xapian/queryparser.h,queryparser/queryparser_internal.h,
479	  tests/api_none.cc: Add support for optional reference counting of
480	  FieldProcessor objects.
481
482Sun May 10 11:07:36 GMT 2015  Olly Betts <olly@survex.com>
483
484	* include/xapian/intrusive_ptr.h,include/xapian/queryparser.h,
485	  queryparser/queryparser.lemony,queryparser/queryparser_internal.h,
486	  tests/api_none.cc: Add support for optional reference counting of
487	  ValueRangeProcessor objects.
488
489Thu May 07 12:42:11 GMT 2015  Olly Betts <olly@survex.com>
490
491	* bin/xapian-replicate.cc,common/socket_utils.cc,common/socket_utils.h,
492	  net/replicatetcpclient.cc,net/replicatetcpclient.h: Set SO_KEEPALIVE
493	  for xapian-replicate's connection to the master, and add command
494	  line option to allow setting socket-level timeouts (SO_RCVTIMEO and
495	  SO_SNDTIMEO) on platforms that support them.  Fixes #546, reported
496	  by nkvoll.
497
498Thu May 07 12:00:15 GMT 2015  Olly Betts <olly@survex.com>
499
500	* bin/xapian-replicate.cc: Fix connection timeout to be 10 seconds
501	  rather than 10000 seconds which is has been since 1.2.3.
502
503Tue May 05 02:38:37 GMT 2015  Olly Betts <olly@survex.com>
504
505	* net/tcpserver.cc: Use inet_ntop() instead of inet_ntoa() - the
506	  latter isn't thread-safe.
507
508Tue May 05 02:05:27 GMT 2015  Olly Betts <olly@survex.com>
509
510	* include/xapian/queryparser.h: Update documentation to reflect that
511	  the database passed to QueryParser::set_database() is no longer
512	  used to expand wildcards and partial terms.
513
514Mon May 04 11:32:40 GMT 2015  Olly Betts <olly@survex.com>
515
516	* api/postlist.cc,api/postlist.h,common/remoteprotocol.h,matcher/,
517	  net/serialise.cc,tests/api_backend.cc: Fix sort by value when
518	  multiple databases are in use and one or more are remote.  Fixes
519	  #674, reported by Dylan Griffith.
520
521Sun May 03 12:41:58 GMT 2015  Olly Betts <olly@survex.com>
522
523	* docs/deprecation.rst,include/xapian/queryparser.h,
524	  queryparser/queryparser.cc,queryparser/queryparser.lemony,
525	  queryparser/queryparser_internal.h,tests/queryparsertest.cc:
526	  Allow setting the expansion limits and types for wildcards
527	  and partial terms in the QueryParser independently.  Partial
528	  terms now default to the 100 most frequent matching terms.
529	  Deprecate set_max_wildcard_expansion() in favour of new
530	  set_max_expansion() method which can set expansion limits
531	  for partial terms too.  Completes #608.
532
533Sat May 02 09:20:30 GMT 2015  Olly Betts <olly@survex.com>
534
535	* api/query.cc,api/queryinternal.cc,api/queryinternal.h,
536	  include/xapian/query.h,queryparser/queryparser.lemony,
537	  tests/api_query.cc: Add a choice of ways to apply the limit on
538	  wildcard expansion.  Fixes #608, reported by boomboo.
539
540Fri May 01 14:53:16 GMT 2015  Olly Betts <olly@survex.com>
541
542	* tests/api_replicate.cc: Reenable replicate3 for glass, as it no
543	  longer fails.
544
545Fri May 01 13:38:48 GMT 2015  Olly Betts <olly@survex.com>
546
547	* common/autoptr.h: Just map AutoPtr to std::unique_ptr now we require
548	  C++11.
549
550Fri May 01 13:33:28 GMT 2015  Olly Betts <olly@survex.com>
551
552	* matcher/multimatch.cc,net/progclient.cc: IRIX is dead, so remove
553	  lingering traces of support for SGI's compiler.
554
555Fri May 01 08:59:13 GMT 2015  Olly Betts <olly@survex.com>
556
557	* HACKING,INSTALL: STLport was last released in 2008, so (a) it's no
558	  longer actively developed and (b) it won't support C++11, so strip
559	  out documentation which mentions it.
560	* configure.ac: For Sun's C++ compiler, -std=c++11 enables C++11
561	  support, and is incompatible with -library=stlport, so remove code
562	  to enable that later option.
563
564Fri May 01 01:37:24 GMT 2015  Olly Betts <olly@survex.com>
565
566	* configure.ac: Tweak comment to match xapian-omega's configure.
567
568Fri May 01 01:36:41 GMT 2015  Olly Betts <olly@survex.com>
569
570	* configure.ac: Set default value for AUTOM4TE before AC_OUTPUT so the
571	  default will actually get used.
572
573Fri May 01 01:36:05 GMT 2015  Olly Betts <olly@survex.com>
574
575	* configure.ac: Add explicit AC_CANONICAL_HOST.
576
577Fri May 01 01:08:56 GMT 2015  Olly Betts <olly@survex.com>
578
579	* api/matchspy.cc,tests/api_nodb.cc: Eliminate needless uses of
580	  AutoPtr.
581
582Fri May 01 00:37:42 GMT 2015  Olly Betts <olly@survex.com>
583
584	* tests/internaltest.cc: Remove self-assignment check of AutoPtr as
585	  that doesn't work under C++11 when AutoPtr is unique_ptr, and add
586	  other checks of reassignment which should work for both.
587
588Fri May 01 00:37:09 GMT 2015  Olly Betts <olly@survex.com>
589
590	* tests/api_postingsource.cc: Remove C++11 specific test which doesn't
591	  actually work with C++11.
592
593Fri May 01 00:33:43 GMT 2015  Olly Betts <olly@survex.com>
594
595	* tests/harness/backendmanager.cc,
596	  tests/harness/backendmanager_remotetcp.cc,
597	  tests/harness/testsuite.h,tests/harness/testutils.h: Add spaces
598	  between literal strings and macros which expand to literal strings
599	  for C++11 compatibility.
600
601Thu Apr 30 14:41:59 GMT 2015  Olly Betts <olly@survex.com>
602
603	* backends/chert/chert_table.cc,backends/glass/glass_table.cc: Remove
604	  duplicate includes of "omassert.h".
605
606Thu Apr 30 14:41:31 GMT 2015  Olly Betts <olly@survex.com>
607
608	* backends/glass/glass_freelist.cc: Add missing explicit include of
609	  "omassert.h",
610
611Thu Apr 30 14:38:06 GMT 2015  Olly Betts <olly@survex.com>
612
613	* HACKING,backends/chert/chert_table.cc,
614	  backends/chert/chert_version.cc,backends/glass/glass_table.cc,
615	  common/omassert.h: Remove CompileTimeAssert() and just use
616	  C++11's static_assert instead.
617
618Thu Apr 30 14:28:10 GMT 2015  Olly Betts <olly@survex.com>
619
620	* backends/glass/glass_freelist.cc: Drop conditionals for GCC >= 3.4
621	  as we now require >= 4.4.
622
623Thu Apr 30 14:26:13 GMT 2015  Olly Betts <olly@survex.com>
624
625	* api/omdatabase.cc,include/xapian/queryparser.h,
626	  tests/harness/backendmanager.h: Drop workarounds for ancient Sun
627	  C++ compilers, as we now require a recent version for C++11 support.
628
629Thu Apr 30 14:22:46 GMT 2015  Olly Betts <olly@survex.com>
630
631	* INSTALL: IRIX is past EOL so drop information about IRIX make.
632
633Thu Apr 30 14:22:10 GMT 2015  Olly Betts <olly@survex.com>
634
635	* configure.ac: OS X >= 10.4 apparently supports symbol visibility, so
636	  update comment.
637
638Thu Apr 30 14:21:37 GMT 2015  Olly Betts <olly@survex.com>
639
640	* common/unordered_map.h: No longer relevant now we require C++11.
641
642Thu Apr 30 13:59:16 GMT 2015  Olly Betts <olly@survex.com>
643
644	* HACKING,INSTALL,configure.ac,xapian-config.in: Require a C++
645	  compiler - the minimum required GCC version is now probably GCC 4.4.
646
647Thu Apr 30 13:48:54 GMT 2015  Olly Betts <olly@survex.com>
648
649	* xapian-config.in: Remove superfluous comment left over from code
650	  refactoring.
651
652Thu Apr 30 13:47:30 GMT 2015  Olly Betts <olly@survex.com>
653
654	* xapian-config.in: Fix the include directory reported by --swigflags
655	  for an installed copy to include the "/xapian-1.3" component for
656	  a development version.
657
658Thu Apr 30 12:34:14 GMT 2015  Olly Betts <olly@survex.com>
659
660	* api/omenquire.cc: Fix for C++11 where AutoPtr is unique_ptr.
661
662Thu Apr 30 12:20:22 GMT 2015  Olly Betts <olly@survex.com>
663
664	* api/replication.cc,backends/chert/chert_database.cc,
665	  backends/chert/chert_table.cc,backends/chert/chert_version.cc,
666	  backends/glass/,backends/remote/remote-database.cc,bin/,
667	  examples/copydatabase.cc,examples/quest.cc,
668	  examples/xapian-metadata.cc,net/tcpclient.cc,
669	  queryparser/queryparser.lemony: Add spaces between literal strings
670	  and macros which expand to literal strings for C++11 compatibility.
671
672Thu Apr 30 12:17:17 GMT 2015  Olly Betts <olly@survex.com>
673
674	* bin/xapian-tcpsrv.cc: Use STRINGIZE() to include defaults literally
675	  in string for --help.
676
677Thu Apr 30 10:48:11 GMT 2015  Olly Betts <olly@survex.com>
678
679	* HACKING: Update URL.
680
681Thu Apr 30 10:47:10 GMT 2015  Olly Betts <olly@survex.com>
682
683	* m4/ax_cxx_compile_stdcxx_11.m4: Add support for HP's aCC (untested
684	  as I no longer have access to this compiler).
685
686Thu Apr 30 05:30:13 GMT 2015  Olly Betts <olly@survex.com>
687
688	* m4/ax_cxx_compile_stdcxx_11.m4: Add macro from autoconf-archive to
689	  detect any compiler options needed to enable C++11 support (not yet
690	  used).
691
692Thu Apr 30 05:14:56 GMT 2015  Olly Betts <olly@survex.com>
693
694	* common/posixy_wrapper.cc: O_RDONLY, etc are better described as
695	  "POSIX" than "ANSI".
696
697Thu Apr 30 05:12:33 GMT 2015  Olly Betts <olly@survex.com>
698
699	* configure.ac,xapian-config.in: Rename ANSI_CXXFLAGS to ISO_CXXFLAGS
700	  and talk about ISO C++ in configure messages.
701
702Thu Apr 30 05:10:40 GMT 2015  Olly Betts <olly@survex.com>
703
704	* .gitignore: Adjust for m4 subdirectory to only match files which
705	  aren't in git.
706
707Thu Apr 30 04:07:05 GMT 2015  Olly Betts <olly@survex.com>
708
709	* xapian-config.in: Fix typo so cached result of test in
710	  is_uninstalled() is actually used on subsequent calls.  Fixes #676,
711	  reported (with patch) by Ryan Schmidt.
712
713Wed Apr 29 03:00:32 GMT 2015  Olly Betts <olly@survex.com>
714
715	* backends/chert/chert_database.cc,backends/glass/glass_database.cc:
716	  Fix get_changeset_revisions() not to potentially read uninitialised
717	  data if a changeset file is truncated.
718
719Wed Apr 29 00:09:57 GMT 2015  Olly Betts <olly@survex.com>
720
721	* backends/chert/chert_databasereplicator.cc: Use return value of
722	  get_message_chunk() rather than ignoring it and repeating the check
723	  in the caller.
724
725Tue Apr 28 22:22:01 GMT 2015  Olly Betts <olly@survex.com>
726
727	* bin/xapian-progsrv.cc: Fix comment typo.
728
729Tue Apr 28 04:51:33 GMT 2015  Olly Betts <olly@survex.com>
730
731	* backends/chert/chert_cursor.cc,backends/chert/chert_table.cc,
732	  backends/glass/glass_cursor.cc,backends/glass/glass_table.cc:
733	  Potentially increment the cursor version on cancel() or when the
734	  database is reopened, and flag the current cursor version as used
735	  when a cursor is rebuilt.  Fixes #675, reported by Germán M. Bravo.
736	* tests/api_backend.cc: Add regression test cursorbug1 based on
737	  reproducer supplied by Germán.
738
739Thu Apr 23 05:25:48 GMT 2015  Olly Betts <olly@survex.com>
740
741	* matcher/exactphrasepostlist.cc: When matching an exact phrase, if a
742	  term doesn't occur where we want, we can advance "term 0" using
743	  skip_to() based on where the term does next occur rather than just
744	  calling next() on it.
745
746Thu Apr 23 05:03:28 GMT 2015  Olly Betts <olly@survex.com>
747
748	* matcher/nearpostlist.cc: Be lazier about opening PositionList
749	  objects, as that causes a read of all the data for that
750	  positionlist.
751
752Thu Apr 23 04:11:30 GMT 2015  Olly Betts <olly@survex.com>
753
754	* matcher/nearpostlist.cc: Make code for scanning window for duplicate
755	  positions a little clearer.
756
757Wed Apr 22 13:52:55 GMT 2015  Olly Betts <olly@tartarus.org>
758
759	* matcher/nearpostlist.cc: Fix "/*" within comment.
760
761Wed Apr 22 12:53:37 GMT 2015  Olly Betts <olly@survex.com>
762
763	* matcher/nearpostlist.cc,matcher/nearpostlist.h: Reimplement OP_NEAR
764	  check.  The new implementation consistently requires the terms to
765	  occur at different positions, and fixes some false negatives.
766	* tests/api_query.cc: Add regression tests as loosenear1.
767
768Mon Apr 20 12:53:04 GMT 2015  Olly Betts <olly@survex.com>
769
770	* matcher/phrasepostlist.cc,matcher/phrasepostlist.h: Reimplement
771	  OP_PHRASE check for loose phrases - the existing implementation was
772	  buggy, giving both false positives and false negatives in rare
773	  cases.  Fixes #653, reported by Jean-Francois Dockes.
774	* tests/api_query.cc: Add regression test loosephrase1.
775
776Thu Apr 16 06:51:31 GMT 2015  Olly Betts <olly@survex.com>
777
778	* common/errno_to_string.cc: Fix to build with Sun's C++ compiler.
779
780Thu Apr 16 06:43:40 GMT 2015  Olly Betts <olly@survex.com>
781
782	* configure.ac: Fix XAPIAN_TEST_CXXFLAGS macro to append to the
783	  existing value of the variable, not its name.
784
785Wed Apr 15 11:36:40 GMT 2015  Olly Betts <olly@tartarus.org>
786
787	* tests/api_wrdb.cc: Just #ifdef out the problematic part of the
788	  adddoc5 testcase for clang.
789
790Wed Apr 15 06:25:13 GMT 2015  Olly Betts <olly@survex.com>
791
792	* common/serialise-double.cc: Fix bug in recent fix.
793	* tests/unittest.cc: Extend serialise_double() to provide regression
794	  test.
795
796Thu Apr 09 00:40:24 GMT 2015  Olly Betts <olly@survex.com>
797
798	* net/remoteconnection.h: Avoid compiler warning from clang in new
799	  getaddrinfo() code.
800
801Wed Apr 08 11:59:00 GMT 2015  Olly Betts <olly@survex.com>
802
803	* common/serialise-double.cc: Add missing cast to unsigned char when
804	  we check if the value will fit in the double type.  On machines with
805	  IEEE-754 doubles (which is most current platforms), which change
806	  makes no difference as we're checking if the value cast to a double
807	  is > 255.<something> which is never the case.
808
809Wed Apr 08 10:42:43 GMT 2015  Olly Betts <olly@survex.com>
810
811	* common/serialise-double.cc: Avoid reading one byte past the end of
812	  the serialised value.  In practice this was harmless on most
813	  platforms, as dbl_max_mantissa is 255 for IEEE-754 format doubles,
814	  and at least GCC's std::string keeps the buffer nul-terminated.
815	  Reported by Germán M. Bravo in github PR#67.
816	* tests/unittest.cc: Copy the serialised value to a temporary buffer
817	  before calling unserialise_double() so that valgrind can detect if
818	  we read one byte past the end.
819
820Tue Apr 07 23:02:21 GMT 2015  Olly Betts <olly@survex.com>
821
822	* backends/chert/: Fix problems with get_unique_terms() on a modified
823	  chert database.
824	* tests/: Add more test coverage for get_unique_terms().
825
826Mon Apr 06 00:22:22 GMT 2015  Olly Betts <olly@survex.com>
827
828	* tests/harness/backendmanager_multi.cc,
829	  tests/harness/backendmanager_remote.cc: Cleaner code for checking
830	  the backend subtype.
831
832Mon Mar 30 03:22:29 GMT 2015  Olly Betts <olly@survex.com>
833
834	* backends/flint_lock.cc: If available, use F_DUPFD to dup to a file
835	  descriptor which is >= 2.
836
837Mon Mar 30 01:16:06 GMT 2015  Olly Betts <olly@survex.com>
838
839	* api/error.cc,common/safenetdb.h,configure.ac,generate-exceptions,
840	  net/remoteconnection.h,net/tcpclient.cc,net/tcpserver.cc: Use
841	  getaddrinfo() instead of gethostbyname(), as a step towards
842	  IPv6 support (currently we still only look for IPv4 addresses).
843	  See #374.
844
845Sun Mar 29 03:56:12 GMT 2015  Olly Betts <olly@survex.com>
846
847	* Makefile.am,docs/Makefile.am: Add missing quoting.
848
849Mon Mar 23 06:33:39 GMT 2015  Olly Betts <olly@survex.com>
850
851	* backends/chert/chert_table.cc,backends/glass/glass_table.cc,
852	  common/io_utils.cc,common/io_utils.h,tests/api_backend.cc:
853	  Avoid using fds < 3 for writable database tables, as it risks
854	  corruption is some code in the same process tries to write to stdout
855	  or stderr without realising it is closed.  (Partly addresses #651)
856
857Sat Mar 21 22:11:53 GMT 2015  Olly Betts <olly@survex.com>
858
859	* backends/glass/glass_cursor.cc: Add comment warning that B can't be
860	  used in GlassCursor's destructor.
861
862Tue Mar 17 03:51:00 GMT 2015  Olly Betts <olly@survex.com>
863
864	* matcher/exactphrasepostlist.cc: Fixed reversed conditonal for
865	  picking the shorter position list for an exact phrase of two terms.
866	  The difference this fix makes isn't dramatic, but can be measured
867	  (at least with cachegrind).  Thanks to kbwt for spotting this.
868
869Fri Mar 13 11:21:37 GMT 2015  Olly Betts <olly@survex.com>
870
871	* backends/chert/chert_compact.cc: Make sure we open all the tables of
872	  a database at the same revision when compacting.  (Fixes #649)
873
874Thu Mar 12 04:09:07 GMT 2015  Olly Betts <olly@survex.com>
875
876	* examples/xapian-metadata.cc: Add 'list' subcommand to list all the
877	  metadata keys.
878
879Mon Mar 09 03:08:14 GMT 2015  Olly Betts <olly@survex.com>
880
881	* include/xapian/constants.h,include/xapian/queryparser.h: Doxygen
882	  comment wording tweaks.
883
884Mon Mar 09 03:07:36 GMT 2015  Olly Betts <olly@survex.com>
885
886	* include/xapian/constants.h,include/xapian/queryparser.h,
887	  include/xapian/weight.h: Doxygen comment formatting tweaks.
888
889Sat Mar 07 11:27:23 GMT 2015  Olly Betts <olly@tartarus.org>
890
891	* queryparser/queryparser.lemony,tests/queryparsertest.cc: Extend the
892	  set of characters allowed in the start of a range to be anything
893	  except for '(' and characters <= ' '.  This better matches what's
894	  accepted for a range end (anything except for ')' and characters <=
895	  ' ').  Reported by Jani Nikula.
896
897Thu Mar 05 11:13:56 GMT 2015  Olly Betts <olly@survex.com>
898
899	* backends/dbcheck.cc: When checking a single table, handle the
900	  ".glass" extension on glass database tables, and use the extension
901	  to guide the decision of which backend the table is from.
902
903Thu Mar 05 04:38:21 GMT 2015  Olly Betts <olly@survex.com>
904
905	* backends/dbcheck.cc: Don't hard-code string length as number.
906
907Mon Feb 23 04:48:24 GMT 2015  Olly Betts <olly@survex.com>
908
909	* api/emptypostlist.cc,api/emptypostlist.h: Fix handling of
910	  OP_WILDCARD which expands to no terms when used under OP_SYNONYM.
911	* tests/api_query.cc: Regression test dualprefixwildcard1.
912
913Mon Feb 23 04:26:52 GMT 2015  Olly Betts <olly@survex.com>
914
915	* tests/harness/testsuite.cc: Fix compilation issue with previous
916	  change.
917
918Thu Feb 19 08:04:17 GMT 2015  Olly Betts <olly@survex.com>
919
920	* tests/api_anydb.cc,tests/api_nodb.cc,tests/harness/testrunner.cc,
921	  tests/harness/testsuite.cc,tests/stemtest.cc: Use std::string's
922	  assign() or construct from substring rather than assigning or
923	  initialising with the result of calling substr().
924
925Tue Feb 17 18:31:25 GMT 2015  Olly Betts <olly@survex.com>
926
927	* include/Makefile.mk: Ship new file from previous commit.
928
929Tue Feb 17 05:14:02 GMT 2015  Olly Betts <olly@survex.com>
930
931	* api/Makefile.mk,api/constinfo.cc,api/version.cc,include/xapian.h,
932	  include/xapian/constinfo.h,include/xapian/stem.h,languages/stem.cc:
933	  Put the list of stemmers into the vinfo struct and renamed it to
934	  const_info.
935
936Mon Feb 16 10:18:51 GMT 2015  Olly Betts <olly@survex.com>
937
938	* configure.ac,languages/: Merge generate-allsnowballheaders script
939	  into collate-sbl.
940
941Mon Feb 16 04:15:46 GMT 2015  Olly Betts <olly@survex.com>
942
943	* backends/chert/chert_check.cc: Fix xapian-check on a single table.
944
945Fri Feb 13 10:18:45 GMT 2015  Olly Betts <olly@survex.com>
946
947	* generate-exceptions: Note that the change to not negate
948	  WSAGetLastError() values internally was backported for 1.2.20.
949
950Fri Feb 13 05:57:13 GMT 2015  Olly Betts <olly@survex.com>
951
952	* api/,common/remoteprotocol.h,exception_data.pm,
953	  include/xapian/query.h,include/xapian/queryparser.h,matcher/,
954	  queryparser/queryparser.lemony,tests/api_qpbackend.cc,
955	  tests/queryparsertest.cc,weight/weightinternal.cc,
956	  weight/weightinternal.h: Add new OP_WILDCARD query operator, which
957	  expands wildcards lazily, so now we create the PostList tree for a
958	  wildcard directly, rather than creating an intermediate Query tree.
959	  See ticket#48.
960
961Wed Feb 11 22:45:26 GMT 2015  Olly Betts <olly@survex.com>
962
963	* backends/glass/glass_table.cc: mid_point() should never fail to find
964	  a split point, but just in case it does, return a usable answer.
965
966Wed Feb 11 22:44:35 GMT 2015  Olly Betts <olly@survex.com>
967
968	* backends/chert/chert_table.cc: mid_point() should never fail to find
969	  a split point, but just in case it does, return a usable answer.
970
971Mon Feb 09 02:56:54 GMT 2015  Olly Betts <olly@survex.com>
972
973	* api/queryinternal.cc,matcher/localsubmatch.cc,
974	  matcher/localsubmatch.h,matcher/queryoptimiser.h,tests/api_query.cc:
975	  Don't convert an unweighted term which indexes all docs to an all
976	  docs postlist if we need positional data for it.
977
978Sun Jan 25 23:48:34 GMT 2015  Olly Betts <olly@survex.com>
979
980	* configure.ac: Check for declaration of fdatasync() first, as OS X
981	  has a dummy implementation in the library which is not prototyped in
982	  any header.  Reported by Vlad Shablinsky.
983
984Fri Jan 09 05:19:20 GMT 2015  Olly Betts <olly@survex.com>
985
986	* backends/glass/glass_freelist.cc: Fix freelist handling to allow for
987	  the newly loaded first block of the freelist being already used up.
988
989Fri Jan 09 04:38:03 GMT 2015  Olly Betts <olly@survex.com>
990
991	* common/debuglog.cc: Add '#include "errno_to_string.h"'.
992
993Thu Jan 08 05:59:01 GMT 2015  Olly Betts <olly@survex.com>
994
995	* backends/glass/glass_compact.cc: Fix compaction of position tables
996	  for the change in key format.
997
998Tue Jan 06 02:22:37 GMT 2015  Olly Betts <olly@survex.com>
999
1000	* HACKING: Now using automake 1.15 and libtool 2.4.4.
1001
1002Mon Jan 05 08:39:47 GMT 2015  Olly Betts <olly@survex.com>
1003
1004	* Makefile.am: Remove the generated .pc file on "make distclean".
1005
1006Mon Jan 05 04:43:35 GMT 2015  Olly Betts <olly@survex.com>
1007
1008	* backends/glass/glass_table.cc: In enter_key(), we know the insertion
1009	  point will be the position after the current cursor position, so
1010	  there's no need to call find_in_block() to locate it.
1011
1012Mon Jan 05 04:42:17 GMT 2015  Olly Betts <olly@survex.com>
1013
1014	* backends/glass/glass_table.cc: More assertions that c is valid.
1015
1016Mon Jan 05 01:52:54 GMT 2015  Olly Betts <olly@survex.com>
1017
1018	* backends/chert/chert_dbcheck.cc,backends/glass/glass_dbcheck.cc:
1019	  Cross-check the position and postlist tables and report positional
1020	  data for non-existent documents.
1021
1022Mon Jan 05 01:28:28 GMT 2015  Olly Betts <olly@survex.com>
1023
1024	* backends/glass/glass_dbcheck.cc: Fix decoding of positionlist keys -
1025	  this hadn't been updated for the key format change.
1026
1027Mon Jan 05 01:25:17 GMT 2015  Olly Betts <olly@survex.com>
1028
1029	* backends/glass/glass_check.cc: Check that dir_end is odd.
1030
1031Tue Dec 23 21:26:49 GMT 2014  Olly Betts <olly@survex.com>
1032
1033	* backends/chert/chert_table.cc: More assertions about c.
1034
1035Tue Dec 23 04:26:38 GMT 2014  Olly Betts <olly@survex.com>
1036
1037	* backends/chert/chert_table.cc: Fix assertion to allow for c being
1038	  DIR_START - D2 in leaf blocks.
1039
1040Tue Dec 23 04:01:54 GMT 2014  Olly Betts <olly@survex.com>
1041
1042	* backends/chert/chert_table.cc: Add more assertions that c has
1043	  suitable values.
1044
1045Tue Dec 23 03:58:00 GMT 2014  Olly Betts <olly@survex.com>
1046
1047	* backends/chert/chert_table.cc: In enter_key(), we know the insertion
1048	  point will be the position after the current cursor position, so
1049	  there's no need to call find_in_block() to locate it.
1050
1051Tue Dec 23 03:11:12 GMT 2014  Olly Betts <olly@survex.com>
1052
1053	* backends/chert/chert_check.cc: Add check that dir_end is odd.
1054
1055Mon Dec 22 23:28:54 GMT 2014  Olly Betts <olly@survex.com>
1056
1057	* backends/chert/chert_table.cc: Document situations in which the
1058	  cursor can be left pointing before DIR_START.
1059
1060Mon Dec 22 03:39:14 GMT 2014  Olly Betts <olly@survex.com>
1061
1062	* backends/glass/glass_freelist.cc: Add more freelist assertions.
1063
1064Mon Dec 22 03:15:50 GMT 2014  Olly Betts <olly@survex.com>
1065
1066	* backends/glass/glass_freelist.cc: Allow restricting the number of
1067	  freelist entries per block by setting GLASS_FREELIST_SIZE.
1068
1069Sun Dec 21 20:55:47 GMT 2014  Olly Betts <olly@survex.com>
1070
1071	* include/xapian/weight.h: Document the enum stat_flags values.
1072
1073Sun Dec 21 20:51:47 GMT 2014  Olly Betts <olly@survex.com>
1074
1075	* include/xapian/weight.h: Fix indentation.
1076
1077Sat Dec 20 10:40:44 GMT 2014  Sébastien Debrard <sebastien.debrard@gmail.com>
1078
1079	* Makefile.am,configure.ac,pkgconfig/,xapian-core.spec.in: Generate a
1080	  file for pkg-config.  (Fixes#540)
1081
1082Fri Dec 19 22:30:39 GMT 2014  Olly Betts <olly@survex.com>
1083
1084	* common/errno_to_string.cc: Need stdlib.h under mingw.
1085
1086Fri Dec 19 04:38:56 GMT 2014  Olly Betts <olly@survex.com>
1087
1088	* backends/glass/glass_check.cc: Distinguish between a block in use
1089	  and in the freelist, and a block in the freelist more than once.
1090
1091Fri Dec 19 04:37:14 GMT 2014  Olly Betts <olly@survex.com>
1092
1093	* backends/glass/glass_freelist.cc,backends/glass/glass_freelist.h:
1094	  Avoid any mutual recursion between GlassFreeList::get_block() and
1095	  GlassFreeList::mark_block_unused().
1096
1097Thu Dec 18 10:28:17 GMT 2014  Olly Betts <olly@survex.com>
1098
1099	* common/safesyssocket.h: Include safeerrno.h when we use errno.
1100
1101Thu Dec 18 06:17:18 GMT 2014  Olly Betts <olly@survex.com>
1102
1103	* net/tcpclient.cc: Use POSIX O_NONBLOCK in preference to O_NDELAY
1104	  which has different semantics on BSD and System V.
1105
1106Wed Dec 17 02:59:54 GMT 2014  Olly Betts <olly@survex.com>
1107
1108	* configure.ac: Drop probe for gethostbyaddr() - we've not used it for
1109	  over 8.5 years (since e33972a5).
1110
1111Wed Dec 17 02:33:36 GMT 2014  Olly Betts <olly@survex.com>
1112
1113	* common/internaltypes.h: Take CHAR_BIT into account when choosing
1114	  types for uint2, uint4 and uint8.
1115
1116Wed Dec 17 02:30:14 GMT 2014  Olly Betts <olly@survex.com>
1117
1118	* api/error.cc,backends/chert/chert_btreebase.cc,
1119	  backends/chert/chert_table.cc,backends/flint_lock.cc,
1120	  backends/glass/glass_table.cc,common/,configure.ac,
1121	  net/remoteconnection.cc: Add errno_to_string() function which is
1122	  thread-safe where a suitable alternative to strerror() exists.
1123
1124Tue Dec 16 06:54:32 GMT 2014  Olly Betts <olly@survex.com>
1125
1126	* configure.ac: Add missing m4 quoting.  Generated configure file is
1127	  unchanged.
1128
1129Tue Dec 16 06:28:21 GMT 2014  Olly Betts <olly@survex.com>
1130
1131	* configure.ac: Don't check for strerror - it's specified by C89, and
1132	  we weren't using the result of the check anyway.
1133
1134Tue Dec 16 03:59:39 UTC 2014  Sébastien Debrard <sebastien.debrard@gmail.com>
1135
1136	* api/omenquire.cc,backends/multi/multi_postlist.cc,
1137	  tests/api_anydb.cc,tests/api_db.cc: Prefer ++x to x++.
1138
1139Tue Dec 16 03:50:41 GMT 2014  Olly Betts <olly@survex.com>
1140
1141	* configure.ac: Define MINGW_HAS_SECURE_API under mingw to get
1142	  _putenv_s() declared in stdlib.h.
1143
1144Sun Dec 14 09:42:01 GMT 2014  Olly Betts <olly@survex.com>
1145
1146	* api/omdatabase.cc,include/xapian/database.h: Make overloaded forms of
1147	  Database::allterms_begin() and Database::allterms_end() use default
1148	  parameters instead.
1149
1150Sat Dec 13 02:48:10 GMT 2014  Olly Betts <olly@survex.com>
1151
1152	* api/error.cc,generate-exceptions,net/remoteconnection.h: On
1153	  Windows, avoid defining EADDRINUSE, etc if they're already defined,
1154	  and use WSAE* constants un-negated, as they start from a high value
1155	  so won't collide with E* constants.
1156
1157Fri Dec 12 03:41:02 GMT 2014  Olly Betts <olly@survex.com>
1158
1159	* backends/glass/glass_freelist.cc: Avoid infinite recursion when we
1160	  hit the end of the freelist block we're reading and the end of the
1161	  block we're writing at the same time.
1162
1163Thu Dec 11 20:45:28 GMT 2014  Olly Betts <olly@survex.com>
1164
1165	* backends/glass/glass_version.cc: Use str() rather than sprintf().
1166
1167Thu Dec 11 03:21:46 GMT 2014  Olly Betts <olly@survex.com>
1168
1169	* net/tcpserver.cc: Fix comment.
1170
1171Thu Dec 11 03:20:56 GMT 2014  Olly Betts <olly@survex.com>
1172
1173	* api/compactor.cc,api/error.cc,api/replication.cc,
1174	  backends/chert/chert_databasereplicator.cc,
1175	  backends/chert/chert_table.cc,
1176	  backends/glass/glass_databasereplicator.cc,
1177	  backends/glass/glass_table.cc: Remove unnecessary includes of
1178	  <cstdio> in files which used to need it for rename() but no longer
1179	  do.
1180
1181Fri Dec 05 11:30:05 GMT 2014  Olly Betts <olly@survex.com>
1182
1183	* ChangeLog,ChangeLog.0,ChangeLog.examples,
1184	  backends/chert/chert_btreebase.cc,backends/chert/chert_database.h,
1185	  languages/compiler/driver.c,languages/turkish.sbl: Fix typos reported
1186	  by Veres Lajos.
1187
1188Thu Dec 04 02:17:46 GMT 2014  Olly Betts <olly@survex.com>
1189
1190	* configure.ac: Fix detection of fdatasync(), which appears to have
1191	  been broken practically forever - this means we've probably been
1192	  using fsync() instead, which probably isn't a big additional
1193	  overhead.
1194
1195Wed Dec 03 09:38:24 GMT 2014  Olly Betts <olly@survex.com>
1196
1197	* docs/Makefile.am: Quote png filenames we run through pngcrush to
1198	  avoid problems if there's an oddly-named extra PNG file in the
1199	  directory.
1200
1201Tue Dec 02 02:58:59 GMT 2014  Olly Betts <olly@survex.com>
1202
1203	* backends/chert/chert_database.cc,backends/chert/chert_database.h,
1204	  backends/chert/chert_databasereplicator.cc,backends/,
1205	  backends/glass/glass_compact.cc,backends/glass/glass_database.cc,
1206	  backends/glass/glass_databasereplicator.cc,
1207	  backends/remote/remote-database.cc,backends/remote/remote-database.h,
1208	  include/xapian/constants.h,include/xapian/database.h,
1209	  include/xapian/dbfactory.h,net/,tests/api_backend.cc: Add new flag
1210	  Xapian::DB_RETRY_LOCK which allows opening a database for writing
1211	  to wait until it can get a write lock.  (fixes#275)
1212
1213Tue Dec 02 02:55:33 GMT 2014  Olly Betts <olly@survex.com>
1214
1215	* backends/glass/glass_database.h: Document parameter to internal
1216	  method
1217
1218Sun Nov 30 15:55:20 GMT 2014  James Aylett <james@tartarus.org>
1219
1220	* HACKING: improve OS X docs build information.
1221
1222Thu Nov 27 04:00:38 GMT 2014  Olly Betts <olly@survex.com>
1223
1224	* backends/dbcheck.cc,backends/flint_lock.cc,backends/flint_lock.h,
1225	  examples/copydatabase.cc,tests/api_backend.cc: Drop support code for
1226	  building on OS/2 with EMX - EMX was last updated in 2001 and comes
1227	  with GCC 3.2.1, which pre-dates C++11 and we're going to require
1228	  a compiler with good C++11 support in the near future.
1229
1230Thu Nov 27 03:15:51 GMT 2014  Olly Betts <olly@survex.com>
1231
1232	* HACKING: Rename svn-ci to xapian-commit (see #621).
1233
1234Thu Nov 27 03:05:18 GMT 2014  Olly Betts <olly@survex.com>
1235
1236	* backends/flint_lock.cc: Use F_OFD_SETLK where available, which
1237	  avoids having to fork() a child process to hold the lock.  This
1238	  currently requires Linux kernel >= 3.15, but it has been submitted
1239	  to POSIX so hopefully will be widely supported eventually.  Thanks
1240	  to Austin Clements for pointing out this now exists.
1241
1242Wed Nov 26 04:03:45 GMT 2014  Olly Betts <olly@survex.com>
1243
1244	* include/xapian/geospatial.h: Drop documentation of parameter which
1245	  the method doesn't actually take.
1246
1247Wed Nov 26 04:03:24 GMT 2014  Olly Betts <olly@survex.com>
1248
1249	* include/xapian/enquire.h: Fix incorrect parameter name in doxygen
1250	  comment.
1251
1252Wed Nov 26 03:29:28 GMT 2014  Olly Betts <olly@survex.com>
1253
1254	* docs/doxygen_source.conf.in: @MAKEINDEX@ isn't substituted, so just
1255	  use literal 'makeindex'.
1256
1257Wed Nov 26 03:28:32 GMT 2014  Olly Betts <olly@survex.com>
1258
1259	* docs/doxygen_api.conf.in,docs/doxygen_source.conf.in: Update to
1260	  avoid warnings about obsolete tags from newer doxygen.
1261
1262Tue Nov 25 21:13:51 GMT 2014  Olly Betts <olly@survex.com>
1263
1264	* configure.ac: Update link to cygwin FAQ.
1265
1266Tue Nov 25 01:55:17 GMT 2014  Olly Betts <olly@survex.com>
1267
1268	* HACKING: Update details of building Xapian packages.
1269
1270Tue Nov 25 01:48:44 GMT 2014  Olly Betts <olly@survex.com>
1271
1272	* HACKING: Update for SVN to git migration.
1273
1274Mon Nov 24 19:50:32 GMT 2014  Olly Betts <olly@survex.com>
1275
1276	* NEWS,configure.ac: Update for 1.3.2.
1277
1278Mon Nov 24 03:59:02 GMT 2014  Olly Betts <olly@survex.com>
1279
1280	* languages/Makefile.mk: Add missing '\' at end of line in previous
1281	  commit.
1282
1283Mon Nov 24 03:14:22 GMT 2014  Olly Betts <olly@survex.com>
1284
1285	* languages/: Install the stopword lists as
1286	  ${pkgdatadir}/stopwords/LANG.list.
1287
1288Sun Nov 23 23:56:02 GMT 2014  Olly Betts <olly@survex.com>
1289
1290	* HACKING,INSTALL,NEWS,NEWS.SKELETON,api/compactor.cc,
1291	  api/replication.cc,backends/Makefile.mk,backends/brass/,
1292	  backends/databasereplicator.cc,backends/dbcheck.cc,
1293	  backends/dbfactory.cc,backends/glass/,bin/Makefile.mk,
1294	  common/Makefile.mk,common/pack.h,common/pretty.h,configure.ac,docs/,
1295	  include/xapian/,net/replication_protocol.rst,tests/,tests/harness/:
1296	  Rename 'brass' backend to 'glass'.
1297
1298Sun Nov 23 22:23:00 GMT 2014  Olly Betts <olly@survex.com>
1299
1300	* backends/brass/brass_freelist.cc,backends/brass/brass_freelist.h:
1301	  Set the revision in BrassFreeList::write_block().
1302
1303Thu Nov 20 21:36:35 GMT 2014  Olly Betts <olly@survex.com>
1304
1305	* backends/brass/brass_freelist.h: Reset flw_appending when we unpack
1306	  a freelist.
1307
1308Thu Nov 20 21:36:15 GMT 2014  Olly Betts <olly@survex.com>
1309
1310	* backends/brass/brass_freelist.cc: Fix comment typo.
1311
1312Thu Nov 20 03:53:32 GMT 2014  Olly Betts <olly@survex.com>
1313
1314	* backends/brass/brass_freelist.cc: Fix end-of-block condition when
1315	  walking the freelist during database consistency checking.
1316
1317Thu Nov 20 02:32:37 GMT 2014  Olly Betts <olly@survex.com>
1318
1319	* backends/brass/brass_freelist.cc: Wrap comment line.
1320
1321Thu Nov 20 02:31:54 GMT 2014  Olly Betts <olly@survex.com>
1322
1323	* matcher/exactphrasepostlist.cc: Straighten out confusing comments.
1324
1325Sun Nov 16 23:49:38 GMT 2014  Olly Betts <olly@survex.com>
1326
1327	* NEWS: Update.
1328
1329Thu Nov 13 20:35:25 GMT 2014  Olly Betts <olly@survex.com>
1330
1331	* backends/brass/brass_freelist.cc: Wrap comment line.
1332
1333Tue Nov 11 22:17:48 GMT 2014  Olly Betts <olly@survex.com>
1334
1335	* api/queryinternal.cc,api/queryinternal.h: Move all the get_op()
1336	  definitions out of the header as they're virtual and there's not
1337	  much scope for devirtualisation.
1338
1339Tue Nov 11 02:58:05 GMT 2014  Olly Betts <olly@survex.com>
1340
1341	* exception_data.pm: Just have one copy of the licence boilerplate.
1342
1343Sun Nov 09 22:38:04 GMT 2014  Olly Betts <olly@survex.com>
1344
1345	* NEWS: Update.
1346
1347Fri Nov 07 00:49:22 GMT 2014  Olly Betts <olly@survex.com>
1348
1349	* queryparser/lemon.c: Sync change from upstream: "Modify the
1350	  %nonassoc directive in lemon so that it generates a run-time error
1351	  rather than a parsing conflict. This changes is due to a bug report
1352	  on the mailing list. SQLite does not use the %nonassoc directive in
1353	  its grammar so this change does not affect SQLite."  Generated code
1354	  is identical.
1355
1356Fri Nov 07 00:44:57 GMT 2014  Olly Betts <olly@survex.com>
1357
1358	* queryparser/lemon.c: Sync change from upstream: "Fix harmless
1359	  compiler warning in LEMON."  Generated code is identical.
1360
1361Fri Nov 07 00:39:44 GMT 2014  Olly Betts <olly@survex.com>
1362
1363	* queryparser/lemon.c: Sync change from upstream: "In LEMON, limit the
1364	  size of the grammar file to 100MB. This ensures that the program
1365	  will never experience integer overflow. To be doubly sure, use
1366	  calloc() instead of malloc() when allocating arrays." Generated code
1367	  is identical.
1368
1369Fri Nov 07 00:34:26 GMT 2014  Olly Betts <olly@survex.com>
1370
1371	* queryparser/lemon.c: Sync change from upstream: "Add the
1372	  "%token_class" directive to the LEMON parser generator. This opens
1373	  up the possibility of simplifying the parser. Also remove all calls
1374	  to sprintf(), strcpy(), and strcat() from LEMON to avoid compiler
1375	  warnings on OpenBSD. (Aside: It is this change to avoid harmless
1376	  compiler warnings that was the cause of the reason spat of bugs.)"
1377	  Generated code is identical aside from whitespace changes in
1378	  queryparser_token.h.
1379
1380Fri Nov 07 00:17:18 GMT 2014  Olly Betts <olly@survex.com>
1381
1382	* queryparser/lemon.c: Sync change from upstream: "In Lemon, when
1383	  comparing the output to the *.h file to see if it has changed, make
1384	  sure that the proposed new output and the preexisting output are the
1385	  same size before deciding that they are the same".  Generated code
1386	  is identical, but this will fix misbehaviour in a build from a
1387	  non-clean tree if new tokens get appended to queryparser_token.h.
1388
1389Thu Nov 06 22:23:27 GMT 2014  Olly Betts <olly@survex.com>
1390
1391	* HACKING: Now using doxygen 1.8.8.
1392
1393Thu Nov 06 04:18:32 GMT 2014  Olly Betts <olly@survex.com>
1394
1395	* HACKING: Now using libtool 2.4.3.
1396
1397Wed Nov 05 21:38:45 GMT 2014  Olly Betts <olly@survex.com>
1398
1399	* backends/chert/chert_check.cc: Handle DBCHECK_FIX for a zero sized
1400	  .DB file.
1401
1402Wed Nov 05 21:02:21 GMT 2014  Olly Betts <olly@survex.com>
1403
1404	* backends/chert/chert_check.cc: After we successfully regenerate
1405	  baseA, remove any empty baseB file to prevent it causing problems.
1406	  Tracked down with help from Phil Hands.
1407
1408Wed Nov 05 20:58:27 GMT 2014  Olly Betts <olly@survex.com>
1409
1410	* backends/chert/chert_check.cc: Fix DBCHECK_FIX to be able to find a
1411	  level 0 root block (happens when a table has sufficiently little
1412	  data in that it all fits in one block).
1413
1414Sun Nov 02 21:14:43 GMT 2014  Olly Betts <olly@survex.com>
1415
1416	* docs/deprecation.rst: Fix typo.
1417
1418Tue Oct 28 23:35:10 GMT 2014  Olly Betts <olly@survex.com>
1419
1420	* docs/replication.rst: Fix typo.
1421
1422Tue Oct 28 02:34:54 GMT 2014  Olly Betts <olly@survex.com>
1423
1424	* docs/postingsource.rst: Use a modern class in postingsource example.
1425	  (Noted by James Aylett)
1426
1427Mon Oct 27 21:06:55 GMT 2014  Olly Betts <olly@survex.com>
1428
1429	* docs/,net/Makefile.mk,net/remote_protocol.rst,
1430	  net/replication_protocol.rst: Move the protocol docs for the remote
1431	  and replication protocols into the net/ subdirectory.
1432
1433Mon Oct 27 19:19:59 GMT 2014  Olly Betts <olly@survex.com>
1434
1435	* Makefile.am,api/Makefile.mk,api/dir_contents,backends/Makefile.mk,
1436	  backends/brass/Makefile.mk,backends/brass/dir_contents,
1437	  backends/chert/Makefile.mk,backends/chert/dir_contents,
1438	  backends/dir_contents,backends/inmemory/Makefile.mk,
1439	  backends/inmemory/dir_contents,backends/multi/Makefile.mk,
1440	  backends/multi/dir_contents,backends/remote/Makefile.mk,
1441	  backends/remote/dir_contents,bin/Makefile.mk,bin/dir_contents,
1442	  common/Makefile.mk,common/dir_contents,configure.ac,dir_contents,
1443	  docs/,examples/Makefile.mk,examples/dir_contents,expand/Makefile.mk,
1444	  expand/dir_contents,geospatial/Makefile.mk,geospatial/dir_contents,
1445	  include/Makefile.mk,include/dir_contents,include/xapian/dir_contents,
1446	  languages/Makefile.mk,languages/dir_contents,m4-macros/dir_contents,
1447	  m4/dir_contents,matcher/Makefile.mk,matcher/dir_contents,
1448	  net/Makefile.mk,net/dir_contents,preautoreconf,
1449	  queryparser/Makefile.mk,queryparser/dir_contents,tests/Makefile.am,
1450	  tests/dir_contents,tests/harness/Makefile.mk,
1451	  tests/harness/dir_contents,tests/perftest/Makefile.mk,
1452	  tests/perftest/dir_contents,tests/soaktest/Makefile.mk,
1453	  tests/soaktest/dir_contents,unicode/Makefile.mk,unicode/dir_contents,
1454	  weight/Makefile.mk,weight/dir_contents: Remove the dir_contents files
1455	  and all the machinery to handle them.
1456
1457Sat Oct 25 19:25:06 GMT 2014  Olly Betts <olly@survex.com>
1458
1459	* api/query.cc,api/queryinternal.cc,api/smallvector.h,
1460	  include/xapian/query.h: Stop using a reference where we may end up
1461	  passing *NULL, as that's invalid.  Thanks Nick Lewycky and ubsan
1462	  for helping track this down.
1463	* tests/api_postingsource.cc: Fix testsuite to avoid passing literal
1464	  NULL - pass nullptr for C++11 and don't bother with that part of
1465	  the testcase for older C++.
1466
1467Sat Oct 25 19:05:07 GMT 2014  Olly Betts <olly@survex.com>
1468
1469	* weight/dlhweight.cc,weight/dphweight.cc: Avoid dividing by zero when
1470	  the collection size is 0.
1471
1472Fri Oct 24 23:04:24 GMT 2014  Gaurav Arora <gauravarora.daiict@gmail.com>
1473
1474	* api/registry.cc,include/xapian/weight.h,tests/api_backend.cc,
1475	  tests/api_nodb.cc,tests/api_weight.cc,weight/Makefile.mk,
1476	  weight/lmweight.cc: Add Unigram LMWeight class.
1477
1478Tue Oct 21 19:19:32 GMT 2014  Olly Betts <olly@survex.com>
1479
1480	* NEWS: Update for 1.2.19 release.
1481
1482Mon Oct 20 00:47:32 GMT 2014  Olly Betts <olly@survex.com>
1483
1484	* .gitignore,docs/.gitignore,tests/.gitignore,unicode/.gitignore:
1485	  Update to ignore new generated files.
1486
1487Sat Oct 18 06:15:52 GMT 2014  Olly Betts <olly@survex.com>
1488
1489	* include/xapian/enquire.h: Don't provide a default expansion scheme
1490	  name in Enquire::set_expansion_scheme().
1491
1492Fri Oct 17 00:33:55 GMT 2014  Olly Betts <olly@survex.com>
1493
1494	* api/queryinternal.cc,matcher/: Split NearPostList out into separate
1495	  source file and header.
1496
1497Wed Oct 15 04:33:31 GMT 2014  Olly Betts <olly@survex.com>
1498
1499	* api/queryinternal.cc,matcher/exactphrasepostlist.cc: We never try to
1500	  build an ExactPhrasePostList over 0 or 1 terms, so simply assert we
1501	  don't, rather than having an explicit check for it in the code.
1502
1503Tue Oct 14 02:47:02 GMT 2014  Olly Betts <olly@survex.com>
1504
1505	* matcher/phrasepostlist.cc,tests/api_backend.cc: If the anchor term
1506	  for a phrase is the first or last, set the min or max to its
1507	  position respectively.  Fixes the testcase in #657, but may not be
1508	  a complete fix.
1509
1510Sun Oct 12 12:03:10 GMT 2014  Olly Betts <olly@survex.com>
1511
1512	* NEWS: Update.
1513
1514Fri Oct 10 10:53:38 GMT 2014  Olly Betts <olly@survex.com>
1515
1516	* backends/chert/chert_btreebase.cc,backends/chert/chert_table.cc: The
1517	  table is sync-ed after the base file, so it's the last table we want
1518	  to full-sync, not the last base file.
1519
1520Thu Oct 09 02:39:00 GMT 2014  Olly Betts <olly@survex.com>
1521
1522	* common/debuglog.h: Suppress unused typedef warnings from debugging
1523	  logging macros, which occur in functions which always exit via
1524	  throwing an exception.
1525
1526Thu Oct 09 01:45:00 GMT 2014  Olly Betts <olly@survex.com>
1527
1528	* tests/harness/fdtracker.cc: Fix code typo in recent change to skip
1529	  apparent leaks of /dev/urandom.
1530
1531Thu Oct 09 01:43:02 GMT 2014  Olly Betts <olly@survex.com>
1532
1533	* common/pretty.h: Fix debug logging code to compile with clang.
1534	  (fixes #657, reported by Germán M. Bravo)
1535
1536Wed Oct 08 04:43:05 GMT 2014  Olly Betts <olly@survex.com>
1537
1538	* matcher/multimatch.cc: If an empty RSet is specified, just handle it
1539	  as if no RSet were specified.
1540
1541Mon Oct 06 21:41:58 GMT 2014  Olly Betts <olly@survex.com>
1542
1543	* tests/Makefile.am: Remove .replicatmp upon "make clean".
1544
1545Fri Sep 19 05:31:15 GMT 2014  Olly Betts <olly@survex.com>
1546
1547	* include/xapian/enquire.h: Fix compilation with clang.  Reported by
1548	  Germán M. Bravo.
1549
1550Fri Sep 12 17:54:34 GMT 2014  Olly Betts <olly@survex.com>
1551
1552	* docs/overview.rst: Add missing database path to example of using
1553	  xapian-progsrv in a stub database file.
1554
1555Thu Sep 11 21:33:49 GMT 2014  Olly Betts <olly@survex.com>
1556
1557	* include/Makefile.mk,include/xapian/enquire.h,
1558	  include/xapian/iterator.h: Add simple API to help with creating
1559	  language-idiomatic iterator wrappers.
1560
1561Wed Sep 10 17:02:18 GMT 2014  Olly Betts <olly@survex.com>
1562
1563	* api/queryinternal.cc: If we hit an unknown query serialisation,
1564	  report the numeric code for it in the exception thrown.
1565
1566Wed Sep 10 16:59:20 GMT 2014  Olly Betts <olly@survex.com>
1567
1568	* tests/queryparsertest.cc: Enable some disabled cases which actually
1569	  work (in some cases with slightly tweaked expected answers which are
1570	  equivalent to those that were shown).
1571
1572Fri Sep 05 17:41:53 GMT 2014  Olly Betts <olly@survex.com>
1573
1574	* tests/harness/fdtracker.cc: Don't report apparent leaks of fds
1575	  opened on /dev/urandom - at least on Linux, something in the C
1576	  library seems to lazily open it, and the report of a possible leak
1577	  followed by assurance that it's OK really is just noise we could
1578	  do without.
1579
1580Fri Sep 05 14:06:08 GMT 2014  Olly Betts <olly@survex.com>
1581
1582	* common/pretty.h: Add new brass-related types.
1583
1584Thu Sep 04 20:51:16 GMT 2014  Olly Betts <olly@survex.com>
1585
1586	* backends/dbfactory.cc: Fix incorrect return type in logging
1587	  annotations for InMemory::open().
1588
1589Thu Sep 04 20:48:37 GMT 2014  Olly Betts <olly@survex.com>
1590
1591	* backends/brass/brass_database.cc,backends/chert/chert_database.cc:
1592	  Fix logging annotations for get_freqs() to reflect that it now has
1593	  void return type.
1594
1595Thu Sep 04 20:21:32 GMT 2014  Olly Betts <olly@survex.com>
1596
1597	* api/,backends/brass/,backends/chert/,backends/dbfactory_remote.cc,
1598	  matcher/mergepostlist.cc,matcher/remotesubmatch.cc,
1599	  net/progclient.cc: Add missing RETURN() markup for debug logging,
1600	  highlighted by warning from recent GCC.
1601
1602Thu Sep 04 18:02:38 GMT 2014  Olly Betts <olly@survex.com>
1603
1604	* backends/brass/brass_freelist.cc,backends/brass/brass_freelist.h:
1605	  Make the BrassTable parameter a const pointer.
1606
1607Thu Sep 04 17:13:57 GMT 2014  Olly Betts <olly@survex.com>
1608
1609	* common/io_utils.cc: Reading or writing a block will almost always
1610	  complete in one call, so streamline that case.
1611
1612Wed Sep 03 19:30:00 GMT 2014  Olly Betts <olly@survex.com>
1613
1614	* common/internaltypes.h: Update comment to reflect C++11 now being
1615	  out.
1616
1617Wed Sep 03 19:29:09 GMT 2014  Olly Betts <olly@survex.com>
1618
1619	* common/internaltypes.h,configure.ac: Make uint2 available.
1620
1621Wed Sep 03 19:27:41 GMT 2014  Olly Betts <olly@survex.com>
1622
1623	* backends/brass/brass_database.h: Remove method which is declared but
1624	  never defined.
1625
1626Wed Sep 03 18:52:40 GMT 2014  Olly Betts <olly@survex.com>
1627
1628	* generate-exceptions,include/xapian/: Use XAPIAN_IN_XAPIAN_H rather
1629	  than XAPIAN_INCLUDED_XAPIAN_H in the direct inclusion of subheader
1630	  checks.  Currently neither will catch the case of the user including
1631	  a sub-header after <xapian.h> since the include guard for the
1632	  subheader will stop us getting to the direct inclusion check, but
1633	  XAPIAN_IN_XAPIAN_H will work if we move the check outside the
1634	  include guard.
1635
1636Wed Sep 03 18:29:41 GMT 2014  Olly Betts <olly@survex.com>
1637
1638	* include/xapian/constants.h: Hide internal constants from external
1639	  users.
1640
1641Tue Sep 02 14:15:50 GMT 2014  Olly Betts <olly@survex.com>
1642
1643	* backends/brass/brass_spellingwordslist.h: Explicit include
1644	  brass_cursor.h since we actually use BrassCursor here.
1645
1646Mon Sep 01 22:03:11 GMT 2014  Olly Betts <olly@survex.com>
1647
1648	* tests/api_backend.cc: New testcase readonlyparentdir1 to ensure that
1649	  commit works with a read-only parent directory.
1650
1651Mon Sep 01 21:51:45 GMT 2014  Olly Betts <olly@survex.com>
1652
1653	* tests/harness/testrunner.h: Drop "flint" flag - flint was removed
1654	  from trunk some time ago.
1655
1656Mon Sep 01 21:42:31 GMT 2014  Olly Betts <olly@survex.com>
1657
1658	* backends/brass/: Eliminate brass_doclen_t in favour of just using
1659	  Xapian::termcount.
1660
1661Mon Sep 01 21:28:39 GMT 2014  Olly Betts <olly@survex.com>
1662
1663	* backends/brass/brass_check.h: Tweak to ease upcoming big merge.
1664
1665Mon Sep 01 20:59:40 GMT 2014  Olly Betts <olly@survex.com>
1666
1667	* backends/brass/,backends/dbcheck.cc: Only create a btree entry for
1668	  the document data if it is non-empty.  The table is now lazily
1669	  created, so won't exist if no documents have document data set.
1670
1671Mon Sep 01 16:54:44 GMT 2014  Olly Betts <olly@survex.com>
1672
1673	* backends/brass/brass_record.cc,backends/brass/brass_record.h: Remove
1674	  BrassRecordTable::get_doccount() as it is no longer used.
1675
1676Mon Sep 01 16:51:04 GMT 2014  Olly Betts <olly@survex.com>
1677
1678	* backends/brass/: Track doccount in the database stats.
1679
1680Mon Sep 01 16:27:15 GMT 2014  Olly Betts <olly@survex.com>
1681
1682	* backends/brass/brass_database.cc: Update comment and exception
1683	  message not to talk about "consistent state", as that was to do
1684	  with the base files.
1685
1686Mon Sep 01 14:57:02 GMT 2014  Olly Betts <olly@survex.com>
1687
1688	* backends/brass/brass_database.cc: Explicitly include brass_defs.h.
1689
1690Mon Sep 01 14:48:01 GMT 2014  Olly Betts <olly@survex.com>
1691
1692	* backends/brass/: Eliminate backends/brass/brass_types.h.
1693
1694Fri Aug 29 21:06:22 GMT 2014  Olly Betts <olly@survex.com>
1695
1696	* backends/dbcheck.cc: Fix checking a single brass table.
1697
1698Thu Aug 28 16:04:59 GMT 2014  Olly Betts <olly@survex.com>
1699
1700	* backends/brass/brass_check.cc,backends/chert/chert_check.cc,
1701	  bin/xapian-check.cc,include/xapian/constants.h: Rename
1702	  DBCHECK_SHOW_BITMAP to DBCHECK_SHOW_FREELIST.
1703
1704Tue Aug 26 22:31:32 GMT 2014  Olly Betts <olly@survex.com>
1705
1706	* NEWS: Update.
1707
1708Fri Aug 22 09:09:52 GMT 2014  Gaurav Arora <gauravarora.daiict@gmail.com>
1709
1710	* api/,backends/brass/,backends/chert/,
1711	  backends/contiguousalldocspostlist.cc,
1712	  backends/contiguousalldocspostlist.h,backends/database.h,
1713	  backends/inmemory/inmemory_database.cc,
1714	  backends/inmemory/inmemory_database.h,
1715	  backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h,
1716	  backends/remote/,common/remoteprotocol.h,docs/sorting.rst,
1717	  include/xapian/database.h,include/xapian/postingiterator.h,
1718	  include/xapian/weight.h,matcher/,net/remoteserver.cc,
1719	  net/remoteserver.h,tests/,weight/: Provide the number of distinct
1720	  terms in the document to weighting schemes.  The current
1721	  implementation for the disk-based backends is a bit inefficient as
1722	  it has to look at the termlist table entry for the document.
1723
1724Thu Aug 21 12:29:57 GMT 2014  Olly Betts <olly@survex.com>
1725
1726	* weight/weight.cc: Add missing parameter to debug logging for
1727	  Weight::init_().
1728
1729Tue Aug 19 14:25:39 GMT 2014  Olly Betts <olly@survex.com>
1730
1731	* backends/brass/brass_table.h: Don't sync handles for tables which
1732	  aren't open.  Reported by Austin Clements.
1733
1734Fri Aug 15 13:13:43 GMT 2014  Olly Betts <olly@survex.com>
1735
1736	* HACKING: freecode no longer accepts updates, so drop that item from
1737	  the release checklist.
1738
1739Wed Aug 13 23:55:24 GMT 2014  Olly Betts <olly@survex.com>
1740
1741	* backends/chert/chert_btreebase.cc,backends/chert/chert_table.cc:
1742	  Only full sync the final base file written.
1743
1744Mon Aug 11 05:30:20 GMT 2014  Olly Betts <olly@survex.com>
1745
1746	* configure.ac: For Sun's C++ compiler, pass -library=Crun separately
1747	  since libtool looks for " -library=stlport4 " (with the spaces).
1748	  (fixes#650)
1749
1750Mon Aug 11 03:00:15 GMT 2014  Olly Betts <olly@survex.com>
1751
1752	* configure.ac: Rename XAPIAN_TEST_CXXFLAGS_ to XAPIAN_TEST_CXXFLAGS
1753	  (since the latter is never used) and make it take a variable to
1754	  add the flags to.  Also, fix it to restore CXXFLAGS correctly if
1755	  the success case contains "break".
1756
1757Wed Aug 06 10:49:46 GMT 2014  Olly Betts <olly@survex.com>
1758
1759	* include/xapian/compactor.h: Fix formatting of doxygen comment.
1760
1761Wed Aug 06 10:49:20 GMT 2014  Olly Betts <olly@survex.com>
1762
1763	* include/xapian/constants.h: Whitespace tweak.
1764
1765Wed Aug 06 10:08:09 GMT 2014  Olly Betts <olly@survex.com>
1766
1767	* backends/brass/brass_version.cc,common/io_utils.h,
1768	  include/xapian/constants.h: Add DB_FULL_SYNC flag - if this is set
1769	  for a database, we use the Mac OS X F_FULL_SYNC instead of
1770	  fdatasync()/fsync()/etc on the version file when committing.
1771
1772Mon Aug 04 05:58:13 GMT 2014  Olly Betts <olly@survex.com>
1773
1774	* backends/brass/brass_compact.cc: Whitespace tweak.
1775
1776Mon Aug 04 05:57:27 GMT 2014  Olly Betts <olly@survex.com>
1777
1778	* backends/brass/brass_compact.cc: When compacting, sync all the
1779	  tables together at the end.
1780
1781Mon Aug 04 05:42:21 GMT 2014  Olly Betts <olly@survex.com>
1782
1783	* backends/brass/brass_compact.cc,backends/brass/brass_version.cc:
1784	  Clean up temporary file in BrassVersion::sync() in all failure
1785	  cases.
1786
1787Mon Aug 04 05:21:02 GMT 2014  Olly Betts <olly@survex.com>
1788
1789	* backends/brass/: In DB_DANGEROUS mode, update the version file
1790	  in-place.
1791
1792Fri Aug 01 02:49:57 GMT 2014  Olly Betts <olly@survex.com>
1793
1794	* backends/brass/brass_compact.cc: Lock the target database while
1795	  we're compacting to it, which has the side effect of creating the
1796	  'flintlock' file there.
1797
1798Fri Aug 01 02:35:35 GMT 2014  Olly Betts <olly@survex.com>
1799
1800	* include/xapian/visibility.h: Add link to GCC Visibility wiki page.
1801
1802Thu Jul 31 02:54:40 GMT 2014  Olly Betts <olly@survex.com>
1803
1804	* tests/api_weight.cc,weight/bb2weight.cc: Avoid calculating logs of 0
1805	  or negative values by clamping the normalise wdf to at most one less
1806	  than the collection frequency, and the collection size to at least
1807	  2.
1808
1809Thu Jul 31 02:48:35 GMT 2014  Olly Betts <olly@survex.com>
1810
1811	* tests/api_weight.cc,weight/bb2weight.cc: Fix upper bound for
1812	  BB2Weight to not be scaled twice by wqf and factor.
1813
1814Wed Jul 30 05:48:46 GMT 2014  Olly Betts <olly@survex.com>
1815
1816	* weight/bb2weight.cc: Fix comment typo, and capitalise "Stirling" in
1817	  comments.
1818
1819Wed Jul 30 05:47:31 GMT 2014  Olly Betts <olly@survex.com>
1820
1821	* weight/bb2weight.cc: Whitespace cleanup.
1822
1823Wed Jul 30 05:43:59 GMT 2014  Aarsh Shah <aarshkshah1992@gmail.com>
1824
1825	* include/xapian/weight.h,weight/bb2weight.cc: Optimise BB2Weight and
1826	  fix incorrect upper bound in some cases.
1827
1828Tue Jul 29 07:20:57 GMT 2014  Olly Betts <olly@survex.com>
1829
1830	* backends/brass/brass_version.cc: Remove assertion that table sizes
1831	  are all the same, and redundant assertion that the unserialised
1832	  blocksize is >= 2048.  Fixes set-but-not-used warning in
1833	  non-assertion build.
1834
1835Mon Jul 28 06:35:45 GMT 2014  Olly Betts <olly@survex.com>
1836
1837	* backends/brass/brass_databasereplicator.cc,
1838	  backends/brass/brass_databasereplicator.h,
1839	  backends/brass/brass_table.cc: Replace enum table_id with enum
1840	  Brass::table_type.
1841
1842Mon Jul 28 04:28:12 GMT 2014  Olly Betts <olly@survex.com>
1843
1844	* NEWS: Note the freelist implementation fixed #40.
1845
1846Mon Jul 28 04:26:07 GMT 2014  Olly Betts <olly@survex.com>
1847
1848	* api/compactor.cc,backends/brass/,backends/dbcheck.cc,
1849	  tests/api_wrdb.cc: Eliminate the base files, and instead store the
1850	  root block and freelist pointers in the "iambrass" file.
1851
1852Mon Jul 28 03:22:22 GMT 2014  Olly Betts <olly@survex.com>
1853
1854	* backends/brass/brass_databasereplicator.cc: Remove variable which is
1855	  set but never used.
1856
1857Sun Jul 27 01:56:58 GMT 2014  Olly Betts <olly@survex.com>
1858
1859	* backends/dbcheck.cc: Don't try to write output when no output stream
1860	  is specified in the case where the database open fails and so we
1861	  can't check changes files.
1862
1863Thu Jul 24 21:12:23 GMT 2014  Olly Betts <olly@survex.com>
1864
1865	* NEWS: Update.
1866
1867Fri Jul 11 10:44:48 GMT 2014  Olly Betts <olly@survex.com>
1868
1869	* weight/bm25weight.cc: Improve BM25 upper bound in the case when our
1870	  wdf upper bound > our document length lower bound.  Thanks to
1871	  Craig Macdonald for pointing out this trick.
1872
1873Thu Jul 10 13:29:50 GMT 2014  Olly Betts <olly@survex.com>
1874
1875	* weight/bm25weight.cc: Pre-multiply termweight by (param_k1 + 1).
1876
1877Sat Jun 28 11:00:49 GMT 2014  Olly Betts <olly@survex.com>
1878
1879	* languages/Makefile.mk: Sort the stop.list files (since loading a
1880	  sorted list is likely to be more efficient) and remove any duplicate
1881	  entries.
1882
1883Sat Jun 28 10:48:03 GMT 2014  Olly Betts <olly@survex.com>
1884
1885	* languages/stopwords/finnish/stop.txt,
1886	  languages/stopwords/norwegian/stop.txt: Remove duplicate entries.
1887
1888Sat Jun 28 10:38:56 GMT 2014  Olly Betts <olly@survex.com>
1889
1890	* languages/stopwords/russian/stop.txt: Convert from KOI8-R to UTF-8.
1891
1892Mon Jun 23 02:26:24 GMT 2014  Olly Betts <olly@survex.com>
1893
1894	* configure.ac: configure.ac: Add hints for which package to install
1895	  for rst2html
1896
1897Mon Jun 23 00:54:05 GMT 2014  Olly Betts <olly@survex.com>
1898
1899	* configure.ac: Use AS_MKDIR_P instead of test -d || mkdir.
1900
1901Sun Jun 22 07:32:11 GMT 2014  Olly Betts <olly@survex.com>
1902
1903	* NEWS: Update.
1904
1905Sat Jun 21 03:45:19 GMT 2014  Olly Betts <olly@survex.com>
1906
1907	* docs/Makefile.am: Use $(MKDIR_P) instead of test -d || mkdir 3
1908	  times.
1909
1910Sat Jun 21 03:44:37 GMT 2014  Olly Betts <olly@survex.com>
1911
1912	* languages/Makefile.mk: Generate the directories for the minimised
1913	  stopword files in a VPATH build.
1914
1915Tue Jun 17 13:36:40 GMT 2014  Assem Chelli <assem.ch@gmail.com>
1916
1917	* include/xapian/queryparser.h: Add the example of initializing
1918	  SimpleStopper using a file as a doccomment.
1919
1920Tue Jun 17 13:30:09 GMT 2014  Olly Betts <olly@survex.com>
1921
1922	* languages/Makefile.mk: Remove trailing whitespace (some of which
1923	  breaks the parsing to get the lists of source files to pass to
1924	  doxygen).
1925
1926Tue Jun 17 13:24:59 GMT 2014  Assem Chelli <assem.ch@gmail.com>
1927
1928	* languages/: Add stopwords lists from Snowball plus an Arabic one.
1929
1930Tue Jun 17 11:48:12 GMT 2014  Olly Betts <olly@survex.com>
1931
1932	* weight/dlhweight.cc: Fix comment typo.
1933
1934Tue Jun 17 11:46:40 GMT 2014  Aarsh Shah <aarshkshah1992@gmail.com>
1935
1936	* weight/dlhweight.cc: Improve the upper bound on DLH ~3-4 times.
1937
1938Tue Jun 17 11:32:22 GMT 2014  Aarsh Shah <aarshkshah1992@gmail.com>
1939
1940	* include/xapian/weight.h,weight/dphweight.cc: Combine factor into
1941	  constants calculated in init().  Improve get_maxpart() a little
1942	  in the (common) case where the wdf upper bound is less than half
1943	  the document length upper bound.
1944
1945Tue Jun 17 03:42:36 GMT 2014  Olly Betts <olly@survex.com>
1946
1947	* tests/api_unicode.cc,unicode/UnicodeData-README.txt,
1948	  unicode/UnicodeData.txt: Update to Unicode 7.0.0.
1949
1950Mon Jun 16 14:13:18 GMT 2014  Aarsh Shah <aarshkshah1992@gmail.com>
1951
1952	* weight/dphweight.cc: Improved upper bound for DPH.
1953
1954Mon Jun 16 13:58:24 GMT 2014  Aarsh Shah <aarshkshah1992@gmail.com>
1955
1956	* include/xapian/weight.h,weight/ifb2weight.cc,weight/ineb2weight.cc,
1957	  weight/inl2weight.cc: Include 'factor' in the constants we calculate
1958	  in init_().
1959
1960Mon Jun 16 13:53:05 GMT 2014  Aarsh Shah <aarshkshah1992@gmail.com>
1961
1962	* include/xapian/weight.h,weight/dlhweight.cc: DLH optimization.
1963
1964Mon Jun 16 13:02:24 GMT 2014  Olly Betts <olly@survex.com>
1965
1966	* HACKING: Need python3-sphinx to generate docs for python3.
1967
1968Mon Jun 16 12:37:13 GMT 2014  Assem Chelli <assem.ch@gmail.com>
1969
1970	* HACKING: Note sphinx-doc now needed (for Python bindings API docs).
1971
1972Mon Jun 16 05:35:03 GMT 2014  Olly Betts <olly@survex.com>
1973
1974	* HACKING,configure.ac,docs/Makefile.am,docs/doxygen_api.conf.in:
1975	  Don't build, ship or install PDF versions of the API docs by
1976	  default, but provide an easy way for people to build it for
1977	  themselves if they want it.
1978
1979Mon Jun 16 04:20:40 GMT 2014  Olly Betts <olly@survex.com>
1980
1981	* include/xapian/queryparser.h: Improve the descriptions of the
1982	  stem_strategy values.  (Reported by "oilap" on #xapian)
1983
1984Fri Jun 13 07:52:53 GMT 2014  Olly Betts <olly@survex.com>
1985
1986	* weight/dphweight.cc: Fix some comment typos.
1987
1988Fri Jun 13 07:47:32 GMT 2014  Aarsh Shah <aarshkshah1992@gmail.com>
1989
1990	* include/xapian/weight.h,weight/dphweight.cc: Optimized DPH code.
1991
1992Fri Jun 13 01:39:07 GMT 2014  Olly Betts <olly@survex.com>
1993
1994	* examples/quest.cc: Fix ordering of "bm25" and "bool" in allegedly
1995	  sorted list, so that --weight bm25 and --weight bool work.
1996
1997Thu Jun 12 13:49:19 GMT 2014  Olly Betts <olly@survex.com>
1998
1999	* matcher/extraweightpostlist.h: Add an assertion that get_sumextra()
2000	  returns a weight contribution which is <= the upper bound which
2001	  get_maxextra() returns.
2002
2003Thu Jun 12 13:30:55 GMT 2014  Olly Betts <olly@survex.com>
2004
2005	* api/leafpostlist.cc,matcher/synonympostlist.cc: Add assertions that
2006	  get_sumpart() returns a weight contribution which is <= the upper
2007	  bound which get_maxpart() returns.
2008
2009Wed Jun 11 05:34:16 GMT 2014  Olly Betts <olly@survex.com>
2010
2011	* languages/hungarian.sbl: Fix incorrect Unicode codepoints for
2012	  o-double-acute and u-double-acute in Hungarian Snowball stemmer.
2013	  Reported by Tom Lane to snowball-discuss.
2014
2015Tue Jun 10 10:59:18 GMT 2014  Aarsh Shah <aarshkshah1992@gmail.com>
2016
2017	* include/xapian/weight.h,weight/ineb2weight.cc: Optimized IneB2:
2018	  Reduced number of calculations in get_sumpart and tightened upper
2019	  bound.
2020
2021Tue Jun 10 10:23:09 GMT 2014  Olly Betts <olly@survex.com>
2022
2023	* weight/ineb2weight.cc: Fix closing brace indentation.
2024
2025Tue Jun 10 09:58:18 GMT 2014  Olly Betts <olly@survex.com>
2026
2027	* examples/quest.cc: Rework the weight name lookup to use a table like
2028	  the other lookups.  Change the weight names not to include "weight".
2029
2030Tue Jun 10 08:15:18 GMT 2014  Aarsh Shah <aarshkshah1992@gmail.com>
2031
2032	* include/xapian/weight.h,weight/ifb2weight.cc: Optimized
2033	  upper bound and weighting formula in IfB2Weight.
2034
2035Tue Jun 10 05:34:52 GMT 2014  Aarsh Shah <aarshkshah1992@gmail.com>
2036
2037	* include/xapian/weight.h,weight/inl2weight.cc: Optimized
2038	  upper bound and weighting formula in InL2Weight.
2039
2040Tue Jun 10 05:09:08 GMT 2014  Olly Betts <olly@survex.com>
2041
2042	* examples/quest.cc: Add --weight option to allow the weighting scheme
2043	  to be specified.
2044
2045Thu Jun 05 03:42:51 GMT 2014  Olly Betts <olly@survex.com>
2046
2047	* api/omdatabase.cc,tests/api_backend.cc: Fix
2048	  Database::get_wdf_upper_bound("") not to fail with an assertion.
2049
2050Tue Jun 03 22:59:10 GMT 2014  Olly Betts <olly@survex.com>
2051
2052	* matcher/localsubmatch.cc: Use RETURN() instead of return in methods
2053	  with LOGCALL annotations.
2054
2055Mon Jun 02 13:15:36 GMT 2014  Olly Betts <olly@survex.com>
2056
2057	* docs/Makefile.am: Actually ship, process and install geospatial.rst.
2058
2059Mon Jun 02 11:40:27 GMT 2014  Olly Betts <olly@survex.com>
2060
2061	* languages/Makefile.mk: Ship collate-sbl script.
2062
2063Thu May 29 12:13:06 GMT 2014  Olly Betts <olly@survex.com>
2064
2065	* HACKING: Replace a link to the outdated autotools "goat book" with a
2066	  link to the "Portable Shell" chapter of the autoconf manual.
2067
2068Thu May 29 03:31:10 GMT 2014  Olly Betts <olly@survex.com>
2069
2070	* api/snipper.cc,api/snipperinternal.h,include/xapian/snipper.h: Allow
2071	  the user to specify how long a snippet they want.  Only add "..." if
2072	  the sample was actually truncated.
2073
2074Wed May 28 12:52:26 GMT 2014  Olly Betts <olly@survex.com>
2075
2076	* include/xapian/snipper.h: Add the standard guards to prevent user
2077	  code from including this header directly.
2078
2079Tue May 27 04:19:12 GMT 2014  Olly Betts <olly@survex.com>
2080
2081	* include/Makefile.mk: Ship include/xapian/snipper.h in tarball.
2082
2083Tue May 27 04:03:09 GMT 2014  Olly Betts <olly@survex.com>
2084
2085	* api/snipper.cc,include/xapian/snipper.h,
2086	  tests/generate-api_generated: Add missing assignment operator to
2087	  Xapian::Snipper class.
2088
2089Tue May 27 03:43:03 GMT 2014  Olly Betts <olly@survex.com>
2090
2091	* include/xapian/snipper.h: Add missing doxygen comments.
2092
2093Tue May 27 03:41:08 GMT 2014  Olly Betts <olly@survex.com>
2094
2095	* include/xapian/snipper.h,tests/api_snipper.cc: Whitespace tweaks.
2096
2097Tue May 27 03:36:19 GMT 2014  Olly Betts <olly@survex.com>
2098
2099	* api/snipper.cc,include/xapian/snipper.h,tests/api_snipper.cc: Remove
2100	  getters for obtaining info about the relevance model, and instead
2101	  add a get_description() method which includes all such info in the
2102	  returned description.
2103
2104Tue May 27 03:06:36 GMT 2014  Olly Betts <olly@survex.com>
2105
2106	* api/snipper.cc: Use an iterator instead of subscripting.
2107
2108Tue May 27 03:03:33 GMT 2014  Olly Betts <olly@survex.com>
2109
2110	* api/snipper.cc,api/snipperinternal.h,include/xapian/snipper.h: Use
2111	  appropriate named types rather than "int" or "unsigned int".
2112
2113Tue May 27 03:02:48 GMT 2014  Olly Betts <olly@survex.com>
2114
2115	* api/snipperinternal.h: Remove constants which are no longer used.
2116
2117Tue May 27 02:48:44 GMT 2014  Olly Betts <olly@survex.com>
2118
2119	* api/snipper.cc,api/snipperinternal.h,include/xapian/snipper.h:
2120	  Rework Snipper methods set_smoothing_coef() and set_window_size() as
2121	  optional parameters of generate_snippet().
2122
2123Tue May 27 02:33:39 GMT 2014  Olly Betts <olly@survex.com>
2124
2125	* api/snipper.cc,api/snipperinternal.h: Just pass rm_docno through to
2126	  Snipper::Internal::calculate_rm() as a parameter rather than storing
2127	  it in a member variable.
2128
2129Tue May 27 02:25:41 GMT 2014  Olly Betts <olly@survex.com>
2130
2131	* api/snipper.cc: Use clear() method to empty a container.
2132
2133Tue May 27 02:22:37 GMT 2014  Olly Betts <olly@survex.com>
2134
2135	* tests/api_snipper.cc: Drop unused <algorithm>.
2136
2137Tue May 27 02:21:53 GMT 2014  Olly Betts <olly@survex.com>
2138
2139	* api/snipper.cc: Eliminate ret_value variable.
2140
2141Tue May 27 02:20:25 GMT 2014  Olly Betts <olly@survex.com>
2142
2143	* api/snipper.cc: Avoid unnecessary substr operations.
2144
2145Tue May 27 02:17:32 GMT 2014  Olly Betts <olly@survex.com>
2146
2147	* api/snipper.cc: Prefer ++i to i++ in loops.
2148
2149Tue May 27 02:16:14 GMT 2014  Olly Betts <olly@survex.com>
2150
2151	* api/snipper.cc: Use TermIterator::positionlist_count().
2152
2153Tue May 27 02:14:52 GMT 2014  Olly Betts <olly@survex.com>
2154
2155	* api/snipper.cc,api/snipperinternal.h,include/xapian/snipper.h: Fix
2156	  typos in comments and variable names in new snipper code.
2157
2158Tue May 27 02:13:09 GMT 2014  Olly Betts <olly@survex.com>
2159
2160	* tests/Makefile.am: Hook up new Snipper API tests to actually be
2161	  used.
2162
2163Tue May 27 02:09:49 GMT 2014  Mihai Bivol <mm.bivol@gmail.com>
2164
2165	* tests/api_snipper.cc: Add Snipper API tests.
2166
2167Tue May 27 02:04:26 GMT 2014  Olly Betts <olly@survex.com>
2168
2169	* api/snipper.cc: Add missing #include <config.h>.
2170
2171Tue May 27 02:00:32 GMT 2014  Mihai Bivol <mm.bivol@gmail.com>
2172
2173	* api/Makefile.mk,api/snipper.cc,api/snipperinternal.h,
2174	  include/xapian.h,include/xapian/snipper.h: Add Xapian::Snipper
2175	  class.
2176
2177Mon May 26 05:52:22 GMT 2014  Olly Betts <olly@survex.com>
2178
2179	* api/omdatabase.cc,backends/brass/brass_postlist.h,
2180	  backends/chert/chert_postlist.h,backends/database.h: Fix comment
2181	  typos.
2182
2183Fri May 23 11:59:26 GMT 2014  Olly Betts <olly@survex.com>
2184
2185	* api/matchspy.cc: Pass std::string by const reference.
2186
2187Thu May 22 06:31:12 GMT 2014  Olly Betts <olly@survex.com>
2188
2189	* matcher/localsubmatch.cc: Fix the check for a term which matches all
2190	  documents to use the sub-db termfreq, not the combined db termfreq.
2191
2192Thu May 22 06:00:47 GMT 2014  Olly Betts <olly@survex.com>
2193
2194	* matcher/localsubmatch.cc: If a term matches all documents and its
2195	  weight doesn't depend on its wdf, we can optimise it to MatchAll
2196	  (the previous requirement that maxpart == 0 was unnecessarily
2197	  strict).
2198
2199Thu May 22 05:52:15 GMT 2014  Olly Betts <olly@survex.com>
2200
2201	* matcher/localsubmatch.cc,tests/api_percentages.cc: When we optimise
2202	  a postlist for a term which matches all documents to use MatchAll,
2203	  we still need to set a weight object on it to get percentages
2204	  calculated correctly.
2205
2206Thu May 22 04:08:35 GMT 2014  Olly Betts <olly@survex.com>
2207
2208	* api/queryinternal.cc,matcher/localsubmatch.cc,
2209	  matcher/localsubmatch.h,matcher/queryoptimiser.h: Refactor to group
2210	  most of the code to create a postlist for a term and set its weight
2211	  into one place.
2212
2213Mon May 19 00:08:04 GMT 2014  Olly Betts <olly@survex.com>
2214
2215	* backends/brass/brass_freelist.cc,tests/api_backend.cc: When we start
2216	  to write a new freelist block, set the revision on the old one we
2217	  write out correctly, and don't "-1" out the next block pointer
2218	  before we write out the block in this case.  New regression testcase
2219	  newfreelistblock1.
2220	* backends/brass/brass_freelist.cc: Add assertions that the freelist
2221	  block has a next pointer when fl_end is a different block to fl.
2222
2223Fri May 16 04:35:21 GMT 2014  Olly Betts <olly@survex.com>
2224
2225	* backends/brass/brass_freelist.h: Fix BrassFreeList::swap() to also
2226	  swap the flw_appending members.
2227
2228Thu May 15 12:51:15 GMT 2014  Olly Betts <olly@survex.com>
2229
2230	* HACKING: Add checking config/config.* are up to date to the
2231	  release checklist.
2232
2233Thu May 15 12:47:28 GMT 2014  Olly Betts <olly@survex.com>
2234
2235	* HACKING: Now using automake 1.14.1 to bootstrap snapshots and
2236	  1.3.x releases.
2237
2238Wed May 14 03:18:37 GMT 2014  Olly Betts <olly@survex.com>
2239
2240	* api/queryinternal.cc: Only serialise parameter where it is actually
2241	  used.
2242
2243Fri May 09 01:56:48 GMT 2014  Olly Betts <olly@survex.com>
2244
2245	* HACKING: Now using doxygen 1.8.7 to bootstrap tarballs.
2246
2247Mon May 05 05:37:32 GMT 2014  Olly Betts <olly@survex.com>
2248
2249	* backends/chert/chert_check.cc,backends/chert/chert_dbcheck.cc,
2250	  backends/dbcheck.cc: Improve DBCHECK_FIX - if fixing a whole
2251	  database, we now take the revision from the first table we
2252	  successfully look at, which should be correct in most cases,
2253	  and is definitely better than trying to determine the revision
2254	  of each broken table independently.
2255
2256Fri May 02 02:36:05 GMT 2014  Olly Betts <olly@survex.com>
2257
2258	* matcher/valuestreamdocument.cc,matcher/valuestreamdocument.h: Put
2259	  the docid in the sub-database into the ValueStreamDocument object as
2260	  that's what Xapian::Document::get_docid() is documented to return.
2261	  (fixes#636, reported by Jeff Rand).
2262
2263Thu May 01 13:25:35 GMT 2014  Olly Betts <olly@survex.com>
2264
2265	* api/omdatabase.cc,include/xapian/database.h,
2266	  matcher/valuestreamdocument.cc: Eliminate
2267	  Database::get_document_lazily_() completely.
2268
2269Thu May 01 11:48:00 GMT 2014  Olly Betts <olly@survex.com>
2270
2271	* backends/database.cc,backends/slowvaluelist.cc,
2272	  backends/slowvaluelist.h: Don't wrap the subdatabase object in a
2273	  Xapian::Database for SlowValueList, which mean we can just call
2274	  open_document(did, true) on it instead of having to use
2275	  Xapian::Database::get_document_lazily_().
2276
2277Wed Apr 30 00:31:52 GMT 2014  Olly Betts <olly@survex.com>
2278
2279	* api/omdatabase.cc: Explicitly '#include <algorithm>' for std::max(),
2280	  fixing build with VS2013.  (fixes#641)
2281
2282Tue Apr 29 04:28:06 GMT 2014  Olly Betts <olly@survex.com>
2283
2284	* common/append_filename_arg.h,net/remoteconnection.h: Comment tweaks.
2285
2286Tue Apr 29 04:26:26 GMT 2014  Olly Betts <olly@survex.com>
2287
2288	* tests/harness/unixcmds.cc: Drop code supporting Microsoft Windows 9x
2289	  which reached EOL in 2006.
2290
2291Thu Apr 17 05:06:21 GMT 2014  Olly Betts <olly@survex.com>
2292
2293	* common/autoptr.h: Under C++11, use unique_ptr for AutoPtr.
2294
2295Wed Apr 09 22:16:37 GMT 2014  Olly Betts <olly@survex.com>
2296
2297	* api/documentterm.h,api/omdocument.cc: Don't store the termname in
2298	  OmDocumentTerm - we were only using it in get_description() output
2299	  and an exception message.  Speeds up indexing etext.txt using
2300	  simpleindex by 0.4%, and should reduce memory usage a bit too.
2301	  (Change inspired by comments from Vishesh Handa on xapian-devel).
2302
2303Wed Apr 09 05:17:58 GMT 2014  Olly Betts <olly@survex.com>
2304
2305	* backends/brass/brass_btreebase.cc,backends/brass/brass_table.cc:
2306	  Remove comment references to using bitmaps for freespace tracking.
2307
2308Tue Apr 08 04:20:00 GMT 2014  Olly Betts <olly@survex.com>
2309
2310	* bin/xapian-delve.cc: Add -A <prefix> option to list all terms with
2311	  a particular prefix.
2312
2313Mon Apr 07 05:45:06 GMT 2014  Olly Betts <olly@survex.com>
2314
2315	* api/omdatabase.cc,backends/brass/,backends/chert/,
2316	  backends/database.cc,backends/database.h,
2317	  backends/inmemory/inmemory_database.cc,
2318	  backends/inmemory/inmemory_database.h,
2319	  backends/remote/remote-database.cc,backends/remote/remote-database.h,
2320	  common/remoteprotocol.h,matcher/const_database_wrapper.cc,
2321	  matcher/const_database_wrapper.h,net/remoteserver.cc,
2322	  net/remoteserver.h,weight/weightinternal.cc: Fetch termfreq and
2323	  collection frequency in a single call - shaves ~0.3% off a test
2324	  search.
2325
2326Thu Apr 03 23:40:45 GMT 2014  Olly Betts <olly@survex.com>
2327
2328	* net/serialise.cc,weight/weightinternal.h: Make Weight::Internal
2329	  track if any max_part values are set, so we don't need to
2330	  serialise them when they've not been set.
2331
2332Thu Apr 03 05:50:13 GMT 2014  Olly Betts <olly@survex.com>
2333
2334	* weight/weightinternal.cc: Enhance
2335	  Weight::Internal::get_description() to report TermFreqs.
2336
2337Thu Apr 03 05:46:44 GMT 2014  Olly Betts <olly@survex.com>
2338
2339	* api/omenquire.cc,api/omenquireinternal.h,common/submatch.h,matcher/,
2340	  net/remoteserver.cc,net/serialise.cc,weight/weight.cc,
2341	  weight/weightinternal.cc,weight/weightinternal.h: Eliminate the
2342	  map<string, TermFreqAndWeight> in MSet::Internal, and instead just
2343	  preserve the Weight::Internal object there as that holds all the
2344	  information we need.
2345
2346Thu Apr 03 04:40:09 GMT 2014  Olly Betts <olly@survex.com>
2347
2348	* backends/remote/remote-database.cc,net/remoteserver.cc,
2349	  net/serialise.cc,net/serialise.h: Avoid returning
2350	  Xapian::Weight::Internal by value from unserialise_stats().
2351
2352Tue Apr 01 22:41:16 GMT 2014  Olly Betts <olly@survex.com>
2353
2354	* matcher/localsubmatch.cc,weight/weight.cc,weight/weightinternal.cc,
2355	  weight/weightinternal.h: Replace Weight::Internal methods to get
2356	  termfreq, reltermfreq and colltermfreq with a single inlined
2357	  get_stats() method, which only needs to search the map once.
2358	  Shaves ~1.6% off the time to do a wildcard query with a lot of
2359	  terms.
2360
2361Tue Apr 01 22:11:52 GMT 2014  Olly Betts <olly@survex.com>
2362
2363	* matcher/localsubmatch.cc: Don't refetch the termfreq if we already
2364	  have it.
2365
2366Sun Mar 30 22:54:22 GMT 2014  Anish Kanchan <anishgkanchan@gmail.com>
2367
2368	* include/xapian/termgenerator.h: Make TermGenerator flags an
2369	  anonymous enum, and typedef TermGenerator::flags to int for backward
2370	  compatibility with existing user code which uses it.  (fixes #616)
2371
2372Thu Mar 27 05:45:14 GMT 2014  Liu Chi <liuchi09@gmail.com>
2373
2374	* include/xapian/stem.h,languages/Makefile.mk,
2375	  languages/earlyenglish.sbl,languages/stem.cc,tests/api_stem.cc:
2376	  Add an early english stemmer.
2377
2378Wed Mar 19 02:42:00 GMT 2014  Olly Betts <olly@survex.com>
2379
2380	* weight/weightinternal.cc: Fix comment typo.
2381
2382Fri Mar 14 09:53:22 GMT 2014  Olly Betts <olly@survex.com>
2383
2384	* HACKING: MacTeX seems to be the best option if using homebrew.
2385
2386Fri Mar 07 23:17:43 GMT 2014  Olly Betts <olly@survex.com>
2387
2388	* matcher/maxpostlist.cc: More fixes for --enable.log.
2389
2390Fri Mar 07 23:01:45 GMT 2014  Olly Betts <olly@survex.com>
2391
2392	* matcher/maxpostlist.cc: Fix compilation error with --enable-log on.
2393	  Reported by Anurag Soni.
2394
2395Fri Mar 07 00:39:11 GMT 2014  Olly Betts <olly@survex.com>
2396
2397	* HACKING: Fix typo and RST markup.
2398
2399Fri Mar 07 00:21:16 GMT 2014  VcamX <vcamx3@gmail.com>
2400
2401	* HACKING: Note packages to install from homebrew on Mac OS X.
2402
2403Fri Mar 07 00:17:01 GMT 2014  VcamX <vcamx3@gmail.com>
2404
2405	* backends/dbcheck.cc,common/pack.h: Fix warnings with clang 5.0.
2406
2407Tue Mar 04 04:25:11 GMT 2014  Olly Betts <olly@survex.com>
2408
2409	* api/queryinternal.cc,api/queryinternal.h: Only simplify OP_SYNONYM
2410	  with a single subquery if that subquery is a term or MatchAll.
2411
2412Tue Mar 04 04:12:58 GMT 2014  Olly Betts <olly@survex.com>
2413
2414	* tests/api_none.cc: Test OPs with a single MatchAll subquery.
2415
2416Mon Mar 03 22:59:55 GMT 2014  Mayank Chaudhary <mayankchaudhary.iitr@gmail.com>
2417
2418	* docs/Makefile.am,docs/bm25.rst,docs/intro_ir.rst: Convert equations
2419	  in rst docs to use LaTeX via the math role and directive.
2420
2421Fri Feb 28 06:12:36 GMT 2014  Olly Betts <olly@survex.com>
2422
2423	* backends/brass/brass_positionlist.h,
2424	  backends/chert/chert_positionlist.h: Remove next_internal() methods
2425	  which were declared but not defined or used (left-overs from flint).
2426	  Reported by "Hurricane Tong".
2427
2428Wed Feb 26 01:33:50 GMT 2014  Olly Betts <olly@survex.com>
2429
2430	* api/query.cc,api/queryinternal.cc,api/queryinternal.h,
2431	  examples/quest.cc,include/xapian/query.h,matcher/Makefile.mk,
2432	  matcher/maxpostlist.cc,matcher/maxpostlist.h,
2433	  queryparser/queryparser.cc,tests/api_none.cc,tests/api_opsynonym.cc:
2434	  Implement new OP_MAX query operator, which returns the maximum
2435	  weight of any of its subqueries.  (see #360)
2436
2437Wed Feb 26 00:48:23 GMT 2014  Olly Betts <olly@survex.com>
2438
2439	* matcher/localsubmatch.cc,matcher/synonympostlist.cc,
2440	  matcher/synonympostlist.h: In SynonymPostList, avoid fetching the
2441	  doclength if the weighting scheme doesn't need it and the calculated
2442	  wdf for the synonym in <= doclength_lower_bound for the current
2443	  subdatabase.  (fixes #360)
2444
2445Wed Feb 26 00:12:22 GMT 2014  Olly Betts <olly@survex.com>
2446
2447	* backends/brass/brass_changes.cc: Fix compilation without
2448	  --enable-assertions.
2449
2450Tue Feb 25 02:33:14 GMT 2014  Olly Betts <olly@survex.com>
2451
2452	* examples/quest.cc: Add --default-op option.
2453
2454Tue Feb 25 01:56:34 GMT 2014  Olly Betts <olly@survex.com>
2455
2456	* examples/quest.cc: Whitespace tweak.
2457
2458Mon Feb 24 06:33:37 GMT 2014  Olly Betts <olly@survex.com>
2459
2460	* tests/api_opsynonym.cc: Refactor symonym1 so that the test data is
2461	  specified by an array, rather than built up by code, so that the
2462	  actual testcases can be more easily seen.
2463
2464Sun Feb 23 01:22:56 GMT 2014  Olly Betts <olly@survex.com>
2465
2466	* common/bitstream.cc,common/bitstream.h: Add comments to better
2467	  document BitReader and BitWriter. (fixes#252)
2468
2469Sun Feb 23 00:35:17 GMT 2014  Olly Betts <olly@survex.com>
2470
2471	* HACKING: Stop trying to explicitly list compilers which support
2472	  __builtin_expect (LLVM does too, others may as well).
2473
2474Fri Feb 21 01:34:59 GMT 2014  Olly Betts <olly@survex.com>
2475
2476	* backends/brass/,backends/dbcheck.cc,common/,
2477	  docs/replication_protocol.rst,tests/api_backend.cc,
2478	  tests/api_replicate.cc: Keep track of unused blocks in the Btrees
2479	  using freelists rather than bitmaps.
2480
2481Fri Feb 21 01:21:45 GMT 2014  Olly Betts <olly@survex.com>
2482
2483	* tests/api_wrdb.cc: Expand crashrecovery1 to check that the expected
2484	  base files exist and ones which shouldn't exist don't.
2485
2486Thu Feb 20 00:34:47 GMT 2014  Olly Betts <olly@survex.com>
2487
2488	* HACKING: makeindex is now in Debian package texlive-binaries.
2489
2490Wed Feb 19 06:50:58 GMT 2014  Olly Betts <olly@survex.com>
2491
2492	* docs/sorting.rst: Fix incorrect parameter types in Xapian::Weight
2493	  subclass example.
2494
2495Tue Feb 18 23:34:19 GMT 2014  Olly Betts <olly@survex.com>
2496
2497	* api/replication.cc: Fix conditional for enabling replication code
2498	  - if chert is disabled but brass isn't, we should still enable it.
2499
2500Tue Feb 18 01:33:28 GMT 2014  Olly Betts <olly@survex.com>
2501
2502	* tests/api_replicate.cc: Move comment to in front of the function it
2503	  is actually talking about.
2504
2505Sun Feb 16 04:53:57 GMT 2014  Olly Betts <olly@survex.com>
2506
2507	* xapian-config.in: Add some missing shell quoting identified by
2508	  shellcheck.
2509
2510Sun Feb 16 00:53:01 GMT 2014  Olly Betts <olly@survex.com>
2511
2512	* docs/quickstart.rst: Split --cxxflags and --libs for portability
2513	  (noted by "Hurricane Tong" on xapian-devel).
2514
2515Sat Feb 15 04:59:37 GMT 2014  Olly Betts <olly@survex.com>
2516
2517	* docs/glossary.rst: Add definition of "collection frequency".
2518
2519Fri Feb 14 22:24:26 GMT 2014  Olly Betts <olly@survex.com>
2520
2521	* NEWS: Update.
2522
2523Fri Jan 17 03:50:44 GMT 2014  Olly Betts <olly@survex.com>
2524
2525	* backends/brass/brass_databasereplicator.cc,
2526	  backends/brass/brass_table.cc,
2527	  backends/chert/chert_databasereplicator.cc,
2528	  backends/chert/chert_table.cc,common/io_utils.cc,common/io_utils.h:
2529	  Add io_read_block() and io_write_block() as wrappers around pread()
2530	  and pwrite() (or lseek() plus read() and lseek() plus write()).
2531
2532Sat Jan 11 06:32:19 GMT 2014  Olly Betts <olly@survex.com>
2533
2534	* configure.ac: Sun C++ seems to explicitly need Crun now.
2535
2536Sat Jan 11 02:23:06 GMT 2014  Olly Betts <olly@survex.com>
2537
2538	* configure.ac: Fix checks for Sun C++.
2539
2540Fri Jan 10 22:38:01 GMT 2014  Olly Betts <olly@survex.com>
2541
2542	* matcher/multimatch.cc: timer_create() doesn't handle CLOCK_MONOTONIC
2543	  on Solaris, so use CLOCK_REALTIME there instead.
2544
2545Fri Jan 10 11:22:37 GMT 2014  Olly Betts <olly@survex.com>
2546
2547	* configure.ac: Improve handling of Sun's C++ compiler - trick libtool
2548	  into not adding -library=Cstd, and prefer -library=stdcxx4 if
2549	  supported.
2550
2551Fri Jan 10 11:16:15 GMT 2014  Olly Betts <olly@survex.com>
2552
2553	* configure.ac: Add XAPIAN_TEST_CXXFLAGS macro, and use it to check
2554	  the flags to cxx actually work.
2555
2556Fri Jan 10 10:56:17 GMT 2014  Olly Betts <olly@survex.com>
2557
2558	* configure.ac: Apply missing functional part of previous change.
2559
2560Fri Jan 10 10:46:53 GMT 2014  Olly Betts <olly@survex.com>
2561
2562	* configure.ac: Avoid using grep -e as /usr/bin/grep on Solaris
2563	  doesn't support it.
2564
2565Fri Jan 10 03:30:10 GMT 2014  Olly Betts <olly@survex.com>
2566
2567	* backends/brass/brass_databasereplicator.cc: Whitespace tweak.
2568
2569Thu Jan 09 11:06:05 GMT 2014  Olly Betts <olly@survex.com>
2570
2571	* backends/brass/brass_cursor.h,backends/brass/brass_database.cc,
2572	  backends/chert/chert_database.cc,
2573	  backends/chert/chert_databasereplicator.cc,
2574	  backends/inmemory/inmemory_database.h,common/log2.h,
2575	  common/realtime.h,matcher/multimatch.cc,weight/pl2weight.cc,
2576	  weight/tradweight.cc: Fix compilations issues with Sun's C++
2577	  compiler (mostly missing library headers).
2578
2579Thu Jan 09 06:00:03 GMT 2014  Olly Betts <olly@survex.com>
2580
2581	* backends/dbcheck.cc: Skip absent lazily created tables in the case
2582	  where out == NULL too.
2583
2584Thu Jan 09 05:31:40 GMT 2014  Olly Betts <olly@survex.com>
2585
2586	* tests/api_wrdb.cc: Use Xapian::Database::check() in cursordelbug1.
2587	  (partly addresses #238)
2588
2589Thu Jan 09 05:30:45 GMT 2014  Olly Betts <olly@survex.com>
2590
2591	* include/xapian/database.h: Make second and third parameters to
2592	  Xapian::Database::check() optional, defaulting to a quiet check.
2593
2594Thu Jan 09 02:52:54 GMT 2014  Olly Betts <olly@survex.com>
2595
2596	* backends/brass/,backends/chert/,backends/dbcheck.cc,
2597	  bin/xapian-check.cc,include/xapian/database.h: Alter
2598	  Database::check() to take its "out" parameter as a pointer to
2599	  std::ostream instead of a reference, and make passing NULL means "do
2600	  not produce output".  Remove the form without the "out" parameter,
2601	  which used to mean "send output to stdout" - if you want this, just
2602	  pass "&std::cout" in.
2603
2604Thu Jan 09 01:50:14 GMT 2014  Olly Betts <olly@survex.com>
2605
2606	* include/xapian/database.h: OS X SDK check() macro takes one
2607	  argument, so there's no need to protect check() methods with
2608	  more than one argument.
2609	* include/xapian/valueiterator.h: Protect the one check() method in
2610	  our API which does take one argument.
2611
2612Wed Jan 08 11:48:58 GMT 2014  Olly Betts <olly@survex.com>
2613
2614	* api/smallvector.cc,api/smallvector.h: Include cstddef rather than
2615	  cstring for std::size_t, as it's a simpler header.  Don't assume
2616	  size_t will be available unqualified.  Add SmallVector::size_type
2617	  typedef.
2618
2619Mon Jan 06 11:54:53 GMT 2014  Olly Betts <olly@survex.com>
2620
2621	* net/progclient.cc: Fix xlC warning.
2622
2623Mon Jan 06 00:31:19 GMT 2014  Olly Betts <olly@survex.com>
2624
2625	* backends/brass/brass_table.cc,backends/chert/chert_table.cc:
2626	  Validate dir_end when reading a block.  (fixes #592)
2627
2628Wed Jan 01 01:20:46 GMT 2014  Olly Betts <olly@survex.com>
2629
2630	* docs/Makefile.am: Fix handling of MAINTAINER_NO_DOCS.
2631
2632Mon Dec 30 05:33:59 GMT 2013  Olly Betts <olly@survex.com>
2633
2634	* tests/api_unicode.cc: Add regression test for incorrect results
2635	  from Unicode::tolower() for 4 code points (U+01C5, U+01C8, U+01CB,
2636	  U+01F2) with Xapian 1.2.16 and earlier.
2637
2638Sun Dec 29 05:46:14 GMT 2013  Olly Betts <olly@survex.com>
2639
2640	* docs/postingsource.rst: Clarify a couple of points (reported by
2641	  "vHanda" on IRC).
2642
2643Tue Dec 24 02:00:26 GMT 2013  Olly Betts <olly@survex.com>
2644
2645	* tests/Makefile.am,tests/perftest/Makefile.mk: Actually use
2646	  @NO_INSTALL@.
2647
2648Tue Dec 24 01:59:05 GMT 2013  Olly Betts <olly@survex.com>
2649
2650	* configure.ac: Use -no-fast-install on platforms where -no-install
2651	  causes libtool to emit a warning.
2652
2653Mon Dec 23 04:17:35 GMT 2013  Olly Betts <olly@survex.com>
2654
2655	* HACKING: Drop note about needing git-svn if you're using git -
2656	  bootstrap now only uses git-svn if your Xapian tree was checked out
2657	  using git-svn.
2658
2659Mon Dec 23 04:16:58 GMT 2013  Olly Betts <olly@survex.com>
2660
2661	* HACKING: Note that Tcl is now needed to generate
2662	  unicode/unicode-data.cc.
2663
2664Mon Dec 23 04:01:05 GMT 2013  Olly Betts <olly@survex.com>
2665
2666	* tests/api_unicode.cc: Add a test that a character due to be added in
2667	  Unicode 7.0.0 is categorised as "unassigned".
2668
2669Mon Dec 23 03:50:37 GMT 2013  Olly Betts <olly@survex.com>
2670
2671	* unicode/Makefile.mk,unicode/uniParse.tcl: Adjust to not need a
2672	  symlink.  Give the generated file a new name, since the "tcl" prefix
2673	  doesn't make much sense here, and it avoids issues with
2674	  transitioning from a file in version control to one which is
2675	  generated.
2676
2677Mon Dec 23 03:32:40 GMT 2013  Olly Betts <olly@survex.com>
2678
2679	* unicode/: Add the source data file and scripts to generate
2680	  tclUniData.cc.
2681
2682Mon Dec 23 02:20:57 GMT 2013  Olly Betts <olly@survex.com>
2683
2684	* NEWS: Update from ChangeLog.
2685
2686Mon Dec 23 01:04:26 GMT 2013  Olly Betts <olly@survex.com>
2687
2688	* include/xapian/enquire.h: Note that 1.2.17 is required for the
2689	  correct sense of the reverse parameter to Enquire methods
2690	  set_sort_by_relevance_then_value() and
2691	  set_sort_by_relevance_then_key().
2692
2693Mon Dec 23 00:30:53 GMT 2013  Olly Betts <olly@survex.com>
2694
2695	* backends/brass/brass_btreebase.cc: Fix comment documenting what's in
2696	  the base file (the sequential flag was missing).
2697
2698Fri Dec 20 03:47:56 GMT 2013  Olly Betts <olly@survex.com>
2699
2700	* backends/brass/brass_termlisttable.h,include/xapian/constants.h,
2701	  tests/api_backend.cc: Add Xapian::DB_NO_TERMLIST flag to allow
2702	  creating a database without a termlist (see #181).
2703
2704Fri Dec 20 03:04:51 GMT 2013  Olly Betts <olly@survex.com>
2705
2706	* include/xapian/unicode.h,unicode/tclUniData.cc: Update Unicode
2707	  character database to 6.3.0.
2708	* tests/api_unicode.cc: Add tests for U+061C, added in 6.3.0.
2709
2710Fri Dec 20 00:20:01 GMT 2013  Olly Betts <olly@survex.com>
2711
2712	* backends/dbfactory.cc: Clear any backend flag passed in before
2713	  passing the flags when opening stub databases, fixing test failure
2714	  in replicate1 caused by recent change adding
2715	  Xapian::DB_BACKEND_STUB.
2716
2717Thu Dec 19 23:11:32 GMT 2013  Olly Betts <olly@survex.com>
2718
2719	* tests/api_backend.cc: Simplify database creation in testcase
2720	  blocksize1.
2721
2722Thu Dec 19 23:10:37 GMT 2013  Olly Betts <olly@survex.com>
2723
2724	* backends/dbfactory.cc: Tweak conditionals around $XAPIAN_PREFER_BRASS
2725	  check.
2726
2727Thu Dec 19 23:09:30 GMT 2013  Olly Betts <olly@survex.com>
2728
2729	* api/replication.cc,backends/dbfactory.cc,docs/deprecation.rst,
2730	  docs/overview.rst,include/xapian/constants.h,
2731	  include/xapian/dbfactory.h,tests/api_backend.cc,tests/api_db.cc:
2732	  Add Xapian::DB_BACKEND_STUB and deprecate Xapian::Auto::open_stub().
2733
2734Thu Dec 19 06:46:15 GMT 2013  Olly Betts <olly@survex.com>
2735
2736	* docs/deprecation.rst: Update example version to a more recent one.
2737
2738Thu Dec 19 04:01:31 GMT 2013  Olly Betts <olly@survex.com>
2739
2740	* docs/deprecation.rst,include/xapian/dbfactory.h,tests/api_db.cc,
2741	  tests/harness/: Deprecate Xapian::Brass::open() and
2742	  Xapian::Chert::open() in favour of the new Xapian::DB_BACKEND_BRASS
2743	  and Xapian::DB_BACKEND_CHERT flags.
2744
2745Thu Dec 19 01:17:02 GMT 2013  Olly Betts <olly@survex.com>
2746
2747	* api/compactor.cc,backends/brass/,backends/chert/chert_database.cc,
2748	  backends/chert/chert_database.h,backends/database.h,
2749	  backends/dbcheck.cc,backends/dbfactory.cc,include/xapian/constants.h,
2750	  include/xapian/database.h,include/xapian/dbfactory.h: Add flags
2751	  which can be bitwise OR-ed into the second argument when opening a
2752	  writable datase: DB_NO_SYNC (to disable use of fsync, etc) and
2753	  DB_DANGEROUS (to enable in-place updates).  WritableDatabase
2754	  can now be constructed from just a filename (defaulting to opening
2755	  the database with DB_CREATE_OR_OPEN).
2756
2757Thu Dec 19 00:11:26 GMT 2013  Olly Betts <olly@survex.com>
2758
2759	* tests/harness/backendmanager_multi.cc: Fix comment typo.
2760
2761Wed Dec 18 23:52:49 GMT 2013  Olly Betts <olly@survex.com>
2762
2763	* backends/brass/brass_table.cc,backends/chert/chert_table.cc,
2764	  tests/api_backend.cc: Fix handling of invalid block sizes - the
2765	  size gets fixed as documented, but the uncorrected size was passed
2766	  to the base file.  Also, abort() was called on 0.
2767
2768Wed Dec 18 22:48:18 GMT 2013  Olly Betts <olly@survex.com>
2769
2770	* api/replication.cc,backends/brass/brass_check.cc,
2771	  backends/brass/brass_database.cc,backends/chert/chert_check.cc,
2772	  backends/chert/chert_database.cc,backends/database.h,
2773	  backends/dbcheck.cc,bin/xapian-tcpsrv.cc,include/Makefile.mk,
2774	  include/xapian.h,include/xapian/database.h,net/remoteserver.cc:
2775	  Move Xapian::DB_* and Xapian:DBCHECK_* constants into
2776	  xapian/constants.h.
2777
2778Wed Dec 18 22:30:23 GMT 2013  Olly Betts <olly@survex.com>
2779
2780	* backends/brass/brass_database.cc,backends/chert/chert_database.cc:
2781	  Include xapian/*.h with "" not <> inside the library.
2782
2783Wed Dec 18 22:17:15 GMT 2013  Olly Betts <olly@survex.com>
2784
2785	* backends/brass/brass_compact.cc,backends/chert/chert_compact.cc:
2786	  Include only the needed xapian/*.h headers (rather than xapian.h) to
2787	  reduce inter-file dependencies within the library.
2788
2789Wed Dec 18 03:24:22 GMT 2013  Olly Betts <olly@survex.com>
2790
2791	* tests/runtest.in: Report if a test is being run under eatmydata,
2792	  like we do for running under valgrind.
2793
2794Wed Dec 18 02:43:47 GMT 2013  Olly Betts <olly@survex.com>
2795
2796	* backends/brass/brass_version.h,backends/chert/chert_version.h:
2797	  Comment out unused set_uuid() and set_uuid_string() methods - they
2798	  may be useful in future, but we aren't currently using them.  Also
2799	  make set_uuid() take a const pointer.
2800
2801Wed Dec 18 02:40:18 GMT 2013  Olly Betts <olly@survex.com>
2802
2803	* HACKING,configure.ac,tests/runtest.in: Automatically probe for and
2804	  hook in eatmydata to the testsuite using the wrapper script it now
2805	  includes.
2806
2807Wed Dec 18 01:21:07 GMT 2013  Olly Betts <olly@survex.com>
2808
2809	* HACKING: Update website update info.
2810
2811Sat Dec 14 06:01:33 GMT 2013  Olly Betts <olly@survex.com>
2812
2813	* weight/dlhweight.cc,weight/dphweight.cc: Whitespace tweak.
2814
2815Fri Dec 13 21:06:28 GMT 2013  Olly Betts <olly@survex.com>
2816
2817	* backends/brass/brass_cursor.cc,backends/brass/brass_cursor.h,
2818	  backends/brass/brass_table.cc: Reference count blocks in the
2819	  btree cursor, so cursors can cheaply share blocks.  This can
2820	  significantly reduce the amount of memory used for cursors
2821	  for queries which contain a lot of terms (e.g. wildcards which
2822	  expand to a lot of terms).
2823
2824Thu Dec 12 22:37:22 GMT 2013  Olly Betts <olly@survex.com>
2825
2826	* backends/brass/brass_btreebase.cc: Add assertions that we don't read
2827	  beyond the end of the freespace bitmap.
2828
2829Thu Dec 12 22:25:04 GMT 2013  Olly Betts <olly@survex.com>
2830
2831	* matcher/msetcmp.cc: Fix sense of reverse parameter to
2832	  Enquire::set_sort_by_relevance_then_value.  Reported by "boomboo" on
2833	  IRC.
2834	* tests/api_db.cc: Fix testcase sortrel1.
2835
2836Thu Dec 12 19:47:46 GMT 2013  Olly Betts <olly@survex.com>
2837
2838	* backends/brass/: Make Brass::Cursor members n and p private.
2839
2840Thu Dec 12 19:46:23 GMT 2013  Olly Betts <olly@survex.com>
2841
2842	* backends/brass/brass_check.cc,backends/brass/brass_table.cc: Add
2843	  const to a few pointers we only read through.
2844
2845Thu Dec 12 09:04:13 GMT 2013  Olly Betts <olly@survex.com>
2846
2847	* configure.ac: Improve reporting of GCC version.
2848
2849Thu Dec 12 09:01:26 GMT 2013  Olly Betts <olly@survex.com>
2850
2851	* tests/api_query.cc,unicode/description_append.cc: Escape \x7f in
2852	  object descriptions.
2853
2854Wed Dec 11 23:40:37 GMT 2013  Olly Betts <olly@survex.com>
2855
2856	* api/leafpostlist.cc,api/leafpostlist.h,backends/brass/,
2857	  matcher/localsubmatch.cc,matcher/localsubmatch.h,
2858	  matcher/queryoptimiser.h: Under brass, optimise the turning of a
2859	  query into a postlist to copy the cursor blocks for the previous
2860	  term's postlist.  This is particularly effective for wildcard
2861	  queries which expand to a lot of terms.
2862
2863Wed Dec 11 22:05:34 GMT 2013  Olly Betts <olly@survex.com>
2864
2865	* backends/brass/brass_postlist.h: We don't have a
2866	  BrassModifiedPostList class, so we don't need protected members in
2867	  BrassPostList for it to use.
2868
2869Wed Dec 11 04:46:58 GMT 2013  Olly Betts <olly@survex.com>
2870
2871	* weight/bm25weight.cc: Fix case where (k1 == 0 || b == 0) but k2 != 0.
2872	  Reported by "boomboo" on IRC.
2873	* tests/api_weight.cc: Add regression test bm25weight5.
2874
2875Wed Dec 04 05:44:29 GMT 2013  Olly Betts <olly@survex.com>
2876
2877	* NEWS: Update from 1.2.16 and ChangeLog.
2878
2879Mon Dec 02 02:34:43 GMT 2013  Olly Betts <olly@survex.com>
2880
2881	* configure.ac: Clarify version of MSVCRT which we require for mingw.
2882
2883Fri Nov 29 04:21:46 GMT 2013  Olly Betts <olly@survex.com>
2884
2885	* configure.ac: Fix typo in previous commit.
2886
2887Fri Nov 29 03:48:24 GMT 2013  Olly Betts <olly@survex.com>
2888
2889	* configure.ac: Report GCC version.
2890
2891Wed Nov 27 04:06:32 GMT 2013  Olly Betts <olly@survex.com>
2892
2893	* Backport change from brass:
2894	* backends/chert/chert_table.cc: Check if the block we want is in the
2895	  internal cursor for a read-only table too - it isn't needed for
2896	  correctness in this case, but it is more efficient not to reload a
2897	  block which we already have.
2898
2899Sun Nov 24 23:05:37 GMT 2013  Olly Betts <olly@survex.com>
2900
2901	* NEWS: Update from ChangeLog.
2902
2903Fri Nov 22 20:18:43 GMT 2013  Olly Betts <olly@survex.com>
2904
2905	* backends/brass/brass_databasereplicator.cc,
2906	  backends/brass/brass_databasereplicator.h: compression_stream.h
2907	  isn't used in brass_databasereplicator.h, so move include to
2908	  brass_databasereplicator.cc.
2909
2910Fri Nov 22 01:22:32 GMT 2013  Olly Betts <olly@survex.com>
2911
2912	* queryparser/queryparser.lemony: Minor tweak to structuring of tests
2913	  in check_infix().
2914
2915Sat Nov 09 08:51:27 GMT 2013  Olly Betts <olly@survex.com>
2916
2917	* backends/brass/brass_table.cc: Check if the block we want is in the
2918	  internal cursor for a read-only table too - it isn't needed for
2919	  correctness in this case, but it is more efficient not to reload a
2920	  block which we already have.
2921
2922Sat Nov 09 08:48:02 GMT 2013  Olly Betts <olly@survex.com>
2923
2924	* backends/brass/: Use a separate cursor for each position list - now
2925	  we're ordering the position B-tree by term first, phrase matching was
2926	  causing the cursor to cycle between disparate areas of the B-tree,
2927	  and it would have to reread the same blocks over and over.
2928
2929Fri Nov 08 09:57:52 GMT 2013  Olly Betts <olly@survex.com>
2930
2931	* backends/brass/brass_table.cc,backends/chert/chert_table.cc: Add
2932	  check for the database being closed in read_block(), which fixes
2933	  pythontest.py testcase valuemods.
2934
2935Fri Nov 08 08:58:48 GMT 2013  Olly Betts <olly@survex.com>
2936
2937	* api/maptermlist.h,api/termlist.cc,api/termlist.h,backends/brass/:
2938	  Avoid two vector copies when storing term positions in most common
2939	  cases.
2940
2941Fri Nov 08 08:57:07 GMT 2013  Olly Betts <olly@survex.com>
2942
2943	* configure.ac: Bump LIBRARY_VERSION_INFO.
2944
2945Thu Nov 07 16:14:23 GMT 2013  Olly Betts <olly@survex.com>
2946
2947	* backends/brass/brass_database.cc,
2948	  backends/brass/brass_positionlist.cc,
2949	  backends/brass/brass_positionlist.h: There's no need to pass around
2950	  an end PositionIterator, and it's actually slightly more efficient
2951	  not to.
2952
2953Thu Nov 07 16:11:27 GMT 2013  Olly Betts <olly@survex.com>
2954
2955	* backends/brass/: Batch up positionlist changes in memory and write
2956	  them out in key order.
2957
2958Thu Nov 07 15:30:48 GMT 2013  Olly Betts <olly@survex.com>
2959
2960	* backends/brass/brass_positionlist.h,backends/brass/brass_version.cc:
2961	  Change positionlist keys to be ordered by term first rather than
2962	  docid first, which helps phrase searching significantly.
2963
2964Wed Nov 06 17:12:29 GMT 2013  Olly Betts <olly@survex.com>
2965
2966	* backends/brass/brass_values.cc,backends/brass/brass_values.h,
2967	  backends/chert/chert_values.cc,backends/chert/chert_values.h: Reuse
2968	  a cursor for reading values from valuestreams rather than creating
2969	  a new one each time.  This can dramatically reduce the number of
2970	  blocks redundantly reread when sorting by value.  The rereads will
2971	  generally get served from VM cache, but there's still an overhead
2972	  to that.
2973
2974Tue Nov 05 16:28:08 GMT 2013  Olly Betts <olly@survex.com>
2975
2976	* api/query.cc,api/queryinternal.cc,api/queryinternal.h,
2977	  include/xapian/query.h,tests/api_query.cc: Having a separate 'type'
2978	  enum seems to just make for clumsier code, so merged the LEAF_*
2979	  values into the 'op' enum, add LEAF_MATCH_ALL and LEAF_MATCH_NOTHING
2980	  and return when appropriate, and add test coverage.
2981
2982Tue Nov 05 15:20:15 GMT 2013  Olly Betts <olly@survex.com>
2983
2984	* api/query.cc,api/queryinternal.cc,api/queryinternal.h,
2985	  include/xapian/query.h: Add methods to allow introspection on
2986	  Query objects - currently you can read the type/operator, how many
2987	  subqueries there are, and get a particular subquery.  For a
2988	  query which is a term, Query::get_terms_begin() allows you to
2989	  get read the term.  (see #159)
2990
2991Mon Nov 04 19:06:38 GMT 2013  Olly Betts <olly@survex.com>
2992
2993	* examples/quest.cc: Add --check-at-least option to quest.
2994
2995Thu Oct 24 04:38:52 GMT 2013  Olly Betts <olly@survex.com>
2996
2997	* configure.ac,tests/soaktest/soaktest.cc: If srandom() and random()
2998	  aren't available, use srand() and rand() instead.
2999
3000Thu Oct 24 02:34:06 GMT 2013  Olly Betts <olly@survex.com>
3001
3002	* common/safewindows.h: Define WINVER to 0x0500 if not otherwise set,
3003	  so we get new interfaces like MEMORYSTATUSEX under mingw.
3004
3005Thu Oct 24 02:11:36 GMT 2013  Olly Betts <olly@survex.com>
3006
3007	* tests/harness/backendmanager_remotetcp.cc: Need cstdlib for free
3008	  under mingw.
3009
3010Thu Oct 24 02:11:05 GMT 2013  Olly Betts <olly@survex.com>
3011
3012	* configure.ac,tests/api_replicate.cc,tests/queryparsertest.cc,
3013	  tests/termgentest.cc: Probe for _putenv_s() in configure as mingw
3014	  doesn't provide it.
3015
3016Thu Oct 24 01:23:14 GMT 2013  Olly Betts <olly@survex.com>
3017
3018	* configure.ac: Don't unset CC as it's used by libtool under mingw.
3019
3020Thu Oct 24 01:17:07 GMT 2013  Olly Betts <olly@survex.com>
3021
3022	* net/tcpserver.cc: Fix mingw build error.
3023
3024Thu Oct 24 01:00:18 GMT 2013  Olly Betts <olly@survex.com>
3025
3026	* common/omassert.h: Suppress "unused local typedef" warnings from
3027	  GCC 4.8.
3028
3029Wed Oct 23 20:00:05 GMT 2013  Olly Betts <olly@survex.com>
3030
3031	* common/realtime.h: Rework RealTime::to_timeval() under __WIN32__ to
3032	  avoid having to pull in safewinsock2.h,
3033
3034Wed Oct 23 12:39:53 GMT 2013  Olly Betts <olly@survex.com>
3035
3036	* common/realtime.h: Under __WIN32__, we need safewinsock2.h for
3037	  struct timeval.
3038
3039Wed Oct 23 10:21:02 GMT 2013  Olly Betts <olly@survex.com>
3040
3041	* common/omassert.h: If the compiler supports C++11, use
3042	  static_assert to implement CompileTimeAssert.
3043
3044Wed Oct 23 10:02:50 GMT 2013  Olly Betts <olly@survex.com>
3045
3046	* common/realtime.h,net/tcpclient.cc: Fix mingw build errors.
3047
3048Wed Oct 23 09:50:00 GMT 2013  Olly Betts <olly@survex.com>
3049
3050	* common/win32_uuid.cc: Fix mingw compiler warning.
3051
3052Wed Oct 23 04:19:05 GMT 2013  jiangwen jiang <jiangwen127@gmail.com>
3053
3054	* api/omdocument.cc,api/query.cc: Add more LOGCALL annotations.
3055
3056Tue Oct 22 03:09:48 GMT 2013  Olly Betts <olly@survex.com>
3057
3058	* HACKING: Note we now use doxygen 1.8.5 for 1.3.x snapshots and
3059	  releases.
3060
3061Mon Oct 21 01:55:48 GMT 2013  Olly Betts <olly@survex.com>
3062
3063	* queryparser/lemon.c: Sync change from upstream: "Fix a harmless
3064	  compiler warning in lemon.c."  Generated code is identical, at least
3065	  on x86-64 Debian wheezy.
3066
3067Mon Oct 21 01:52:12 GMT 2013  Olly Betts <olly@survex.com>
3068
3069	* queryparser/lemon.c: Sync change from upstream: "In the lemon parser
3070	  generator, change all hashes to unsigned to avoid potential problems
3071	  with signed integer overflow."  Generated code is identical, at
3072	  least on x86-64 Debian wheezy.
3073
3074Sat Oct 19 06:38:48 GMT 2013  Olly Betts <olly@survex.com>
3075
3076	* backends/flint_lock.cc: Under cygwin, use cygwin_conv_path() if
3077	  using a new enough cygwin version, rather than the now deprecated
3078	  cygwin_conv_to_win32_path().  Reported by "Haroogan" on the
3079	  xapian-devel mailing list.
3080
3081Sat Oct 19 00:36:06 GMT 2013  Olly Betts <olly@survex.com>
3082
3083	* configure.ac: Simplify test for uuid_unparse_lower().  (see #626)
3084
3085Sat Oct 19 00:21:37 GMT 2013  Olly Betts <olly@survex.com>
3086
3087	* Makefile.am,configure.ac: Split XAPIAN_LIBS out of XAPIAN_LDFLAGS.
3088	  (fixes#626)
3089
3090Fri Oct 18 11:51:40 GMT 2013  Olly Betts <olly@survex.com>
3091
3092	* geospatial/geoencode.cc: Use lround() instead of round(), since we
3093	  want the result as an int.  GCC 4.4.3 seems to optimise to use
3094	  lround() anyway, but other compilers may not.
3095
3096Fri Oct 18 11:44:10 GMT 2013  Olly Betts <olly@survex.com>
3097
3098	* geospatial/geoencode.cc: Include <math.h> for round() (fixes #628).
3099
3100Tue Oct 15 03:16:04 GMT 2013  Olly Betts <olly@survex.com>
3101
3102	* include/xapian/enquire.h,include/xapian/unicode.h: Mark internal
3103	  methods which are public for implementation convenience as
3104	  "@private" for doxygen where they weren't already.
3105
3106Mon Oct 14 09:45:13 GMT 2013  Olly Betts <olly@survex.com>
3107
3108	* include/xapian.h: Mark vinfo struct and get_vinfo_() function as
3109	  @private for doxygen.
3110
3111Thu Oct 10 10:36:45 GMT 2013  Olly Betts <olly@survex.com>
3112
3113	* include/xapian/: Methods and functions which take a string to
3114	  unserialise now consistently call that parameter "serialised".
3115
3116Mon Oct 07 04:08:14 GMT 2013  Olly Betts <olly@survex.com>
3117
3118	* tests/zlib-vg.c: Fix two warnings when compiled with clang.
3119
3120Fri Oct 04 19:46:16 GMT 2013  Olly Betts <olly@survex.com>
3121
3122	* backends/brass/brass_check.cc,backends/chert/chert_check.cc: Correct
3123	  failure message which talks above the root block when it's actually
3124	  testing a leaf key.
3125
3126Fri Oct 04 04:51:39 GMT 2013  Olly Betts <olly@survex.com>
3127
3128	* backends/brass/brass_check.cc,backends/chert/chert_check.cc: Escape
3129	  invalid UTF-8 data in keys and tags reported by xapian-check, using
3130	  the same code we use to clean up string in object descriptions.
3131
3132Fri Oct 04 04:50:52 GMT 2013  Olly Betts <olly@survex.com>
3133
3134	* backends/brass/brass_check.cc,backends/chert/chert_check.cc: Fix
3135	  xapian-check to report block numbers correctly for links within the
3136	  B-tree.
3137
3138Thu Oct 03 07:35:44 GMT 2013  Olly Betts <olly@survex.com>
3139
3140	* backends/brass/brass_dbcheck.cc,backends/chert/chert_dbcheck.cc: If
3141	  the METAINFO key is missing, only report it once per table.
3142
3143Sat Sep 28 09:27:51 GMT 2013  Olly Betts <olly@survex.com>
3144
3145	* include/xapian.h: Hide struct vinfo and get_vinfo_() from SWIG and
3146	  doxygen.
3147
3148Sat Sep 28 06:25:44 GMT 2013  Olly Betts <olly@survex.com>
3149
3150	* api/version.cc,include/xapian.h: Reimplement version functions to
3151	  use a single function in libxapian which returns a pointer to a
3152	  static const struct containing the version information, with inline
3153	  wrappers in the API header which call this.  This means we only need
3154	  one relocation instead of 4.
3155	* tests/api_none.cc: New testcase version1 to provide coverage for the
3156	  version API functions.
3157
3158Fri Sep 27 22:53:15 GMT 2013  Olly Betts <olly@survex.com>
3159
3160	* api/omenquire.cc,include/xapian/enquire.h,tests/api_anydb.cc: Fix
3161	  backwards compatibility get_eset() wrapper to allow for the optional
3162	  parameters which were supported before.  Also, just inline it from
3163	  the API header.
3164
3165Fri Sep 27 11:19:50 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3166
3167	* api/omenquire.cc,api/omenquireinternal.h,expand/,
3168	  include/xapian/enquire.h,tests/api_anydb.cc: Add support for the Bo1
3169	  query expansion scheme.
3170
3171Thu Sep 26 04:11:49 GMT 2013  Olly Betts <olly@survex.com>
3172
3173	* tests/api_weight.cc: Don't pass integer arguments to log() to avoid
3174	  ambiguity errors with some compilers.  (fixes #627)
3175
3176Thu Sep 26 02:02:24 GMT 2013  Olly Betts <olly@survex.com>
3177
3178	* backends/brass/,backends/chert/,backends/dbcheck.cc: Fix database
3179	  consistency checking to always open all the tables at the same
3180	  revision, which could lead to false errors being reported after
3181	  a commit interrupted by the process being killed or the machine
3182	  crashing.  Reported by Joey Hess in https://bugs.debian.org/724610
3183
3184Wed Sep 25 02:21:29 GMT 2013  Olly Betts <olly@survex.com>
3185
3186	* tests/queryparsertest.cc: Add testcase for FieldProcessor on boolean
3187	  prefix with quoted contents.
3188
3189Wed Sep 25 02:16:55 GMT 2013  Olly Betts <olly@survex.com>
3190
3191	* queryparser/queryparser.lemony: Fix comment typo.
3192
3193Wed Sep 25 02:13:20 GMT 2013  Olly Betts <olly@survex.com>
3194
3195	* api/: Split QueryVector into a template SmallVector class and then
3196	  'typedef SmallVector<Query> QueryVector;', as it would be good to
3197	  use the same approach for Database internals.
3198
3199Tue Sep 24 09:59:05 GMT 2013  Olly Betts <olly@survex.com>
3200
3201	* .gitignore,xapian-core.spec.in: Update two references to .tar.gz
3202	  files.
3203
3204Tue Sep 24 09:54:42 GMT 2013  Olly Betts <olly@survex.com>
3205
3206	* docs/install.rst: Fix typo (bogus extra 'and');
3207
3208Tue Sep 24 09:54:01 GMT 2013  Olly Betts <olly@survex.com>
3209
3210	* configure.ac,docs/install.rst: Compress source tarballs with xz
3211	  instead of gzip.
3212
3213Mon Sep 23 12:58:23 GMT 2013  Olly Betts <olly@survex.com>
3214
3215	* common/realtime.h,configure.ac,matcher/multimatch.cc: Implement
3216	  RealTime::sleep() using nanosleep() where it's available, since
3217	  it has a simpler API and a finer granularity than select().
3218
3219Mon Sep 23 12:27:37 GMT 2013  Olly Betts <olly@survex.com>
3220
3221	* common/realtime.h,net/remoteconnection.cc,net/tcpclient.cc: Add
3222	  RealTime::to_timeval() helper function to break a time interval
3223	  as a double into a struct timeval.  This uses modf() which gives
3224	  more compact and faster code than using fmod() as we previously
3225	  did.
3226
3227Mon Sep 23 08:20:03 GMT 2013  Olly Betts <olly@survex.com>
3228
3229	* common/realtime.h,configure.ac: Use clock_gettime() to implement
3230	  RealTime::now() where it's available.
3231
3232Mon Sep 16 11:53:28 GMT 2013  Olly Betts <olly@survex.com>
3233
3234	* api/,backends/brass/brass_postlist.cc,
3235	  backends/remote/net_postlist.cc,backends/slowvaluelist.cc,
3236	  expand/esetinternal.cc,include/xapian/unicode.h,
3237	  matcher/valuegepostlist.cc,matcher/valuerangepostlist.cc,
3238	  tests/api_query.cc,tests/queryparsertest.cc,unicode/: Fix all
3239	  get_description() methods to always return UTF-8 text.  (fixes #620)
3240
3241Mon Sep 16 11:47:16 GMT 2013  Olly Betts <olly@survex.com>
3242
3243	* include/xapian/unicode.h: Document how Utf8Iterator handles invalid
3244	  UTF-8.
3245
3246Mon Sep 16 11:19:48 GMT 2013  Olly Betts <olly@survex.com>
3247
3248	* tests/queryparsertest.cc: Add test coverage for explicit synonym of
3249	  a term with a prefix (e.g. ~foo:search).
3250
3251Fri Sep 06 07:11:29 GMT 2013  Olly Betts <olly@survex.com>
3252
3253	* api/valueiterator.cc,tests/api_backend.cc: Don't segfault is
3254	  skip_to() or check() are called on a ValueIterator which is already
3255	  at_end().
3256
3257Fri Sep 06 06:52:49 GMT 2013  Olly Betts <olly@survex.com>
3258
3259	* api/positioniterator.cc,api/postingiterator.cc,api/termiterator.cc,
3260	  tests/api_backend.cc: Don't segfault if skip_to() is called on an
3261	  iterator which is already at_end().  Reported by David Bremner.
3262
3263Wed Sep 04 04:52:50 GMT 2013  Olly Betts <olly@survex.com>
3264
3265	* weight/weightinternal.cc: TermFreqs now tracks collection frequency,
3266	  so make TermFreqs::get_description() report it.
3267
3268Thu Aug 29 01:30:45 GMT 2013  Olly Betts <olly@survex.com>
3269
3270	* matcher/andmaybepostlist.cc,matcher/multiandpostlist.h: Fix
3271	  assertion failure for when an OrPostList decays to an AndPostList
3272	  - the ordering of the subqueries by estimated termfreq may not be
3273	  the same as it was when the OrPostList was constructed, as the
3274	  subqueries may themselves have decayed.  Reported by Michel
3275	  Pelletier.
3276
3277Fri Aug 23 03:17:33 GMT 2013  Olly Betts <olly@survex.com>
3278
3279	* m4-macros/xapian-1.3.m4: Handle empty or unset XAPIAN_CONFIG
3280	  correctly.
3281
3282Mon Jul 15 12:01:17 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3283
3284	* api/registry.cc,include/xapian/weight.h,tests/api_nodb.cc,
3285	  tests/api_weight.cc,weight/Makefile.mk,weight/dphweight.cc: Add an
3286	  implementation of DfR weighting scheme DPH.
3287
3288Sun Jul 14 07:39:37 GMT 2013  Olly Betts <olly@survex.com>
3289
3290	* include/xapian/weight.h,weight/pl2weight.cc: Optimise PL2Weight to
3291	  only calculate 2 logs per call to get_sumpart() instead of 4 by
3292	  precalculating three document-independent values in init().
3293
3294Sun Jul 14 07:04:52 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3295
3296	* api/registry.cc,include/xapian/weight.h,tests/api_nodb.cc,
3297	  tests/api_weight.cc,weight/Makefile.mk,weight/pl2weight.cc: Add an
3298	  implementation of DfR weighting scheme PL2.
3299
3300Sat Jul 13 11:24:20 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3301
3302	* weight/tfidfweight.cc: Explicitly cast argument of log() to double,
3303	  as xlC doesn't manage to chose an overloaded form to call otherwise.
3304
3305Sat Jul 13 07:29:25 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3306
3307	* include/xapian/weight.h,tests/api_weight.cc,
3308	  tests/generate-api_generated,weight/: Fix new weighting schemes to
3309	  work with OP_SCALE_WEIGHT.
3310
3311Wed Jul 10 12:57:01 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3312
3313	* api/registry.cc,include/xapian/weight.h,tests/api_nodb.cc,
3314	  tests/api_weight.cc,weight/Makefile.mk,weight/dlhweight.cc: Add an
3315	  implementation of DfR weighting scheme DLH.
3316
3317Wed Jul 10 07:38:15 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3318
3319	* expand/expandweight.h: Track collection_freq and totlen restricted
3320	  to the RSet in preparation for supporting DfR query expansion
3321	  schemes.
3322
3323Mon Jul 08 06:27:05 GMT 2013  Olly Betts <olly@survex.com>
3324
3325	* weight/Makefile.mk: Normalise whitespace in BB2 change.
3326
3327Sun Jul 07 12:29:48 GMT 2013  Olly Betts <olly@survex.com>
3328
3329	* weight/bb2weight.cc: New file for BB2Weight which I failed to
3330	  commit.
3331
3332Sun Jul 07 11:51:45 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3333
3334	* api/registry.cc,include/xapian/weight.h,tests/api_nodb.cc,
3335	  tests/api_weight.cc,weight/Makefile.mk: Add implementation of DfR
3336	  weighting scheme BB2.
3337
3338Sat Jul 06 02:07:13 GMT 2013  Olly Betts <olly@survex.com>
3339
3340	* api/omdatabase.cc: Fix add_document() to always use exactly the next
3341	  docid after get_lastdocid() in the multidatabase case.
3342
3343Fri Jul 05 06:19:55 GMT 2013  Olly Betts <olly@survex.com>
3344
3345	* backends/dbfactory.cc: Allow open a stub database containing
3346	  multiple subdatabases as a WritableDatabase.
3347
3348Thu Jul 04 06:29:56 GMT 2013  Olly Betts <olly@survex.com>
3349
3350	* tests/harness/backendmanager.cc,tests/harness/index_utils.cc,
3351	  tests/harness/index_utils.h: Simplify the FileIndexer class.
3352
3353Thu Jul 04 06:09:06 GMT 2013  Olly Betts <olly@survex.com>
3354
3355	* tests/harness/backendmanager_multi.cc,tests/harness/index_utils.cc,
3356	  tests/harness/index_utils.h: Make use of the new writable
3357	  multidatabase feature to simplify the multi-database handling in the
3358	  test harness.
3359
3360Wed Jul 03 13:58:46 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3361
3362	* api/registry.cc,include/xapian/weight.h,tests/api_nodb.cc,
3363	  tests/api_weight.cc,weight/Makefile.mk,weight/ineb2weight.cc: Add
3364	  implementation of DfR weighting scheme IneB2.
3365
3366Wed Jul 03 13:39:11 GMT 2013  Olly Betts <olly@survex.com>
3367
3368	* include/xapian/weight.h: "please refer:" -> "please refer to:"
3369
3370Wed Jul 03 13:31:59 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3371
3372	* api/registry.cc,include/xapian/weight.h,tests/api_nodb.cc,
3373	  tests/api_weight.cc,weight/Makefile.mk,weight/ifb2weight.cc: Add
3374	  implementation of DfR weighting scheme IfB2.
3375
3376Wed Jul 03 12:42:23 GMT 2013  Olly Betts <olly@survex.com>
3377
3378	* common/safeuuid.h: Make a few tweaks to support AIX.
3379
3380Wed Jul 03 12:33:40 GMT 2013  Olly Betts <olly@survex.com>
3381
3382	* common/safeuuid.h: Remove bogus take-address-of from uuid handling
3383	  code for netbsd and openbsd.
3384
3385Wed Jul 03 11:56:05 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3386
3387	* api/registry.cc,include/xapian/weight.h,tests/api_nodb.cc,
3388	  tests/api_weight.cc,weight/Makefile.mk,weight/inl2weight.cc: Add
3389	  implementation of DfR weighting scheme InL2.
3390
3391Wed Jul 03 08:20:26 GMT 2013  Olly Betts <olly@survex.com>
3392
3393	* api/error.cc,common/Makefile.mk,common/safenetdb.h,net/tcpclient.cc,
3394	  net/tcpserver.cc: AIX needs _USE_IRS defined for hstrerror, so
3395	  create safenetdb.h to take care of that.
3396
3397Wed Jul 03 07:34:13 GMT 2013  Olly Betts <olly@survex.com>
3398
3399	* common/safeuuid.h: Add missing '#include <cstdlib>' and qualify free
3400	  with std.
3401
3402Tue Jul 02 23:44:48 GMT 2013  Olly Betts <olly@survex.com>
3403
3404	* api/omdatabase.cc: Add support for WritableDatabase with multiple
3405	  subdatabases.
3406
3407Tue Jul 02 23:40:08 GMT 2013  Olly Betts <olly@survex.com>
3408
3409	* api/omdatabase.cc,tests/api_none.cc: Trying to perform operations on
3410	  a database with no subdatabases now throws InvalidOperationError not
3411	  DocNotFoundError.
3412
3413Tue Jul 02 13:22:31 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3414
3415	* tests/api_weight.cc: Extend checkstatsweight1 to check that
3416	  Weight::get_collection_freq() returns the same number as
3417	  Database::get_collection_freq().
3418
3419Tue Jul 02 05:00:30 GMT 2013  Olly Betts <olly@survex.com>
3420
3421	* api/omenquire.cc,api/omenquireinternal.h,
3422	  backends/remote/remote-database.cc,backends/remote/remote-database.h,
3423	  common/remoteprotocol.h,configure.ac,docs/remote_protocol.rst,
3424	  include/xapian/enquire.h,matcher/multimatch.cc,matcher/multimatch.h,
3425	  net/remoteserver.cc,tests/api_postingsource.cc: Add
3426	  Enquire::set_time_limit() method which sets a timelimit after which
3427	  check_at_least will be disabled.
3428
3429Mon Jul 01 23:42:33 GMT 2013  Olly Betts <olly@survex.com>
3430
3431	* tests/Makefile.am: Fix to actually removed cached databases before
3432	  "make check".
3433
3434Mon Jul 01 22:21:41 GMT 2013  Olly Betts <olly@survex.com>
3435
3436	* NEWS,api/queryinternal.cc,matcher/valuestreamdocument.h: Revert
3437	  changes accidentally included in r17373.
3438
3439Sat Jun 29 12:39:10 GMT 2013  Olly Betts <olly@survex.com>
3440
3441	* include/xapian/unicode.h,unicode/tclUniData.cc: Change
3442	  Xapian::Unicode::Internal::get_character_info() to simply return
3443	  Xapian::Unicode::UNASSIGNED for character outside unicode (ch >=
3444	  0x110000) which avoids a special check for such values before
3445	  we call get_character_info().
3446
3447Sat Jun 29 09:31:12 GMT 2013  Olly Betts <olly@survex.com>
3448
3449	* tests/api_serialise.cc: Remove code from registry* testcases which
3450	  tries to test the consequences of throwing an exception from a
3451	  destructor - it's complex to ensure we don't leak memory while doing
3452	  this (it seems GCC doesn't release the object in this case, but
3453	  clang does), and it's generally frowned upon, plus C++11 makes
3454	  destructors noexcept by default.
3455
3456Thu Jun 27 02:36:02 GMT 2013  Olly Betts <olly@survex.com>
3457
3458	* weight/weightinternal.h: Initialise total_term_count to zero.
3459	  Fixes failure of qp_flag_wildcard3 under valgrind in buildbot.
3460
3461Wed Jun 26 05:48:21 GMT 2013  Olly Betts <olly@survex.com>
3462
3463	* backends/dbfactory.cc: '# if defined' -> '#ifdef' to match
3464	  surrounding code better.
3465
3466Wed Jun 26 05:47:38 GMT 2013  Olly Betts <olly@survex.com>
3467
3468	* backends/dbfactory.cc: Fix 'unused label' warning when chert backend
3469	  is disabled.
3470
3471Wed Jun 26 05:40:29 GMT 2013  Olly Betts <olly@survex.com>
3472
3473	* tests/queryparsertest.cc: Fix previous change to compile.
3474
3475Wed Jun 26 05:34:25 GMT 2013  Olly Betts <olly@survex.com>
3476
3477	* tests/queryparsertest.cc: Change qp_scale1 to time 5 repetitions of
3478	  the large query to help average out variations.
3479
3480Wed Jun 26 04:52:33 GMT 2013  Olly Betts <olly@survex.com>
3481
3482	* configure.ac: Tweak to simplify diff against similar code in
3483	  xapian-omega.
3484
3485Wed Jun 26 03:56:14 GMT 2013  Olly Betts <olly@survex.com>
3486
3487	* api/matchspy.cc: Fix get_description() to work on a
3488	  ValueCountMatchSpy with NULL internals - fixes matchspy5 testcase
3489	  with remote backends when configured with --enable-log.
3490	* api/matchspy.cc: Add assertions that internal is non-NULL before
3491	  using it.
3492	* include/xapian/matchspy.h: If internal is NULL, make
3493	  ValueCountMatchSpy::get_total() return 0 rather than dereferencing
3494	  NULL.
3495
3496Wed Jun 26 03:10:58 GMT 2013  Olly Betts <olly@survex.com>
3497
3498	* tests/harness/testsuite.cc,tests/harness/testsuite.h: If
3499	  -v/--verbose is specified more than once, show the diagnostic output
3500	  for passing tests as well as failing/skipped ones.
3501
3502Wed Jun 26 03:08:08 GMT 2013  Olly Betts <olly@survex.com>
3503
3504	* tests/api_scalability.cc: Change querypairwise1_helper to repeat the
3505	  query build 100 times, as with a fast modern machine we were
3506	  sometimes trying to so many subqueries that we would run out of
3507	  stack.
3508
3509Wed Jun 26 02:55:20 GMT 2013  Olly Betts <olly@survex.com>
3510
3511	* weight/tfidfweight.cc: Wrap long lines.
3512
3513Wed Jun 26 02:00:12 GMT 2013  Olly Betts <olly@survex.com>
3514
3515	* configure.ac,m4-macros/xapian-1.3.m4: Fix stripping of _git suffix
3516	  from snapshot versions not to relying of sed having support for \|
3517	  as it doesn't on OS X.
3518
3519Tue Jun 25 13:21:44 GMT 2013  Olly Betts <olly@survex.com>
3520
3521	* weight/tfidfweight.cc: Merge "impossible" cases in switch statements
3522	  into possible ones which contain the same code, adding assertions
3523	  that the "impossible" hasn't happened.  More robust and improves
3524	  test coverage.
3525
3526Tue Jun 25 06:28:00 GMT 2013  Olly Betts <olly@survex.com>
3527
3528	* m4-macros/xapian-1.3.m4: XO_LIB_XAPIAN now handles the user
3529	  specifying a relative path in XAPIAN_CONFIG, e.g.: "./configure
3530	  XAPIAN_CONFIG=../xapian-core/xapian-config"
3531
3532Tue Jun 25 05:34:41 GMT 2013  Olly Betts <olly@survex.com>
3533
3534	* m4-macros/xapian-1.3.m4: Fix comment typo.
3535
3536Tue Jun 25 05:33:54 GMT 2013  Olly Betts <olly@survex.com>
3537
3538	* configure.ac: Use AC_PATH_PROG instead of AC_PATH_PROG when there's
3539	  only one name for the program to look for.
3540
3541Sun Jun 23 13:12:54 GMT 2013  Olly Betts <olly@survex.com>
3542
3543	* configure.ac: clang doesn't support -Wstrict-null-sentinel or
3544	  -Wlogical-op, so don't pass it these options.
3545
3546Sat Jun 22 13:40:40 GMT 2013  Olly Betts <olly@survex.com>
3547
3548	* backends/brass/brass_compact.cc,backends/chert/chert_compact.cc:
3549	  Fix failure when built with -D_GLIBCXX_DEBUG - we were modifying
3550	  the top() element of a heap before calling pop(), such that the
3551	  heap comparison operation (which is called when -D_GLIBCXX_DEBUG
3552	  is on to verify the heap is valid) would read off the end of the
3553	  data.  In a normal build, this issue would likely never manifest.
3554
3555Sat Jun 22 11:21:22 GMT 2013  Olly Betts <olly@survex.com>
3556
3557	* common/bitstream.cc: Fix assertion in BitReader::decode().
3558
3559Sat Jun 22 09:13:13 GMT 2013  Olly Betts <olly@survex.com>
3560
3561	* matcher/localsubmatch.cc: Fix assertion failure when built with
3562	  --enable-assertions.  The behaviour when built without assertions
3563	  happened to be correct.
3564
3565Fri Jun 21 13:10:53 GMT 2013  Olly Betts <olly@survex.com>
3566
3567	* tests/unittest.cc: Add simple test for log2().
3568
3569Fri Jun 21 13:09:09 GMT 2013  Olly Betts <olly@survex.com>
3570
3571	* common/Makefile.mk,common/log2.h,configure.ac: Add log2.h header
3572	  which provides an implementation of log2() if it isn't available in
3573	  the standard libraries.
3574
3575Fri Jun 14 13:20:58 GMT 2013  Olly Betts <olly@survex.com>
3576
3577	* common/fd.h: Add missing header include guards.
3578
3579Fri Jun 14 13:19:44 GMT 2013  Olly Betts <olly@survex.com>
3580
3581	* common/append_filename_arg.h,geospatial/geoencode.h: Fix header
3582	  include guard names which don't match our naming conventions.
3583
3584Fri Jun 14 13:18:40 GMT 2013  Olly Betts <olly@survex.com>
3585
3586	* backends/brass/brass_dbcheck.h,backends/chert/chert_dbcheck.h,
3587	  backends/multi/multi_alltermslist.h: Fix header include guard macro
3588	  names which don't match the source file names.
3589
3590Fri Jun 14 12:48:14 GMT 2013  Olly Betts <olly@survex.com>
3591
3592	* common/compression_stream.h: Whitespace tweak.
3593
3594Thu Jun 13 13:58:14 GMT 2013  Olly Betts <olly@survex.com>
3595
3596	* backends/chert/chert_positionlist.cc: Remove 'Assert(rd);' since rd
3597	  is no longer a pointer.
3598
3599Thu Jun 13 13:28:43 GMT 2013  Olly Betts <olly@survex.com>
3600
3601	* tests/harness/utestsuite.cc: Add missing GPL boilerplate and
3602	  copyright statements.
3603
3604Thu Jun 13 13:26:07 GMT 2013  Olly Betts <olly@survex.com>
3605
3606	* common/compression_stream.cc,common/compression_stream.h: Add
3607	  missing GPL boilerplate and copyright statements.
3608
3609Thu Jun 13 13:24:34 GMT 2013  Olly Betts <olly@survex.com>
3610
3611	* common/compression_stream.cc,common/compression_stream.h: Remove
3612	  unused header includes; don't use "using namespace std;" in a
3613	  header.
3614
3615Thu Jun 13 08:30:26 GMT 2013  Olly Betts <olly@survex.com>
3616
3617	* backends/brass/brass_positionlist.cc: Remove 'Assert(rd);' since rd
3618	  is no longer a pointer.
3619
3620Thu Jun 13 05:07:27 GMT 2013  Olly Betts <olly@survex.com>
3621
3622	* common/compression_stream.h: Update include guard to match source
3623	  file name.
3624
3625Thu Jun 13 02:38:20 GMT 2013  Olly Betts <olly@survex.com>
3626
3627	* common/,net/length.h,net/serialise.h: Fix @file markup which wasn't
3628	  actually in a doxygen comment.
3629
3630Thu Jun 13 02:14:22 GMT 2013  Olly Betts <olly@survex.com>
3631
3632	* preautoreconf: Remove needless use of perl prototype.
3633
3634Tue Jun 11 00:40:37 GMT 2013  Olly Betts <olly@survex.com>
3635
3636	* common/remoteprotocol.h,docs/remote_protocol.rst: Bump
3637	  remote protocol version to 38.o.
3638
3639Tue Jun 11 00:37:01 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3640
3641	* api/leafpostlist.cc,matcher/,net/serialise.cc,weight/weight.cc,
3642	  weight/weightinternal.cc,weight/weightinternal.h: Make collection
3643	  frequency available to Xapian::Weight subclasses.  Extracted from
3644	  Gaurav Arora's LM branch.
3645
3646Wed May 22 10:04:25 GMT 2013  Olly Betts <olly@survex.com>
3647
3648	* configure.ac: When generating ABI compatibility checks in
3649	  xapian/version.h, pass $CXXFLAGS and $CPPFLAGS to $CXXCPP as they
3650	  could contain options which affect the ABI (such as -fabi-version
3651	  for GCC).  (Fixes #622)
3652
3653Wed May 22 04:20:39 GMT 2013  Olly Betts <olly@survex.com>
3654
3655	* common/win32_uuid.cc: Microsoft GUIDs in binary form have reversed
3656	  byte order in the first three components compared to standard UUIDs,
3657	  so the same database would report a different UUID on Windows to
3658	  on other platforms.  With this fix, the UUIDs of existing databases
3659	  will appear to change on Windows (except in rare "palindronic" cases).
3660
3661Fri May 17 05:52:43 GMT 2013  Olly Betts <olly@survex.com>
3662
3663	* docs/overview.rst: Correct documentation for stub files specifying
3664	  "prog" remote databases.
3665
3666Thu May 16 05:47:40 GMT 2013  Olly Betts <olly@survex.com>
3667
3668	* backends/chert/chert_dbcheck.cc: Code tweak for clarity.
3669
3670Thu May 16 05:46:42 GMT 2013  Olly Betts <olly@survex.com>
3671
3672	* backends/chert/chert_dbcheck.cc: Fix database check that first docid
3673	  in each doclength chunk is more than the last docid in the previous
3674	  chunk - previously this didn't actually work.
3675
3676Thu May 16 05:45:04 GMT 2013  Olly Betts <olly@survex.com>
3677
3678	* common/bitstream.h: Fix database check not to falsely report
3679	  "position table: Junk after position data" whenever there are 7
3680	  unused bits (7 is OK, *more* than 7 isn't).
3681
3682Tue May 14 12:42:11 GMT 2013  Olly Betts <olly@survex.com>
3683
3684	* m4-macros/xapian-1.3.m4: Adjust XO_LIB_XAPIAN to strip _gitNNN
3685	  suffix from snapshot versions.
3686
3687Sun May 12 06:11:36 GMT 2013  Olly Betts <olly@survex.com>
3688
3689	* configure.ac: Simplify previous change.
3690
3691Sun May 12 06:06:47 GMT 2013  Olly Betts <olly@survex.com>
3692
3693	* configure.ac: Handle git snapshot naming when calculating REVISION.
3694
3695Wed May 08 11:56:27 GMT 2013  Olly Betts <olly@survex.com>
3696
3697	* HACKING,INSTALL,Makefile.am,README,docs/Makefile.am,docs/install.rst,
3698	  docs/stemming.rst,languages/Makefile.mk,queryparser/Makefile.mk,
3699	  tests/Makefile.am,tests/perftest/perftest.cc: SVN -> git.
3700
3701Wed May 08 08:51:22 GMT 2013  Olly Betts <olly@survex.com>
3702
3703	* backends/brass/brass_version.cc,backends/chert/chert_version.cc:
3704	  Remove unused '#include <cstdio>'.
3705
3706Mon May 06 11:10:25 GMT 2013  Olly Betts <olly@survex.com>
3707
3708	* api/omenquire.cc,configure.ac,include/xapian/enquire.h: Merge two
3709	  Enquire::get_eset() overloaded forms into one with a default value
3710	  for parameter min_wt.
3711
3712Thu May 02 12:05:28 GMT 2013  Olly Betts <olly@survex.com>
3713
3714	* NEWS,configure.ac: Update for 1.3.1.
3715
3716Thu May 02 11:13:30 GMT 2013  Olly Betts <olly@survex.com>
3717
3718	* include/xapian/weight.h,tests/api_nodb.cc,tests/api_weight.cc,
3719	  weight/tfidfweight.cc: Use lowercase letters for the TfIdfWeight
3720	  descriptions to match what SMART uses.
3721
3722Wed May 01 05:13:07 GMT 2013  Olly Betts <olly@survex.com>
3723
3724	* include/xapian/database.h: Work around Apple's OS X SDK defining a
3725	  check() macro.
3726
3727Tue Apr 30 13:51:53 GMT 2013  Olly Betts <olly@survex.com>
3728
3729	* NEWS: Update from ChangeLog.
3730
3731Mon Apr 29 03:09:16 GMT 2013  Olly Betts <olly@survex.com>
3732
3733	* backends/brass/brass_dbcheck.cc,backends/chert/chert_dbcheck.cc:
3734	  Use decode_interpolative_next() when checking database consistency.
3735	  We also now complain about any junk after the position data.
3736	* common/bitstream.cc,common/bitstream.h: Remove the old version of
3737	  decode_interpolative() which unpacks into a std::vector.
3738
3739Mon Apr 29 02:16:54 GMT 2013  Olly Betts <olly@survex.com>
3740
3741	* backends/chert/chert_positionlist.cc,
3742	  backends/chert/chert_positionlist.h: Backport positionlist changes
3743	  from brass.
3744
3745Mon Apr 29 01:58:59 GMT 2013  Olly Betts <olly@survex.com>
3746
3747	* backends/brass/brass_positionlist.cc: No need to initialise the
3748	  BitReader object in the single-entry position list case.
3749
3750Mon Apr 29 01:58:10 GMT 2013  Olly Betts <olly@survex.com>
3751
3752	* backends/brass/brass_positionlist.cc: Fix bug when reaching the last
3753	  positionlist entry in skip_to().
3754
3755Mon Apr 29 00:46:10 GMT 2013  Olly Betts <olly@survex.com>
3756
3757	* tests/api_posdb.cc: Fix comment typos.
3758
3759Mon Apr 29 00:27:42 GMT 2013  Olly Betts <olly@survex.com>
3760
3761	* backends/brass/brass_positionlist.cc: Fix handling of single-entry
3762	  position lists.
3763
3764Sun Apr 28 23:45:02 GMT 2013  Olly Betts <olly@survex.com>
3765
3766	* backends/brass/brass_positionlist.cc: Fix BrassPositionList for case
3767	  when there's no positional information for a term.
3768
3769Sun Apr 28 10:29:59 GMT 2013  Olly Betts <olly@survex.com>
3770
3771	* backends/brass/brass_positionlist.cc: Simplify setting of
3772	  have_started in BrassPositionList::skip_to().
3773
3774Sun Apr 28 10:19:52 GMT 2013  Olly Betts <olly@survex.com>
3775
3776	* backends/brass/brass_positionlist.cc,
3777	  backends/brass/brass_positionlist.h,common/bitstream.h: Make the
3778	  BitReader object a member of BrassPositionList rather than tracking
3779	  a pointer to it.
3780
3781Sun Apr 28 07:22:07 GMT 2013  Olly Betts <olly@survex.com>
3782
3783	* backends/brass/brass_positionlist.cc,common/bitstream.h: Reuse the
3784	  same BitReader object for each document rather than deleting the old
3785	  one and creating a new one.
3786
3787Sun Apr 28 07:06:12 GMT 2013  Olly Betts <olly@survex.com>
3788
3789	* backends/brass/brass_positionlist.cc: Move check for reaching the
3790	  end after the next() in the loop in skip_to(), as we know we aren't
3791	  at the end on the first iteration, and we've now handled the case of
3792	  termpos == last before we get here.
3793
3794Sun Apr 28 07:04:54 GMT 2013  Olly Betts <olly@survex.com>
3795
3796	* backends/brass/brass_positionlist.cc: We know what the last entry in
3797	  the position list is, so special case skip_to(last_entry) to just
3798	  move there rather than calling next() a lot of times.
3799
3800Sun Apr 28 07:03:57 GMT 2013  Olly Betts <olly@survex.com>
3801
3802	* common/bitstream.h: We don't need to stack pos_j when doing lazy
3803	  interpolative decoding.
3804
3805Sun Apr 28 06:48:01 GMT 2013  Olly Betts <olly@survex.com>
3806
3807	* common/bitstream.h: Store j and k before pos_j and pos_k as it's
3808	  fractionally more efficient.
3809
3810Sun Apr 28 06:44:32 GMT 2013  Olly Betts <olly@survex.com>
3811
3812	* backends/brass/brass_positionlist.cc,
3813	  backends/brass/brass_positionlist.h,common/bitstream.cc,
3814	  common/bitstream.h: Hook up BrassPositionList to the new lazy
3815	  interpolative decoder.
3816
3817Fri Apr 26 02:09:38 GMT 2013  Marius Tibeica <mtibeica@gmail.com>
3818
3819	* common/bitstream.cc,common/bitstream.h: Support reading entries from
3820	  an interpolative coded list one by one.
3821
3822Thu Apr 25 10:57:02 GMT 2013  Olly Betts <olly@survex.com>
3823
3824	* docs/remote_protocol.rst: Correct error in documentation of
3825	  REPLY_DOCDATA message.
3826
3827Thu Apr 25 10:44:56 GMT 2013  Marius Tibeica <mtibeica@gmail.com>
3828
3829	* common/bitstream.cc: renamed my_fls to highest_order_bit.
3830
3831Thu Apr 25 06:49:48 GMT 2013  Olly Betts <olly@survex.com>
3832
3833	* backends/remote/remote-database.cc,common/remoteprotocol.h,
3834	  docs/remote_protocol.rst,net/remoteserver.cc: Prefix compress
3835	  list of terms and metadata keys in the remote protocol.
3836	  This requires a remote protocol major version bump.
3837
3838Wed Apr 24 23:14:47 GMT 2013  Olly Betts <olly@survex.com>
3839
3840	* queryparser/lemon.c,queryparser/queryparser.lt: Fix comment typos.
3841
3842Wed Apr 24 06:27:26 GMT 2013  Olly Betts <olly@survex.com>
3843
3844	* include/xapian.h: Add catch for Wt defining a macro called slots,
3845	  like we already do for Qt.
3846
3847Wed Apr 24 03:40:13 GMT 2013  Olly Betts <olly@survex.com>
3848
3849	* NEWS: Update.
3850
3851Tue Apr 23 12:34:23 GMT 2013  Olly Betts <olly@survex.com>
3852
3853	* backends/brass/brass_table.cc: Use a block's revision number to
3854	  check if it was newly allocated in the current revision, and
3855	  assert that the base file shows it block_free_at_start (previously
3856	  the check and assertion were the other way around).
3857
3858Tue Apr 23 12:11:21 GMT 2013  Olly Betts <olly@survex.com>
3859
3860	* HACKING: Note macports needed for development work.
3861
3862Tue Apr 23 11:41:17 GMT 2013  Olly Betts <olly@survex.com>
3863
3864	* include/xapian/version_h.cc: Fix typo in doc comment.
3865
3866Tue Apr 23 11:39:30 GMT 2013  Olly Betts <olly@survex.com>
3867
3868	* include/xapian/version_h.cc: Disable error for direct inclusion
3869	  of xapian/version.h for now.
3870
3871Sun Apr 21 07:49:38 GMT 2013  Olly Betts <olly@survex.com>
3872
3873	* include/xapian/version_h.cc: Fix quotes in new #error in version.h.
3874
3875Sun Apr 21 06:25:57 GMT 2013  Olly Betts <olly@survex.com>
3876
3877	* configure.ac,generate-exceptions,include/xapian/: Give an error if
3878	  user code tries to include API headers other than xapian.h directly.
3879
3880Sat Apr 20 10:12:23 GMT 2013  Olly Betts <olly@survex.com>
3881
3882	* languages/compiler/generator.c: Generate '#include <config.h>' at
3883	  the start of the stemmer code.
3884
3885Fri Apr 19 23:36:25 GMT 2013  Olly Betts <olly@survex.com>
3886
3887	* configure.ac: Remove empty default cases.
3888
3889Wed Apr 17 03:06:57 GMT 2013  Olly Betts <olly@survex.com>
3890
3891	* NEWS: Update from 1.2.15 and ChangeLog.
3892
3893Thu Apr 11 22:17:44 GMT 2013  Olly Betts <olly@survex.com>
3894
3895	* backends/brass/brass_version.cc,backends/chert/chert_version.cc:
3896	  Call io_sync() on the version file when we create it.
3897
3898Tue Apr 09 11:02:35 GMT 2013  Olly Betts <olly@survex.com>
3899
3900	* bin/xapian-delve.cc: If -v is specified more than once, show even
3901	  more info in some cases.
3902
3903Tue Apr 09 09:40:02 GMT 2013  Olly Betts <olly@survex.com>
3904
3905	* tests/Makefile.am: Force automake to use the serial test driver,
3906	  which requires automake 1.12 (to recognise the serial-tests driver).
3907
3908Mon Apr 08 06:30:40 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
3909
3910	* weight/: Added tfidfweight.cc containing the implementation of the
3911	  TfIdfWeight class.
3912
3913	* include/xapian/weight.h: Added TfIdfWeight class for the tf-idf
3914	  weighting scheme.
3915
3916	* tests/api_weight.cc: Added tests for TfIdfWeight.
3917
3918	* tests/api_nodb.cc: Added simple tests for TfIdfWeight.
3919
3920Sat Apr 06 00:21:34 GMT 2013  Olly Betts <olly@survex.com>
3921
3922	* m4-macros/xapian-1.3.m4: XO_LIB_XAPIAN now handles the user
3923	  specifying XAPIAN_CONFIG without a path - e.g.: "./configure
3924	  XAPIAN_CONFIG=xapian-config-1.3"
3925
3926Thu Apr 04 12:02:36 GMT 2013  Olly Betts <olly@survex.com>
3927
3928	* common/Makefile.mk: Remove random comment.
3929
3930Thu Apr 04 10:06:53 GMT 2013  Olly Betts <olly@survex.com>
3931
3932	* Makefile.am,configure.ac,tests/Makefile.am: Remove support for
3933	  'configure --enable-quiet', 'make QUIET=' and 'make QUIET=y' -
3934	  automake now supports 'configure --enable-silent-rules', 'make V=1'
3935	  and 'make V=0' which are broadly equivalent and more standard.
3936
3937Thu Apr 04 09:58:35 GMT 2013  Olly Betts <olly@survex.com>
3938
3939	* HACKING: Update to note that automake 1.12.2 is now a hard
3940	  requirement.
3941
3942Tue Apr 02 10:22:44 GMT 2013  Olly Betts <olly@survex.com>
3943
3944	* queryparser/lemon.c: Comment typo fixes.
3945
3946Tue Apr 02 09:47:14 GMT 2013  Olly Betts <olly@survex.com>
3947
3948	* queryparser/lemon.c,queryparser/queryparser.lt: Sync with latest
3949	  upstream version of lemon.  The only notable change is a bug fix for
3950	  platforms where sizeof(long) < sizeof(void*) (LLP64 model).
3951
3952Tue Apr 02 05:51:12 GMT 2013  Olly Betts <olly@survex.com>
3953
3954	* HACKING: Tell vim to syntax highlight as rst.
3955
3956Tue Apr 02 05:50:26 GMT 2013  Olly Betts <olly@survex.com>
3957
3958	* HACKING: Update for recent changes to bootstrap.  In particular, we
3959	  now bootstrap snapshots with automake 1.13.1.
3960
3961Fri Mar 29 05:18:11 GMT 2013  Olly Betts <olly@survex.com>
3962
3963	* net/tcpclient.cc: Fix __WIN32__ conditional, accidentally broken in
3964	  last change to this file.
3965
3966Thu Mar 28 04:19:26 GMT 2013  jiangwen jiang <jiangwen127@gmail.com>
3967
3968	* api/expanddecider.cc,include/xapian/expanddecider.h,
3969	  tests/api_anydb.cc,tests/api_nodb.cc: Add ExpandDeciderFilterPrefix
3970	  class to only return terms with a particular prefix.  (fixes #467)
3971
3972Thu Mar 21 23:55:26 GMT 2013  Olly Betts <olly@survex.com>
3973
3974	* tests/queryparsertest.cc: Add test coverage for change to
3975	  QueryParser CJK handling in previous commit.
3976
3977Thu Mar 21 07:21:30 GMT 2013  Greg Banks <gnb@fastmail.fm>
3978
3979	* queryparser/cjk-tokenizer.cc,queryparser/termgenerator_internal.cc,
3980	  tests/termgentest.cc: Some CJK codepoints are also punctuation and
3981	  hence not word characters, and should not really be used as fodder
3982	  for generating N-grams.  Also fixes a pre-existing bug where every
3983	  second sequence of N-grammable CJK characters in the text failed to
3984	  generate the first 2-gram.
3985
3986Sun Mar 17 20:45:48 GMT 2013  Olly Betts <olly@survex.com>
3987
3988	* common/pretty.h: Restore space after comma in output.
3989
3990Sun Mar 17 03:59:52 GMT 2013  Dan Colish <dcolish@gmail.com>
3991
3992	* common/pretty.h: Correct recursion issue.
3993
3994Sun Mar 17 02:58:52 GMT 2013  Dan Colish <dcolish@gmail.com>
3995
3996	* common/pretty.h: Resolve ambiguity by moving operator| to a member
3997	  function of PrettyOStream
3998
3999Sat Mar 16 21:43:32 GMT 2013  Olly Betts <olly@survex.com>
4000
4001	* queryparser/queryparser.lemony: std::less provides a total order over
4002	  pointers, so we can just use that to implement
4003	  filter_group_id::operator<() - we only need a consistent order so we
4004	  can use it as the key to a std::map.
4005
4006Fri Mar 15 06:36:32 GMT 2013  Dan Colish <dcolish@gmail.com>
4007
4008	* backends/brass/brass_table.cc,backends/chert/chert_table.cc,
4009	  common/pretty.h: Avoid needlessly casting away const-ness in
4010	  debug logging.
4011
4012Fri Mar 15 06:31:32 GMT 2013  Olly Betts <olly@survex.com>
4013
4014	* matcher/multiandpostlist.cc,matcher/multixorpostlist.cc: Add a
4015	  couple more LOGCALL annotations.
4016
4017Fri Mar 15 06:27:42 GMT 2013  Dan Colish <dcolish@gmail.com>
4018
4019	* api/registry.cc,common/pretty.h: Fix incorrect LOGCALL return value.
4020
4021Fri Mar 15 06:24:11 GMT 2013  Olly Betts <olly@survex.com>
4022
4023	* api/registry.cc,common/Makefile.mk,common/registryinternal.h:
4024	  common/registryinternal.h is only included by api/registry.cc so
4025	  just inline its contents.
4026
4027Fri Mar 15 06:11:14 GMT 2013  Olly Betts <olly@survex.com>
4028
4029	* api/registry.cc: No need to explicitly default initialise std::map
4030	  members or the base class.
4031
4032Fri Mar 08 04:05:31 GMT 2013  Olly Betts <olly@survex.com>
4033
4034	* backends/brass/brass_compact.cc,backends/chert/chert_compact.cc: Fix
4035	  multipass compaction not to damage document values, and to merge the
4036	  database stats correctly.  (fixes #615)
4037	* tests/api_compact.cc: Add regression test compactmultipass1.
4038
4039Thu Mar 07 00:34:46 GMT 2013  Aarsh Shah <aarshkshah1992@gmail.com>
4040
4041	* tests/api_anydb.cc: Added tradweight4 testcase to test TradWeight
4042	  with an RSet for weighting documents.
4043
4044Wed Mar 06 08:55:12 GMT 2013  Olly Betts <olly@survex.com>
4045
4046	* HACKING: gs package has been replaced by ghostscript package in
4047	  current Debian and Ubuntu releases.
4048
4049Tue Feb 19 04:17:19 GMT 2013  Olly Betts <olly@survex.com>
4050
4051	* common/Tokeniseise.pm: Add the ability to append lines to the
4052	  header.
4053
4054Fri Feb 15 05:37:09 GMT 2013  Olly Betts <olly@survex.com>
4055
4056	* common/realtime.h: Fix RealTime::sleep() to calculate the delta to
4057	  the time we want to sleep to the right way round.  Previously we
4058	  wouldn't sleep if we were before the deadline, but would sleep if
4059	  the deadline had already passed (and by the amount the deadline had
4060	  passed)!  And on Windows, fix the sleep to be for the delta rather
4061	  than 43+ years (the time elapsed since the start of 1970).  (Fixes
4062	  #472)
4063
4064Fri Feb 15 04:09:28 GMT 2013  Olly Betts <olly@survex.com>
4065
4066	* api/queryinternal.cc: Need <functional> for mem_fun().
4067
4068Fri Feb 15 03:56:32 GMT 2013  Olly Betts <olly@survex.com>
4069
4070	* tests/harness/testsuite.cc: Don't provide explicit template types to
4071	  make_pair - it isn't useful, and breaks with C++11.  Fixes build
4072	  error with MSVC2012.
4073
4074Thu Jan 31 23:39:08 GMT 2013  Olly Betts <olly@survex.com>
4075
4076	* common/Tokeniseise.pm: Put the binary chop tables with the larger
4077	  ones last, so the offsets to the start of them are more likely to
4078	  fit into a byte.
4079
4080Wed Jan 30 04:17:07 GMT 2013  Olly Betts <olly@survex.com>
4081
4082	* common/Makefile.mk,common/Tokeniseise.pm,languages/Makefile.mk,
4083	  languages/collate-sbl: Factor out the generic code to create a
4084	  string-to-enum mapping table into a perl module so we can reuse
4085	  it elsewhere.
4086
4087Mon Jan 28 01:44:53 GMT 2013  Olly Betts <olly@survex.com>
4088
4089	* examples/quest.cc: Fix to build with Sun Studio 12 compiler.
4090	  (ticket#611)
4091
4092Thu Jan 24 22:40:12 GMT 2013  Olly Betts <olly@survex.com>
4093
4094	* common/Makefile.mk,common/keyword.cc,common/keyword.h: Commit new
4095	  keyword lookup function needed by previous commit.
4096
4097Thu Jan 24 22:26:19 GMT 2013  Olly Betts <olly@survex.com>
4098
4099	* languages/: Generate a compact and efficient table to convert
4100	  language names to enum codes, which we can then use a C switch
4101	  statement to dispatch.  The table first checks the token length,
4102	  and then does a binary chop on tokens of the same length.  This
4103	  is both faster and smaller than the approach we were using, with
4104	  the benefit that the table is auto-generated.
4105
4106Wed Jan 23 00:51:42 GMT 2013  Olly Betts <olly@survex.com>
4107
4108	* matcher/selectpostlist.cc,matcher/selectpostlist.h: Check document
4109	  matches weight threshold before checking positional information,
4110	  which speeds up slow phrase searches (tweaked version of
4111	  positional-query-weight-check-first.patch from #394).
4112
4113Thu Jan 17 06:48:41 GMT 2013  Olly Betts <olly@survex.com>
4114
4115	* tests/api_stem.cc: Extend stem2 to ensure description of the stemmer
4116	  isn't the same as the description of Stem("none").  Fix description
4117	  of testcase stemlangs2.
4118
4119Thu Jan 17 02:32:31 GMT 2013  Olly Betts <olly@survex.com>
4120
4121	* HACKING: Update link to new home of autotools tutorial.
4122
4123Wed Jan 16 02:40:20 GMT 2013  Olly Betts <olly@survex.com>
4124
4125	* HACKING,Makefile.am: Rename CHK_SOURCES to check_sources - variables
4126	  ending _SOURCES usually have a special meaning in automake, so it's
4127	  confusing to have one which doesn't.
4128
4129Wed Jan 16 01:55:50 GMT 2013  Olly Betts <olly@survex.com>
4130
4131	* api/omenquire.cc: Don't cache documents retrieved by
4132	  MSet::get_document() unless they were requested with fetch().  This
4133	  avoids using a lot of memory when many MSet entries are retrieved.
4134	  (Fixes #604)
4135
4136Wed Jan 09 11:49:58 GMT 2013  Olly Betts <olly@survex.com>
4137
4138	* NEWS: Update from ChangeLog and 1.2 branch.
4139
4140Fri Jan 04 23:14:33 GMT 2013  Olly Betts <olly@survex.com>
4141
4142	* net/progclient.cc: Fix typo so we actually use SOCK_CLOEXEC.
4143
4144Fri Jan 04 23:14:01 GMT 2013  Olly Betts <olly@survex.com>
4145
4146	* common/safesyssocket.h: We need the same workaround for socket() too.
4147
4148Fri Jan 04 04:41:17 GMT 2013  Olly Betts <olly@survex.com>
4149
4150	* common/safesyssocket.h: On Linux at least, sometimes SOCK_CLOEXEC is
4151	  defined but the kernel doesn't handle it in socketpair(), so add a
4152	  wrapper which will retry without SOCK_CLOEXEC in this case.  Noticed
4153	  on Ubuntu precise.
4154
4155Sat Dec 29 17:53:30 GMT 2012  Olly Betts <olly@survex.com>
4156
4157	* docs/quickstart.rst: Fix seriously outdated statement that Xapian
4158	  doesn't create the database directory - that changed in 0.7.2
4159	  (release 2003-07-11), pointed out by aarsh on #xapian.
4160
4161Thu Dec 27 06:06:30 GMT 2012  Olly Betts <olly@survex.com>
4162
4163	* queryparser/queryparser.lemony: Adjust handling of Unicode
4164	  opening/closing double quotes - if a quoted boolean term was started
4165	  with ASCII double quote, then only ASCII double quote can end it, as
4166	  otherwise it's impossible to quote a term containing Unicode double
4167	  quotes.
4168	* tests/queryparsertest.cc: Update testcases.
4169
4170Sun Dec 23 18:16:52 GMT 2012  Olly Betts <olly@survex.com>
4171
4172	* configure.ac: Fix typo in previous commit.
4173
4174Sun Dec 23 18:06:45 GMT 2012  Olly Betts <olly@survex.com>
4175
4176	* configure.ac: Use the new flock()-based flint-compatible locking
4177	  under DJGPP, and remove special cases to disable chert and brass
4178	  under DJGPP (untested, as I no longer have a DJGPP setup or
4179	  cross-compiler).
4180
4181Sun Dec 23 17:51:36 GMT 2012  Olly Betts <olly@survex.com>
4182
4183	* backends/flint_lock.cc,backends/flint_lock.h: Add flock() based
4184	  locking implementation, which is much simpler than using fcntl() due
4185	  to saner semantics around releasing locks when closing other
4186	  descriptors on the same file (at least on platforms where flock()
4187	  isn't just a compatibility wrapper around fcntl()).  We can't simply
4188	  switch to this without breaking locking compatibility with previous
4189	  releases, though it might be useful for porting to platforms without
4190	  fcntl() locking.  Also, flock() apparently doesn't work over NFS -
4191	  perhaps that's OK, but we should at least check the failure mode.
4192
4193Sat Dec 22 06:29:23 GMT 2012  Olly Betts <olly@survex.com>
4194
4195	* backends/flint_lock.cc: Only set close-on-exec on the lockfile fd if
4196	  we are able to clear it in the child process, and clear it in the
4197	  child process if we set it when we opened it.
4198
4199Sat Dec 22 06:14:40 GMT 2012  Olly Betts <olly@survex.com>
4200
4201	* backends/flint_lock.cc,net/progclient.cc: Use SOCK_CLOEXEC with
4202	  socketpair(), and then clear the close-on-exec flag for child process
4203	  end of the pair before we call exec.
4204
4205Sat Dec 22 06:13:44 GMT 2012  Olly Betts <olly@survex.com>
4206
4207	* net/progclient.cc: Remove O_CLOEXEC where we open stderr on /dev/null
4208	  before calling exec as we want that fd to survive the exec!
4209
4210Sat Dec 22 05:53:12 GMT 2012  Olly Betts <olly@survex.com>
4211
4212	* HACKING,backends/flint_lock.cc,common/Makefile.mk,
4213	  common/safesyssocket.h,net/progclient.cc,net/tcpclient.cc,
4214	  net/tcpserver.cc,tests/harness/backendmanager_remotetcp.cc:
4215	  Use SOCK_CLOEXEC where available, and try FD_CLOEXEC if SOCK_CLOEXEC
4216	  isn't available.
4217
4218Sat Dec 22 04:09:23 GMT 2012  Olly Betts <olly@survex.com>
4219
4220	* backends/brass/,backends/chert/,backends/flint_lock.cc,
4221	  common/debuglog.cc,common/replicate_utils.cc,common/safefcntl.h,
4222	  net/progclient.cc,net/remoteconnection.cc,
4223	  tests/harness/testsuite.cc: If O_CLOEXEC is supported, pass it to
4224	  open() so fds we open are closed if the application using us calls
4225	  exec().
4226
4227Fri Dec 21 03:48:36 GMT 2012  Olly Betts <olly@survex.com>
4228
4229	* configure.ac: Don't autodisable the remote backend if we fail to find
4230	  a required function.  It's more likely the user needs to pass
4231	  LIBS=-lfoo and it's more helpful to error out so they can do that, or
4232	  pass --disable-backend-remote if they really don't want it, rather
4233	  than having them not notice the automatic disabling until after
4234	  they've built.  This also matches what we do for the disk based
4235	  backends.
4236
4237Fri Dec 21 03:48:11 GMT 2012  Olly Betts <olly@survex.com>
4238
4239	* configure.ac: Expand comment about DJGPP.
4240
4241Fri Dec 21 03:47:13 GMT 2012  Olly Betts <olly@survex.com>
4242
4243	* configure.ac: Update comment - we've supported the prog backend on
4244	  Windows for more than 5 years now!
4245
4246Fri Dec 21 03:32:13 GMT 2012  Olly Betts <olly@survex.com>
4247
4248	* tests/api_replicate.cc: Use O_BINARY in replication tests.
4249
4250Fri Dec 21 03:24:37 GMT 2012  Olly Betts <olly@survex.com>
4251
4252	* common/replicate_utils.cc: Make posixy_open() always use O_BINARY.
4253	* backends/brass/brass_btreebase.cc,backends/brass/brass_database.cc,
4254	  backends/brass/brass_databasereplicator.cc,
4255	  backends/chert/chert_btreebase.cc,
4256	  backends/chert/chert_databasereplicator.cc,common/posixy_wrapper.cc:
4257	  Don't pass O_BINARY to posixy_open() in the places where we were
4258	  (which wasn't everywhere, probably causing replication bugs under
4259	  __WIN32__).
4260
4261Fri Dec 21 02:57:56 GMT 2012  Olly Betts <olly@survex.com>
4262
4263	* net/remoteconnection.cc,net/remoteconnection.h: Only "outline"
4264	  RemoteConnection dtor under __WIN32__.
4265
4266Fri Dec 21 02:56:28 GMT 2012  Olly Betts <olly@survex.com>
4267
4268	* backends/remote/remote-database.cc: Make the UnimplementedError for a
4269	  MatchSpy which doesn't implement name() clearer that it's this
4270	  particular subclass which can't be used remotely, not all MatchSpy
4271	  objects.
4272
4273Thu Dec 20 22:27:40 GMT 2012  Olly Betts <olly@survex.com>
4274
4275	* configure.ac: Use user-specified LIBS for configure tests, which is
4276	  what's expected, and provides a way for the user to tell configure
4277	  where to find library functions which configure can't find for
4278	  itself.
4279
4280Thu Dec 20 22:07:19 GMT 2012  Olly Betts <olly@survex.com>
4281
4282	* api/compactor.cc,api/replication.cc,backends/brass/,backends/chert/,
4283	  common/,net/remoteconnection.cc: Rename msvc_posix_rename(), etc to
4284	  posixy_rename() (avoid a posix_ prefix as that's used by some library
4285	  functions, and these aren't necessarily 100% POSIX compatible), and
4286	  provide macro versions on Unix, so we can avoid a #ifdef at every
4287	  call site.
4288
4289Thu Dec 20 20:57:18 GMT 2012  Olly Betts <olly@survex.com>
4290
4291	* configure.ac: socketpair() needs -lnetwork on Haiku.
4292
4293Thu Dec 20 02:30:12 GMT 2012  Olly Betts <olly@survex.com>
4294
4295	* backends/brass/brass_databasereplicator.cc,
4296	  backends/chert/chert_databasereplicator.cc: Simplify how we open the
4297	  .DB file on the replication slave to just call open() once with
4298	  O_CREAT, rather than once without, than stat() if that fails, and
4299	  then again with O_CREAT|O_TRUNC if stat() doesn't show an ordinary
4300	  file exists.
4301
4302Thu Dec 20 02:05:12 GMT 2012  Olly Betts <olly@survex.com>
4303
4304	* api/compactor.cc,common/,languages/compiler/syswords2.h,
4305	  tests/api_compact.cc: Remove extra blank lines at end of files.
4306
4307Thu Dec 20 01:54:47 GMT 2012  Olly Betts <olly@survex.com>
4308
4309	* backends/brass/brass_database.cc,backends/chert/chert_database.cc:
4310	  Fix "if (fd > 0)" tests to be "if (fd >= 0)" in code related to
4311	  replication.  In practice this is unlikely to actually have caused
4312	  problems in real world cases.
4313
4314Sun Dec 16 23:10:13 GMT 2012  Olly Betts <olly@survex.com>
4315
4316	* bin/Makefile.mk: INCLUDES is always used, AM_CPPFLAGS isn't if there
4317	  are per-executable CPPFLAGS, so add AM_CPPFLAGS explicitly when we
4318	  use per-executable CPPFLAGS.
4319
4320Fri Dec 14 21:25:58 GMT 2012  Olly Betts <olly@survex.com>
4321
4322	* Makefile.am,languages/Makefile.mk,queryparser/Makefile.mk,
4323	  tests/Makefile.am: In automake, INCLUDES is now deprecated in favour
4324	  of AM_CPPFLAGS so update to use the latter.
4325
4326Tue Nov 27 05:39:30 GMT 2012  Olly Betts <olly@survex.com>
4327
4328	* examples/quest.cc: Need <algorithm> for lower_bound().
4329
4330Mon Nov 26 23:46:43 GMT 2012  Olly Betts <olly@survex.com>
4331
4332	* examples/quest.cc: Align option descriptions in --help output, and
4333	  make the initial letter of such descriptions consistently lowercase.
4334
4335Mon Nov 26 19:52:50 GMT 2012  Olly Betts <olly@survex.com>
4336
4337	* examples/quest.cc: Add --flags command line option to allow setting
4338	  arbitrary QueryParser flags.
4339
4340Mon Nov 26 03:02:03 GMT 2012  Olly Betts <olly@survex.com>
4341
4342	* api/valuerangeproc.cc: Move 3 declarations to where we first use the
4343	  variables.
4344
4345Mon Nov 26 02:59:41 GMT 2012  Olly Betts <olly@survex.com>
4346
4347	* matcher/multimatch.cc: We no longer use the highest weighted
4348	  MSet entry to calculate percentages, so stop searching for it.
4349	  (Spotted by cppcheck)
4350
4351Mon Nov 26 02:59:02 GMT 2012  Olly Betts <olly@survex.com>
4352
4353	* backends/brass/brass_compact.cc,backends/chert/chert_compact.cc:
4354	  Remove unused variables (spotted by cppcheck).
4355
4356Mon Nov 26 02:12:19 GMT 2012  Olly Betts <olly@survex.com>
4357
4358	* api/maptermlist.h,api/matchspy.cc,api/omdatabase.cc,
4359	  backends/inmemory/inmemory_database.cc,
4360	  backends/inmemory/inmemory_positionlist.cc,
4361	  backends/multi/multi_postlist.cc,backends/remote/net_termlist.cc,
4362	  bin/xapian-delve.cc,matcher/exactphrasepostlist.cc,
4363	  matcher/mergepostlist.cc,matcher/phrasepostlist.cc,
4364	  tests/harness/backendmanager.cc: Prefer ++i to i++.
4365
4366Fri Nov 23 03:38:39 GMT 2012  Olly Betts <olly@survex.com>
4367
4368	* HACKING,Makefile.am: With lcov 1.10, we no longer need any of our
4369	  hacky workarounds, so make this a requirement and simplify the rules
4370	  in the makefile.
4371
4372Thu Nov 22 23:34:09 GMT 2012  Olly Betts <olly@survex.com>
4373
4374	* Makefile.am: Pass -f to lcov, which should avoid the need for the
4375	  patch we've been applying to lcov.
4376
4377Thu Nov 22 01:34:05 GMT 2012  Olly Betts <olly@survex.com>
4378
4379	* backends/flint_lock.cc: Close excess file handles before we get the
4380	  fcntl() lock, just in case one of those file handles is open on the
4381	  lock file.
4382	* tests/api_backend.cc: Add regression test lockfilealreadyopen1.
4383
4384Thu Nov 22 00:35:51 GMT 2012  Olly Betts <olly@survex.com>
4385
4386	* common/closefrom.cc,configure.ac: On platforms with the F_MAXFD
4387	  fcntl but without closefrom(), we were failing to close the highest
4388	  numbered open fd in our closefrom() replacement.  We now also work
4389	  around valgrind not hiding some extra fds it has open, but then
4390	  complaining if we try to close them.
4391
4392Wed Nov 21 22:50:21 GMT 2012  Olly Betts <olly@survex.com>
4393
4394	* tests/harness/testsuite.cc: When reporting valgrind error, skip any
4395	  warnings.
4396
4397Tue Nov 20 07:26:24 GMT 2012  Olly Betts <olly@survex.com>
4398
4399	* tests/api_anydb.cc: msetweights1 makes multidb1 and multidb2
4400	  redundant, so remove them.
4401
4402Tue Nov 20 07:21:46 GMT 2012  Olly Betts <olly@survex.com>
4403
4404	* tests/api_backend.cc: Extend msetweights1 to test the case where
4405	  only even docids match, so in the multi_* case, only docids from
4406	  one subdatabase match.
4407
4408Tue Nov 20 07:04:55 GMT 2012  Olly Betts <olly@survex.com>
4409
4410	* tests/api_backend.cc: Add testcase msetweights1 which checks we
4411	  get the weights we expect for a two term query.
4412
4413Mon Nov 19 21:17:33 GMT 2012  Olly Betts <olly@survex.com>
4414
4415	* queryparser/termgenerator.cc: TermGenerator internal member can
4416	  never be NULL, so drop NULL test.
4417
4418Sat Nov 17 20:54:50 GMT 2012  Olly Betts <olly@survex.com>
4419
4420	* tests/harness/testsuite.cc: Remove compatibility code for valgrind <
4421	  3.3.0, since we reject such old versions at configure time.
4422
4423Sat Nov 17 00:05:36 GMT 2012  Olly Betts <olly@survex.com>
4424
4425	* matcher/localsubmatch.cc: Optimise an unweighted query term which
4426	  matches all the documents in a subdatabase to use the "MatchAll"
4427	  postlist.  (ticket#387)
4428
4429Fri Nov 16 23:36:34 GMT 2012  Olly Betts <olly@survex.com>
4430
4431	* tests/api_weight.cc: New testcase checkstatsweight1 which checks a
4432	  weight subclass gets the correct values for all the stats.
4433
4434Fri Nov 16 07:30:18 GMT 2012  Olly Betts <olly@survex.com>
4435
4436	* include/xapian/version_h.cc: Generate a check for compatible _DEBUG
4437	  settings if built with MSVC.  (ticket#389)
4438
4439Fri Nov 16 01:28:55 GMT 2012  Olly Betts <olly@survex.com>
4440
4441	* queryparser/queryparser.lemony: Improve a couple of comments.
4442
4443Fri Nov 16 01:25:28 GMT 2012  Olly Betts <olly@survex.com>
4444
4445	* queryparser/queryparser.lemony: Implicitly close any unclosed brackets
4446	  at the end of the query string.  Patch from Sehaj Singh Kalra.
4447	* tests/queryparsertest.cc: Adjust existing testcases and feature tests.
4448
4449Thu Nov 15 23:57:10 GMT 2012  Olly Betts <olly@survex.com>
4450
4451	* tests/api_query.cc: Add testcase xor3 to ensure that XOR handles all
4452	  remaining subqueries running out at the same time.
4453
4454Thu Nov 15 10:57:32 GMT 2012  Olly Betts <olly@survex.com>
4455
4456	* tests/api_query.cc: One test here does need a backend, and it seems
4457	  a more useful category, so drop the "don't need a backend" part from
4458	  the @brief documentation comment.
4459
4460Thu Nov 15 09:29:47 GMT 2012  Olly Betts <olly@survex.com>
4461
4462	* matcher/multimatch.cc: Fix calculation of 0.0/0.0 in some cases.
4463	  This then got used as a minimum weight, but it seems this gives -nan
4464	  (at least on x86-64 Linux) so it may have been harmless in practice.
4465
4466Thu Nov 15 05:39:47 GMT 2012  Olly Betts <olly@survex.com>
4467
4468	* tests/api_anydb.cc: Eliminate workarounds for egcs 1.1.2 (certainly
4469	  we no longer support a compiler that old, but maybe some newer
4470	  compilers have the same issue, so I've rewritten the code to iterate
4471	  backwards over one MSet, which is a useful feature to have coverage
4472	  for).
4473
4474Thu Nov 15 05:28:40 GMT 2012  Olly Betts <olly@survex.com>
4475
4476	* tests/api_anydb.cc: Fix reversebool1 and reversebool2 to actually
4477	  use the result when they check an MSetIterator against end().
4478
4479Thu Nov 15 01:55:15 GMT 2012  Olly Betts <olly@survex.com>
4480
4481	* bin/xapian-replicate.cc: Add --quiet option to xapian-replicate, and
4482	  be a little more verbose by default.
4483
4484Thu Nov 15 01:54:14 GMT 2012  Olly Betts <olly@survex.com>
4485
4486	* bin/xapian-replicate.cc: xapian-replicate --force-copy now only
4487	  forces a single copy, and then attempts to replicate incrementally.
4488
4489Thu Nov 15 00:51:50 GMT 2012  Olly Betts <olly@survex.com>
4490
4491	* bin/xapian-replicate.cc: Tweak code layout.
4492
4493Wed Nov 14 21:40:45 GMT 2012  Olly Betts <olly@survex.com>
4494
4495	* net/remoteconnection.cc: Allow files > 32G to be be copied by
4496	  replication.
4497
4498Tue Nov 13 03:44:03 GMT 2012  Olly Betts <olly@survex.com>
4499
4500	* tests/api_replicate.cc: Pass 'true' or 'false' for 'bool' parameter,
4501	  not '0' or '1' (especially confusing as the two previous parameters
4502	  were integers which were often 0 or 1...)
4503
4504Tue Nov 13 03:34:42 GMT 2012  Olly Betts <olly@survex.com>
4505
4506	* bin/xapian-replicate.cc,net/replicatetcpclient.cc,
4507	  net/replicatetcpclient.h: Add --full-copy option to xapian-replicate.
4508	* tests/api_replicate.cc: New testcase replicate6 which tests the same
4509	  code path used by 'xapian-replicate --full-copy'.
4510
4511Tue Nov 13 02:55:44 GMT 2012  Olly Betts <olly@survex.com>
4512
4513	* tests/api_replicate.cc: Use '++' instead of '+= 1'.  Drop superfluous
4514	  'return;' at end of function returning void.
4515
4516Tue Nov 13 01:12:33 GMT 2012  Olly Betts <olly@survex.com>
4517
4518	* tests/harness/unixcmds.cc: Tweak to avoid default initialisation of
4519	  string.
4520
4521Mon Nov 12 23:25:14 GMT 2012  Olly Betts <olly@survex.com>
4522
4523	* include/xapian/unicode.h: GCC 4.6.3 doesn't optimise the asr idion
4524	  either.  Add links to the PR I filed and the GCC documentation that
4525	  signed right shift does sign extension.
4526
4527Mon Nov 12 10:21:19 GMT 2012  Olly Betts <olly@survex.com>
4528
4529	* include/xapian/unicode.h,unicode/tclUniData.cc: Update Unicode
4530	  character database to 6.2.0.
4531	* tests/api_unicode.cc: Add tests for U+20BA, added in 6.2.0.
4532
4533Sat Nov 10 05:39:16 GMT 2012  Olly Betts <olly@survex.com>
4534
4535	* api/leafpostlist.cc,matcher/multiandpostlist.cc: Improved fix for
4536	  #590 - count all matching LeafPostList objects with a Weight object
4537	  rather than trying to prune at the MultiAndPostList level based on
4538	  max_wt (if wdf is always zero for a term, BM25 gives max_wt of 0,
4539	  which leads to us never counting that subquery.
4540	* tests/api_percentages.cc: Add regression test topercent7.
4541
4542Fri Nov 09 04:25:32 GMT 2012  Olly Betts <olly@survex.com>
4543
4544	* tests/api_percentages.cc: Note bug number in regression test for
4545	  #590.
4546
4547Tue Nov 06 22:42:31 GMT 2012  Olly Betts <olly@survex.com>
4548
4549	* backends/brass/brass_table.cc: Restore two missing lines in database
4550	  checking where we report a block with the wrong level.
4551
4552Tue Oct 16 11:19:42 GMT 2012  Olly Betts <olly@survex.com>
4553
4554	* api/compactor.cc,backends/dbcheck.cc,backends/dbfactory.cc,
4555	  common/Makefile.mk: Fix to build when configured with
4556	  --disable-backend-brass --disable-backend-chert.  (ticket#586)
4557
4558Mon Oct 15 04:07:30 GMT 2012  Olly Betts <olly@survex.com>
4559
4560	* HACKING: automake 1.12.4 is now used to generate snapshots and
4561	  releases.
4562
4563Sat Oct 13 09:34:21 GMT 2012  Olly Betts <olly@survex.com>
4564
4565	* weight/weightinternal.h: Revert addition of "#include <config.h>" in
4566	  r16820.
4567	* HACKING: Document that we don't include <config.h> from header
4568	  files, and the reason why.
4569
4570Sat Oct 13 09:00:23 GMT 2012  Olly Betts <olly@survex.com>
4571
4572	* include/xapian/queryparser.h: Fix documentation comment typos:
4573	  "covert" -> "convert".
4574
4575Thu Oct 11 12:28:30 GMT 2012  Olly Betts <olly@survex.com>
4576
4577	* docs/valueranges.rst: Update documentation to reflect change in
4578	  Xapian 1.1.2 - DateValueRangeProcessor and StringValueRangeProcessor
4579	  now support a prefix or suffix.
4580
4581Mon Oct 01 05:05:54 GMT 2012  Olly Betts <olly@survex.com>
4582
4583	* HACKING: Try to make it clearer we're looking for a dual-licence
4584	  on submitted patches.
4585
4586Tue Sep 25 08:09:08 GMT 2012  Olly Betts <olly@survex.com>
4587
4588	* common/Makefile.mk,common/append_filename_arg.h,
4589	  tests/harness/unixcmds.cc: Split out append_filename_argument() into
4590	  its own file so it can be used elsewhere.
4591
4592Tue Sep 25 06:46:03 GMT 2012  Olly Betts <olly@survex.com>
4593
4594	* include/xapian/enquire.h: Mark MSetIterator::at_end() and
4595	  ESetIterator::at_end() as @private @internal so that they don't
4596	  appear in the API docs.
4597
4598Tue Sep 25 06:45:07 GMT 2012  Olly Betts <olly@survex.com>
4599
4600	* include/xapian/enquire.h: Remove FIXMEs about converting MSetIterator
4601	  and ESetIterator to use Internal classes - as HACKING notes, the
4602	  current implementation is that way for performance reasons.
4603
4604Tue Sep 25 06:36:37 GMT 2012  Olly Betts <olly@survex.com>
4605
4606	* tests/harness/unixcmds.cc: Escape filenames on POSIX platforms by
4607	  wrapping in single quotes and specially handling single quotes in
4608	  the filename - previously newlines in filenames got eaten by the
4609	  shell.
4610
4611Tue Sep 25 06:32:36 GMT 2012  Olly Betts <olly@survex.com>
4612
4613	* tests/harness/unixcmds.cc: Protect filenames which start with '-' on
4614	  MS Windows like we already do on other platforms.  The built-in
4615	  commands generally only interpret '/' as the character introducing a
4616	  command line option (which we already convert to '\'), but many
4617	  ported programs understand '-' too/instead.
4618
4619Sat Aug 25 16:09:50 GMT 2012  Dan Colish <dcolish@gmail.com>
4620
4621	* include/xapian/enquire.h: Add function to test MSetIterator and
4622	  ESetIterator exhaustion against the size of the underlying interee
4623	  since comparison against an empty Itor is not suitable for an
4624	  exhaustion test. Add FIXME that these Iterators should use an Internal
4625	  class.
4626
4627Thu Aug 09 21:50:52 GMT 2012  Dan Colish <dcolish@gmail.com>
4628
4629	* weight/weightinternal.h: Include config.h since macros are used
4630	  from it.
4631
4632Wed Aug 08 15:40:38 GMT 2012  Dan Colish <dcolish@gmail.com>
4633
4634	* api/queryvector.h: Backout previous fix. When compiling with -O0,
4635	  increase the stack limit to > 8M when running scalability tests.
4636
4637Wed Aug 08 02:10:21 GMT 2012  Dan Colish <dcolish@gmail.com>
4638
4639	* api/queryvector.h: Fix SIGBUS when clearing QueryVectors
4640
4641Wed Aug 01 15:25:25 GMT 2012  Dan Colish <dcolish@gmail.com>
4642
4643	* HACKING,Makefile.am,tests/Makefile.am: Fix non-portable warnings
4644	from automake, add HACKING doc for check-syntax make target
4645
4646Wed Aug 01 04:54:18 GMT 2012  Dan Colish <dcolish@gmail.com>
4647
4648	* Makefile.am,api/Makefile,backends/Makefile,backends/brass/Makefile,
4649	  backends/chert/Makefile,backends/inmemory/Makefile,
4650	  backends/multi/Makefile,backends/remote/Makefile,bin/Makefile,
4651	  common/Makefile,examples/Makefile,expand/Makefile,
4652	  geospatial/Makefile,include/Makefile,include/xapian/Makefile,
4653	  languages/Makefile,matcher/Makefile,net/Makefile,
4654	  queryparser/Makefile,tests/harness/Makefile,unicode/Makefile,
4655	  weight/Makefile: Add check-syntax target to Makefiles to support
4656	  editor syntax checks
4657
4658Sun Jul 29 15:32:00 GMT 2012  Olly Betts <olly@survex.com>
4659
4660	* configure.ac: Bump LIBRARY_VERSION_INFO so I can package a snapshot
4661	  cleanly.
4662
4663Tue Jul 24 01:35:17 GMT 2012  Olly Betts <olly@survex.com>
4664
4665	* include/xapian/queryparser.h,queryparser/queryparser.cc,
4666	  queryparser/queryparser.lemony,queryparser/queryparser_internal.h,
4667	  tests/queryparsertest.cc: Add FieldProcessor class (ticket#128) -
4668	  currently marked as an experimental API while we sort out how best
4669	  to sort out exactly how it interacts with other QueryParser features.
4670
4671Tue Jul 24 01:19:03 GMT 2012  Olly Betts <olly@survex.com>
4672
4673	* include/xapian/queryparser.h: Add extra DateValueRangeProcessor
4674	  constructor overloaded form so that in DateValueRangeProcessor(1,
4675	  "date:"), the const char * gets interpreted as std::string rather
4676	  than bool.
4677	* tests/queryparsertest.cc: Add regression test.
4678
4679Thu Jul 19 05:32:04 GMT 2012  Olly Betts <olly@survex.com>
4680
4681	* backends/brass/brass_dbcheck.h,
4682	  backends/inmemory/inmemory_alltermslist.cc,bin/xapian-delve.cc: Fix
4683	  filenames in comments which mismatch actual name of file.
4684
4685Thu Jul 19 05:27:38 GMT 2012  Olly Betts <olly@survex.com>
4686
4687	* queryparser/termgenerator_internal.cc: Remove "FIXME: Add API to
4688	  allow control of how stemming is used?", as we have now added such
4689	  an API.
4690
4691Thu Jul 19 05:24:49 GMT 2012  Olly Betts <olly@survex.com>
4692
4693	* include/xapian/termgenerator.h,queryparser/termgenerator.cc,
4694	  queryparser/termgenerator_internal.cc,
4695	  queryparser/termgenerator_internal.h,tests/termgentest.cc: Add new
4696	  method TermGenerator::set_max_word_length() to allow this limit to
4697	  be adjusted by the user.
4698
4699Mon Jul 16 03:34:27 GMT 2012  Olly Betts <olly@survex.com>
4700
4701	* include/xapian/enquire.h: Clarify that the "reverse" parameter of
4702	  set_sort_by_relevance_then_value() and
4703	  set_sort_by_relevance_then_key() only affects the ordering of the
4704	  value/key part of the sort.
4705
4706Fri Jul 13 04:55:26 GMT 2012  Dan Colish <dcolish@gmail.com>
4707
4708	* matcher/multimatch.cc: Remove duplicate import
4709
4710Thu Jul 12 05:13:57 GMT 2012  Olly Betts <olly@survex.com>
4711
4712	* common/debuglog.cc: Preserve errno over debug logging calls, so they
4713	  can safely be added to code which expects errno not to change.
4714
4715Mon Jul 02 05:27:43 GMT 2012  Dan Colish <dcolish@gmail.com>
4716
4717	* backends/brass/brass_databasereplicator.cc: Use new/delete to avoid
4718	  variable length array gcc extension and comply with c++98
4719
4720Mon Jul 02 05:02:14 GMT 2012  Dan Colish <dcolish@gmail.com>
4721
4722	* api/omdatabase.cc,tests/api_wrdb.cc: Prefer container.empty() to
4723	  container.size() == 0.
4724
4725Sun Jul 01 10:46:19 GMT 2012  Olly Betts <olly@survex.com>
4726
4727	* NEWS: Update from ChangeLog, 1.2.11 and 1.2.12.
4728
4729Fri Jun 29 15:32:11 GMT 2012  Dan Colish <dcolish@>
4730
4731	* tests/harness/testsuite.cc: Add safeunistd.h unconditionally for
4732	  isatty, required by GCC 4.7
4733
4734Wed Jun 27 10:45:13 GMT 2012  Olly Betts <olly@survex.com>
4735
4736	* AUTHORS: Add GSoC students.
4737
4738Tue Jun 26 08:45:03 GMT 2012  Olly Betts <olly@survex.com>
4739
4740	* include/xapian.h: Add check for Qt headers being included before us
4741	  and defining 'slots' as a macro - if they are, give a clear error
4742	  advising how to work around this.
4743
4744Thu Jun 14 23:48:15 GMT 2012  Olly Betts <olly@survex.com>
4745
4746	* docs/admin_notes.rst: Correction - we don't "create a lock file", we
4747	  "lock a file".
4748
4749Tue Jun 12 13:08:58 GMT 2012  Olly Betts <olly@survex.com>
4750
4751	* tests/api_replicate.cc: Make sure XAPIAN_MAX_CHANGESETS gets unset
4752	  after testcases which set it, so further testcases don't waste time
4753	  generating changesets.
4754
4755Tue Jun 12 12:11:51 GMT 2012  Olly Betts <olly@survex.com>
4756
4757	* docs/replication.rst: The value of XAPIAN_MAX_CHANGESETS does now
4758	  actually determine how many changesets we keep.
4759
4760Tue Jun 12 01:20:59 GMT 2012  Olly Betts <olly@survex.com>
4761
4762	* configure.ac: Force link_all_deplibs_CXX=no for Solaris.
4763
4764Tue Jun 12 01:08:17 GMT 2012  Olly Betts <olly@survex.com>
4765
4766	* xapian-config.in: Don't interpret a missing .la file as meaning that
4767	  we only have static libraries.
4768
4769Sun Jun 10 12:57:16 GMT 2012  Olly Betts <olly@survex.com>
4770
4771	* backends/brass/brass_btreebase.cc,backends/brass/brass_btreebase.h,
4772	  backends/brass/brass_check.cc: Remove is_empty(), tweak
4773	  calculate_last_block() to calculate the bit map size correctly in
4774	  the case of an empty table, and use the bit map size instead of
4775	  is_empty() in xapian-check.
4776	* backends/chert/chert_btreebase.cc,backends/chert/chert_btreebase.h,
4777	  backends/chert/chert_check.cc: Make equivalent changes for chert.
4778
4779Sun Jun 10 11:27:52 GMT 2012  Olly Betts <olly@survex.com>
4780
4781	* backends/brass/brass_table.cc,backends/brass/brass_table.h: We don't
4782	  need the workaround for existing tables which were built with a 32
4783	  bit item count for brass, since that bug was fixed in 1.1.4, which
4784	  is the same version which brass was added in.
4785
4786Sun Jun 10 11:20:58 GMT 2012  Olly Betts <olly@survex.com>
4787
4788	* backends/brass/brass_btreebase.cc,backends/brass/brass_btreebase.h,
4789	  backends/chert/chert_btreebase.cc,backends/chert/chert_btreebase.h:
4790	  Remove unused copy constructors for BrassTable_base and
4791	  ChertTable_base.
4792
4793Wed Jun 06 11:10:26 GMT 2012  Olly Betts <olly@survex.com>
4794
4795	* include/xapian/queryparser.h: Note that STEM_ALL_Z was added in
4796	  1.2.11.  Change already made on 1.2 branch.
4797
4798Tue Jun 05 06:51:12 GMT 2012  Olly Betts <olly@survex.com>
4799
4800	* common/compression_stream.cc,common/compression_stream.h: Move the
4801	  default argument to the CompressionStream constructor to the header
4802	  and mark the constructor as explicit, since it has a single argument
4803	  form.
4804
4805Tue Jun 05 06:41:22 GMT 2012  Olly Betts <olly@survex.com>
4806
4807	* api/queryvector.h: Fix somewhat dubious warning from clang.
4808
4809Tue Jun 05 06:33:09 GMT 2012  Olly Betts <olly@survex.com>
4810
4811	* configure.ac: Overhaul handling of compilers which pretend to be GCC,
4812	  using a simple "case" on the preprocessed output of '__INTEL_COMPILER
4813	  __clang__' to tell which is in use.  We now explicitly check for
4814	  clang, and only pass it warning flags it actually understands.  GCC
4815	  4.0 is now lumped in with 3.*, since we handle it exactly the same.
4816	  Enable -Wdouble-promotion for GCC >= 4.6.  Check for symbol
4817	  visibility support under any GCC-alike (which means we now run the
4818	  test with Intel's compiler).  Move the check for -Bsymbolic-functions
4819	  to be run for all compilers.
4820
4821Mon Jun 04 06:21:02 GMT 2012  Olly Betts <olly@survex.com>
4822
4823	* backends/dbfactory.cc: Test if we fail to open a stub database file
4824	  in Xapian::Auto::open_stub() and throw an exception if so.
4825	* tests/api_backend.cc: Add regression test stubdb7.
4826
4827Sun Jun 03 11:43:44 GMT 2012  Olly Betts <olly@survex.com>
4828
4829	* include/xapian/query.h: Add second fake specialised form of the
4830	  templated iterator Query constructor, for use in the Java bindings.
4831
4832Sat Jun 02 12:15:11 GMT 2012  Olly Betts <olly@survex.com>
4833
4834	* docs/scalability.rst: Update gmane size, fix a typo, tweak wording.
4835
4836Sat Jun 02 12:10:55 GMT 2012  Olly Betts <olly@survex.com>
4837
4838	* Makefile.am,api/omdocument.cc,api/omenquire.cc,backends/brass/,
4839	  backends/chert/,bin/xapian-delve.cc,common/getopt.cc,configure.ac,
4840	  docs/,m4-macros/xapian-1.3.m4,matcher/multimatch.cc,preautoreconf,
4841	  tests/Makefile.am,tests/api_db.cc,tests/harness/testsuite.h,
4842	  tests/harness/testutils.h: Change `...' quoting in prose to '...'.
4843
4844Fri Jun 01 07:40:48 GMT 2012  Olly Betts <olly@survex.com>
4845
4846	* HACKING,Makefile.am: If you run "make coverage-check" by hand, the
4847	  default of compressed HTML is unhelpful, so don't default to passing
4848	  --html-gzip to genhtml, but instead add support for GENHTML_ARGS.
4849
4850Thu May 31 11:41:19 GMT 2012  Olly Betts <olly@survex.com>
4851
4852	* tests/api_weight.cc: Add test that init() is now called for the
4853	  term-independent weight contribution.
4854
4855Thu May 31 11:23:05 GMT 2012  Olly Betts <olly@survex.com>
4856
4857	* weight/bm25weight.cc: Avoid use of undefined values when k1 or b are
4858	  zero.
4859
4860Wed May 30 21:50:54 GMT 2012  Olly Betts <olly@survex.com>
4861
4862	* tests/api_matchspy.cc: Use a cached generated database for matchspy2
4863	  and matchspy4.
4864
4865Wed May 30 13:22:54 GMT 2012  Olly Betts <olly@survex.com>
4866
4867	* include/xapian/weight.h,weight/weight.cc: We were failing to call
4868	  init() for Weight objects providing the term-independent weight.
4869	  These now get called with init(0.0).
4870
4871Wed May 30 13:13:03 GMT 2012  Olly Betts <olly@survex.com>
4872
4873	* include/xapian/weight.h: Remove duplicate "need_stat(WDF);" calls,
4874	  accidentally added by merge of opsynonym branch in r12609.
4875
4876Wed May 30 07:44:23 GMT 2012  Olly Betts <olly@survex.com>
4877
4878	* weight/bm25weight.cc: Fix use of uninitialised value found by new
4879	  bm25weight4 testcase.
4880
4881Wed May 30 05:38:58 GMT 2012  Olly Betts <olly@survex.com>
4882
4883	* tests/api_weight.cc: Add tests for BM25 parameter combinations where
4884	  doclen shouldn't affect the weights.
4885
4886Wed May 30 05:11:34 GMT 2012  Olly Betts <olly@survex.com>
4887
4888	* tests/Makefile.am: Move api_geospatial.cc into alphabetical order.
4889
4890Wed May 30 05:07:51 GMT 2012  Olly Betts <olly@survex.com>
4891
4892	* weight/bm25weight.cc,weight/tradweight.cc: Throw SerialisationError
4893	  not NetworkError if unserialise() fails.
4894	* tests/.gitignore,tests/Makefile.am,tests/api_weight.cc: Add test
4895	  coverage for this.
4896
4897Wed May 30 05:01:33 GMT 2012  Olly Betts <olly@survex.com>
4898
4899	* weight/tradweight.cc: BM25Weight -> TradWeight in exception message.
4900
4901Wed May 30 04:28:43 GMT 2012  Olly Betts <olly@survex.com>
4902
4903	* tests/queryparsertest.cc: Fix feature test added for STEM_ALL_Z.
4904
4905Tue May 29 07:29:01 GMT 2012  Olly Betts <olly@survex.com>
4906
4907	* tests/harness/testutils.cc,tests/harness/testutils.h: Remove unused
4908	  test helper mset_range_is_same_percents() (thanks, lcov!)
4909
4910Tue May 29 04:10:07 GMT 2012  Olly Betts <olly@survex.com>
4911
4912	* tests/generate-api_generated: Test that the string returned by a
4913	  get_description() method isn't empty.
4914
4915Tue May 29 03:54:15 GMT 2012  Olly Betts <olly@survex.com>
4916
4917	* generate-exceptions: Use function attributes in generated error.h.
4918
4919Tue May 29 02:10:23 GMT 2012  Olly Betts <olly@survex.com>
4920
4921	* configure.ac,tests/runsrv.in: In the testsuite, only run remote
4922	  servers under valgrind if x87 FP instructions are in use.
4923
4924Tue May 29 00:24:42 GMT 2012  Olly Betts <olly@survex.com>
4925
4926	* include/xapian/: Use the new function attributes on various API
4927	  methods.
4928	* tests/api_wrdb.cc: get_termfreq() is now marked as pure, so the
4929	  testsuite needs to actually use the return value to check its
4930	  exception behaviour.
4931
4932Mon May 28 22:31:21 GMT 2012  Olly Betts <olly@survex.com>
4933
4934	* api/query.cc,api/queryinternal.cc,api/queryinternal.h,
4935	  include/xapian/query.h: Pass vector<pair<Xapian::termpos>, string> >&
4936	  argument to Query::Internal::gather_terms() as a void* to avoid
4937	  having to include <vector> in query.h.
4938
4939Mon May 28 05:07:02 GMT 2012  Olly Betts <olly@survex.com>
4940
4941	* include/xapian/attributes.h: Remove unused XAPIAN_NOTHROW_API_METHOD
4942	  as we're handling that a different way instead.
4943
4944Mon May 28 00:41:55 GMT 2012  Olly Betts <olly@survex.com>
4945
4946	* docs/doxygen_api.conf.in,docs/doxygen_source.conf.in: Hide new
4947	  function attribute macros from doxygen.
4948
4949Sun May 27 14:04:34 GMT 2012  Olly Betts <olly@survex.com>
4950
4951	* include/xapian/query.h: Use "Internal" instead of "Query::Internal"
4952	  in constructor prototype argument list for consistency with other
4953	  cosntructors, and so this constructor gets ignored by SWIG.
4954
4955Sun May 27 07:38:56 GMT 2012  Olly Betts <olly@survex.com>
4956
4957	* exception_data.pm: Fix typo to fix warning and so that XAPIAN_NOTHROW
4958	  on a method will work.
4959
4960Sun May 27 01:43:30 GMT 2012  Olly Betts <olly@survex.com>
4961
4962	* exception_data.pm,include/Makefile.mk,include/xapian.h,
4963	  include/xapian/attributes.h,include/xapian/unicode.h: Add
4964	  XAPIAN_CONST_FUNCTION, XAPIAN_PURE_FUNCTION, and XAPIAN_NOTHROW
4965	  macros for marking functions and methods with those attributes.
4966	  (tickets #151, #454)
4967
4968Fri May 25 06:42:35 GMT 2012  Olly Betts <olly@survex.com>
4969
4970	* include/xapian/weight.h: Fix documentation comment typo ("k1" ->
4971	  "k").
4972
4973Fri May 25 05:44:05 GMT 2012  Olly Betts <olly@survex.com>
4974
4975	* backends/flint_lock.h: Mark FlintLock::throw_databaselockerror() as
4976	  XAPIAN_NORETURN.
4977
4978Thu May 24 12:28:35 GMT 2012  Olly Betts <olly@survex.com>
4979
4980	* include/xapian/termgenerator.h,queryparser/termgenerator.cc,
4981	  queryparser/termgenerator_internal.cc,
4982	  queryparser/termgenerator_internal.h: Add
4983	  TermGenerator::set_stemming_strategy() method, with strategies which
4984	  correspond to those of QueryParser.  Based on patch from Sehaj Singh
4985	  Kalra, with some tweaks for adding term positions in more cases.
4986	  (Fixes ticket#563)
4987	* tests/termgentest.cc: Add test coverage for the new features.
4988
4989Thu May 24 01:37:31 GMT 2012  Olly Betts <olly@survex.com>
4990
4991	* include/xapian/queryparser.h: Add doc comment for stem_strategy
4992	  typedef.
4993
4994Wed May 23 11:33:08 GMT 2012  Olly Betts <olly@survex.com>
4995
4996	* include/xapian/queryparser.h,queryparser/queryparser.lemony:
4997	  Add new QueryParser::STEM_ALL_Z stemming strategy, which stems all
4998	  terms and adds a Z prefix.  (Patch from Sehaj Singh Kalra, fixes
4999	  ticket#562)
5000	* tests/queryparsertest.cc: Add test coverage for
5001	  QueryParser::STEM_ALL_Z.
5002
5003Wed May 23 05:37:20 GMT 2012  Olly Betts <olly@survex.com>
5004
5005	* api/valuesetmatchdecider.cc,include/xapian/valuesetmatchdecider.h:
5006	  "Limited" to "Ltd" in (C) two statements, for consistency (and with
5007	  Charlie's agreement on IRC).
5008
5009Wed May 23 02:25:53 GMT 2012  Olly Betts <olly@survex.com>
5010
5011	* api/,include/xapian/query.h: Rework QueryBranch to use a special
5012	  QueryVector class rather than std::vector<Xapian::Query>.  The
5013	  special class is no bigger than std::vector<Xapian::Query>, and
5014	  handles up to two entries by holding them within the object (at
5015	  least GCC's std::vector doesn't currently do this space optimisation)
5016	  which significantly reduces the memory used by a pairwise operator,
5017	  which is very desirable as we no longer flatten a tree of the same
5018	  pairwise operator as we build the query.
5019
5020Tue May 22 06:25:10 GMT 2012  Olly Betts <olly@survex.com>
5021
5022	* api/queryinternal.cc: Handle the left side of AND_NOT and
5023	  AND_MAYBE being MatchNothing in add_subquery() rather than
5024	  in done().
5025
5026Tue May 22 02:40:45 GMT 2012  Olly Betts <olly@survex.com>
5027
5028	* api/queryinternal.cc: Handle QueryAndLike with a MatchNothing
5029	  subquery in add_subquery() rather than done().
5030
5031Tue May 22 02:01:00 GMT 2012  Olly Betts <olly@survex.com>
5032
5033	* api/queryinternal.cc,api/queryinternal.h: Drop MatchNothing
5034	  subqueries in OR-like situations in add_subquery() rather than
5035	  adding them and then handling it later.
5036
5037Sat May 19 00:27:23 GMT 2012  Olly Betts <olly@survex.com>
5038
5039	* tests/runsrv.in: Add explanation of why we have this script.
5040
5041Sat May 19 00:27:10 GMT 2012  Olly Betts <olly@survex.com>
5042
5043	* tests/runtest.in: Fix comment typo.
5044
5045Fri May 18 12:50:08 GMT 2012  Olly Betts <olly@survex.com>
5046
5047	* backends/inmemory/inmemory_database.cc: Check if the database is
5048	  closed when asked to iterate metadata keys.  Fixes recently added
5049	  testcase closedb10 for inmemory.
5050
5051Fri May 18 12:34:24 GMT 2012  Olly Betts <olly@survex.com>
5052
5053	* tests/Makefile.am: Pass -ldl last when compiling zlib-vg.so, as that
5054	  seems to be needed on Ubuntu 12.04.
5055
5056Fri May 18 04:54:09 GMT 2012  Olly Betts <olly@survex.com>
5057
5058	* tests/api_closedb.cc: We now test almost all methods of Database
5059	  and WritableDatabase after calling close().  (ticket#337)
5060
5061Thu May 17 14:26:11 GMT 2012  Olly Betts <olly@survex.com>
5062
5063	* backends/brass/,backends/chert/: After closing the database, methods
5064	  which try to use the termlist would throw FeatureUnavailableError
5065	  with message "Database has no termlist", assuming that the termlist
5066	  table not being open meant it wasn't present.  Fix to check if the
5067	  postlist_table is open to determine which case we're in.
5068	* tests/api_closedb.cc: Improve test coverage for closed databases.
5069	  (ticket#337)
5070
5071Tue May 15 11:24:34 GMT 2012  Olly Betts <olly@survex.com>
5072
5073	* NEWS: Update from ChangeLog and 1.2.10.
5074
5075Tue May 15 11:12:42 GMT 2012  Olly Betts <olly@survex.com>
5076
5077	* backends/chert/chert_cursor.cc: Fix incorrect use of "delete" to
5078	  "delete []".  The type is POD, so I suspect this mistake didn't
5079	  actually cause any problems, and it only happens when a cursor
5080	  gets rebuilt because the B-tree has gained a level, so it's
5081	  a rather rare occurrence.
5082
5083Tue May 15 11:09:44 GMT 2012  Olly Betts <olly@survex.com>
5084
5085	* backends/brass/brass_cursor.cc: Fix incorrect use of "delete" to
5086	  "delete []".  The type is POD, so I suspect this mistake didn't
5087	  actually cause any problems, and it only happens when a cursor
5088	  gets rebuilt because the B-tree has gained a level, so it's
5089	  a rather rare occurrence.
5090
5091Thu May 10 02:16:21 GMT 2012  Olly Betts <olly@survex.com>
5092
5093	* HACKING: Update Debian/Ubuntu packaging instructions.
5094
5095Thu May 10 02:14:48 GMT 2012  Olly Betts <olly@survex.com>
5096
5097	* HACKING: freshmeat -> freecode.
5098
5099Wed May 09 02:54:40 GMT 2012  Olly Betts <olly@survex.com>
5100
5101	* tests/api_wrdb.cc: Add "safeunistd.h", required for GCC 4.7.
5102
5103Wed May 09 00:09:17 GMT 2012  Olly Betts <olly@survex.com>
5104
5105	* api/query.cc: Construct MatchAll using constructor rather than
5106	  assignment syntax.
5107
5108Wed May 09 00:08:29 GMT 2012  Olly Betts <olly@survex.com>
5109
5110	* backends/brass/brass_cursor.h: Whitespace tweaks.
5111
5112Tue May 08 23:51:01 GMT 2012  Olly Betts <olly@survex.com>
5113
5114	* docs/admin_notes.rst: Document xapian-check for fixing corrupted
5115	  databases.
5116
5117Tue May 08 11:30:06 GMT 2012  Olly Betts <olly@survex.com>
5118
5119	* common/fileutils.cc: Add safeunistd.h for mkdir, required by GCC
5120	  4.7 (reported by Gaurav Arora).
5121
5122Wed May 02 03:44:25 GMT 2012  Olly Betts <olly@survex.com>
5123
5124	* weight/weightinternal.cc: Using AssertEq() on NULL doesn't compile,
5125	  at least with recent GCC.
5126
5127Wed May 02 02:58:37 GMT 2012  Olly Betts <olly@survex.com>
5128
5129	* common/omassert.cc: Fix warning with GCC in build with assertions
5130	  enabled.
5131
5132Wed May 02 02:55:54 GMT 2012  Olly Betts <olly@survex.com>
5133
5134	* HACKING: We're now using automake 1.12 to generate snapshots and
5135	  releases.
5136
5137Mon Apr 23 13:16:36 GMT 2012  Olly Betts <olly@survex.com>
5138
5139	* tests/api_anydb.cc: Fix tradweight1 to test that TradWeight(0)
5140	  means that wdf and doc length don't affect the weight of a term.
5141
5142Mon Apr 23 03:44:02 GMT 2012  Olly Betts <olly@survex.com>
5143
5144	* backends/chert/,backends/dbcheck.cc,bin/xapian-check.cc,
5145	  include/xapian/database.h: Add "fix" option to xapian-check, which
5146	  currently will regenerate iamchert if it isn't valid, and will
5147	  regenerate base files from the .DB files (only really tested on
5148	  databases which have just been compacted).
5149
5150Mon Apr 23 03:40:35 GMT 2012  Olly Betts <olly@survex.com>
5151
5152	* common/filetests.h: Add new function file_size() to get the size
5153	  of a file from a path or file descriptor.
5154	* backends/brass/brass_compact.cc,backends/chert/chert_compact.cc,
5155	  net/remoteconnection.cc,tests/api_replicate.cc: Use this new
5156	  function.
5157
5158Wed Apr 18 01:35:21 GMT 2012  Olly Betts <olly@survex.com>
5159
5160	* weight/bm25weight.cc,weight/tradweight.cc: Fix comment typo.
5161
5162Wed Apr 11 08:26:42 GMT 2012  Olly Betts <olly@survex.com>
5163
5164	* HACKING: Update section on patches to mention git (git diff and git
5165	  format-patch), and using "-r" with normal diff, and also that
5166	  ptardiff offers a nice way to diff against an unpacked tarball.
5167
5168Wed Apr 04 02:22:04 GMT 2012  Olly Betts <olly@survex.com>
5169
5170	* backends/brass/brass_compact.cc,backends/chert/chert_compact.cc:
5171	  If the output database is empty, don't write a metainfo tag out.
5172	  Take care not to divide by zero when computing the percentage
5173	  size change for a table.
5174	* tests/api_compact.cc: Add new testcase compactempty1 to provide
5175	  regression tests.
5176
5177Wed Apr 04 01:48:34 GMT 2012  Olly Betts <olly@survex.com>
5178
5179	* backends/dbcheck.cc: If the database couldn't be opened, don't try
5180	  to reserve space for cross-checking doclens, as that just results in
5181	  us reporting a confusing warning about there being too many documents
5182	  to cross-check doclens.
5183
5184Fri Mar 30 22:23:53 GMT 2012  Olly Betts <olly@survex.com>
5185
5186	* backends/document.h: "An string" -> "A string" in internal doc
5187	  comment.
5188
5189Fri Mar 30 22:20:11 GMT 2012  Olly Betts <olly@survex.com>
5190
5191	* include/xapian/weight.h: Fix switched lower and upper in doc comments
5192	  for Weight methods get_doclength_lower_bound() and
5193	  get_doclength_upper_bound().  Correct maximum to minimum in
5194	  get_doclength_lower_bound() comment and note that this excludes zero
5195	  length documents.  Fix "An lower" to "A lower".
5196
5197Wed Mar 28 09:54:33 GMT 2012  Olly Betts <olly@survex.com>
5198
5199	* NEWS: Fix typos in another old entry.
5200
5201Wed Mar 28 09:53:00 GMT 2012  Olly Betts <olly@survex.com>
5202
5203	* NEWS: DatabaseCoruptError -> DatabaseCorruptError in old entries.
5204
5205Wed Mar 28 08:05:13 GMT 2012  Olly Betts <olly@survex.com>
5206
5207	* tests/termgentest.cc: Add test coverage for discarding of terms > 64
5208	  bytes by TermGenerator.
5209
5210Tue Mar 27 21:07:07 GMT 2012  Olly Betts <olly@survex.com>
5211
5212	* include/xapian/database.h: Note when Database::close() was added.
5213
5214Tue Mar 27 13:03:22 GMT 2012  Olly Betts <olly@survex.com>
5215
5216	* api/omenquire.cc,docs/deprecation.rst,include/xapian/enquire.h,
5217	  include/xapian/errorhandler.h: Deprecate Xapian::ErrorHandler.
5218	  (ticket#3)
5219
5220Tue Mar 27 13:01:53 GMT 2012  Olly Betts <olly@survex.com>
5221
5222	* HACKING,docs/deprecation.rst,docs/doxygen_api.conf.in,
5223	  docs/doxygen_source.conf.in: Updates for addition of
5224	  XAPIAN_DEPRECATED_EX() and XAPIAN_DEPRECATED_CLASS_EX.
5225
5226Tue Mar 27 10:11:23 GMT 2012  Olly Betts <olly@survex.com>
5227
5228	* HACKING,include/xapian.h,include/xapian/deprecated.h: Add
5229	  XAPIAN_DEPRECATED_EX() and XAPIAN_DEPRECATED_CLASS_EX macros which
5230	  mark a feature as deprecated externally but not when building the
5231	  library.
5232
5233Tue Mar 27 08:46:29 GMT 2012  Olly Betts <olly@survex.com>
5234
5235	* api/compactor.cc: Include the xapian sub-headers we actually use
5236	  rather than xapian.h, to avoid needless rebuilds.
5237
5238Tue Mar 27 08:33:28 GMT 2012  Olly Betts <olly@survex.com>
5239
5240	* HACKING: Add example of deprecating a pure virtual method.
5241
5242Tue Mar 27 08:30:17 GMT 2012  Olly Betts <olly@survex.com>
5243
5244	* NEWS: Update from ChangeLog.
5245
5246Sat Mar 24 12:33:44 GMT 2012  Olly Betts <olly@survex.com>
5247
5248	* backends/brass/brass_databasereplicator.cc: Fix signed vs unsigned
5249	  comparison warning with GCC 4.4.3.
5250
5251Sat Mar 24 12:26:13 GMT 2012  Olly Betts <olly@survex.com>
5252
5253	* include/xapian/queryparser.h,queryparser/queryparser_internal.h:
5254	  Change the default stemming strategy to STEM_SOME, to eliminate
5255	  the API gotcha that setting a stemmer is ignored until you also
5256	  set a strategy.
5257	* tests/queryparsertest.cc: Add testcase qp_defaultstrategysome1 to
5258	  check that the default is STEM_SOME.
5259
5260Fri Mar 23 04:29:32 GMT 2012  Olly Betts <olly@survex.com>
5261
5262	* tests/perftest/perftest.cc: Fix comment cut-and-paste error.
5263
5264Fri Mar 23 04:28:24 GMT 2012  Olly Betts <olly@survex.com>
5265
5266	* Makefile.am: Use git commit hash in the title of a coverage report
5267	  generated from a git tree.
5268
5269Thu Mar 22 04:29:38 GMT 2012  Olly Betts <olly@survex.com>
5270
5271	* xapian-core.spec.in: Remove xapian-chert-update.
5272
5273Mon Mar 19 05:42:50 GMT 2012  Olly Betts <olly@survex.com>
5274
5275	* matcher/multiandpostlist.cc: Don't count unweighted subqueries of
5276	  MultiAndPostList for percentage calculations, as OP_FILTER maps to
5277	  MultiAndPostList now.  (ticket#590)
5278	* tests/api_percentages.cc: Regression test topercent6.
5279
5280Sun Mar 18 23:24:04 GMT 2012  Dan Colish <dcolish@>
5281
5282	* backends/brass/brass_databasereplicator.cc: size out buffer to the
5283	  incoming blocksize
5284
5285Sun Mar 18 17:02:14 GMT 2012  Dan Colish <dcolish@>
5286
5287	* .gitignore: ignore /.deps as well
5288
5289Sun Mar 18 16:46:45 GMT 2012  Dan Colish <dcolish@>
5290
5291	* .gitignore:Update gitignore for bump to libxapian-1.3
5292
5293Sun Mar 18 04:37:37 GMT 2012  Olly Betts <olly@survex.com>
5294
5295	* configure.ac: Set LIBRARY_VERSION_SUFFIX to -1.3.
5296
5297Sun Mar 18 00:48:05 GMT 2012  Dan Colish <dcolish@gmail.com>
5298
5299	* backends/brass/,common/Makefile.mk, common/compression_stream.h,
5300	  common/compression_stream.cc: Compress changesets in brass
5301	  replication. Increments the changeset version. Ticket #348
5302
5303Sun Mar 18 00:39:23 GMT 2012  Dan Colish <dcolish@gmail.com>
5304
5305	* tests/.gitignore,tests/soaktest/.gitignore: Add additional ignores
5306	  for test artifacts
5307
5308Fri Mar 16 05:23:54 GMT 2012  Olly Betts <olly@survex.com>
5309
5310	* common/Makefile.mk: Missing part of previous change.
5311
5312Fri Mar 16 04:59:53 GMT 2012  Olly Betts <olly@survex.com>
5313
5314	* Makefile.am,m4-macros/xapian.m4: Rename libxapian to libxapian-1.3
5315	  and xapian.m4 to xapian-1.3.m4.
5316
5317Wed Mar 14 04:58:55 GMT 2012  Olly Betts <olly@survex.com>
5318
5319	* NEWS,tests/api_unicode.cc,unicode/tclUniData.cc: Update
5320	  Unicode character database to 6.1.0.
5321
5322Wed Mar 14 02:23:27 GMT 2012  Olly Betts <olly@survex.com>
5323
5324	* NEWS: Update for 1.3.0.
5325
5326Tue Mar 13 07:44:32 GMT 2012  Olly Betts <olly@survex.com>
5327
5328	* NEWS: Update from 1.2.9 and ChangeLog.
5329
5330Tue Mar 13 00:28:58 GMT 2012  Olly Betts <olly@survex.com>
5331
5332	* docs/geospatial.rst: Fix typo - it's LatLongCoords::append() not
5333	  LatLongCoords::insert().
5334
5335Mon Mar 12 23:14:20 GMT 2012  Olly Betts <olly@survex.com>
5336
5337	* docs/admin_notes.rst: Fix typo - need "1.2.x" not "1.0.x" to get
5338	  both flint and chert support.
5339
5340Mon Mar 12 11:54:19 GMT 2012  Olly Betts <olly@survex.com>
5341
5342	* docs/Makefile.am: doxygen no longer generates any GIF files, so
5343	  stop trying to ship or install them.
5344
5345Thu Mar 08 10:21:51 GMT 2012  Olly Betts <olly@survex.com>
5346
5347	* docs/index.rst: Add link to new "getting started" guide.
5348
5349Mon Mar 05 06:05:28 GMT 2012  Olly Betts <olly@survex.com>
5350
5351	* tests/queryparsertest.cc: Fix curly double quote testcase.
5352
5353Mon Mar 05 00:36:33 GMT 2012  Olly Betts <olly@survex.com>
5354
5355	* matcher/: Fix issue with AND, OR, and XOR queries against a database
5356	  with no documents in it - this was causing a divide by zero, which led
5357	  to MSet::get_matches_estimated() reporting 2147483648 on i386.
5358	* tests/api_backend.cc: Add regression test emptydb1.
5359
5360Sun Mar 04 23:05:17 GMT 2012  Olly Betts <olly@survex.com>
5361
5362	* matcher/multimatch.cc: Fix comment typo.
5363
5364Fri Mar 02 04:00:19 GMT 2012  Olly Betts <olly@survex.com>
5365
5366	* tests/harness/testsuite.cc: Address new warnings from GCC 4.6.
5367
5368Wed Feb 29 22:36:26 GMT 2012  Olly Betts <olly@survex.com>
5369
5370	* include/xapian/database.h: Improve documentation of Database::close()
5371	  and ~WritableDatabase().
5372
5373Thu Jan 26 03:49:24 GMT 2012  Olly Betts <olly@survex.com>
5374
5375	* queryparser/queryparser.lemony,tests/queryparsertest.cc: Allow
5376	  Unicode curly double quote characters to start and/or end phrases.
5377
5378Sun Jan 22 13:28:30 GMT 2012  Olly Betts <olly@survex.com>
5379
5380	* bin/xapian-delve.cc: Send errors to stderr not stdout.
5381
5382Sun Jan 22 13:16:21 GMT 2012  Olly Betts <olly@survex.com>
5383
5384	* HACKING: Update details of versions of doxygen, automake and libtool
5385	  used to bootstrap snapshots and releases.
5386
5387Fri Jan 20 21:35:38 GMT 2012  Olly Betts <olly@survex.com>
5388
5389	* tests/Makefile.am: unittest needs getopt for non-glibc platforms.
5390
5391Fri Jan 20 21:33:59 GMT 2012  Olly Betts <olly@survex.com>
5392
5393	* include/xapian/query.h: GCC 4.2.1 on Mac OS X seems to need a copy
5394	  ctor for InvertedQuery_ - unclear why, but it's easy to add one.
5395
5396Wed Jan 18 13:13:07 GMT 2012  Olly Betts <olly@survex.com>
5397
5398	* include/xapian/matchspy.h,include/xapian/postingsource.h,
5399	  include/xapian/weight.h: Document that you can define a static
5400	  operator delete method in your subclass if deallocation needs to be
5401	  handled specially.  (Closes ticket#554)
5402
5403Wed Jan 18 12:27:20 GMT 2012  Olly Betts <olly@survex.com>
5404
5405	* include/xapian/geospatial.h: Mark as experimental for now.
5406
5407Wed Jan 18 12:22:39 GMT 2012  Olly Betts <olly@survex.com>
5408
5409	* docs/geospatial.rst: Say "haversine" rather than "Haversine"
5410	  consistently.
5411
5412Wed Jan 18 12:01:28 GMT 2012  Olly Betts <olly@survex.com>
5413
5414	* include/xapian/geospatial.h: Change empty() to return bool not
5415	  size_t.
5416
5417Wed Jan 18 10:44:16 GMT 2012  Olly Betts <olly@survex.com>
5418
5419	* docs/geospatial.rst: Fix minor typos in geospatial docs.
5420
5421Wed Jan 18 10:39:53 GMT 2012  Olly Betts <olly@survex.com>
5422
5423	* Makefile.am,api/postingsource.cc,api/queryinternal.cc,
5424	  api/registry.cc,common/output.h,common/registryinternal.h,
5425	  docs/geospatial.rst,geospatial/,include/Makefile.mk,include/xapian.h,
5426	  include/xapian/geospatial.h,include/xapian/postingsource.h,
5427	  include/xapian/registry.h,tests/.gitignore,tests/Makefile.am,
5428	  tests/api_geospatial.cc: Merge geotomerge2 branch from github.
5429	  Closes ticket#481.
5430
5431Tue Jan 17 22:29:10 GMT 2012  Olly Betts <olly@survex.com>
5432
5433	* api/errorhandler.cc: Reorder header includes.
5434
5435Mon Jan 16 22:59:02 GMT 2012  Olly Betts <olly@survex.com>
5436
5437	* include/xapian/queryparser.h,queryparser/queryparser.lemony: Fix
5438	  FLAG_AUTO_SYNONYMS not to enable auto multi-word synonyms too.
5439	* tests/queryparsertest.cc: Extend testcase qp_synonym1 to include a
5440	  regression test for this bug.
5441
5442Sun Jan 15 12:41:35 GMT 2012  Olly Betts <olly@survex.com>
5443
5444	* .gitignore,backends/Makefile.mk,backends/brass/,backends/chert/,
5445	  backends/dbcheck.cc,bin/,common/bitstream.h,
5446	  include/xapian/database.h: Add a (currently experimental) API for
5447	  checking the integrity of databases (partly addresses ticket#238).
5448	  This means we can remove XAPIAN_VISIBILITY_DEFAULT from a number of
5449	  functions which aren't in the public API (partly addresses
5450	  ticket#63).
5451
5452Fri Jan 13 12:07:39 GMT 2012  Olly Betts <olly@survex.com>
5453
5454	* tests/stemtest.cc: Include <xapian.h> rather than <xapian/stem.h> -
5455	  we're trying to test the public API, so including the public API
5456	  header is better.
5457
5458Thu Jan 12 13:15:27 GMT 2012  Olly Betts <olly@survex.com>
5459
5460	* tests/unittest.cc: Add new testcases simple_exceptions_work1 and
5461	  class_exceptions_work1 which perform sanity tests of exception
5462	  handling.
5463	* tests/internaltest.cc: Remove testcase test_except1 which is now
5464	  redundant.
5465
5466Thu Jan 12 13:09:25 GMT 2012  Olly Betts <olly@survex.com>
5467
5468	* common/str.cc: Special cases for 0 in tostring() templates aren't
5469	  actually needed, but special casing single digit numbers may be
5470	  worthwhile anyway, so change comments to FIXME ones about checking
5471	  this.
5472	* tests/internaltest.cc: Test str() on unsigned 0, and some negative,
5473	  signed positive, and unsigned positive single digits values.
5474
5475Wed Jan 11 13:03:54 GMT 2012  Olly Betts <olly@survex.com>
5476
5477	* backends/multi/multi_alltermslist.h: Fix filename in @file.
5478
5479Wed Jan 11 12:53:44 GMT 2012  Olly Betts <olly@survex.com>
5480
5481	* api/documentterm.h,api/maptermlist.h,api/omenquireinternal.h,
5482	  backends/brass/,backends/chert/,backends/database.h,
5483	  backends/document.h,backends/inmemory/inmemory_alltermslist.h,
5484	  backends/inmemory/inmemory_database.h,
5485	  backends/inmemory/inmemory_positionlist.h,
5486	  backends/multi/multi_postlist.h,backends/multi/multi_termlist.h,
5487	  backends/positionlist.h,backends/remote/net_termlist.h,
5488	  backends/valuestats.h,common/,include/xapian/query.h,matcher/,
5489	  queryparser/queryparser_internal.h,tests/harness/,
5490	  tests/perftest/freemem.h,tests/perftest/runprocess.h: Convert
5491	  comments at the start of files to @file and @brief doxygen comments.
5492
5493Wed Jan 11 11:36:55 GMT 2012  Olly Betts <olly@survex.com>
5494
5495	* matcher/phrasepostlist.h: Remove lone "----START-LICENCE----" -
5496	  the rest got removed ages ago.
5497
5498Wed Jan 11 11:23:04 GMT 2012  Olly Betts <olly@survex.com>
5499
5500	* common/replicate_utils.h: Fix "@raises" to "@exception".
5501
5502Wed Jan 11 11:21:31 GMT 2012  Olly Betts <olly@survex.com>
5503
5504	* matcher/multiandpostlist.h: Fix "@parameter" to "@param".
5505
5506Wed Jan 11 11:20:11 GMT 2012  Olly Betts <olly@survex.com>
5507
5508	* common/debuglog.h: Fix "@msg" to "@a msg" in doxygen comment.
5509
5510Wed Jan 11 11:18:50 GMT 2012  Olly Betts <olly@survex.com>
5511
5512	* matcher/multiandpostlist.h: Correct @exceptions to @exception.
5513
5514Wed Jan 11 10:48:05 GMT 2012  Olly Betts <olly@survex.com>
5515
5516	* HACKING: We no longer have any uses of \ to introduce doxygen
5517	  directives, so update HACKING to reflect that.
5518
5519Wed Jan 11 10:46:01 GMT 2012  Olly Betts <olly@survex.com>
5520
5521	* api/omdatabase.cc: Change \todo to @todo.
5522
5523Wed Jan 11 10:09:29 GMT 2012  Olly Betts <olly@survex.com>
5524
5525	* api/replication.h,api/valuesetmatchdecider.cc,
5526	  common/output-internal.h,common/output.h,include/xapian/,
5527	  tests/harness/testrunner.cc,tests/harness/testrunner.h,
5528	  tests/perftest/perftest.cc,tests/perftest/perftest.h: Change the
5529	  instances of \file and \brief in doxygen comments to @file and
5530	  @brief.
5531
5532Wed Jan 11 10:08:19 GMT 2012  Olly Betts <olly@survex.com>
5533
5534	* tests/internaltest.cc: Remove serialisedoc1 from the list of
5535	  testcases to run too.
5536
5537Wed Jan 11 09:50:22 GMT 2012  Olly Betts <olly@survex.com>
5538
5539	* matcher/multixorpostlist.h: Remove "using namespace std;" which we
5540	  don't need here.
5541
5542Wed Jan 11 09:38:27 GMT 2012  Olly Betts <olly@survex.com>
5543
5544	* common/filetests.h: Remove "using namespace std;" which we don't
5545	  need here.
5546
5547Wed Jan 11 09:36:27 GMT 2012  Olly Betts <olly@survex.com>
5548
5549	* common/filetests.h: Add documentation comments.
5550
5551Wed Jan 11 09:28:26 GMT 2012  Olly Betts <olly@survex.com>
5552
5553	* tests/api_serialise.cc: Extend serialise_document1 to test
5554	  serialising and unserialising an empty document, which is an
5555	  interesting edge case.
5556	* tests/internaltest.cc: Remove testcase serialisedoc1, which
5557	  now doesn't add useful additional coverage over serialise_document1.
5558
5559Wed Jan 11 08:29:04 GMT 2012  Olly Betts <olly@survex.com>
5560
5561	* tests/internaltest.cc: Test document serialisation via the public
5562	  API (which was added after the tests were).
5563	* net/serialise.h: Remove XAPIAN_VISIBILITY_DEFAULT from
5564	  serialise_document() and unserialise_document().
5565
5566Wed Jan 11 05:57:14 GMT 2012  Olly Betts <olly@survex.com>
5567
5568	* api/replication.cc,common/,tests/unittest.cc: Move removedir() from
5569	  utils.{cc,h} to fileutils.{cc,h}, and remove the now empty
5570	  utils.{cc,h}.
5571
5572Wed Jan 11 05:44:38 GMT 2012  Olly Betts <olly@survex.com>
5573
5574	* tests/harness/unixcmds.cc: Check return values from system() calls
5575	  and throw a std::string exception if non-zero.
5576
5577Wed Jan 11 05:20:30 GMT 2012  Olly Betts <olly@survex.com>
5578
5579	* common/Makefile.mk,common/omassert.cc,common/omassert.h,
5580	  common/utils.cc: Change the sense of the bool returned by
5581	  within_DBL_EPSILON() to match what the name suggests instead of being
5582	  the opposite, and change the use of it too.  Move
5583	  within_DBL_EPSILON() implementation from utils.cc to new file
5584	  omassert.cc, only compile it when assertions are on, and prototype it
5585	  in omassert.h rather than utils.h.
5586
5587Wed Jan 11 05:09:39 GMT 2012  Olly Betts <olly@survex.com>
5588
5589	* api/compactor.cc,api/replication.cc,backends/brass/,backends/chert/,
5590	  backends/dbfactory.cc,common/utils.cc,common/utils.h,
5591	  tests/api_backend.cc,tests/api_wrdb.cc,
5592	  tests/harness/backendmanager.cc,tests/harness/unixcmds.cc: Remove
5593	  std::string wrappers for C library functions from utils.h and just
5594	  explicitly call c_str() when we need to.  These wrappers are
5595	  problematic as they suppress warnings from _FORTIFY_SOURCE about
5596	  ignored return values, and I can't see an easy way to avoid that.
5597
5598Wed Jan 11 03:35:35 GMT 2012  Olly Betts <olly@survex.com>
5599
5600	* api/replication.cc,backends/brass/brass_databasereplicator.cc,
5601	  backends/brass/brass_table.cc,
5602	  backends/chert/chert_databasereplicator.cc,
5603	  backends/chert/chert_table.cc,backends/databasereplicator.cc,
5604	  backends/dbfactory.cc,common/utils.cc,common/utils.h: Use
5605	  file_exists() and dir_exists() from common/filetests.h everywhere and
5606	  remove the old versions in common/utils.h and common/utils.cc.
5607
5608Wed Jan 11 02:20:45 GMT 2012  Olly Betts <olly@survex.com>
5609
5610	* common/utils.h: Remove XAPIAN_VISIBILITY_DEFAULT from old
5611	  file_exists() and dir_exists().
5612
5613Wed Jan 11 02:19:58 GMT 2012  Olly Betts <olly@survex.com>
5614
5615	* tests/api_compact.cc: Convert to use filetests.h.
5616
5617Wed Jan 11 02:14:07 GMT 2012  Olly Betts <olly@survex.com>
5618
5619	* bin/xapian-check.cc,bin/xapian-inspect.cc: Convert to use
5620	  filetests.h.
5621
5622Wed Jan 11 02:13:02 GMT 2012  Olly Betts <olly@survex.com>
5623
5624	* common/filetests.h: Rename directory_exists() to dir_exists().
5625
5626Wed Jan 11 02:10:06 GMT 2012  Olly Betts <olly@survex.com>
5627
5628	* common/Makefile.mk,common/filetests.h,tests/api_replicate.cc,
5629	  tests/harness/backendmanager_multi.cc,tests/harness/testsuite.cc:
5630	  Add new inline versions of file_exists() and directory_exists() and
5631	  use these from the testsuite, as a step towards making these internal
5632	  to the library.
5633
5634Tue Jan 10 23:37:36 GMT 2012  Olly Betts <olly@survex.com>
5635
5636	* tests/api_serialise.cc: Change the rather odd "operator delete(p);"
5637	  to the more natural "delete p;".
5638
5639Tue Jan 10 22:45:01 GMT 2012  Olly Betts <olly@survex.com>
5640
5641	* tests/unittest.cc: Fix message typo in recent unittest change.
5642
5643Tue Jan 10 13:48:38 GMT 2012  Olly Betts <olly@survex.com>
5644
5645	* common/safesysstat.h: The S_ISDIR and S_ISREG macros for MSVC are
5646	  unlikely to work on other platforms (_S_IFMT vs S_IFMT, etc) so
5647	  split them.  Tweak a few comments.
5648
5649Tue Jan 10 13:10:25 GMT 2012  Olly Betts <olly@survex.com>
5650
5651	* net/: Split encode_length() and decode_length() out of
5652	  serialise.{cc,h} into new file length.{cc,h}, and remove
5653	  XAPIAN_VISIBILITY_DEFAULT from decode_length().
5654	* api/,backends/brass/brass_database.cc,
5655	  backends/chert/chert_database.cc,backends/remote/net_postlist.cc,
5656	  backends/remote/remote-database.cc,net/: Update headers which need
5657	  to be included.
5658	* tests/internaltest.cc,tests/unittest.cc: Move serialiselength1 and
5659	  serialiselength2 from internaltest to unittest.
5660
5661Mon Jan 09 02:16:22 GMT 2012  Olly Betts <olly@survex.com>
5662
5663	* tests/api_compact.cc: Actually add test coverage for
5664	  ByteLengthPrefixedStringItor - the previous attempt didn't cause
5665	  merging of synonym lists to happen.
5666
5667Mon Jan 09 00:21:25 GMT 2012  Olly Betts <olly@survex.com>
5668
5669	* tests/api_replicate.cc: Fix comment typo.
5670
5671Sun Jan 08 14:47:19 GMT 2012  Olly Betts <olly@survex.com>
5672
5673	* tests/api_compact.cc: Add test coverage for
5674	  ByteLengthPrefixedStringItor.
5675
5676Sun Jan 08 14:05:19 GMT 2012  Olly Betts <olly@survex.com>
5677
5678	* common/fd.h,tests/api_db.cc,tests/harness/backendmanager.cc: Add
5679	  missing explicit header includes, uncovered by compiling with
5680	  STLport.
5681
5682Sat Jan 07 11:45:00 GMT 2012  Olly Betts <olly@survex.com>
5683
5684	* INSTALL,configure.ac,m4/rjb_find_stlport.m4,xapian-config.in: Remove
5685	  configure's --with-stlport and --with-stlport-compiler options, as
5686	  they don't allow you to actually specify what you need (at least to
5687	  use the Debian STLport package), and instead document what to pass
5688	  to configure to enable building with STLport (though it seems to no
5689	  longer be actively maintained, and the debug mode (which is probably
5690	  the most interesting feature now) doesn't seem to work on Debian
5691	  stable).
5692
5693Sat Jan 07 10:24:25 GMT 2012  Olly Betts <olly@survex.com>
5694
5695	* HACKING: Update STLPort URL to point to the more active fork on
5696	  SourceForge.
5697
5698Fri Jan 06 20:07:06 GMT 2012  Olly Betts <olly@survex.com>
5699
5700	* tests/api_sorting.cc: Add check that NeverUseMeKeyMaker::operator()
5701	  would actually cause a test failure if called.
5702
5703Fri Jan 06 20:01:27 GMT 2012  Olly Betts <olly@survex.com>
5704
5705	* tests/api_stem.cc: Test get_description() on a user-implemented
5706	  stemmer.
5707
5708Fri Jan 06 14:34:16 GMT 2012  Olly Betts <olly@survex.com>
5709
5710	* tests/Makefile.am,tests/harness/,tests/queryparsertest.cc,
5711	  tests/termgentest.cc,tests/unittest.cc: Make unittest use the test
5712	  harness, so it gets all the valgrind and fd leak checks, and other
5713	  handy features all the other tests have.  Currently this is done in
5714	  a bit of a hacky way, but it's a starting point for abstracting out
5715	  the Xapian-specific parts of the test harness.
5716
5717Fri Jan 06 08:42:26 GMT 2012  Olly Betts <olly@survex.com>
5718
5719	* Makefile.am: Delete generated lcov directory before running genhtml.
5720	  Pass --demangle-cpp and --html-gzip to genhtml.
5721
5722Fri Jan 06 08:14:05 GMT 2012  Olly Betts <olly@survex.com>
5723
5724	* Makefile.am: Trim `pwd` off all paths in coverage report.
5725
5726Fri Jan 06 02:29:04 GMT 2012  Olly Betts <olly@survex.com>
5727
5728	* common/pretty.h: Add support for AndContext and OrContext.
5729
5730Fri Jan 06 02:28:07 GMT 2012  Olly Betts <olly@survex.com>
5731
5732	* common/pretty.h: Use XAPIAN_PRETTY_AS_CLASSNAME for classes in
5733	  namespace Xapian::Internal too.
5734
5735Thu Jan 05 12:23:10 GMT 2012  Olly Betts <olly@survex.com>
5736
5737	* tests/internaltest.cc,tests/unittest.cc: Move tests of
5738	  serialise_double() and unserialise_double() from internaltest to
5739	  unittest.
5740	* common/serialise-double.h: This means serialise_double() and
5741	  unserialise_double() no longer need external visibility, so make
5742	  them internal only.
5743
5744Thu Jan 05 12:08:15 GMT 2012  Olly Betts <olly@survex.com>
5745
5746	* common/bitstream.h: BitWriter doesn't need public visibility.
5747
5748Thu Jan 05 10:53:23 GMT 2012  Olly Betts <olly@survex.com>
5749
5750	* common/output-internal.h,common/pretty.h: Fix include paths for two
5751	  cases which are only used in a logging build.
5752
5753Fri Dec 30 09:17:50 GMT 2011  Olly Betts <olly@survex.com>
5754
5755	* tests/queryparsertest.cc: Update expected results (mostly because we
5756	  no longer flatten groups of the same operator at Query construction
5757	  time).
5758
5759Thu Dec 29 13:47:04 GMT 2011  Olly Betts <olly@survex.com>
5760
5761	* api/Makefile.mk: Add missing backslash so various headers actually
5762	  get shipped.
5763
5764Thu Dec 29 11:29:04 GMT 2011  Olly Betts <olly@survex.com>
5765
5766	* include/xapian/query.h: Add fake templated ctor for SWIG.
5767
5768Thu Dec 29 00:23:25 GMT 2011  Olly Betts <olly@survex.com>
5769
5770	* tests/api_scalability.cc: Add regression test querypairwise1 for
5771	  ticket#273.
5772
5773Thu Dec 29 00:03:17 GMT 2011  Olly Betts <olly@survex.com>
5774
5775	* api/,backends/remote/remote-database.cc,
5776	  backends/remote/remote-database.h,docs/deprecation.rst,
5777	  include/xapian/query.h,matcher/,net/remoteserver.cc,
5778	  queryparser/queryparser.lemony,tests/,weight/weightinternal.h: Merge
5779	  query-internal-reimplementation git branch which reimplements
5780	  Query::Internal. (ticket#280).  These are the most notable changes:
5781	  + Query objects are smaller and should be faster.
5782	  + More readable format for Query::get_description().
5783	  + More compact serialisation format for Query objects.
5784	  + Query operators are no longer flattened as you build up a tree (but
5785	    the query optimiser still combines groups of the same operator).
5786	    This means that Query objects are truly immutable, and so we don't
5787	    need to copy Query objects when composing them.  This should also
5788	    fix a few O(n*n) cases when building up an n-way query pair-wise.
5789	    (ticket#273)
5790	  + The Query optimiser can do a few extra optimisations.
5791
5792Mon Dec 26 12:13:36 GMT 2011  Olly Betts <olly@survex.com>
5793
5794	* include/xapian/queryparser.h,queryparser/queryparser.cc: Change
5795	  QueryParser::set_default_op() to reject operators which don't make
5796	  sense to set, and explicitly document all the operators which are
5797	  allowed.
5798	* tests/queryparsertest.cc: Check that bad operators are rejected in
5799	  existing testcase qp_default_op2.  Add new testcase qp_default_op3 to
5800	  check that good operators can be set and work in a simple testcase.
5801
5802Mon Dec 26 09:12:09 GMT 2011  Olly Betts <olly@survex.com>
5803
5804	* tests/harness/backendmanager_brass.h,
5805	  tests/harness/backendmanager_chert.h: Remove superfluous "private:"
5806	  access specifiers.
5807
5808Sat Dec 24 12:34:19 GMT 2011  Olly Betts <olly@survex.com>
5809
5810	* HACKING: Recommend installing valgrind, ccache, and eatmydata.
5811
5812Sat Dec 24 12:28:44 GMT 2011  Olly Betts <olly@survex.com>
5813
5814	* HACKING: Make it clear "Building from SVN" applies to git too, and
5815	  mention that git-svn is needed when building from git.
5816
5817Thu Dec 22 11:18:17 GMT 2011  Olly Betts <olly@survex.com>
5818
5819	* languages/compiler/generator.c: Initialise variable which can
5820	  be used uninitialised.
5821
5822Thu Dec 22 03:14:02 GMT 2011  Olly Betts <olly@survex.com>
5823
5824	* bin/Makefile.mk: Link $(libxapian_la) after libbrasscheck.la and
5825	  libchertcheck.la to fix mingw build.  Probably closes ticket#567.
5826
5827Thu Dec 22 02:45:45 GMT 2011  Olly Betts <olly@survex.com>
5828
5829	* include/xapian/query.h: Document that OP_ELITE_SET with non-term
5830	  subqueries might pick subqueries which don't match anything.
5831	  Closes ticket#49.
5832
5833Thu Dec 22 02:37:10 GMT 2011  Olly Betts <olly@survex.com>
5834
5835	* include/xapian/query.h: Improve documentation of OP_ELITE_SET.
5836
5837Wed Dec 21 12:26:00 GMT 2011  Olly Betts <olly@survex.com>
5838
5839	* api/errorhandler.cc: Rearrange code in ErrorHandler::operator() to
5840	  be clearer.
5841
5842Wed Dec 21 11:23:28 GMT 2011  Olly Betts <olly@survex.com>
5843
5844	* include/xapian/errorhandler.h: Fix typo: 'APU' -> 'API'.
5845
5846Wed Dec 21 09:57:32 GMT 2011  Olly Betts <olly@survex.com>
5847
5848	* api/,backends/brass/brass_postlist.cc,
5849	  backends/brass/brass_postlist.h,backends/chert/,
5850	  backends/contiguousalldocspostlist.cc,
5851	  backends/contiguousalldocspostlist.h,
5852	  backends/inmemory/inmemory_database.cc,
5853	  backends/inmemory/inmemory_database.h,
5854	  backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h,
5855	  backends/remote/,docs/,expand/,include/xapian/,matcher/,
5856	  net/remoteserver.cc,net/serialise.cc,tests/,weight/bm25weight.cc,
5857	  weight/boolweight.cc,weight/tradweight.cc: Deprecate Xapian::weight
5858	  typedef in favour of just using double, and make the replacement
5859	  everywhere.  Closes ticket#560.
5860
5861Tue Dec 20 13:31:21 GMT 2011  Olly Betts <olly@survex.com>
5862
5863	* net/remoteconnection.cc: Include "safesysstat.h" for fstat().
5864
5865Fri Dec 16 03:05:17 GMT 2011  Olly Betts <olly@survex.com>
5866
5867	* backends/brass/brass_termlisttable.cc,
5868	  backends/chert/chert_termlisttable.cc,
5869	  backends/multi/multi_postlist.cc,net/replicatetcpclient.cc,
5870	  net/serialise.cc,net/tcpserver.cc,tests/,
5871	  tests/harness/backendmanager_remoteprog.cc,tests/queryparsertest.cc,
5872	  tests/soaktest/soaktest_queries.cc,tests/termgentest.cc: Remove
5873	  unnecessary includes on "utils.h".
5874
5875Fri Dec 16 02:57:49 GMT 2011  Olly Betts <olly@survex.com>
5876
5877	* backends/brass/brass_btreebase.cc,backends/brass/brass_database.cc,
5878	  backends/brass/brass_databasereplicator.cc,
5879	  backends/chert/chert_btreebase.cc,backends/chert/chert_database.cc,
5880	  backends/chert/chert_databasereplicator.cc,
5881	  net/remoteconnection.cc,tests/api_replicate.cc: Replace uses of
5882	  fdcloser class with new FD class.
5883	* common/utils.h: Remove fdcloser class.
5884
5885Fri Dec 16 00:56:45 GMT 2011  Olly Betts <olly@survex.com>
5886
5887	* tests/api_replicate.cc: Use a const int rather than a #define for
5888	  BUFSIZE.
5889
5890Fri Dec 16 00:50:57 GMT 2011  Olly Betts <olly@survex.com>
5891
5892	* tests/api_replicate.cc: Avoid leaking fds on exceptions in
5893	  truncated_copy().
5894
5895Fri Dec 16 00:42:11 GMT 2011  Olly Betts <olly@survex.com>
5896
5897	* common/fd.h: Oops, fix to actually compile.
5898
5899Thu Dec 15 23:54:44 GMT 2011  Olly Betts <olly@survex.com>
5900
5901	* common/Makefile.mk,common/fd.h: Add new FD class which wraps a file
5902	  descriptor and ensures it gets released when we exit the scope.
5903
5904Thu Dec 15 22:44:16 GMT 2011  Olly Betts <olly@survex.com>
5905
5906	* weight/Makefile: Add forwarding Makefile.
5907
5908Thu Dec 15 22:17:18 GMT 2011  Olly Betts <olly@survex.com>
5909
5910	* weight/Makefile.mk: Ship dir_contents and Makefile.
5911
5912Tue Dec 13 10:33:21 GMT 2011  Olly Betts <olly@survex.com>
5913
5914	* NEWS: Update from ChangeLog and branches/1.2.
5915
5916Fri Dec 09 10:33:25 GMT 2011  Olly Betts <olly@survex.com>
5917
5918	* tests/soaktest/soaktest.cc,tests/soaktest/soaktest.h,
5919	  tests/soaktest/soaktest_queries.cc: "boulton" -> "Boulton" in
5920	  copyright statements.
5921
5922Fri Dec 09 10:31:18 GMT 2011  Olly Betts <olly@survex.com>
5923
5924	* tests/soaktest/soaktest.cc: With Sun's compiler, random() and
5925	  srandom() aren't in <cstdlib> so we need to use <stdlib.h> instead.
5926
5927Fri Dec 09 07:51:44 GMT 2011  Olly Betts <olly@survex.com>
5928
5929	* include/xapian/types.h: Set BAD_VALUENO to 0xffffffff rather than
5930	  static_cast<valueno>(-1) - it's the same value currently, but more
5931	  robust to valueno being set a wider type.
5932
5933Fri Dec 09 07:49:07 GMT 2011  Olly Betts <olly@survex.com>
5934
5935	* include/xapian/types.h: Explicitly document which value slot numbers
5936	  are valid.  Fixes ticket#555.
5937
5938Sat Dec 03 09:32:55 GMT 2011  Olly Betts <olly@survex.com>
5939
5940	* tests/api_opsynonym.cc: Fix typo in comment.
5941
5942Thu Dec 01 04:41:24 GMT 2011  Olly Betts <olly@survex.com>
5943
5944	* include/xapian/database.h: Remove bogus paragraph in
5945	  replace_document() documentation comment, cut and pasted from
5946	  delete_document() documentation comment.  (Fixes bug#579)
5947
5948Tue Nov 08 01:50:25 GMT 2011  Olly Betts <olly@survex.com>
5949
5950	* include/xapian/enquire.h: Add missing doxygen @param commands.
5951
5952Tue Nov 08 01:33:34 GMT 2011  Olly Betts <olly@survex.com>
5953
5954	* include/xapian/database.h,include/xapian/document.h: Add missing
5955	  doxygen @param commands.
5956
5957Mon Nov 07 10:31:04 GMT 2011  Olly Betts <olly@survex.com>
5958
5959	* include/xapian/queryparser.h: Address doxygen warnings.
5960
5961Mon Nov 07 02:40:50 GMT 2011  Olly Betts <olly@survex.com>
5962
5963	* include/xapian/postingsource.h: Document undocumented parameters,
5964	  fixing doxygen warnings.
5965	* include/xapian/queryparser.h: Escape < and > in doxygen comments.
5966
5967Mon Nov 07 02:38:18 GMT 2011  Olly Betts <olly@survex.com>
5968
5969	* include/xapian/enquire.h: Enquire::get_eset() doesn't take a min_wt
5970	  parameter, so remove @param documentation for it.
5971
5972Mon Nov 07 01:59:54 GMT 2011  Olly Betts <olly@survex.com>
5973
5974	* include/xapian/: Document lots of parameters, fixing doxygen
5975	  warnings.
5976
5977Sun Nov 06 22:05:09 GMT 2011  Olly Betts <olly@survex.com>
5978
5979	* generate-exceptions: Document all parameters to fix doxygen
5980	  warnings.
5981
5982Sun Nov 06 22:03:50 GMT 2011  Olly Betts <olly@survex.com>
5983
5984	* include/xapian/: Fix doxygen warnings.
5985
5986Sun Nov 06 21:00:08 GMT 2011  Olly Betts <olly@survex.com>
5987
5988	* include/xapian/queryparser.h: Document value parameter of
5989	  sortable_serialise() and sortable_unserialise().
5990
5991Sun Nov 06 17:53:31 GMT 2011  Olly Betts <olly@survex.com>
5992
5993	* include/xapian/document.h: Improve Document get_data() and set_data()
5994	  documentation comments.
5995
5996Sun Nov 06 17:14:39 GMT 2011  Olly Betts <olly@survex.com>
5997
5998	* tests/Makefile.am: Add -I$(top_srcdir) so api/replication.h is found
5999	  in a VPATH build.
6000
6001Sun Nov 06 16:06:52 GMT 2011  Olly Betts <olly@survex.com>
6002
6003	* api/,backends/database.h,backends/document.h,
6004	  backends/multi/multi_alltermslist.h,backends/positionlist.h,common/,
6005	  tests/harness/: More more headers out of common.
6006
6007Sun Nov 06 14:55:25 GMT 2011  Olly Betts <olly@survex.com>
6008
6009	* api/maptermlist.h,backends/inmemory/Makefile.mk,
6010	  backends/inmemory/inmemory_positionlist.h,
6011	  backends/remote/Makefile.mk,backends/remote/remote-database.cc,
6012	  backends/remote/remote-database.h,common/Makefile.mk,
6013	  common/inmemory_positionlist.h,common/remote-database.h,
6014	  matcher/multimatch.cc,matcher/remotesubmatch.cc,
6015	  matcher/remotesubmatch.h,net/progclient.h,net/remotetcpclient.h:
6016	  Move two more headers out of common.
6017
6018Sun Nov 06 11:56:46 GMT 2011  Olly Betts <olly@survex.com>
6019
6020	* tests/internaltest.cc: Fix for VPATH build.
6021
6022Sun Nov 06 11:26:18 GMT 2011  Olly Betts <olly@survex.com>
6023
6024	* common/,tests/api_replicate.cc: Factor internal classes out of
6025	  output.h into new output-internal.h to fix build failures in VPATH
6026	  due to move of weightinternal.h out of common (since the test harness
6027	  uses output.h).
6028
6029Sun Nov 06 00:49:45 GMT 2011  Olly Betts <olly@survex.com>
6030
6031	* api/,backends/brass/,backends/chert/,backends/dbfactory_remote.cc,
6032	  backends/inmemory/inmemory_database.cc,
6033	  backends/multi/multi_termlist.cc,backends/remote/net_postlist.cc,
6034	  backends/remote/net_termlist.h,backends/remote/remote-database.cc,
6035	  bin/,common/,expand/,matcher/,net/,tests/internaltest.cc,
6036	  weight/Makefile.mk,weight/weightinternal.h: Move even more headers
6037	  out of common and next to their corresponding C++ file.
6038
6039Sat Nov 05 23:55:55 GMT 2011  Olly Betts <olly@survex.com>
6040
6041	* api/replication.cc,backends/Makefile.mk,
6042	  backends/brass/brass_databasereplicator.h,
6043	  backends/chert/chert_databasereplicator.h,
6044	  backends/databasereplicator.h,common/Makefile.mk,
6045	  common/databasereplicator.h: Move databasereplicator.h from common to
6046	  backends.
6047
6048Sat Nov 05 23:51:40 GMT 2011  Olly Betts <olly@survex.com>
6049
6050	* backends/Makefile.mk: Fix sort order of noinst_HEADERS.
6051
6052Sat Nov 05 23:50:33 GMT 2011  Olly Betts <olly@survex.com>
6053
6054	* api/documentvaluelist.h,api/omdatabase.cc,api/valueiterator.cc,
6055	  backends/Makefile.mk,backends/brass/,backends/chert/,
6056	  backends/inmemory/inmemory_database.cc,
6057	  backends/multi/multi_valuelist.cc,backends/multivaluelist.h,
6058	  backends/valuelist.h,backends/valuestats.h,bin/xapian-check-brass.cc,
6059	  bin/xapian-check-chert.cc,common/,matcher/valuerangepostlist.h,
6060	  matcher/valuestreamdocument.h: Move multivaluelist.h, valuelist.h and
6061	  valuestats.h from common to backends.
6062
6063Sat Nov 05 23:40:49 GMT 2011  Olly Betts <olly@survex.com>
6064
6065	* api/,backends/brass/brass_postlist.h,backends/chert/chert_postlist.h,
6066	  backends/contiguousalldocspostlist.h,backends/database.cc,
6067	  backends/inmemory/inmemory_database.h,
6068	  backends/multi/multi_postlist.h,backends/remote/net_postlist.h,
6069	  backends/remote/remote-database.cc,common/,matcher/: Move
6070	  emptypostlist.h, leafpostlist.h and postlist.h from common to api.
6071
6072Sat Nov 05 23:31:14 GMT 2011  Olly Betts <olly@survex.com>
6073
6074	* backends/Makefile.mk,backends/brass/brass_database.cc,
6075	  backends/chert/chert_database.cc,
6076	  backends/contiguousalldocspostlist.h,common/Makefile.mk,
6077	  common/contiguousalldocspostlist.h: Move contiguousalldocspostlist.h
6078	  from common to backends.
6079
6080Sat Nov 05 23:28:49 GMT 2011  Olly Betts <olly@survex.com>
6081
6082	* api/omdatabase.cc,backends/Makefile.mk,backends/alltermslist.h,
6083	  backends/brass/,backends/chert/,
6084	  backends/inmemory/inmemory_alltermslist.h,common/Makefile.mk,
6085	  common/alltermslist.h,common/multialltermslist.h: Move alltermslist.h
6086	  from common to backends.
6087
6088Sat Nov 05 23:20:05 GMT 2011  Olly Betts <olly@survex.com>
6089
6090	* common/safesysselect.h: Fix typo (FDSET -> FD_SET).
6091
6092Sat Nov 05 23:12:09 GMT 2011  Olly Betts <olly@survex.com>
6093
6094	* common/safesysselect.h: Enhance to provide portability for __WIN32__
6095	  too.
6096	* net/remoteconnection.cc,net/tcpclient.cc: Update to make use of this.
6097
6098Sat Nov 05 22:39:51 GMT 2011  Olly Betts <olly@survex.com>
6099
6100	* common/safesysselect.h: Add wrapper around FD_SET() under __WIN32__
6101	  which casts the fd parameter to unsigned to avoid a warning on mingw.
6102	* net/tcpclient.cc: Remove __WIN32__-specific case here which was
6103	  working around this warning.
6104
6105Sat Nov 05 21:58:12 GMT 2011  Olly Betts <olly@survex.com>
6106
6107	* bin/.gitignore,bin/Makefile.mk,bin/xapian-delve.cc,
6108	  docs/admin_notes.rst,examples/,xapian-core.spec.in: Move delve from
6109	  examples to bin and rename to xapian-delve.
6110
6111Sat Nov 05 15:18:37 GMT 2011  Olly Betts <olly@survex.com>
6112
6113	* docs/overview.rst: Fix a few things which were out of date and
6114	  improve wording in various places.
6115
6116Sat Nov 05 12:07:14 GMT 2011  Olly Betts <olly@survex.com>
6117
6118	* docs/quickstart.rst: Fix some factual errors, and tweak .rst
6119	  source layout a little (":\n::\n" -> "::\n").
6120
6121Thu Nov 03 20:53:49 GMT 2011  Richard Boulton <richard@tartarus.org>
6122
6123	* common/msvc_posix_wrapper.cc,common/safe.cc,net/tcpclient.cc:
6124	  Some fixes for warnings when cross-compiling with mingw; missing
6125	  includes to get declarations of functions in windows support
6126	  code, and change to use the windows SOCKET type to avoid a
6127	  signed/unsigned comparison warning in tcpclient.
6128
6129Sun Oct 30 23:31:09 GMT 2011  Olly Betts <olly@survex.com>
6130
6131	* NEWS: Update from ChangeLog.
6132
6133Sun Oct 30 13:16:12 GMT 2011  Olly Betts <olly@survex.com>
6134
6135	* include/xapian/queryparser.h: List which flags FLAG_DEFAULT includes
6136	  in the doxygen documentation comments.
6137
6138Sat Oct 29 14:47:04 GMT 2011  Olly Betts <olly@survex.com>
6139
6140	* include/xapian/enquire.h: Add note to API docs to discourage use
6141	  of percentage scores.
6142
6143Sat Oct 29 14:40:39 GMT 2011  Olly Betts <olly@survex.com>
6144
6145	* docs/quickstart.rst,docs/quickstartexpand.cc.html,
6146	  docs/quickstartsearch.cc.html,examples/quest.cc,
6147	  examples/simpleexpand.cc,examples/simplesearch.cc: Use get_weight()
6148	  instead of get_percent() in examples, since percentages are rather
6149	  old fashioned and you probably don't want to use them in new
6150	  applications.
6151
6152Sat Oct 29 13:29:37 GMT 2011  Olly Betts <olly@survex.com>
6153
6154	* api/omenquire.cc,common/omenquireinternal.h,docs/deprecation.rst,
6155	  include/xapian/enquire.h,include/xapian/types.h,tests/api_anydb.cc:
6156	  Deprecate Xapian::percent and use int instead in the API and our
6157	  own code.
6158
6159Sat Oct 29 12:30:05 GMT 2011  Olly Betts <olly@survex.com>
6160
6161	* docs/quickstart.rst: Fix indentation of example code.
6162
6163Sat Oct 29 10:04:24 GMT 2011  Olly Betts <olly@survex.com>
6164
6165	* docs/overview.rst: Fix typo in example code.
6166
6167Fri Oct 28 14:39:09 GMT 2011  Olly Betts <olly@survex.com>
6168
6169	* include/xapian/database.h: Note that commit() was new in 1.1.0.
6170
6171Fri Oct 14 12:38:45 GMT 2011  Olly Betts <olly@survex.com>
6172
6173	* common/realtime.h: Use safesysselect.h.
6174
6175Mon Oct 03 00:53:13 GMT 2011  Olly Betts <olly@survex.com>
6176
6177	* queryparser/lemon.c: Incorporate changes from latest upstream
6178	  version.  I'm failing to follow branch structure upstream to work
6179	  out which changesets to merge so it's simpler to just compare the
6180	  latest version with what we currently have.
6181
6182Sun Oct 02 23:31:52 GMT 2011  Olly Betts <olly@survex.com>
6183
6184	* queryparser/lemon.c: Merge https://www.sqlite.org/src/info/d8bab8cf0b:
6185	  'Added %expect directive, to consider a certain number of conflicts
6186	  "correct." This has the side effect of changing the process exit
6187	  code to never overflow.'
6188
6189Sun Oct 02 23:26:34 GMT 2011  Olly Betts <olly@survex.com>
6190
6191	* queryparser/lemon.c: Merge https://www.sqlite.org/src/info/e6cbe1e5ee:
6192	  "Added -T option, to specify a template filename on the command
6193	  line.  The default is still "lempar.c", though."  Not currently
6194	  useful to us, but trying to minimise differences with upstream
6195	  lemon.
6196
6197Sun Oct 02 23:14:32 GMT 2011  Olly Betts <olly@survex.com>
6198
6199	* queryparser/lemon.c: Merge https://www.sqlite.org/src/info/e22c090f35:
6200	  "Another attempt at fixing the table generator in lemon. Again, this
6201	  does not effect the SQLite grammar."  No change to generated grammar
6202	  for QueryParser.
6203
6204Sun Oct 02 22:59:28 GMT 2011  Olly Betts <olly@survex.com>
6205
6206	* queryparser/lemon.c: Merge https://www.sqlite.org/src/info/077a6bee2d:
6207	  "Fix an issue with lemon generating incorrect grammars. This issue
6208	  does not effect SQLite."  This means we now get the same tables
6209	  generated as before the previous change.
6210
6211Sun Oct 02 22:25:54 GMT 2011  Olly Betts <olly@survex.com>
6212
6213	* queryparser/lemon.c,queryparser/queryparser.lt: Merge
6214	  https://www.sqlite.org/src/info/27d8e684db: Enhancements to lemon to
6215	  generate more compact action tables and to avoid making array bounds
6216	  tests that can never fail on action table calculations.  This
6217	  reduces the size of QueryParser's tables a little.
6218
6219Sun Oct 02 21:47:36 GMT 2011  Olly Betts <olly@survex.com>
6220
6221	* queryparser/lemon.c: Merge https://www.sqlite.org/src/info/d66a0f31eb:
6222	  Adjust the lemon implementation so that it always computes the same
6223	  PDA regardless of qsort() implementation on the host platform. In
6224	  other words, make all sorts in lemon stable.
6225
6226Thu Sep 29 12:11:28 GMT 2011  Olly Betts <olly@survex.com>
6227
6228	* tests/queryparsertest.cc: Add cases to ensure a quoted boolean
6229	  prefix accepts an empty value or a single space.
6230
6231Wed Sep 14 04:48:57 GMT 2011  Olly Betts <olly@survex.com>
6232
6233	* docs/quickstart.rst: Correct link which was to
6234	  quickstartsearch.cc.html but should be to quickstartindex.cc.html.
6235
6236Tue Sep 13 08:51:34 GMT 2011  Olly Betts <olly@survex.com>
6237
6238	* backends/flint_lock.cc: Fix comment typo.
6239
6240Thu Sep 01 12:50:43 GMT 2011  Olly Betts <olly@survex.com>
6241
6242	* include/xapian/enquire.h: Clarify "sort by date" with BoolWeight
6243	  example.
6244
6245Tue Aug 30 13:51:48 GMT 2011  Olly Betts <olly@survex.com>
6246
6247	* docs/index.rst: Add link to apidoc.pdf.
6248
6249Wed Aug 24 14:12:05 GMT 2011  Olly Betts <olly@survex.com>
6250
6251	* queryparser/queryparser.lemony: Fix memory leak (caught by existing
6252	  testcase queryparser1 when run under valgrind).
6253
6254Wed Aug 24 12:47:49 GMT 2011  Olly Betts <olly@survex.com>
6255
6256	* queryparser/,tests/queryparsertest.cc,tests/termgentest.cc: Add
6257	  support for indexing and searching CJK text using n-grams.  Currently
6258	  this is only enabled if environmental variable XAPIAN_CJK_NGRAM is
6259	  set to a non-empty value.
6260
6261Tue Aug 23 03:49:27 GMT 2011  Olly Betts <olly@survex.com>
6262
6263	* api/vectortermlist.cc,api/vectortermlist.h: Change so that p == NULL
6264	  represents at_end, and p == data.data() means we've yet to start.
6265
6266Mon Aug 22 15:30:51 GMT 2011  Olly Betts <olly@survex.com>
6267
6268	* api/vectortermlist.cc: Add new source file missed from last commit.
6269
6270Mon Aug 22 14:32:50 GMT 2011  Olly Betts <olly@survex.com>
6271
6272	* api/,backends/brass/brass_synonym.cc,backends/chert/chert_synonym.cc,
6273	  common/Makefile.mk,common/vectortermlist.h,
6274	  queryparser/queryparser.cc: Reimplement VectorTermList to store the
6275	  list of terms encoded into a single std::string, which is a lot more
6276	  memory efficient that std::vector<std::string>.
6277
6278Mon Aug 22 12:22:49 GMT 2011  Olly Betts <olly@survex.com>
6279
6280	* common/Makefile.mk,common/const_database_wrapper.cc,
6281	  common/const_database_wrapper.h,matcher/Makefile.mk,
6282	  matcher/const_database_wrapper.cc,matcher/const_database_wrapper.h:
6283	  Move const_database_wrapper.h and const_database_wrapper.cc from
6284	  common/ to matcher/.
6285
6286Sun Aug 21 12:43:38 GMT 2011  Olly Betts <olly@survex.com>
6287
6288	* Makefile.am: Since we require GNU find for the coverage-check target,
6289	  make use of its -delete option, so we no longer also need GNU xargs.
6290
6291Thu Aug 18 06:28:11 GMT 2011  Olly Betts <olly@survex.com>
6292
6293	* queryparser/queryparser.lemony: Reorder header includes to be more
6294	  standard.
6295
6296Thu Aug 18 01:06:00 GMT 2011  Olly Betts <olly@survex.com>
6297
6298	* queryparser/queryparser.lemony: <cstring> not <string.h>.
6299
6300Tue Aug 16 04:56:20 GMT 2011  Olly Betts <olly@survex.com>
6301
6302	* bin/xapian-check.cc: Throw Xapian::FeatureUnavailableError if
6303	  backends are disabled, rather than const char *.
6304
6305Tue Aug 16 04:49:05 GMT 2011  Olly Betts <olly@survex.com>
6306
6307	* backends/brass/brass_check.cc,backends/brass/brass_check.h,
6308	  backends/chert/chert_check.cc,backends/chert/chert_check.h,
6309	  bin/xapian-check.cc: Instead of giving cryptic numeric codes for
6310	  B-tree errors and then throwing const char *, throw
6311	  Xapian::DatabaseError() exceptions with string descriptions.
6312
6313Fri Aug 12 23:11:51 GMT 2011  Olly Betts <olly@survex.com>
6314
6315	* NEWS: Update from 1.2.7 and ChangeLog.
6316
6317Fri Aug 12 06:38:45 GMT 2011  Olly Betts <olly@survex.com>
6318
6319	* backends/remote/remote-database.cc: Factor out throw_bad_message().
6320
6321Fri Aug 12 06:22:14 GMT 2011  Olly Betts <olly@survex.com>
6322
6323	* net/remoteconnection.cc: Factor out throw_database_closed().
6324
6325Fri Aug 12 06:17:43 GMT 2011  Olly Betts <olly@survex.com>
6326
6327	* net/remoteserver.cc: Factor out throw_read_only() function.
6328
6329Fri Aug 12 06:17:01 GMT 2011  Olly Betts <olly@survex.com>
6330
6331	* common/noreturn.h: Add comment showing how to use XAPIAN_NORETURN
6332	  macro.
6333
6334Sat Aug 06 05:15:53 GMT 2011  Olly Betts <olly@survex.com>
6335
6336	* api/positioniterator.cc,api/postingsource.cc,api/valueiterator.cc,
6337	  common/serialise.h,include/xapian/positioniterator.h,
6338	  include/xapian/postingsource.h: Fix new warnings from -Wshadow with
6339	  GCC 4.6.  These warnings are when a variable name "shadows" a
6340	  typename, which doesn't seem problematic in general, but the only
6341	  alternative seems to be to disable -Wshadow entirely, and it is
6342	  useful in other cases.
6343
6344Thu Aug 04 07:57:09 GMT 2011  Olly Betts <olly@survex.com>
6345
6346	* backends/dbfactory_remote.cc,docs/deprecation.rst,
6347	  include/xapian/dbfactory.h,include/xapian/types.h: Deprecate
6348	  Xapian::timeout in favour of POSIX type useconds_t.
6349
6350Thu Aug 04 04:04:45 GMT 2011  Olly Betts <olly@survex.com>
6351
6352	* include/xapian/termgenerator.h,
6353	  queryparser/termgenerator_internal.cc: Rename weight parameter to
6354	  wdf_inc, which much better describes what it does, and avoids a
6355	  -Wshadow warning with GCC 4.6.
6356
6357Thu Aug 04 04:03:37 GMT 2011  Olly Betts <olly@survex.com>
6358
6359	* api/registry.cc: Rename weight variable to weighting_scheme to avoid
6360	  -Wshadow warning.
6361
6362Wed Aug 03 23:13:36 GMT 2011  Olly Betts <olly@survex.com>
6363
6364	* configure.ac: -Wshadow gives bogus warnings with 4.0 (at least on Mac
6365	  OS X), so disable it for GCC < 4.1 (like the comments suggest we
6366	  already did!)
6367
6368Wed Aug 03 22:53:55 GMT 2011  Olly Betts <olly@survex.com>
6369
6370	* configure.ac: Enable -fshow-column for GCC - things like vim's
6371	  quickfix mode will then jump to the appropriate column for a
6372	  compiler error or warning, not just the appropriate line.
6373
6374Wed Aug 03 22:13:26 GMT 2011  Olly Betts <olly@survex.com>
6375
6376	* api/omdocument.cc,backends/brass/brass_database.cc,
6377	  backends/chert/chert_database.cc,common/document.h: Document objects
6378	  now track if term positions might have been modified, so we can avoid
6379	  having to consider them at all if you take a document and add or
6380	  remove a boolean filter term.  This gives an 18% speedup for adding
6381	  tags in notmuch.
6382
6383Mon Aug 01 15:15:17 GMT 2011  Olly Betts <olly@survex.com>
6384
6385	* api/Makefile.mk,api/ompostlistiterator.cc,api/postingiterator.cc,
6386	  include/xapian/postingiterator.h,tests/api_db.cc: Redo
6387	  PostingIterator based on TermIterator with efficient end iterator
6388	  checks.
6389
6390Mon Aug 01 13:34:44 GMT 2011  Olly Betts <olly@survex.com>
6391
6392	* api/,backends/brass/brass_database.cc,
6393	  backends/chert/chert_database.cc,
6394	  backends/inmemory/inmemory_database.cc,common/positionlist.h,
6395	  examples/delve.cc,include/xapian/positioniterator.h,
6396	  include/xapian/termiterator.h,include/xapian/valueiterator.h: Take
6397	  the old SVN end-iterator-proxies branch and rework the TermIterator
6398	  and PositionIterator reimplementations there to use the same
6399	  approach as ValueIterator now uses.
6400
6401Sun Jul 31 15:24:55 GMT 2011  Olly Betts <olly@survex.com>
6402
6403	* include/xapian/valueiterator.h: Fix comment typo.
6404
6405Sun Jul 31 14:45:46 GMT 2011  Olly Betts <olly@survex.com>
6406
6407	* api/omenquire.cc,tests/api_anydb.cc: Previously,
6408	  Enquire::get_matching_terms_begin() threw InvalidArgumentError if
6409	  the query was empty.  Now we just return an end iterator, which is
6410	  more consistent with how empty queries behave elsewhere.
6411
6412Sun Jul 31 13:44:06 GMT 2011  Olly Betts <olly@survex.com>
6413
6414	* api/valueiterator.cc,include/xapian/valueiterator.h: Rename private
6415	  ValueIterator::deref() method to decref() (since dereference has
6416	  another meaning to the intended "remove a reference").
6417
6418Sun Jul 31 11:27:33 GMT 2011  Olly Betts <olly@survex.com>
6419
6420	* api/valueiterator.cc,include/xapian/database.h,
6421	  include/xapian/document.h,include/xapian/valueiterator.h: Don't use
6422	  intrusive_ptr to reference count ValueIterator internals, but
6423	  instead update the reference count in hand-written code.  This is
6424	  less good in itself, but it means we can inline ValueIterator's
6425	  default constructor and its destructor in the case where the
6426	  internal is NULL, which should mean a comparison with the end
6427	  iterator optimises to a NULL pointer check but without needing
6428	  the ValueIteratorEnd_ class, which doesn't work as ValueIterator()
6429	  would in templates or some cases of overload resolution.
6430
6431Sat Jul 30 12:07:52 GMT 2011  Olly Betts <olly@survex.com>
6432
6433	* docs/doxygen_api.conf.in: Don't generate XML from doxygen for the
6434	  bindings - the bindings now do this for themselves.  (ticket#262)
6435
6436Fri Jul 29 01:33:37 GMT 2011  Olly Betts <olly@survex.com>
6437
6438	* include/xapian/enquire.h: Just forward declare "class KeyMaker"
6439	  rather than including <xapian/keymaker.h>.
6440
6441Fri Jul 29 01:28:08 GMT 2011  Olly Betts <olly@survex.com>
6442
6443	* api/omdatabase.cc,backends/slowvaluelist.cc,
6444	  include/xapian/database.h,matcher/valuestreamdocument.cc: Change
6445	  Database::get_document_lazily_() to return void* so we don't need
6446	  to include xapian/document.h from xapian/database.h just to get
6447	  Document::Internal declared.  This doesn't affect user code, but
6448	  reduces the number of files which need to be rebuilt in the library
6449	  when xapian/document.h changes.
6450
6451Wed Jul 27 05:59:32 GMT 2011  Olly Betts <olly@survex.com>
6452
6453	* include/xapian/matchspy.h: Remove unnecessary header includes.
6454
6455Wed Jul 27 02:11:08 GMT 2011  Olly Betts <olly@survex.com>
6456
6457	* docs/index.rst: Add links to Omega and bindings docs.
6458
6459Tue Jul 26 05:36:50 GMT 2011  Olly Betts <olly@survex.com>
6460
6461	* docs/deprecation.rst: Add Omega's OLDP CGI parameter.
6462
6463Fri Jul 22 15:37:48 GMT 2011  Olly Betts <olly@survex.com>
6464
6465	* include/xapian/queryparser.h: Reword documentation of
6466	  add_boolean_prefix()'s exclusive parameter to talk about terms and
6467	  prefixes rather than values and fields (which was confusing since
6468	  "document value" has a particular meaning in Xapian).
6469
6470Thu Jul 21 03:37:49 GMT 2011  Olly Betts <olly@survex.com>
6471
6472	* matcher/mergepostlist.cc: Another debug logging fix.
6473
6474Thu Jul 21 03:16:39 GMT 2011  Olly Betts <olly@survex.com>
6475
6476	* api/omenquire.cc,api/ompostlistiterator.cc,
6477	  backends/brass/brass_database.cc,
6478	  backends/brass/brass_positionlist.cc,
6479	  backends/brass/brass_postlist.cc,backends/chert/chert_database.cc,
6480	  backends/chert/chert_positionlist.cc,
6481	  backends/chert/chert_postlist.cc: More debug logging fixes.
6482
6483Thu Jul 21 02:55:00 GMT 2011  Olly Betts <olly@survex.com>
6484
6485	* api/omdatabase.cc,api/omenquire.cc,api/replication.cc,
6486	  backends/brass/brass_alldocspostlist.cc,
6487	  backends/brass/brass_database.cc,
6488	  backends/brass/brass_spellingwordslist.cc,backends/chert/,
6489	  matcher/mergepostlist.cc,matcher/msetpostlist.cc,
6490	  matcher/synonympostlist.cc: Fix various incorrect LOGCALL lines.
6491
6492Thu Jul 21 02:12:25 GMT 2011  Olly Betts <olly@survex.com>
6493
6494	* backends/brass/brass_postlist.cc,backends/chert/chert_postlist.cc,
6495	  common/documentterm.h,net/progclient.cc: Fix uses of LOGCALL_VOID
6496	  which should be LOGCALL_CTOR.
6497
6498Wed Jul 20 07:00:48 GMT 2011  Olly Betts <olly@survex.com>
6499
6500	* tests/api_matchspy.cc: Remove checks for remote dbtype in matchspy2
6501	  and matchspy4 testcases - these were checking for values which would
6502	  never match, and the testcases should and do work with remote
6503	  backends.
6504
6505Wed Jul 20 01:19:46 GMT 2011  Olly Betts <olly@survex.com>
6506
6507	* docs/facets.rst: Minor clarification.
6508
6509Wed Jul 20 00:22:38 GMT 2011  Olly Betts <olly@survex.com>
6510
6511	* bin/xapian-check.cc: Document in --help that checking a whole
6512	  database performs additional cross-checks between the tables.
6513
6514Tue Jul 19 18:29:51 GMT 2011  Richard Boulton <richard@tartarus.org>
6515
6516	* docs/facets.rst: Expand descriptions for indexing and finding
6517	  facets to hopefully be more helpful to newcomers.
6518
6519Tue Jul 19 17:52:25 GMT 2011  Richard Boulton <richard@tartarus.org>
6520
6521	* docs/facets.rst: Fix example calls to add_matchspy() to be passed
6522	  pointers, and example call to get_termfreq().
6523
6524Sat Jul 16 10:54:39 GMT 2011  Olly Betts <olly@survex.com>
6525
6526	* tests/collate-test: Now understand use of "#if 0" to disable
6527	  testcases.
6528	* tests/api_db.cc: Remove comment in front of
6529	  "DEFINE_TESTCASE(multierrhandler1, [...]" which is no longer needed.
6530
6531Wed Jul 13 15:07:27 GMT 2011  Olly Betts <olly@survex.com>
6532
6533	* include/xapian/database.h: Improve the documentation comment for
6534	  Database::close().  (ticket#504)
6535
6536Sat Jul 09 14:00:08 GMT 2011  Olly Betts <olly@survex.com>
6537
6538	* include/xapian/stem.h,languages/stem.cc: Stem::operator= now returns
6539	  a reference to the assigned-to object.
6540
6541Sat Jul 09 07:08:03 GMT 2011  Olly Betts <olly@survex.com>
6542
6543	* languages/compiler/analyser.c: Change reporting of line number for
6544	  repeated string in among to use "FILE:LINE:" prefix.
6545
6546Sat Jul 09 01:04:18 GMT 2011  Olly Betts <olly@survex.com>
6547
6548	* common/pretty.h: Don't dereference a NULL pointer.
6549
6550Fri Jul 08 14:28:42 GMT 2011  Olly Betts <olly@survex.com>
6551
6552	* common/output.h,common/pretty.h: Fix invalid templates in pretty.h.
6553
6554Fri Jul 08 12:55:19 GMT 2011  Olly Betts <olly@survex.com>
6555
6556	* common/pretty.h: Fix template for pretty printing a std::list.
6557
6558Thu Jul 07 10:40:53 GMT 2011  Olly Betts <olly@survex.com>
6559
6560	* api/omenquire.cc: Add assertions that the index is in range when
6561	  dereferencing MSetIterator and ESetIterator.
6562
6563Wed Jul 06 08:20:56 GMT 2011  Olly Betts <olly@survex.com>
6564
6565	* backends/brass/brass_table.cc,backends/chert/chert_table.cc: Trust
6566	  new to throw std::bad_alloc rather than returning NULL.
6567
6568Wed Jul 06 05:50:38 GMT 2011  Olly Betts <olly@survex.com>
6569
6570	* tests/internaltest.cc: Remove testcase serialisequery1.
6571	* tests/api_serialise.cc: Extend serialise_query1 to cover equivalent
6572	  cases via the API.
6573
6574Tue Jul 05 01:20:59 GMT 2011  Olly Betts <olly@survex.com>
6575
6576	* common/debuglog.h: Add QUERY category for debug logging.
6577
6578Fri Jul 01 04:55:02 GMT 2011  Olly Betts <olly@survex.com>
6579
6580	* common/unordered_map.h: Add my <unordered_map> portability wrapper
6581	  which was used by the JNI java bindings.  It's not currently used
6582	  here, but is likely to be useful (two of the GSoC projects are
6583	  using unordered_map).
6584
6585Wed Jun 29 12:16:59 GMT 2011  Richard Boulton <richard@tartarus.org>
6586
6587	* languages/compiler/tokeniser.c: Fix memory leak (of file name) in
6588	  snowball compiler introduced by last commit.
6589
6590Wed Jun 29 07:49:36 GMT 2011  Olly Betts <olly@survex.com>
6591
6592	* languages/compiler/: Report "FILE:LINE:" before each error so tools
6593	  like vim's quickfix mode can parse this and bring up the line with
6594	  the error automatically.
6595
6596Wed Jun 29 07:49:10 GMT 2011  Olly Betts <olly@survex.com>
6597
6598	* languages/compiler/header.h: Add comments to note that struct input
6599	  must be a prefix of struct tokeniser.
6600
6601Wed Jun 29 07:47:30 GMT 2011  Olly Betts <olly@survex.com>
6602
6603	* languages/basque.sbl: Use stringdef instead of literal accented
6604	  characters in the code.
6605
6606Wed Jun 29 07:13:30 GMT 2011  Olly Betts <olly@survex.com>
6607
6608	* docs/stemming.rst,include/xapian/stem.h,languages/: Add stemmers
6609	  for Armenian (hy), Basque (eu), and Catalan (ca).
6610
6611Mon Jun 27 08:16:55 GMT 2011  Olly Betts <olly@survex.com>
6612
6613	* include/xapian/query.h: Add a fake specialised form of the templated
6614	  ctor for SWIG.
6615
6616Sat Jun 25 11:27:00 GMT 2011  Olly Betts <olly@survex.com>
6617
6618	* include/xapian/enquire.h: Fix doc comment typo which reversed the
6619	  intended sense.
6620
6621Sat Jun 25 06:20:34 GMT 2011  Olly Betts <olly@survex.com>
6622
6623	* api/omenquire.cc,common/omenquireinternal.h: Remove unused method
6624	  Enquire::Internal::register_match_decider().
6625
6626Sat Jun 25 06:05:22 GMT 2011  Olly Betts <olly@survex.com>
6627
6628	* include/xapian/enquire.h: MSet(MSet::Internal *) -> MSet(Internal *)
6629	  for consistency with other classes.
6630
6631Fri Jun 24 16:15:00 GMT 2011  Olly Betts <olly@survex.com>
6632
6633	* api/omdatabase.cc,backends/slowvaluelist.cc,
6634	  include/xapian/database.h,matcher/valuestreamdocument.cc: Rename
6635	  Database::get_document_lazily() to get_document_lazily_() to conform
6636	  to our convention for naming methods for internal use which have
6637	  "public" visibility.
6638
6639Wed Jun 22 23:51:15 GMT 2011  Richard Boulton <richard@tartarus.org>
6640
6641	* configure.ac: Correct tiny typo in error message when zlib isn't
6642	  found.
6643
6644Tue Jun 21 04:08:29 GMT 2011  Olly Betts <olly@survex.com>
6645
6646	* common/autoptr.h: Update comment about why we have this file.  It's
6647	  no longer a concern that we might need our own AutoPtr implementation
6648	  but we are likely to want to be able to migrate to unique_ptr easily
6649	  as C++0x features become more widely available.
6650
6651Tue Jun 21 02:26:36 GMT 2011  Olly Betts <olly@survex.com>
6652
6653	* HACKING,common/pretty.h,configure.ac,tests/internaltest.cc: Fix a
6654	  few lingering references to RefCntPtr and RefCntBase.
6655
6656Tue Jun 21 02:01:25 GMT 2011  Olly Betts <olly@survex.com>
6657
6658	* api/,backends/brass/,backends/chert/,backends/database.cc,
6659	  backends/inmemory/inmemory_alltermslist.h,
6660	  backends/inmemory/inmemory_database.cc,
6661	  backends/inmemory/inmemory_database.h,
6662	  backends/multi/multi_alltermslist.cc,
6663	  backends/multi/multi_valuelist.cc,backends/remote/,common/,
6664	  docs/doxygen_api.conf.in,include/Makefile.mk,include/xapian/,
6665	  matcher/msetpostlist.h,matcher/multimatch.cc,
6666	  queryparser/queryparser_internal.h,
6667	  queryparser/termgenerator_internal.h,tests/internaltest.cc: Convert
6668	  to use xapian/intrusive_ptr.h instead of xapian/base.h.
6669
6670Mon Jun 20 23:55:10 GMT 2011  Olly Betts <olly@survex.com>
6671
6672	* include/xapian/intrusive_ptr.h: Unmodified version of
6673	  boost/smart_ptr/intrusive_ptr.hpp as of Boost 1.42 (committed to aid
6674	  merging changes in the future).
6675
6676Mon Jun 20 12:46:47 GMT 2011  Olly Betts <olly@survex.com>
6677
6678	* common/databasereplicator.h,languages/steminternal.h,tests/harness/:
6679	  Remove inclusions of xapian/base.h from files which don't use
6680	  RefCntPtr or RefCntBase.
6681
6682Mon Jun 20 11:33:03 GMT 2011  Olly Betts <olly@survex.com>
6683
6684	* include/xapian/base.h: Remove unnecessary check for self-assignment
6685	  as it isn't a common case and the current code copes gracefully with
6686	  it anyway.
6687
6688Mon Jun 20 05:25:05 GMT 2011  Olly Betts <olly@survex.com>
6689
6690	* backends/brass/brass_postlist.cc,backends/brass/brass_postlist.h,
6691	  backends/chert/chert_postlist.cc,backends/chert/chert_postlist.h:
6692	  Reduce size of BrassPostList/ChertPostList objects by moving bool
6693	  members together (168->160 bytes for ChertPostList on x86-64 Linux).
6694
6695Sun Jun 19 13:44:32 GMT 2011  Olly Betts <olly@survex.com>
6696
6697	* tests/internaltest.cc: Fix typo in comment and verbose output.
6698
6699Sun Jun 19 12:23:43 GMT 2011  Olly Betts <olly@survex.com>
6700
6701	* api/error.cc,generate-exceptions: Rearrange members of Xapian::Error
6702	  to reduce its size (from 48 to 40 bytes on x86-64 Linux).
6703
6704Sun Jun 19 12:22:53 GMT 2011  Olly Betts <olly@survex.com>
6705
6706	* common/pretty.h: Fix comment typo.
6707
6708Sun Jun 19 04:45:26 GMT 2011  Olly Betts <olly@survex.com>
6709
6710	* INSTALL: Update GCC details - we now recommend 4.3 or newer (was 4.1)
6711	  and note that while 3.1 is the hard minimum requirement, the oldest
6712	  we've tested with at all recently was 3.3.
6713
6714Sat Jun 18 14:27:14 GMT 2011  Olly Betts <olly@survex.com>
6715
6716	* queryparser/queryparser.lemony,
6717	  queryparser/termgenerator_internal.cc: Fix warning from GCC 3.3.
6718
6719Sat Jun 18 06:27:03 GMT 2011  Olly Betts <olly@survex.com>
6720
6721	* api/,expand/ortermlist.cc,include/xapian/: Use TermIterator() instead
6722	  of TermIterator(NULL), and similarly for other Xapian iterator
6723	  classes.
6724
6725Sat Jun 18 05:16:23 GMT 2011  Olly Betts <olly@survex.com>
6726
6727	* tests/zlib-vg.so: Remove file committed accidentally.
6728
6729Sat Jun 18 05:07:56 GMT 2011  Olly Betts <olly@survex.com>
6730
6731	* api/,include/xapian/positioniterator.h,
6732	  include/xapian/termiterator.h: Reimplementations of PositionIterator
6733	  and TermIterator from the end-iterator-proxies branch.  Assignment
6734	  operators for these classes now return *this rather than void.
6735
6736Sat Jun 18 01:49:02 GMT 2011  Olly Betts <olly@survex.com>
6737
6738	* tests/perftest/Makefile.mk: Make sure that perftest isn't run with
6739	  libeatmydata preloaded.
6740
6741Fri Jun 17 07:39:35 GMT 2011  Olly Betts <olly@survex.com>
6742
6743	* docs/deprecation.rst: Tabs to spaces.
6744
6745Fri Jun 17 07:38:06 GMT 2011  Olly Betts <olly@survex.com>
6746
6747	* docs/deprecation.rst: Add flush() -> commit().
6748
6749Thu Jun 16 14:40:35 GMT 2011  Olly Betts <olly@survex.com>
6750
6751	* tests/: Add TEST( ) or TEST(! ) around existing reopen() calls to
6752	  check that we get true or false returned as we would expect.
6753	  (ticket#548)
6754
6755Thu Jun 16 05:15:28 GMT 2011  Olly Betts <olly@survex.com>
6756
6757	* README: Note licence is GPL *2+*.  Say "SVN/git".  Use trac URL for
6758	  wiki.
6759
6760Wed Jun 15 23:31:03 GMT 2011  Olly Betts <olly@survex.com>
6761
6762	* xapian-core/api/error.cc: Don't include the magic code byte at the
6763	  start of Error::get_description()'s return value.
6764
6765Wed Jun 15 15:51:42 GMT 2011  Olly Betts <olly@survex.com>
6766
6767	* exception_data.pm,generate-exceptions,net/serialise.cc: When
6768	  propagating exceptions from a remote backend server, use a numeric
6769	  code to represent which exception is being transferred rather than
6770	  the name of the type as that can be turned back into an exception
6771	  with a simple switch statement.  It's also less data to transfer.
6772	  (ticket#471)
6773
6774Wed Jun 15 14:03:49 GMT 2011  Olly Betts <olly@survex.com>
6775
6776	* backends/remote/remote-database.cc,common/remote-database.h,
6777	  common/remoteprotocol.h,docs/remote_protocol.rst,net/remoteserver.cc:
6778	  Propagate the return value of Database::reopen() across the link.
6779	  (ticket#548)
6780
6781Wed Jun 15 13:03:56 GMT 2011  Olly Betts <olly@survex.com>
6782
6783	* backends/remote/remote-database.cc,common/remote-database.h,
6784	  common/remoteprotocol.h,docs/remote_protocol.rst,net/remoteserver.cc:
6785	  Unify REPLY_GREETING and REPLY_UPDATE; send (last_docid - doccount)
6786	  instead of last_docid; send (doclen_ubound - doclen_lbound) instead
6787	  of doclen_ubound.  This requires a remote protocol major version
6788	  bump.  Fix out of date documentation for what's in a REPLY_UPDATE
6789	  message.
6790
6791Wed Jun 15 12:24:07 GMT 2011  Olly Betts <olly@survex.com>
6792
6793	* backends/remote/remote-database.cc: Remove special check which gives
6794	  a more helpful error message when a modern client is used against a
6795	  remote server running Xapian <= 0.9.6.
6796
6797Wed Jun 15 11:07:19 GMT 2011  Olly Betts <olly@survex.com>
6798
6799	* net/remoteserver.cc: Remove unnecessary call to reopen() - either we
6800	  just called it or we're a writable database and it doesn't do
6801	  anything.
6802
6803Wed Jun 15 09:03:06 GMT 2011  Olly Betts <olly@survex.com>
6804
6805	* xapian-core/backends/remote/remote-database.cc,
6806	  xapian-core/common/remote-database.h: Factor out the code to decode
6807	  the returned stats into a new apply_stats_update() method.
6808
6809Wed Jun 15 08:57:12 GMT 2011  Olly Betts <olly@survex.com>
6810
6811	* xapian-core/Makefile.am: Remove check-* from .PHONY as that doesn't
6812	  work with a pattern rule.  Fix check-% pattern rule to actually work.
6813
6814Tue Jun 14 15:11:38 GMT 2011  Olly Betts <olly@survex.com>
6815
6816	* docs/remote_protocol.rst: Fixed typo which reversed the intended
6817	  sense.
6818
6819Tue Jun 14 02:01:42 GMT 2011  Olly Betts <olly@survex.com>
6820
6821	* Makefile.am,configure.ac: Avoid portability warning from automake
6822	  about GNU make %-style pattern rules.
6823
6824Tue Jun 14 01:42:01 GMT 2011  Olly Betts <olly@survex.com>
6825
6826	* configure.ac: Add unnecessary AC_LANG_SOURCE wrapper to shut up
6827	  autoconf warning.
6828
6829Tue Jun 14 01:18:54 GMT 2011  Olly Betts <olly@survex.com>
6830
6831	* configure.ac: Reset LIBRARY_VERSION_INFO to 0:0:0 for the
6832	  development series, since the library name is different (it has a
6833	  -1.3 suffix).
6834
6835Mon Jun 13 16:24:20 GMT 2011  Olly Betts <olly@survex.com>
6836
6837	* api/omenquire.cc,common/multimatch.h,common/omenquireinternal.h,
6838	  docs/deprecation.rst,include/xapian/enquire.h,matcher/multimatch.cc,
6839	  net/remoteserver.cc,tests/api_backend.cc: Remove the deprecated
6840	  old-style match spy approach of using a MatchDecider.
6841
6842Mon Jun 13 15:47:57 GMT 2011  Olly Betts <olly@survex.com>
6843
6844	* api/keymaker.cc,docs/deprecation.rst,include/xapian/keymaker.h,
6845	  tests/Makefile.am,tests/api_sortingold.cc: Remove deprecated Sorter
6846	  class and MultiValueSorter subclass.
6847	* tests/Makefile.mk,tests/perftest/Makefile.mk,
6848	  tests/soaktest/Makefile.mk: Make the generated "*_all.h" depend on
6849	  the Makefile.am or Makefile.mk which contains the list of files it
6850	  is generated from so that it gets regenerated when a file is
6851	  removed from that list.
6852
6853Mon Jun 13 13:18:29 GMT 2011  Olly Betts <olly@survex.com>
6854
6855	* common/omenquireinternal.h: Remove a FIXME - caching the Document
6856	  object in MSetItem isn't a replacement for storing the sort_key
6857	  now that sort_keys can be computed.
6858
6859Mon Jun 13 13:07:31 GMT 2011  Olly Betts <olly@survex.com>
6860
6861	* include/xapian/queryparser.h,queryparser/queryparser.cc: Fold the
6862	  two forms of QueryParser::add_boolean_prefix() into one method
6863	  with a default parameter now that changing the ABI isn't a worry.
6864
6865Mon Jun 13 12:00:36 GMT 2011  Olly Betts <olly@survex.com>
6866
6867	* docs/deprecation.rst: Non-pythonic iterators have been removed.
6868	  (ticket#255)
6869
6870Mon Jun 13 10:40:30 GMT 2011  Olly Betts <olly@survex.com>
6871
6872	* docs/deprecation.rst: Python Stem_get_available_languages() has now
6873	  been removed.
6874
6875Mon Jun 13 10:38:49 GMT 2011  Olly Betts <olly@survex.com>
6876
6877	* docs/deprecation.rst,include/xapian/enquire.h: Remove deprecated
6878	  default value for second parameter to Enquire::set_sort_by_value()
6879	  and friends.
6880
6881Mon Jun 13 09:30:15 GMT 2011  Olly Betts <olly@survex.com>
6882
6883	* api/omdatabase.cc,backends/brass/brass_database.cc,
6884	  backends/brass/brass_database.h,backends/chert/chert_database.cc,
6885	  backends/chert/chert_database.h,backends/database.cc,
6886	  backends/inmemory/inmemory_database.cc,
6887	  backends/inmemory/inmemory_database.h,
6888	  backends/remote/remote-database.cc,common/,
6889	  include/xapian/database.h: Database::reopen() now returns true if
6890	  the database may have been reopened.  (ticket#548)
6891
6892Mon Jun 13 09:01:33 GMT 2011  Olly Betts <olly@survex.com>
6893
6894	* docs/admin_notes.rst: Add note about xapian-chert-update.
6895
6896Mon Jun 13 08:47:06 GMT 2011  Olly Betts <olly@survex.com>
6897
6898	* bin/xapian-check-flint.cc,bin/xapian-check-flint.h: Remove two
6899	  flint-specific files I missed.
6900
6901Mon Jun 13 08:42:11 GMT 2011  Olly Betts <olly@survex.com>
6902
6903	* HACKING,INSTALL,Makefile.am,api/compactor.cc,api/replication.cc,
6904	  backends/Makefile.mk,backends/brass/brass_compact.cc,
6905	  backends/chert/chert_compact.cc,backends/databasereplicator.cc,
6906	  backends/dbfactory.cc,backends/dir_contents,backends/flint/,
6907	  backends/slowvaluelist.h,bin/,common/database.h,common/pretty.h,
6908	  common/unaligned.h,configure.ac,docs/,include/xapian/dbfactory.h,
6909	  include/xapian/valueiterator.h,include/xapian/version_h.cc,tests/,
6910	  tests/harness/,tests/queryparsertest.cc,tests/termgentest.cc,
6911	  tests/testdata/flint-0.9.9/,tests/testdata/flint-1.0.1/,
6912	  tests/testdata/flint-1.0.2/: Remove flint backend.
6913
6914Mon Jun 13 06:09:29 GMT 2011  Olly Betts <olly@survex.com>
6915
6916	* bin/Makefile.mk: Remove lingering reference to quartz (rules to
6917	  generate man pages for quartzdump, etc).
6918
6919Mon Jun 13 05:46:00 GMT 2011  Olly Betts <olly@survex.com>
6920
6921	* Makefile.am,tests/Makefile.am: Just use a GNU-make-specific pattern
6922	  rules to forward check-* targets from the top level to the tests
6923	  subdirectory.  It's clear we aren't keeping the explicit list of
6924	  target forwarding rules up to date, and this is just a convenience
6925	  so not worth a lot of maintenance effort.
6926
6927Mon Jun 13 05:01:33 GMT 2011  Olly Betts <olly@survex.com>
6928
6929	* configure.ac: Update version to 1.3.0 and add -1.3 suffix for
6930	  library and /xapian-1.3 suffix to include file installation
6931	  directory.
6932
6933Mon Jun 13 04:56:13 GMT 2011  Olly Betts <olly@survex.com>
6934
6935	* unicode/tclUniData.cc: Upgrade to Unicode 6.0.0 (ticket#497).
6936	* tests/api_unicode.cc: Extend testcases to check for assorted changes
6937	  and additions in Unicode 6.0.0.
6938
6939Sun Jun 12 11:54:45 GMT 2011  Olly Betts <olly@survex.com>
6940
6941	* NEWS: Final update for 1.2.6.
6942
6943Sat Jun 11 10:11:23 GMT 2011  Olly Betts <olly@survex.com>
6944
6945	* api/omdocument.cc: Update LOGCALL(MATCH, ...) to LOGCALL(DB, ...).
6946	  Convert LOGLINE() at start of method to LOGCALL().
6947
6948Sat Jun 11 09:57:00 GMT 2011  Olly Betts <olly@survex.com>
6949
6950	* api/omdatabase.cc: Remove self-assignment check from
6951	  Database::operator= since this is an uncommon code path and
6952	  RefCntPtr ensures that self-assignment of the internals is
6953	  safe.
6954
6955Sat Jun 11 08:48:10 GMT 2011  Olly Betts <olly@survex.com>
6956
6957	* api/omdatabase.cc,backends/brass/brass_cursor.h,
6958	  backends/chert/chert_cursor.h,backends/flint/flint_cursor.h,
6959	  backends/flint/flint_table.cc,backends/flint/flint_values.cc,
6960	  backends/inmemory/inmemory_database.cc,bin/xapian-check-brass.cc,
6961	  bin/xapian-check-chert.cc,bin/xapian-chert-update.cc,
6962	  matcher/queryoptimiser.cc,matcher/valuegepostlist.h: Use string() or
6963	  std::string() rather than "".
6964	* common/remoteconnection.h,net/tcpserver.cc: Use 2 parameter form of
6965	  Error subclass ctors when the context is "".
6966	* api/replication.cc,backends/flint/flint_database.cc,
6967	  common/remoteconnection.h,net/replicatetcpclient.cc,
6968	  net/replicatetcpserver.cc: Make context parameter of
6969	  RemoteConnection ctor optional.
6970	* common/leafpostlist.h: Say 'empty' rather than '""' in a
6971	  documentation comment.
6972	* examples/simpleindex.cc: Use '.resize(0)' rather than '= ""'.
6973
6974Sat Jun 11 07:01:41 GMT 2011  Olly Betts <olly@survex.com>
6975
6976	* api/,backends/brass/,backends/chert/,backends/flint/,
6977	  backends/remote/remote-database.cc,common/,include/xapian/,matcher/,
6978	  net/remoteserver.cc,net/serialise.cc: Consistently use "slot" in
6979	  variable names for value slots, rather than valueno, valno, valueid
6980	  or value.  The only exception remaining is a protected member of
6981	  Xapian::StringValueRangeProcessor since that's really part of the
6982	  public API.
6983
6984Fri Jun 10 11:55:45 GMT 2011  Olly Betts <olly@survex.com>
6985
6986	* NEWS,configure.ac: Update in preparation for 1.2.6.
6987
6988Fri Jun 10 09:05:38 GMT 2011  Olly Betts <olly@survex.com>
6989
6990	* examples/NEWS,examples/TODO: Remove files which are unused since the
6991	  examples were merged into xapian-core.
6992
6993Fri Jun 10 09:03:33 GMT 2011  Olly Betts <olly@survex.com>
6994
6995	* Makefile.am: Ship ChangeLog.0 in the tarball.
6996
6997Fri Jun 10 05:19:24 GMT 2011  Olly Betts <olly@survex.com>
6998
6999	* tests/Makefile.am: Actually include soaktest/Makefile.mk.
7000
7001Thu Jun 09 23:26:52 GMT 2011  Olly Betts <olly@survex.com>
7002
7003	* docs/doxygen_api.conf.in,docs/doxygen_source.conf.in: Define
7004	  XAPIAN_DEPRECATED_CLASS to empty for doxygen.
7005
7006Thu Jun 09 22:21:29 GMT 2011  Olly Betts <olly@survex.com>
7007
7008	* docs/overview.rst: Document "remote" in stub databases.
7009
7010Thu Jun 09 15:23:12 GMT 2011  Olly Betts <olly@survex.com>
7011
7012	* HACKING,docs/deprecation.rst,include/xapian/deprecated.h,
7013	  include/xapian/keymaker.h: Add XAPIAN_DEPRECATED_CLASS macro
7014	  for marking a class as deprecated, so we don't have to call
7015	  XAPIAN_DEPRECATED() with no parameters.
7016
7017Thu Jun 09 14:03:17 GMT 2011  Olly Betts <olly@survex.com>
7018
7019	* HACKING: Clarify wording about PATH.
7020
7021Thu Jun 09 13:04:53 GMT 2011  Olly Betts <olly@survex.com>
7022
7023	* docs/queryparser.rst,include/xapian/queryparser.h,
7024	  queryparser/queryparser.cc,queryparser/queryparser.lemony,
7025	  queryparser/queryparser_internal.h,tests/queryparsertest.cc: Add
7026	  QueryParser::set_max_wildcard_expansion() method to allow limiting
7027	  the number of terms a wildcard can expand to.  Implementation mostly
7028	  from a patch by Adam Sjøgren in ticket#350.
7029
7030Tue Jun 07 23:16:33 GMT 2011  Dan Colish <dcolish@gmail.com>
7031
7032	* backends/brass/brass_changesetapplier.h,
7033	  backends/chert/chert_changesetapplier.h,
7034	  backends/flint/flint_changesetapplier.h: Remove dead code
7035
7036Thu Jun 02 13:21:28 GMT 2011  Olly Betts <olly@survex.com>
7037
7038	* AUTHORS: Add recent bug reporters.
7039
7040Thu Jun 02 11:03:57 GMT 2011  Olly Betts <olly@survex.com>
7041
7042	* queryparser/queryparser.lemony: If default_op is OP_NEAR or
7043	  OP_PHRASE then disable stemming of the terms, since we don't index
7044	  positional information for stemmed terms by default.
7045	* tests/queryparsertest.cc: Adjust near1 and phrase1 to act as
7046	  regression tests for this fix.
7047
7048Thu Jun 02 02:58:58 GMT 2011  Olly Betts <olly@survex.com>
7049
7050	* backends/brass/brass_spelling.cc,backends/brass/brass_spelling.h,
7051	  backends/chert/chert_spelling.cc,backends/chert/chert_spelling.h,
7052	  backends/flint/flint_spelling.cc,backends/flint/flint_spelling.h:
7053	  Fix bug Nikita Smetanin spotted with adding a word which has the
7054	  same trigram in an even number of times.
7055	* tests/api_spelling.cc: Add regression test spell8.
7056
7057Wed Jun 01 14:11:38 GMT 2011  Olly Betts <olly@survex.com>
7058
7059	* backends/flint_lock.cc: Kill the child process which holds the lock
7060	  with SIGKILL as that can't be ignored, whereas SIGHUP can be in some
7061	  cases it seems.
7062
7063Wed Jun 01 12:12:14 GMT 2011  Olly Betts <olly@survex.com>
7064
7065	* docs/quickstartexpand.cc.html,docs/quickstartindex.cc.html,
7066	  docs/quickstartsearch.cc.html: Reinstate the old HTML versions
7067	  of these files.
7068
7069Wed Jun 01 12:09:55 GMT 2011  Olly Betts <olly@survex.com>
7070
7071	* docs/queryparser.rst,docs/remote_protocol.rst: Fix literal hard
7072	  spaces in input to just be spaces.
7073
7074Wed Jun 01 12:06:26 GMT 2011  Olly Betts <olly@survex.com>
7075
7076	* docs/quickstart.rst: Fix sub-heading run in to previous paragraph.
7077
7078Wed Jun 01 12:04:52 GMT 2011  Olly Betts <olly@survex.com>
7079
7080	* docs/remote.rst: Replace out-dated list of xapian-tcpsrv's command
7081	  line options with a reference to --help and the man page.  Tweak
7082	  wording in a few places.
7083
7084Wed Jun 01 11:54:37 GMT 2011  Olly Betts <olly@survex.com>
7085
7086	* docs/overview.rst: Change omrset to rset.  Remove some bogus `` left
7087	  over from fixing definition list formatting.
7088
7089Wed Jun 01 11:38:09 GMT 2011  Olly Betts <olly@survex.com>
7090
7091	* docs/stemming.rst: Comment out bogus claim that there are stopword
7092	  lists in xapian-data (the lack of stopword lists is already
7093	  ticket#269).
7094
7095Wed Jun 01 11:29:58 GMT 2011  Olly Betts <olly@survex.com>
7096
7097	* docs/matcherdesign.rst,docs/stemming.rst: Convert more arrows to
7098	  Unicode.
7099	* docs/stemming.rst: Fix some missing paragraph breaks.
7100
7101Wed Jun 01 11:18:25 GMT 2011  Olly Betts <olly@survex.com>
7102
7103	* docs/intro_ir.rst: Use Unicode right arrow.
7104
7105Wed Jun 01 10:38:27 GMT 2011  Olly Betts <olly@survex.com>
7106
7107	* docs/: Revert quickstart*.cc.html to being HTML rather than .rst as
7108	  the .rst version lose the syntax highlighting.  Update svn:ignore.
7109
7110Wed Jun 01 10:27:11 GMT 2011  Olly Betts <olly@survex.com>
7111
7112	* docs/intro_ir.rst: Sort out the remaining formatting issues.
7113
7114Wed Jun 01 08:05:05 GMT 2011  Olly Betts <olly@survex.com>
7115
7116	* docs/intro_ir.rst: More markup fixes.
7117
7118Wed Jun 01 06:16:56 GMT 2011  Olly Betts <olly@survex.com>
7119
7120	* docs/tests.rst: Use generated contents list instead of manual one.
7121
7122Wed Jun 01 06:16:13 GMT 2011  Olly Betts <olly@survex.com>
7123
7124	* docs/index.rst,docs/internals.rst: Centre links at top; Sort out
7125	  <hr> to be full width.
7126
7127Wed Jun 01 03:23:20 GMT 2011  Olly Betts <olly@survex.com>
7128
7129	* docs/bm25.rst: Sort out inline equations.
7130
7131Tue May 31 15:21:10 GMT 2011  Olly Betts <olly@survex.com>
7132
7133	* docs/spelling.rst: Add link to Omega documentation.
7134
7135Tue May 31 07:52:19 GMT 2011  Olly Betts <olly@survex.com>
7136
7137	* docs/overview.rst,docs/quickstart.rst,docs/remote_protocol.rst: More
7138	  .rst formatting fixes.
7139
7140Tue May 31 05:02:48 GMT 2011  Olly Betts <olly@survex.com>
7141
7142	* docs/overview.rst: More .rst fixes.
7143
7144Tue May 31 04:32:52 GMT 2011  Olly Betts <olly@survex.com>
7145
7146	* docs/: More .rst fixes.
7147
7148Tue May 31 04:11:27 GMT 2011  Olly Betts <olly@survex.com>
7149
7150	* docs/Makefile.am,docs/code_structure.rst: Revert code_structure.html
7151	  conversion - this file is generated by a script.
7152
7153Tue May 31 03:56:39 GMT 2011  Olly Betts <olly@survex.com>
7154
7155	* docs/install.rst,docs/stemming.rst,docs/tests.rst: Fix up some .rst
7156	  conversion issues.
7157
7158Tue May 31 03:36:49 GMT 2011  Dan Colish <dcolish@gmail.com>
7159
7160	* docs/remote_protocol.rst docs/quickstart.rst docs/remote.rst
7161	docs/internals.rst docs/scalability.rst
7162	docs/quickstartsearch.cc.rst
7163	docs/bm25.rst docs/install.rst docs/quickstartindex.cc.rst
7164	docs/index.rst docs/matcherdesign.rst docs/quickstartexpand.cc.rst
7165	docs/queryparser.rst docs/stemming.rst docs/intro_ir.rst
7166	docs/code_structure.rst docs/Makefile.am docs/tests.rst
7167	docs/overview.rst: Bulk port all remaining documentation to RST.
7168
7169Sun May 29 07:04:42 GMT 2011  Olly Betts <olly@survex.com>
7170
7171	* docs/postingsource.rst: Add PostingSource example.  (ticket#503)
7172
7173Sun May 29 05:19:40 GMT 2011  Olly Betts <olly@survex.com>
7174
7175	* include/xapian/database.h: Add @exception InvalidArgumentError for
7176	  Database::get_document() (ticket#542).
7177
7178Fri May 27 05:36:28 GMT 2011  Olly Betts <olly@survex.com>
7179
7180	* NEWS: Update from ChangeLog.
7181
7182Thu May 26 02:44:07 GMT 2011  Olly Betts <olly@survex.com>
7183
7184	* include/xapian/queryparser.h: FIXME:1.1.3 -> FIXME:1.3.
7185
7186Wed May 25 14:58:37 GMT 2011  Olly Betts <olly@survex.com>
7187
7188	* docs/queryparser.html: Document the precedence order of operators.
7189
7190Fri May 20 04:13:54 GMT 2011  Olly Betts <olly@survex.com>
7191
7192	* examples/simpleindex.cc: Add short description to usage message.
7193
7194Tue May 17 21:44:55 GMT 2011  Olly Betts <olly@survex.com>
7195
7196	* docs/scalability.html: Bring up-to-date.
7197
7198Wed May 11 01:34:34 GMT 2011  Olly Betts <olly@survex.com>
7199
7200	* AUTHORS: Add Scott Zhang for mingw fixes.
7201
7202Wed May 11 01:30:54 GMT 2011  Olly Betts <olly@survex.com>
7203
7204	* net/progclient.cc,net/tcpserver.cc: Need <cstdio> for sprintf on
7205	  __WIN32__ and cygwin.
7206
7207Wed May 11 01:22:07 GMT 2011  Olly Betts <olly@survex.com>
7208
7209	* configure.ac: Define __MSVCRT_VERSION__ to 0x0601 under mingw so
7210	  we get _ftime64().
7211
7212Wed May 11 01:19:14 GMT 2011  Olly Betts <olly@survex.com>
7213
7214	* common/closefrom.cc,common/closefrom.h: We don't need closefrom()
7215	  under __WIN32__ currently, so disable it there as it doesn't
7216	  compile under mingw.
7217
7218Mon May 09 20:13:17 GMT 2011  Olly Betts <olly@survex.com>
7219
7220	* examples/delve.cc: Report has_positions().
7221
7222Thu Apr 07 05:38:36 GMT 2011  Dan Colish <dcolish@gmail.com>
7223
7224	* matcher/phrasepostlist.cc, matcher/queryoptimiser.cc,
7225	  matcher/exactphrasepostlist.cc, matcher/exactphrasepostlist.h,
7226	  matcher/phrasepostlist.h: Remove temporary vector in queryoptimiser
7227	  and replace with iterators.
7228
7229Wed Apr 06 10:27:41 GMT 2011  Richard Boulton <richard@tartarus.org>
7230
7231	* docs/admin_notes.rst: Remove the word "also", which makes sense
7232	  when read in context of the previous section, but is confusing if
7233	  the paragraph is read standalone, and isn't necessary.
7234
7235Mon Apr 04 14:41:33 GMT 2011  Olly Betts <olly@survex.com>
7236
7237	* NEWS: Final update for 1.2.5.
7238
7239Mon Apr 04 14:06:56 GMT 2011  Olly Betts <olly@survex.com>
7240
7241	* backends/brass/brass_version.cc: Remove ? from comment - the brass
7242	  version change is definitely going to be in 1.2.5.
7243
7244Mon Apr 04 13:57:23 GMT 2011  Olly Betts <olly@survex.com>
7245
7246	* NEWS: Bump release date.
7247
7248Sat Mar 26 14:49:41 GMT 2011  Olly Betts <olly@survex.com>
7249
7250	* INSTALL: Fix typo in previous commit.
7251
7252Sat Mar 26 14:03:15 GMT 2011  Olly Betts <olly@survex.com>
7253
7254	* INSTALL: Note how to build for a non-default arch on a multi-arch
7255	  platform.
7256
7257Sat Mar 26 13:22:49 GMT 2011  Olly Betts <olly@survex.com>
7258
7259	* NEWS,configure.ac: Update for 1.2.5.
7260
7261Sat Mar 26 12:28:38 GMT 2011  Olly Betts <olly@survex.com>
7262
7263	* AUTHORS: Update.
7264
7265Sat Mar 26 10:33:19 GMT 2011  Olly Betts <olly@survex.com>
7266
7267	* backends/brass/brass_postlist.cc,backends/brass/brass_postlist.h,
7268	  backends/chert/chert_postlist.cc,backends/chert/chert_postlist.h,
7269	  backends/inmemory/inmemory_database.h: Address issues highlighted
7270	  by clang++ warnings.
7271
7272Fri Mar 25 05:36:41 GMT 2011  Olly Betts <olly@survex.com>
7273
7274	* docs/tests.html: Slight tweak to improve up-to-date-ness, but more
7275	  work would be useful.
7276
7277Fri Mar 25 05:30:56 GMT 2011  Olly Betts <olly@survex.com>
7278
7279	* docs/matcherdesign.html: Update - quite a bit has changed in the
7280	  matcher since this was last updated!
7281
7282Thu Mar 24 23:31:57 GMT 2011  Olly Betts <olly@survex.com>
7283
7284	* api/replication.cc,common/replication.h: Pass reader_close_time as
7285	  double everywhere, rather than truncating it to int.  Include
7286	  reader_close_time parameters in debug logging.  Document
7287	  reader_close_time in doxygen comments.
7288
7289Tue Mar 22 15:36:25 GMT 2011  Dan Colish <dcolish@gmail.com>
7290
7291	* backends/brass/brass_database.h:
7292	  Remove left over copyright.
7293
7294Tue Mar 22 04:54:12 GMT 2011  Dan Colish <dcolish@gmail.com>
7295
7296	* backends/brass/brass_btreebase.cc,backends/chert/chert_btreebase.cc,
7297	  backends/flint/flint_btreebase.cc:
7298	  Correct comments for which revision is packed when writing base files
7299
7300Tue Mar 22 03:18:19 GMT 2011  Dan Colish <dcolish@gmail.com>
7301
7302	* backends/brass/brass_database.cc,backends/chert/chert_database.cc,
7303	  backends/flint/flint_database.cc,include/xapian/database.h:
7304	  Remove FIXME and comments for DB_OVERWRITE.
7305
7306Tue Mar 22 01:18:38 GMT 2011  Dan Colish <dcolish@gmail.com>
7307
7308	* backends/brass/,backends/chert/chert_database.cc,
7309	  backends/flint/flint_database.cc,tests/api_replicate.cc:
7310	  Clean up changesets when replicating. Add test coverage for this
7311	  feature. Allow XAPIAN_MAX_CHANGESETS to be altered without reopening
7312	  the database. Closes Ticket #278.
7313
7314Mon Mar 21 01:50:41 GMT 2011  Olly Betts <olly@survex.com>
7315
7316	* docs/bm25.html: Add a link to the 1976 Robertson/Sparck Jones paper.
7317
7318Wed Mar 16 05:56:58 GMT 2011  Dan Colish <dcolish@gmail.com>
7319
7320	* bin/xapian-check-flint.cc: Initialize did and current_wdf to prevent
7321	  uninitalized usage and compiler warnings.
7322
7323Mon Mar 14 03:20:18 GMT 2011  Olly Betts <olly@survex.com>
7324
7325	* common/debuglog.cc,common/debuglog.h: Rename indent member to
7326	  indent_level so it doesn't clash with indent() method.
7327
7328Mon Mar 14 02:44:24 GMT 2011  Olly Betts <olly@survex.com>
7329
7330	* common/debuglog.cc,common/debuglog.h: Use an integer counter for the
7331	  indent rather than a std::string which we add/remove spaces to/from.
7332	  This is cleaner, but also there seems to be an issue with having a
7333	  std::string member in a global static object on OS X.
7334
7335Fri Mar 11 01:12:04 GMT 2011  Olly Betts <olly@survex.com>
7336
7337	* HACKING: Document using '{ }' rather than ';' for empty loop bodies.
7338
7339Fri Mar 11 01:02:47 GMT 2011  Olly Betts <olly@survex.com>
7340
7341	* HACKING: Remove bogus ; after method definition in code example.
7342
7343Fri Mar 11 00:07:22 GMT 2011  Olly Betts <olly@survex.com>
7344
7345	* backends/brass/brass_database.cc,backends/chert/chert_database.cc,
7346	  backends/flint/flint_database.cc: Factor out literal constant as
7347	  MAX_OPEN_RETRIES.
7348
7349Wed Mar 09 14:54:06 GMT 2011  Olly Betts <olly@survex.com>
7350
7351	* tests/api_anydb.cc: Improve the new testcases a bit.
7352
7353Wed Mar 09 14:11:59 GMT 2011  Olly Betts <olly@survex.com>
7354
7355	* api/omenquire.cc,common/esetinternal.h,common/omenquireinternal.h,
7356	  expand/esetinternal.cc,expand/expandweight.cc,
7357	  include/xapian/enquire.h,tests/api_anydb.cc: Enquire::get_eset() now
7358	  accepts a min_wt argument to allow the minimum wanted weight to be
7359	  specified.  Default is 0, which gives the previous behaviour.
7360
7361Wed Mar 09 00:00:25 GMT 2011  Olly Betts <olly@survex.com>
7362
7363	* include/xapian/termiterator.h: Fix misspelling in doc comment.
7364
7365Tue Mar 08 06:58:14 GMT 2011  Olly Betts <olly@survex.com>
7366
7367	* backends/brass/brass_table.cc,backends/brass/brass_table.h,
7368	  backends/chert/chert_table.cc,backends/chert/chert_table.h,
7369	  backends/flint/flint_table.cc,backends/flint/flint_table.h: Use
7370	  defined constant BLOCK_CAPACITY instead of hardcoded 4 (ticket#536).
7371
7372Tue Mar 08 05:56:42 GMT 2011  Olly Betts <olly@survex.com>
7373
7374	* backends/brass/brass_table.cc,backends/chert/chert_table.cc,
7375	  backends/flint/flint_table.cc: If we try to delete an old base file
7376	  and it isn't there, just continue rather than throwing an exception.
7377	  We wanted to get rid of it anyway, and it may be NFS issues telling
7378	  us the wrong thing.  In particular, DatabaseCoruptError was rather
7379	  a pessimistic assessment.
7380
7381Tue Mar 08 05:55:48 GMT 2011  Olly Betts <olly@survex.com>
7382
7383	* common/io_utils.h: Note that io_unlink() may return false when it
7384	  should have returned true on NFS.
7385
7386Sun Mar 06 23:25:47 GMT 2011  Olly Betts <olly@survex.com>
7387
7388	* common/io_utils.cc,common/io_utils.h: Add io_unlink().
7389	* backends/brass/brass_database.cc,backends/brass/brass_table.cc,
7390	  backends/chert/chert_database.cc,backends/chert/chert_table.cc,
7391	  backends/flint/flint_database.cc,backends/flint/flint_table.cc:
7392	  Use io_unlink() instead of sys_unlink_if_exists().
7393
7394Sun Mar 06 22:26:36 GMT 2011  Olly Betts <olly@survex.com>
7395
7396	* backends/brass/brass_database.cc,backends/chert/chert_database.cc,
7397	  backends/flint/flint_database.cc: If DANGEROUS mode is turned on,
7398	  then actually set the flag for this in replication changes files
7399	  (the reader will currently throw an exception, but that's better
7400	  than quietly handling them incorrectly).
7401
7402Sat Mar 05 12:58:31 GMT 2011  Olly Betts <olly@survex.com>
7403
7404	* NEWS: Update from ChangeLog.
7405
7406Sat Mar 05 12:49:16 GMT 2011  Olly Betts <olly@survex.com>
7407
7408	* NEWS: Fix a few typos.
7409
7410Sat Mar 05 06:19:25 GMT 2011  Olly Betts <olly@survex.com>
7411
7412	* NEWS: Fix typo in old entry.
7413
7414Sat Mar 05 06:16:41 GMT 2011  Olly Betts <olly@survex.com>
7415
7416	* common/remoteconnection.h: Internal doc comment improvements: Fix
7417	  typo, finish truncated sentence, wrap lines to 80 columns.
7418
7419Sat Mar 05 02:59:35 GMT 2011  Olly Betts <olly@survex.com>
7420
7421	* bin/xapian-replicate.cc: Make sure port number is specified.  Add
7422	  "(required)" after --host and --port in help.
7423
7424Sat Mar 05 02:50:04 GMT 2011  Olly Betts <olly@survex.com>
7425
7426	* docs/replication.rst: Mention new defaulting of -m.
7427
7428Sat Mar 05 02:44:37 GMT 2011  Olly Betts <olly@survex.com>
7429
7430	* bin/xapian-replicate.cc: If --master isn't specified, default to
7431	  DATABASE.
7432
7433Sat Mar 05 00:14:21 GMT 2011  Olly Betts <olly@survex.com>
7434
7435	* bin/xapian-replicate.cc: Give an error if the host isn't set, rather
7436	  than trying to connect to an empty hostname, which gives the error
7437	  "Couldn't resolve host  (Unknown server error)", which might confuse
7438	  if you fail to notice the double space and realise what it means.
7439
7440Fri Mar 04 17:20:13 GMT 2011  Richard Boulton <richard@tartarus.org>
7441
7442	* docs/replication.rst: Update documentation to make it clear that
7443	  users shouldn't try to create the destination directory for
7444	  replication themselves.
7445
7446Thu Mar 03 11:10:10 GMT 2011  Olly Betts <olly@survex.com>
7447
7448	* docs/intro_ir.html: Fix typo in author's name.
7449
7450Thu Mar 03 11:06:30 GMT 2011  Olly Betts <olly@survex.com>
7451
7452	* docs/intro_ir.html: Update link to a paper.  Update text about book
7453	  "to be published in 2008".
7454
7455Tue Mar 01 11:39:40 GMT 2011  Olly Betts <olly@survex.com>
7456
7457	* NEWS: Update from ChangeLog.
7458
7459Mon Feb 28 12:40:24 GMT 2011  Olly Betts <olly@survex.com>
7460
7461	* matcher/multimatch.cc: Avoid leaking postlist tree if an exception
7462	  is thrown during the match.
7463
7464Wed Feb 23 15:26:56 GMT 2011  Olly Betts <olly@survex.com>
7465
7466	* docs/Makefile.am,docs/index.html: Process collapsing.rst and link
7467	  it into the documentation.
7468
7469Wed Feb 23 15:22:06 GMT 2011  Olly Betts <olly@survex.com>
7470
7471	* docs/collapsing.rst: Add missing document (for some reason this file
7472	  was empty in SVN, but present in my tree under a different name, and
7473	  not checked in).
7474
7475Mon Feb 21 14:49:06 GMT 2011  Olly Betts <olly@survex.com>
7476
7477	* docs/deprecation.rst: Deprecate MSet.items and ESet.items.
7478
7479Mon Feb 21 14:06:21 GMT 2011  Olly Betts <olly@survex.com>
7480
7481	* backends/brass/brass_database.cc,backends/chert/chert_database.cc,
7482	  backends/flint/flint_database.cc,common/remoteconnection.h,
7483	  net/remoteconnection.cc: Pass a file descriptor to
7484	  RemoteConnection::send_file() to avoid a race between the caller
7485	  checking if a file exists and send_file() trying to open it to send
7486	  it.
7487
7488Mon Feb 21 13:50:06 GMT 2011  Olly Betts <olly@survex.com>
7489
7490	* queryparser/lemon.c: Fix issues detected by DACA cppcheck run on the
7491	  Debian archive.
7492
7493Mon Feb 21 13:30:55 GMT 2011  Olly Betts <olly@survex.com>
7494
7495	* tests/api_anydb.cc: Fix spaceterms1 which was never running one part
7496	  of the testcase (and had been that way for years).  Fix an
7497	  off-by-one error in the enabled code.
7498
7499Mon Feb 21 13:05:36 GMT 2011  Olly Betts <olly@survex.com>
7500
7501	* tests/api_backend.cc: Add some test coverage for
7502	  DatabaseModifiedError in get_mset().
7503
7504Mon Feb 21 12:03:35 GMT 2011  Olly Betts <olly@survex.com>
7505
7506	* NEWS: Fix typo in old entry.
7507
7508Mon Feb 21 11:36:07 GMT 2011  Olly Betts <olly@survex.com>
7509
7510	* examples/quest.cc: Report any spelling correction (requires the
7511	  database contains spelling data of course).
7512
7513Wed Feb 16 13:11:03 GMT 2011  Olly Betts <olly@survex.com>
7514
7515	* include/xapian/enquire.h: Add doxygen markup so alternative
7516	  overloaded forms of Enquire::get_mset() appear in the API
7517	  documentation.
7518
7519Wed Feb 09 14:24:57 GMT 2011  Olly Betts <olly@survex.com>
7520
7521	* docs/admin_notes.rst: Up to darte for 1.2.5.  Minor wording
7522	  improvements.  Mention copydatabase --no-renumber.
7523
7524Wed Feb 09 14:06:55 GMT 2011  Olly Betts <olly@survex.com>
7525
7526	* examples/copydatabase.cc: Add --no-renumber option.
7527
7528Tue Feb 01 11:17:58 GMT 2011  Olly Betts <olly@survex.com>
7529
7530	* configure.ac: -Wstrict-null-sentinel was added in GCC 4.0.1 so
7531	  doesn't work with GCC 4.0.0.  For simplicity, only enable it for
7532	  GCC >= 4.1.
7533
7534Tue Feb  1 08:22:52 GMT 2011  Olly Betts <olly@survex.com>
7535
7536	* docs/deprecation.rst: Add $set{spelling,true}.
7537
7538Thu Jan 20 14:52:53 GMT 2011  Olly Betts <olly@survex.com>
7539
7540	* backends/flint/flint_btreebase.cc,backends/flint/flint_btreebase.h,
7541	  backends/flint/flint_table.cc: Don't read the bitmaps from the base
7542	  files when opening a database for reading (cross-port of equivalent
7543	  change to chert).
7544
7545Thu Jan 20 14:37:10 GMT 2011  Olly Betts <olly@survex.com>
7546
7547	* backends/brass/brass_btreebase.cc,backends/brass/brass_btreebase.h,
7548	  backends/brass/brass_table.cc: Don't read the bitmaps from the base
7549	  files when opening a database for reading (cross-port of equivalent
7550	  change to chert).
7551
7552Thu Jan 20 14:21:10 GMT 2011  Olly Betts <olly@survex.com>
7553
7554	* backends/chert/chert_btreebase.cc,backends/chert/chert_btreebase.h,
7555	  backends/chert/chert_table.cc: Don't read the bitmaps from the base
7556	  files when opening a database for reading.
7557
7558Thu Jan 20 01:57:02 GMT 2011  Olly Betts <olly@survex.com>
7559
7560	* backends/brass/brass_database.cc: Optimise not to update doclength
7561	  when it hasn't changed (cross-port of equivalent change to chert).
7562
7563Thu Jan 20 01:36:51 GMT 2011  Olly Betts <olly@survex.com>
7564
7565	* backends/chert/chert_database.cc: Optimise not to update doclength
7566	  when it hasn't changed.
7567
7568Wed Jan 19 03:50:18 GMT 2011  Olly Betts <olly@survex.com>
7569
7570	* tests/api_compact.cc: Close ofstream objects used to write out stub
7571	  files for testing before we run the actual compaction, to avoid
7572	  issues on Microsoft Windows (ticket#525).
7573
7574Wed Jan 19 01:01:38 GMT 2011  Olly Betts <olly@survex.com>
7575
7576	* HACKING: Snapshots and releases are now bootstrapped with autoconf
7577	  2.68 and libtool 2.4.  Prune information about reasons for needing
7578	  really old autotools versions when there's a reason to need a newer
7579	  version anyway.
7580
7581Sat Jan 15 11:10:26 GMT 2011  Olly Betts <olly@survex.com>
7582
7583	* NEWS: Update from ChangeLog and 1.0.23.
7584
7585Sat Jan 15 10:28:10 GMT 2011  Olly Betts <olly@survex.com>
7586
7587	* bin/xapian-chert-update.cc: Fix to handle value slot entries in the
7588	  termlist table.
7589
7590Wed Jan 12 23:49:21 GMT 2011  Olly Betts <olly@survex.com>
7591
7592	* bin/xapian-chert-update.cc: Adjust keys for doclength chunks too.
7593
7594Wed Jan 12 13:37:30 GMT 2011  Olly Betts <olly@survex.com>
7595
7596	* AUTHORS,bin/xapian-chert-update.cc: Fix to also rewrite docids in
7597	  value chunk keys (reported by Luca Barbieri on xapian-discuss).
7598
7599Tue Jan 11 08:41:02 GMT 2011  Olly Betts <olly@survex.com>
7600
7601	* docs/deprecation.rst: Note removal of if idx in mset.
7602
7603Tue Jan 11 08:30:29 GMT 2011  Olly Betts <olly@survex.com>
7604
7605	* docs/deprecation.rst: PostingSource now offers a replacement for
7606	  Enquire::set_bias().
7607
7608Mon Jan 10 09:40:24 GMT 2011  Olly Betts <olly@survex.com>
7609
7610	* api/compactor.cc: Add missing header <ctime> for time() (ticket#530).
7611
7612Sun Jan 09 23:14:02 GMT 2011  Olly Betts <olly@survex.com>
7613
7614	* api/compactor.cc: Use msvc_posix_rename() under __WIN32__ to
7615	  atomically update stub file after compaction (ticket#525).
7616
7617Thu Dec 23 13:00:43 GMT 2010  Olly Betts <olly@survex.com>
7618
7619	* queryparser/queryparser.lemony: Whitespace consistency tweak.
7620
7621Thu Dec 23 11:01:26 GMT 2010  Olly Betts <olly@survex.com>
7622
7623	* queryparser/queryparser.lemony,tests/queryparsertest.cc: Handle
7624	  NEAR/<offset> and ADJ/<offset> where offset isn't an integer the same
7625	  way at the end of the query as in the middle.
7626
7627Tue Dec 21 10:28:08 GMT 2010  Olly Betts <olly@survex.com>
7628
7629	* net/tcpserver.cc: If we can't bind to the specified port because it
7630	  is a privileged one, exit with code 77 (EX_NOPERM) to make it easier
7631	  to automatically handle failure when starting the server from a
7632	  script.
7633
7634Tue Dec 21 07:43:52 GMT 2010  Olly Betts <olly@survex.com>
7635
7636	* docs/index.html: Add link to main website.
7637
7638Tue Dec 21 07:40:57 GMT 2010  Olly Betts <olly@survex.com>
7639
7640	* docs/index.html,docs/overview.html: Update links to wiki.xapian.org
7641	  to point to trac.xapian.org/wiki instead.
7642
7643Mon Dec 20 10:02:06 GMT 2010  Richard Boulton <richard@tartarus.org>
7644
7645	* docs/deprecation.rst: Add note about botched removal of python's
7646	  Enquire.get_matching_terms (now fully removed).
7647
7648Sun Dec 19 12:40:12 GMT 2010  Olly Betts <olly@survex.com>
7649
7650	* NEWS: Update release date.
7651
7652Sat Dec 18 13:17:52 GMT 2010  Olly Betts <olly@survex.com>
7653
7654	* NEWS,configure.ac: Update for 1.2.4.
7655
7656Wed Dec 15 11:56:22 GMT 2010  Olly Betts <olly@survex.com>
7657
7658	* NEWS: Update.
7659
7660Tue Dec 14 12:46:36 GMT 2010  Olly Betts <olly@survex.com>
7661
7662	* HACKING,tests/runtest.in: Add XAPIAN_TESTSUITE_LD_PRELOAD hook to
7663	  allow libeatmydata to easily be used when running the testsuite.
7664
7665Mon Dec 13 14:28:19 GMT 2010  Olly Betts <olly@survex.com>
7666
7667	* include/xapian/: Make it more explicitly clear that PostingIterator,
7668	  PositionIterator, and TermIterator's skip_to methods advance (and
7669	  hence shouldn't be expected to allow you to "rewind" the stream).
7670
7671Mon Dec 13 14:18:18 GMT 2010  Olly Betts <olly@survex.com>
7672
7673	* include/xapian/database.h: "network databases" -> "remote databases".
7674
7675Mon Dec 13 14:10:08 GMT 2010  Olly Betts <olly@survex.com>
7676
7677	* net/remoteserver.cc: If the message parameter only contains a
7678	  string then we can just use it as is.
7679
7680Mon Dec 13 13:34:30 GMT 2010  Olly Betts <olly@survex.com>
7681
7682	* backends/remote/remote-database.cc,common/remote-database.h,
7683	  common/remoteprotocol.h,common/remoteserver.h,
7684	  docs/remote_protocol.html,net/remoteserver.cc,tests/api_metadata.cc:
7685	  Add support for iterating metadata keys with the remote backend.
7686	  This change necessitated a minor version bump in the remote protocol.
7687
7688Sun Dec 12 12:24:48 GMT 2010  Olly Betts <olly@survex.com>
7689
7690	* weight/tradweight.cc: Fix calculation order to avoid inconsistent
7691	  weights due to rounding for TradWeight(0).
7692	* tests/api_backend.cc: Add regression test tradweight2.
7693
7694Sat Dec 11 11:38:32 GMT 2010  Olly Betts <olly@survex.com>
7695
7696	* AUTHORS: Update thanks list with bug reporters and patch submitters.
7697
7698Thu Dec 09 03:59:42 GMT 2010  Olly Betts <olly@survex.com>
7699
7700	* NEWS: Update from ChangeLog.
7701
7702Thu Dec 09 03:58:20 GMT 2010  Olly Betts <olly@survex.com>
7703
7704	* net/remoteconnection.cc: Add FIXME note about using sendfile() or
7705	  similar.
7706
7707Tue Dec 07 10:16:31 GMT 2010  Olly Betts <olly@survex.com>
7708
7709	* tests/queryparsertest.cc: Note 1.0.x version #515 was fixed in.
7710
7711Mon Dec 06 05:26:01 GMT 2010  Olly Betts <olly@survex.com>
7712
7713	* net/replicatetcpclient.cc: Rearrange loop to avoid duplicating code.
7714
7715Mon Dec 06 01:39:23 GMT 2010  Olly Betts <olly@survex.com>
7716
7717	* queryparser/queryparser.lemony: Fix typo so we test for OP_NEAR or
7718	  OP_PHRASE, not twice for OP_NEAR, which fixes a bug with not setting
7719	  the correct window size for default_op of OP_PHRASE in some cases.
7720	  Factor out the "is_positional(op)" test into an inlined function to
7721	  help avoid repeating this error.
7722	* tests/queryparsertest.cc: Add regression test coverage.
7723
7724Mon Dec 06 01:01:03 GMT 2010  Olly Betts <olly@survex.com>
7725
7726	* tests/queryparsertest.cc: Add coverage for OP_PHRASE as default_op.
7727
7728Sun Dec 05 12:35:32 GMT 2010  Olly Betts <olly@survex.com>
7729
7730	* weight/bm25weight.cc: Fix calculation order to avoid inconsistent
7731	  weights due to rounding when BM25Weight is used with certain
7732	  non-default parameter combinations.
7733	* tests/api_backend.cc: Add regression test bm25weight2.
7734
7735Sun Dec 05 12:10:36 GMT 2010  Olly Betts <olly@survex.com>
7736
7737	* backends/chert/chert_compact.cc: Add FIXME comment regarding
7738	  resolve_duplicate_metadata() getting called multiple times for the
7739	  same key in multipass mode.
7740
7741Sun Dec 05 12:09:32 GMT 2010  Olly Betts <olly@survex.com>
7742
7743	* include/xapian/compactor.h: Add documentation comments.
7744
7745Sun Dec 05 04:54:03 GMT 2010  Olly Betts <olly@survex.com>
7746
7747	* HACKING: Omega now wants libmagic-dev (though it's optional
7748	  currently).
7749
7750Wed Nov 17 10:56:10 GMT 2010  Olly Betts <olly@survex.com>
7751
7752	* examples/quest.cc: Add command line options to allow prefixes to
7753	  be specified for the QueryParser.
7754
7755Tue Nov 09 23:18:36 GMT 2010  Olly Betts <olly@survex.com>
7756
7757	* backends/brass/brass_compact.cc,backends/chert/chert_compact.cc,
7758	  backends/flint/flint_compact.cc: Fix access to empty priority_queue
7759	  while merging synonyms (found with _GLIBCXX_DEBUG).
7760
7761Tue Nov 09 03:23:49 GMT 2010  Olly Betts <olly@survex.com>
7762
7763	* HACKING: Drop list of platforms valgrind supports, as it takes
7764	  effort to keep up to date.  People can check valgrind.org for an
7765	  accurate list of currently supported platforms.
7766
7767Sun Nov 07 14:13:44 GMT 2010  Olly Betts <olly@survex.com>
7768
7769	* api/compactor.cc,backends/brass/brass_compact.cc,
7770	  backends/chert/chert_compact.cc,backends/flint/flint_compact.cc,
7771	  bin/xapian-compact.cc,include/xapian/compactor.h:
7772	  Compactor::resolve_duplicate_metadata() callback method is now passed
7773	  an array of std::string plus the array length, which allows for more
7774	  efficient merging that the series of pairwise merges which was
7775	  required before.
7776
7777Mon Nov 01 14:47:37 GMT 2010  Richard Boulton <richard@tartarus.org>
7778
7779	* matcher/multimatch.cc,matcher/multixorpostlist.cc,
7780	  matcher/multixorpostlist.h: Add debugging to print out the
7781	  postlist description after recalculation of maxweight, and to
7782	  MultiXorPostList methods.  Fix problem shown by soaktest where
7783	  the matcher was not told to recalculate the maxweight after a
7784	  MultiXorPostList child reached end, which was causing an
7785	  assertion failure in debug builds.  (This could also have been
7786	  causing some performance problems, but I have not measurements.)
7787
7788Mon Nov 01 10:34:30 GMT 2010  Richard Boulton <richard@tartarus.org>
7789
7790	* tests/soaktest/soaktest_queries.cc: Fix compilation: call c_str()
7791	  on argument to atoi, now that util.h no longer defines a string
7792	  wrapper.
7793
7794Sun Oct 31 10:51:12 GMT 2010  Olly Betts <olly@survex.com>
7795
7796	* queryparser/queryparser.lemony: Don't delete this in TermGroup, etc
7797	  until after we have successfully constructed the Query object to
7798	  return to avoid a double free in the Query construction throws an
7799	  exception.  Fixes ticket#515.
7800
7801Fri Oct 29 12:46:15 GMT 2010  Olly Betts <olly@survex.com>
7802
7803	* tests/api_backend.cc: Fix comment typo in previous commit.
7804
7805Fri Oct 29 12:32:47 GMT 2010  Olly Betts <olly@survex.com>
7806
7807	* matcher/multimatch.cc: Empty query now return MSet with firstitem
7808	  set correctly.
7809	* tests/api_backend.cc: Extend msetfirst2 to be a regression test for
7810	  this issue too.
7811
7812Fri Oct 29 12:13:51 GMT 2010  Olly Betts <olly@survex.com>
7813
7814	* api/omenquire.cc: If first is larger than get_doccount() then clamp
7815	  it to avid pointlessly trying to allocate far too much memory.
7816	* tests/api_backend.cc: Regression test msetfirst2.
7817
7818Thu Oct 21 09:38:44 GMT 2010  Richard Boulton <richard@tartarus.org>
7819
7820	* tests/Makefile.am: Add zlib-vg.c to distribution tarballs.
7821
7822Wed Oct 20 11:38:13 GMT 2010  Olly Betts <olly@survex.com>
7823
7824	* examples/delve.cc: Add '-z' option to count zero-length documents.
7825
7826Mon Oct 18 10:35:46 GMT 2010  Olly Betts <olly@survex.com>
7827
7828	* bin/xapian-compact.cc: Add --quiet/-q option to suppress progress
7829	  output.
7830
7831Thu Oct 14 03:51:02 GMT 2010  Olly Betts <olly@survex.com>
7832
7833	* tests/api_unicode.cc: Fix typo in previous change.
7834
7835Thu Oct 14 01:16:31 GMT 2010  Olly Betts <olly@survex.com>
7836
7837	* tests/api_unicode.cc: Expand tested cases to (hopefully) cover all
7838	  conditional combinations in unicode/utf8itor.cc.
7839
7840Mon Oct 11 11:46:30 GMT 2010  Olly Betts <olly@survex.com>
7841
7842	* Makefile.am: Remove xapian-config on "make distclean" rather than
7843	  "make clean", since configure builds it.  Never remove man pages
7844	  under "make clean".
7845
7846Mon Oct 11 11:41:32 GMT 2010  Olly Betts <olly@survex.com>
7847
7848	* tests/Makefile.am: Fix typo - CLEAN_FILES should be CLEANFILES.
7849	  This means that where zlib-vg.so is used, it now gets cleaned up.
7850
7851Sun Oct 10 11:00:31 GMT 2010  Olly Betts <olly@survex.com>
7852
7853	* Makefile.am: Fix so coverage-reconfigure-maintainer-mode adds
7854	  --enable-maintainer-mode rather than coverage-reconfigure!
7855
7856Sun Oct 10 10:45:38 GMT 2010  Olly Betts <olly@survex.com>
7857
7858	* Makefile.am: Factor out COVERAGE_CONFIGURE to make future changes
7859	  easier.
7860
7861Sun Oct 10 09:59:01 GMT 2010  Olly Betts <olly@survex.com>
7862
7863	* Makefile.am: Add coverage-reconfigure-maintainer-mode target which
7864	  is just like coverage-reconfigure except it also passes
7865	  --enable-maintainer-mode.
7866
7867Sun Oct 10 07:29:23 GMT 2010  Olly Betts <olly@survex.com>
7868
7869	* tests/api_nodb.cc: Check Stem("none") too.  Check
7870	  Stem("").get_description().  No need to check a bogus language name
7871	  here as stemlangs2 now does that.
7872
7873Sun Oct 10 07:22:41 GMT 2010  Olly Betts <olly@survex.com>
7874
7875	* tests/api_stem.cc: Test an invalid languages name with each possible
7876	  byte value at the start to improve coverage of the switch in
7877	  api/stem.cc.
7878
7879Sun Oct 10 06:14:42 GMT 2010  Olly Betts <olly@survex.com>
7880
7881	* unicode/utf8itor.cc: Correct comments and use bad_cont() in another
7882	  place (no change to code once inlining is taken into account).
7883
7884Sun Oct 10 06:11:05 GMT 2010  Olly Betts <olly@survex.com>
7885
7886	* tests/api_unicode.cc: Improve test coverage for
7887	  Utf8Iterator::calculate_sequence_length().
7888
7889Sun Oct 10 00:33:49 GMT 2010  Olly Betts <olly@survex.com>
7890
7891	* tests/api_unicode.cc: Tweak testcase utf8iterator2 to add coverage
7892	  for Utf8Iterator(const char *).
7893
7894Fri Oct 08 13:10:08 GMT 2010  Olly Betts <olly@survex.com>
7895
7896	* matcher/selectpostlist.cc,matcher/selectpostlist.h: Implement
7897	  SelectPostList::check() so that check() on OP_NEAR and OP_PHRASE
7898	  subqueries won't end up checking potentially huge numbers of
7899	  documents.
7900
7901Fri Oct 08 12:29:50 GMT 2010  Olly Betts <olly@survex.com>
7902
7903	* tests/api_backend.cc: Add testcase phrase3 to provide coverage for
7904	  SelectPostList::skip_to().
7905
7906Fri Oct 08 10:36:18 GMT 2010  Olly Betts <olly@survex.com>
7907
7908	* matcher/orpostlist.cc,matcher/orpostlist.h: Fix performance
7909	  regression in some cases caused by the introduction of
7910	  OrPostList::check().
7911
7912Thu Oct 07 03:53:11 GMT 2010  Olly Betts <olly@survex.com>
7913
7914	* tests/api_anydb.cc: Clear tout before each iteration in scaleweight1.
7915
7916Wed Oct 06 14:30:34 GMT 2010  Olly Betts <olly@survex.com>
7917
7918	* NEWS: Update from 1.0.22 and ChangeLog.
7919
7920Wed Oct 06 12:39:36 GMT 2010  Olly Betts <olly@survex.com>
7921
7922	* tests/queryparsertest.cc: Add two more testcases for having a phrase
7923	  generator between prefix and term.
7924
7925Wed Oct 06 12:37:32 GMT 2010  Olly Betts <olly@survex.com>
7926
7927	* include/xapian/matchspy.h,include/xapian/postingsource.h: Remove
7928	  "experimental" marker from PostingSource and ValueCountMatchSpy.
7929
7930Wed Oct 06 12:31:01 GMT 2010  Olly Betts <olly@survex.com>
7931
7932	* docs/index.html: Add links to replication and facets documents, and
7933	  fix typo in serialistion document link.
7934
7935Wed Oct 06 12:12:51 GMT 2010  Olly Betts <olly@survex.com>
7936
7937	* docs/Makefile.am,docs/categorisation.rst,docs/facets.rst: Change the
7938	  categorisation document to talk about facets, since that's the
7939	  terminology that seems to be most widely used these days, and
7940	  "categorisation" can also mean automatically assigning categories to
7941	  documents.  Fix up references to features which were removed or
7942	  changed during development.
7943
7944Wed Oct 06 12:11:21 GMT 2010  Olly Betts <olly@survex.com>
7945
7946	* docs/internals.html: Add link to replication protocol.
7947
7948Wed Oct 06 08:36:50 GMT 2010  Olly Betts <olly@survex.com>
7949
7950	* examples/simplesearch.cc: Fix cut and paste error in usage message.
7951
7952Wed Oct 06 00:12:40 GMT 2010  Olly Betts <olly@survex.com>
7953
7954	* api/emptypostlist.cc,matcher/queryoptimiser.cc: In the query
7955	  optimiser, use value range bounds to check for value ranges which
7956	  must be empty.
7957	* tests/api_opvalue.cc: Add testcase valuerange5 to check this
7958	  optimisation actually fires.
7959
7960Tue Oct 05 03:43:02 GMT 2010  Olly Betts <olly@survex.com>
7961
7962	* examples/simplesearch.cc: Fix cut-and-paste error - --version now
7963	  reports simplesearch not simpleexpand.
7964
7965Tue Oct 05 03:41:48 GMT 2010  Olly Betts <olly@survex.com>
7966
7967	* docs/categorisation.rst: Update to use the current ValueCountMatchSpy
7968	  API.
7969
7970Fri Oct 01 09:53:50 GMT 2010  Olly Betts <olly@survex.com>
7971
7972	* configure.ac: Simplify defaulting enable_documentation a little.
7973
7974Fri Oct 01 09:29:03 GMT 2010  Olly Betts <olly@survex.com>
7975
7976	* configure.ac: Default enable_sse to yes to fix build on x86.
7977
7978Fri Oct 01 09:10:34 GMT 2010  Olly Betts <olly@survex.com>
7979
7980	* configure.ac: Fix typo in SSE handling code which stopped it
7981	  defaulting as intended.
7982
7983Fri Oct 01 02:00:49 GMT 2010  Olly Betts <olly@survex.com>
7984
7985	* NEWS: Update from ChangeLog.
7986
7987Fri Oct 01 01:54:41 GMT 2010  Olly Betts <olly@survex.com>
7988
7989	* backends/Makefile.mk,backends/brass/brass_compact.cc,
7990	  backends/byte_length_strings.h,backends/chert/chert_compact.cc,
7991	  backends/flint/flint_compact.cc: Factor out 3 copies of
7992	  ByteLengthPrefixedStringItor and ByteLengthPrefixedStringItorGt into
7993	  their own file.
7994
7995Fri Oct 01 01:28:57 GMT 2010  Olly Betts <olly@survex.com>
7996
7997	* backends/Makefile.mk,backends/brass/brass_compact.cc,
7998	  backends/brass/brass_spelling.cc,backends/chert/chert_compact.cc,
7999	  backends/chert/chert_spelling.cc,backends/flint/flint_compact.cc,
8000	  backends/flint/flint_spelling.cc,
8001	  backends/prefix_compressed_strings.h: Factor out 6 copies of
8002	  PrefixCompressedStringItor and PrefixCompressedStringWriter and 3
8003	  copies of PrefixCompressedStringItorGt into their own file.
8004
8005Thu Sep 30 15:28:49 GMT 2010  Olly Betts <olly@survex.com>
8006
8007	* NEWS: Update from ChangeLog.
8008
8009Thu Sep 30 15:26:52 GMT 2010  Olly Betts <olly@survex.com>
8010
8011	* api/compactor.cc: Need utils.h for stat with a std::string argument.
8012
8013Thu Sep 30 15:23:50 GMT 2010  Olly Betts <olly@survex.com>
8014
8015	* tests/api_compact.cc: Remove unwanted check left over from cut and
8016	  pasting code from a previous testcase.
8017
8018Thu Sep 30 15:21:02 GMT 2010  Olly Betts <olly@survex.com>
8019
8020	* tests/api_compact.cc: Convert compaction tests to use the new API.
8021
8022Thu Sep 30 14:54:27 GMT 2010  Olly Betts <olly@survex.com>
8023
8024	* backends/brass/brass_compact.cc,backends/chert/chert_compact.cc,
8025	  backends/flint/flint_compact.cc: Correct filenames in @file doxygen
8026	  comments.
8027
8028Thu Sep 30 14:46:02 GMT 2010  Olly Betts <olly@survex.com>
8029
8030	* api/compactor.cc: Use the ChertVersion, etc classes to make sure that
8031	  the new database has a new UUID rather than creating a "donor"
8032	  database and then stealing its version/uuid file.
8033
8034Thu Sep 30 14:33:46 GMT 2010  Olly Betts <olly@survex.com>
8035
8036	* api/Makefile.mk,api/compactor.cc,backends/brass/Makefile.mk,
8037	  backends/brass/brass_compact.cc,backends/brass/brass_compact.h,
8038	  backends/chert/Makefile.mk,backends/chert/chert_compact.cc,
8039	  backends/chert/chert_compact.h,backends/flint/Makefile.mk,
8040	  backends/flint/flint_compact.cc,backends/flint/flint_compact.h,bin/,
8041	  include/Makefile.mk,include/xapian.h,include/xapian/compactor.h:
8042	  Convert compaction code into a Xapian::Compactor class, and make
8043	  xapian-compact a simple wrapper around this new class.  (ticket#175)
8044
8045Thu Sep 30 06:16:11 GMT 2010  Olly Betts <olly@survex.com>
8046
8047	* bin/: Eliminate uses of <iostream> in bin/xapian-compact-*.cc.
8048
8049Thu Sep 30 05:44:06 GMT 2010  Olly Betts <olly@survex.com>
8050
8051	* bin/xapian-compact-brass.cc,bin/xapian-compact-chert.cc,
8052	  bin/xapian-compact-flint.cc: Fix indentation of table data
8053	  arrays.
8054
8055Thu Sep 30 05:32:44 GMT 2010  Olly Betts <olly@survex.com>
8056
8057	* bin/xapian-compact-brass.cc,bin/xapian-compact-chert.cc: Only
8058	  skip producing an output table when there are only some inputs
8059	  for the termlist - for spellings and synonyms, we want to produce
8060	  an output in this case.
8061	* tests/api_compact.cc: Add regression test compactmissingtables1.
8062
8063Wed Sep 29 11:13:18 GMT 2010  Olly Betts <olly@survex.com>
8064
8065	* common/document.h: Initialise docid to 0 when creating a document
8066	  from scratch, as documented.
8067	* tests/api_none.cc: Add regression test document2.
8068	* include/xapian/document.h: Document that return value is unreliable
8069	  in this case prior to the next 1.0 and 1.2 releases.
8070
8071Wed Sep 29 07:06:10 GMT 2010  Olly Betts <olly@survex.com>
8072
8073	* configure.ac: FreeBSD and OpenBSD don't need explicit dependency
8074	  libraries, so set link_all_deplibs_CXX=no there.
8075
8076Wed Sep 29 07:04:20 GMT 2010  Olly Betts <olly@survex.com>
8077
8078	* xapian-config.in: Just check @link_all_deplibs_CXX@ which we adjust
8079	  in configure rather than duplicating configure's list of platforms
8080	  where explicit dependencies aren't required.
8081
8082Mon Sep 27 04:28:46 GMT 2010  Olly Betts <olly@survex.com>
8083
8084	* bin/xapian-compact.cc: Convert error messages to stdout/stderr to
8085	  exceptions, in preparation for turning this into an API class.
8086
8087Mon Sep 27 03:50:54 GMT 2010  Olly Betts <olly@survex.com>
8088
8089	* bin/xapian-compact.cc: Add support for compacting to a stub database,
8090	  which can be one of the inputs (for atomic update).
8091	* tests/api_compact.cc: Add testcases compactstub3 and compactstub4 as
8092	  feature tests for this.
8093
8094Mon Sep 27 03:50:00 GMT 2010  Olly Betts <olly@survex.com>
8095
8096	* tests/api_compact.cc: Suppress output from xapian-compact in
8097	  compactstub2 (which I'd disabled for debugging).
8098
8099Sun Sep 26 13:59:20 GMT 2010  Olly Betts <olly@survex.com>
8100
8101	* bin/xapian-compact.cc: Extend to work on stub database files too.
8102	* tests/api_compact.cc: Add feature test compactstub2.
8103
8104Sun Sep 26 13:28:45 GMT 2010  Olly Betts <olly@survex.com>
8105
8106	* bin/xapian-compact.cc: Inputs can now be stub database directories,
8107	  in which case the databases in the stub are used as inputs.
8108	* tests/api_compact.cc: Add feature test compactstub1.
8109
8110Sun Sep 26 11:11:49 GMT 2010  Olly Betts <olly@survex.com>
8111
8112	* xapian-config.in: Add --static option which makes other options
8113	  report values for static linking.
8114
8115Tue Sep 21 10:43:17 GMT 2010  Olly Betts <olly@survex.com>
8116
8117	* queryparser/queryparser.lemony,tests/queryparsertest.cc: Allow phrase
8118	  generators between a probabilistic prefix and the term itself.
8119
8120Thu Sep 09 11:18:47 GMT 2010  Olly Betts <olly@survex.com>
8121
8122	* INSTALL: Raise recommended GCC version from 3.3 to 4.1, since that's
8123	  the oldest we regularly test with.
8124
8125Thu Sep 09 11:14:03 GMT 2010  Olly Betts <olly@survex.com>
8126
8127	* HACKING: Debian etch was discontinued 6 months ago, so it's no longer
8128	  useful to document packages for developing Xapian on it.
8129
8130Thu Sep 09 03:15:00 GMT 2010  Olly Betts <olly@survex.com>
8131
8132	* docs/deprecation.rst: Actually write down our guidelines for
8133	  supporting other software.
8134
8135Thu Sep 09 00:20:16 GMT 2010  Olly Betts <olly@survex.com>
8136
8137	* docs/replication.rst: Adjust text to reflect conclusions about the
8138	  issues in ticket#434.
8139
8140Thu Sep 09 00:10:03 GMT 2010  Olly Betts <olly@survex.com>
8141
8142	* docs/replication.rst: Don't suggest using a symlink to switch between
8143	  databases - a stub database is much better.
8144
8145Thu Sep 09 00:07:02 GMT 2010  Olly Betts <olly@survex.com>
8146
8147	* docs/replication.rst: Assume xapian tools are installed on PATH not
8148	  in the current directory for example commands.
8149
8150Thu Sep 09 00:05:22 GMT 2010  Olly Betts <olly@survex.com>
8151
8152	* docs/replication.rst: Fix a typo.
8153
8154Mon Sep 06 07:10:02 GMT 2010  Olly Betts <olly@survex.com>
8155
8156	* configure.ac: Add support for --enable-sse=sse and --enable-sse=sse2
8157	  to allow control of which SSE instructions to use.
8158
8159Fri Sep 03 13:08:53 GMT 2010  Richard Boulton <richard@tartarus.org>
8160
8161	* bin/xapian-replicate.cc: If a fullcopy was attempted, but was not
8162	  put live, display an explanatory message (if verbose is true).
8163
8164Fri Sep 03 05:54:09 GMT 2010  Olly Betts <olly@survex.com>
8165
8166	* backends/chert/chert_modifiedpostlist.h,
8167	  backends/flint/flint_modifiedpostlist.h,tests/: Fixes required to
8168	  build on OpenBSD 4.5 with GCC 3.3.5.
8169
8170Tue Aug 31 14:37:44 GMT 2010  Olly Betts <olly@survex.com>
8171
8172	* include/xapian/queryparser.h: Document cases where FLAG_WILDCARD and
8173	  FLAG_PARTIAL aren't currently supported.
8174
8175Mon Aug 30 06:27:46 GMT 2010  Olly Betts <olly@survex.com>
8176
8177	* configure.ac: Actaully make autoconf 2.64 a hard minimum requirement
8178	  (as HACKING already documented).
8179	* HACKING,NEWS,configure.ac: autoconf 2.67 is now used to bootstrap.
8180
8181Mon Aug 30 06:26:03 GMT 2010  Olly Betts <olly@survex.com>
8182
8183	* NEWS: Update from ChangeLog.
8184
8185Mon Aug 30 06:04:13 GMT 2010  Olly Betts <olly@survex.com>
8186
8187	* configure.ac: Enable use of SSE maths on x86 by default with Sun's
8188	  compiler.
8189
8190Sat Aug 28 16:04:45 GMT 2010  Olly Betts <olly@survex.com>
8191
8192	* api/omdatabase.cc,include/xapian/queryparser.h,
8193	  tests/harness/backendmanager.h: None of the workarounds we have
8194	  which are conditional on __SUNPRO_CC are needed with Sun C++
8195	  version 5.8, so only enable them for older versions (which will
8196	  mean we can drop these workarounds with confidence once older
8197	  versions are dropped by Sun/Oracle, or once we can find out that
8198	  they have been - currently all I've managed to discover is that
8199	  version 5.0 reached "end of service life" in 6/2006).
8200
8201Sat Aug 28 15:33:14 GMT 2010  Olly Betts <olly@survex.com>
8202
8203	* configure.ac,tests/api_replicate.cc: Solaris < 10 doesn't have
8204	  setenv() so we have to use putenv() there.  And the value we set
8205	  XAPIAN_MAX_CHANGESETS to is always constant currently, so set it
8206	  using constant strings generated by a macro.
8207
8208Sat Aug 28 12:35:25 GMT 2010  Olly Betts <olly@survex.com>
8209
8210	* configure.ac: Beef up the test for whether -lm is required and add
8211	  a special case to force it to be for Sun's C++ compiler - there's
8212	  some interaction with libtool and/or shared objects which means
8213	  that the configure test doesn't think -lm is needed here when it
8214	  is.
8215
8216Sat Aug 28 10:59:11 GMT 2010  Olly Betts <olly@survex.com>
8217
8218	* api/matchspy.cc,common/const_database_wrapper.cc,net/tcpclient.cc,
8219	  tests/api_replicate.cc,tests/harness/backendmanager_remotetcp.cc,
8220	  tests/harness/testsuite.cc,tests/perftest/runprocess.cc,
8221	  unicode/utf8itor.cc: Fix to compile with Sun C++.
8222
8223Sat Aug 28 10:30:08 GMT 2010  Olly Betts <olly@survex.com>
8224
8225	* HACKING,PLATFORMS: Move PLATFORMS information to the wiki and replace
8226	  with a pointer.
8227
8228Sat Aug 28 03:15:47 GMT 2010  Olly Betts <olly@survex.com>
8229
8230	* matcher/queryoptimiser.cc: Need to avoid excess precision on m68k
8231	  when targeting models 68010, 68020, 68030 as well as 68000.
8232
8233Tue Aug 24 05:54:27 GMT 2010  Olly Betts <olly@survex.com>
8234
8235	* configure.ac: Update for 1.2.3.
8236
8237Tue Aug 24 05:52:47 GMT 2010  Olly Betts <olly@survex.com>
8238
8239	* NEWS: Update from ChangeLog.
8240
8241Mon Aug 16 16:46:19 GMT 2010  Olly Betts <olly@survex.com>
8242
8243	* common/closefrom.cc: Use /dev/fd on Mac OS X.
8244
8245Mon Aug 16 16:18:26 GMT 2010  Olly Betts <olly@survex.com>
8246
8247	* common/closefrom.cc: Need safeerrno.h and safeunistd.h on non-Linux
8248	  platforms too.
8249
8250Mon Aug 16 15:47:48 GMT 2010  Olly Betts <olly@survex.com>
8251
8252	* backends/flint_lock.cc,common/Makefile.mk,common/closefrom.cc,
8253	  common/closefrom.h,configure.ac,net/progclient.cc: Use closefrom()
8254	  if available, otherwise provide our own implementation (optimised
8255	  to some extent for many platforms).
8256
8257Sun Aug 15 12:43:04 GMT 2010  Olly Betts <olly@survex.com>
8258
8259	* AUTHORS: Update.
8260
8261Sun Aug 15 12:11:26 GMT 2010  Olly Betts <olly@survex.com>
8262
8263	* xapian-core.spec.in: Update BuildRequires to specify libuuid-devel
8264	  instead of e2fsprogs-devel.
8265
8266Sun Aug 15 11:30:05 GMT 2010  Olly Betts <olly@survex.com>
8267
8268	* HACKING,INSTALL,common/safeuuid.h,common/win32_uuid.cc,
8269	  common/win32_uuid.h,configure.ac: libuuid moved from e2fsprogs to
8270	  util-linux-ng about a year ago, so update documentation, comments,
8271	  and configure error messages to reflect this.  Issue reported by
8272	  David Jeske on xapian-devel list.
8273
8274Sun Aug 15 07:58:51 GMT 2010  Olly Betts <olly@survex.com>
8275
8276	* tests/harness/backendmanager_remotetcp.cc: Under __WIN32__, we need
8277	  <io.h> for _open_osfhandle() (ticket#495).
8278
8279Sun Aug 15 07:10:25 GMT 2010  Olly Betts <olly@survex.com>
8280
8281	* common/realtime.h: MSVC doesn't cope with a prototype at function
8282	  scope with a global namespace qualification (ticket#495).
8283
8284Wed Aug 04 10:44:08 GMT 2010  Olly Betts <olly@survex.com>
8285
8286	* backends/flint_lock.cc,backends/multi/multi_alltermslist.cc,
8287	  bin/xapian-chert-update.cc,queryparser/termgenerator.cc,
8288	  queryparser/termgenerator_internal.cc: Fix more incorrect @file
8289	  directives.
8290
8291Wed Aug 04 09:19:10 GMT 2010  Olly Betts <olly@survex.com>
8292
8293	* matcher/localsubmatch.h,queryparser/termgenerator_internal.h: Fix
8294	  incorrect @file doxygen directives.
8295
8296Tue Aug 03 14:42:56 GMT 2010  Olly Betts <olly@survex.com>
8297
8298	* tests/harness/fdtracker.h: Fix filename in @file.
8299
8300Tue Aug 03 14:32:45 GMT 2010  Olly Betts <olly@survex.com>
8301
8302	* common/contiguousalldocspostlist.h,common/unaligned.h: Fix include
8303	  guards to match header filename (cosmetic issues only).
8304
8305Mon Aug 02 12:38:59 GMT 2010  Olly Betts <olly@survex.com>
8306
8307	* backends/brass/brass_table.cc,backends/brass/brass_values.cc,
8308	  backends/chert/chert_table.cc,backends/chert/chert_values.cc,
8309	  backends/flint/flint_alldocspostlist.cc,
8310	  backends/remote/remote-document.cc,matcher/multimatch.cc,
8311	  matcher/remotesubmatch.cc,net/progclient.cc: Use new Literal()
8312	  feature in debug logging of function calls.
8313
8314Mon Aug 02 12:08:42 GMT 2010  Olly Betts <olly@survex.com>
8315
8316	* common/pretty.h: Add Literal() class to allow bypassing the pretty
8317	  printer for interspersing literal strings.
8318
8319Sun Aug 01 10:19:38 GMT 2010  Olly Betts <olly@survex.com>
8320
8321	* api/omdatabase.cc: Database::get_spelling_suggestion() will now
8322	  suggest a correction even if the passed word is in the dictionary,
8323	  provided the correction has at least the same frequency.  Partly
8324	  addresses #225.
8325	* queryparser/queryparser.lemony: Check spelling even if term is in
8326	  the database.
8327	* docs/spelling.rst: Update to reflect these changes.
8328	* tests/api_spelling.cc,tests/queryparsertest.cc: Add test coverage for
8329	  these changes.
8330
8331Tue Jul 27 15:24:56 GMT 2010  Tim Brody <tdb2@ecs.soton.ac.uk>
8332
8333	* xapian-core.spec.in: Add xapian-metadata and cmake related files to
8334	  RPM packaging.
8335
8336Thu Jul 22 07:13:12 GMT 2010  Olly Betts <olly@survex.com>
8337
8338	* net/remoteconnection.cc: Wrap line.
8339
8340Thu Jul 22 07:11:23 GMT 2010  Olly Betts <olly@survex.com>
8341
8342	* common/remoteserver.h,net/remoteserver.cc: Pass 1.0 for the end time
8343	  when relaying a NetworkTimeoutError, not RealTime::now() - any time
8344	  in the past will do, we just want the operation to time out if it
8345	  would block.  Removed related FIXME which is already resolved.
8346
8347Wed Jul 21 18:00:08 GMT 2010  Olly Betts <olly@survex.com>
8348
8349	* unicode/tclUniData.cc: Fix comment - this is Unicode 5.2 data, not
8350	  5.1.
8351
8352Thu Jul 15 13:45:05 GMT 2010  Olly Betts <olly@survex.com>
8353
8354	* common/realtime.h:Explicitly specify global namespace for
8355	  xapian_sleep_milliseconds prototype as MSVC seems to need this.
8356
8357Thu Jul 15 13:03:13 GMT 2010  Olly Betts <olly@survex.com>
8358
8359	* queryparser/queryparser.lemony: Fix handling of groups of terms which
8360	  are all stopwords - in situations where this causes a problem we now
8361	  disable stopword checks for such groups.  (ticket#245)
8362	* tests/queryparsertest.cc: Add regression testcases.
8363
8364Thu Jul 15 08:13:03 GMT 2010  Olly Betts <olly@survex.com>
8365
8366	* common/fileutils.cc: Fix reversed memcmp() test.
8367
8368Sun Jul 11 14:59:06 GMT 2010  Olly Betts <olly@survex.com>
8369
8370	* common/fileutils.cc: Factor out UNCW path check into a helper
8371	  function.
8372
8373Sun Jul 11 14:56:27 GMT 2010  Olly Betts <olly@survex.com>
8374
8375	* common/fileutils.cc,tests/Makefile.am,tests/unittest.cc: Move the
8376	  tests of resolve_relative_path() into a new "unittest" program so
8377	  they actually are run by "make check".  (ticket#243)
8378
8379Sun Jul 11 13:14:24 GMT 2010  Olly Betts <olly@survex.com>
8380
8381	* common/fileutils.cc: Support the \\?\ path syntax.
8382
8383Sat Jul 10 15:49:08 GMT 2010  Olly Betts <olly@survex.com>
8384
8385	* common/fileutils.cc,common/fileutils.h: Fix resolve_relative_path()
8386	  to handle UNC paths.
8387
8388Sat Jul 10 15:27:48 GMT 2010  Olly Betts <olly@survex.com>
8389
8390	* common/fileutils.cc: -D__WIN32__ on the g++ command line works for
8391	  testing on Linux, so no need to have that in the code.  Add a couple
8392	  of UNC path test cases which pass, and a commented-out one which
8393	  fails.
8394
8395Sat Jul 10 14:58:35 GMT 2010  Olly Betts <olly@survex.com>
8396
8397	* common/fileutils.cc,common/fileutils.h: We use these routines to
8398	  resolve a relative path (in a stub database file) in terms of a
8399	  second path (the filename of that file), so just instead a
8400	  routine to do exactly that, which is easier to code and more
8401	  efficient.  The new implementation fixes several bugs with
8402	  Microsoft Windows paths.  Some testcases (currently not used)
8403	  are now present in fileutils.cc (ticket#243).
8404	* backends/dbfactory.cc: Use the new API.
8405
8406Fri Jul 09 07:42:31 GMT 2010  Olly Betts <olly@survex.com>
8407
8408	* tests/perftest/perftest.cc: I missed a use of atoi() on std::string
8409	  but just call .cstr() on the string instead of dragging in utils.h.
8410
8411Fri Jul 09 04:39:40 GMT 2010  Olly Betts <olly@survex.com>
8412
8413	* common/utils.cc,common/utils.h: Remove unused std::string to const
8414	  char * wrappers for standard functions, and remove the only use of
8415	  rmdir()'s wrapper.
8416
8417Thu Jul 08 15:18:04 GMT 2010  Olly Betts <olly@survex.com>
8418
8419	* api/omenquire.cc: Xapian::ESet is a reference counted handle, so it
8420	  is efficient to return by value - remove FIXME which suggests we
8421	  should avoid doing so.
8422
8423Thu Jul 08 15:17:20 GMT 2010  Olly Betts <olly@survex.com>
8424
8425	* api/omqueryinternal.cc: Update FIXMEs - it's too late to fix stuff
8426	  in 1.1.x!
8427
8428Thu Jul 08 15:13:47 GMT 2010  Olly Betts <olly@survex.com>
8429
8430	* api/omenquire.cc: Remove FIXMEs about debug logging which have been
8431	  addressed by the fairly recent debug logging improvements.
8432
8433Thu Jul 08 15:07:07 GMT 2010  Olly Betts <olly@survex.com>
8434
8435	* api/keymaker.cc: Fix comment typos.
8436
8437Thu Jul 08 14:50:59 GMT 2010  Olly Betts <olly@survex.com>
8438
8439	* api/replication.cc,backends/brass/,backends/chert/,
8440	  backends/dbfactory_remote.cc,backends/flint/,
8441	  backends/remote/remote-database.cc,bin/xapian-progsrv.cc,
8442	  bin/xapian-tcpsrv.cc,common/,net/,tests/perftest/perftest.cc,
8443	  tests/perftest/perftest.h: Replace use of OmTime with a double
8444	  holding a count in seconds since the epoch.
8445
8446Thu Jul 08 12:35:40 GMT 2010  Olly Betts <olly@survex.com>
8447
8448	* net/tcpclient.cc: Retry select() if it fails with EINTR while waiting
8449	  for connect(), and discriminate cases with same failure message to
8450	  aid debugging.
8451
8452Thu Jul 08 05:09:18 GMT 2010  Olly Betts <olly@survex.com>
8453
8454	* queryparser/queryparser.lemony: Remove comment left over from the
8455	  "boolean exclusive" work.
8456
8457Wed Jul 07 13:18:17 GMT 2010  Olly Betts <olly@survex.com>
8458
8459	* include/xapian/types.h: Fix documentation comment for Xapian::timeout
8460	  type - it holds a time interval in milliseconds not microseconds
8461	  (the API docs for the methods which use it explicitly document this
8462	  correctly).
8463
8464Tue Jul 06 15:17:09 GMT 2010  Olly Betts <olly@survex.com>
8465
8466	* tests/queryparsertest.cc: Fix formatting.
8467
8468Tue Jul 06 14:13:03 GMT 2010  Olly Betts <olly@survex.com>
8469
8470	* tests/perftest/perftest.cc: Use str(OmTime::as_double()) rather than
8471	  trying to assemble a string of a floating point number from strings
8472	  of the sec and usec values.
8473
8474Tue Jul 06 14:03:30 GMT 2010  Olly Betts <olly@survex.com>
8475
8476	* common/debuglog.h,common/remote-database.h: Remove unused '#include
8477	  "omtime.h"'.
8478	* backends/remote/remote-database.cc: Add explicit '#include
8479	  "omtime.h"'.
8480
8481Mon Jul 05 11:40:42 GMT 2010  Olly Betts <olly@survex.com>
8482
8483	* queryparser/queryparser.lemony: Restore iterator to start of
8484	  where we tried to parse a range if we decide it might be a filter
8485	  term instead.  Clear the error if we decide it is a filter.
8486	* tests/queryparsertest.cc: Fix expected test output from
8487	  qp_value_range4 testcase.
8488
8489Mon Jul 05 06:46:16 GMT 2010  Olly Betts <olly@survex.com>
8490
8491	* queryparser/queryparser.lemony: Fix to be smarter about handling a
8492	  boolean filter term containing ".." in the presence of
8493	  valuerangeprocessors.
8494	* tests/queryparsertest.cc: Add regression test qp_value_range4.
8495
8496Mon Jul 05 04:10:08 GMT 2010  Olly Betts <olly@survex.com>
8497
8498	* queryparser/queryparser.lemony,queryparser/queryparser.lt: Clean up
8499	  how value ranges are handled to do the checking of the range in the
8500	  lexer, which then passes a single token (RANGE) to the parser
8501	  (instead of a RANGE_START token which is always followed by a
8502	  RANGE_END token).
8503
8504Fri Jul 02 12:32:37 GMT 2010  Olly Betts <olly@survex.com>
8505
8506	* configure.ac: Don't pass -mtune=generic unless GCC >= 4.2 is in use
8507	  (ticket#492).
8508
8509Wed Jun 30 10:54:15 GMT 2010  Olly Betts <olly@survex.com>
8510
8511	* backends/brass/brass_postlist.cc: Remove unnecessary NULL check.
8512	  Identified by Coverity's Scan.
8513	* backends/chert/chert_postlist.cc: Same change for chert.
8514
8515Tue Jun 29 12:17:16 GMT 2010  Olly Betts <olly@survex.com>
8516
8517	* backends/brass/brass_chunkedlisttable.h,
8518	  backends/chert/chert_chunkedlisttable.h: Remove unused files.
8519
8520Sun Jun 27 04:31:06 GMT 2010  Olly Betts <olly@survex.com>
8521
8522	* NEWS: Update for 1.2.2.
8523
8524Sun Jun 27 04:22:28 GMT 2010  Olly Betts <olly@survex.com>
8525
8526	* examples/delve.cc: Show the database's UUID.
8527
8528Sun Jun 27 03:30:16 GMT 2010  Olly Betts <olly@survex.com>
8529
8530	* NEWS.SKELETON: Add "tools" section.
8531
8532Sun Jun 27 03:03:57 GMT 2010  Olly Betts <olly@survex.com>
8533
8534	* configure.ac: Update for 1.2.2.
8535
8536Sat Jun 26 15:55:45 GMT 2010  Olly Betts <olly@survex.com>
8537
8538	* NEWS: Create from ChangeLog.
8539
8540Sat Jun 26 15:36:37 GMT 2010  Olly Betts <olly@survex.com>
8541
8542	* NEWS.SKELETON: Add template for NEWS entry.
8543
8544Sat Jun 26 11:09:03 GMT 2010  Olly Betts <olly@survex.com>
8545
8546	* backends/brass/brass_table.cc: Sync the table right after the base
8547	  file, which allows more time for the table changes to be written,
8548	  and doing the sync together may be more efficient with some Linux
8549	  kernel versions.
8550	* backends/chert/chert_table.cc: Same change for chert.
8551
8552Sat Jun 26 06:46:39 GMT 2010  Olly Betts <olly@survex.com>
8553
8554	* HACKING: Reorder the release checklist.
8555
8556Thu Jun 24 08:03:18 GMT 2010  Olly Betts <olly@survex.com>
8557
8558	  bin/xapian-check.cc: Don't try to check doclengths are consistent
8559	  between the postlist and termlist tables if it would use more than
8560	  1GB of memory, and handle std::bad_alloc or std::length_error.  This
8561	  issue affects sup users, as sup allocates docids such that they are
8562	  sparse and large docids can easily occur.
8563
8564Wed Jun 23 15:38:25 GMT 2010  Olly Betts <olly@survex.com>
8565
8566	* include/xapian/weight.h: Revert Xapian::Weight's copy ctor back
8567	  to protected as GCC 4.1 fails to compile subclasses when it is
8568	  private (this appears to be a compiler bug).
8569
8570Wed Jun 23 07:31:19 GMT 2010  Olly Betts <olly@survex.com>
8571
8572	* AUTHORS: Thank people who reported bugs fixed in 1.2.1.
8573
8574Wed Jun 23 06:52:54 GMT 2010  Olly Betts <olly@survex.com>
8575
8576	* xapian-core.spec.in: Update for 1.2.x - add e2fsprogs-devel to
8577	  BuildRequires and add new files.
8578
8579Wed Jun 23 05:00:34 GMT 2010  Olly Betts <olly@survex.com>
8580
8581	* HACKING: Wording tweak.
8582
8583Wed Jun 23 04:11:30 GMT 2010  Olly Betts <olly@survex.com>
8584
8585	* tests/harness/testsuite.cc: Need <cstdio> for sprintf().  Fixes
8586	  compilation error for some platforms and/or compilers (my guess would
8587	  be GCC 4.5 - it builds OK with GCC 4.4).  (ticket#489)
8588
8589Tue Jun 22 14:45:37 GMT 2010  Olly Betts <olly@survex.com>
8590
8591	* NEWS,configure.ac: Update for 1.2.1.
8592
8593Mon Jun 21 16:00:22 GMT 2010  Olly Betts <olly@survex.com>
8594
8595	* NEWS: Sync with 1.0.21 and update from ChangeLog.
8596
8597Mon Jun 21 15:15:50 GMT 2010  Olly Betts <olly@survex.com>
8598
8599	* tests/api_replicate.cc: Unix putenv() requires the buffer passed to
8600	  remain valid, as it stores it directly in the environment.  It's
8601	  unclear from MSDN if _putenv() does the same, but _putenv_s() must
8602	  allocate a copy since it needs to have an '=' in, so use that
8603	  instead.  It also has an interface much like setenv(), so the code
8604	  looks more similar.
8605
8606Mon Jun 21 06:07:42 GMT 2010  Olly Betts <olly@survex.com>
8607
8608	* queryparser/queryparser.cc: Add missing const.
8609
8610Mon Jun 21 05:21:32 GMT 2010  Olly Betts <olly@survex.com>
8611
8612	* queryparser/queryparser.cc: Update to match header ABI fix.
8613
8614Mon Jun 21 03:52:41 GMT 2010  Olly Betts <olly@survex.com>
8615
8616	* include/xapian/queryparser.h: QueryParser::add_boolean_prefix() now
8617	  uses two overloaded forms instead of a default parameter so that we
8618	  don't break the ABI.
8619
8620Fri Jun 18 16:56:59 GMT 2010  Olly Betts <olly@survex.com>
8621
8622	* AUTHORS: Add 1.0.21 bug reporters.
8623
8624Fri Jun 18 05:52:00 GMT 2010  Olly Betts <olly@survex.com>
8625
8626	* include/xapian/queryparser.h,queryparser/queryparser.cc,
8627	  queryparser/queryparser.lemony,queryparser/queryparser_internal.h:
8628	  Add new optional parameter to QueryParser::add_boolean_prefix() to
8629	  allow the user to indicate a prefix isn't "exclusive" and that
8630	  OP_AND should be used to combine multiple instances.  Fixes
8631	  ticket#402.  This change should also improve efficiency as it
8632	  avoids copying the lists of prefixes and compares them more
8633	  efficiently.
8634
8635Fri Jun 18 02:51:11 GMT 2010  Olly Betts <olly@survex.com>
8636
8637	* include/xapian/queryparser.h: Fix doccomment typo.
8638
8639Thu Jun 17 14:04:35 GMT 2010  Olly Betts <olly@survex.com>
8640
8641	* include/xapian/weight.h: Xapian::Weight's copy ctor is now
8642	  private rather than protected.  This is an API and ABI compatible
8643	  change since there's no definition so a subclass which tried to
8644	  access it before would fail to link.
8645
8646Thu Jun 17 13:00:47 GMT 2010  Olly Betts <olly@survex.com>
8647
8648	* queryparser/queryparser.lemony: Missing changes from previous commit.
8649
8650Thu Jun 17 11:37:30 GMT 2010  Olly Betts <olly@survex.com>
8651
8652	* api/valuerangeproc.cc: Add support for open-ended ranges
8653	  (ticket#480).
8654	* docs/queryparser.html,docs/valueranges.rst: Document.
8655	* tests/queryparsertest.cc: Add feature tests.
8656
8657Thu Jun 17 06:15:24 GMT 2010  Olly Betts <olly@survex.com>
8658
8659	* queryparser/queryparser.lemony: Switch out of IN_GROUP mode when we
8660	  emit a WILDCARD.  Fixeds bug#484.
8661	* tests/queryparsertest.cc: Add regression testcase to wildcard1.
8662
8663Thu Jun 17 02:42:16 GMT 2010  Olly Betts <olly@survex.com>
8664
8665	* tests/api_backend.cc: Rename failedadd1 to failedreplace1 as it's the
8666	  replace which fails really.  Add failedreplace2 which adds explicit
8667	  coverage for the case of a failed replace when the database isn't
8668	  empty to start with.
8669
8670Tue Jun 15 12:45:36 GMT 2010  Olly Betts <olly@survex.com>
8671
8672	* include/xapian/queryparser.h: Note in the description of
8673	  set_database() what the database is used for.
8674
8675Tue Jun 15 12:26:12 GMT 2010  Olly Betts <olly@survex.com>
8676
8677	* include/xapian/queryparser.h: Fix formatting of bullet list.
8678
8679Mon Jun 14 17:02:10 GMT 2010  Olly Betts <olly@survex.com>
8680
8681	* backends/brass/brass_table.cc,backends/chert/chert_table.cc,
8682	  backends/flint/flint_table.cc: cancel() now marks the Btree as
8683	  unmodified.
8684	* tests/api_backend.cc: Add regression test failedadd1.
8685
8686Sun Jun 13 16:07:49 GMT 2010  Olly Betts <olly@survex.com>
8687
8688	* common/Makefile.mk,common/safeuuid.h,configure.ac: Fix mingw build to
8689	  use __WIN32__ UUID API.
8690
8691Sun Jun 13 12:25:24 GMT 2010  Olly Betts <olly@survex.com>
8692
8693	* tests/perftest/freemem.cc: Fix whitespace to match Omega's version.
8694
8695Sun Jun 13 11:52:24 GMT 2010  Olly Betts <olly@survex.com>
8696
8697	* tests/perftest/freemem.cc: Merge in changes from omega's version.
8698	  Clean up whitespace issues.  Put the __WIN32__ case last, as we
8699	  tend to elsewhere (since most people reading the code probably
8700	  want to see the other version).
8701
8702Sun Jun 13 11:32:30 GMT 2010  Olly Betts <olly@survex.com>
8703
8704	* tests/perftest/perftest.cc: "MSWin32" isn't the OS name.  Also,
8705	  prefer += to build up a string.
8706
8707Sat Jun 12 09:31:28 GMT 2010  Olly Betts <olly@survex.com>
8708
8709	* tests/api_percentages.cc: Note that 1.0.x returned 4% for the top hit
8710	  in topercent5, so checking it gets at least 50% is a regression test
8711	  for that issue.
8712
8713Fri Jun 11 15:38:26 GMT 2010  Olly Betts <olly@survex.com>
8714
8715	* configure.ac: -march=pentium4 doesn't seem to give a measurable
8716	  speed-up or size reduction (from Richard's tests) and it carries a
8717	  small risk of introducing instructions which don't work on some
8718	  obscure CPU which implements SSE2, so drop it.
8719
8720Fri Jun 11 15:25:16 GMT 2010  Olly Betts <olly@survex.com>
8721
8722	* weight/bm25weight.cc: Stop forcing the wdf_max value to be at least
8723	  one in BM25Weight::get_maxpart() - this is no longer needed now we
8724	  calculate percentages based on the number of matching subqueries, and
8725	  it is more natural for a non-existent term to get zero weight (ditto
8726	  for a term which always has wdf = 0.
8727	* tests/api_anydb.cc: Change qterminfo1 to check that a non-existent
8728	  term gets zero weight (previously we checked that it got a non-zero
8729	  weight, but really we want to ensure that it contributes to
8730	  percentage calculations, which new test topercent5 now does).
8731
8732Fri Jun 11 15:19:29 GMT 2010  Olly Betts <olly@survex.com>
8733
8734	* tests/api_percentages.cc: Add topercent5 testcase which checks that
8735	  an OR search including an non-existent term doesn't get 100%, and
8736	  that the non-existent term doesn't score more than terms which do
8737	  exist.
8738
8739Fri Jun 11 14:15:07 GMT 2010  Olly Betts <olly@survex.com>
8740
8741	* matcher/queryoptimiser.cc: When using SSE FP instructions on x86 we
8742	  can disable the use of volatile since there are no excess precision
8743	  issues to work around.
8744
8745Fri Jun 11 08:21:04 GMT 2010  Olly Betts <olly@survex.com>
8746
8747	* configure.ac: Put SSE flags in AM_CXXFLAGS not CXXFLAGS.
8748
8749Fri Jun 11 07:08:01 GMT 2010  Olly Betts <olly@survex.com>
8750
8751	* configure.ac: Default to building with SSE FP instructions for x86.
8752	  This avoids issues with excess precision and it a bit faster too.
8753	  Should fix ticket#487.
8754
8755Thu Jun 10 15:15:33 GMT 2010  Olly Betts <olly@survex.com>
8756
8757	* NEWS: Update from ChangeLog.
8758
8759Thu Jun 10 15:00:12 GMT 2010  Olly Betts <olly@survex.com>
8760
8761	* HACKING: Capitalise "Fedora".
8762
8763Thu Jun 10 11:27:18 GMT 2010  Olly Betts <olly@survex.com>
8764
8765	* INSTALL: Reword UUID section - list platforms where we make use of
8766	  built-in APIs first, give the URL for e2fsprogs home page, and
8767	  give the package name for Debian and Ubuntu.
8768
8769Thu Jun 10 01:08:21 GMT 2010  Olly Betts <olly@survex.com>
8770
8771	* HACKING: libtool 2.2.10 used for snapshots and releases now.
8772
8773Thu Jun 10 00:21:49 GMT 2010  Olly Betts <olly@survex.com>
8774
8775	* configure.ac,include/xapian/version_h.cc,
8776	  include/xapian/visibility.h: We do need to have the visibility
8777	  annotations on for code compiling against the library, so substitute
8778	  the probed value of XAPIAN_ENABLE_VISIBILITY into <xapian/version.h>
8779	  so it is available.
8780
8781Wed Jun 09 11:31:14 GMT 2010  Olly Betts <olly@survex.com>
8782
8783	* INSTALL,configure.ac,include/xapian/visibility.h: Control use of
8784	  GCC's visibility support with defined(XAPIAN_ENABLE_VISIBILITY)
8785	  instead of !defined(XAPIAN_DISABLE_VISIBILITY), so it is only used
8786	  when building the library, not when building code which uses it.
8787	  Add check to configure that GCC actually supports visibility for
8788	  the platform being built for, which fixes compiler warnings with
8789	  platforms which don't (such as Mac OS X and mingw).
8790
8791Wed Jun 09 11:17:58 GMT 2010  Olly Betts <olly@survex.com>
8792
8793	* HACKING: "private", etc as "access specifiers", not "visibility
8794	  specifiers".
8795
8796Wed Jun 09 11:04:55 GMT 2010  Olly Betts <olly@survex.com>
8797
8798	* HACKING: Note flex and bison needed to build doxygen.
8799
8800Wed Jun 09 05:25:10 GMT 2010  Olly Betts <olly@survex.com>
8801
8802	* common/win32_uuid.cc: Fix signed/unsigned comparison warning on
8803	  mingw.
8804
8805Tue Jun 08 16:56:26 GMT 2010  Olly Betts <olly@survex.com>
8806
8807	* common/safewinsock2.h: Reword #error to avoid single quote which
8808	  gives compilation warning with some GCC 4.2.1 on mingw.
8809
8810Tue Jun 08 14:32:28 GMT 2010  Olly Betts <olly@survex.com>
8811
8812	* backends/brass/brass_check.h,backends/chert/chert_check.h,
8813	  backends/flint/flint_check.h: Remove mutable from std::ostream &
8814	  member - mutable doesn't make sense for a reference.
8815
8816Tue Jun 08 13:03:56 GMT 2010  Olly Betts <olly@survex.com>
8817
8818	* common/,matcher/,weight/weightinternal.cc: Replace the still rather
8819	  contorted mechanism for accumulating rel termfreqs for local
8820	  databases with a simpler mechanism which is more efficient in both
8821	  space and time.
8822
8823Mon Jun 07 16:31:24 GMT 2010  Olly Betts <olly@survex.com>
8824
8825	* api/maptermlist.h,api/matchspy.cc,api/termlist.cc,backends/brass/,
8826	  backends/chert/,backends/flint/,
8827	  backends/inmemory/inmemory_database.cc,
8828	  backends/inmemory/inmemory_database.h,
8829	  backends/multi/multi_termlist.cc,backends/multi/multi_termlist.h,
8830	  backends/remote/net_termlist.cc,backends/remote/net_termlist.h,
8831	  common/ortermlist.h,common/termlist.h,expand/ortermlist.cc: Remove
8832	  default OrTermList::skip_to() implementation and implement skip_to()
8833	  in each class instead, as this allows a slightly more efficient
8834	  implementation, and also avoids problems with calling skip_to() as
8835	  the first operation for the many subclasses which have a "started"
8836	  flag, which OrTermList::skip_to() won't set.
8837
8838Mon Jun 07 06:08:53 GMT 2010  Olly Betts <olly@survex.com>
8839
8840	* queryparser/queryparser.lemony: Rename TermList class to Terms to
8841	  avoid confusion with the TermList typedef used elsewhere.  Add
8842	  documentation comments for Terms and TermGroup classes.
8843
8844Mon Jun 07 02:18:05 GMT 2010  Olly Betts <olly@survex.com>
8845
8846	* backends/brass/: Switch to using io_utils instead of brass_io.
8847
8848Mon Jun 07 02:16:30 GMT 2010  Olly Betts <olly@survex.com>
8849
8850	* AUTHORS: Add Arvid Ephraim Picciani for help fixing bootstrap for
8851	  BusyBox sha1sum.
8852
8853Mon Jun 07 01:16:57 GMT 2010  Olly Betts <olly@survex.com>
8854
8855	* common/io_utils.cc: Whitespace tweak.
8856
8857Mon Jun 07 00:58:26 GMT 2010  Olly Betts <olly@survex.com>
8858
8859	* common/io_utils.h: Fix header guard macro name to follow convention.
8860
8861Sun Jun 06 15:07:55 GMT 2010  Olly Betts <olly@survex.com>
8862
8863	* HACKING,configure.ac: Upgrade to using libtool 2.2.8.
8864
8865Sun Jun 06 04:34:13 GMT 2010  Olly Betts <olly@survex.com>
8866
8867	* bin/Makefile.mk,configure.ac: Fix build failures with some
8868	  combinations of backends disabled (partially addresses ticket#361).
8869
8870Sat Jun 05 16:30:57 GMT 2010  Olly Betts <olly@survex.com>
8871
8872	* matcher/remotesubmatch.cc: Add missing parameter of
8873	  RemoteSubMatch::start_match() to debug logging.
8874
8875Sat Jun 05 15:03:56 GMT 2010  Olly Betts <olly@survex.com>
8876
8877	* matcher/queryoptimiser.h: Make QueryOptimiser::optimise_query()'s
8878	  argument const pointer, since we only pass it to do_subquery() which
8879	  takes a const pointer.
8880
8881Fri Jun 04 16:05:01 GMT 2010  Olly Betts <olly@survex.com>
8882
8883	* common/rset.h: Just keep a reference to the set<docid> from the
8884	  Xapian::RSet object rather than copying it (since we now only
8885	  create the RSetI object transiently, so the Xapian::RSet object
8886	  is definitely valid for its whole lifetime).
8887
8888Fri Jun 04 15:57:50 GMT 2010  Olly Betts <olly@survex.com>
8889
8890	* api/omenquire.cc,matcher/localmatch.cc,matcher/localmatch.h: Keep
8891	  a Xapian::RSet handle in the LocalSubMatch object and only create
8892	  an RSetI object briefly in LocalSubMatch::prepare_match().
8893
8894Fri Jun 04 15:36:45 GMT 2010  Olly Betts <olly@survex.com>
8895
8896	* common/pretty.h: RSetI objects are no longer passed as parameters
8897	  or return values, so we no longer need to handle them.
8898
8899Fri Jun 04 15:28:21 GMT 2010  Olly Betts <olly@survex.com>
8900
8901	* api/omenquire.cc,common/esetinternal.h,common/omenquireinternal.h,
8902	  common/rset.h,expand/esetinternal.cc,matcher/rset.cc: RSetI is used
8903	  when collating statistics prior to performing the match, and when
8904	  generating an ESet.  The second use is entirely unnecessary and just
8905	  ends up with us copying the std::set<Xapian::docid> from inside the
8906	  Xapian::RSet object, so eliminate it and just use the Xapian::RSet
8907	  object directly.  This allows RSetI to be simplified somewhat too.
8908
8909Fri Jun 04 14:22:38 GMT 2010  Olly Betts <olly@survex.com>
8910
8911	* tests/api_backend.cc: Make arrays static const.
8912
8913Fri Jun 04 13:25:20 GMT 2010  Olly Betts <olly@survex.com>
8914
8915	* backends/Makefile.mk: Note need to update include/xapian/version_h.cc
8916	  when adding a new backend.
8917	* AUTHORS: Thanks to Conrad Hoffmann for pointing this omission out.
8918
8919Thu Jun 03 15:01:44 GMT 2010  Richard Boulton <richard@tartarus.org>
8920
8921	* tests/soaktest/soaktest_queries.cc: Add missing include of str.h
8922
8923Thu Jun 03 12:09:35 GMT 2010  Richard Boulton <richard@tartarus.org>
8924
8925	* tests/Makefile.am: Fix building of zlib-vg.so in VPATH builds.
8926
8927Thu Jun 03 11:49:31 GMT 2010  Richard Boulton <richard@tartarus.org>
8928
8929	* matcher/orpostlist.cc,tests/api_backend.cc: Fix several bugs in
8930	  OrPostList::check() (introduced since 1.2.0).  Fixes ticket #485.
8931	  Specifically, we have to check a sub-postlist even if head=did,
8932	  because we need to know if that sub-postlist is valid.  Also, if
8933	  a sub-postlist is not valid, set its head to did+1, since we know
8934	  that we're no longer interested in matches before did, and this
8935	  allows the OrPostList to assume that the minimum docid of its
8936	  children is the current docid.
8937
8938Thu Jun 03 07:15:24 GMT 2010  Olly Betts <olly@survex.com>
8939
8940	* matcher/: Implement MultiXorPostList which returns correct weights
8941	  for XOR of more than 2 subqueries, and drop XorPostList completely.
8942	  (ticket#475)
8943	* tests/api_anydb.cc: Add regression test xor2.
8944
8945Thu Jun 03 04:38:56 GMT 2010  Olly Betts <olly@survex.com>
8946
8947	* tests/api_replicate.cc: Tweak loop end test to be a normal while.
8948
8949Thu Jun 03 01:22:20 GMT 2010  Olly Betts <olly@survex.com>
8950
8951	* tests/api_stem.cc: Note stem2's feature was backported to 1.0.21.
8952
8953Tue Jun 01 13:49:44 GMT 2010  Olly Betts <olly@survex.com>
8954
8955	* backends/brass/brass_database.cc,backends/brass/brass_termlist.cc,
8956	  backends/chert/chert_database.cc,backends/chert/chert_termlist.cc,
8957	  backends/flint/flint_database.cc,backends/flint/flint_document.cc,
8958	  backends/flint/flint_termlist.cc,matcher/: Fix LOGCALL_VOID uses
8959	  for ctors and dtors to be LOGCALL_CTOR and LOGCALL_DTOR respectively.
8960
8961Tue Jun 01 13:33:07 GMT 2010  Olly Betts <olly@survex.com>
8962
8963	* api/omdocument.cc: Use LOGCALL_VOID instead of LOGCALL with a void
8964	  return type.
8965
8966Tue Jun 01 13:08:02 GMT 2010  Olly Betts <olly@survex.com>
8967
8968	* matcher/multimatch.cc: The debug logging now copes with being passed
8969	  RSet* so remove special casing with ?:.
8970
8971Tue Jun 01 10:17:27 GMT 2010  Olly Betts <olly@survex.com>
8972
8973	* HACKING,configure.ac: Drop support for --enable-log=profile -
8974	  dedicated profiling tools are likely to return more useful results.
8975	* common/debuglog.cc,common/debuglog.h: Rename xapian_debuglogger__
8976	  global to xapian_debuglogger_ to avoid reserved __ in the name.
8977	* common/omdebug.cc,common/omdebug.h: Remove in favour of debuglog.h.
8978	* common/pretty.h: New PrettyOStream<> template class for pretty
8979	  printing types in debug logs (and eventually the testsuite).
8980	* api/,backends/brass/,backends/chert/,
8981	  backends/dbfactory_remote.cc,backends/flint/,
8982	  backends/inmemory/inmemory_database.cc,
8983	  backends/inmemory/inmemory_document.cc,
8984	  backends/inmemory/inmemory_positionlist.cc,
8985	  backends/multi/multi_postlist.cc,backends/multi/multi_termlist.cc,
8986	  common/,expand/esetinternal.cc,expand/expandweight.cc,
8987	  expand/ortermlist.cc,matcher/,net/progclient.cc,
8988	  net/remoteconnection.cc: Migrate all remaining uses of omdebug.h to
8989	  debuglog.h.  Write more parameters to the debug log.  Retire the
8990	  barely used APICALL category and use API instead (reflecting actual
8991	  current use).  Add new REPLICA category.  Fix names logged for ctors
8992	  and dtors which have "::" in the class name.
8993
8994Sun May 30 13:45:12 GMT 2010  Olly Betts <olly@survex.com>
8995
8996	* api/omenquire.cc: Remove bogus "Data::" from debug logging for two
8997	  methods.
8998
8999Sun May 30 08:49:22 GMT 2010  Olly Betts <olly@survex.com>
9000
9001	* include/xapian/stem.h,languages/stem.cc: Xapian::Stem now recognises
9002	  "nb" and "nn" as codes for the Norwegian stemmer.
9003	* tests/api_stem.cc: Add feature test stem2 to check that these new
9004	  codes work.
9005
9006Sat May 29 10:12:40 GMT 2010  Olly Betts <olly@survex.com>
9007
9008	* common/debuglog.h: Add overload of operator| which writes ", " and
9009	  then a value to std::ostream.
9010	* api/omdatabase.cc,api/replication.cc,
9011	  backends/brass/brass_alldocspostlist.cc,
9012	  backends/brass/brass_metadata.cc,backends/brass/brass_table.cc,
9013	  backends/chert/,backends/dbfactory.cc,
9014	  backends/flint/flint_alldocspostlist.cc,expand/esetinternal.cc,
9015	  expand/expandweight.cc,matcher/,net/remoteconnection.cc,
9016	  weight/bm25weight.cc,weight/weight.cc: Use this in LOGCALL uses to
9017	  make them shorter and more readable.
9018
9019Fri May 28 06:47:57 GMT 2010  Olly Betts <olly@survex.com>
9020
9021	* api/leafpostlist.cc,api/omdatabase.cc,backends/brass/brass_table.cc,
9022	  backends/chert/chert_table.cc,backends/dbfactory.cc,
9023	  backends/flint/flint_alldocspostlist.cc: Put LOGCALL macro use all on
9024	  one line so we can more easily mechanise use and update.
9025
9026Fri May 28 04:22:35 GMT 2010  Olly Betts <olly@survex.com>
9027
9028	* api/replication.cc,api/valueiterator.cc,
9029	  backends/brass/brass_alltermslist.cc,
9030	  backends/chert/chert_alltermslist.cc,backends/dbfactory.cc,
9031	  backends/inmemory/inmemory_document.cc,
9032	  backends/remote/remote-document.cc,matcher/synonympostlist.cc,
9033	  net/remoteconnection.cc,weight/bm25weight.cc: Use NO_ARGS instead of
9034	  "" and LOGCALL_VOID instead of LOGCALL with void return type.
9035
9036Fri May 28 04:12:35 GMT 2010  Olly Betts <olly@survex.com>
9037
9038	* matcher/valuerangepostlist.cc: Add missing inclusions of
9039	  "debuglog.h".
9040	* backends/brass/brass_metadata.h,backends/brass/brass_postlist.h,
9041	  backends/brass/brass_synonym.h,backends/chert/chert_metadata.h,
9042	  backends/chert/chert_postlist.h,backends/chert/chert_synonym.h,
9043	  backends/dbfactory_remote.cc,backends/flint/flint_metadata.h,
9044	  backends/flint/flint_synonym.h,common/database.h,common/rset.h:
9045	  Remove unused inclusions of "omassert.h" and "omdebug.h".
9046	* common/rset.h: Remove unused inclusion of "weightinternal.h".
9047	* api/omdatabase.cc,api/registry.cc,api/replication.cc,backends/brass/,
9048	  backends/chert/,backends/dbfactory.cc,backends/flint/: Add missing
9049	  explicit inclusions of "debuglog.h". Fix LOGCALL markup of ctors and
9050	  dtors.  Use LOGCALL instead of DEBUGCALL.
9051
9052Fri May 28 04:06:08 GMT 2010  Olly Betts <olly@survex.com>
9053
9054	* backends/flint/flint_alldocspostlist.h: Add missing explicit
9055	  inclusions of "autoptr.h", "flint_database.h", and forward
9056	  declaration of class FlintCursor.
9057
9058Fri May 28 03:52:40 GMT 2010  Olly Betts <olly@survex.com>
9059
9060	* common/const_database_wrapper.h,common/databasereplicator.h,
9061	  common/gnu_getopt.h: Add "(C)" to copyright statements for
9062	  consistency with other files.
9063
9064Fri May 28 03:45:26 GMT 2010  Olly Betts <olly@survex.com>
9065
9066	* queryparser/queryparser.lt: Include "debuglog.h" instead of
9067	  "omdebug.h".
9068
9069Fri May 28 03:45:03 GMT 2010  Olly Betts <olly@survex.com>
9070
9071	* queryparser/queryparser.cc: Remove unused inclusion of "omdebug.h".
9072
9073Fri May 28 03:40:50 GMT 2010  Olly Betts <olly@survex.com>
9074
9075	* expand/esetinternal.cc,matcher/localmatch.cc,matcher/multimatch.cc,
9076	  matcher/rset.cc: Add missing explicit inclusions of "omassert.h".
9077
9078Thu May 27 23:39:57 GMT 2010  Olly Betts <olly@survex.com>
9079
9080	* common/Makefile.mk,common/expand.h: Remove unused header.
9081
9082Thu May 27 06:45:27 GMT 2010  Olly Betts <olly@survex.com>
9083
9084	* include/xapian/stem.h: Update the list of languages that the
9085	  Xapian::Stem constructor recognises.
9086
9087Thu May 27 05:20:42 GMT 2010  Olly Betts <olly@survex.com>
9088
9089	* include/xapian/stem.h,languages/Makefile.mk,
9090	  languages/compiler/generator.c,languages/stem.cc,
9091	  languages/steminternal.cc,languages/steminternal.h,tests/Makefile.am,
9092	  tests/api_stem.cc: Add the ability to specify your own stemming
9093	  algorithm by subclassing Xapian::StemImplementation, mostly based on
9094	  patch from Evgeny Sizikov in ticket#448.
9095
9096Thu May 27 04:50:31 GMT 2010  Olly Betts <olly@survex.com>
9097
9098	* tests/api_opvalue.cc: Use TEST_REL() instead of tout and TEST() with
9099	  an inequality.
9100
9101Thu May 27 04:28:07 GMT 2010  Olly Betts <olly@survex.com>
9102
9103	* api/replication.cc,backends/databasereplicator.cc,common/debuglog.h,
9104	  common/omdebug.h,expand/esetinternal.cc,expand/ortermlist.cc,
9105	  matcher/,net/remoteconnection.cc: Partial mass conversion of files
9106	  from omdebug.h to debuglog.h (this takes care off all the files
9107	  without BSN copyright).
9108
9109Thu May 27 04:24:36 GMT 2010  Olly Betts <olly@survex.com>
9110
9111	* common/output.h: Use <ostream> not <fstream>.
9112
9113Thu May 27 04:09:25 GMT 2010  Olly Betts <olly@survex.com>
9114
9115	* matcher/orpostlist.cc: Prefer ++x to x += 1 for consistency.
9116
9117Wed May 26 13:32:20 GMT 2010  Olly Betts <olly@survex.com>
9118
9119	* matcher/exactphrasepostlist.cc: Separate (C) notice from @file
9120	  doccomment.
9121
9122Wed May 26 13:11:57 GMT 2010  Olly Betts <olly@survex.com>
9123
9124	* backends/flint/flint_postlist.cc,backends/flint/flint_postlist.h:
9125	  Move virtual method FlintPostList::get_doclength() definition out
9126	  of header, which also means the header no longer needs omdebug.h.
9127
9128Wed May 26 13:03:22 GMT 2010  Olly Betts <olly@survex.com>
9129
9130	* common/debuglog.h: Strip out commented out RETURN_VOID machinery.
9131	  This case is automatically handled provided LOGCALL_VOID is used.
9132
9133Wed May 26 12:33:04 GMT 2010  Olly Betts <olly@survex.com>
9134
9135	* common/debuglog.h: Don't check the category more than once in ctors
9136	  and dtors.  Don't convert the return value to a string in RETURN()
9137	  unless we want to log it.
9138
9139Wed May 26 02:33:00 GMT 2010  Olly Betts <olly@survex.com>
9140
9141	* tests/api_opvalue.cc: Convert file description to doccomment.
9142	  Remove unused headers and reorder remainder more standardly.
9143
9144Tue May 25 10:17:42 GMT 2010  Olly Betts <olly@survex.com>
9145
9146	* tests/api_backend.cc: Note ordecay1 and ordecay2 fixes now also in
9147	  1.0.21.  Whitespace tweak.
9148
9149Tue May 25 04:11:53 GMT 2010  Olly Betts <olly@survex.com>
9150
9151	* tests/api_backend.cc: make_ordecay1_db and make_ordecay2_db end up
9152	  looping over at least 4 billion values (or possibly infinitely) on
9153	  platforms where sizeof(long) == 8.  The two databases are very
9154	  similar and the latter one works for the former test, so use the
9155	  same db for both tests, and rewrite the generator to work
9156	  portably.
9157
9158Sun May 23 07:30:58 GMT 2010  Olly Betts <olly@survex.com>
9159
9160	* tests/api_backend.cc: Note XOR decay bug also fixed in 1.0.21.
9161
9162Sat May 22 13:31:38 GMT 2010  Olly Betts <olly@survex.com>
9163
9164	* configure.ac,tests/Makefile.am: Only try to build zlib-vg.so if we
9165	  are found a suitable valgrind installed (otherwise it's a waste of
9166	  effort to build it, and the build will fail without the valgrind
9167	  headers).
9168
9169Sat May 22 13:18:33 GMT 2010  Olly Betts <olly@survex.com>
9170
9171	* configure.ac,tests/Makefile.am,tests/runtest.in,tests/zlib-vg.c: zlib
9172	  can produce "uninitialised" output from "initialised" input - the
9173	  output does decode to the input, so this is presumably just some
9174	  unused bits in the output, so we use an LD_PRELOAD hack to get
9175	  valgrind to check the input is initialised and then tell it that the
9176	  output is initialised.
9177
9178Wed May 19 14:34:52 GMT 2010  Richard Boulton <richard@tartarus.org>
9179
9180	* matcher/andmaybepostlist.cc,matcher/andmaybepostlist.h,
9181	  matcher/orpostlist.cc: Fix a bug causing documents to be skipped
9182	  when OR decayed to AND_MAYBE, if the new RHS was behind the LHS
9183	  at the time of the decay.  Fixes #476.
9184	* tests/api_backend.cc: Add test case ordecay2 as a regression test
9185	  of this.  Also, remove some debug output in ordecay1, to speed it
9186	  up quite a bit.
9187
9188Wed May 19 11:48:07 GMT 2010  Richard Boulton <richard@tartarus.org>
9189
9190	* matcher/orpostlist.cc,tests/api_backend.cc: Fix a bug in the
9191	  decay from OR to AND: if the decay happened when the two
9192	  sub-postlists were on different docids, but the higher of those
9193	  docids actually occurred in both postlists, the higher docid
9194	  would be incorrectly skipped.  Add regression test ordecay1 to
9195	  test this.
9196
9197Wed May 19 10:36:55 GMT 2010  Richard Boulton <richard@tartarus.org>
9198
9199	* tests/api_backend.cc,tests/api_compact.cc,
9200	  tests/harness/testrunner.cc,tests/harness/testrunner.h: Add new
9201	  test backend selection flag "generated", to select only backends
9202	  which support generated test databases.
9203
9204Wed May 19 03:14:15 GMT 2010  Olly Betts <olly@survex.com>
9205
9206	* api/,backends/brass/,backends/chert/,
9207	  backends/contiguousalldocspostlist.cc,backends/flint/,
9208	  backends/inmemory/inmemory_database.cc,
9209	  backends/remote/remote-database.cc,backends/slowvaluelist.cc,
9210	  common/utils.h,expand/esetinternal.cc,matcher/phrasepostlist.cc,
9211	  net/remoteserver.cc,net/remotetcpclient.cc,
9212	  queryparser/termgenerator.cc,tests/,
9213	  tests/harness/backendmanager_multi.cc,
9214	  tests/harness/backendmanager_remote.cc,
9215	  tests/harness/backendmanager_remotetcp.cc,tests/internaltest.cc,
9216	  tests/perftest/perftest.cc,tests/perftest/perftest_matchdecider.cc,
9217	  tests/perftest/perftest_randomidx.cc,tests/queryparsertest.cc,
9218	  tests/termgentest.cc: Fully migrate from om_tostring() to str().
9219
9220Wed May 19 03:13:43 GMT 2010  Olly Betts <olly@survex.com>
9221
9222	* cmake/xapian-config-version.cmake,cmake/xapian-config.cmake: Remove
9223	  generated files from SVN.
9224
9225Wed May 19 02:59:47 GMT 2010  Olly Betts <olly@survex.com>
9226
9227	* bin/xapian-inspect.cc: Add misisng explicit '#include <utils.h>'.
9228
9229Tue May 18 14:24:03 GMT 2010  Olly Betts <olly@survex.com>
9230
9231	* bin/Makefile.mk,bin/xapian-check.cc,bin/xapian-compact.cc: Improve
9232	  building with flint, chert and/or brass disabled (partially addresses
9233	  ticket#361).
9234
9235Tue May 18 00:42:08 GMT 2010  Olly Betts <olly@survex.com>
9236
9237	* matcher/multimatch.cc: Fix warnings with --disable-backend-remote
9238	  (partially addresses ticket#361).
9239
9240Sat May 15 06:56:26 GMT 2010  Olly Betts <olly@survex.com>
9241
9242	* net/progclient.cc: Read the max fd with sysconf() instead of using
9243	  a hardcoded value of 256.  Work even if stdin and stdout have been
9244	  closed.
9245
9246Thu May 13 10:53:24 GMT 2010  Richard Boulton <richard@tartarus.org>
9247
9248	* matcher/orpostlist.cc: Correct some debugging lines.
9249
9250Thu May 13 09:57:12 GMT 2010  Richard Boulton <richard@tartarus.org>
9251
9252	* matcher/xorpostlist.cc,matcher/xorpostlist.h: Pass a minweight
9253	  value of 0 to children of XOR postlists, because we need to know
9254	  about all matching documents from the children even if they have
9255	  a low weight.
9256	* tests/api_backend.cc: Regression test for this: xordecay1.
9257
9258Thu May 13 08:47:22 GMT 2010  Richard Boulton <richard@tartarus.org>
9259
9260	* tests/soaktest/soaktest_queries.cc: Add more code comments,
9261	  increase the number of repetitions from 100 to 10000, remove
9262	  accidentally added semicolons after some braces, remove "return
9263	  false" at end of test which was added for debugging purposes,
9264	  clear tout before testing each query, and display the query
9265	  number, the query, and the msets in the event of failure.
9266
9267Tue May 11 10:16:05 GMT 2010  Richard Boulton <richard@tartarus.org>
9268
9269	* tests/soaktest/soaktest_queries.cc: Don't fail for empty result
9270	  sets.
9271
9272Tue May 11 10:13:08 GMT 2010  Richard Boulton <richard@tartarus.org>
9273
9274	* tests/soaktest/: Add a "soaktest" testsuite, intended to contain
9275	  long-running tests with random data.  Currently contains a single
9276	  test which builds and runs random queries, checking that the
9277	  results returned are consistent when asking for different result
9278	  ranges.
9279
9280Mon May 10 16:57:29 GMT 2010  Richard Boulton <richard@tartarus.org>
9281
9282	* tests/api_opvalue.cc: Add tests for OP_VALUE_RANGE to get
9283	  coverage of the skip_to() and check() methods of
9284	  ValueRangePostList.
9285
9286Mon May 10 16:51:14 GMT 2010  Richard Boulton <richard@tartarus.org>
9287
9288	* tests/api_opvalue.cc: Add a test to get coverage of
9289	  ValueGePostList::skip_to().
9290
9291Sun May 09 21:22:50 GMT 2010  Richard Boulton <richard@tartarus.org>
9292
9293	* tests/api_nodb.cc,tests/api_opvalue.cc: Move test "opvaluege1"
9294	  from api_nodb.cc to api_opvalue.cc, and rename to valuege3 for
9295	  consistency with other tests of OP_VALUE_GE.
9296
9297Sun May 09 21:19:43 GMT 2010  Richard Boulton <richard@tartarus.org>
9298
9299	* tests/Makefile.am,tests/api_anydb.cc,tests/api_opvalue.cc: Move
9300	  the tests for OP_VALUE_* query operators from api_anydb.cc to
9301	  api_opvalue.cc.  Remove copyright statements earlier than 2007,
9302	  since OP_VALUE_* wasn't added until 2007.
9303
9304Sun May 09 21:04:06 GMT 2010  Richard Boulton <richard@tartarus.org>
9305
9306	* matcher/valuegepostlist.cc: Initialise valuelist in check() if
9307	  necessary.
9308	* tests/api_anydb.cc: Add regression test for this.
9309
9310Thu May 06 15:03:43 GMT 2010  Richard Boulton <richard@tartarus.org>
9311
9312	* tests/api_replicate.cc: Add some extra debugging, to help
9313	  identify the problem with ticket #472.
9314
9315Thu May 06 13:38:25 GMT 2010  Olly Betts <olly@survex.com>
9316
9317	* common/safeuuid.h,configure.ac,INSTALL: Make use of built-in UUID API
9318	  on FreeBSD and NetBSD.  (ticket#470)
9319
9320Thu May 06 13:10:30 GMT 2010  Olly Betts <olly@survex.com>
9321
9322	* AUTHORS,Makefile.am,cmake/,configure.ac: Install files to make Xapian
9323	  easier to use with cmake.  Thanks to Sune Vuorela for providing the
9324	  desired output.
9325
9326Thu May 06 11:42:16 GMT 2010  Olly Betts <olly@survex.com>
9327
9328	* tests/harness/fdtracker.cc: Don't pass NULL to closedir().
9329
9330Thu May 06 11:19:41 GMT 2010  Olly Betts <olly@survex.com
9331
9332	* tests/api_anydb.cc: Test UUID is 36 characters long.
9333
9334Thu May 06 10:41:21 GMT 2010  Olly Betts <olly@survex.com>
9335
9336	* matcher/valuegepostlist.cc: Use "str.h" and str().
9337
9338Thu May 06 10:01:48 GMT 2010  Olly Betts <olly@survex.com>
9339
9340	* matcher/valuegepostlist.cc: Remove unused headers.
9341
9342Thu May 06 09:55:27 GMT 2010  Richard Boulton <richard@tartarus.org>
9343
9344	* matcher/valuegepostlist.cc,matcher/valuerangepostlist.cc:
9345	  Keep return value from valuelist->get_value() as a const string &
9346	  rather than a string - could be more efficient on some compilers,
9347	  though testing with gcc 4.1 revealed no difference.
9348
9349Thu May 06 09:49:12 GMT 2010  Richard Boulton <richard@tartarus.org>
9350
9351	* matcher/valuegepostlist.cc: "while(" -> "while (" in recent patch.
9352
9353Thu May 06 09:30:27 GMT 2010  Olly Betts <olly@survex.com>
9354
9355	* docs/replication.rst: Remove experimental warning.
9356
9357Thu May 06 05:05:57 GMT 2010  Olly Betts <olly@survex.com>
9358
9359	* matcher/valuerangepostlist.cc: Use "str.h" and str().
9360
9361Thu May 06 05:03:22 GMT 2010  Olly Betts <olly@survex.com>
9362
9363	* matcher/valuerangepostlist.cc: Remove '#include "leafpostlist.h"'
9364	  and '#include "document.h"' which are no longer used.
9365
9366Thu May 06 04:53:07 GMT 2010  Olly Betts <olly@survex.com>
9367
9368	* matcher/valuerangepostlist.cc: Remove '#include "autoptr.h"' which is
9369	  no longer required.
9370
9371Thu May 06 04:18:25 GMT 2010  Olly Betts <olly@survex.com>
9372
9373	* matcher/valuerangepostlist.cc: "while(" -> "while (" in recent patch.
9374
9375Wed May 05 16:44:17 GMT 2010  Richard Boulton <richard@tartarus.org>
9376
9377	* matcher/orpostlist.cc,matcher/orpostlist.h: Add
9378	  OrPostList::check() method, which calls check() on the
9379	  sub-postlists, rather than falling back to skip_to().  This is
9380	  particularly helpful when a sub-postlist is one for which
9381	  skip_to() can be significantly more expensive than check(), such
9382	  as a ValueRangePostList.  I've observed a speedup of 10 times for
9383	  such a subquery with this change.
9384
9385Wed May 05 16:34:30 GMT 2010  Richard Boulton <richard@tartarus.org>
9386
9387	* matcher/valuegepostlist.cc,matcher/valuerangepostlist.cc,
9388	  matcher/valuerangepostlist.h: Implement ValueRangePostList and
9389	  ValueGePostList using a ValueList streaming values for the value
9390	  slot of interest, rather than using an AllDocsPostList to get all
9391	  documents, using that to open temporary documents for each
9392	  document being considered, and then using that to get the value.
9393	  I've observed a speedup of more than 70 times for range queries
9394	  in a real-world situation with this change (a 29 second search
9395	  became a 0.4 second search). (ticket#432)
9396
9397Wed May 05 06:44:31 GMT 2010  Olly Betts <olly@survex.com>
9398
9399	* NEWS: Update from ChangeLog.
9400
9401Wed May 05 05:42:56 GMT 2010  Olly Betts <olly@survex.com>
9402
9403	* backends/brass/brass_cursor.cc,backends/chert/chert_cursor.cc,
9404	  backends/flint/flint_cursor.cc: If we have to rebuild the cursor
9405	  on next() because the table changed underneath us, we need to
9406	  advance it because find_entry() will put the cursor on the entry
9407	  we were already on, or the one before if the entry we were on
9408	  has been removed.  Bug uncovered by notmuch testsuite, but I'm
9409	  unable to reduce it to a sane testcase for our testsuite.
9410	  (Debian#579951)
9411
9412Tue May 04 19:38:31 GMT 2010  Richard Boulton <richard@tartarus.org>
9413
9414	* api/replication.cc,bin/xapian-replicate.cc,
9415	  common/replicatetcpclient.h,common/replication.h,
9416	  net/replicatetcpclient.cc,tests/api_replicate.cc: Fix a bug in
9417	  replication, which triggered when multiple modifications were
9418	  made to a database while a full copy of the database was in
9419	  progress.  In this situation, the client would fail to apply more
9420	  than one changeset before trying (and failing) to make the
9421	  database live, due to an incorrect assignment of the new revision
9422	  number to "offline_needed_revision" instead of
9423	  "offline_revision".  Also, replication now only sleeps for a
9424	  period (to allow reader to catch up) after a changeset has been
9425	  applied to a live database - previously, it would sleep
9426	  unnecessarily after a changeset had been applied to an offline
9427	  database.  Also, make the period for which replication sleeps in
9428	  this situation configurable with the "-r" command line option to
9429	  xapian-replicate.
9430	  A test for these changes will be committed to xapian-bindings
9431	  shortly.
9432
9433Sat May 01 15:25:48 GMT 2010  Olly Betts <olly@survex.com>
9434
9435	* Merge change accidentally committed to brass-btree branch:
9436	* tests/perftest/runprocess.cc: Use safesyswait.h, fixing build failure
9437	  on "make check" on FreeBSD.
9438
9439Fri Apr 30 12:33:25 GMT 2010  Richard Boulton <richard@tartarus.org>
9440
9441	* backends/brass/brass_databasereplicator.cc,
9442	  backends/chert/chert_databasereplicator.cc,
9443	  backends/flint/flint_databasereplicator.cc,tests/api_replicate.cc:
9444	  If a DB file doesn't exist when applying a changeset, try
9445	  creating it - this happens with lazy tables which aren't created
9446	  in the initial revision copied.  Add replicate4 test to check
9447	  that this works correctly with a lazily created position table.
9448	  Fixes ticket #468.
9449
9450Fri Apr 30 07:09:31 GMT 2010  Olly Betts <olly@survex.com>
9451
9452	* docs/deprecation.rst: Replication and PostingSource aren't
9453	  experimental in 1.2.x.
9454
9455Fri Apr 30 00:52:22 GMT 2010  Olly Betts <olly@survex.com>
9456
9457	* tests/harness/testsuite.cc: Fix typo in previous commit.
9458
9459Thu Apr 29 23:46:09 GMT 2010  Olly Betts <olly@survex.com>
9460
9461	* tests/harness/testsuite.cc: Check is SA_SIGINFO is defined before
9462	  using it as it isn't available everywhere.  Fixes FTBFS on GNU Hurd.
9463
9464Thu Apr 29 12:11:48 GMT 2010  Olly Betts <olly@survex.com>
9465
9466	* configure.ac: Install headers under PREFIX/include not
9467	  PREFIX/include/xapian.  This broke compiling code which didn't use
9468	  XO_LIB_XAPIAN or xapian-config.
9469
9470Wed Apr 28 12:05:23 GMT 2010  Olly Betts <olly@survex.com>
9471
9472	* Makefile.am,m4-macros/xapian-1.1.m4: Remove -1.1 suffix from
9473	  xapian-1.1.m4 and libxapian-1.1.la.
9474
9475Wed Apr 28 06:15:45 GMT 2010  Olly Betts <olly@survex.com>
9476
9477	* NEWS: Sync with 1.0.20.
9478	* NEWS,configure.ac: 1.2.0!
9479
9480Tue Apr 27 12:45:29 GMT 2010  Olly Betts <olly@survex.com>
9481
9482	* AUTHORS: Add bug reporter.
9483
9484Mon Apr 26 08:26:26 GMT 2010  Olly Betts <olly@survex.com>
9485
9486	* common/getopt.cc,common/gnu_getopt.h: On Cygwin, #include <getopt.h>
9487	  for declarations of optind, etc rather than providing our own
9488	  declarations.  Should fix warnings in Cygwin build reported by Reini
9489	  Urban on xapian-devel list.
9490
9491Mon Apr 26 06:27:07 GMT 2010  Olly Betts <olly@survex.com>
9492
9493	* common/getopt.cc,common/gnu_getopt.h: Revert previous 2
9494	  getopt-related patches.  The latest state was breaking on Solaris
9495	  which (contrary to what its man pages say) prototypes getopt() stuff
9496	  in stdlib.h.  This seems to be a rabbit hole we don't want to head
9497	  further down.
9498
9499Sat Apr 24 02:12:53 GMT 2010  Olly Betts <olly@survex.com>
9500
9501	* examples/delve.cc: Update --help output for -v to cover all terms
9502	  case.
9503
9504Sat Apr 24 01:58:00 GMT 2010  Olly Betts <olly@survex.com>
9505
9506	* examples/delve.cc: Add -a option to list all terms in a database.
9507
9508Sat Apr 24 01:51:01 GMT 2010  Olly Betts <olly@survex.com>
9509
9510	* examples/copydatabase.cc: Prefer string() to "" converted to string.
9511
9512Thu Apr 22 14:21:30 GMT 2010  Olly Betts <olly@survex.com>
9513
9514	* matcher/multimatch.cc: Fix bug related to ticket#464 (the previous
9515	  fix doesn't fix some similar cases).
9516	* tests/api_backend.cc: Add regression test msize2.
9517
9518Thu Apr 22 11:02:11 GMT 2010  Olly Betts <olly@survex.com>
9519
9520	* tests/: Hook up --abort-on-error fix for termgentest, stemtest,
9521	  queryparsertest, and internaltest.
9522
9523Thu Apr 22 06:06:53 GMT 2010  Olly Betts <olly@survex.com>
9524
9525	* HACKING: Add a hyphen.
9526
9527Wed Apr 21 11:16:50 GMT 2010  Olly Betts <olly@survex.com>
9528
9529	* tests/harness/testrunner.cc: Exit with status 1 not 0 if we caught an
9530	  exception from the harness itself.
9531
9532Wed Apr 21 11:11:10 GMT 2010  Olly Betts <olly@survex.com>
9533
9534	* tests/harness/testrunner.cc,tests/harness/testsuite.cc: Fix
9535	  --abort-on-error to actually work.
9536
9537Tue Apr 20 12:53:29 GMT 2010  Olly Betts <olly@survex.com>
9538
9539	* docs/deprecation.rst: Note how to disable deprecation warnings.
9540
9541Tue Apr 20 07:27:23 GMT 2010  Olly Betts <olly@survex.com>
9542
9543	* api/omenquire.cc,matcher/multimatch.cc: Fix incorrect estimate and
9544	  bounds on matches when sorting and collapsing in a particular case
9545	  (ticket#464).
9546	* tests/api_backend.cc: Add regression test msize1.
9547
9548Mon Apr 19 01:59:59 GMT 2010  Olly Betts <olly@survex.com>
9549
9550	* examples/delve.cc: Use strtoul() instead of atoi() to decode document
9551	  id and value slot numbers passed on the command line.  Report out of
9552	  range and invalid values.
9553
9554Sat Apr 17 09:17:25 GMT 2010  Olly Betts <olly@survex.com>
9555
9556	* common/getopt.cc,common/gnu_getopt.h: Fix getopt code to work on
9557	  platforms without GNU getopt but with getopt().
9558
9559Fri Apr 16 14:23:49 GMT 2010  Olly Betts <olly@survex.com>
9560
9561	* NEWS,configure.ac: Update for 1.1.5.
9562	* NEWS: Sync changes from 1.0.19.
9563
9564Fri Apr 16 12:29:14 GMT 2010  Olly Betts <olly@survex.com>
9565
9566	* tests/harness/testsuite.cc: Handle NULL in the const char * catch.
9567
9568Fri Apr 16 05:47:43 GMT 2010  Olly Betts <olly@survex.com>
9569
9570	* api/postingsource.cc: Fix wrapping.
9571
9572Thu Apr 15 09:07:40 GMT 2010  Richard Boulton <richard@tartarus.org>
9573
9574	* tests/api_replicate.cc: Use a fixed size buffer for copying a
9575	  file, rather than a dynamically sized buffer; avoids using the
9576	  GCC extension allowing dynamically sized arrays.
9577
9578Thu Apr 15 04:02:34 GMT 2010  Olly Betts <olly@survex.com>
9579
9580	* AUTHORS: Update with bug reporters.
9581
9582Thu Apr 15 00:30:45 GMT 2010  Olly Betts <olly@survex.com>
9583
9584	* include/xapian/termgenerator.h: Note how TermGenerator handles
9585	  stopwords.
9586
9587Wed Apr 14 23:41:55 GMT 2010  Olly Betts <olly@survex.com>
9588
9589	* common/getopt.cc,common/gnu_getopt.h: Put our optarg, etc in a
9590	  namespace and then pull them in to avoid linking to versions in the C
9591	  library.  Fixes warnings on Cygwin.
9592
9593Wed Apr 14 15:33:39 GMT 2010  Olly Betts <olly@survex.com>
9594
9595	* tests/api_backend.cc: Remove already fixed FIXME comment.
9596
9597Wed Apr 14 14:13:10 GMT 2010  Olly Betts <olly@survex.com>
9598
9599	* queryparser/queryparser.lemony: Use const reference to avoid a
9600	  needless handle copy.
9601
9602Wed Apr 14 14:00:21 GMT 2010  Olly Betts <olly@survex.com>
9603
9604	* backends/brass/brass_alltermslist.cc,
9605	  backends/brass/brass_alltermslist.h,
9606	  backends/chert/chert_alltermslist.cc,
9607	  backends/chert/chert_alltermslist.h,
9608	  backends/flint/flint_alltermslist.cc,
9609	  backends/flint/flint_alltermslist.h: Fix memory leak if Database
9610	  throws an exception in XXXAllTermsList constructor.  Fixes bug#462.
9611	* tests/api_backend.cc: Enable qpmemoryleak1 for non-remote backends as
9612	  a regression test for this fix.
9613
9614Tue Apr 13 12:38:08 GMT 2010  Olly Betts <olly@survex.com>
9615
9616	* backends/flint/flint_table.cc: Don't memcpy() a block to itself -
9617	  it's a waste of effort, and (probably) undefined behaviour (as a
9618	  block overlaps itself).
9619
9620Tue Apr 13 12:36:53 GMT 2010  Olly Betts <olly@survex.com>
9621
9622	* backends/brass/brass_table.cc,backends/chert/chert_table.cc: Don't
9623	  memcpy() a block to itself - it's a waste of effort, and (probably)
9624	  undefined behaviour (as a block overlaps itself).
9625
9626Tue Apr 13 08:38:40 GMT 2010  Olly Betts <olly@survex.com>
9627
9628	* queryparser/queryparser.lemony: Add a ParserHandler class to take
9629	  care of releasing the yyParser object.
9630
9631Tue Apr 13 07:49:33 GMT 2010  Olly Betts <olly@survex.com>
9632
9633	* common/autoptr.h: Fix comment typo.
9634
9635Tue Apr 13 07:47:40 GMT 2010  Olly Betts <olly@survex.com>
9636
9637	* api/replication.cc: "autoptr.h" not <autoptr.h> (it's an in-tree
9638	  header).
9639
9640Tue Apr 13 07:25:11 GMT 2010  Olly Betts <olly@survex.com>
9641
9642	* queryparser/queryparser.lemony: Fix leak of yyParser if an exception
9643	  is thrown during parsing.   Partly fixes ticket#462.
9644	* tests/api_backend.cc: Add regression test qpmemoryleak1.
9645
9646Tue Apr 13 01:37:08 GMT 2010  Olly Betts <olly@survex.com>
9647
9648	* common/utils.cc,common/utils.h: Revert change to make removedir()
9649	  recurse into subdirectories - it doesn't fix a bug, so isn't
9650	  appropriate when we're trying to get 1.2.0 out (backends don't
9651	  currently put files in subdirectories, which was the justification
9652	  in the commit message).
9653
9654Mon Apr 12 11:50:37 GMT 2010  Olly Betts <olly@survex.com>
9655
9656	* Backport change from brass:
9657	* backends/flint/: Fix to rebuild cursors if the table gains or loses a
9658	  level.  Fixes ticket#455.
9659
9660Mon Apr 12 09:29:39 GMT 2010  Olly Betts <olly@survex.com>
9661
9662	* Backport change from brass:
9663	* backends/chert/: Fix to rebuild cursors if the table gains or loses a
9664	  level.  Fixes ticket#455.
9665
9666Mon Apr 12 09:26:53 GMT 2010  Olly Betts <olly@survex.com>
9667
9668	* backends/brass/: Fix to rebuild cursors if the table gains or loses a
9669	  level.  Fixes ticket#455.
9670
9671Mon Apr 12 08:27:29 GMT 2010  Olly Betts <olly@survex.com>
9672
9673	* tests/api_none.cc: Work around compilation failure on OpenBSD.  Fixes
9674	  ticket#458.
9675
9676Fri Apr 02 04:03:04 GMT 2010  Olly Betts <olly@survex.com>
9677
9678	* m4-macros/xapian-1.1.m4: Give a more specific error message for the
9679	  cases where XAPIAN_CONFIG isn't found, is a directory, or isn't
9680	  executable.
9681
9682Thu Mar 25 14:43:57 GMT 2010  Olly Betts <olly@survex.com>
9683
9684	* tests/api_backend.cc: Add databasemodified1 testcase to provide some
9685	  test coverage for DatabaseModifiedError.
9686
9687Thu Mar 25 06:32:44 GMT 2010  Olly Betts <olly@survex.com>
9688
9689	* bin/xapian-check-flint.cc: Report docid for doclength mismatch.
9690
9691Thu Mar 25 06:23:26 GMT 2010  Olly Betts <olly@survex.com>
9692
9693	* bin/xapian-check-brass.cc,bin/xapian-check-chert.cc: Report docid for
9694	  doclength mismatch.
9695
9696Sat Mar 20 15:04:18 GMT 2010  Olly Betts <olly@survex.com>
9697
9698	* docs/spelling.rst: Add a note about removing automatically added
9699	  spelling dictionary entries.
9700
9701Sat Mar 20 09:30:44 GMT 2010  Olly Betts <olly@survex.com>
9702
9703	* docs/spelling.rst: Add section on indexing.  Move the "algorithm"
9704	  section to the end, as it is really just background information for
9705	  the curious.
9706
9707Wed Mar 17 01:33:39 GMT 2010  Olly Betts <olly@survex.com>
9708
9709	* INSTALL: Add a hyphen.
9710
9711Wed Mar 17 01:30:34 GMT 2010  Olly Betts <olly@survex.com>
9712
9713	* INSTALL: Correct description of --enable-assertions.  It does NOT
9714	  enable debugging symbols, and shouldn't control checks on bad data
9715	  passed to API calls (if it does anywhere, that's a bug).  Note that
9716	  Xapian will run more slowly with assertions on.
9717
9718Wed Mar 17 01:10:13 GMT 2010  Olly Betts <olly@survex.com>
9719
9720	* backends/brass/brass_values.cc: Put ValueUpdater in Brass namespace
9721	  to avoid cross-linking issues with ValueUpdater class in chert
9722	  (change taken from brass-btree branch).
9723
9724Sun Mar 14 10:05:36 GMT 2010  Olly Betts <olly@survex.com>
9725
9726	* Backport change from chert:
9727	* backends/flint/flint_database.cc,
9728	  backends/flint/flint_positionlist.cc,
9729	  backends/flint/flint_positionlist.h: When updating a document, rather
9730	  than decoding the old positions, comparing with the new, and then
9731	  encoding the new if different, we now just encode the new and then
9732	  compare the encoded forms.  (ticket#428)  This change also avoids
9733	  calling FlintPositionListTable::del() when we know the entry doesn't
9734	  already exist.
9735	* backends/flint/flint_positionlist.cc: Minor refactor to improve
9736	  code clarity and to only create std::string variable when it
9737	  is needed.
9738
9739Sun Mar 14 09:45:34 GMT 2010  Olly Betts <olly@survex.com>
9740
9741	* Backport change from brass:
9742	* backends/chert/chert_positionlist.cc: Minor refactor to improve
9743	  code clarity and to only create std::string variable when it
9744	  is needed.
9745
9746Sun Mar 14 09:29:54 GMT 2010  Olly Betts <olly@survex.com>
9747
9748	* backends/brass/brass_positionlist.cc: Minor refactor to improve
9749	  code clarity and to only create std::string variable when it
9750	  is needed.
9751
9752Sun Mar 14 07:37:03 GMT 2010  Olly Betts <olly@survex.com>
9753
9754	* api/replication.cc,tests/api_closedb.cc,tests/api_metadata.cc,
9755	  tests/internaltest.cc: Catch by const reference rather than just
9756	  reference, unless we actually need to modify the caught object.
9757
9758Sun Mar 14 06:45:11 GMT 2010  Olly Betts <olly@survex.com>
9759
9760	* api/replication.cc: Check live_db only has a single sub-database even
9761	  if we just lazily opened it.
9762
9763Sun Mar 14 05:00:21 GMT 2010  Olly Betts <olly@survex.com>
9764
9765	* backends/flint/flint_database.cc,
9766	  backends/flint/flint_databasereplicator.cc: Add missing explicit
9767	  '#include "str.h"'.
9768
9769Sat Mar 13 09:22:24 GMT 2010  Richard Boulton <richard@tartarus.org>
9770
9771	* tests/api_replicate.cc: Always use off_t to refer to the size of a
9772	  file: fixes warnings about comparting a signed value to an unsigned
9773	  value.
9774
9775Thu Mar 11 16:07:10 GMT 2010  Richard Boulton <richard@tartarus.org>
9776
9777	* api/replication.cc: Open the livedb lazily if it gets left in a
9778	  closed state (due to an exception when applying a changeset),
9779	  rather than reopening it straight away in an exception handler.
9780	  This requires the livedb to become a mutable member, but is safer
9781	  in the event that an exception is thrown by the WritableDatabase
9782	  constructor.
9783
9784Thu Mar 11 15:17:12 GMT 2010  Richard Boulton <richard@tartarus.org>
9785
9786	* tests/api_replicate.cc: Uncomment the rmtmpdir() at the end of
9787	  replicate3; it was accidentally committed debugging code.
9788
9789Thu Mar 11 13:03:57 GMT 2010  Richard Boulton <richard@tartarus.org>
9790
9791	* api/replication.cc: If an exception is thrown, mark that the
9792	  offline revision needed is unknown (represented by being empty);
9793	  ensures that a database isn't put live incorrectly in this case.
9794	  Also, actually read the message for REPL_REPLY_END_OF_CHANGES, so
9795	  that we get an error if the message is truncated.  Also, if an
9796	  attempt to apply a changeset to the live database fails with an
9797	  exception while the live database is closed, reopen the live
9798	  database before allowing the exception to propagate.
9799	* tests/api_replicate.cc: Split replicate() helper function into
9800	  two parts, to separate getting the changeset messages, and
9801	  applying them. Add replicate3 test, which checks that
9802	  replications which are provided with truncated messages raise
9803	  appropriate errors.
9804
9805Thu Mar 11 00:46:39 GMT 2010  Olly Betts <olly@survex.com>
9806
9807	* common/replicate_utils.cc: Avoid creating temporary string objects
9808	  to reduce bloat in compiled code.  Remove explicit std:: qualifiers.
9809
9810Thu Mar 11 00:38:00 GMT 2010  Olly Betts <olly@survex.com>
9811
9812	* common/replicate_utils.cc: The directory we're writing changesets
9813	  to will always exist, so no need to ensure it does.
9814
9815Thu Mar 11 00:10:19 GMT 2010  Olly Betts <olly@survex.com>
9816
9817	* backends/chert/chert_databasereplicator.cc,
9818	  backends/flint/flint_databasereplicator.cc: Fix calculation of end
9819	  pointer for changes file.  Since the merge, it has been off by
9820	  CONST_STRLEN(CHANGES_MAGIC_STRING).
9821
9822Wed Mar 10 23:59:38 GMT 2010  Olly Betts <olly@survex.com>
9823
9824	* backends/chert/chert_database.cc,
9825	  backends/chert/chert_databasereplicator.cc: Add missing explicit
9826	  '#include "str.h"'.
9827
9828Wed Mar 10 13:07:41 GMT 2010  Richard Boulton <richard@tartarus.org>
9829
9830	* common/Makefile.mk,common/replicate_utils.cc,
9831	  common/replicate_utils.h: Add some utility functions for
9832	  replication to create changeset files, and append content to
9833	  them, to avoid duplicating the code in each backend.
9834	* backends/chert/chert_database.cc,
9835	  backends/chert/chert_databasereplicator.cc,
9836	  backends/chert/chert_databasereplicator.h,
9837	  backends/flint/flint_database.cc,
9838	  backends/flint/flint_databasereplicator.cc,
9839	  backends/flint/flint_databasereplicator.h: Make the
9840	  DatabaseReplicator subclasses respect the XAPIAN_MAX_CHANGESETS
9841	  environment variable, such that they write the changesets they're
9842	  applying to disk if the value is non-zero.  Enables replication
9843	  from a replicated copy.
9844	* tests/api_replicate.cc: Refactor some common code, and add
9845	  replicate2, which tests replication from a replicated copy.  Skip
9846	  this test for brass, since brass doesn't support this.
9847
9848Wed Mar 10 12:11:41 GMT 2010  Richard Boulton <richard@tartarus.org>
9849
9850	* common/utils.cc,common/utils.h: Make removedir() recurse into
9851	  subdirectories; this ensures that replication works if backends
9852	  put some files in subdirectories of their replicas (eg, if the
9853	  replica is itself a replicated database).
9854
9855Wed Mar 10 12:07:40 GMT 2010  Richard Boulton <richard@tartarus.org>
9856
9857	* backends/chert/,backends/flint/,common/Makefile.mk,
9858	  common/io_utils.cc,common/io_utils.h: Refactor duplicated code
9859	  from {flint,chert}_io.{cc,h} into common/io_utils.{cc,h}.  Rename
9860	  flint_io_read() to io_read(); do similar for flint_io_write()
9861	  and flint_io_sync(), and for the chert versions.  Leave brass
9862	  alone to avoid conflicting with the new brass backend development
9863	  branch.
9864
9865Mon Mar 08 02:32:35 GMT 2010  Olly Betts <olly@survex.com>
9866
9867	* bin/xapian-check-chert.cc: Check that the doclen initial chunk
9868	  exists.
9869
9870Tue Mar 02 13:28:50 GMT 2010  Olly Betts <olly@survex.com>
9871
9872	* Backport change from brass:
9873	* backends/chert/chert_database.cc,
9874	  backends/chert/chert_positionlist.cc,
9875	  backends/chert/chert_positionlist.h: When updating a document, rather
9876	  than decoding the old positions, comparing with the new, and then
9877	  encoding the new if different, we now just encode the new and then
9878	  compare the encoded forms.  (ticket#428)  This change also avoids
9879	  calling ChertPositionListTable::del() when we know the entry doesn't
9880	  already exist.
9881
9882Tue Mar 02 04:00:22 GMT 2010  Olly Betts <olly@survex.com>
9883
9884	* tests/harness/testsuite.cc: Harness now catches const char *
9885	  exceptions explicitly so it can show their contents.
9886
9887Tue Mar 02 03:59:27 GMT 2010  Olly Betts <olly@survex.com>
9888
9889	* include/xapian/valueiterator.h: Comment tweak.
9890
9891Tue Mar 02 03:57:55 GMT 2010  Olly Betts <olly@survex.com>
9892
9893	* include/xapian/queryparser.h: Add missing forward declaration of
9894	  "class Database".
9895
9896Tue Mar 02 01:51:33 GMT 2010  Olly Betts <olly@survex.com>
9897
9898	* NEWS: Update partially from ChangeLog.
9899
9900Mon Mar 01 05:38:41 GMT 2010  Olly Betts <olly@survex.com>
9901
9902	* backends/brass/brass_database.cc,
9903	  backends/brass/brass_positionlist.cc,
9904	  backends/brass/brass_positionlist.h: When updating a document, rather
9905	  than decoding the old positions, comparing with the new, and then
9906	  encoding the new if different, we now just encode the new and then
9907	  compare the encoded forms.  (ticket#428)  This change also avoids
9908	  calling BrassPositionListTable::del() when we know the entry doesn't
9909	  already exist.
9910
9911Mon Mar 01 02:09:40 GMT 2010  Olly Betts <olly@survex.com>
9912
9913	* net/serialise.cc: Don't call Document::values_count() twice when we
9914	  can trivially avoid doing so.  Ditto for termlist_count() and
9915	  positionlist_count().
9916
9917Mon Mar 01 01:53:58 GMT 2010  Olly Betts <olly@survex.com>
9918
9919	* bin/: Rename tot_off to last_docid when it is actually holding the
9920	  last_docid value.
9921
9922Sun Feb 28 23:47:49 GMT 2010  Olly Betts <olly@survex.com>
9923
9924	* backends/flint/flint_table.cc: Whitespace tweak.
9925
9926Sun Feb 28 23:44:58 GMT 2010  Olly Betts <olly@survex.com>
9927
9928	* tests/dbcheck.cc: Tweak whitespace to match standard usage.  Catch
9929	  exceptions by const reference.
9930	* HACKING: Discuss why exceptions should be caught by const reference.
9931	  Tweak markup of blockquotes.
9932
9933Sun Feb 28 22:50:50 GMT 2010  Olly Betts <olly@survex.com>
9934
9935	* HACKING: Add note about "new SomePODType()" not being the same as
9936	  "new SomePODType".
9937
9938Sun Feb 28 22:29:31 GMT 2010  Olly Betts <olly@survex.com>
9939
9940	* HACKING: Quote ``cat`` and ``more``.
9941
9942Sun Feb 28 14:00:39 GMT 2010  Richard Boulton <richard@tartarus.org>
9943
9944	* tests/api_compact.cc: Clarify comment about regression test for
9945	  1.1.4, and remove a test line which is implicit in the following
9946	  dbcheck() line anyway.
9947
9948Sun Feb 28 11:07:33 GMT 2010  Olly Betts <olly@survex.com>
9949
9950	* tests/harness/fdtracker.cc,tests/harness/fdtracker.h: Add GPL
9951	  boilerplate and copyright notices which I failed to do before
9952	  committing these new files.
9953
9954Thu Feb 25 10:34:15 GMT 2010  Olly Betts <olly@survex.com>
9955
9956	* backends/chert/chert_table.cc,backends/flint/flint_table.cc:
9957	  Initialise z_stream members zalloc, zfree, and opaque with Z_NUL
9958	  rather than 0 cast to the appropriate type, as that's what the zlib
9959	  documentation says to do.  Add missing initialisation of opaque for
9960	  the inflate z_stream which the docs say is needed, though reading
9961	  the zlib code, isn't actually for current versions.
9962
9963Wed Feb 24 14:24:05 GMT 2010  Olly Betts <olly@survex.com>
9964
9965	* backends/remote/remote-database.cc: Fix indentation.
9966
9967Wed Feb 24 14:18:25 GMT 2010  Olly Betts <olly@survex.com>
9968
9969	* backends/remote/remote-database.cc,common/remote-database.h,
9970	  common/remoteprotocol.h,common/remoteserver.h,
9971	  docs/remote_protocol.html,net/remoteserver.cc,tests/api_spelling.cc:
9972	  Add remote backend support for WritableDatabase::add_spelling() and
9973	  WritableDatabase::remove_spelling().  This bumps the remote protocol
9974	  to version 35.0 (so both client and servers will need updating).
9975	  Suggesting spelling corrections isn't yet supported.  (ticket#178)
9976
9977Wed Feb 24 09:09:27 GMT 2010  Olly Betts <olly@survex.com>
9978
9979	* examples/delve.cc: "lastdocid" -> "highest document id ever used"
9980	  in output so it's clearer what this number means.
9981
9982Tue Feb 23 14:03:47 GMT 2010  Olly Betts <olly@survex.com>
9983
9984	* api/postingsource.cc: Fix incorrect classname in error message.
9985
9986Tue Feb 23 13:16:11 GMT 2010  Olly Betts <olly@survex.com>
9987
9988	* configure.ac: For -fno-strict-aliasing for GCC 4.2 to avoid bad code
9989	  being generated due to a bug in that compiler version.  Fixes
9990	  ticket#449.
9991
9992Tue Feb 23 03:08:02 GMT 2010  Olly Betts <olly@survex.com>
9993
9994	* configure.ac,tests/harness/testsuite.cc: Use sigsetjmp() and
9995	  siglongjmp() where available so that the set of blocked signals
9996	  get restored and the test harness can catch a second incidence
9997	  of a particular signal in a run.  Use sigaction() instead of
9998	  signal() where available, which allows us to report the address
9999	  associated with SIGSEGV, SIGFPE, SIGILL, and SIGBUS.
10000
10001Mon Feb 22 14:29:50 GMT 2010  Olly Betts <olly@survex.com>
10002
10003	* backends/brass/brass_databasereplicator.cc,
10004	  backends/chert/chert_databasereplicator.cc,
10005	  backends/flint/flint_databasereplicator.cc: Fix exception message
10006	  if we get an unsupported changeset type.
10007
10008Mon Feb 22 01:49:03 GMT 2010  Richard Boulton <richard@tartarus.org>
10009
10010	* tests/dbcheck.cc: Check the wdf, doclen, and value bounds
10011	  reported by the database against correct (tight) bounds
10012	  calculated by iterating through the database contents.
10013
10014Mon Feb 22 01:47:20 GMT 2010  Richard Boulton <richard@tartarus.org>
10015
10016	* backends/brass/brass_database.cc,backends/chert/chert_database.cc:
10017	  Ensure that wdfs are reported to the stats object correctly when
10018	  replacing documents.  These checks were absent entirely in chert,
10019	  and incorrectly skipped in some cases in brass.
10020
10021Mon Feb 22 00:59:57 GMT 2010  Olly Betts <olly@survex.com>
10022
10023	* tests/api_valuestream.cc: Reset tout before testing each interval.
10024	  Prefer string() to "".
10025
10026Mon Feb 22 00:57:59 GMT 2010  Olly Betts <olly@survex.com>
10027
10028	* docs/deprecation.rst,examples/delve.cc: Remove delve's -k option,
10029	  accepted as an undocumented alias for -V since 0.9.10 for
10030	  compatibility with 0.9.9 and earlier.  Just use -V instead.
10031
10032Mon Feb 22 00:45:37 GMT 2010  Olly Betts <olly@survex.com>
10033
10034	* examples/delve.cc: If documents are specified, change "-V<valueno>"
10035	  to only show calues for those documents.
10036
10037Sun Feb 21 14:11:58 GMT 2010  Olly Betts <olly@survex.com>
10038
10039	* common/stringutils.h: Factor out looking up a character in the table
10040	  into a separate inlined function.  Add C_islcxdigit() to check for
10041	  an lower case hex digit.
10042
10043Sun Feb 21 11:10:10 GMT 2010  Olly Betts <olly@survex.com>
10044
10045	* examples/Makefile.mk,examples/xapian-metadata.cc: Add new example
10046	  "xapian-metadata" which allows you to get and set individual user
10047	  metadata entries.
10048
10049Sun Feb 21 10:31:56 GMT 2010  Olly Betts <olly@survex.com>
10050
10051	* configure.ac: Belatedly update version number to 1.1.4.
10052
10053Sat Feb 20 01:09:45 GMT 2010  Olly Betts <olly@survex.com>
10054
10055	* tests/runtest.in: Now we have fd leak checking in the test harness,
10056	  remove the ulimit as it doesn't add anything, and has caused problems
10057	  on some Debian buildds.
10058
10059Fri Feb 19 02:08:25 GMT 2010  Olly Betts <olly@survex.com>
10060
10061	* tests/harness/backendmanager.h,tests/harness/testsuite.cc:
10062	  Call backendmanager->clean_up() before checking for fd leaks
10063	  to avoid finding the sockets/pipes as leaks.  This means that
10064	  clean_up() needs to handle being called more than once for
10065	  a test sometimes (which the current versions do) so document
10066	  that.
10067
10068Thu Feb 18 02:31:17 GMT 2010  Olly Betts <olly@survex.com>
10069
10070	* examples/simpleindex.cc: Explicitly call commit() on the database,
10071	  as that is good practice (since you see any exceptions).
10072
10073Thu Feb 18 01:52:10 GMT 2010  Olly Betts <olly@survex.com>
10074
10075	* tests/api_wrdb.cc: Clear tout on each pass of the loop to avoid a
10076	  lot of irrelevant output under --verbose if the test fails.
10077
10078Thu Feb 18 01:33:53 GMT 2010  Olly Betts <olly@survex.com>
10079
10080	* tests/harness/testsuite.cc: Fix fd tracking change to work when
10081	  HAVE_VALGRIND isn't defined.
10082
10083Thu Feb 18 00:46:20 GMT 2010  Olly Betts <olly@survex.com>
10084
10085	* include/xapian/queryparser.h: Document the possible exception
10086	  messages from QueryParser::parse_query().
10087
10088Thu Feb 18 00:20:18 GMT 2010  Olly Betts <olly@survex.com>
10089
10090	* tests/harness/backendmanager.cc: Also explicitly commit after
10091	  indexing for flint and chert.
10092
10093Wed Feb 17 15:58:04 GMT 2010  Olly Betts <olly@survex.com>
10094
10095	* tests/harness/: Add machinery to check for leaked FDs.  Currently
10096	  requires /proc/self/fd to work (so it works on at least Linux), but
10097	  should do nothing on platforms without this directory.
10098
10099Wed Feb 17 15:53:30 GMT 2010  Olly Betts <olly@survex.com>
10100
10101	* tests/harness/backendmanager.cc: Explicitly commit after indexing
10102	  for brass, so we see any exceptions from the commit (commit from
10103	  the dtor swallows any exceptions).
10104
10105Tue Feb 16 16:23:30 GMT 2010  Richard Boulton <richard@tartarus.org>
10106
10107	* bin/xapian-compact.cc: Fix failure to set lastdocid to an
10108	  appropriate value when using --no-renumber.
10109	* tests/api_compact.cc: Add regression test for this.
10110
10111Tue Feb 16 16:10:49 GMT 2010  Richard Boulton <richard@tartarus.org>
10112
10113	* examples/delve.cc: Display the lastdocid value when displaying
10114	  general database statistics.
10115
10116Tue Feb 16 15:39:50 GMT 2010  Richard Boulton <richard@tartarus.org>
10117
10118	* bin/xapian-check-brass.cc,bin/xapian-check-chert.cc: Correct typo
10119	  in error message.
10120
10121Mon Feb 15 13:59:45 GMT 2010  Olly Betts <olly@survex.com>
10122
10123	* configure.ac: Update for 1.1.4.
10124
10125Mon Feb 15 13:58:44 GMT 2010  Olly Betts <olly@survex.com>
10126
10127	* PLATFORMS: We don't support GCC < 3.1, so remove discussion of
10128	  issues with GCC 2.95.
10129
10130Mon Feb 15 13:55:10 GMT 2010  Olly Betts <olly@survex.com>
10131
10132	* PLATFORMS: Update from 1.0.18.
10133
10134Mon Feb 15 11:51:15 GMT 2010  Olly Betts <olly@survex.com>
10135
10136	* NEWS: Update from ChangeLog.  Update from 1.0.18.
10137
10138Sun Feb 14 05:47:30 GMT 2010  Olly Betts <olly@survex.com>
10139
10140	* queryparser/queryparser.lemony: Fix QueryParser to handle an explicit
10141	  AND before a hated term (foo AND -bar).  (ticket#447)
10142	* tests/queryparsertest.cc: Add regression test cases.
10143
10144Fri Feb 12 01:27:32 GMT 2010  Olly Betts <olly@survex.com>
10145
10146	* queryparser/termgenerator_internal.cc: Only include trailing '+' or
10147	  '#' on a term if it isn't followed by a word character (makes more
10148	  sense and matches QueryParser's behaviour).  (ticket#446)
10149	* tests/termgentest.cc: Add regression test.
10150
10151Thu Feb 11 04:30:56 GMT 2010  Olly Betts <olly@survex.com>
10152
10153	* bin/xapian-inspect.cc: Add new "open" command to allow easy switching
10154	  between tables.
10155
10156Wed Feb 10 02:40:36 GMT 2010  Olly Betts <olly@survex.com>
10157
10158	* include/xapian/document.h: Rewrite the note about Document being a
10159	  lazy handle to fix a few details and avoid nailing down the
10160	  exact implementation.
10161
10162Wed Feb 10 00:37:54 GMT 2010  Olly Betts <olly@survex.com>
10163
10164	* docs/admin_notes.rst: Update for chert and other recent changes.
10165
10166Wed Feb 10 00:37:04 GMT 2010  Olly Betts <olly@survex.com>
10167
10168	* docs/replication_protocol.rst: Update.
10169
10170Mon Feb 08 12:05:05 GMT 2010  Olly Betts <olly@survex.com>
10171
10172	* backends/brass/brass_version.cc: Fix comments about BRASS_VERSION
10173	  which were previously just cut-and-pasted from those about
10174	  CHERT_VERSION.
10175
10176Mon Feb 08 11:54:04 GMT 2010  Olly Betts <olly@survex.com>
10177
10178	* backends/brass/brass_metadata.cc: Include missing headers.
10179
10180Mon Feb 08 09:23:00 GMT 2010  Olly Betts <olly@survex.com>
10181
10182	* backends/brass/brass_document.h,backends/chert/chert_document.h:
10183	  Fix typos in documentation comments.
10184
10185Mon Feb 08 08:27:09 GMT 2010  Olly Betts <olly@survex.com>
10186
10187	* tests/harness/testsuite.cc: Remove unused headers <streambuf> and
10188	  "omdebug.h".
10189
10190Mon Feb 08 01:28:48 GMT 2010  Olly Betts <olly@survex.com>
10191
10192	* common/debuglog.h: Use std::boolalpha so bool is logged as "true"
10193	  or "false" (instead of "1" or "0").
10194
10195Sat Feb 06 10:04:42 GMT 2010  Olly Betts <olly@survex.com>
10196
10197	* AUTHORS: Sync with 1.0 branch.
10198
10199Sat Feb 06 08:20:31 GMT 2010  Olly Betts <olly@survex.com>
10200
10201	* tests/api_closedb.cc: Avoid trying to create a database where
10202	  an already open one exists (which fails on Microsoft Windows).
10203	  (ticket#443).
10204
10205Fri Feb 05 13:28:08 GMT 2010  Olly Betts <olly@survex.com>
10206
10207	* examples/simpleexpand.cc,examples/simpleindex.cc,
10208	  examples/simplesearch.cc: Handle --help and --version.
10209
10210Fri Feb 05 13:25:37 GMT 2010  Olly Betts <olly@survex.com>
10211
10212	* bin/xapian-compact.cc: Fix not to assign elements off the end of a
10213	  vector (ticket#440).
10214
10215Fri Feb 05 11:41:05 GMT 2010  Richard Boulton <richard@tartarus.org>
10216
10217	* api/matchspy.cc,include/xapian/matchspy.h,tests/api_matchspy.cc:
10218	  Remove ValueCountMatchSpy::get_values().  values_begin() should
10219	  be used instead to iterate over the values.
10220
10221Fri Feb 05 07:39:46 GMT 2010  Olly Betts <olly@survex.com>
10222
10223	* configure.ac: Enable automake's std-options feature to check all
10224	  installed programs support --help and --version.
10225
10226Fri Feb 05 01:45:49 GMT 2010  Olly Betts <olly@survex.com>
10227
10228	* include/xapian/document.h: Add Document::add_boolean_term().
10229	* tests/api_none.cc: Add testcase document1 as a feature test.
10230
10231Fri Feb 05 00:27:52 GMT 2010  Olly Betts <olly@survex.com>
10232
10233	* backends/chert/chert_btreebase.cc,backends/flint/flint_btreebase.cc:
10234	  Add missing SEQUENTIAL entry to documentation of base file format.
10235
10236Thu Feb 04 03:06:26 GMT 2010  Olly Betts <olly@survex.com>
10237
10238	* tests/api_compact.cc: Fix to work with MSVC makefiles (ticket#440).
10239
10240Thu Feb 04 03:04:43 GMT 2010  Olly Betts <olly@survex.com>
10241
10242	* HACKING,common/Makefile.mk,common/safesyswait.h: Add wrapper
10243	  for <sys/wait.h> which defines macros for WEXITSTATUS and
10244	  WIFEXITED when required.
10245
10246Wed Feb 03 15:01:36 GMT 2010  Richard Boulton <richard@tartarus.org>
10247
10248	* api/matchspy.cc,include/xapian/matchspy.h,tests/api_matchspy.cc:
10249	  Add ValueCountMatchSpy::values_begin() and values_end() to allow
10250	  iteration over all the values in a ValueCountMatchSpy without
10251	  needing to handle the dict.  Move the contents of
10252	  ValueCountMatchSpy into a reference counted internal object, so
10253	  that the iterator can ensure that the contents aren't deleted
10254	  before it finishes.
10255
10256Wed Feb 03 15:01:02 GMT 2010  Richard Boulton <richard@tartarus.org>
10257
10258	* tests/generate-api_generated: Add ValueCountMatchSpy to the list
10259	  of non-copyable API classes.
10260
10261Wed Feb 03 13:18:03 GMT 2010  Richard Boulton <richard@tartarus.org>
10262
10263	* include/xapian/matchspy.h,tests/api_matchspy.cc: Provide an
10264	  iterator for accessing the top values found by a matchspy, rather
10265	  than using a method which takes a vector reference as a
10266	  parameter.  Should be wrappable much more nicely (and get wrapped
10267	  automatically), and be easier to use: the testcase for this is
10268	  significantly shorter than for the old API.  Remove
10269	  StringAndFrequency from API - it's now just an internal class.
10270	* api/matchspy.cc: Test new access method for top_values.
10271
10272Wed Feb 03 06:46:37 GMT 2010  Olly Betts <olly@survex.com>
10273
10274	* AUTHORS: Add Emmanuel Engelhart for reporting problems indexing
10275	  Burmese text.
10276
10277Wed Feb 03 06:32:03 GMT 2010  Olly Betts <olly@survex.com>
10278
10279	* include/xapian/unicode.h,queryparser/queryparser.lemony,
10280	  queryparser/termgenerator_internal.cc: Add ENCLOSING_MARK and
10281	  COMBINING_SPACING_MARK categories to is_wordchar().  Make
10282	  TermGenerator and QueryParser ignore several zero-width space
10283	  characters.
10284	* tests/queryparsertest.cc,tests/termgentest.cc: Add test coverage for
10285	  the changes.
10286
10287Wed Feb 03 03:14:30 GMT 2010  Olly Betts <olly@survex.com>
10288
10289	* queryparser/queryparser.lemony: Fix apostrophe abuse in comment.
10290
10291Wed Feb 03 01:23:04 GMT 2010  Olly Betts <olly@survex.com>
10292
10293	* queryparser/queryparser.lemony: Make TermList::as_opwindow_query()
10294	  private.
10295
10296Wed Feb 03 01:19:19 GMT 2010  Olly Betts <olly@survex.com>
10297
10298	* common/replication.h: Use "" not <> for including API headers.
10299
10300Wed Feb 03 01:08:58 GMT 2010  Olly Betts <olly@survex.com>
10301
10302	* common/replication.h: Remove warnings about this being an
10303	  experimental API, which no longer make sense now it is internal.
10304
10305Tue Feb 02 21:59:59 GMT 2010  Olly Betts <olly@survex.com>
10306
10307	* tests/generate-api_generated: Remove DatabaseReplica.
10308
10309Tue Feb 02 17:01:23 GMT 2010  Richard Boulton <richard@tartarus.org>
10310
10311	* include/xapian/document.h: Add a note to the API documentation
10312	  for the Document class about the potential issues involved in
10313	  lazy loading.  Fixes ticket #421.
10314
10315Tue Feb 02 16:21:39 GMT 2010  Richard Boulton <richard@tartarus.org>
10316
10317	* docs/categorisation.rst: Remove documentation of NumericRanges
10318	  stuff for now, since the NumericRanges is no longer on trunk.
10319
10320Tue Feb 02 15:59:14 GMT 2010  Richard Boulton <richard@tartarus.org>
10321
10322	* common/replication.h: Put the ReplicationInfo, DatabaseMaster and
10323	  DatabaseReplica symbols back into public visibility - they're
10324	  needed for the tests, and for the command line scripts.
10325
10326Tue Feb 02 15:06:44 GMT 2010  Richard Boulton <richard@tartarus.org>
10327
10328	* api/matchspy.cc,include/xapian/matchspy.h,tests/api_matchspy.cc:
10329	  Remove NumericRanges from trunk - their API is still uncertain,
10330	  so I want to do a bit more development work on them on the
10331	  matchspy branch before committing to support them for several
10332	  years.
10333
10334Tue Feb 02 13:45:24 GMT 2010  Richard Boulton <richard@tartarus.org>
10335
10336	* api/replication.cc,backends/brass/brass_database.cc,
10337	  backends/chert/chert_database.cc,backends/flint/flint_database.cc,
10338	  common/,include/Makefile.mk,include/xapian/replication.h,
10339	  net/replicatetcpclient.cc,net/replicatetcpserver.cc,
10340	  tests/generate-api_generated: Move replication support out of the
10341	  public API headers and public symbol visibility.  Access to
10342	  replication, for now, is via the command-line scripts: this is
10343	  similar to the access to running a remote database server, and
10344	  the access to database compaction and checking.  See ticket #347
10345	  for some commentary.
10346
10347Tue Feb 02 07:22:28 GMT 2010  Olly Betts <olly@survex.com>
10348
10349	* Backport change from chert:
10350	* backends/flint/flint_alltermslist.h,backends/flint/flint_spelling.h,
10351	  backends/flint/flint_spellingwordslist.h: Add missing std::
10352	  qualifiers.
10353
10354Tue Feb 02 07:12:51 GMT 2010  Olly Betts <olly@survex.com>
10355
10356	* docs/doxygen_api.conf.in: Add generated include/xapian/error.h so
10357	  that Xapian::Error and subclass API docs are collated for a VPATH
10358	  build.
10359	* docs/Makefile.am: Add regression test to make sure doxygen collated
10360	  API docs for Xapian::RuntimeError.
10361
10362Tue Feb 02 06:52:55 GMT 2010  Olly Betts <olly@survex.com>
10363
10364	* Backport change from brass:
10365	* backends/chert/chert_alltermslist.h,backends/chert/chert_spelling.h,
10366	  backends/chert/chert_spellingwordslist.h: Add missing std::
10367	  qualifiers.
10368
10369Tue Feb 02 01:34:52 GMT 2010  Richard Boulton <richard@tartarus.org>
10370
10371	* docs/replication.rst: Add note about not using reopen() with
10372	  databases being updated by the replication client.
10373
10374Tue Feb 02 01:17:34 GMT 2010  Richard Boulton <richard@tartarus.org>
10375
10376	* api/matchspy.cc,docs/categorisation.rst,include/xapian/matchspy.h,
10377	  tests/api_matchspy.cc: Remove score_evenness(), since it turned
10378	  out to be of little or no use in practical situations.  See
10379	  ticket #435 for more details.
10380
10381Mon Feb 01 21:53:41 GMT 2010  Olly Betts <olly@survex.com>
10382
10383	* backends/brass/brass_table.cc,backends/chert/chert_table.cc: Use
10384	  LOGCALL_VOID for add() methods which now return void.
10385
10386Mon Feb 01 21:50:05 GMT 2010  Olly Betts <olly@survex.com>
10387
10388	* Backport change from brass:
10389	* backends/flint/flint_table.cc,backends/flint/flint_table.h:
10390	  Fix documentation comments for FlintTable::add() and
10391	  FlintTable::del() - errors actually cause exceptions, not a false
10392	  return value, and del() returns true if it actually removed an entry.
10393	  Fix FlintTable::add() to throw an exception for the (hopefully never
10394	  hit) case when the tag value is too insanely large to handle.  With
10395	  that FlintTable::add() always returns true, and we never check the
10396	  return value anyway, so just make it return void.
10397
10398Mon Feb 01 21:37:33 GMT 2010  Olly Betts <olly@survex.com>
10399
10400	* Backport change from brass:
10401	* backends/chert/chert_table.cc,backends/chert/chert_table.h:
10402	  Fix documentation comments for ChertTable::add() and
10403	  ChertTable::del() - errors actually cause exceptions, not a false
10404	  return value, and del() returns true if it actually removed an entry.
10405	  Fix ChertTable::add() to throw an exception for the (hopefully never
10406	  hit) case when the tag value is too insanely large to handle.  With
10407	  that ChertTable::add() always returns true, and we never check the
10408	  return value anyway, so just make it return void.
10409
10410Mon Feb 01 16:02:27 GMT 2010  Richard Boulton <richard@tartarus.org>
10411
10412	* bin/xapian-check-brass.cc,bin/xapian-check-chert.cc: Fix checking
10413	  of the METAINFO key in chert and brass.  For small databases, the
10414	  statistics fit in few enough bytes that the trailing
10415	  unpack_uint_last() moved to end, so errors weren't being
10416	  reported, but for large databases the check was incorrectly
10417	  reporting an error.
10418
10419Mon Feb 01 09:24:14 GMT 2010  Olly Betts <olly@survex.com>
10420
10421	* backends/brass/brass_table.cc,backends/brass/brass_table.h:
10422	  Fix documentation comments for BrassTable::add() and
10423	  BrassTable::del() - errors actually cause exceptions, not a false
10424	  return value, and del() returns true if it actually removed an entry.
10425	  Fix BrassTable::add() to throw an exception for the (hopefully never
10426	  hit) case when the tag value is too insanely large to handle.  With
10427	  that BrassTable::add() always returns true, and we never check the
10428	  return value anyway, so just make it return void.
10429
10430Mon Feb 01 01:45:09 GMT 2010  Olly Betts <olly@survex.com>
10431
10432	* backends/brass/brass_alltermslist.h,backends/brass/brass_spelling.h,
10433	  backends/brass/brass_spellingwordslist.h: Add missing std::
10434	  qualifiers.
10435
10436Mon Feb 01 00:57:21 GMT 2010  Olly Betts <olly@survex.com>
10437
10438	* backends/flint/flint_spelling.h: Add missing std:: qualifier.
10439
10440Mon Feb 01 00:52:27 GMT 2010  Olly Betts <olly@survex.com>
10441
10442	* backends/brass/brass_spelling.h,backends/chert/chert_spelling.h:
10443	  Add missing std:: qualifier.
10444
10445Sun Jan 31 23:35:52 GMT 2010  Olly Betts <olly@survex.com>
10446
10447	* backends/chert/chert_termlisttable.cc,
10448	  backends/chert/chert_termlisttable.h: Remove
10449	  ChertTermListTable::get_doclength() as it is no longer used.
10450
10451Sun Jan 31 23:19:50 GMT 2010  Olly Betts <olly@survex.com>
10452
10453	* backends/brass/brass_termlisttable.cc,
10454	  backends/brass/brass_termlisttable.h: Remove
10455	  BrassTermListTable::get_doclength() as it is no longer used.
10456
10457Sun Jan 31 09:19:39 GMT 2010  Olly Betts <olly@survex.com>
10458
10459	* bin/xapian-inspect.cc: "until" improvements:
10460	  + No longer reports the current key and tag.
10461	  + If passed a key before the current one, no longer silently advances
10462	    to the next key.
10463	  + Explicitly says if the specified key doesn't exist, including where
10464	    we ended up.
10465
10466Sun Jan 31 00:19:41 GMT 2010  Olly Betts <olly@survex.com>
10467
10468	* tests/api_compact.cc: Use a single Document object rather than
10469	  creating the same one 10000 times.
10470
10471Sun Jan 31 00:08:38 GMT 2010  Olly Betts <olly@survex.com>
10472
10473	* tests/api_compact.cc: Move make_multichunk_db() before the testcase
10474	  which uses it, rather than between two helper functions for another
10475	  testcase.
10476
10477Sun Jan 31 00:07:03 GMT 2010  Olly Betts <olly@survex.com>
10478
10479	* tests/api_compact.cc: Remove confusing comment, cut-and-pasted from
10480	  elsewhere and not relevant here.
10481
10482Fri Jan 29 06:13:18 GMT 2010  Olly Betts <olly@survex.com>
10483
10484	* backends/brass/brass_metadata.cc,backends/chert/chert_metadata.cc,
10485	  backends/flint/flint_metadata.cc: Correct filenames in @file.
10486
10487Thu Jan 28 22:34:03 GMT 2010  Richard Boulton <richard@tartarus.org>
10488
10489	* tests/api_compact.cc: Add check that xapian-compact works
10490	  correctly on a database with multiple chunks for a single term;
10491	  this is a regression test for ticket #427
10492
10493Thu Jan 28 22:33:16 GMT 2010  Richard Boulton <richard@tartarus.org>
10494
10495	* bin/xapian-compact-brass.cc,bin/xapian-compact-chert.cc: Don't
10496	  cut the extra byte of doclen chunk keys.
10497
10498Thu Jan 28 21:23:48 GMT 2010  Richard Boulton <richard@tartarus.org>
10499
10500	* bin/xapian-compact-flint.cc: Revert previous patch for flint - it
10501	  only applies to new key format used by chert and brass.
10502
10503Thu Jan 28 21:13:38 GMT 2010  Richard Boulton <richard@tartarus.org>
10504
10505	* bin/xapian-compact-brass.cc,bin/xapian-compact-chert.cc,
10506	  bin/xapian-compact-flint.cc: Partial fix for #427: truncate
10507	  follow-on keys for postlist chunks fully (was leaving the
10508	  trailing 0-byte, causing the code for chert and brass to
10509	  incorrectly think a new chunk had started, resulting in a
10510	  truncated posting list.
10511
10512Thu Jan 28 20:42:47 GMT 2010  Richard Boulton <richard@tartarus.org>
10513
10514	* bin/xapian-inspect.cc: Add "until" command to display keys until
10515	  a specified one.  Useful for seeing all keys for a particular
10516	  posting list, etc.
10517
10518Thu Jan 28 01:31:54 GMT 2010  Olly Betts <olly@survex.com>
10519
10520	* tests/dbcheck.cc: Whitespace tweak.
10521
10522Wed Jan 27 06:29:21 GMT 2010  Olly Betts <olly@survex.com>
10523
10524	* tests/dbcheck.cc: <config.h> not "config.h".
10525
10526Wed Jan 27 04:20:42 GMT 2010  Olly Betts <olly@survex.com>
10527
10528	* backends/brass/brass_inverter.h: Make two getters const.
10529
10530Wed Jan 27 04:01:17 GMT 2010  Olly Betts <olly@survex.com>
10531
10532	* backends/chert/chert_database.cc,backends/chert/chert_database.h,
10533	  backends/flint/flint_database.cc,backends/flint/flint_database.h:
10534	  Add ChertWritableDatabase::insert_mod_plist() to handle the simpler
10535	  case where we know the document doesn't already exist, to avoid
10536	  adding extra code to that common path over the code we had before
10537	  the #250-related changes.
10538
10539Tue Jan 26 03:25:59 GMT 2010  Olly Betts <olly@survex.com>
10540
10541	* tests/internaltest.cc: In testcase pack_uint_preserving_sort1, use
10542	  data() not c_str(), calculate the end position just once, and use
10543	  swap to copy the current packed to prev_packed.
10544
10545Fri Jan 15 12:51:38 GMT 2010  Olly Betts <olly@survex.com>
10546
10547	* backends/chert/chert_database.cc,backends/flint/flint_database.cc:
10548	  Fix to use 'M' as the flag character for modified entries in
10549	  modplists (not 'U').  We never explicitly check for 'M' (we check for
10550	  'A' vs 'D' vs something else), so this isn't a functional change,
10551	  but rather making the values consistent (as they were before the
10552	  fix for #250).
10553
10554Fri Jan 15 08:25:14 GMT 2010  Olly Betts <olly@survex.com>
10555
10556	* backends/chert/chert_database.cc,backends/chert/chert_database.h,
10557	  backends/flint/flint_database.cc,backends/flint/flint_database.h:
10558	  Use Xapian::termcount_diff instead of Xapian::termcount for
10559	  parameters of add_freq_delta() which can be signed.  Fix parameter
10560	  docs to say "change" instead of "increase".
10561
10562Fri Jan 15 06:05:28 GMT 2010  Olly Betts <olly@survex.com>
10563
10564	* tests/api_replacedoc.cc: Just test that begin == end when we expect
10565	  no positions rather than generating a string representation and
10566	  then testing if it is empty.
10567
10568Thu Jan 14 11:17:36 GMT 2010  Olly Betts <olly@survex.com>
10569
10570	* HACKING: Auto-enabling of -Werror is now done for GCC 4.1 or newer.
10571
10572Thu Jan 14 05:06:42 GMT 2010  Olly Betts <olly@survex.com>
10573
10574	* HACKING: Include the MIT licence text in HACKING itself.
10575	* COPYING_MIT: Remove external copy of text - it could mislead users
10576	  into thinking that this is the current licence of Xapian.
10577
10578Sun Jan 10 07:36:16 GMT 2010  Olly Betts <olly@survex.com>
10579
10580	* configure.ac:With --enable-maintainer-mode, enable -Werror for GCC
10581	  >= 4.1 rather than >= 4.0 as Apple's GCC 4.0 gives bogus
10582	  uninitialised variable warnings for pack.h.
10583
10584Sat Jan 09 00:56:06 GMT 2010  Olly Betts <olly@survex.com>
10585
10586	* queryparser/queryparser.lemony: Add support for quoting boolean terms
10587	  so they can contain arbitrary characters (partly addresses
10588	  ticket#128).
10589	* tests/queryparsertest.cc: Add test coverage.
10590
10591Fri Jan 08 13:25:25 GMT 2010  Richard Boulton <richard@tartarus.org>
10592
10593	* tests/api_compact.cc: Add copyright note for my changes committed
10594	  earlier today.
10595
10596Fri Jan 08 12:19:07 GMT 2010  Olly Betts <olly@survex.com>
10597
10598	* bin/xapian-compact-brass.cc,bin/xapian-compact-chert.cc: Fix merging
10599	  of databases by xapian-compact for brass and chert.
10600	* tests/api_compact.cc: Enable test compactmerge1 for brass and chert
10601	  as a regression test.
10602
10603Fri Jan 08 11:26:41 GMT 2010  Olly Betts <olly@survex.com>
10604
10605	* backends/brass/brass_database.cc,backends/chert/chert_database.cc,
10606	  backends/flint/flint_database.cc: Rearrange comparison between old
10607	  and new termlists to avoid double check of termlist.at_end().
10608
10609Fri Jan 08 11:22:30 GMT 2010  Richard Boulton <richard@tartarus.org>
10610
10611	* tests/api_compact.cc: Add test of xapian-compact when merging
10612	  databases.  Currently, the generated databases are broken for
10613	  chert and brass, so skipping the test for those to avoid breaking
10614	  the snapshotter.
10615
10616Fri Jan 08 11:13:13 GMT 2010  Richard Boulton <richard@tartarus.org>
10617
10618	* tests/: Move routines for helping to check database contents and
10619	  consistency into dbcheck.cc, with headers in dbcheck.h.
10620
10621Fri Jan 08 10:07:09 GMT 2010  Richard Boulton <richard@tartarus.org>
10622
10623	* tests/internaltest.cc: Add test_pack_uint_preserving_sort1()
10624	  which I wrote when suspicious of that function - passes fine, but
10625	  probably worth keeping the test coverage.
10626
10627Fri Jan 08 00:23:06 GMT 2010  Olly Betts <olly@survex.com>
10628
10629	* AUTHORS: Add Henry Combrinck for Search::Xapian patches.
10630
10631Thu Jan 07 15:51:57 GMT 2010  Richard Boulton <richard@tartarus.org>
10632
10633	* api/postingsource.cc: For ValueWeightPostingSources for which
10634	  there are no entries, the upper bound returned will be an empty
10635	  string, which translated to -inf when passed to
10636	  sortable_unserialise().  This was causing the matcher to get
10637	  confused and return no results in some queries involving such a
10638	  posting source.  This commit fixes this.
10639	* tests/api_postingsource.cc: Add emptyvalwtsource1 as a regression
10640	  test for this, and a general test of this area of code.
10641
10642Thu Jan 07 09:17:58 GMT 2010  Olly Betts <olly@survex.com>
10643
10644	* backends/brass/brass_inverter.h: Fix comment typo.
10645
10646Wed Dec 30 11:46:45 GMT 2009  Richard Boulton <richard@tartarus.org>
10647
10648	* backends/brass/brass_database.cc,backends/chert/chert_database.cc,
10649	  backends/flint/flint_database.cc: When updating documents, don't
10650	  update posting entries which havn't changed.  Largely fixes
10651	  ticket #250.
10652	* AUTHORS: Add Kan-Ru Chen, since his patch attached to ticket #250
10653	  was the basis of this fix.
10654
10655Wed Dec 30 11:44:18 GMT 2009  Richard Boulton <richard@tartarus.org>
10656
10657	* backends/brass/brass_inverter.h: Add methods for updating an
10658	  existing posting, so we don't have to remove then re-add it.
10659
10660Wed Dec 30 11:41:57 GMT 2009  Richard Boulton <richard@tartarus.org>
10661
10662	* backends/brass/brass_database.h: Remove old unused members:
10663	  total_length and lastdocid.
10664
10665Wed Dec 30 01:07:04 GMT 2009  Richard Boulton <richard@tartarus.org>
10666
10667	* backends/chert/chert_database.h: Remove old unused members:
10668	  total_length and lastdocid.
10669
10670Wed Dec 30 00:21:03 GMT 2009  Richard Boulton <richard@tartarus.org>
10671
10672	* backends/chert/chert_database.cc,backends/chert/chert_database.h,
10673	  backends/flint/flint_database.cc,backends/flint/flint_database.h:
10674	  Move frequently repeated code for updating the freq_deltas and
10675	  mod_plists items into separate functions.  Makes the code
10676	  considerably clearer, and prepares the way for applying the patch
10677	  to fix ticket #250.
10678
10679Wed Dec 30 00:07:33 GMT 2009  Richard Boulton <richard@tartarus.org>
10680
10681	* tests/api_replacedoc.cc: Add a few more sequences of operations
10682	  which look worth testing, after looking at the code implementing
10683	  replace_document().
10684
10685Tue Dec 29 22:29:08 GMT 2009  Richard Boulton <richard@tartarus.org>
10686
10687	* tests/api_replacedoc.cc: Check consistency of the posting lists
10688	  with the termlists, and consistency of the statistics, at each
10689	  step of modtermwdf1.  Also, add some other terms to the document,
10690	  so we can check the stored doclength for terms which haven't been
10691	  modified.
10692
10693Sun Dec 27 14:56:16 GMT 2009  Richard Boulton <richard@tartarus.org>
10694
10695	* backends/chert/chert_modifiedpostlist.cc,
10696	  backends/flint/flint_modifiedpostlist.cc: Report the wdf from the
10697	  modifications, rather the sum of the wdf from the modifications
10698	  and the old wdf.  The old behaviour was just wrong, but we had no
10699	  test coverage for this until the last commit.
10700
10701Sun Dec 27 13:34:06 GMT 2009  Richard Boulton <richard@tartarus.org>
10702
10703	* tests/api_replacedoc.cc: Add test of the contents of the
10704	  postlist of a term which is being modified.  Also, tidy up the
10705	  output of docterms_to_string() to skip any empty position lists.
10706
10707Sat Dec 26 19:21:19 GMT 2009  Richard Boulton <richard@tartarus.org>
10708
10709	* tests/api_replacedoc.cc: Extend test to cover removing a term but
10710	  not deleting it, and finally deleting the document.
10711
10712Thu Dec 24 19:18:41 GMT 2009  Richard Boulton <richard@tartarus.org>
10713
10714	* tests/api_replacedoc.cc: Expand test to cover some modification
10715	  to the positional information.
10716
10717Thu Dec 24 19:06:32 GMT 2009  Richard Boulton <richard@tartarus.org>
10718
10719	* tests/api_replacedoc.cc: Add some more sets of modification
10720	  operations to the tests.
10721
10722Thu Dec 24 18:55:37 GMT 2009  Richard Boulton <richard@tartarus.org>
10723
10724	* tests/api_replacedoc.cc: Add test modtermwdf1, which tests a lot
10725	  more cases where documents are modified.
10726
10727Thu Dec 24 14:36:38 GMT 2009  Olly Betts <olly@survex.com>
10728
10729	* tests/: Canonicalise the conditions on testcases.
10730
10731Thu Dec 24 14:08:59 GMT 2009  Olly Betts <olly@survex.com>
10732
10733	* tests/api_closedb.cc: Fix typo in last commit.
10734
10735Thu Dec 24 13:39:28 GMT 2009  Olly Betts <olly@survex.com>
10736
10737	* tests/api_closedb.cc: Check WritableDatabase::close() during a
10738	  transaction does *NOT* implicitly call commit().
10739
10740Thu Dec 24 13:07:09 GMT 2009  Olly Betts <olly@survex.com>
10741
10742	* backends/brass/brass_database.cc,backends/brass/brass_database.h,
10743	  backends/chert/chert_database.cc,backends/chert/chert_database.h,
10744	  backends/flint/flint_database.cc,backends/flint/flint_database.h:
10745	  Fix WritableDatabase::close() to commit() changes (unless a
10746	  transaction is in progress).
10747	* tests/api_closedb.cc: Add regression test closedb4.
10748
10749Wed Dec 23 00:26:34 GMT 2009  Olly Betts <olly@survex.com>
10750
10751	* backends/brass/brass_database.cc,backends/brass/brass_inverter.cc,
10752	  backends/brass/brass_inverter.h: For allterms iteration of a
10753	  WritableDatabase, if a prefix is specified only flush changes for
10754	  terms with that prefix.  Also, don't flush document lengths for
10755	  allterms iteration.
10756
10757Tue Dec 22 22:48:55 GMT 2009  Olly Betts <olly@survex.com>
10758
10759	* bin/xapian-check.cc: Fixed reversed checks for chert and flint being
10760	  enabled in r13781.
10761
10762Tue Dec 22 14:20:24 GMT 2009  Olly Betts <olly@survex.com>
10763
10764	* tests/harness/testrunner.cc: Add brass variants of multi and remote
10765	  backends.
10766
10767Tue Dec 22 14:15:43 GMT 2009  Olly Betts <olly@survex.com>
10768
10769	* bin/: Implement xapian-check and xapian-compact support for brass.
10770
10771Tue Dec 22 13:41:08 GMT 2009  Olly Betts <olly@survex.com>
10772
10773	* bin/: Split the chert-specific checking code into a separate file
10774	  so xapian-check.cc is just the driver code.
10775
10776Tue Dec 22 12:47:59 GMT 2009  Olly Betts <olly@survex.com>
10777
10778	* backends/brass/: Add new Inverter class to encapsulate the inversion
10779	  data structures and associated code.  Instead of carefully iterating
10780	  modified posting lists and document length lists, just flush the
10781	  particular list needed to disk and iterate that.  This is much
10782	  simpler and more obviously free of subtle bugs, and means we don't
10783	  need to use data structures which allow such iteration.
10784
10785Tue Dec 22 12:25:04 GMT 2009  Olly Betts <olly@survex.com>
10786
10787	* backends/brass/,backends/dbfactory.cc,include/xapian/dbfactory.h,
10788	  include/xapian/valueiterator.h,include/xapian/version_h.cc,
10789	  tests/harness/Makefile.mk: Fix to actually build brass.  Testsuite
10790	  doesn't currently all pass.
10791
10792Tue Dec 22 04:26:17 GMT 2009  Olly Betts <olly@survex.com>
10793
10794	* HACKING,INSTALL,backends/Makefile.mk,backends/brass/,
10795	  backends/chert/dir_contents,backends/databasereplicator.cc,
10796	  backends/dbfactory.cc,common/pack.h,configure.ac,docs/,tests/,
10797	  tests/harness/: Add new development backend called "brass" and
10798	  promote "chert" to being the stable backend.
10799
10800Mon Dec 21 09:41:57 GMT 2009  Olly Betts <olly@survex.com>
10801
10802	* backends/chert/chert_database.cc: Update comment about
10803	  MAX_SAFE_TERM_LENGTH to reflect the key format changes.
10804
10805Mon Dec 21 08:12:55 GMT 2009  Olly Betts <olly@survex.com>
10806
10807	* backends/chert/chert_alldocsmodifiedpostlist.cc,
10808	  backends/chert/chert_alldocsmodifiedpostlist.h: Change reference
10809	  parameter to const reference.
10810
10811Mon Dec 21 03:19:09 GMT 2009  Olly Betts <olly@survex.com>
10812
10813	* backends/chert/chert_database.cc,backends/flint/flint_database.cc:
10814	  Replacing a document deleted since the last flush failed to update
10815	  the collection frequency and wdf, and caused an assertion failure
10816	  when assertions were enabled.
10817	* tests/api_backend.cc: Add regression test replacedoc8.
10818
10819Sun Dec 20 07:26:30 GMT 2009  Olly Betts <olly@survex.com>
10820
10821	* configure.ac: Divert to AS_MESSAGE_LOG_FD rather than literal fd 5.
10822	  Divert more output to AS_MESSAGE_LOG_FD rather than /dev/null.
10823
10824Thu Dec 17 13:53:31 GMT 2009  Olly Betts <olly@survex.com>
10825
10826	* NEWS: Update from ChangeLog.
10827
10828Thu Dec 17 13:36:54 GMT 2009  Olly Betts <olly@survex.com>
10829
10830	* Backport change from chert:
10831	* backends/flint/flint_alltermslist.cc: Tweak to not apply the
10832	  prefix test in the "at end" case.
10833	* backends/flint/flint_alltermslist.cc: There's no point checking
10834	  follow-on chunks match the prefix - the first chunk we'll hit
10835	  which doesn't match has to be an initial chunk for a term.
10836
10837Thu Dec 17 11:57:31 GMT 2009  Olly Betts <olly@survex.com>
10838
10839	* tests/api_replacedoc.cc: Fix to test the right variable.
10840
10841Thu Dec 17 11:16:51 GMT 2009  Olly Betts <olly@survex.com>
10842
10843	* tests/api_wrdb.cc: The regression test replacedoc5 no longer actually
10844	  checks for the situation it was written for, due to the shortcutting
10845	  we now do in flint and chert when replacing a document with itself,
10846	  so extend it with a check with that behaviour suppressed (fortunately
10847	  it still passes).
10848
10849Wed Dec 16 12:03:13 GMT 2009  Olly Betts <olly@survex.com>
10850
10851	* backends/chert/,bin/Makefile.mk,common/pack.h: Change the packing
10852	  of uints and strings into sortable keys in chert databases, which
10853	  reduces database size by 2.5% in tests.  This means an incompatible
10854	  change in the chert format.
10855	* bin/xapian-chert-update.cc: Utility to update a chert database from
10856	  the old format to the new format.  It works much like xapian-compact
10857	  so should take a similar amount of time (and results in a compact
10858	  database).
10859	* tests/api_wrdb.cc: Adjust the test which checks a string of zero
10860	  bytes fails in the correct way - 126 zero bytes is now handled, so
10861	  we need 127 to check the failure mode.
10862
10863Wed Dec 16 11:52:27 GMT 2009  Olly Betts <olly@survex.com>
10864
10865	* bin/xapian-compact.cc: Ensure that the resultant database has a
10866	  fresh UUID (previously chert copied the UUID from the first input,
10867	  while flint didn't set a UUID so one was generated on demand when
10868	  next requested, if the database is writable.
10869	* tests/api_compact.cc: Add tests that a UUID is set and that it is
10870	  different from that of the input.
10871
10872Wed Dec 16 09:57:27 GMT 2009  Olly Betts <olly@survex.com>
10873
10874	* examples/quest.cc: If no database is specified, still parse the query
10875	  and report get_description() on it as this provides a useful way to
10876	  see how a query parses.
10877
10878Wed Dec 16 00:40:51 GMT 2009  Olly Betts <olly@survex.com>
10879
10880	* languages/german.sbl,languages/german2.sbl: Update the german and
10881	  german2 stemming algorithms to the latest versions from Snowball.
10882	  These add an extra rule for the "-nisse" ending.
10883
10884Tue Dec 15 13:08:33 GMT 2009  Olly Betts <olly@survex.com>
10885
10886	* bin/: Split apart the flint and chert compaction code.  Should be
10887	  no change in functionality.
10888
10889Tue Dec 15 10:11:10 GMT 2009  Olly Betts <olly@survex.com>
10890
10891	* backends/chert/chert_alltermslist.cc: Tweak to not apply the
10892	  prefix test in the "at end" case.
10893
10894Tue Dec 15 09:40:19 GMT 2009  Olly Betts <olly@survex.com>
10895
10896	* backends/chert/chert_alltermslist.cc: There's no point checking
10897	  follow-on chunks match the prefix - the first chunk we'll hit
10898	  which doesn't match has to be an initial chunk for a term.
10899
10900Tue Dec 15 08:24:04 GMT 2009  Olly Betts <olly@survex.com>
10901
10902	* include/xapian/: Convert DerefStringWrapper_ to a templated
10903	  DerefWrapper_ and use it instead of DocIDWrapper and TermPosWrapper.
10904
10905Tue Dec 15 08:23:08 GMT 2009  Olly Betts <olly@survex.com>
10906
10907	* include/xapian/query.h: Mark Query::Internal as @private for doxygen.
10908
10909Tue Dec 15 03:59:44 GMT 2009  Olly Betts <olly@survex.com>
10910
10911	* common/pack.h: Return false not true if
10912	  unpack_string_preserving_sort() fails.  Add assertions that the
10913	  source pointer isn't NULL to all the functions.
10914
10915Tue Dec 15 02:30:24 GMT 2009  Olly Betts <olly@survex.com>
10916
10917	* examples/delve.cc: Improve phrasing ("unique terms" -> "distinct
10918	  terms").
10919
10920Sat Dec 12 13:07:51 GMT 2009  Richard Boulton <richard@tartarus.org>
10921
10922	* tests/Makefile.am,tests/api_posdb.cc,tests/api_replacedoc.cc:
10923	  Split my recently added replacedoc test out into a new file.
10924
10925Sat Dec 12 12:58:22 GMT 2009  Richard Boulton <richard@tartarus.org>
10926
10927	* tests/api_posdb.cc: Extend test of document modification to cover
10928	  removing the last term in the document, too.
10929
10930Sat Dec 12 12:57:43 GMT 2009  Richard Boulton <richard@tartarus.org>
10931
10932	* backends/chert/chert_database.cc,backends/flint/flint_database.cc:
10933	  Fix comparison of old term with new.
10934
10935Sat Dec 12 11:30:23 GMT 2009  Richard Boulton <richard@tartarus.org>
10936
10937	* backends/chert/chert_database.cc,backends/flint/flint_database.cc,
10938	  tests/api_posdb.cc: Delete old positionlist chunks in
10939	  replace_document().  Uncomment part of test which tested this.
10940
10941Sat Dec 12 04:24:42 GMT 2009  Olly Betts <olly@survex.com>
10942
10943	* backends/chert/chert_database.cc,backends/flint/flint_database.cc,
10944	  common/document.h: If a document is replaced with itself unmodified,
10945	  we no longer increase the automatic flush counter.
10946	* tests/api_backend.cc: Add regression test replacedoc7.
10947
10948Fri Dec 11 19:39:34 GMT 2009  Richard Boulton <richard@tartarus.org>
10949
10950	* tests/api_posdb.cc: Add a basic test of adding a document, and
10951	  modifying its positions.  Found one bug already, but the line
10952	  which triggers this is commented out for now so that we don't
10953	  break the snapshotters until it's fixed.
10954
10955Fri Dec 11 16:51:22 GMT 2009  Richard Boulton <richard@tartarus.org>
10956
10957	* common/documentterm.h: Fix some documentation comments which were
10958	  trivially incorrect or incomplete.
10959
10960Fri Dec 11 11:05:19 GMT 2009  Richard Boulton <richard@tartarus.org>
10961
10962	* COPYING_MIT,HACKING: Add details of our policy for accepting
10963	  patches.  This has informally been true for a while, but it
10964	  probably helps to tell people about it!
10965
10966Tue Dec 08 13:15:28 GMT 2009  Olly Betts <olly@survex.com>
10967
10968	* backends/chert/chert_cursor.h: Fix to build with --enable-assertions.
10969
10970Tue Dec 08 13:05:36 GMT 2009  Olly Betts <olly@survex.com>
10971
10972	* backends/chert/chert_cursor.cc,backends/chert/chert_cursor.h,
10973	  backends/chert/chert_postlist.cc: Add MutableChertCursor subclass of
10974	  ChertCursor and implement del() there rather than in ChertCursor.
10975	  This means we can use the C++ type system to track whether we got
10976	  a const or non-const ChertTable * and so whether it is safe to
10977	  cast away that const and delete the entry the cursor points to.
10978
10979Tue Dec 08 12:03:08 GMT 2009  Olly Betts <olly@survex.com>
10980
10981	* backends/chert/chert_database.cc,backends/chert/chert_table.cc,
10982	  backends/chert/chert_table.h,backends/flint/flint_database.cc,
10983	  backends/flint/flint_table.cc,backends/flint/flint_table.h,
10984	  bin/xapian-compact.cc,bin/xapian-inspect.cc: Add empty() method to
10985	  FlintTable and ChertTable which works completely reliably even if
10986	  the item count has wrapped.
10987	* tests/api_closedb.cc: Add closedb3 for coverage of get_doccount() and
10988	  has_positions().
10989
10990Tue Dec 08 08:23:12 GMT 2009  Olly Betts <olly@survex.com>
10991
10992	* backends/chert/chert_cursor.h: Tweak whitespace in comment.
10993
10994Mon Dec 07 04:56:42 GMT 2009  Olly Betts <olly@survex.com>
10995
10996	* backends/flint/flint_database.cc,backends/flint/flint_synonym.h:
10997	  Eliminate "size" private member of FlintSynonymTermList which is set
10998	  but never used.
10999
11000Mon Dec 07 04:49:54 GMT 2009  Olly Betts <olly@survex.com>
11001
11002	* backends/chert/chert_database.cc,backends/chert/chert_synonym.h:
11003	  Eliminate "size" private member of ChertSynonymTermList which is set
11004	  but never used.
11005
11006Mon Dec 07 04:32:46 GMT 2009  Olly Betts <olly@survex.com>
11007
11008	* backends/chert/: Use > 32 bit type to keep count of items in a
11009	  table.  This fixes misreporting by xapian-check, and in the very
11010	  unlikely case where the counter has just wrapped to 0, makes
11011	  xapian-compact not mistakenly think tables are empty and the
11012	  matcher ignore positional information.
11013
11014Thu Dec 03 10:08:28 GMT 2009  Richard Boulton <richard@tartarus.org>
11015
11016	* tests/api_compact.cc: Cast character value in string constructor
11017	  to a char; without this we were getting a stack overflow and
11018	  general nastiness on i386, which we hypothesise was due to the
11019	  wrong overload for string() being picked.
11020
11021Wed Dec 02 23:10:50 GMT 2009  Olly Betts <olly@survex.com>
11022
11023	* backends/flint_lock.cc: Add missing include of xapian/error.h.
11024	  This was causing the snapshot builder to fail, but worked OK
11025	  in my tree for reasons I don't understand.
11026
11027Wed Dec 02 14:30:40 GMT 2009  Olly Betts <olly@survex.com>
11028
11029	* backends/chert/chert_database.cc,
11030	  backends/chert/chert_databasereplicator.cc,
11031	  backends/flint/flint_database.cc,
11032	  backends/flint/flint_databasereplicator.cc,backends/flint_lock.cc,
11033	  backends/flint_lock.h: Factor out 4 copies of the same code to
11034	  report why Xapian failed to get a lock.
11035
11036Wed Dec 02 10:05:27 GMT 2009  Olly Betts <olly@survex.com>
11037
11038	* backends/Makefile.mk,backends/chert/,backends/flint/,
11039	  backends/flint_lock.cc,backends/flint_lock.h: Factor out a single
11040	  version of the "flint-compatible locking code" and use it from both
11041	  flint and chert.
11042
11043Wed Dec 02 02:49:14 GMT 2009  Olly Betts <olly@survex.com>
11044
11045	* tests/api_compact.cc,tests/apitest.cc,tests/apitest.h,
11046	  tests/harness/backendmanager.cc,tests/harness/backendmanager.h: Add
11047	  get_database_path() variant which takes a generator function and use
11048	  it so that the right database names are used in compactnorenumber1.
11049
11050Tue Dec 01 12:37:24 GMT 2009  Olly Betts <olly@survex.com>
11051
11052	* tests/apitest.cc,tests/harness/backendmanager.cc,
11053	  tests/harness/backendmanager.h: Move generator function variant of
11054	  get_database() to BackendManager, and tweak it to build the database
11055	  under a temporary path and rename it once built, to avoid leaving a
11056	  partial database in place if interrupted.
11057	* tests/perftest/perftest_matchdecider.cc: Use this mechanism to lazily
11058	  generate test databases.
11059	* tests/harness/: Remove the optional name parameter from various
11060	  BackendManager methods as it was only used by perftest and is no
11061	  longer needed.
11062
11063Tue Dec 01 11:00:35 GMT 2009  Olly Betts <olly@survex.com>
11064
11065	* tests/apitest.cc,tests/apitest.h: Add mechanism for caching databases
11066	  generated by a function.
11067	* tests/api_compact.cc: Use it for compactnorenumber1.
11068
11069Tue Dec 01 10:59:50 GMT 2009  Olly Betts <olly@survex.com>
11070
11071	* tests/api_db.cc: Rename matchfunctor<n> to matchdecider<n> to match
11072	  current terminology.
11073
11074Tue Dec 01 10:51:23 GMT 2009  Olly Betts <olly@survex.com>
11075
11076	* tests/api_db.cc: Don't run matchfunctor3 under remote backends as
11077	  MatchDecider isn't actually supported there (uncovered by recent
11078	  change to throw UnimplementedError in this case).
11079
11080Tue Dec 01 09:35:53 GMT 2009  Richard Boulton <richard@tartarus.org>
11081
11082	* include/xapian/matchspy.h: Remove out-of-date reference to
11083	  add_slot(), which no longer exists: users are expected to use
11084	  multiple ValueCountMatchSpies if they need to monitor more than
11085	  one slot.
11086
11087Tue Dec 01 08:04:17 GMT 2009  Olly Betts <olly@survex.com>
11088
11089	* tests/Makefile.am,tests/api_compact.cc: Add test coverage for
11090	  xapian-compact --no-renumber with multiple databases.
11091
11092Tue Dec 01 06:25:47 GMT 2009  Olly Betts <olly@survex.com>
11093
11094	* tests/api_backend.cc: Clean up matchdecider4.
11095
11096Tue Dec 01 06:12:29 GMT 2009  Olly Betts <olly@survex.com>
11097
11098	* HACKING: A couple more std::string efficiency tips.
11099
11100Tue Dec 01 05:51:52 GMT 2009  Olly Betts <olly@survex.com>
11101
11102	* api/omenquire.cc,common/multimatch.h,matcher/multimatch.cc,
11103	  net/remoteserver.cc: Throw UnimplementedError if a matchdecider or
11104	  "legacy" matchspy is used with the remote backend.
11105	* tests/api_backend.cc: Add regression test matchdecider4.
11106
11107Mon Nov 30 05:42:43 GMT 2009  Olly Betts <olly@survex.com>
11108
11109	* backends/remote/remote-database.cc,common/remote-database.h,
11110	  common/remoteprotocol.h,common/remoteserver.h,
11111	  docs/remote_protocol.html,net/remoteserver.cc,tests/api_metadata.cc,
11112	  tests/harness/testrunner.cc: Add support for
11113	  WritableDatabase::set_metadata() and Database::get_metadata() to the
11114	  remote backend (based largely on patch in #178).
11115	* AUTHORS: Thanks to Paul Rudin for patch.
11116
11117Thu Nov 26 07:25:15 GMT 2009  Olly Betts <olly@survex.com>
11118
11119	* NEWS: Start to update from ChangeLog.
11120
11121Thu Nov 26 02:26:43 GMT 2009  Olly Betts <olly@survex.com>
11122
11123	* common/str.cc: Tweak the length calculation for the buffer used by
11124	  str() when converting integers to strings so that the buffer is
11125	  exactly the minimum required size for integers of size 1, 2, 4,
11126	  and 8 bytes, and only a byte extra for 16 byte integers.
11127
11128Wed Nov 25 05:59:13 GMT 2009  Olly Betts <olly@survex.com>
11129
11130	* bin/xapian-compact.cc: In the --no-renumber case, just set offset[]
11131	  entries to zero to start with rather than fixing them up later.
11132
11133Wed Nov 25 05:49:37 GMT 2009  Olly Betts <olly@survex.com>
11134
11135	* bin/xapian-compact.cc: Extend --no-renumber to support merging
11136	  databases, but only if they have disjoint ranges of used document
11137	  ids.
11138
11139Wed Nov 25 04:37:38 GMT 2009  Olly Betts <olly@survex.com>
11140
11141	* bin/xapian-compact.cc: Fix typos in --help output.
11142
11143Wed Nov 25 04:22:26 GMT 2009  Olly Betts <olly@survex.com>
11144
11145	* bin/xapian-compact.cc: Prune unused docids off the end of database
11146	  when merging multiple databases with renumbering.
11147
11148Wed Nov 25 03:12:24 GMT 2009  Olly Betts <olly@survex.com>
11149
11150	* bin/xapian-compact.cc: Use string() instead of "" and string(1, '\0')
11151	  instead of string("", 1).
11152
11153Wed Nov 25 02:34:10 GMT 2009  Olly Betts <olly@survex.com>
11154
11155	* backends/chert/chert_lock.cc: Fix locking code to work if stdin
11156	  and/or stdout have been closed.
11157	* backends/flint/flint_lock.cc: Backport fix to flint.
11158	* tests/api_backend.cc: Add regression test lockfilefd0or1.
11159
11160Wed Nov 25 00:59:05 GMT 2009  Olly Betts <olly@survex.com>
11161
11162	* backends/chert/chert_database.cc,backends/chert/chert_lock.cc,
11163	  backends/chert/chert_lock.h: Add "FDLIMIT" reason code for why
11164	  locking failing.
11165
11166Tue Nov 24 12:44:56 GMT 2009  Olly Betts <olly@survex.com>
11167
11168	* api/omdatabase.cc: Factor out throwing an exception for docid 0 not
11169	  being valid.
11170
11171Tue Nov 24 12:39:10 GMT 2009  Olly Betts <olly@survex.com>
11172
11173	* tests/api_none.cc: Note previous fix was ticket#415.
11174
11175Tue Nov 24 12:33:12 GMT 2009  Olly Betts <olly@survex.com>
11176
11177	* api/omdatabase.cc: Fix many Xapian::Database methods to behave better
11178	  on a database with no subdatabases, such as is constructed by
11179	  Database().
11180	* tests/Makefile.am,tests/api_nodb.cc,tests/api_none.cc: Expand
11181	  emptydb_metadata1 to also regression test these other cases, and
11182	  rename to nosubdatabases1.
11183
11184Mon Nov 23 14:01:51 GMT 2009  Olly Betts <olly@survex.com>
11185
11186	* common/debuglog.h: Add "NO_ARGS" which can be used for debug logging
11187	  when a function or method takes no arguments.  The main advantage
11188	  over "" is that no extra code is generated for it.
11189	* api/omdatabase.cc: Convert to use debuglog.h fully.
11190	* api/matchspy.cc,api/omdatabase.cc: Make use of NO_ARGS.
11191
11192Mon Nov 23 09:10:55 GMT 2009  Olly Betts <olly@survex.com>
11193
11194	* backends/chert/chert_cursor.cc,backends/flint/flint_cursor.cc,
11195	  common/debuglog.cc,common/debuglog.h,common/omdebug.h,configure.ac,
11196	  matcher/multimatch.cc,queryparser/queryparser.lt: Rename
11197	  XAPIAN_DEBUG_VERBOSE macro to XAPIAN_DEBUG_LOG to better match the
11198	  user-visible "--enable-log" configure option which controls it.
11199
11200Mon Nov 23 08:08:45 GMT 2009  Olly Betts <olly@survex.com>
11201
11202	* backends/chert/chert_database.cc,backends/chert/chert_lock.cc,
11203	  backends/chert/chert_table.cc,backends/flint/: Use string() or
11204	  s.resize(0) instead of "".  Use string(1, '\0') instead of
11205	  string("", 1).
11206
11207Sun Nov 22 14:20:51 GMT 2009  Olly Betts <olly@survex.com>
11208
11209	* backends/chert/chert_postlist.cc: When skipping through a chunk of
11210	  postings to find the one we want, don't bother to unpack the wdf
11211	  values we're skipping over, which should save a significant amount
11212	  of time in certain cases where the profile data shows we spend
11213	  something like 1/3 of the time in the function where this happens.
11214
11215Sun Nov 22 13:12:39 GMT 2009  Olly Betts <olly@survex.com>
11216
11217	* api/matchspy.cc,backends/chert/chert_values.cc,
11218	  languages/steminternal.cc: Tweak whitespace after while to be
11219	  consistent.
11220
11221Sat Nov 21 17:39:23 GMT 2009  Richard Boulton <richard@tartarus.org>
11222
11223	* backends/chert/chert_values.cc,backends/chert/chert_values.h:
11224	  Make ValueChunkReader::skip_to() assign the value to a string
11225	  only when the target has been reached.  Saves a lot of
11226	  unnecessary string copying - on a benchmark of mydeco data,
11227	  improves time for 100 queries from 3.66s to 3.10s.
11228
11229Sat Nov 21 01:13:26 GMT 2009  Olly Betts <olly@survex.com>
11230
11231	* tests/: Make arrays which don't need to be modified const.
11232
11233Sat Nov 21 00:01:04 GMT 2009  Olly Betts <olly@survex.com>
11234
11235	* tests/api_matchspy.cc: The default parameter for
11236	  get_writable_database() is string(), so don't explicitly pass "".
11237
11238Fri Nov 20 16:19:13 GMT 2009  Richard Boulton <richard@tartarus.org>
11239
11240	* tests/api_matchspy.cc: Add regression test for underflow in
11241	  numeric ranges (based on python version in ticket #321).
11242
11243Fri Nov 20 10:54:08 GMT 2009  Olly Betts <olly@survex.com>
11244
11245	* matcher/valuestreamdocument.cc: Use check() instead of skip_to() in
11246	  ValueStreamDocument.
11247
11248Fri Nov 20 09:57:12 GMT 2009  Olly Betts <olly@survex.com>
11249
11250	* common/document.h,matcher/: Implement ValueStreamDocument subclass
11251	  of Xapian::Document::Internal which provides a way to connect up
11252	  valuestreams to uses of values during the match.  Other
11253	  (non-recommended) uses of the Document passed to MatchDecider, etc
11254	  are passed through to a lazily created backend Document::Internal
11255	  subclass.  This should be a lot more efficient for chert.  It's
11256	  unclear how it will affect performance for backends which don't store
11257	  values in streams - profiling is required.
11258
11259Fri Nov 20 02:35:14 GMT 2009  Olly Betts <olly@survex.com>
11260
11261	* backends/inmemory/inmemory_document.cc: Fix closedb1 on InMemory
11262	  backend, broken by recent commit.
11263
11264Thu Nov 19 12:03:52 GMT 2009  Olly Betts <olly@survex.com>
11265
11266	* backends/multi/multi_valuelist.cc: Fix to handle the case where all
11267	  the sublists turn out to be empty when we first call next().
11268
11269Thu Nov 19 11:12:53 GMT 2009  Olly Betts <olly@survex.com>
11270
11271	* backends/inmemory/: Set the document data and values lazily for the
11272	  inmemory backend too.  They're much less costly to fetch than if
11273	  a disk access may be needed, but it avoids a copy of the respective
11274	  data if they aren't needed, and either could potentially be large.
11275	  Consistency here also makes things easier to understand.
11276
11277Thu Nov 19 08:47:24 GMT 2009  Olly Betts <olly@survex.com>
11278
11279	* api/omdocument.cc: Prefer string() to "".
11280
11281Thu Nov 19 07:38:29 GMT 2009  Olly Betts <olly@survex.com>
11282
11283	* api/omdatabase.cc,backends/multi/Makefile.mk,
11284	  backends/multi/multi_valuelist.cc,common/Makefile.mk,
11285	  common/multivaluelist.h,tests/api_valuestream.cc: Implement support
11286	  for iterating valuestreams for multidatabases.
11287
11288Thu Nov 19 06:19:05 GMT 2009  Olly Betts <olly@survex.com>
11289
11290	* bin/xapian-check.cc: Rework the checking of postlist chunks into
11291	  a cleaner approach which should report errors better, and
11292	  eliminate the (probably) impossible "did might not be initialised"
11293	  path which GCC 4.2 spotted.
11294
11295Thu Nov 19 01:15:03 GMT 2009  Olly Betts <olly@survex.com>
11296
11297	* common/pack.h: Remove incorrect assertion and document what NULL
11298	  parameter value means in this case.
11299
11300Wed Nov 18 16:33:01 GMT 2009  Richard Boulton <richard@tartarus.org>
11301
11302	* bin/xapian-check.cc: Fix compiler warning (with gcc-4.2) that did
11303	  could be used uninitialised: it couldn't be, but it's hard for a
11304	  compiler to see that.
11305
11306Wed Nov 18 12:48:17 GMT 2009  Richard Boulton <richard@tartarus.org>
11307
11308	* AUTHORS: Update my email address.
11309
11310Wed Nov 18 12:21:09 GMT 2009  Olly Betts <olly@survex.com>
11311
11312	* common/valuelist.h: Fix internal documentation comment.
11313
11314Wed Nov 18 10:40:54 GMT 2009  Olly Betts <olly@survex.com>
11315
11316	* configure.ac: Use <cstdlib>, <cmath>, <cstdio>, <cstring> for
11317	  configure tests since we use these forms in the code and want
11318	  consistency between what configure tests and what the code
11319	  uses.
11320	* NEWS,configure.ac: Update for 1.1.3.
11321
11322Wed Nov 18 10:39:59 GMT 2009  Olly Betts <olly@survex.com>
11323
11324	* PLATFORMS: Update from 1.0.17.
11325
11326Wed Nov 18 10:31:49 GMT 2009  Olly Betts <olly@survex.com>
11327
11328	* INSTALL: Improve text about zlib dependency.
11329
11330Wed Nov 18 10:13:59 GMT 2009  Olly Betts <olly@survex.com>
11331
11332	* INSTALL: Note the package to install for building against libuuid on
11333	  Fedora, and note that libuuid isn't required on Microsoft Windows.
11334
11335Wed Nov 18 02:34:30 GMT 2009  Olly Betts <olly@survex.com>
11336
11337	* NEWS: Update from 1.0.17 and ChangeLog.
11338
11339Mon Nov 16 08:35:52 GMT 2009  Olly Betts <olly@survex.com>
11340
11341	* queryparser/queryparser.lemony: Fix interaction of FLAG_PARTIAL and
11342	  FLAG_SYNONYM.  (ticket#407)
11343	* tests/Makefile.am,tests/api_qpbackend.cc: Add regression test
11344	  qpsynonympartial1.
11345
11346Mon Nov 16 02:15:14 GMT 2009  Olly Betts <olly@survex.com>
11347
11348	* backends/flint/flint_version.cc: Add "using namespace std;" and drop
11349	  the explicit std:: qualifiers.
11350
11351Fri Nov 13 02:27:48 GMT 2009  Olly Betts <olly@survex.com>
11352
11353	* backends/chert/chert_spelling.h,backends/chert/chert_table.h,
11354	  backends/flint/flint_spelling.h,backends/flint/flint_table.h,
11355	  common/getopt.cc,common/stringutils.h,languages/steminternal.h:
11356	  Add missing std:: qualifiers for functions in <cstring>, <cstdlib>,
11357	  etc.
11358
11359Fri Nov 13 02:25:50 GMT 2009  Olly Betts <olly@survex.com>
11360
11361	* backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Add
11362	  "using namespace std;" and drop the explicit std:: qualifiers.
11363
11364Fri Nov 13 02:11:18 GMT 2009  Olly Betts <olly@survex.com>
11365
11366	* common/str.cc: Use assignment to initialise a size_t - the current
11367	  code was turning a missing snprintf() prototype into a confusing
11368	  error message with Sun's C++, and is less clear anyway.
11369
11370Fri Nov 13 02:03:28 GMT 2009  Olly Betts <olly@survex.com>
11371
11372	* HACKING,backends/chert/chert_lock.cc,backends/flint/flint_lock.cc,
11373	  backends/remote/remote-database.cc,net/remoteserver.cc,
11374	  net/tcpserver.cc,tests/harness/backendmanager_remotetcp.cc,
11375	  tests/harness/testsuite.cc: Sun C++'s <csignal> (not unreasonably)
11376	  excludes non-ISO-C functions which are in <signal.h> - for example,
11377	  kill() (which POSIX specifies).  So revert <csignal> to <signal.h>
11378	  and document this as a global exception.
11379
11380Thu Nov 12 08:30:07 GMT 2009  Olly Betts <olly@survex.com>
11381
11382	* matcher/collapser.h: Remove spurious comma after last entry in enum,
11383	  which Sun's C++ compiler warns about.
11384
11385Thu Nov 12 00:24:55 GMT 2009  Olly Betts <olly@survex.com>
11386
11387	* matcher/multimatch.cc: Sorter -> KeyMaker in an exception message.
11388
11389Thu Nov 12 00:01:55 GMT 2009  Olly Betts <olly@survex.com>
11390
11391	* include/xapian/database.h: Tweak documentation comments about
11392	  committing changes.
11393
11394Wed Nov 11 12:23:48 GMT 2009  Olly Betts <olly@survex.com>
11395
11396	* queryparser/queryparser.lemony: Fix handling of a group of stopwords
11397	  which notably caused issues when default_op was OP_AND, but could
11398	  probably manifest in other cases too.  Fixes ticket#406.
11399	* tests/queryparsertest.cc: Add regression test qp_stopword_group1.
11400
11401Wed Nov 11 10:54:58 GMT 2009  Olly Betts <olly@survex.com>
11402
11403	* backends/chert/chert_version.h,common/safeuuid.h: Fix workaround for
11404	  uuid.h headers which lack const to actually work on Solaris.
11405
11406Wed Nov 11 10:53:50 GMT 2009  Olly Betts <olly@survex.com>
11407
11408	* common/Makefile.mk: Need to ship new pack.h header.
11409
11410Tue Nov 10 22:27:47 GMT 2009  Olly Betts <olly@survex.com>
11411
11412	* bin/xapian-check.cc: Fix compiler warning introduced by previous
11413	  change.
11414
11415Tue Nov 10 12:24:34 GMT 2009  Olly Betts <olly@survex.com>
11416
11417	* backends/chert/,bin/xapian-check.cc,common/pack.h: Rewrite the
11418	  packing and unpacking functions more efficiently.  As well as being
11419	  generally faster, the pack functions now take a reference to a string
11420	  to append to, which avoids creating a lot of temporary string
11421	  objects.  Indexing HTML files with omindex is 5-10% faster.
11422	  Searching for "The" on gmane (which results in a lot of unpacking of
11423	  postings and document lengths) is about 35% faster.  (ticket#326)
11424
11425Thu Nov 05 03:55:37 GMT 2009  Olly Betts <olly@survex.com>
11426
11427	* common/safeuuid.h: Fix to work with uuid libraries which lack const
11428	  qualifiers.  Fixes build failure on Solaris.
11429
11430Thu Nov 05 00:15:24 GMT 2009  Olly Betts <olly@survex.com>
11431
11432	* HACKING: Update details of debian packaging.
11433
11434Wed Nov 04 04:11:38 GMT 2009  Olly Betts <olly@survex.com>
11435
11436	* common/output.h: Use C++ syntax for NULL with a type in log output.
11437
11438Wed Nov 04 04:02:09 GMT 2009  Olly Betts <olly@survex.com>
11439
11440	* queryparser/lemon.c: Avoid trivial memory leak.
11441
11442Wed Nov 04 00:13:00 GMT 2009  Olly Betts <olly@survex.com>
11443
11444	* include/xapian/database.h: Reword to avoid somewhat ambiguous "this
11445	  method".
11446
11447Tue Nov 03 12:12:09 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11448
11449	* include/xapian/database.h: Make it more clear that you need to
11450	  add the unique term to the document if you want to use
11451	  replace_document() to use external unique IDs for documents.
11452
11453Tue Nov 03 06:08:43 GMT 2009  Olly Betts <olly@survex.com>
11454
11455	* tests/generate-api_generated: Update MultiValueSorter to
11456	  MultiValueKeyMaker.
11457
11458Tue Nov 03 05:51:23 GMT 2009  Olly Betts <olly@survex.com>
11459
11460	* tests/api_sorting.cc,tests/api_sortingold.cc: Fix changesorter1 and
11461	  oldchangesorter1 to not be run for the remote backend where they will
11462	  now fail with UnimplementedError.
11463
11464Tue Nov 03 02:43:12 GMT 2009  Olly Betts <olly@survex.com>
11465
11466	* matcher/multimatch.cc: Xapian::Sorter isn't supported with the remote
11467	  backend so throw UnimplementedError rather than giving incorrect
11468	  results.  (ticket#384)
11469	* tests/api_sorting.cc: Add sortfunctorremote1 test this exception is
11470	  actually thrown.
11471
11472Tue Nov 03 01:26:57 GMT 2009  Olly Betts <olly@survex.com>
11473
11474	* common/database.h: Fix vertical whitespace glitch.
11475
11476Mon Nov 02 08:10:03 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11477
11478	* api/omdatabase.cc: Check that internal is not empty before
11479	  referencing its first element, in get_metadata() and
11480	  metadata_keys_begin(), to avoid a potential segfault.
11481	* tests/api_nodb.cc: Add emptydb_metadata1, a regression test for
11482	  this bug.
11483
11484Sun Nov 01 22:10:54 GMT 2009  Olly Betts <olly@survex.com>
11485
11486	* examples/delve.cc,examples/quest.cc: Extend exception handling to the
11487	  whole of main.  Xapian::Stem("english") can't actually throw, but
11488	  that's not obvious to static analysis tools, and it is more robust
11489	  to wrap the whole of main, and reduces indentation.
11490
11491Sun Nov 01 21:27:05 GMT 2009  Olly Betts <olly@survex.com>
11492
11493	* bin/xapian-compact.cc: Add missing exception catch for const char *.
11494	  The only case which currently throws this is an "impossible"
11495	  situation, but if we're going to check for it, the reporting of
11496	  failure should actually work.  Identified by Coverity's Scan.
11497
11498Sun Nov 01 07:56:38 GMT 2009  Olly Betts <olly@survex.com>
11499
11500	* examples/quest.cc: Tighten up the type of the error we catch to
11501	  detect an unknown stemming language.
11502
11503Sat Oct 31 07:16:11 GMT 2009  Olly Betts <olly@survex.com>
11504
11505	* NEWS: Update from ChangeLog.
11506
11507Sat Oct 31 06:59:19 GMT 2009  Olly Betts <olly@survex.com>
11508
11509	* include/xapian/enquire.h: Fix deprecation warnings when building with
11510	  recent GCC.
11511
11512Sat Oct 31 02:46:04 GMT 2009  Olly Betts <olly@survex.com>
11513
11514	* tests/queryparsertest.cc: Add another test query string to cover a
11515	  case we didn't previously check.
11516
11517Tue Oct 27 00:42:59 GMT 2009  Olly Betts <olly@survex.com>
11518
11519	* backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Don't
11520	  try to close the fd one more than the maximum allowable.
11521	  (ticket#408)
11522	* AUTHORS: Add Carl Worth for the patch.
11523
11524Mon Oct 05 09:00:58 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11525
11526	* configure.ac: Mention e2fsprogs-devel in the message thrown up by
11527	  configure, too.
11528
11529Mon Oct 05 08:53:05 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11530
11531	* HACKING: Note the command needed to get the uuid library
11532	  installed on fedora, since it's rather non-obvious.
11533
11534Sat Oct 03 20:11:48 GMT 2009  Olly Betts <olly@survex.com>
11535
11536	* unicode/tclUniData.cc: Update Unicode character database to Unicode
11537	  5.2.  (ticket#351)
11538	* tests/api_unicode.cc: Add tests for some characters added in Unicode
11539	  5.2.
11540
11541Thu Oct 01 21:19:34 GMT 2009  Olly Betts <olly@survex.com>
11542
11543	* xapian-config.in: Need to quote ^ for Solaris /bin/sh.
11544
11545Fri Sep 18 13:23:00 GMT 2009  Olly Betts <olly@survex.com>
11546
11547	* configure.ac: Actually use any flags we determine are needed to
11548	  switch the compiler to proper ANSI C++ mode, when building
11549	  xapian-core - this stopped working in 1.0.12, breaking support for
11550	  HP's aCC, Compaq's cxx, Sun's CC, and SGI's CC.
11551
11552Fri Sep 18 12:40:37 GMT 2009  Olly Betts <olly@survex.com>
11553
11554	* include/xapian/matchspy.h: Mark ValueCountMatchSpy, NumericRange,
11555	  NumericRanges, and score_evenness() as experimental.
11556
11557Fri Sep 18 08:36:34 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11558
11559	* include/xapian/weight.h,weight/weight.cc: Remove default
11560	  implementation of Weight::clone() which returns NULL - we always
11561	  need clone() to be implemented because it's called for every term
11562	  in the query, not just used for the remote backend.
11563
11564Fri Sep 18 08:02:08 GMT 2009  Olly Betts <olly@survex.com>
11565
11566	* api/omenquire.cc,docs/deprecation.rst,include/xapian/enquire.h: Mark
11567	  and document the matchspy parameter of Enquire::get_mset() as
11568	  deprecated in favour of the new MatchSpy class and
11569	  Enquire::add_matchspy().
11570
11571Fri Sep 18 07:58:11 GMT 2009  Olly Betts <olly@survex.com>
11572
11573	* tests/perftest/perftest_matchdecider.cc: Don't pass default values
11574	  for optional parameters to Enquire::get_mset().
11575
11576Fri Sep 18 02:36:43 GMT 2009  Olly Betts <olly@survex.com>
11577
11578	* queryparser/queryparser.lemony: If FLAG_PARTIAL is specified, don't
11579	  try to spell correct a term at the end of the query which we attempt
11580	  to expand as partial.
11581	* tests/queryparsertest.cc: Add regression test qp_spellpartial1.
11582
11583Fri Sep 18 02:33:55 GMT 2009  Olly Betts <olly@survex.com>
11584
11585	* tests/queryparsertest.cc: For testcase qp_spellwild1: Fix the dbdir
11586	  to qp_spellwild1 to match the testname;  Fix the ordering of
11587	  TESTCASE macros to match the order of the test functions;  Note that
11588	  this is a regression test and the versions the bug will be fixed in.
11589
11590Fri Sep 18 01:25:37 GMT 2009  Olly Betts <olly@survex.com>
11591
11592	* tests/queryparsertest.cc: Fix to work with the old scoping rules for
11593	  variables declared in for().
11594
11595Thu Sep 17 19:17:30 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11596
11597	* queryparser/queryparser.lemony: Don't apply spelling correction
11598	  to wildcard terms if FLAG_WILDCARD and FLAG_SPELLING_CORRECTION
11599	  are both specified.
11600	* tests/queryparsertest.cc: Add qp_spellwild1 as a test for this.
11601
11602Thu Sep 17 12:08:17 GMT 2009  Olly Betts <olly@survex.com>
11603
11604	* NEWS: Update from ChangeLog.
11605
11606Thu Sep 17 10:20:35 GMT 2009  Olly Betts <olly@survex.com>
11607
11608	* api/keymaker.cc: Implement Richard's idea of not encoding any
11609	  trailing, forward sorted, empty values which is a generalisation
11610	  of encoding all forward sorted, empty values as an empty string.
11611	* tests/api_sorting.cc: Add new testcase multivaluekeymaker1 to
11612	  check encodings are as expected.
11613
11614Thu Sep 17 07:15:10 GMT 2009  Olly Betts <olly@survex.com>
11615
11616	* api/,common/multimatch.h,common/omenquireinternal.h,
11617	  docs/deprecation.rst,docs/sorting.rst,include/Makefile.mk,
11618	  include/xapian.h,include/xapian/enquire.h,include/xapian/keymaker.h,
11619	  include/xapian/sorter.h,matcher/multimatch.cc,tests/Makefile.am,
11620	  tests/api_sorting.cc,tests/api_sortingold.cc: Rename Sorter to
11621	  KeyMaker, paving the way for using it to build collapse keys too.
11622	  Resolve the inconsistency in MultiValueSorter::add()'s "forward"
11623	  parameter by replacing it with MultiKeyMaker::add_value() with a
11624	  "reverse" parameter.  (ticket#359)
11625
11626Thu Sep 17 07:13:25 GMT 2009  Olly Betts <olly@survex.com>
11627
11628	* api/valuesetmatchdecider.cc,include/xapian/valuesetmatchdecider.h:
11629	  Inline trivial constructor from header.  Add explicit '#include
11630	  "xapian/document.h"'.
11631
11632Thu Sep 17 05:22:50 GMT 2009  Olly Betts <olly@survex.com>
11633
11634	* HACKING: Document how to use the XAPIAN_DEPRECATED() macro to
11635	  mark a class as deprecated.
11636
11637Wed Sep 16 02:40:13 GMT 2009  Olly Betts <olly@survex.com>
11638
11639	* backends/chert/chert_table.cc,backends/flint/flint_table.cc:
11640	  Eliminate a couple of assertions which can never fire.
11641
11642Sat Sep 12 04:05:35 GMT 2009  Olly Betts <olly@survex.com>
11643
11644	* matcher/msetpostlist.cc: Fix MSetPostList not to read off the end of
11645	  the MSet if get_maxweight() is called when at_end().  This can
11646	  happen but the testcase was too large to send so sadly no
11647	  regression test I'm afraid.
11648
11649Sat Sep 12 03:41:04 GMT 2009  Olly Betts <olly@survex.com>
11650
11651	* backends/chert/chert_values.cc: Fix code to find the first docid in
11652	  the net chunk (ticket#399).
11653	* tests/api_backend.cc: Add regression test from Rich Lane.
11654
11655Fri Sep 11 11:14:49 GMT 2009  Olly Betts <olly@survex.com>
11656
11657	* backends/chert/,bin/xapian-check.cc,bin/xapian-compact.cc: Add
11658	  support for chert databases without a termlist table (ticket#181).
11659	  Currently the only way to create such a database is to create a
11660	  chert database and do "rm termlist.*".
11661
11662Fri Sep 11 10:07:35 GMT 2009  Olly Betts <olly@survex.com>
11663
11664	* bin/xapian-compact.cc: Don't report an absent lazy input table as 0
11665	  size.
11666
11667Fri Sep 11 03:17:17 GMT 2009  Olly Betts <olly@survex.com>
11668
11669	* backends/chert/chert_table.h: Improve documentation of "handle"
11670	  member.
11671
11672Thu Sep 10 13:24:29 GMT 2009  Olly Betts <olly@survex.com>
11673
11674	* m4-macros/xapian-1.1.m4: Report the default xapian-config
11675	  basename in configure's --help output.
11676
11677Thu Sep 10 12:55:48 GMT 2009  Olly Betts <olly@survex.com>
11678
11679	* m4-macros/xapian-1.1.m4: Add optional third parameter to
11680	  XO_LIB_XAPIAN which specifies the basename for the "xapian-config"
11681	  script (defaults to "xapian-config" to give the current behaviour).
11682
11683Thu Sep 10 06:39:17 GMT 2009  Olly Betts <olly@survex.com>
11684
11685	* NEWS: Update with changes in 1.0.16 and from ChangeLog.
11686
11687Thu Sep 10 02:17:56 GMT 2009  Olly Betts <olly@survex.com>
11688
11689	* include/xapian/queryparser.h: Clarify the documentation comments for
11690	  QueryParser::set_default_op() and QueryParser::get_default_op().
11691
11692Wed Sep 09 13:36:58 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11693
11694	* matcher/andmaybepostlist.cc,tests/Makefile.am,tests/api_queryopt.cc:
11695	  Back out patch from r13440 which introduced a new optimisation
11696	  for AND_MAYBE when the maximum weight of the RHS becomes zero,
11697	  due to various undesirable side effects.  I've put the patch into
11698	  ticket #400 with an explanation.
11699
11700Wed Sep 09 01:54:05 GMT 2009  Olly Betts <olly@survex.com>
11701
11702	* backends/chert/chert_postlist.cc,tests/api_backend.cc: Fix
11703	  WritableDatabase::get_doclength() to work properly after a call to
11704	  commit for the chert backend (ticket#397).
11705
11706Wed Sep 09 00:28:09 GMT 2009  Olly Betts <olly@survex.com>
11707
11708	* AUTHORS: Add Dmitry Liakh for fix for #398.
11709
11710Wed Sep 09 00:02:47 GMT 2009  Olly Betts <olly@survex.com>
11711
11712	* backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Fix a
11713	  typo which stopped this fix in 1.0.12 from working (ticket #398):
11714
11715	  If we fail to get the lock after we spawn the child lock process
11716	  (the common case is because the database is already open for
11717	  writing) then we now clean up the child process properly.
11718
11719Fri Sep 04 11:24:26 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11720
11721	* docs/categorisation.rst: Remove out-of-date call to get_mset()
11722	  which passed a MatchSpy in - spies are now set with
11723	  add_matchspy() before get_mset() is called.
11724
11725Thu Sep 03 00:29:27 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11726
11727	* matcher/andmaybepostlist.cc: For AndMaybe, if the RHS has a
11728	  maximum possible weight of 0, we now decay to just the LHS.
11729	* tests/Makefile.am,tests/api_queryopt.cc: Test coverage that this
11730	  optimisation doesn't break anything.
11731
11732Tue Sep 01 12:04:13 GMT 2009  Olly Betts <olly@survex.com>
11733
11734	* configure.ac: Send stderr output from ldconfig to config.log.
11735
11736Tue Sep 01 10:35:51 GMT 2009  Olly Betts <olly@survex.com>
11737
11738	* AUTHORS,common/safeuuid.h: Fix uuid_unparse_lower() replacement for
11739	  older libuuid to actually compile (really fixes ticket#368).
11740
11741Mon Aug 31 05:58:55 GMT 2009  Olly Betts <olly@survex.com>
11742
11743	* NEWS: Sync with 1.0.15.
11744
11745Mon Aug 31 05:48:13 GMT 2009  Olly Betts <olly@survex.com>
11746
11747	* NEWS: Start to format entries for 1.1.3.
11748
11749Mon Aug 31 04:14:58 GMT 2009  Olly Betts <olly@survex.com>
11750
11751	* PLATFORMS: Sync with 1.0.15.
11752
11753Mon Aug 31 01:30:01 GMT 2009  Olly Betts <olly@survex.com>
11754
11755	* common/getopt.cc: Use USE_GLIBC_GNUGETOPT from gnu_getopt.h rather
11756	  than repeating the conditionals used to determine it here.  Rename
11757	  __getopt_initialized to getopt_initialized and make it static.
11758	  Rename _getopt_initialize() to getopt_initialize().
11759
11760Mon Aug 31 01:24:29 GMT 2009  Olly Betts <olly@survex.com>
11761
11762	* common/gnu_getopt.h: Update (C) dates.  Markup file description for
11763	  doxygen.  Fix comment reference to ctype.h as we now use <cctype>.
11764
11765Sun Aug 30 23:28:25 GMT 2009  Olly Betts <olly@survex.com>
11766
11767	* common/gnu_getopt.h: Make optarg, optind, opterr, and optopt extern
11768	  "C" to avoid linkage clash with these symbols on Mac OS X 10.6.
11769
11770Thu Aug 27 03:05:33 GMT 2009  Olly Betts <olly@survex.com>
11771
11772	* HACKING: Add note to document the reason for any exceptions to the
11773	  rule to use C++ forms of ISO C headers.
11774
11775Wed Aug 26 13:07:07 GMT 2009  Olly Betts <olly@survex.com>
11776
11777	* AUTHORS,INSTALL,docs/install.html: Drop .php from xapian.org URLs.
11778
11779Wed Aug 26 12:58:51 GMT 2009  Olly Betts <olly@survex.com>
11780
11781	* HACKING: Update URLs.  Remove duplicated text about updating RoadMap
11782	  from the release checklist.
11783
11784Wed Aug 26 10:56:07 GMT 2009  Olly Betts <olly@survex.com>
11785
11786	* configure.ac: Update various URLs.
11787
11788Tue Aug 25 01:52:51 GMT 2009  Olly Betts <olly@survex.com>
11789
11790	* tests/harness/testsuite.cc: Fix not to report heaps of bogus errors
11791	  under valgrind 3.5.0.
11792
11793Mon Aug 24 02:19:06 GMT 2009  Olly Betts <olly@survex.com>
11794
11795	* include/xapian/enquire.h: Also update the documentation comment for
11796	  set_sort_by_relevance_then_value() to mention sortable_serialise().
11797
11798Fri Aug 21 14:35:35 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11799
11800	* Makefile.am: Add generate-exceptions to EXTRA_DIST - was missing
11801	  from tarballs.
11802
11803Fri Aug 21 12:21:59 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11804
11805	* AUTHORS: Add Michael Vogt, who suggested adding a comment about
11806	  sortable_serialise to set_sort_by_value().
11807
11808Fri Aug 21 12:14:13 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11809
11810	* include/xapian/enquire.h: Update documentation comments for
11811	  set_sort_by_value() and set_sort_by_value_then_relevance() to
11812	  mention sortable_serialise() as a good way to store values if you
11813	  want to sort by them.
11814
11815Mon Aug 17 16:51:10 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11816
11817	* matcher/multimatch.cc: When sorting by non-pure-relevance, ensure
11818	  that the document is shown to the matchspy even if it couldn't
11819	  get in the mset.
11820	* tests/api_matchspy.cc: Extend matchspy4 to include a regression
11821	  test for this.
11822
11823Mon Aug 17 11:51:24 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11824
11825	* api/matchspy.cc,include/xapian/matchspy.h: Add overload for
11826	  score_evenness to allow a NumericRanges object to be passed to
11827	  it.
11828
11829Mon Aug 17 07:36:57 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11830
11831	* api/matchspy.cc,include/xapian/matchspy.h: Replace
11832	  build_numeric_ranges() function with a NumericRanges object,
11833	  whose constructor is passed the values and which exposes the
11834	  calculated ranges via a getter.
11835	* tests/api_matchspy.cc: Update tests to use new NumericRanges
11836	  object instead of build_numeric_ranges().
11837
11838Wed Aug 12 17:33:53 GMT 2009  Olly Betts <olly@survex.com>
11839
11840	* Makefile.am: Fix generate-exceptions change to work in a VPATH
11841	  build.
11842
11843Wed Aug 12 15:57:44 GMT 2009  Olly Betts <olly@survex.com>
11844
11845	* exception_data.pm: Add new SerialisationError.
11846	* common/serialise-double.cc: Throw SerialisationError or InternalError
11847	  instead of NetworkError.
11848
11849Wed Aug 12 15:19:05 GMT 2009  Olly Betts <olly@survex.com>
11850
11851	* Makefile.am,configure.ac,generate-exceptions,generate-exceptions.in:
11852	  It's not very useful to be able to run generate-exceptions outside
11853	  the build system, and it only gets the #! line substituted, so just
11854	  move those runes into Makefile.am and reduce the number of files that
11855	  configure needs to generate by one.
11856
11857Mon Aug 10 13:25:22 GMT 2009  Olly Betts <olly@survex.com>
11858
11859	* api/matchspy.cc: Use <cfloat> and <cmath> rather than <float.h> and
11860	  <math.h> (regression from merging the matchspy branch).
11861
11862Mon Aug 10 13:01:57 GMT 2009  Olly Betts <olly@survex.com>
11863
11864	* api/,bin/xapian-tcpsrv.cc,common/,docs/postingsource.rst,
11865	  docs/serialisation.rst,include/Makefile.mk,include/xapian.h,
11866	  include/xapian/,net/remoteserver.cc,tests/: Rename
11867	  SerialisationContext to Registry.
11868
11869Mon Aug 10 11:23:23 GMT 2009  Olly Betts <olly@survex.com>
11870
11871	* NEWS: Start to update from ChangeLog.
11872
11873Mon Aug 10 10:29:13 GMT 2009  Olly Betts <olly@survex.com>
11874
11875	* api/omenquire.cc,include/xapian/weight.h,matcher/localmatch.cc:
11876	  Make Weight::clone() public, and remove Weight::clone_() as it is
11877	  no longer required.
11878
11879Mon Aug 10 07:55:04 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11880
11881	* HACKING: Add section on ordering of include files, and fix a few
11882	  formatting issues to make this file into valid restructured text
11883	  again.
11884
11885Mon Aug 10 06:55:45 GMT 2009  Olly Betts <olly@survex.com>
11886
11887	* api/serialisationcontext.cc,common/serialisationcontextinternal.h:
11888	  Refactor to use a template function to implement the exception safe
11889	  approach I implemented for PostingSource, and use it for MatchSpy
11890	  and Weight too.
11891	* tests/api_serialise.cc: Add tests for exception safety of MatchSpy
11892	  and Weight with SerialisationContext.
11893
11894Mon Aug 10 06:15:23 GMT 2009  Olly Betts <olly@survex.com>
11895
11896	* include/xapian/weight.h,weight/weight.cc: Add default implementations
11897	  of Weight methods name(), serialise(), unserialise(), and clone() for
11898	  consistency with PostingSource and MatchSpy.
11899
11900Mon Aug 10 03:29:12 GMT 2009  Olly Betts <olly@survex.com>
11901
11902	* tests/api_postingsource.cc: Tweak header include order.
11903
11904Tue Aug 04 15:49:54 GMT 2009  Olly Betts <olly@survex.com>
11905
11906	* include/xapian/queryparser.h: Explicitly document that an empty
11907	  prefix argument to QueryParser::add_prefix() means "no prefix".
11908
11909Tue Aug 04 13:11:26 GMT 2009  Olly Betts <olly@survex.com>
11910
11911	* api/postingsource.cc: Throw UnimplementedError rather than
11912	  InvalidOperationError from PostingSource::serialise() and
11913	  PostingSource::unserialise() for consistency with MatchSpy.
11914	* include/xapian/postingsource.h: Document this behaviour (previously
11915	  we didn't say what the default implementation actually did).
11916	* tests/api_serialise.cc: Add test coverage.
11917
11918Mon Aug 03 11:40:31 GMT 2009  Olly Betts <olly@survex.com>
11919
11920	* api/serialisationcontext.cc: Fix to handle the clone() method or dtor
11921	  of a PostingSource subclass throwing exceptions.
11922	* tests/api_serialise.cc: Add new testcase serialisationcontext1 as a
11923	  regression test for this.
11924
11925Mon Aug 03 06:40:28 GMT 2009  Olly Betts <olly@survex.com>
11926
11927	* tests/api_serialise.cc: Fix copy-and-pasted @brief.
11928
11929Sun Aug 02 16:21:54 GMT 2009  Olly Betts <olly@survex.com>
11930
11931	* common/remoteprotocol.h: Correction: protocol version 33 will debut
11932	  in 1.1.3 not 1.1.4.
11933
11934Sun Aug 02 16:20:28 GMT 2009  Olly Betts <olly@survex.com>
11935
11936	* docs/remote_protocol.html: Update to document protocol version 33.
11937
11938Sun Aug 02 16:17:24 GMT 2009  Olly Betts <olly@survex.com>
11939
11940	* backends/remote/remote-database.cc,net/remoteserver.cc: We were
11941	  ignoring any trailing junk after the matchspies in MSG_GETMSET, so
11942	  change to not send a count of them and just unpack until we run out
11943	  of data.
11944
11945Sun Aug 02 15:47:30 GMT 2009  Olly Betts <olly@survex.com>
11946
11947	* common/remoteprotocol.h: Note the versions in which recent protocol
11948	  versions were introduced.
11949
11950Sun Aug 02 15:09:13 GMT 2009  Olly Betts <olly@survex.com>
11951
11952	* backends/remote/remote-database.cc,common/serialise.h,
11953	  net/remoteserver.cc,net/serialise.cc: Put the serialised MSet last in
11954	  REPLY_RESULTS as then it doesn't need to know its own length (so the
11955	  encoding is the same size it used to be in the non-matchspy case),
11956	  and we avoid having to check for there being "junk" data left over
11957	  after unserialising.
11958
11959Sun Aug 02 14:39:18 GMT 2009  Olly Betts <olly@survex.com>
11960
11961	* matcher/remotesubmatch.h: Fix to build with GCC 4.4.1.
11962
11963Sun Aug 02 14:27:44 GMT 2009  Olly Betts <olly@survex.com>
11964
11965	* backends/remote/remote-database.cc: Don't assign a temporary string
11966	  object.
11967
11968Sun Aug 02 13:50:14 GMT 2009  Olly Betts <olly@survex.com>
11969
11970	* include/xapian/matchspy.h: Add missing documentation comments.
11971
11972Sun Aug 02 12:15:43 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11973
11974	Merge from matchspy branch.
11975	* api/,backends/remote/remote-database.cc,common/,docs/Makefile.am,
11976	  docs/categorisation.rst,include/Makefile.mk,include/xapian.h,
11977	  include/xapian/enquire.h,include/xapian/matchspy.h,
11978	  include/xapian/serialisationcontext.h,matcher/multimatch.cc,
11979	  matcher/remotesubmatch.cc,matcher/remotesubmatch.h,
11980	  net/remoteserver.cc,net/serialise.cc,tests/Makefile.am,
11981	  tests/api_matchspy.cc: Add new-style Xapian::MatchSpy class,
11982	  which is a pure "spy" class, rather than being able to take a
11983	  decision on whether a spy is applied before or after a result.
11984	  This class is also designed to work with remote databases,
11985	  passing the results back in serialised form.  Also, add
11986	  ValueCountMatchSpy, which counts the occurrences of each value in
11987	  a slot in the search results seen (useful for faceted or
11988	  categorisation systems).
11989
11990Fri Jul 31 12:50:57 GMT 2009  Olly Betts <olly@survex.com>
11991
11992	* tests/api_backend.cc,tests/api_wrdb.cc: Move new test
11993	  modifiedpostlist1 from api_wrdb.cc to api_backend.cc - we're trying
11994	  not to make api-wrdb.cc any larger.  Also note the ticket number and
11995	  the release this will be fixed in.
11996
11997Thu Jul 30 16:30:06 GMT 2009  Olly Betts <olly@survex.com>
11998
11999	* backends/chert/chert_modifiedpostlist.cc: Fix ChertModifiedPostList
12000	  to skip added-but-then-deleted-before-flush documents.  (ticket#392)
12001	  backends/flint/flint_modifiedpostlist.cc: Same fix for flint.
12002	* tests/api_wrdb.cc: Add regression test modifiedpostlist1.
12003	* AUTHORS: Add Rich Lane for patch.
12004
12005Wed Jul 29 09:44:15 GMT 2009  Olly Betts <olly@survex.com>
12006
12007	* NEWS: Update from ChangeLog.
12008
12009Wed Jul 29 09:29:45 GMT 2009  Olly Betts <olly@survex.com>
12010
12011	* include/xapian/valueiterator.h: Fix typos ("again" -> "and").
12012
12013Wed Jul 29 06:18:41 GMT 2009  Olly Betts <olly@survex.com>
12014
12015	* tests/Makefile.am: Actually distribute testdata/apitest_declen.txt
12016	  - new test data from the postingsources branch merge.
12017
12018Tue Jul 28 16:38:55 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
12019
12020	Merge from postingsources branch:
12021	* tests/generate-api_generated: Test get_description() methods of
12022	  Xapian::PostingSource subclasses.
12023
12024Tue Jul 28 16:35:54 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
12025
12026	Merge from postingsources branch:
12027	* api/Makefile.mk,api/decvalwtsource.cc,api/serialisationcontext.cc,
12028	  include/xapian/postingsource.h: Add
12029	  DecreasingValueWeightPostingSource class, which reads weights
12030	  from a value slot in which a significant range of the values are
12031	  in decreasing order.  This functions similarly to
12032	  ValueWeightPostingSource, but can be much more efficient.
12033	* tests/api_valuestream.cc,tests/testdata/apitest_declen.txt:
12034	  Tests, and some associated constructed test data, for
12035	  DecreasingValueWeightPostingSource.
12036
12037Mon Jul 27 04:50:45 GMT 2009  Olly Betts <olly@survex.com>
12038
12039	* HACKING: Now using autoconf 2.64.
12040
12041Mon Jul 27 04:46:17 GMT 2009  Olly Betts <olly@survex.com>
12042
12043	* HACKING: Add note about preferring std::string::assign(), and also
12044	  one about building up strings using +=.
12045
12046Mon Jul 27 04:45:15 GMT 2009  Olly Betts <olly@survex.com>
12047
12048	* backends/chert/chert_lock.cc,backends/chert/chert_utils.h,
12049	  backends/flint/flint_lock.cc,backends/flint/flint_utils.h,
12050	  backends/remote/remote-database.cc: Use std::string::assign() rather
12051	  than constructing a temporary string object to assign.
12052
12053Sun Jul 26 16:08:10 GMT 2009  Olly Betts <olly@survex.com>
12054
12055	* AUTHORS: Update for bugs fixed in 1.0.14.
12056
12057Sun Jul 26 16:03:54 GMT 2009  Olly Betts <olly@survex.com>
12058
12059	* HACKING: Update the release checklist.
12060
12061Sun Jul 26 14:28:25 GMT 2009  Olly Betts <olly@survex.com>
12062
12063	* docs/doxygen_source.conf.in: Update roughly in-line with apidoc
12064	  changes.  I've not looked at the output much though.
12065
12066Sun Jul 26 14:00:14 GMT 2009  Olly Betts <olly@survex.com>
12067
12068	* include/xapian/database.h: Remove documentation comment for namespace
12069	  Xapian - this is now documented in xapian.h.
12070
12071Sun Jul 26 13:59:42 GMT 2009  Olly Betts <olly@survex.com>
12072
12073	* include/xapian/unicode.h: Add documentation comment for namespace
12074	  Unicode.
12075
12076Sun Jul 26 13:58:44 GMT 2009  Olly Betts <olly@survex.com>
12077
12078	* include/xapian/dbfactory.h: Add documentation comments for the
12079	  backend namespaces (InMemory, etc).
12080
12081Sun Jul 26 13:57:29 GMT 2009  Olly Betts <olly@survex.com>
12082
12083	* include/xapian/version_h.cc: Add documentation comments for the
12084	  generated version.h, and all the preprocessor defines it contains.
12085
12086Sun Jul 26 13:56:15 GMT 2009  Olly Betts <olly@survex.com>
12087
12088	* include/xapian.h: Consistently say "linked with" rather than "linked
12089	  to" in some cases.  Put documentation comment for namespace Xapian
12090	  in this file.
12091
12092Sun Jul 26 13:06:45 GMT 2009  Olly Betts <olly@survex.com>
12093
12094	* docs/doxygen_api.conf.in: More fettling to try to get better output:
12095	  + Wrap long comments.
12096	  + Quote arguments containing @...@ substitutions as they could
12097	    conceivably contain spaces.
12098	  + ALWAYS_DETAILED_SEC = NO: since a detailed section with no extra
12099	    information is pointless.
12100	  + STRIP_FROM_PATH, INCLUDE_PATH: Add "@top_builddir@/include" for
12101	    VPATH builds.
12102	  + HIDE_UNDOC_MEMBERS = YES: otherwise @internal members show up
12103	    (with no documentation).
12104	  + HIDE_FRIEND_COMPOUNDS = YES: as friend declarations in the API
12105	    headers are implementation details.
12106	  + SHOW_INCLUDE_FILES = NO: users should just include <xapian.h>
12107	    for all their API needs.
12108	  + GENERATE_TODOLIST, GENERATE_TESTLIST, GENERATE_BUGLIST: all set to
12109	    NO as we don't want these in the API documentation.
12110	  + SHOW_NAMESPACES = YES: We have several sub-namespaces so these are
12111	    useful to document.
12112	  + INPUT: Prepend "@top_builddir@/include/xapian/version.h" so that
12113	    XAPIAN_HAS_FLINT_BACKEND, etc are defined before parsing other
12114	    headers.
12115	  + EXCLUDE: remove all entries and use EXCLUDE_PATTERNS instead.
12116	  + EXCLUDE_PATTERNS: Include entries corresponding to those in EXCLUDE
12117	    and add */derefwrapper.h and */.* (the latter avoids trying to look
12118	    in .svn or any other hidden files or directories).
12119	  + REFERENCES_LINK_SOURCE = NO: Improves output.
12120	  + VERBATIM_HEADERS = NO: The verbatim headers aren't very
12121	    interesting.
12122	  + PREDEFINED: Define XAPIAN_VISIBILITY_DEFAULT and
12123	    XAPIAN_DEPRECATED(D)=D as doxygen seem reluctant to parse included
12124	    files.
12125	  + EXPAND_AS_DEFINED: Remove XAPIAN_VISIBILITY_DEFAULT and
12126	    XAPIAN_DEPRECATED as these are now handled by PREDEFINED.
12127	  + EXTERNAL_GROUPS = NO, GROUP_GRAPHS = NO: We don't use groups so
12128	    disable these.
12129
12130Sun Jul 26 10:14:32 GMT 2009  Olly Betts <olly@survex.com>
12131
12132	* docs/doxygen_api.conf.in,docs/doxygen_source.conf.in: Change
12133	  @PACKAGE@ to @PACKAGE_NAME@ and @VERSION@ to @PACKAGE_VERSION@ to
12134	  reflect modern autotools usage.
12135
12136Fri Jul 24 16:23:31 GMT 2009  Olly Betts <olly@survex.com>
12137
12138	* configure.ac,docs/: Rename doxygen configuration files from "_conf"
12139	  to ".conf".  Rename doxygen_full.conf to doxygen_source.conf, etc.
12140
12141Fri Jul 24 16:02:39 GMT 2009  Olly Betts <olly@survex.com>
12142
12143	* HACKING: Update to note that doxygen is now installed in-tree, and
12144	  that we now use 1.5.9 for 1.1.x snapshots and releases, and that
12145	  graphviz ">1.8.10" is now required.
12146
12147Fri Jul 24 16:01:31 GMT 2009  Olly Betts <olly@survex.com>
12148
12149	* include/xapian/: Documentation comment tweaks.
12150
12151Fri Jul 24 15:34:03 GMT 2009  Olly Betts <olly@survex.com>
12152
12153	* include/xapian/unicode.h: Fix @param names to match parameter names.
12154
12155Fri Jul 24 15:33:12 GMT 2009  Olly Betts <olly@survex.com>
12156
12157	* docs/doxygen_api_conf.in: Major doxygen config overhaul:
12158	  + STRIP_FROM_PATH: Strip include from header names.
12159	  + JAVADOC_AUTOBRIEF: Re-enable as we have lost most of our brief
12160	    descriptions - we can fix up the few cases where this caused
12161	    problems with an explicit @brief.
12162	  + BUILTIN_STL_SUPPORT: Enable for slightly STL-related stuff.
12163	  + DISTRIBUTE_GROUP_DOC: Enable so group members get the group's
12164	    comments.
12165	  + EXTRACT_STATIC, EXTRACT_LOCAL_CLASSES: Disable since we don't
12166	    need these.
12167	  + SHOW_NAMESPACES: Disable to hide the "Xapian" namespace.
12168	  + QUIET: Enable for less doxygen chatter.
12169	  + WARN_LOGFILE: Unset so warnings go to stderr to encourage us to
12170	    actually fix them!
12171	  + EXCLUDE: Hide base.h, deprecated.h, errordispatch.h, visibility.h.
12172	  + HTML_DYNAMIC_SECTIONS: Enable so the class diagrams are hidden by
12173	    default but can be "expanded" to be viewed.
12174	  + COLLABORATION_GRAPH: Disable as these don't ever seem useful in
12175	    the API docs.
12176	  + TEMPLATE_RELATIONS: Disable as we don't want to see template
12177	    instantiations in inheritance diagrams.
12178	  + DOT_MULTI_TARGETS: Enable for faster dot processsing.  Needs
12179	    graphviz ">1.8.10", but that's really old now.
12180
12181Fri Jul 24 13:00:24 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
12182
12183	* bin/xapian-compact.cc: Fix to work with the metainfo key stored
12184	  in the latest format of chert databases.
12185
12186Fri Jul 24 10:32:32 GMT 2009  Olly Betts <olly@survex.com>
12187
12188	* backends/chert/chert_values.cc: Avoid doing pointless work by trying
12189	  to delete non-existent lists of values when we're just adding
12190	  documents.
12191
12192Fri Jul 24 05:32:34 GMT 2009  Olly Betts <olly@survex.com>
12193
12194	* docs/doxygen_api_conf.in: Update with "doxygen -u" using doxygen
12195	  1.5.9 and then trim trailing whitespace.
12196
12197Thu Jul 23 04:10:49 GMT 2009  Olly Betts <olly@survex.com>
12198
12199	* NEWS,configure.ac: Update for 1.1.2.
12200
12201Wed Jul 22 13:58:13 GMT 2009  Olly Betts <olly@survex.com>
12202
12203	* backends/chert/chert_databasereplicator.cc,
12204	  backends/flint/flint_databasereplicator.cc: Prefer += to + for
12205	  building up strings.
12206
12207Wed Jul 22 09:01:57 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
12208
12209	* backends/chert/chert_databasereplicator.cc,
12210	  backends/flint/flint_databasereplicator.cc: Check result of
12211	  ::open() for -1, and throw an error immediately if this happens,
12212	  rather than leaving it to a later call to fail with EBADF.
12213	  Should make it easier to diagnose problems, since we'll now see
12214	  the reason that the open() failed.
12215
12216Tue Jul 21 17:08:41 GMT 2009  Olly Betts <olly@survex.com>
12217
12218	* NEWS: Update from ChangeLog and sync with 1.0.14.
12219
12220Mon Jul 20 04:48:32 GMT 2009  Olly Betts <olly@survex.com>
12221
12222	* matcher/queryoptimiser.cc: Fix build with assertions enabled.
12223
12224Mon Jul 20 04:47:33 GMT 2009  Olly Betts <olly@survex.com>
12225
12226	* include/xapian/query.h: Update doc comment - OP_SYNONYM can take any
12227	  number of subqueries too.
12228
12229Sun Jul 19 17:26:53 GMT 2009  Olly Betts <olly@survex.com>
12230
12231	* api/omqueryinternal.cc,include/xapian/query.h,matcher/localmatch.cc:
12232	  Remove wqf member of Xapian::Query::Internal and store the wqf in
12233	  the parameter member instead.  (ticket#280)
12234
12235Sun Jul 19 17:24:02 GMT 2009  Olly Betts <olly@survex.com>
12236
12237	* api/omqueryinternal.cc,include/xapian/query.h: Remove unused
12238	  method Xapian::Query::Internal::swap().
12239
12240Sun Jul 19 16:22:01 GMT 2009  Olly Betts <olly@survex.com>
12241
12242	* api/valuerangeproc.cc,include/xapian/queryparser.h: Move support for
12243	  a prefix/suffix from NumberValueRangeProcessor to
12244	  StringValueRangeProcessor, and change NumberValueRangeProcessor and
12245	  DateValueRangeProcessor to inherit from StringValueRangeProcessor so
12246	  all three now support a prefix/suffix.  (ticket#220)
12247	* tests/queryparsertest.cc: Add test coverage for new features.
12248
12249Sun Jul 19 16:05:04 GMT 2009  Olly Betts <olly@survex.com>
12250
12251	* tests/queryparsertest.cc: Reenable tests which require the inmemory
12252	  backend to be enabled by fixing typo XAPIAN_HAS_BACKEND_INMEMORY ->
12253	  XAPIAN_HAS_INMEMORY_BACKEND.
12254
12255Sun Jul 19 14:56:16 GMT 2009  Olly Betts <olly@survex.com>
12256
12257	* api/documentvaluelist.cc: Use str() instead of om_tostring().
12258
12259Sun Jul 19 14:42:15 GMT 2009  Olly Betts <olly@survex.com>
12260
12261	* matcher/msetcmp.cc: Eliminate two more relocations.
12262
12263Sun Jul 19 13:46:08 GMT 2009  Olly Betts <olly@survex.com>
12264
12265	* api/omqueryinternal.cc: Factor out "is_distributable()" function.
12266
12267Sun Jul 19 11:11:06 GMT 2009  Olly Betts <olly@survex.com>
12268
12269	* include/xapian/version_h.cc: Fix "dummy" -> "dummy[]" so the code
12270	  here is valid C - we only preprocess it, but since the reason for
12271	  having the dummy stuff at all is to avoid problems with "smart"
12272	  preprocessors which moan if the code isn't valid, this seems worth
12273	  fixing.
12274
12275Sun Jul 19 10:21:41 GMT 2009  Olly Betts <olly@survex.com>
12276
12277	* backends/flint/flint_database.cc: Backport the previous change to
12278	  flint.
12279
12280Sun Jul 19 08:04:48 GMT 2009  Olly Betts <olly@survex.com>
12281
12282	* backends/chert/chert_database.cc: Instead of dynamically building a
12283	  std::list of the leafnames we need to replicate, just list them in a
12284	  compact format in the source file.  Results in smaller code and
12285	  should be faster and smaller at runtime.
12286
12287Sat Jul 18 17:12:58 GMT 2009  Olly Betts <olly@survex.com>
12288
12289	* languages/compiler/generator.c: Merge among table entries which are
12290	  substrings of others in the same among.  We could be much cleverer
12291	  and merge between amongs, and allow overlaps, etc, but this get us
12292	  a nice size reduction for a small amount of effort, so it'll do for
12293	  now.
12294
12295Sat Jul 18 15:42:48 GMT 2009  Olly Betts <olly@survex.com>
12296
12297	* languages/compiler/generator.c,languages/steminternal.cc,
12298	  languages/steminternal.h: Change how snowball generates the data used
12299	  by among - instead of using pointers to the strings in struct among,
12300	  store an offset into a constant pool, as this reduces the number of
12301	  relocations from 5001 to 2706, which should decrease the time taken
12302	  by the dynamic linker when loading the library.  This also results
12303	  in slightly smaller code.
12304
12305Fri Jul 17 16:32:02 GMT 2009  Olly Betts <olly@survex.com>
12306
12307	* tests/api_nodb.cc: Check output of Stem::get_description() for each
12308	  supported language.
12309
12310Thu Jul 16 04:34:57 GMT 2009  Olly Betts <olly@survex.com>
12311
12312	* common/fileutils.h: Remove unnecessary XAPIAN_VISIBILITY_DEFAULT
12313	  (ticket#63).
12314	* common/fileutils.cc,common/fileutils.h: Make isabspath() static
12315	  since it is only used by other functions in the same file.
12316
12317Thu Jul 16 04:13:48 GMT 2009  Olly Betts <olly@survex.com>
12318
12319	* queryparser/queryparser.lemony: Fix comment typo.
12320
12321Thu Jul 16 03:59:49 GMT 2009  Olly Betts <olly@survex.com>
12322
12323	* api/sorter.cc,include/xapian/sorter.h: MultiValueSorter doesn't
12324	  need an explicit dtor - it's enough that Sorter has a virtual dtor.
12325
12326Thu Jul 16 03:29:41 GMT 2009  Olly Betts <olly@survex.com>
12327
12328	* AUTHORS: Add Andreas Flöter for the Solaris package howto.
12329
12330Wed Jul 15 14:37:19 GMT 2009  Olly Betts <olly@survex.com>
12331
12332	* matcher/rset.cc: Just pass pointer as AutoPtr constructor parameter
12333	  rather constructing a temporary AutoPtr and invoking the assignment
12334	  operator.
12335
12336Wed Jul 15 03:43:35 GMT 2009  Olly Betts <olly@survex.com>
12337
12338	* common/omenquireinternal.h: "class" -> "object" in doc comment.
12339
12340Wed Jul 15 03:38:55 GMT 2009  Olly Betts <olly@survex.com>
12341
12342	* tests/runtest.in: Raise the fd limit from 32 to 64 - multi_flint
12343	  tests need more than 32 fds.
12344
12345Tue Jul 14 20:32:52 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
12346
12347	* api/omenquire.cc,common/omenquireinternal.h: Revert r13052, which
12348	  changed Enquire::Internal::weight not to be mutable.  Expand the
12349	  comment explaining why it's mutable.
12350
12351Tue Jul 14 18:40:43 GMT 2009  Olly Betts <olly@survex.com>
12352
12353	* tests/runtest.in: Use "ulimit -n" where available to limit the
12354	  number of available file descriptors to 32 so we catch file
12355	  descriptor leaks sooner.
12356
12357Tue Jul 14 16:53:48 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
12358
12359	* api/omenquire.cc,common/omenquireinternal.h: Tidy up mutable
12360	  Weight member on Enquire::Internal class; make it non-mutable,
12361	  and just make a temporary BM25Weight object if the weight member
12362	  was NULL.
12363
12364Tue Jul 14 12:36:46 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
12365
12366	* common/output.h: Display a "<NULL $CLASSNAME>" message in debug
12367	  output when a pointer being output is NULL.  Previously, NULL
12368	  Query::Internal pointers were causing segfaults with debug
12369	  logging for many tests (eg, emptyquery1).
12370
12371Sun Jul 12 14:56:18 GMT 2009  Olly Betts <olly@survex.com>
12372
12373	* backends/chert/chert_database.cc: We no longer have a "value" table
12374	  (values are now stored in the postlist and termlist tables) so fix
12375	  comments not to refer to it.
12376
12377Sun Jul 12 14:47:17 GMT 2009  Olly Betts <olly@survex.com>
12378
12379	* backends/chert/: Add new ChertLazyTable class and subclass lazy
12380	  tables from it so that we only need to implement the common
12381	  differences once.
12382
12383Sun Jul 12 13:41:27 GMT 2009  Olly Betts <olly@survex.com>
12384
12385	* api/replication.cc: No point using join_paths() to append a literal
12386	  leaf name, especially as we already don't elsewhere.
12387
12388Sun Jul 12 12:01:25 GMT 2009  Olly Betts <olly@survex.com>
12389
12390	* queryparser/queryparser.lemony: Fix memory leak accidentally
12391	  introduced in r13005.
12392
12393Sun Jul 12 11:40:26 GMT 2009  Olly Betts <olly@survex.com>
12394
12395	* tests/api_opsynonym.cc: Remove debug "cout" calls.
12396
12397Sun Jul 12 09:43:06 GMT 2009  Olly Betts <olly@survex.com>
12398
12399	* matcher/queryoptimiser.cc: Don't just skip counting subqueries which
12400	  are the RHS of OP_AND_NOT - skip based on factor == 0.0, which means
12401	  we get the RHS of OP_FILTER too.
12402	* tests/api_percentages.cc: Add topercent4 as a regression test for
12403	  this.
12404
12405Sun Jul 12 09:32:11 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
12406
12407	* matcher/andmaybepostlist.cc: Add DEBUGCALL macro to
12408	  count_matching_subqs() to fix build with assertions.
12409
12410Sun Jul 12 08:17:02 GMT 2009  Olly Betts <olly@survex.com>
12411
12412	* matcher/remotesubmatch.cc: Percentage scaling for remote results is
12413	  handled in a different way, so replace FIXME with comment noting
12414	  this.
12415
12416Sun Jul 12 05:48:17 GMT 2009  Olly Betts <olly@survex.com>
12417
12418	* matcher/multimatch.cc: Fix handling of percentage weights in various
12419	  cases when we're searching multiple remote databases or a mix of
12420	  local and remote databases.
12421	* tests/api_percentages.cc: Add regression test topercent3.
12422
12423Sat Jul 11 13:35:02 GMT 2009  Olly Betts <olly@survex.com>
12424
12425	* matcher/mergepostlist.cc: Fix file description - MergePostList can
12426	  merge any number of posting lists, not just two.
12427
12428Sat Jul 11 13:09:40 GMT 2009  Olly Betts <olly@survex.com>
12429
12430	* matcher/extraweightpostlist.h:
12431	  ExtraWeightPostList::read_position_list() and
12432	  ExtraWeightPostList::open_position_list() aren't used, so remove
12433	  them.
12434
12435Sat Jul 11 12:54:30 GMT 2009  Olly Betts <olly@survex.com>
12436
12437	* api/leafpostlist.cc,api/postlist.cc,common/leafpostlist.h,
12438	  common/postlist.h,common/submatch.h,matcher/,tests/api_anydb.cc,
12439	  tests/api_opsynonym.cc: Count how many leaf subqueries match for the
12440	  document with the highest weight when calculating the percentage
12441	  weights, instead of using the termlist of that document (ticket#363).
12442	  Also fixes XOR with a SYNONYM subquery which could achieve 100%
12443	  weight before.
12444
12445Fri Jul 10 08:02:18 GMT 2009  Olly Betts <olly@survex.com>
12446
12447	* api/omdatabase.cc,backends/chert/chert_spelling.cc,
12448	  backends/flint/flint_spelling.cc,common/database.h: Deal with the
12449	  case of get_spelling_suggestion() with an empty or single character
12450	  word up front.
12451
12452Thu Jul 09 16:20:47 GMT 2009  Olly Betts <olly@survex.com>
12453
12454	* tests/harness/backendmanager_remotetcp.cc: In clean_up(), only scan
12455	  through the pid_to_fd array once, and disable the signal handler
12456	  and call waitpid() for any remaining pids ourselves, rather than
12457	  calling sleep(1) and rechecking.  This should avoid pointless delays
12458	  when the child hasn't exited when we first check.
12459
12460Thu Jul 09 12:40:52 GMT 2009  Olly Betts <olly@survex.com>
12461
12462	* tests/harness/: BackendManager has a virtual dtor, so we don't need
12463	  empty virtual dtors in its subclasses.
12464
12465Thu Jul 09 11:40:20 GMT 2009  Olly Betts <olly@survex.com>
12466
12467	* tests/harness/backendmanager_remotetcp.cc,
12468	  tests/harness/backendmanager_remotetcp.h: Move the
12469	  BackendManagerRemoteTcp ctor back into the header now it is trivial
12470	  again.
12471
12472Wed Jul 08 16:56:53 GMT 2009  Olly Betts <olly@survex.com>
12473
12474	* backends/flint/flint_io.h: Backport change to use F_FULLSYNC from
12475	  chert.
12476
12477Wed Jul 08 15:30:22 GMT 2009  Olly Betts <olly@survex.com>
12478
12479	* configure.ac: Check that we can find the valgrind/memcheck.h header
12480	  as well as the valgrind binary.
12481
12482Wed Jul 08 14:30:53 GMT 2009  Olly Betts <olly@survex.com>
12483
12484	* tests/harness/backendmanager_remotetcp.cc: Sort out the clash
12485	  between two different patches to fix leaking file descriptors.
12486	  Also, call clean_up() from the destructor to correctly handle the
12487	  case when a BackendManagerRemoteTcp is created by a test case
12488	  directly.
12489
12490Wed Jul 08 14:17:43 GMT 2009  Olly Betts <olly@survex.com>
12491
12492	* tests/harness/: Rename "posttest()" method to "clean_up()" - I keep
12493	  thinking "power-on self-test".
12494
12495Wed Jul 08 05:08:09 GMT 2009  Olly Betts <olly@survex.com>
12496
12497	* backends/chert/chert_io.h: Use F_FULLFSYNC where available (Mac OS X
12498	  currently).  (ticket#288)
12499
12500Tue Jul 07 09:31:35 GMT 2009  Olly Betts <olly@survex.com>
12501
12502	* queryparser/queryparser.lemony: If default_op is OP_NEAR or OP_PHRASE
12503	  then make the default window size (9 + no_of_terms), like it would be
12504	  for an explicit NEAR or PHRASE without an explicit window size.
12505	  (ticket#254)
12506	* tests/queryparsertest.cc: Add feature tests for this.
12507
12508Tue Jul 07 07:18:15 GMT 2009  Olly Betts <olly@survex.com>
12509
12510	* HACKING,api/,backends/chert/,backends/flint/,
12511	  backends/remote/remote-database.cc,common/,languages/steminternal.h,
12512	  net/,queryparser/queryparser.cc,tests/harness/,tests/internaltest.cc,
12513	  tests/perftest/freemem.cc,tests/perftest/perftest_randomidx.cc,
12514	  tests/stemtest.cc,unicode/utf8itor.cc: Update to use C++ forms for
12515	  ISO C standard headers (ticket#330).
12516
12517Tue Jul 07 05:30:58 GMT 2009  Olly Betts <olly@survex.com>
12518
12519	* backends/inmemory/inmemory_database.h: Use "omassert.h" not
12520	  <omassert.h>.
12521
12522Mon Jul 06 04:30:59 GMT 2009  Olly Betts <olly@survex.com>
12523
12524	* AUTHORS: Add Rolf Köhling for fixes for Omega on MS Windows.
12525
12526Sun Jul 05 16:28:54 GMT 2009  Olly Betts <olly@survex.com>
12527
12528	* backends/flint/flint_database.cc,backends/flint/flint_database.h:
12529	  Backport the lazyupdate changes from chert to flint.
12530
12531Sun Jul 05 13:12:53 GMT 2009  Olly Betts <olly@survex.com>
12532
12533	* tests/harness/backendmanager.cc,tests/harness/backendmanager.h: Move
12534	  virtual destructor definition out of the header.
12535
12536Sun Jul 05 04:09:04 GMT 2009  Olly Betts <olly@survex.com>
12537
12538	* common/documentterm.h: Add const to OmDocumentTerm::get_wdf() method
12539	  (ticket#139).
12540
12541Sat Jul 04 16:45:43 GMT 2009  Olly Betts <olly@survex.com>
12542
12543	* queryparser/lemon.c: Merge upstream "Check-in Number: 6757" - no
12544	  functional changes in generated code for our parser.
12545
12546Sat Jul 04 16:39:41 GMT 2009  Olly Betts <olly@survex.com>
12547
12548	* queryparser/lemon.c: Merge upstream "Check-in Number: 6756" - no
12549	  functional changes in generated code for our parser.
12550
12551Sat Jul 04 16:36:59 GMT 2009  Olly Betts <olly@survex.com>
12552
12553	* queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream
12554	  "Check-in Number: 6755" - no functional changes in generated code for
12555	  our parser.
12556
12557Sat Jul 04 16:29:24 GMT 2009  Olly Betts <olly@survex.com>
12558
12559	* queryparser/lemon.c: Merge upstream "Check-in Number: 6754" - no
12560	  changes in generated code for our parser.
12561
12562Sat Jul 04 16:24:45 GMT 2009  Olly Betts <olly@survex.com>
12563
12564	* queryparser/queryparser.lt: Merge upstream "Check-in Number: 6749" -
12565	  only changes are in code which isn't compiled due to preprocessor
12566	  conditionals.
12567
12568Sat Jul 04 16:02:08 GMT 2009  Olly Betts <olly@survex.com>
12569
12570	* api/editdistance.cc: Add const to is_transposed() method
12571	  (ticket#139).
12572
12573Sat Jul 04 15:19:55 GMT 2009  Olly Betts <olly@survex.com>
12574
12575	* backends/chert/chert_lock.h,backends/flint/flint_lock.h: Make
12576	  ChertLock::operator bool() and FlintLock::operator bool() const
12577	  (ticket#139).
12578
12579Sat Jul 04 14:56:42 GMT 2009  Olly Betts <olly@survex.com>
12580
12581	* backends/chert/chert_database.cc,backends/chert/chert_database.h,
12582	  backends/flint/flint_database.cc,backends/flint/flint_database.h:
12583	  Make ChertDatabase::get_changeset_revisions() and
12584	  FlintDatabase::get_changeset_revisions() const (ticket#139).
12585
12586Sat Jul 04 14:10:55 GMT 2009  Olly Betts <olly@survex.com>
12587
12588	* backends/chert/chert_changesetapplier.h,
12589	  backends/flint/flint_changesetapplier.h: "the the" -> "the" in
12590	  comments.
12591
12592Sat Jul 04 14:06:39 GMT 2009  Olly Betts <olly@survex.com>
12593
12594	* backends/chert/chert_btreebase.cc,backends/chert/chert_btreebase.h:
12595	  Make ChertTable_base::do_unpack_uint() just a static non-class
12596	  function.  Use string::+= to build up the error string in it, and
12597	  mark the error case as rare.
12598
12599Wed Jul 01 04:12:22 GMT 2009  Olly Betts <olly@survex.com>
12600
12601	* docs/spelling.rst: Omega now supports spelling correction.
12602
12603Mon Jun 29 08:16:13 GMT 2009  Olly Betts <olly@survex.com>
12604
12605	* queryparser/queryparser.lemony: Reset the begin and end strings
12606	  before trying the next ValueRangeProcessor in case they've been
12607	  modified.
12608	* tests/queryparsertest.cc: Add regression tests and general coverage
12609	  for this area.
12610
12611Mon Jun 29 06:33:45 GMT 2009  Olly Betts <olly@survex.com>
12612
12613	* backends/remote/net_postlist.cc: Remove unused '#include
12614	  "serialise-double.h"'.
12615
12616Mon Jun 29 06:32:52 GMT 2009  Olly Betts <olly@survex.com>
12617
12618	* backends/remote/net_postlist.cc: Build up description string using
12619	  +=.
12620
12621Sun Jun 28 14:50:56 GMT 2009  Olly Betts <olly@survex.com>
12622
12623	* backends/remote/net_postlist.h: Fix internal doc comment.
12624
12625Sat Jun 27 13:35:45 GMT 2009  Olly Betts <olly@survex.com>
12626
12627	* configure.ac: -Wshadow produces false positives with GCC 4.0, so
12628	  only enable  it for >= 4.1 since we enable -Werror for
12629	  maintainer-mode builds for GCC >= 4.0.
12630
12631Sat Jun 27 13:30:22 GMT 2009  Olly Betts <olly@survex.com>
12632
12633	* backends/multi/multi_termlist.cc,backends/multi/multi_termlist.h:
12634	  Fix return type of MultiTermList::positionlist_count() to be
12635	  Xapian::termcount rather than Xapian::termpos.
12636
12637Sat Jun 27 12:50:17 GMT 2009  Olly Betts <olly@survex.com>
12638
12639	* backends/flint/flint_alltermslist.h,backends/flint/flint_postlist.cc,
12640	  backends/flint/flint_postlist.h: Fix to use Xapian::doccount for
12641	  termfreq in flint too.
12642
12643Sat Jun 27 12:28:47 GMT 2009  Olly Betts <olly@survex.com>
12644
12645	* backends/chert/chert_alltermslist.cc: Prefer 'str.resize(0)' to
12646	  'str = ""'.
12647
12648Sat Jun 27 12:16:17 GMT 2009  Olly Betts <olly@survex.com>
12649
12650	* backends/chert/chert_alltermslist.h,backends/chert/chert_postlist.h:
12651	  Fix to use Xapian::doccount for termfreq in more places.
12652
12653Sat Jun 27 11:51:25 GMT 2009  Olly Betts <olly@survex.com>
12654
12655	* backends/chert/chert_table.cc: Change so add_item_to_block() can
12656	  always assume there is another contiguous space in the block
12657	  (previously it could assume that there was enough space, but not
12658	  that it was necessarily contiguous).
12659
12660Sat Jun 27 09:55:19 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
12661
12662	* include/xapian/postingsource.h,include/xapian/weight.h: Add note
12663	  that PostingSource and Weight objects returned by clone() and
12664	  unserialise() methods will be deallocated with "delete".
12665
12666Sat Jun 27 07:26:41 GMT 2009  Olly Betts <olly@survex.com>
12667
12668	* backends/chert/chert_postlist.cc: Adjust use of Xapian::doccount vs
12669	  Xapian::termcount for consistency so things work better when these
12670	  types aren't identical.
12671
12672Sat Jun 27 01:48:39 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
12673
12674	* api/matchspy.cc: Remove unused matchspy.cc - there is an updated
12675	  version of this on the matchspy branch; having an old copy here
12676	  is just likely to lead to confusion.
12677
12678Fri Jun 26 05:42:26 GMT 2009  Olly Betts <olly@survex.com>
12679
12680	* api/documentvaluelist.cc,api/documentvaluelist.h: Change
12681	  DocumentValueList::skip_to()'s parameter type from Xapian::valueno
12682	  to Xapian::docid to agree with the type in ValueList::skip_to().
12683	  This is a latent bug - it doesn't matter provided the types are
12684	  actually the same (ticket#385).
12685
12686Thu Jun 25 11:20:07 GMT 2009  Olly Betts <olly@survex.com>
12687
12688	* matcher/phrasepostlist.cc: Use Xapian::termcount(1) instead of 1u
12689	  so that the code doesn't assume Xapian::termcount is unsigned int.
12690
12691Sun Jun 21 12:09:55 GMT 2009  Olly Betts <olly@survex.com>
12692
12693	* backends/chert/chert_check.cc,backends/chert/chert_table.cc,
12694	  backends/chert/chert_table.h: Replace duplicated macros with
12695	  a single version in chert_table.h, and use DIR_START instead of
12696	  a literal 11 in that header.
12697	* backends/chert/chert_table.h: Add more assertions.  Use
12698	  BYTES_PER_BLOCK_NUMBER instead of a literal 4 in more places.
12699
12700Sat Jun 20 07:38:56 GMT 2009  Olly Betts <olly@survex.com>
12701
12702	* backends/chert/chert_table.cc,backends/flint/flint_table.cc: Fix
12703	  misspelling in comment (neccessary -> necessary).
12704
12705Sat Jun 20 07:38:06 GMT 2009  Olly Betts <olly@survex.com>
12706
12707	* backends/chert/chert_table.cc: Don't reconstruct Item(p, c) when we
12708	  already have it as a local variable.
12709
12710Wed Jun 17 01:23:16 GMT 2009  Olly Betts <olly@survex.com>
12711
12712	* common/str.cc: Fix potential warning in signed version of str().
12713
12714Tue Jun 16 11:20:43 GMT 2009  Olly Betts <olly@survex.com>
12715
12716	* tests/harness/testsuite.cc,tests/harness/testsuite.h: Factor out
12717	  writing out what was sent to tout and clearing it into a new
12718	  method test_driver::write_and_clear_tout().
12719	* tests/harness/testsuite.cc: Prefer string() to "".  When sending a
12720	  colour change code, do it before the preceding space when that allows
12721	  string literals to be merged.  Always give the full exception message
12722	  (was conditional on --verbose).  Tidy up output for reporting the
12723	  various different exception types and other failures to give more
12724	  consistent output.
12725
12726Tue Jun 16 11:01:14 GMT 2009  Olly Betts <olly@survex.com>
12727
12728	* tests/harness/scalability.cc: Increase the number of tests until the
12729	  first sample takes more than 0.001 seconds to avoid trying to base
12730	  calculations on a length of time we probably can't reliably measure
12731	  to start with.
12732
12733Tue Jun 16 10:58:34 GMT 2009  Olly Betts <olly@survex.com>
12734
12735	* tests/harness/cputimer.cc: Don't bother trying to count CPU time
12736	  for child processes, as it's hard to ensure that the child processes
12737	  have finished with the current framework, and just counting time in
12738	  the current process checks most things (the local backend tests cover
12739	  much of the work done by the server part of the remote backend).
12740
12741Tue Jun 16 02:15:31 GMT 2009  Olly Betts <olly@survex.com>
12742
12743	* tests/harness/cputimer.h: Don't need '#include <ctime>'.
12744
12745Tue Jun 16 02:10:29 GMT 2009  Olly Betts <olly@survex.com>
12746
12747	* tests/harness/cputimer.h: Fix naming of header multiple-inclusion
12748	  protection macro.
12749
12750Sun Jun 14 14:11:51 GMT 2009  Olly Betts <olly@survex.com>
12751
12752	* tests/internaltest.cc: In testcase serialisequery1, use a helper
12753	  function rather than wasting effort building a std::list with all the
12754	  testcases in just so we can iterate over them.
12755
12756Sun Jun 14 13:52:22 GMT 2009  Olly Betts <olly@survex.com>
12757
12758	* tests/harness/testsuite.cc: <iomanip> isn't used so remove it.
12759
12760Sun Jun 14 13:30:34 GMT 2009  Olly Betts <olly@survex.com>
12761
12762	* tests/harness/testsuite.h: Fix comment typo.
12763
12764Sat Jun 13 06:30:57 GMT 2009  Olly Betts <olly@survex.com>
12765
12766	* tests/api_anydb.cc: Fix reversed conditional in last but one change.
12767
12768Sat Jun 13 04:42:27 GMT 2009  Olly Betts <olly@survex.com>
12769
12770	* tests/api_anydb.cc: Use TEST_EQUAL_DOUBLE() when comparing
12771	  get_max_attained() to allow for rounding differences.
12772
12773Sat Jun 13 04:39:49 GMT 2009  Olly Betts <olly@survex.com>
12774
12775	* tests/api_anydb.cc: Use "startswith()" rather than comparing an
12776	  extracted substring.
12777
12778Fri Jun 12 12:45:37 GMT 2009  Olly Betts <olly@survex.com>
12779
12780	* tests/harness/backendmanager_remotetcp.cc: Fix the mechanism for
12781	  closing the file descriptors used by child xapian-tcpsrv processes
12782	  once they exit, which has been broken ever since it was added nearly
12783	  two years ago (sigh).  Fixes fd leaking which caused "apitest
12784	  -bremotetcp" to fail on OpenBSD (ticket#382).
12785
12786Fri Jun 12 03:37:13 GMT 2009  Olly Betts <olly@survex.com>
12787
12788	* tests/harness/backendmanager_remotetcp.cc: Fix comment typo.
12789
12790Wed Jun 10 04:29:43 GMT 2009  Olly Betts <olly@survex.com>
12791
12792	* common/serialise-double.cc,common/serialise-double.h: Relicense as
12793	  MIT/X rather than GPLv2+ as these are low level routines which other
12794	  projects may find useful.
12795
12796Tue Jun 09 14:34:20 GMT 2009  Olly Betts <olly@survex.com>
12797
12798	* NEWS: Update for 1.1.1.
12799
12800Tue May 26 14:55:05 GMT 2009  Olly Betts <olly@survex.com>
12801
12802	* configure.ac: Update version to 1.1.1.
12803
12804Tue May 26 14:49:23 GMT 2009  Olly Betts <olly@survex.com>
12805
12806	* NEWS: Lick into shape.
12807
12808Mon May 25 11:55:59 GMT 2009  Olly Betts <olly@survex.com>
12809
12810	* PLATFORMS: Sync with changes in 1.0 version.
12811
12812Mon May 25 10:57:59 GMT 2009  Olly Betts <olly@survex.com>
12813
12814	* common/weightinternal.h: Remove declarations of unimplemented
12815	  constructors (ticket#379).
12816
12817Sat May 23 16:06:05 GMT 2009  Olly Betts <olly@survex.com>
12818
12819	* NEWS: Update from 1.0.13 and ChangeLog.
12820
12821Sat May 23 15:35:39 GMT 2009  Olly Betts <olly@survex.com>
12822
12823	* HACKING: ValueIterator is now a PIMPL class like TermIterator, etc.
12824
12825Sat May 23 05:24:33 GMT 2009  Olly Betts <olly@survex.com>
12826
12827	* docs/postingsource.rst: Since we are sticking with an recursive
12828	  maxweight recalculation for now, add back a warning about the
12829	  potential overhead from calling set_maxweight() very frequently,
12830	  with an informed estimate for the worst case overhead.
12831
12832Fri May 22 11:44:04 GMT 2009  Olly Betts <olly@survex.com>
12833
12834	* backends/inmemory/inmemory_database.cc: We can trivially make
12835	  Database::metadata_keys_begin() work for inmemory in the special
12836	  case when there are no keys, so do so.
12837	* tests/api_metadata.cc: Add test coverage for this case.
12838
12839Fri May 22 09:31:07 GMT 2009  Olly Betts <olly@survex.com>
12840
12841	* configure.ac: Only bother passing -Winit-self for GCC >= 4.3, as it
12842	  doesn't do anything for GCC <= 4.4 anyway.
12843
12844Fri May 22 07:00:29 GMT 2009  Olly Betts <olly@survex.com>
12845
12846	* backends/flint/flint_version.h: Initialise filename using + not +=.
12847	  Fix odd whitespace in recent change.
12848
12849Fri May 22 05:27:56 GMT 2009  Olly Betts <olly@survex.com>
12850
12851	* AUTHORS: Update.
12852
12853Fri May 22 05:24:19 GMT 2009  Olly Betts <olly@survex.com>
12854
12855	* api/postingsource.cc,common/multimatch.h,matcher/multimatch.cc:
12856	  Replace MultiMatch::reduce_maxweight_by() with a call to
12857	  MultiMatch::recalc_maxweight() and inline the later from the header.
12858
12859Fri May 22 05:16:03 GMT 2009  Olly Betts <olly@survex.com>
12860
12861	* configure.ac: Enable more GCC warnings - "-Woverloaded-virtual" for
12862	  all versions, "-Wstrict-null-sentinel" for 4.0+, "-Wlogical-op
12863	  -Wmissing-declarations" for 4.3+.  Notably "-Wmissing-declarations"
12864	  caught that consistency2 wasn't being run.
12865
12866Fri May 22 05:15:08 GMT 2009  Olly Betts <olly@survex.com>
12867
12868	* languages/steminternal.cc,languages/steminternal.h: Inline simple
12869	  Stem::Internal::Internal() constructor from header.
12870
12871Thu May 21 16:23:26 GMT 2009  Olly Betts <olly@survex.com>
12872
12873	* tests/harness/backendmanager_remotetcp.cc: Make on_SIGCHLD() static.
12874
12875Thu May 21 16:22:56 GMT 2009  Olly Betts <olly@survex.com>
12876
12877	* tests/api_wrdb.cc: Fix testcase consistency2 to actually be run.
12878
12879Thu May 21 16:22:30 GMT 2009  Olly Betts <olly@survex.com>
12880
12881	* tests/api_transdb.cc: Add missing '#include "api_transdb.h"'.
12882
12883Thu May 21 12:58:22 GMT 2009  Olly Betts <olly@survex.com>
12884
12885	* backends/databasereplicator.cc: Don't bother to check if the
12886	  database path works in stat() and is a directory - the case we want
12887	  to be fast is when the database does exist, and if path +
12888	  "/iamflint" (or "iamchert") exists, then the check for path being a
12889	  directory is redundant.  If the path isn't a flint or chert database
12890	  then a generic message including the path seems sufficient.
12891
12892Thu May 21 09:17:15 GMT 2009  Olly Betts <olly@survex.com>
12893
12894	* backends/databasereplicator.cc,common/databasereplicator.h: Inline
12895	  empty DatabaseReplicator default ctor.
12896
12897Thu May 21 08:25:24 GMT 2009  Olly Betts <olly@survex.com>
12898
12899	* api/replication.cc: Cache the result of get_replica_path() when we
12900	  are going to need it again.
12901
12902Thu May 21 08:09:51 GMT 2009  Olly Betts <olly@survex.com>
12903
12904	* backends/chert/chert_databasereplicator.h,
12905	  backends/flint/flint_databasereplicator.h: Correct parent class name
12906	  in doxygen comments.
12907
12908Thu May 21 08:08:06 GMT 2009  Olly Betts <olly@survex.com>
12909
12910	* HACKING: Update list of Debian/Ubuntu packages needed to for a
12911	  development environment.
12912
12913Thu May 21 06:28:00 GMT 2009  Olly Betts <olly@survex.com>
12914
12915	* backends/databasereplicator.cc: Fix nested comment start introduced
12916	  by the previous commit.
12917
12918Thu May 21 06:21:39 GMT 2009  Olly Betts <olly@survex.com>
12919
12920	* api/replication.cc,backends/databasereplicator.cc,
12921	  common/databasereplicator.h: We only keep one pointer to a
12922	  DatabaseReplicator, so use AutoPtr not RefCntPtr.
12923
12924Thu May 21 05:00:17 GMT 2009  Olly Betts <olly@survex.com>
12925
12926	* api/replication.cc: Fix SEGV when calling get_description() on a
12927	  default constructed DatabaseReplica.
12928	* tests/generate-api_generated: Test DatabaseReplica (regression test
12929	  for the above bug) and SerialisationContext.   Fix @file in the
12930	  generated api_generated.cc.  Update (C) dates in generated
12931	  api_generated.cc.
12932
12933Thu May 21 03:58:59 GMT 2009  Olly Betts <olly@survex.com>
12934
12935	* tests/generate-api_generated: Call get_description() on the default
12936	  constructed object to make sure that works (and doesn't try to
12937	  dereference NULL, or fail some assertion, etc).  All currently
12938	  checked classes are fine - this is to avoid future regressions or
12939	  such problems with new classes.
12940
12941Wed May 20 14:19:54 GMT 2009  Olly Betts <olly@survex.com>
12942
12943	* net/tcpclient.cc,net/tcpserver.cc: Fix xapian-tcpsrv --interface
12944	  option to work on MacOS X (ticket#373).
12945
12946Wed May 20 13:58:09 GMT 2009  Olly Betts <olly@survex.com>
12947
12948	* api/omdatabase.cc,api/sortable-serialise.cc,backends/chert/,
12949	  backends/flint/,backends/remote/remote-database.cc,
12950	  common/serialise-double.cc,common/str.cc,
12951	  matcher/exactphrasepostlist.cc,net/remoteconnection.cc,
12952	  net/remoteserver.cc: Replace C-style casts.  Add a few missing casts.
12953	  Tweak types used in a few places.
12954
12955Wed May 20 13:55:41 GMT 2009  Olly Betts <olly@survex.com>
12956
12957	* backends/chert/chert_databasereplicator.cc,
12958	  backends/flint/flint_databasereplicator.cc: Need <cstdio> for
12959	  rename().  Replace C-style cast to off_t.
12960
12961Wed May 20 13:53:25 GMT 2009  Olly Betts <olly@survex.com>
12962
12963	* api/editdistance.cc: Make edist_state class uncopyable and
12964	  unassignable.  Initialise maxdist in the initialiser list.
12965
12966Wed May 20 11:19:53 GMT 2009  Olly Betts <olly@survex.com>
12967
12968	* languages/steminternal.cc,languages/steminternal.h: Change C-style
12969	  casts to C++-style ones.
12970
12971Wed May 20 10:40:03 GMT 2009  Olly Betts <olly@survex.com>
12972
12973	* common/str.h: Add static_cast<char>() to suppress bogus MSVC
12974	  warning (ticket#377).
12975
12976Tue May 19 15:26:39 GMT 2009  Olly Betts <olly@survex.com>
12977
12978	* backends/chert/,backends/flint/,common/rset.h,tests/api_anydb.cc:
12979	  Pass std::string by const reference rather than value (except in
12980	  a few cases where we need a modifiable copy anyway) as benchmarking
12981	  shows this is better even with GCC's reference counted std::string
12982	  implementation (ticket#140).
12983	* tests/api_anydb.cc: Use string() instead of "" for an empty string.
12984
12985Tue May 19 08:47:55 GMT 2009  Olly Betts <olly@survex.com>
12986
12987	* api/omquery.cc,include/xapian/query.h: Make Xapian::Query::MatchAll
12988	  and Xapian::Query::MatchNothing const since they're immutable.  All
12989	  the public methods are const, so this should be completely API
12990	  compatible.
12991
12992Tue May 19 06:25:26 GMT 2009  Olly Betts <olly@survex.com>
12993
12994	* include/xapian/enquire.h: Document what passing maxitems=0 to
12995	  get_mset() does.
12996
12997Mon May 18 13:32:49 GMT 2009  Olly Betts <olly@survex.com>
12998
12999	* include/xapian/database.h: Correct doxygen comments for user
13000	  metadata functions: get_metadata() can't throw UnimplementedError
13001	  but set_metadata() can.
13002	* include/xapian/database.h,tests/api_metadata.cc: Document that
13003	  metadata_keys_begin() returns an end iterator if the backend doesn't
13004	  support metadata, and add test coverage for this case.
13005	* backends/inmemory/inmemory_database.cc,
13006	  backends/inmemory/inmemory_database.h,include/xapian/database.h,
13007	  tests/api_metadata.cc,tests/harness/testrunner.cc: The test harness
13008	  didn't have the inmemory backend flagged as supporting
13009	  user-specified metadata, and so it's perhaps not a great surprise to
13010	  discover that inmemory doesn't support it fully - you can't iterate
13011	  over metadata keys, but instead get an empty iteration.  Fix this
13012	  to at least throw UnimplementedError and document that this is the
13013	  situation.
13014
13015Mon May 18 11:29:10 GMT 2009  Olly Betts <olly@survex.com>
13016
13017	* tests/Makefile.am,tests/api_metadata.cc,tests/api_wrdb.cc: Split out
13018	  tests of user metadata into their own file.
13019
13020Sun May 17 12:52:41 GMT 2009  Olly Betts <olly@survex.com>
13021
13022	* matcher/: Add a new constructor to MultiAndPostList for the "decay
13023	  from OrPostList or AndMaybePostList" case which takes the already
13024	  know max weights to avoid having to refetch them.  Also, we know
13025	  that the subpostlists of OrPostList are ordered a particular way
13026	  so can avoid needing to check the order in that case.
13027
13028Sat May 16 05:02:35 GMT 2009  Olly Betts <olly@survex.com>
13029
13030	* backends/flint/flint_version.cc: Fix comment - this file doesn't
13031	  use memcpy() now.
13032
13033Thu May 14 04:38:47 GMT 2009  Olly Betts <olly@survex.com>
13034
13035	* tests/api_percentages.cc: Remove superfluous explicit std::
13036	  qualifiers.
13037
13038Thu May 14 04:36:29 GMT 2009  Olly Betts <olly@survex.com>
13039
13040	* tests/api_percentages.cc: Update for the PostingSource
13041	  get_maxweight() API changes.
13042
13043Tue May 12 14:50:57 GMT 2009  Olly Betts <olly@survex.com>
13044
13045	* matcher/multimatch.cc: Rename "max_weight" variable to "max_possible"
13046	  since that is what it is referred to via the MSet API.
13047
13048Tue May 12 12:38:11 GMT 2009  Olly Betts <olly@survex.com>
13049
13050	* common/safeuuid.h: Fix length of buffer to lower case - it's
13051	  36, not sizeof(uuid_t).
13052
13053Tue May 12 02:49:34 GMT 2009  Olly Betts <olly@survex.com>
13054
13055	* common/safeuuid.h,configure.ac: Older versions of libuuid don't have
13056	  uuid_unparse_lower() so probe for it in configure, and if it isn't
13057	  present provide an inline version in safeuuid.h (ticket#368).
13058
13059Mon May 11 13:07:47 GMT 2009  Olly Betts <olly@survex.com>
13060
13061	* tests/api_postingsource.cc: In changemaxweightsource1, set
13062	  descending docid order so that the matcher isn't able to terminate
13063	  early after 4 documents just because weight == maxweight.
13064
13065Mon May 11 12:00:04 GMT 2009  Olly Betts <olly@survex.com>
13066
13067	* net/serialise.cc: Build up string using +=.
13068
13069Mon May 11 11:39:49 GMT 2009  Olly Betts <olly@survex.com>
13070
13071	* docs/postingsource.rst: Improve documentation for get_maxweight().
13072
13073Mon May 11 11:26:02 GMT 2009  Olly Betts <olly@survex.com>
13074
13075	* include/xapian/postingsource.h: Initialise max_weight_ to 0 in the
13076	  PostingSource constructor in case nobody else sets a value for it.
13077
13078Mon May 11 10:54:47 GMT 2009  Olly Betts <olly@survex.com>
13079
13080	* tests/api_postingsource.cc: Fix class name in FAIL_TEST message.
13081
13082Mon May 11 10:41:31 GMT 2009  Olly Betts <olly@survex.com>
13083
13084	* tests/api_postingsource.cc: Fix get_termfreq_min(), etc for
13085	  ChangeMaxweightPostingSource to return 4 not 5.
13086
13087Mon May 11 09:03:14 GMT 2009  Olly Betts <olly@survex.com>
13088
13089	* api/postingsource.cc: Remove assertion checking that set_maxweight()
13090	  doesn't set a lower weight - it legitimately can when we call init()
13091	  on a non-clone-able PostingSource for reuse.
13092
13093Mon May 11 03:12:00 GMT 2009  Olly Betts <olly@survex.com>
13094
13095	* api/postingsource.cc,common/multimatch.h,docs/postingsource.rst,
13096	  include/xapian/postingsource.h,matcher/externalpostlist.cc,
13097	  matcher/externalpostlist.h,matcher/msetpostlist.cc,
13098	  tests/api_postingsource.cc: Replace PostingSource's
13099	  notify_new_maxweight() and virtual get_maxweight() mechanism with a
13100	  non-virtual set_maxweight() and get_maxweight().  Currently the
13101	  plumbing at the matcher end is much as before, but this API seems
13102	  more obvious to the user and will allow the matcher to simply reduce
13103	  its maximum weight value rather than having to recursively call
13104	  recalc_maxweight() in response to this situation (ticket#340).
13105
13106Mon May 11 02:38:26 GMT 2009  Olly Betts <olly@survex.com>
13107
13108	* docs/postingsource.rst: Fix a typo and reword to avoid "namespaced".
13109
13110Mon May 11 02:30:59 GMT 2009  Olly Betts <olly@survex.com>
13111
13112	* matcher/msetpostlist.cc: Fix typo - MSetPostList::get_maxweight()
13113	  with a sort ordered primarily by decreasing relevance was returning
13114	  the docid for the maxweight!  This could have led to wrong results
13115	  when searching multiple databases with the remote backend, but
13116	  probably usually didn't matter as with BM25 the weights are usually
13117	  small (often all < 1) while docids are inevitably >= 1.  No
13118	  regression test for this (currently anyway).
13119
13120Sun May 10 07:49:11 GMT 2009  Olly Betts <olly@survex.com>
13121
13122	* backends/dbfactory.cc: Fix comment typo.
13123
13124Sat May 09 14:15:38 GMT 2009  Olly Betts <olly@survex.com>
13125
13126	* tests/api_collapse.cc,tests/perftest/runprocess.cc: Remove unused
13127	  include of <iostream>.
13128
13129Sat May 09 14:03:34 GMT 2009  Olly Betts <olly@survex.com>
13130
13131	* api/omquery.cc,matcher/andnotpostlist.cc,
13132	  queryparser/termgenerator_internal.cc,tests/api_wrdb.cc: Remove
13133	  unused inclusions of <algorithm>.
13134
13135Sat May 09 13:47:54 GMT 2009  Olly Betts <olly@survex.com>
13136
13137	* matcher/multimatch.cc: Remove unused inclusion of <queue>.
13138
13139Sat May 09 13:38:02 GMT 2009  Olly Betts <olly@survex.com>
13140
13141	* api/omquery.cc,api/omqueryinternal.cc,api/replication.cc,
13142	  backends/alltermslist.cc,backends/chert/chert_table.cc,
13143	  backends/flint/flint_table.cc,bin/xapian-compact.cc,
13144	  common/bitstream.cc,common/inmemory_positionlist.h,
13145	  common/positionlist.h,matcher/localmatch.h,matcher/queryoptimiser.cc,
13146	  matcher/queryoptimiser.h,tests/api_wrdb.cc: Remove unused inclusions
13147	  of <list>, <map>, <string>, and <vector>.
13148
13149Sat May 09 12:48:18 GMT 2009  Olly Betts <olly@survex.com>
13150
13151	* api/documentvaluelist.cc,matcher/queryoptimiser.cc: Remove unused
13152	  '#include "autoptr.h"'.
13153
13154Sat May 09 09:41:03 GMT 2009  Olly Betts <olly@survex.com>
13155
13156	* queryparser/queryparser.lemony,queryparser/termgenerator.cc,
13157	  weight/bm25weight.cc,weight/boolweight.cc,weight/tradweight.cc:
13158	  Remove unneeded explicit "std::" qualifiers.
13159
13160Sat May 09 09:35:32 GMT 2009  Olly Betts <olly@survex.com>
13161
13162	* weight/weight.cc: Doesn't use '#include "autoptr.h"'.
13163
13164Fri May 08 19:59:00 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13165
13166	* configure.ac: Change source file which autoconf looks for, since
13167	  I've just removed the old one that it looked for!
13168
13169Fri May 08 19:28:31 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13170
13171	* matcher/andmaybepostlist.cc,matcher/branchpostlist.h: Call
13172	  check() instead of skip_to() on the optional branch of AND_MAYBE.
13173	  This can be much faster if that branch is a posting source.
13174
13175Fri May 08 18:31:01 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13176
13177	* matcher/: Remove AndPostList, in favour of MultiAndPostList.
13178	  AndPostList was only used as a decay product (by AndMaybePostList
13179	  and OrPostList); for most queries, MultiAnd has pretty much
13180	  indistinguishable performance as far as I can test; however, it
13181	  uses check() when possible, which makes performance much better
13182	  with searches involving external posting sources.  Removal also
13183	  reduces the amount of code cluttering up the caches during a
13184	  search, so may help speed things up in some other situations.
13185
13186Fri May 08 16:00:42 GMT 2009  Olly Betts <olly@survex.com>
13187
13188	* api/postingsource.cc,backends/inmemory/inmemory_database.cc,
13189	  examples/delve.cc,include/xapian/postingsource.h: Don't store an
13190	  end iterator in a variable just to compare against it - it's now
13191	  definitely more efficient to compare against the return value of
13192	  the relevant _end() method.
13193
13194Fri May 08 15:44:07 GMT 2009  Olly Betts <olly@survex.com>
13195
13196	* api/valueiterator.cc,include/xapian/database.h,
13197	  include/xapian/document.h,include/xapian/valueiterator.h: Create a
13198	  new proxy object class ValueIteratorEnd_ which is returned instead
13199	  of ValueIterator(NULL) for end iterators.  This class will be
13200	  converted to ValueIterator(NULL) if assigned to or passed as
13201	  ValueIterator, but operator== and operator!= are overloaded to
13202	  handle it directly which means that the compiler no longer calls
13203	  ~ValueIterator for each call which returns ValueIterator(NULL).
13204
13205Fri May 08 15:42:12 GMT 2009  Olly Betts <olly@survex.com>
13206
13207	* backends/chert/chert_values.cc: Swap two statements for cosmetic
13208	  reasons.
13209
13210Fri May 08 14:42:49 GMT 2009  Olly Betts <olly@survex.com>
13211
13212	* api/postingsource.cc,include/xapian/postingsource.h: It is actually
13213	  better not to store the end iterator in a member variable - if we
13214	  explicitly call db.postlist_end(string()) then that just gets
13215	  optimised to PostingSource(NULL).
13216
13217Fri May 08 14:02:21 GMT 2009  Olly Betts <olly@survex.com>
13218
13219	* tests/api_postingsource.cc: We've decided that "going back" with
13220	  skip_to() or check() should have unspecified behaviour, so stop
13221	  testing how this case behaves!
13222
13223Fri May 08 12:37:33 GMT 2009  Olly Betts <olly@survex.com>
13224
13225	* common/Makefile.mk: Ship common/win32_uuid.cc and common/win32_uuid.h
13226	  (ticket#367).
13227
13228Fri May 08 12:30:45 GMT 2009  Olly Betts <olly@survex.com>
13229
13230	* tests/harness/cputimer.cc: Fix typo in the "ftime" case.
13231
13232Fri May 08 10:25:37 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13233
13234	* matcher/andpostlist.cc: Fix a swap which was the wrong way round,
13235	  so that we call next() on the subpostlist with the lower
13236	  frequency, rather than the one with the higher frequency.  This
13237	  should improve performance in many situations, and I don't think
13238	  it's likely to slow anything down.  It also fixes some cases
13239	  where optimisation of an AND_MAYBE to an AND results in a slower
13240	  search, such that search times went down when more hits were
13241	  requested.
13242
13243Fri May 08 08:48:14 GMT 2009  Olly Betts <olly@survex.com>
13244
13245	* matcher/externalpostlist.cc: ExternalPostList::get_doclength()
13246	  should never get called, so make it "Assert(false)".
13247
13248Fri May 08 05:16:50 GMT 2009  Olly Betts <olly@survex.com>
13249
13250	* api/postingsource.cc: Another string concatention.
13251
13252Fri May 08 05:04:55 GMT 2009  Olly Betts <olly@survex.com>
13253
13254	* api/postingsource.cc: Use str() instead of om_tostring() and build
13255	  up strings using +=.
13256
13257Fri May 08 04:37:05 GMT 2009  Olly Betts <olly@survex.com>
13258
13259	* api/postingsource.cc: "using namespace std;".
13260
13261Thu May 07 16:46:14 GMT 2009  Olly Betts <olly@survex.com>
13262
13263	* matcher/: Check for collection_size == 0 up front so we don't need
13264	  to repeatedly special case it when implementing
13265	  get_termfreq_est_using_stats().
13266
13267Thu May 07 16:28:07 GMT 2009  Olly Betts <olly@survex.com>
13268
13269	* matcher/xorpostlist.cc: Fix typo bug - collection_size should be
13270	  rset_size.  This would have lead to a floating point division by
13271	  zero when XOR was used under a synonym without an RSet, but that
13272	  would just give infinity, and so just give a bogus value for the
13273	  rel_termfreq rather than aborting instantly.
13274
13275Thu May 07 16:19:52 GMT 2009  Olly Betts <olly@survex.com>
13276
13277	* HACKING: Update auto_ptr information.  Mention constructor syntax as
13278	  an alternative replacement for some C-style casts.
13279
13280Thu May 07 15:25:00 GMT 2009  Olly Betts <olly@survex.com>
13281
13282	* matcher/localmatch.cc,matcher/localmatch.h: Don't rebuild the
13283	  termname -> termfreq and weight map for every subdatabase - just do
13284	  it once for the first one.  Also eliminate a copy of this map.
13285	  This should speed up searches a little, especially those over
13286	  multiple databases.
13287
13288Thu May 07 15:01:24 GMT 2009  Olly Betts <olly@survex.com>
13289
13290	* api/omdatabase.cc,api/omqueryinternal.cc,
13291	  backends/remote/remote-database.cc,common/autoptr.h,
13292	  expand/esetinternal.cc,matcher/localmatch.cc: Make our AutoPtr just
13293	  a macro wrapper for std::auto_ptr.  Since std::auto_ptr doesn't
13294	  allow assignment from a raw pointer, this requires changing such
13295	  assignments into calls to auto_ptr::reset().
13296
13297Thu May 07 14:19:22 GMT 2009  Olly Betts <olly@survex.com>
13298
13299	* api/leafpostlist.cc: Add an assertion that the term in the stats.
13300	  Add "using namespace std;" so we can avoid explicit std:: qualifiers.
13301
13302Thu May 07 13:26:21 GMT 2009  Olly Betts <olly@survex.com>
13303
13304	* matcher/: Eliminate EmptySubMatch - we can just store NULL for a
13305	  submatch which has failed but which ErrorHandler told us to continue
13306	  without.
13307
13308Thu May 07 12:52:24 GMT 2009  Olly Betts <olly@survex.com>
13309
13310	* common/database.h: Update internal documentation comment -
13311	  Database::Internal::open_post_list() can no longer return
13312	  EmptyPostList as it is no longer a subclass of LeafPostList.
13313
13314Thu May 07 12:13:50 GMT 2009  Olly Betts <olly@survex.com>
13315
13316	* api/leafpostlist.cc,backends/chert/chert_postlist.cc,
13317	  backends/chert/chert_postlist.h,
13318	  backends/flint/flint_alldocspostlist.h,
13319	  backends/flint/flint_postlist.cc,backends/flint/flint_postlist.h,
13320	  backends/inmemory/inmemory_database.cc,
13321	  backends/inmemory/inmemory_database.h,backends/remote/net_postlist.h,
13322	  common/contiguousalldocspostlist.h,common/leafpostlist.h: Squash
13323	  TermBasedLeafPostList into LeafPostList since there are no longer
13324	  any other subclasses.
13325
13326Thu May 07 11:49:06 GMT 2009  Olly Betts <olly@survex.com>
13327
13328	* api/Makefile.mk,api/emptypostlist.cc,common/emptypostlist.h:
13329	  Reimplement EmptyPostList from scratch, and inherit from PostList
13330	  not LeafPostList.
13331
13332Thu May 07 11:19:34 GMT 2009  Olly Betts <olly@survex.com>
13333
13334	* matcher/mergepostlist.cc: Add explicit '#include "omassert.h"'.
13335
13336Thu May 07 10:28:33 GMT 2009  Olly Betts <olly@survex.com>
13337
13338	* backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h:
13339	  Subclass MultiPostList directly from PostList instead of from
13340	  LeafPostList.  This gets rid of two unused data members per
13341	  MultiPostList in exchange for having to define 5 extra "never
13342	  called" methods, but 4 of these just tailcall.
13343
13344Thu May 07 10:26:39 GMT 2009  Olly Betts <olly@survex.com>
13345
13346	* backends/inmemory/inmemory_alltermslist.cc,
13347	  backends/inmemory/inmemory_database.cc: Fix assertion failures and
13348	  a SEGV in an assertion test.
13349
13350Thu May 07 09:27:35 GMT 2009  Olly Betts <olly@survex.com>
13351
13352	* backends/inmemory/inmemory_alltermslist.cc,
13353	  backends/inmemory/inmemory_alltermslist.h,
13354	  backends/inmemory/inmemory_database.cc:
13355	  Keep a dummy entry in InMemoryDatabase::postlists so that the
13356	  implementation of InMemoryAllTermsList doesn't need a "started"
13357	  flag, and we can use an InMemoryPostList on the dummy item for
13358	  the "term not in database" case.
13359
13360Thu May 07 05:45:48 GMT 2009  Olly Betts <olly@survex.com>
13361
13362	* tests/api_backend.cc: Add tset coverage for alldocs iterator on an
13363	  empty database.
13364	* backends/inmemory/inmemory_database.cc: No need to special case an
13365	  empty database as InMemoryAllDocsPostList handles this case
13366	  correctly.
13367
13368Thu May 07 05:08:07 GMT 2009  Olly Betts <olly@survex.com>
13369
13370	* weight/weightinternal.cc: Use str() instead of om_tostring(), += to
13371	  build up strings, and fix a cut-and-paste comment error.
13372
13373Wed May 06 13:03:40 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13374
13375	* net/serialise.cc: Better serialisation - don't include the
13376	  reltermfreqs if the rset_size is 0, since they'll all be 0 too.
13377
13378Wed May 06 12:13:52 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13379
13380	* common/remoteprotocol.h,net/serialise.cc: When serialising stats,
13381	  serialise the termfreq and reltermfreq together, rather than in
13382	  separate lists.  Results in a smaller serialised form, and
13383	  matches the in-memory structure now used better. Fixes ticket
13384	  #362.  This is an incompatible remote protocol change, however,
13385	  so bump the major version to 32.
13386
13387Wed May 06 04:02:43 GMT 2009  Olly Betts <olly@survex.com>
13388
13389	* matcher/multimatch.cc: Check termfreqandwts for MatchAll queries
13390	  before we check terms from the document so that the "terminate
13391	  early once we've seen all the query terms" test when checking the
13392	  document terms can fire in this case.
13393
13394Wed May 06 03:26:05 GMT 2009  Olly Betts <olly@survex.com>
13395
13396	* matcher/multimatch.cc: Remove incorrect comment accidentally
13397	  committed in r12623.
13398
13399Wed May 06 03:18:42 GMT 2009  Olly Betts <olly@survex.com>
13400
13401	* tests/api_opsynonym.cc: Fix comment typo.
13402
13403Wed May 06 01:35:14 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13404
13405	* tests/api_postingsource.cc: changemaxweightsource1 uses
13406	  ChangeMaxweightPostingSource, which doesn't work with multi or
13407	  remote, so mark the test accordingly.
13408
13409Wed May 06 01:11:25 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13410
13411	* include/xapian/postingsource.h,api/postingsource.cc: Add
13412	  notify_new_maxweight() method to be called by subclasses when they
13413	  want to notify the matcher that their maxweight has changed
13414	  significantly.  Add ExternalPostList as a friend and add
13415	  register_externalpl() to be used to associate the ExternalPostList
13416	  with the PostingSource.
13417	* matcher/externalpostlist.cc,matcher/externalpostlist.h,
13418	  matcher/queryoptimiser.cc: Register the externalpostlist with the
13419	  PostingSource it's iterating through.  Add
13420	  ExternalPostList::notify_new_maxweight() method for
13421	  PostingSource::notify_new_maxweight() to call.
13422	* docs/postingsource.rst: Document notify_new_maxweight() and the
13423	  reasons for calling it.
13424	* tests/api_postingsource.cc: Test the handling of maxweight.
13425
13426Tue May 05 19:37:56 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13427
13428	* tests/Makefile.am,tests/api_db.cc,tests/api_postingsource.cc:
13429	  Split the tests of PostingSource subclasses out of api_db.cc; I'm
13430	  about to add some more, and bloating api_db.cc further is
13431	  unworkable.
13432
13433Tue May 05 18:23:02 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13434
13435	* docs/postingsource.rst,include/xapian/postingsource.h:
13436	  Documentation updates to describe way that init() is called
13437	  again if a PostingSource is reused.  Fixes #352.
13438
13439Tue May 05 16:05:48 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13440
13441	* tests/api_opsynonym.cc: Test that the top document has a weight
13442	  of 100%, which is should do for all the current examples here.
13443
13444Tue May 05 16:03:29 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13445
13446	* matcher/multimatch.cc: Add logging to keep track of the weights
13447	  being added to percent_scale.  If the percent_scale total is 0.0,
13448	  which can happen if the top document only matches synonym terms,
13449	  force percent_scale to 1.0, to avoid an assertion failure.
13450
13451Tue May 05 13:41:57 GMT 2009  Olly Betts <olly@survex.com>
13452
13453	* common/str.h: Fix swapped parameters in string ctor in code for
13454	  str(bool) overload which lead to us returning 48 or 49 \x01
13455	  characters instead of "0" or "1".
13456	* tests/internaltest.cc: Add regression test strbool1.
13457	* AUTHORS: Thank Peter Kelm for helping us spot this.
13458
13459Tue May 05 12:54:36 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13460
13461	Merge from opsynonym branch:
13462	* queryparser/queryparser.lemony: Use OP_SYNONYM instead of OP_OR
13463	  for synonyms, wildcards, and partial queries.
13464	* tests/queryparsertest.cc: Test use of OP_SYNONYM by query parser.
13465
13466Tue May 05 12:18:06 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13467
13468	Merge from opsynonym branch:
13469	* api/omqueryinternal.cc,include/xapian/query.h,matcher/,
13470	  weight/weight.cc: Implement a new OP_SYNONYM query operator,
13471	  which behaves similarly to OP_OR, but produces weights for the
13472	  combined set of terms as if they were a single term (by merging
13473	  their wdfs).
13474	* tests/Makefile.am,tests/api_opsynonym.cc: Add tests for the
13475	  OP_SYNONYM operator.
13476	* include/xapian/weight.h: Add a Weight::init_() method for
13477	  synonym, since there isn't a single term involved.  Also,
13478	  requires a method get_sumpart_needs_wdf_() to check if wdfs are
13479	  needed, since the synonym weight calculation requires fetching
13480	  the doclength, which is potentially expensive, in order that the
13481	  wdf returned can be clamped to a sane range.  Mark the weighting
13482	  methods which require WDF with need_stat(WDF).
13483
13484Tue May 05 12:04:33 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13485
13486	* common/remoteprotocol.h: Add comment to remind use to do the
13487	  FIXME in serialise_stats() when next breaking remote protocol
13488	  compatibility.
13489
13490Tue May 05 10:53:11 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13491
13492	* common/output.h: Add output function for TermFreqs.
13493
13494Tue May 05 08:23:28 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13495
13496	* api/leafpostlist.cc,api/postlist.cc,common/emptypostlist.h,
13497	  common/leafpostlist.h,common/postlist.h,matcher/: Add
13498	  PostList::get_termfreq_est_using_stats() method, with default
13499	  implementation which raises an InvalidOperationError.  Implement
13500	  this for those postlists which it makes sense for.  Also,
13501	  implement get_wdf() for postlists used by the matcher for
13502	  implementing various query operators.  This isn't currently used
13503	  or tested on trunk, but is used for the opsynonym branch.
13504
13505Tue May 05 07:37:04 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13506
13507	* common/rset.h,common/weightinternal.h,matcher/rset.cc,
13508	  net/serialise.cc,weight/weightinternal.cc: Store termfreqs and
13509	  reltermfreqs in a Weight::Internal in a single map; introduce a
13510	  new struct (TermFreqs) for the values stored here.
13511	  Remove now unused Xapian::TermFreqMap typedef.
13512
13513Tue May 05 07:19:19 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13514
13515	* backends/chert/chert_postlist.cc,backends/chert/chert_postlist.h,
13516	  backends/flint/flint_alldocspostlist.h,
13517	  backends/flint/flint_postlist.cc,backends/flint/flint_postlist.h,
13518	  backends/inmemory/inmemory_database.cc,
13519	  backends/inmemory/inmemory_database.h,backends/remote/net_postlist.h,
13520	  common/contiguousalldocspostlist.h,common/leafpostlist.h:
13521	  Introduce TermBasedLeafPostList, as a new common base class for
13522	  postlists which are derived from a term in the query (including
13523	  alldocs postlists which are derived from the empty term).
13524
13525Tue May 05 06:47:11 GMT 2009  Olly Betts <olly@survex.com>
13526
13527	* backends/chert/,backends/flint/flint_modifiedpostlist.cc,
13528	  backends/flint/flint_postlist.cc,backends/flint/flint_postlist.h:
13529	  Rename "tname" parameters to LeafPostList subclasses to "term".
13530	* backends/inmemory/inmemory_database.cc,
13531	  backends/inmemory/inmemory_database.h: Rename term parameter of
13532	  type InMemoryTerm to imterm ready for opsynonym branch changes.
13533
13534Tue May 05 04:51:28 GMT 2009  Olly Betts <olly@survex.com>
13535
13536	* backends/chert/chert_alldocspostlist.h,matcher/multimatch.cc:
13537	  Remove unused '#include "leafpostlist.h"'.
13538
13539Tue May 05 02:15:35 GMT 2009  Olly Betts <olly@survex.com>
13540
13541	* common/contiguousalldocspostlist.h: Wrap comment.
13542
13543Tue May 05 02:04:02 GMT 2009  Olly Betts <olly@survex.com>
13544
13545	* common/Makefile.mk: Move str.h into alphabetical order.
13546
13547Mon May 04 12:04:16 GMT 2009  Olly Betts <olly@survex.com>
13548
13549	* tests/queryparsertest.cc: Rename qp_stem_scale1 to qp_scale1 as it
13550	  has no connection with stemming.  Factor out a helper function to
13551	  do the timing comparison, and update time_query_parse() to use
13552	  CPUTimer rather than OmTime.  Tweak the "fudge factor" up from
13553	  2 to 2.15 to allow for non-equal ticks due to rounding of an
13554	  interval which isn't an exact multiple of 1/CLK_TCK (ticket#308).
13555
13556Mon May 04 12:02:32 GMT 2009  Olly Betts <olly@survex.com>
13557
13558	* tests/harness/cputimer.cc: If we don't have rusage() or times(), but
13559	  do have ftime(), use that instead of time() so we at least get
13560	  subsecond resolution (as we do currently with OmTime).
13561
13562Mon May 04 03:31:51 GMT 2009  Olly Betts <olly@survex.com>
13563
13564	* docs/queryparser.html: Add examples of using a prefix on a phrase
13565	  or subexpression.
13566
13567Sun May 03 14:58:42 GMT 2009  Olly Betts <olly@survex.com>
13568
13569	* tests/api_valuestats.cc: Testcase valuestats4 requires transactions,
13570	  so indicate that and remove the explicit SKIP for inmemory.
13571
13572Sun May 03 12:34:30 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13573
13574	* common/rset.h,common/weightinternal.h,matcher/rset.cc,
13575	  weight/weightinternal.cc: Typedef std::map<string, Xapian::doccount>
13576	  as TermFreqMap; tidies up code a little here, but mainly useful
13577	  for keeping code tidy on branches/opsynonym.
13578
13579Sun May 03 11:49:08 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13580
13581	* common/multimatch.h: Remove unused include of <map>
13582
13583Sun May 03 05:23:32 GMT 2009  Olly Betts <olly@survex.com>
13584
13585	* tests/api_db.cc: Protect tests which assume Flint is enabled with
13586	  #ifdef XAPIAN_HAS_FLINT_BACKEND.
13587
13588Sat May 02 15:49:46 GMT 2009  Olly Betts <olly@survex.com>
13589
13590	* configure.ac,tests/Makefile.am,tests/api_scalability.cc,
13591	  tests/api_wrdb.cc,tests/harness/: Add new "test_scalability()" helper
13592	  function which checks that an operation scales in CPU time used in
13593	  the desired way.  Use this to reimplement bigoaddvalue (and rename
13594	  to bigoaddvalue1 for consistency).
13595
13596Fri May 01 04:58:41 GMT 2009  Olly Betts <olly@survex.com>
13597
13598	* bin/xapian-check.cc: For chert, check value stats are the correct
13599	  format and that the streamed values are consistent with their stats
13600	  (ticket#277).
13601
13602Fri May 01 04:53:22 GMT 2009  Olly Betts <olly@survex.com>
13603
13604	* api/omdocument.cc: Don't ever store empty values explicitly, which
13605	  eliminates an inconsistently handled corner case which was causing
13606	  the "value frequency" to be wrong from at least one point of view.
13607	  This is consistent with how user metadata works too.
13608	* include/xapian/document.h: Explicitly document this behaviour.
13609	* tests/api_valuestats.cc: Add regression test for the above change.
13610
13611Fri May 01 03:11:25 GMT 2009  Olly Betts <olly@survex.com>
13612
13613	* bin/xapian-check.cc: Chert doesn't store termlist entries for
13614	  documents without terms, which resulted in us reporting an error when
13615	  we found document ids in the doclength "postlist" which were greater
13616	  than any with an entry in the termlist.  Instead compare these
13617	  entries against db.get_last_docid() if we are checking a whole db
13618	  and able to call it.  If not, suppress this check.
13619
13620Thu Apr 30 15:02:41 GMT 2009  Olly Betts <olly@survex.com>
13621
13622	* common/valuestats.h: Fix comment typo.
13623
13624Tue Apr 28 14:01:41 GMT 2009  Olly Betts <olly@survex.com>
13625
13626	* api/omdatabase.cc: Use <cstdlib> rather than <stdlib.h> which means
13627	  that there's an overload for abs(long).
13628
13629Tue Apr 28 13:17:48 GMT 2009  Olly Betts <olly@survex.com>
13630
13631	* HACKING,INSTALL,configure.ac,include/xapian/deprecated.h,
13632	  include/xapian/version_h.cc,tests/harness/testsuite.cc: Actually,
13633	  let's require GCC 3.1 as doing so eliminates some preprocessor
13634	  conditionals which we aren't able to test regularly as we don't
13635	  have easy access to such old GCC versions.  GCC 3.1 is nearly 7
13636	  years old now, and GCC3 didn't get widespread use until later
13637	  versions anyway.
13638
13639Tue Apr 28 12:47:11 GMT 2009  Olly Betts <olly@survex.com>
13640
13641	* common/debuglog.h: Add missing initialisation of uncaught_exception
13642	  in a couple of places.
13643
13644Tue Apr 28 11:24:02 GMT 2009  Olly Betts <olly@survex.com>
13645
13646	* INSTALL: Note that Xapian 1.0.x should build with GCC 2.95.3.
13647
13648Tue Apr 28 11:20:51 GMT 2009  Olly Betts <olly@survex.com>
13649
13650	* HACKING,INSTALL,backends/chert/chert_database.h,
13651	  backends/flint/flint_database.h,
13652	  backends/inmemory/inmemory_database.h,configure.ac,
13653	  include/xapian/version_h.cc,tests/harness/testsuite.cc: Drop support
13654	  for GCC 2.95.3 - we now require at least 3.0.
13655
13656Mon Apr 27 12:20:25 GMT 2009  Olly Betts <olly@survex.com>
13657
13658	* include/xapian/weight.h: Add "need_stat(WDF);" for Weight subclasses
13659	  which use wdf.  Currently this is never actually checked by trunk
13660	  (so a regression test for this omission isn't really feasible), but
13661	  the opsynonym branch uses it.
13662
13663Sun Apr 26 14:47:57 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13664
13665	* weight/bm25weight.cc: Add call debugging.
13666
13667Sun Apr 26 10:57:48 GMT 2009  Olly Betts <olly@survex.com>
13668
13669	* tests/api_db.cc: stubdb6 is "inmemory" not "flint || chert || multi".
13670
13671Sun Apr 26 10:51:50 GMT 2009  Olly Betts <olly@survex.com>
13672
13673	* tests/queryparsertest.cc: Fix to build with the inmemory backend
13674	  disabled.
13675
13676Sun Apr 26 07:28:47 GMT 2009  Olly Betts <olly@survex.com>
13677
13678	* tests/generate-api_generated: Fix so generated api_generated.cc
13679	  builds with the inmemory backend disabled.
13680
13681Sun Apr 26 06:30:57 GMT 2009  Olly Betts <olly@survex.com>
13682
13683	* tests/api_anydb.cc: Fix to build with the inmemory backend disabled.
13684
13685Sat Apr 25 01:10:49 GMT 2009  Olly Betts <olly@survex.com>
13686
13687	* bin/xapian-check.cc: Fix to build with the flint and/or chert
13688	  backends disabled.
13689
13690Sat Apr 25 01:06:00 GMT 2009  Olly Betts <olly@survex.com>
13691
13692	* matcher/multimatch.cc: Fix to build with the remote backend
13693	  disabled.
13694
13695Sat Apr 25 00:57:41 GMT 2009  Olly Betts <olly@survex.com>
13696
13697	* backends/dbfactory.cc: Fix to build with the inmemory backend
13698	  disabled.
13699
13700Fri Apr 24 22:59:34 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13701
13702	* weight/weight.cc: Add debug logging to Weight::init_() methods.
13703	* net/remoteserver.cc: Fix bounds returned by Weight::Internal
13704	  object in get_mset() in remote submatches, by setting the
13705	  database used to read the bounds.
13706
13707Fri Apr 24 13:14:50 GMT 2009  Olly Betts <olly@survex.com>
13708
13709	* matcher/branchpostlist.cc,matcher/branchpostlist.h: Remove
13710	  BranchPostList::get_wdf() which isn't currently used, and isn't
13711	  wanted on branches/opsynonym.
13712
13713Fri Apr 24 12:46:18 GMT 2009  Olly Betts <olly@survex.com>
13714
13715	* queryparser/queryparser.lemony: Apply doxygen comment improvement
13716	  from branches/opsynonym.
13717
13718Fri Apr 24 12:31:15 GMT 2009  Olly Betts <olly@survex.com>
13719
13720	* matcher/localmatch.cc: Apply assertion and debug logging
13721	  improvements from branches/opsynonym.
13722
13723Thu Apr 23 06:16:05 GMT 2009  Olly Betts <olly@survex.com>
13724
13725	* Makefile.am,configure.ac,docs/Makefile.am,tests/Makefile.am: Fix
13726	  things up so that in a bootstrapped SVN tree, automatic regeneration
13727	  of autotools-generated files uses the in-tree versions of the
13728	  autotools.
13729
13730Thu Apr 23 04:37:31 GMT 2009  Olly Betts <olly@survex.com>
13731
13732	* AUTHORS: Add another bug reporter.
13733
13734Thu Apr 23 04:26:25 GMT 2009  Olly Betts <olly@survex.com>
13735
13736	* Makefile.am,languages/Makefile.mk,queryparser/Makefile.mk,
13737	  tests/Makefile.am,tests/perftest/Makefile.mk: Don't remove any
13738	  built sources in "make clean" even under --make-maintainer-mode
13739	  as that breaks switching a tree away from maintainer-mode with:
13740	  make distclean;./configure
13741
13742Thu Apr 23 03:51:03 GMT 2009  Olly Betts <olly@survex.com>
13743
13744	* Makefile.am: Use "--coverage" instead of "-fprofile-arcs
13745	  -ftest-coverage" in the test coverage build.
13746
13747Wed Apr 22 14:32:56 GMT 2009  Olly Betts <olly@survex.com>
13748
13749	* PLATFORMS: Sync with 1.0.12; add entry for atreus for 1.1.0.
13750
13751Wed Apr 22 14:27:36 GMT 2009  Olly Betts <olly@survex.com>
13752
13753	* AUTHORS: Add more bug reporters and patch contributors.  Remove a
13754	  duplicate entry.
13755
13756Wed Apr 22 13:58:31 GMT 2009  Olly Betts <olly@survex.com>
13757
13758	* NEWS: Set release date.
13759
13760Wed Apr 22 13:36:04 GMT 2009  Olly Betts <olly@survex.com>
13761
13762	* NEWS: Update, perhaps even ready for release now.
13763
13764Wed Apr 22 11:00:50 GMT 2009  Olly Betts <olly@survex.com>
13765
13766	* NEWS: More work.
13767
13768Tue Apr 21 17:59:13 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13769
13770	* docs/queryparser.html: Add closing <code> tag.
13771
13772Tue Apr 21 11:05:17 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13773
13774	* NEWS: A few minor corrections and adjustments.
13775
13776Tue Apr 21 07:49:49 GMT 2009  Olly Betts <olly@survex.com>
13777
13778	* include/xapian/weight.h: Don't use the term "term" to talk about the
13779	  extra weight component as it already has a strong meaning in Xapian.
13780
13781Tue Apr 21 07:16:18 GMT 2009  Olly Betts <olly@survex.com>
13782
13783	* queryparser/lemon.c: Merge upstream "Check-in Number: 6451".
13784
13785Tue Apr 21 06:54:00 GMT 2009  Olly Betts <olly@survex.com>
13786
13787	* matcher/queryoptimiser.h: '#include <map>' isn't required.
13788
13789Tue Apr 21 06:45:14 GMT 2009  Olly Betts <olly@survex.com>
13790
13791	* matcher/queryoptimiser.cc,matcher/queryoptimiser.h: Eliminate
13792	  QueryOptimiser::do_leaf() as it is only called from one place
13793	  and if only two lines of code.
13794
13795Mon Apr 20 14:10:08 GMT 2009  Olly Betts <olly@survex.com>
13796
13797	* NEWS: Update from ChangeLog and start to lick into shape for a
13798	  release.
13799
13800Mon Apr 20 13:06:17 GMT 2009  Olly Betts <olly@survex.com>
13801
13802	* HACKING: XAPIAN_DEBUG_LOG=- send output to stderr, not stdout.
13803
13804Mon Apr 20 11:53:07 GMT 2009  Olly Betts <olly@survex.com>
13805
13806	* common/output.h: Add new macro XAPIAN_OUTPUT_FUNCTION_PTR and use it
13807	  so that debug logging of Xapian::Query::Internal* doesn't just
13808	  report the pointer value.
13809
13810Mon Apr 20 06:39:42 GMT 2009  Olly Betts <olly@survex.com>
13811
13812	* matcher/multimatch.cc: Apply debug logging change lifted from
13813	  branches/opsynonym.
13814
13815Mon Apr 20 05:22:24 GMT 2009  Olly Betts <olly@survex.com>
13816
13817	* tests/harness/testutils.cc: Add FIXME comments about use of internal
13818	  macro from a different header.
13819
13820Mon Apr 20 05:08:34 GMT 2009  Olly Betts <olly@survex.com>
13821
13822	* HACKING: Update release checklist.
13823
13824Sun Apr 19 14:50:08 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13825
13826	* tests/api_nodb.cc: Stick the reciprocal of "factor" into a
13827	  volatile double temporary variable to stop compiler using
13828	  extended precision calculation on x86, and coming up an answer of
13829	  exactly 1.0 when multiplying by "factor" again.
13830
13831Sun Apr 19 14:26:09 GMT 2009  Olly Betts <olly@survex.com>
13832
13833	* NEWS: Sync with 1.0.12 and update from ChangeLog.
13834
13835Sun Apr 19 12:12:19 GMT 2009  Olly Betts <olly@survex.com>
13836
13837	* AUTHORS: Update for 1.0 branch.
13838
13839Thu Apr 16 12:08:24 GMT 2009  Olly Betts <olly@survex.com>
13840
13841	* backends/chert/chert_values.cc: When copying the tail of a value
13842	  chunk because did > last_allowed_did, we don't need to check if
13843	  the docids being copied are < did, since they should all be <=
13844	  last_allowed_did, so just assert the latter.
13845
13846Tue Apr 14 20:32:41 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13847
13848	* tests/api_wrdb.cc: patch from james to move logging in
13849	  modifyvalues1 so it reports the values it's rewriting correctly,
13850	  rather than the empty string.  Also display the expected value in
13851	  tout when checking the value.  Also, pull the setting of the random
13852	  seed out to the start of the function, and set it to 7 (which
13853	  exposed the bug fixed with the previous commit, which that the old
13854	  value of 42 didn't, on my machine, at least).
13855
13856Tue Apr 14 18:12:08 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13857
13858	* backends/chert/chert_values.cc: When we move the reader to a new
13859	  chunk, write any trailing values left in it to the stream first.
13860
13861Thu Apr 09 05:01:04 GMT 2009  Olly Betts <olly@survex.com>
13862
13863	* docs/admin_notes.rst: Document the child process used for locking
13864	  which exec-s "cat" (ticket #258).
13865
13866Thu Apr 09 03:49:13 GMT 2009  Olly Betts <olly@survex.com>
13867
13868	* bin/: Use C++ forms of C headers in bin (ticket#330).
13869
13870Thu Apr 09 03:47:42 GMT 2009  Olly Betts <olly@survex.com>
13871
13872	* examples/: Use C++ forms of C headers in examples (ticket#330).
13873
13874Mon Apr 06 06:35:03 GMT 2009  Olly Betts <olly@survex.com>
13875
13876	* include/xapian/unicode.h: Fix documentation comment typos.
13877
13878Mon Apr 06 06:03:45 GMT 2009  Olly Betts <olly@survex.com>
13879
13880	* AUTHORS: Add Muayyad Alsadi for reporting #355.
13881
13882Mon Apr 06 05:59:38 GMT 2009  Olly Betts <olly@survex.com>
13883
13884	* tests/api_unicode.cc: Note which characters in the new
13885	  unicodepredicate1 testcase are new in Unicode 5.1.0.
13886
13887Sun Apr 05 14:24:47 GMT 2009  Olly Betts <olly@survex.com>
13888
13889	* include/xapian/unicode.h: Add NON_SPACING_MARK to is_wordchar() for
13890	  better tokenisation of Arabic, for example.  (ticket#355)
13891	* tests/queryparsertest.cc: Add test that this has the desired effect.
13892	* tests/api_unicode.cc: Add feature tests of Unicode::is_wordchar(),
13893	  Unicode::is_currency(), and Unicode::is_whitespace().
13894
13895Sat Apr 04 05:41:47 GMT 2009  Olly Betts <olly@survex.com>
13896
13897	* NEWS: Update from ChangeLog.
13898
13899Wed Apr 01 00:18:02 GMT 2009  Olly Betts <olly@survex.com>
13900
13901	* bin/xapian-compact.cc: Fix totlen overflow test.  Refactor lightly
13902	  to reduce indenting.
13903
13904Tue Mar 31 17:01:20 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13905
13906	* bin/xapian-compact.cc: Handle databases which contain no
13907	  documents (and hence have no METAINFO item), but do contain some
13908	  metadata (so the postlist table is not empty).  Fixes ticket
13909	  #356.
13910
13911Tue Mar 31 13:49:01 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13912
13913	* api/postingsource.cc,include/xapian/postingsource.h: Change
13914	  return types of clone() and unserialise() methods to be of the
13915	  subclass returned; this is a bit more flexible, but the main
13916	  reason is to be consistent: previously, the clone() methods
13917	  returned the subclass, but the unserialise() methods returned
13918	  PostingSource.
13919
13920Tue Mar 31 12:10:03 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13921
13922	* include/xapian/postingsource.h: Add comment on PostingSource base
13923	  class listing it as an experimental feature.
13924	* docs/deprecation.rst: Describe what "experimental" features are,
13925	  and why replication and posting sources are currently
13926	  experimental.
13927
13928Tue Mar 31 11:34:25 GMT 2009  Olly Betts <olly@survex.com>
13929
13930	* include/xapian/matchspy.h: Removed currently unused header to stop
13931	  doxygen from generating documentation for it.
13932
13933Tue Mar 31 11:27:54 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13934
13935	* docs/replication.rst,include/xapian/replication.h: Note that
13936	  replication is currently "experimental".
13937
13938Fri Mar 27 14:29:05 GMT 2009  Olly Betts <olly@survex.com>
13939
13940	* backends/chert/chert_spelling.cc,backends/chert/chert_spelling.h,
13941	  backends/flint/flint_spelling.cc,backends/flint/flint_spelling.h:
13942	  Fix WritableDatabase::remove_spelling() to not be very broken in
13943	  several ways.
13944	* tests/api_spelling.cc: Add test coverage for it.
13945
13946Fri Mar 27 10:43:34 GMT 2009  Olly Betts <olly@survex.com>
13947
13948	* xapian-config.in: Add @LIBRARY_VERSION_SUFFIX@ to -lxapian too.
13949
13950Fri Mar 27 08:22:39 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
13951
13952	* include/xapian/postingsource.h: Update documentation comments to
13953	  refer to init() instead of the old name of reset().
13954
13955Fri Mar 27 08:10:48 GMT 2009  Olly Betts <olly@survex.com>
13956
13957	* HACKING: Document the lcov make targets.
13958
13959Fri Mar 27 07:44:59 GMT 2009  Olly Betts <olly@survex.com>
13960
13961	* Makefile.am: Add two new targets to assist generating test coverage
13962	  reports with lcov: coverage-reconfigure which reruns configure in
13963	  the source tree and coverage-check which runs "make check" and
13964	  generates an HTML report in a directory called "lcov".
13965
13966Thu Mar 26 23:59:36 GMT 2009  Olly Betts <olly@survex.com>
13967
13968	* Makefile.am,m4-macros/xapian.m4,xapian-core.spec.in: Rename
13969	  xapian.m4 to xapian-1.1.m4 to avoid clash with Xapian 1.0.x.  Both
13970	  xapian.m4 and xapian-1.1.m4 will contain XO_LIB_XAPIAN, but aclocal
13971	  copes and only copies one of them.  We need to avoid incompatible
13972	  changes to XO_LIB_XAPIAN though.
13973
13974Thu Mar 26 14:29:54 GMT 2009  Olly Betts <olly@survex.com>
13975
13976	* configure.ac,include/Makefile.mk,xapian-config.in: Install headers
13977	  in $prefix/include/xapian-1.1/ so they don't clash with 1.0.
13978
13979Thu Mar 26 13:46:06 GMT 2009  Olly Betts <olly@survex.com>
13980
13981	* configure.ac: Default program suffix to -1.1 if not specified.  If
13982	  you really want no suffix, "./configure --program-suffix=" will
13983	  achieve that.
13984
13985Thu Mar 26 12:49:10 GMT 2009  Olly Betts <olly@survex.com>
13986
13987	* Makefile.am,api/Makefile.mk,backends/Makefile.mk,
13988	  backends/chert/Makefile.mk,backends/flint/Makefile.mk,
13989	  backends/inmemory/Makefile.mk,backends/multi/Makefile.mk,
13990	  backends/remote/Makefile.mk,bin/Makefile.mk,common/Makefile.mk,
13991	  configure.ac,examples/Makefile.mk,expand/Makefile.mk,
13992	  languages/Makefile.mk,matcher/Makefile.mk,net/Makefile.mk,
13993	  queryparser/Makefile.mk,tests/Makefile.am,tests/perftest/Makefile.mk,
13994	  unicode/Makefile.mk,weight/Makefile.mk,xapian-config.in,
13995	  xapian-core.spec.in: Change library name to libxapian-1.1 as a first
13996	  step towards allowing parallel installation with 1.0.x.
13997
13998Thu Mar 26 06:53:27 GMT 2009  Olly Betts <olly@survex.com>
13999
14000	* NEWS: Update from ChangeLog.
14001
14002Thu Mar 26 06:50:44 GMT 2009  Olly Betts <olly@survex.com>
14003
14004	* backends/chert/chert_values.h: Fix class name in file doc comment.
14005
14006Thu Mar 26 00:13:48 GMT 2009  Olly Betts <olly@survex.com>
14007
14008	* backends/chert/chert_database.cc,backends/flint/flint_database.cc:
14009	  Call ChertDatabase::close() rather than repeating its code.
14010
14011Wed Mar 25 17:39:01 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14012
14013	* backends/chert/chert_database.cc,backends/flint/flint_database.cc:
14014	  Release the lock when the database is closed (either due to a
14015	  call to close() or due to a serious error during modifications).
14016	  Should fix ticket #354.
14017
14018Wed Mar 25 16:42:58 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14019
14020	* tests/harness/testutils.cc: Use TEST_EQUAL_DOUBLE_ for comparison
14021	  of weights in mset, to fix test failures due to floating point
14022	  differences.  (Currently only manifests in some tests in the
14023	  matchspy branch, but it's a generally useful fix.)
14024
14025Wed Mar 25 11:44:36 GMT 2009  Olly Betts <olly@survex.com>
14026
14027	* configure.ac: Only put ANSI_CXXFLAGS in CXXFLAGS for the duration of
14028	  configure - put it in AM_CXXFLAGS for substituting so that the user
14029	  can safely override CXXFLAGS at make-time: "make CXXFLAGS=-Os"
14030
14031Wed Mar 25 10:50:44 GMT 2009  Olly Betts <olly@survex.com>
14032
14033	* configure.ac: Fix comment typo.
14034
14035Wed Mar 25 04:48:50 GMT 2009  Olly Betts <olly@survex.com>
14036
14037	* api/omdatabase.cc,backends/chert/chert_database.h,
14038	  backends/flint/flint_database.h,
14039	  backends/inmemory/inmemory_database.h,
14040	  backends/remote/remote-database.cc,common/const_database_wrapper.h,
14041	  common/database.h: Drop the default value of the lazy parameter to
14042	  Database::open_document() - it's better to force us to consider
14043	  whether a new call should be lazy or not.
14044	* common/database.h: Better description of lazy parameter.
14045	* backends/remote/remote-database.cc: Update comment about when lazy
14046	  is set to true.
14047
14048Wed Mar 25 04:20:34 GMT 2009  Olly Betts <olly@survex.com>
14049
14050	* backends/inmemory/inmemory_database.cc: Don't "return false" when
14051	  the return type is a pointer!
14052
14053Tue Mar 24 17:42:22 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14054
14055	* backends/database.cc: Open documents lazily in
14056	  collect_document().
14057
14058Tue Mar 24 11:10:57 GMT 2009  Olly Betts <olly@survex.com>
14059
14060	* backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h:
14061	  MultiPostList::read_position_list() is never used, so remove it.
14062
14063Tue Mar 24 10:04:03 GMT 2009  Olly Betts <olly@survex.com>
14064
14065	* backends/multi/multi_postlist.cc: Remove "[" and "]" from the output
14066	  of MultiPostList::get_description().  Remove excess "," from output
14067	  of MultiPostList::get_description().
14068	* tests/api_db.cc: Add some test coverage of
14069	  PostingIterator::get_wdf() and PostingIterator::get_description().
14070
14071Tue Mar 24 10:00:23 GMT 2009  Olly Betts <olly@survex.com>
14072
14073	* api/ompostlistiterator.cc: Remove "[" and "]" from
14074	  Xapian::PostingIterator::get_description() as they don't add
14075	  anything useful.
14076
14077Tue Mar 24 09:57:39 GMT 2009  Olly Betts <olly@survex.com>
14078
14079	* backends/inmemory/inmemory_database.cc: Add a space in the output
14080	  of InMemoryPostList::get_description() and
14081	  InMemoryAllDocsPostList::get_description().
14082
14083Tue Mar 24 08:52:46 GMT 2009  Olly Betts <olly@survex.com>
14084
14085	* api/leafpostlist.cc,include/xapian/weight.h,tests/api_db.cc,weight/:
14086	  Get rid of the virtual Weight::get_sumpart_needs_doclength() method
14087	  - subclasses can call need_stat(DOC_LENGTH) in their constructor if
14088	  they need doc lengths.
14089
14090Tue Mar 24 07:55:06 GMT 2009  Olly Betts <olly@survex.com>
14091
14092	* weight/weight.cc: Check stats_needed for stats which aren't just a
14093	  simple member variable lookup.
14094
14095Tue Mar 24 06:46:24 GMT 2009  Olly Betts <olly@survex.com>
14096
14097	* backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h:
14098	  MultiPostList::get_termfreq() is never used, so remove it.
14099
14100Mon Mar 23 14:09:33 GMT 2009  Olly Betts <olly@survex.com>
14101
14102	* tests/api_unicode.cc: Add test coverage for
14103	  Xapian::Unicode::append_utf8().
14104
14105Mon Mar 23 11:40:09 GMT 2009  Olly Betts <olly@survex.com>
14106
14107	* api/postingsource.cc,docs/postingsource.rst,
14108	  include/xapian/postingsource.h,matcher/externalpostlist.cc,
14109	  tests/api_db.cc,tests/api_percentages.cc,tests/api_valuestream.cc:
14110	  Rename PostingSource::reset() to PostingSource::init().
14111
14112Mon Mar 23 11:01:02 GMT 2009  Olly Betts <olly@survex.com>
14113
14114	* tests/harness/testsuite.h: Fix documentation comment in line with
14115	  the corrected --help output from "Sat Feb 21 08:18:21 GMT 2009".
14116
14117Mon Mar 23 02:24:44 GMT 2009  Olly Betts <olly@survex.com>
14118
14119	* api/omqueryinternal.cc: Fix handling of empty and single subquery
14120	  OP_NEAR and OP_PHRASE (was breaking queryparsertest).
14121
14122Sun Mar 22 10:23:37 GMT 2009  Olly Betts <olly@survex.com>
14123
14124	* backends/chert/chert_database.cc,backends/flint/flint_database.cc,
14125	  backends/inmemory/inmemory_database.cc,
14126	  backends/inmemory/inmemory_positionlist.cc,
14127	  common/inmemory_positionlist.h,docs/deprecation.rst,
14128	  tests/api_posdb.cc: Change Database::positionlist_begin() not to
14129	  throw exceptions if the term or document doesn't exist.
14130
14131Sun Mar 22 09:02:46 GMT 2009  Olly Betts <olly@survex.com>
14132
14133	* docs/deprecation.rst: Fix typo.
14134
14135Sun Mar 22 07:54:30 GMT 2009  Olly Betts <olly@survex.com>
14136
14137	* api/omqueryinternal.cc,include/xapian/query.h,tests/api_nodb.cc,
14138	  tests/api_query.cc: Fix valgrind errors on nearsubqueries1
14139	  (ticket#349) and enhance distribution of OP_NEAR/OP_PHRASE over
14140	  non-leaf subqueries to work when there are multiple non-leaf
14141	  subqueries (ticket#201).  Extend nearsubqueries1 to test that
14142	  trying to distribute OP_NEAR/OP_PHRASE over OP_NEAR/OP_PHRASE
14143	  throws UnimplementedError.
14144
14145Fri Mar 20 08:43:20 GMT 2009  Olly Betts <olly@survex.com>
14146
14147	* tests/api_query.cc: Add coverage for OP_AND with MatchNothing
14148	  subquery (new testcase matchnothing1).
14149
14150Fri Mar 20 05:16:18 GMT 2009  Olly Betts <olly@survex.com>
14151
14152	* api/omqueryinternal.cc: Fix assertions in previous check-in to
14153	  verify the right condition.  And return the simplified query in
14154	  the case the assertion would have failed, as that means a small
14155	  memory leak rather than unpredictable behaviour in a non-assertion
14156	  build.
14157
14158Fri Mar 20 04:26:29 GMT 2009  Olly Betts <olly@survex.com>
14159
14160	* api/omqueryinternal.cc: Check that end_construction() returns NULL
14161	  when unserialising queries.
14162
14163Fri Mar 20 02:51:32 GMT 2009  Olly Betts <olly@survex.com>
14164
14165	* api/omqueryinternal.cc: Fix return type of
14166	  Xapian::Query::Internal::simplify_query() in a debug build.  Since
14167	  RETURN() isn't used by this function, this is only a cosmetic issue
14168	  in the log file.
14169
14170Wed Mar 18 09:26:02 GMT 2009  Olly Betts <olly@survex.com>
14171
14172	* backends/chert/chert_database.cc,backends/flint/flint_database.cc,
14173	  docs/deprecation.rst: Move just returning an empty PositionIterator
14174	  from Database::positionlist_begin() when the docs or term isn't
14175	  present from 1.2.0 to 1.1.0 (has to be 1.1.0 or 1.3.0 really).
14176
14177Wed Mar 18 09:24:27 GMT 2009  Olly Betts <olly@survex.com>
14178
14179	* docs/glossary.rst: Chert as the default backend in 1.2.0 is pretty
14180	  much definite.
14181
14182Wed Mar 18 06:42:09 GMT 2009  Olly Betts <olly@survex.com>
14183
14184	* NEWS: Update from ChangeLog.
14185
14186Wed Mar 18 04:36:59 GMT 2009  Olly Betts <olly@survex.com>
14187
14188	* xapian-core.spec.in: Tweak reference to "1.1.0 branch" to make more
14189	  sense.
14190
14191Wed Mar 18 04:30:18 GMT 2009  Olly Betts <olly@survex.com>
14192
14193	* api/postingsource.cc,include/xapian/postingsource.h: Remove the
14194	  optional "max_weight_" parameter to ValuePostingSource's ctor.
14195	* include/xapian/postingsource.h: Correct a few errors in
14196	  documentation comments.
14197
14198Wed Mar 18 04:29:22 GMT 2009  Olly Betts <olly@survex.com>
14199
14200	* docs/postingsource.rst: "ctx" -> "context" in example code.
14201
14202Tue Mar 17 23:45:52 GMT 2009  Olly Betts <olly@survex.com>
14203
14204	* backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: If the
14205	  locking attempt fails after we spawn the child process, call
14206	  waitpid() in the parent process to avoid creating a zombie process.
14207	* AUTHORS: Add Jim Spath for reporting this.
14208
14209Tue Mar 17 23:34:16 GMT 2009  Olly Betts <olly@survex.com>
14210
14211	* common/Makefile.mk,common/str.cc,common/str.h: New family of
14212	  overloaded str() functions for converting types to std::string.
14213	  The integer conversion are much faster than the existing
14214	  om_tostring().
14215	* common/omassert.h,common/omdebug.h: Use str() instead of
14216	  om_tostring().
14217	* common/utils.cc,common/utils.h: Make om_tostring() a macro wrapping
14218	  str() for now to avoid introducing a lot of conflicts with other
14219	  branches and unapplied patches.
14220
14221Tue Mar 17 21:28:54 GMT 2009  Olly Betts <olly@survex.com>
14222
14223	* configure.ac: Fix comment typo.
14224
14225Tue Mar 17 00:47:26 GMT 2009  Olly Betts <olly@survex.com>
14226
14227	* common/utils.cc: Fix previous change to actually compile...
14228
14229Mon Mar 16 20:10:01 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14230
14231	* common/utils.cc,common/utils.h: Add om_tostring() version of
14232	  unsigned long long int, to fix debug build on i686.
14233
14234Mon Mar 16 14:01:02 GMT 2009  Olly Betts <olly@survex.com>
14235
14236	* NEWS: Sync with 1.0.11.
14237
14238Fri Mar 13 06:59:29 GMT 2009  Olly Betts <olly@survex.com>
14239
14240	* weight/weightinternal.cc: Need "utils.h" for om_tostring().
14241
14242Fri Mar 13 05:47:24 GMT 2009  Olly Betts <olly@survex.com>
14243
14244	* include/xapian/queryparser.h: Note that QueryParser::FLAG_DEFAULT
14245	  was new in 1.0.11.
14246
14247Fri Mar 13 04:36:19 GMT 2009  Olly Betts <olly@survex.com>
14248
14249	* weight/weightinternal.cc: Implement
14250	  Weight::Internal::get_description().
14251
14252Thu Mar 12 11:57:02 GMT 2009  Olly Betts <olly@survex.com>
14253
14254	* common/output.h: Fix last commit.
14255
14256Thu Mar 12 11:29:58 GMT 2009  Olly Betts <olly@survex.com>
14257
14258	* common/output.h: Define operator<< for Xapian::Weight::Internal.
14259
14260Thu Mar 12 11:21:09 GMT 2009  Olly Betts <olly@survex.com>
14261
14262	* net/remoteserver.cc: Fix overlooked case which was still sending
14263	  REPLY_DOCLENGTH as a double.
14264
14265Wed Mar 11 22:56:59 GMT 2009  Olly Betts <olly@survex.com>
14266
14267	* backends/chert/chert_valuelist.cc: Fix comment typo.
14268
14269Wed Mar 11 22:50:49 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14270
14271	* tests/api_valuestream.cc: Enable valuestream3 for chert.
14272	* backends/chert/chert_valuelist.cc: Fix return value of
14273	  ChertValueList::check() when it needs to move to a new chunk.
14274	  Fixes valuestream3 test.
14275
14276Wed Mar 11 13:17:58 GMT 2009  Olly Betts <olly@survex.com>
14277
14278	* include/xapian/weight.h: Mark Weight::init_() methods as "@private
14279	  @internal" for doxygen API docs.
14280
14281Wed Mar 11 13:13:32 GMT 2009  Olly Betts <olly@survex.com>
14282
14283	* include/xapian/weight.h,tests/api_db.cc,tests/api_nodb.cc,
14284	  weight/bm25weight.cc,weight/boolweight.cc,weight/tradweight.cc:
14285	  Make Weight::name() return std::string to allow sane wrapping
14286	  with SWIG directors.
14287
14288Wed Mar 11 05:46:40 GMT 2009  Olly Betts <olly@survex.com>
14289
14290	* api/,backends/chert/,backends/contiguousalldocspostlist.cc,
14291	  backends/flint/,backends/inmemory/inmemory_database.cc,
14292	  backends/inmemory/inmemory_database.h,
14293	  backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h,
14294	  backends/remote/,common/,docs/remote_protocol.html,
14295	  include/xapian/database.h,include/xapian/postingiterator.h,matcher/,
14296	  net/remoteserver.cc: Internally, pass around non-normalised document
14297	  lengths as Xapian::termcount (unsigned integer) not Xapian::doclength
14298	  (double).
14299
14300Wed Mar 11 05:25:40 GMT 2009  Olly Betts <olly@survex.com>
14301
14302	* tests/api_anydb.cc: Use TEST_REL; wrap long comment.
14303
14304Wed Mar 11 04:52:41 GMT 2009  Olly Betts <olly@survex.com>
14305
14306	* Makefile.am,api/,backends/chert/,backends/database.cc,
14307	  backends/flint/flint_database.cc,backends/flint/flint_database.h,
14308	  backends/inmemory/inmemory_database.cc,
14309	  backends/inmemory/inmemory_database.h,
14310	  backends/remote/remote-database.cc,common/,docs/remote_protocol.html,
14311	  examples/delve.cc,include/Makefile.mk,include/xapian.h,
14312	  include/xapian/database.h,include/xapian/enquire.h,
14313	  include/xapian/weight.h,matcher/,net/remoteserver.cc,
14314	  net/serialise.cc,tests/,weight/: Reimplementation of weighting
14315	  schemes which allows user subclasses to access the same stats which
14316	  built in schemes can (bug#213) and which also can use lower and
14317	  upper bounds of doclength and upper bounds on wdf to give a tighter
14318	  maxweight, which should allow the matcher weight-based optimisations
14319	  to be more effective.  Chert now tracks doclength bounds and a
14320	  global (rather than per term) bound on wdf.  Other backends
14321	  return much less good bounds, but these still lead to better
14322	  maxweight bounds.
14323
14324Wed Mar 11 00:13:24 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14325
14326	* include/xapian/query.h: Rename parameter name from "ctx" to the
14327	  more human-friendly "context".
14328
14329Tue Mar 10 14:03:33 GMT 2009  Olly Betts <olly@survex.com>
14330
14331	* tests/harness/testutils.cc: If mset_range_is_same_percents() fails
14332	  because the percentages differ, report what they were to tout.
14333
14334Mon Mar 09 12:27:28 GMT 2009  Olly Betts <olly@survex.com>
14335
14336	* matcher/localmatch.cc: Remove special case handling for empty string
14337	  being returned from the TermIterator returned by
14338	  Query::Internal::get_terms() as this should no longer happen.
14339
14340Mon Mar 09 12:09:21 GMT 2009  Olly Betts <olly@survex.com>
14341
14342	* api/omqueryinternal.cc: Don't return "" from a TermIterator from
14343	  Query::get_terms_begin() (happened when Query contained or was
14344	  Query::MatchAll).
14345	* tests/Makefile.am,tests/api_query.cc: Add regression testcase
14346	  queryterms1.
14347
14348Sun Mar 08 06:16:24 GMT 2009  Olly Betts <olly@survex.com>
14349
14350	* tests/api_backend.cc: Add check that backends don't truncate total
14351	  document length to 32 bits.
14352
14353Sun Mar 08 06:02:43 GMT 2009  Olly Betts <olly@survex.com>
14354
14355	* tests/api_backend.cc: Disable lockfileumask1 on Cygwin and on OS/2.
14356
14357Sun Mar 08 05:36:54 GMT 2009  Olly Betts <olly@survex.com>
14358
14359	* matcher/extraweightpostlist.h: Add forward declaration of
14360	  Xapian::Weight since we use "Xapian::Weight *".
14361
14362Sun Mar 08 04:39:22 GMT 2009  Olly Betts <olly@survex.com>
14363
14364	* backends/chert/chert_types.h,backends/flint/flint_types.h,
14365	  bin/xapian-check-flint.cc,bin/xapian-check.cc,bin/xapian-compact.cc,
14366	  common/Makefile.mk,common/database.h,common/internaltypes.h:
14367	  Move totlen_t to a new header (internaltypes.h) to avoid needing to
14368	  pull in database.h in when we want to use it.  Also move int4 and
14369	  uint4 there to avoid duplicated definitions and abstract out a
14370	  new uint8 from defining totlen_t.
14371
14372Sun Mar 08 00:50:38 GMT 2009  Olly Betts <olly@survex.com>
14373
14374	* backends/chert/chert_database.h,backends/chert/chert_types.h,
14375	  backends/flint/flint_database.h,backends/flint/flint_types.h,
14376	  bin/xapian-check-flint.cc,bin/xapian-check.cc,bin/xapian-compact.cc,
14377	  common/database.h: Replace flint_totlen_t and chert_totlen_t with
14378	  a common totlen_t.
14379
14380Sat Mar 07 08:35:27 GMT 2009  Olly Betts <olly@survex.com>
14381
14382	* backends/chert/chert_database.cc: Wrap comment.
14383
14384Sat Mar 07 08:28:17 GMT 2009  Olly Betts <olly@survex.com>
14385
14386	* backends/inmemory/inmemory_database.h: Fix file description
14387	  ("multiple database" -> "inmemory database").
14388
14389Sat Mar 07 08:25:11 GMT 2009  Olly Betts <olly@survex.com>
14390
14391	* backends/inmemory/inmemory_database.cc,
14392	  backends/inmemory/inmemory_database.h: Store non-normalised document
14393	  lengths as Xapian::termcount (unsigned int) rather than
14394	  Xapian::doclength (double).
14395
14396Sat Mar 07 06:56:26 GMT 2009  Olly Betts <olly@survex.com>
14397
14398	* common/database.h: Removed unused forward declarations of classes.
14399
14400Sat Mar 07 06:52:11 GMT 2009  Olly Betts <olly@survex.com>
14401
14402	* common/database.h: Fix comment typo.
14403
14404Sat Mar 07 05:44:18 GMT 2009  Olly Betts <olly@survex.com>
14405
14406	* net/serialise.cc: Fix top of file to actually be a doxygen comment.
14407	  Tweak layout of definition of serialise_stats().
14408
14409Sat Mar 07 05:40:58 GMT 2009  Olly Betts <olly@survex.com>
14410
14411	* net/serialise.cc: c_str() -> data() since we don't need the
14412	  nul-termination.
14413
14414Thu Mar 05 11:49:45 GMT 2009  Olly Betts <olly@survex.com>
14415
14416	* tests/api_db.cc,tests/api_nodb.cc: Back out accidentally committed
14417	  changes 2 commits ago.
14418
14419Thu Mar 05 10:28:07 GMT 2009  Olly Betts <olly@survex.com>
14420
14421	* AUTHORS: Add Frank J. Bruzzaniti for omindex patches.
14422
14423Thu Mar 05 10:20:38 GMT 2009  Olly Betts <olly@survex.com>
14424
14425	* tests/Makefile.am: If both chert and flint are enabled, run
14426	  remoteprog_chert and remotetcp_flint but not the other two
14427	  combinations as they don't buy us any useful extra test
14428	  coverage, but cost a lot of extra time per testrun.
14429
14430Thu Mar 05 07:51:52 GMT 2009  Olly Betts <olly@survex.com>
14431
14432	* docs/deprecation.rst: Update to reflect that odd minor versions are
14433	  now development series.
14434
14435Thu Mar 05 04:20:43 GMT 2009  Olly Betts <olly@survex.com>
14436
14437	* common/serialisationcontextinternal.h: Fix forward declarations.
14438
14439Thu Mar 05 02:11:26 GMT 2009  Olly Betts <olly@survex.com>
14440
14441	* api/omdatabase.cc: "new_uuid" -> "sub_uuid" - it's not really new.
14442
14443Wed Mar 04 22:53:13 GMT 2009  Olly Betts <olly@survex.com>
14444
14445	* include/xapian/queryparser.h,include/xapian/termgenerator.h: Make
14446	  default empty std::string parameters use std::string() rather than
14447	  "".
14448
14449Wed Mar 04 16:06:11 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14450
14451	* api/omdatabase.cc: If a sub-database of a multi-database has no
14452	  uuid, we cannot return a uuid for the database, so return
14453	  string() instead.
14454	* tests/api_anydb.cc: Test for this.
14455
14456Wed Mar 04 13:45:41 GMT 2009  Olly Betts <olly@survex.com>
14457
14458	* HACKING: Conversion to C++ names for ISO C headers will happen in
14459	  1.1.x, not 1.1.0.
14460
14461Wed Mar 04 13:37:47 GMT 2009  Olly Betts <olly@survex.com>
14462
14463	* api/omdatabase.cc,backends/database.cc,
14464	  backends/remote/remote-database.cc,common/database.h,
14465	  include/xapian/database.h,net/remoteserver.cc,tests/api_anydb.cc:
14466	  Return an empty string from Database::get_uuid() when then backend
14467	  doesn't support UUIDs for consistency with flint when the database
14468	  has no UUID.  For a multiple database, build a string from the UUIDs
14469	  of each subdatabase and return this as the UUID.  If there are no
14470	  subdatabases return the empty string.
14471
14472Wed Mar 04 11:34:04 GMT 2009  Olly Betts <olly@survex.com>
14473
14474	* backends/remote/remote-database.cc,common/remoteprotocol.h,
14475	  common/remoteserver.h,docs/remote_protocol.html,net/remoteserver.cc:
14476	  Change the remote server to always default to opening a Database and
14477	  having the client request write access explicitly.  This allows a
14478	  single server to support multiple readers and one writer
14479	  simultaneously.  (bug#145)
14480	* net/remoteserver.cc,backends/remote/remote-database.cc: For constant
14481	  empty string parameters, pass string() rather than "".
14482	* common/remoteserver.h: Remove unused '#include <map>'.  Remove
14483	  'using namespace std;' and explicitly qualify the few bare mentions
14484	  of 'string'.
14485
14486Wed Mar 04 07:24:39 GMT 2009  Olly Betts <olly@survex.com>
14487
14488	* queryparser/queryparser.lt: Sync with latest upstream lempar.c
14489	  (only changes were in code which isn't in our version).
14490
14491Wed Mar 04 04:03:44 GMT 2009  Olly Betts <olly@survex.com>
14492
14493	* tests/Makefile.am,tests/api_percentages.cc,
14494	  tests/testdata/apitest_sortconsist.txt: Apply regression test patch
14495	  from bug#216.
14496
14497Wed Mar 04 03:41:49 GMT 2009  Olly Betts <olly@survex.com>
14498
14499	* include/xapian/enquire.h,matcher/multimatch.cc: Fix inconsistent
14500	  percentage scores when sorting primarily by valuei, except when
14501	  a MatchDecider is also being used; document this remaining problem
14502	  case.  (bug#216)
14503
14504Wed Mar 04 01:58:07 GMT 2009  Olly Betts <olly@survex.com>
14505
14506	* backends/chert/chert_table.cc,backends/flint/flint_table.cc: No need
14507	  to initialise inflate_zstream->next_out and avail_out twice.
14508
14509Wed Mar 04 01:16:32 GMT 2009  Olly Betts <olly@survex.com>
14510
14511	* backends/chert/chert_table.cc,backends/flint/flint_table.cc: If
14512	  deflateReset() or inflateReset() fails, just delete the zstream
14513	  take the initialisation codepath - that should mean we recover
14514	  if the stream does somehow end up in a bad state and is less
14515	  code than throwing an exception.  Annotate tests with rare()
14516	  or usual() if they are for exceptional conditions.  Fix bug
14517	  introduced by the laziness patch which was adding an int error
14518	  code to a const char * message.  If deflateInit2() or inflateInit2()
14519	  fails, delete and zero the stream so there's no risk of ending up
14520	  wedged on a partly initialised stream.
14521
14522Tue Mar 03 15:32:53 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14523
14524	* backends/chert/chert_table.cc,backends/flint/flint_table.cc:
14525	  Check for errors from deflateReset() and inflateReset() - there
14526	  shouldn't be any if we've given them a valid stream, so just
14527	  raise InternalError if we get one.
14528
14529Tue Mar 03 09:43:34 GMT 2009  Olly Betts <olly@survex.com>
14530
14531	* NEWS: Updated from ChangeLog.
14532
14533Tue Mar 03 05:52:16 GMT 2009  Olly Betts <olly@survex.com>
14534
14535	* tests/api_closedb.cc: Fix testcase closedb2 not to create a test
14536	  database named closedb3.
14537
14538Tue Mar 03 04:31:48 GMT 2009  Olly Betts <olly@survex.com>
14539
14540	* include/xapian/queryparser.h: Add QueryParser::FLAG_DEFAULT to make
14541	  it easier to add flags to those set by default.
14542	* tests/queryparsertest.cc: Use FLAG_DEFAULT in a few places to serve
14543	  as a feature test.
14544
14545Tue Mar 03 03:45:53 GMT 2009  Olly Betts <olly@survex.com>
14546
14547	* docs/index.html: Add link to new serialisation topic document.
14548	* docs/serialisation.rst: Reword to avoid pluralising class names.
14549	  Add link to postingsource document where we reference it.
14550
14551Tue Mar 03 03:35:29 GMT 2009  Olly Betts <olly@survex.com>
14552
14553	* tests/runsrv.in: Use @top_builddir@ rather than relying on it
14554	  coming from the environment.
14555
14556Tue Mar 03 03:05:47 GMT 2009  Olly Betts <olly@survex.com>
14557
14558	* tests/api_wrdb.cc: Clear tout regularly in modifyvalues1 as
14559	  otherwise the output builds up.  Some string stream implementations
14560	  get very inefficient with large strings, and also this seems to
14561	  interact badly with valgrind's leak detection resulting in the
14562	  test having to be rerun to check if it really leaks.  Prefer
14563	  tout.str(string()) to tout.str("") in existing uses too.
14564
14565Tue Mar 03 01:41:07 GMT 2009  Olly Betts <olly@survex.com>
14566
14567	* backends/flint/flint_table.cc: Update handling of shutting down
14568	  the zstream objects in the dtor to match chert.
14569
14570Mon Mar 02 23:57:26 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14571
14572	* backends/chert/chert_table.h,backends/flint/flint_table.h: Add
14573	  documentation comments for the lazy allocation methods, and
14574	  separate comments for the zstream members.
14575
14576Mon Mar 02 23:40:20 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14577
14578	* AUTHORS,backends/chert/chert_table.cc,backends/chert/chert_table.h,
14579	  backends/flint/flint_table.cc,backends/flint/flint_table.h:
14580	  Reduce allocation of zstreams by allocating them lazily, keeping
14581	  them in the table objects, and reuse them, rather than allocating
14582	  a new one each time it's wanted.  Heavily based on a patch from
14583	  Todd Lipcon.  Apparently improves performance significantly on
14584	  some systems; on my tests it has no perceptible negative impact,
14585	  but it makes sense that it could help in some situations, so
14586	  let's apply it.  Fixes #325.
14587
14588Mon Mar 02 21:10:54 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14589
14590	* docs/deprecation.rst: Deprecate Stem_get_available_languages()
14591	  from the python bindings.
14592
14593Mon Mar 02 19:56:20 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14594
14595	* common/Makefile.mk,common/const_database_wrapper.cc,
14596	  common/const_database_wrapper.h,matcher/queryoptimiser.cc: Avoid
14597	  const_cast() on Database::Internal, and exposing
14598	  compiler-dependent behaviour if non-const methods are called, by
14599	  adding a ConstDatabaseWrapper class, which is a subclass of
14600	  Database::Internal, and also takes a Database::Internal as a
14601	  parameter, to be wrapped.  This class proxies all const methods
14602	  to the wrapped Database::Internal, and raises
14603	  InvalidOperationError on non-const methods.  Fixes #332.
14604
14605Mon Mar 02 18:27:00 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14606
14607	* include/xapian/postingsource.h: Documentation comment
14608	  improvements.  Be explicit that Xapian will call reset() before
14609	  various methods, and will call next, skip_to or check before
14610	  at_end.
14611	* include/xapian/query.h: Wrap over-long line.
14612
14613Mon Mar 02 18:26:37 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14614
14615	* docs/Makefile.am,docs/serialisation.rst: Add topic document about
14616	  serialisation.
14617
14618Mon Mar 02 17:58:28 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14619
14620	* docs/postingsource.rst: Update documentation with new design.
14621
14622Mon Mar 02 17:16:54 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14623
14624	* api/omqueryinternal.cc: Change serialisation of queries to use
14625	  encode_length() rather than om_tostring(), for a more compact and
14626	  easier to parse representation.
14627
14628Mon Mar 02 14:48:08 GMT 2009  Olly Betts <olly@survex.com>
14629
14630	* backends/multi/multi_alltermslist.cc: Fix memory leak which
14631	  was causing allterms6 to fail.
14632
14633Mon Mar 02 14:15:11 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14634
14635	* matcher/externalpostlist.cc: Fix memory leak in external source
14636	  postlist (fixes fixedweightsource1).
14637
14638Mon Mar 02 13:41:29 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14639
14640	* api/postingsource.cc: Don't set max_weight in
14641	  ValueMapPostingSource::set_default_weight() - it's set in
14642	  reset() before being used, and it's not been set here yet, so
14643	  accessing it in std::max() was making valgrind complain.
14644
14645Mon Mar 02 12:23:01 GMT 2009  Olly Betts <olly@survex.com>
14646
14647	* HACKING,configure.ac,tests/runtest.in: Don't use valgrind if it's
14648	  < 3.3.0 as that's well over a year old and greatly simplifies the
14649	  configure tests.  Fix options passed to valgrind so that the
14650	  testsuite harness actually reports problems detected by newer
14651	  valgrind versions.
14652
14653Mon Mar 02 10:08:25 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14654
14655	* api/,bin/xapian-tcpsrv.cc,common/Makefile.mk,common/remoteserver.h,
14656	  common/serialisationcontextinternal.h,include/Makefile.mk,
14657	  include/xapian.h,include/xapian/enquire.h,include/xapian/query.h,
14658	  include/xapian/serialisationcontext.h,net/remoteserver.cc,
14659	  tests/api_serialise.cc,tests/internaltest.cc: Add
14660	  SerialisationContext.  This object is used to register
14661	  PostingSource or Weight subclasses, so that they can be
14662	  serialised and unserialised, and therefore used in remote
14663	  searches.  Add two-argument form for Query::unserialise() which
14664	  takes a serialisation context.  Fixes #206.
14665
14666Mon Mar 02 07:13:38 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14667
14668	* include/xapian/database.h: Further tweak to wording of
14669	  documentation about close().
14670
14671Mon Mar 02 07:05:54 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14672
14673	* backends/chert/chert_table.cc,backends/chert/chert_table.h,
14674	  backends/flint/flint_table.cc,backends/flint/flint_table.h:
14675	  Factor out more "throw Xapian::DatabaseError("Database has been
14676	  closed")" bits into separate functions: knocks another 20KB off
14677	  the shared library size.
14678
14679Mon Mar 02 05:46:15 GMT 2009  Olly Betts <olly@survex.com>
14680
14681	* include/xapian/enquire.h: Document how to get all matches from
14682	  Enquire::get_mset().
14683
14684Mon Mar 02 04:52:17 GMT 2009  Olly Betts <olly@survex.com>
14685
14686	* backends/inmemory/inmemory_alltermslist.cc,
14687	  backends/inmemory/inmemory_database.cc,
14688	  backends/inmemory/inmemory_database.h: Factor out "throw
14689	  Xapian::DatabaseError("Database has been closed") into a separate
14690	  function which knocks over 100KB off the shared library size (just
14691	  over 0.5%).
14692
14693Mon Mar 02 03:57:17 GMT 2009  Olly Betts <olly@survex.com>
14694
14695	* matcher/phrasepostlist.h: Remove blank line from end of file.
14696
14697Mon Mar 02 03:52:10 GMT 2009  Olly Betts <olly@survex.com>
14698
14699	* api/replication.cc,common/msvc_posix_wrapper.cc: Cuddle braces for
14700	  "if" and "switch".
14701
14702Mon Mar 02 03:32:32 GMT 2009  Olly Betts <olly@survex.com>
14703
14704	* tests/api_closedb.cc: Use more conventional uppercase macro parameter
14705	  names.  Wrap long comments.  Remove another unused exception name.
14706
14707Mon Mar 02 03:21:39 GMT 2009  Olly Betts <olly@survex.com>
14708
14709	* api/replication.cc,backends/chert/chert_databasereplicator.cc,
14710	  backends/flint/flint_databasereplicator.cc,net/remoteserver.cc,
14711	  tests/api_closedb.cc,tests/perftest/perftest_matchdecider.cc:
14712	  Don't name the exception being caught if we don't look at it.  While
14713	  GCC doesn't currently warn "unused variable" here, I'm fairly sure
14714	  there are compilers which do.
14715
14716Mon Mar 02 03:20:52 GMT 2009  Olly Betts <olly@survex.com>
14717
14718	* tests/perftest/perftest.cc: Wrap overlong comment.
14719
14720Mon Mar 02 03:17:48 GMT 2009  Olly Betts <olly@survex.com>
14721
14722	* matcher/mergepostlist.cc: Change "do { ... } while (true);" to the
14723	  more usual "while (true) { ... }".
14724
14725Sun Mar 01 19:41:16 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14726
14727	* tests/api_closedb.cc: Merge closedb1 and closedb2 into a single
14728	  test, and add lots more checking to it.  Rename closedb3 to
14729	  closedb2, to avoid leaving an odd gap.  closedb1 needs more work,
14730	  but is a useful start; committing now, rather than once I've done
14731	  this work, since the old test is failing in buildbot, and I don't
14732	  want to get in the way of snapshot tarballs.
14733
14734Sun Mar 01 19:27:38 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14735
14736	* backends/chert/chert_table.cc,backends/flint/flint_table.cc:
14737	  Add a few guards to throw DatabaseError when the database has
14738	  been permanently closed, rather than behaving as if the table is
14739	  empty in that situation.  Also, don't delete the resources in the
14740	  table when Database::close() is called, because they may still be
14741	  used to attempt to look up cached content.
14742
14743Sun Mar 01 18:22:52 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14744
14745	* include/xapian/database.h: Update documentation comments for
14746	  reopen() and close() to document the API we're aiming for (ie,
14747	  that closed databases either return the right result from cache,
14748	  or raise a DatabaseError).
14749
14750Sun Mar 01 18:20:19 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14751
14752	* backends/inmemory/inmemory_alltermslist.cc,
14753	  backends/inmemory/inmemory_database.cc,
14754	  backends/inmemory/inmemory_database.h: Add a flag to mark whether
14755	  the database is closed, and add guards before all methods which
14756	  access content which goes away when the database is closed, to
14757	  raise an exception if the database is closed.
14758
14759Sun Mar 01 18:20:03 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14760
14761	* backends/inmemory/inmemory_document.h: Fix a typo in a comment.
14762
14763Sun Mar 01 17:49:26 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14764
14765	* matcher/mergepostlist.cc: Fix ticket #336 by calling
14766	  recalc_maxweight when a sub-posting list finishes (other than
14767	  after the last one, where there is no point in calling
14768	  recalc_maxweight).
14769
14770Sun Mar 01 15:34:46 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14771
14772	* tests/api_db.cc: Fix MyDontAskWeightPostingSource to use the
14773	  database passed to reset(), rather than one passed to its
14774	  constructor.  This allows externalsource4 to be enabled for
14775	  multidatabases.
14776
14777Sun Mar 01 13:07:37 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14778
14779	* include/xapian/postingsource.h: Add comments as discussed in
14780	  ticket #295 to make clear that in a multi-database search,
14781	  PostingSources are passed a single sub-database.  Also mention
14782	  that the returned value of clone() will be deallocated with
14783	  delete.
14784
14785Sat Feb 28 08:21:33 GMT 2009  Olly Betts <olly@survex.com>
14786
14787	* api/omdatabase.cc,backends/chert/chert_database.cc,
14788	  backends/chert/chert_database.h,backends/database.cc,
14789	  backends/flint/flint_database.cc,backends/flint/flint_database.h,
14790	  backends/inmemory/inmemory_database.cc,
14791	  backends/inmemory/inmemory_database.h,
14792	  backends/remote/remote-database.cc,common/,docs/remote_protocol.html,
14793	  examples/copydatabase.cc,include/xapian/database.h,
14794	  net/remoteserver.cc,tests/,tests/perftest/perftest_matchdecider.cc,
14795	  tests/perftest/perftest_randomidx.cc,tests/queryparsertest.cc: Add
14796	  WritableDatabase::commit() as a new, preferred alias for
14797	  WritableDatabase::flush().  (bug#266)
14798
14799Fri Feb 27 01:59:31 GMT 2009  Olly Betts <olly@survex.com>
14800
14801	* include/xapian/database.h: WritableDatabase::flush() can't throw
14802	  DatabaseLockError.  WritableDatabase's ctor can throw at least
14803	  DatabaseCorruptError or DatabaseLockError.
14804
14805Thu Feb 26 14:54:28 GMT 2009  Olly Betts <olly@survex.com>
14806
14807	* tests/api_db.cc,tests/api_valuestream.cc: Update comments about why
14808	  certain tests are disabled for certain backends.  Enable
14809	  valueweightsource5 for multi and valuemapsource2 for remote.
14810
14811Thu Feb 26 14:53:19 GMT 2009  Olly Betts <olly@survex.com>
14812
14813	* matcher/multiandpostlist.cc: Use AssertRelParanoid() instead
14814	  of AssertParanoid() so the values get reported if the assertion
14815	  fails.
14816
14817Thu Feb 26 14:18:21 GMT 2009  Olly Betts <olly@survex.com>
14818
14819	* include/xapian/postingsource.h: Tweak word order.
14820
14821Thu Feb 26 12:48:16 GMT 2009  Olly Betts <olly@survex.com>
14822
14823	* tests/api_db.cc: Make the PostingSource subclass ctors which are
14824	  only called from clone() private to set a good example for users.
14825
14826Thu Feb 26 12:28:34 GMT 2009  Olly Betts <olly@survex.com>
14827
14828	* include/xapian/postingsource.h: Fix doc comment typo.
14829
14830Thu Feb 26 12:08:40 GMT 2009  Olly Betts <olly@survex.com>
14831
14832	* api/omqueryinternal.cc,include/xapian/query.h: Avoid copying
14833	  Query::Internal objects needlessly when unserialising Query
14834	  objects.
14835
14836Thu Feb 26 10:07:18 GMT 2009  Olly Betts <olly@survex.com>
14837
14838	* tests/api_db.cc: A couple more uncollapsed tests.
14839
14840Thu Feb 26 08:28:42 GMT 2009  Olly Betts <olly@survex.com>
14841
14842	* tests/api_anydb.cc,tests/api_wrdb.cc,tests/harness/testsuite.h,
14843	  tests/perftest/perftest_matchdecider.cc,tests/queryparsertest.cc:
14844	  Update to use new TEST_REL() macro.  Remove old TEST_LESSER(),
14845	  etc.
14846
14847Thu Feb 26 07:51:43 GMT 2009  Olly Betts <olly@survex.com>
14848
14849	* matcher/multimatch.cc: Fix the new
14850	  Enquire::get_uncollapsed_matches_lower_bound(), etc methods for
14851	  certain cases.
14852	* tests/api_anydb.cc,tests/api_db.cc: Extend existing tests to also
14853	  check Enquire::get_uncollapsed_matches_lower_bound(), etc.
14854
14855Thu Feb 26 07:49:23 GMT 2009  Olly Betts <olly@survex.com>
14856
14857	* tests/harness/Makefile.mk,tests/harness/testmacros.h,
14858	  tests/harness/testsuite.h: Add new "TEST_REL" macro which can test
14859	  for a condition using any relational operator and report a failure
14860	  clearly yet concisely.
14861
14862Wed Feb 25 13:43:41 GMT 2009  Olly Betts <olly@survex.com>
14863
14864	* matcher/multimatch.cc: Fix adjustment of the uncollapse bounds and
14865	  estimate.
14866
14867Wed Feb 25 12:32:13 GMT 2009  Olly Betts <olly@survex.com>
14868
14869	* configure.ac: GCC --version keeps changing format, and as a result
14870	  we were currently getting "g++" as the version.  So change to the
14871	  (hopefully) more robust technique of using g++ -E to pull out
14872	  __GNUC__ and __GNUC_MINOR__.
14873
14874Wed Feb 25 03:14:08 GMT 2009  Olly Betts <olly@survex.com>
14875
14876	* api/omdatabase.cc: Fix for compiling with Sun's compiler
14877	  (untested as I no longer have access to it).
14878
14879Mon Feb 23 14:11:12 GMT 2009  Olly Betts <olly@survex.com>
14880
14881	* docs/sorting.rst: Clarify meaning.
14882
14883Mon Feb 23 14:04:50 GMT 2009  Olly Betts <olly@survex.com>
14884
14885	* docs/deprecation.rst,include/xapian/enquire.h,tests/: Rename the
14886	  wrongly named "ascending" parameter of the set_sort_by*() methods
14887	  of Enquire to "reverse" and deprecate the default value since
14888	  defaulting to "reverse=true" is confusing.  (bug#311)
14889
14890Mon Feb 23 01:24:23 GMT 2009  Olly Betts <olly@survex.com>
14891
14892	* api/omenquire.cc,backends/remote/remote-database.cc,
14893	  common/multimatch.h,common/omenquireinternal.h,
14894	  common/remote-database.h,docs/collapsing.rst,
14895	  docs/remote_protocol.html,include/xapian/enquire.h,matcher/,
14896	  net/remoteserver.cc,net/serialise.cc,tests/Makefile.am,
14897	  tests/api_collapse.cc: Replace the collapsing code in the matcher
14898	  with a separate Collapser class.  This new class can keep more than
14899	  one document with each collapse key.  Also track bounds and an
14900	  estimate of the total number of matches if collapsing wasn't in use.
14901
14902Mon Feb 23 00:52:16 GMT 2009  Olly Betts <olly@survex.com>
14903
14904	* api/omdatabase.cc: Fix AssertionError from apitest testcases
14905	  fixedweightsource2 and valueweightsource1.
14906
14907Sun Feb 22 11:02:24 GMT 2009  Olly Betts <olly@survex.com>
14908
14909	* backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Check for
14910	  fork failing *after* we check if we're now the child process.
14911
14912Sun Feb 22 10:06:13 GMT 2009  Olly Betts <olly@survex.com>
14913
14914	* backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Note
14915	  explicitly why we now have the strange empty if (not) checking the
14916	  return value of chdir("/") (it's actually newer glibc and
14917	  _FORTIFY_SOURCE rather than newer GCC).  Retry closing filehandle if
14918	  it returns EINTR.  Whitespace tweaks.
14919
14920Sat Feb 21 11:04:08 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14921
14922	* backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Fix
14923	  warning about ignoring result of chdir (with GCC 4.2)
14924
14925Sat Feb 21 08:18:21 GMT 2009  Olly Betts <olly@survex.com>
14926
14927	* tests/harness/testsuite.cc: Fix option usage in --help - "-x=foo"
14928	  doesn't work - "-x foo" does.
14929
14930Sat Feb 21 07:37:01 GMT 2009  Olly Betts <olly@survex.com>
14931
14932	* tests/perftest/perftest_randomidx.cc: Use two argument version of
14933	  rand_int() where applicable.  Reserve length of result string in
14934	  gen_word().  Fix truncated comment.
14935
14936Sat Feb 21 04:27:45 GMT 2009  Olly Betts <olly@survex.com>
14937
14938	* backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: In the
14939	  locking child process, before we exec /bin/cat change directory to
14940	  / so that we don't block unmounting of any partitions and close
14941	  any open file descriptors (apart from those we're using) so that if
14942	  the files are closed by our parent and deleted the disk space gets
14943	  released right away.
14944
14945Sat Feb 21 02:06:56 GMT 2009  Olly Betts <olly@survex.com>
14946
14947	* api/postingsource.cc,include/xapian/postingsource.h: Pass string as
14948	  const string &; drop trailing "_" from parameters which don't clash
14949	  with member variables; fix brace formatting on a couple of for
14950	  loops.
14951
14952Fri Feb 20 14:32:46 GMT 2009  Olly Betts <olly@survex.com>
14953
14954	* tests/api_closedb.cc: Fix testcase closedb3 not to create a test
14955	  database named closedb2.
14956
14957Fri Feb 20 01:38:32 GMT 2009  Olly Betts <olly@survex.com>
14958
14959	* include/xapian/enquire.h: Documentation comment improvements.
14960
14961Wed Feb 18 06:48:43 GMT 2009  Olly Betts <olly@survex.com>
14962
14963	* matcher/multimatch.cc: Use AssertRel rather than Assert with an
14964	  inequality so that we see the arguments if the assertion fails.
14965
14966Wed Feb 18 06:39:33 GMT 2009  Olly Betts <olly@survex.com>
14967
14968	* matcher/multimatch.cc: "items" -> "rsetitems" to distinguish from
14969	  items used elsewhere for the MSet items.
14970
14971Wed Feb 18 06:20:38 GMT 2009  Olly Betts <olly@survex.com>
14972
14973	* matcher/multimatch.cc: Drop superfluous "std::".
14974
14975Wed Feb 18 05:46:59 GMT 2009  Olly Betts <olly@survex.com>
14976
14977	* NEWS: Update from ChangeLog.
14978
14979Tue Feb 17 23:53:54 GMT 2009  Olly Betts <olly@survex.com>
14980
14981	* include/xapian/document.h,include/xapian/query.h: "xapian" ->
14982	  "Xapian".
14983
14984Tue Feb 17 15:02:49 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14985
14986	* include/xapian/document.h,include/xapian/query.h: Soften comment
14987	  warning about changes in serialised format between xapian
14988	  versions; note that the format won't change unless the remote
14989	  database protocol has changed.
14990
14991Tue Feb 17 14:59:29 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14992
14993	* api/omquery.cc: Return std::string() rather than "" to encourage
14994	  compilers to use special empty string representation.
14995
14996Mon Feb 16 14:27:28 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
14997
14998	* api/postingsource.cc: Change the name() methods of the built-in
14999	  posting sources to return a full name (starting with Xapian:: and
15000	  ending with PostingSource), as documented in the API
15001	  documentation comments.
15002
15003Mon Feb 16 13:32:39 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
15004
15005	* api/omqueryinternal.cc,common/remoteserver.h,
15006	  matcher/externalpostlist.cc,matcher/externalpostlist.h,
15007	  matcher/queryoptimiser.cc,net/remoteserver.cc,
15008	  tests/api_percentages.cc,tests/api_valuestream.cc: Add some
15009	  copyright lines missed in changeset [11838].
15010
15011Mon Feb 16 11:56:46 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
15012
15013	* matcher/queryoptimiser.cc: Add another reference from a FIXME to
15014	  a ticket number.
15015
15016Mon Feb 16 11:47:21 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
15017
15018	* api/omqueryinternal.cc: Update two FIXMEs to reference the
15019	  appropriate ticket.
15020
15021Mon Feb 16 10:11:39 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
15022
15023	* Add support for multi and remote backends with posting sources,
15024	  from ticket #295:
15025	* include/xapian/postingsource.h: Add some clarifying comments
15026	  about the interface of PostingSources, and add clone(), name(),
15027	  serialise() and unserialise() methods to PostingSources, for
15028	  remote and multidatabase support.
15029	* include/xapian/query.h: Add internal member to track ownership of
15030	  external posting sources, and update some comments.
15031	* api/postingsource.cc: Add implementations of the new methods, so
15032	  that all standard PostingSources support remote and multi
15033	  database searches.
15034	* api/omquery.cc: Clone external PostingSources if possible.
15035	* api/omqueryinternal.cc: Add serialisation and unserialisation
15036	  support for posting sources, and support for keeping track of
15037	  whether an external posting source is owned by the query object
15038	  or not (ie, whether it needs to be deleted by the destructor).
15039	* matcher/externalpostlist.cc,matcher/externalpostlist.h: (Attempt
15040	  to) clone external posting sources at start, and call the reset()
15041	  method with the database in use.  Delete the posting source
15042	  afterwards, if the clone was successful.
15043	* matcher/queryoptimiser.cc: Pass the database to ExternalPostList.
15044	  Sadly, this currently requires a const_cast.
15045	* tests/: Update tests of PostingSources to take the db parameter
15046	  on the reset() method, and to test behaviour with multi and
15047	  remote backends where appropriate.  Also, add regression test for
15048	  segfault in FixedWeightPostingSource::skip_to() when database is
15049	  empty.
15050	* net/remoteserver.cc,common/remoteserver.h: Add the built-in
15051	  posting sources to the remote server, and add
15052	  register_posting_source() to the remoteserver, for use in
15053	  xapian-tcpsrv.cc for user posting sources, analogously to
15054	  register_weighting_scheme().
15055
15056Fri Feb 13 20:09:10 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
15057
15058	* api/postingsource.cc: Fix segfaults which occur if an empty
15059	  ValuePostingSource subclass has the skip_to() or check() methods
15060	  called on it first.
15061	* tests/api_db.cc tests/api_valuestream.cc: Move valuemapsource1 to
15062	  api_valuestream.cc, since that seems like a better place (and
15063	  api_db.cc is already rather over-large).  Add regression test
15064	  "valuemapsource2" to check the behaviour of ValuePostingSource
15065	  subclasses on empty lists.
15066
15067Fri Feb 13 19:29:38 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
15068
15069	* api/postingsource.cc,include/xapian/postingsource.h: Add
15070	  ValuePostingSource, which is a base class for implementing
15071	  posting sources based on reading from a value slot.  Convert
15072	  ValueWeightPostingSource to be a subclass of this, and add
15073	  ValueMapPostingSource, which is a posting source which uses a map
15074	  to convert values to weights.
15075	* tests/api_db.cc: Add valuemapsource1, testing the
15076	  ValueMapPostingSource.
15077
15078Fri Feb 13 15:14:53 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
15079
15080	* tests/harness/index_utils.cc: Add value 13, containing the first
15081	  3 letters of the paragraph - needed for some tests I'm going to
15082	  commit shortly.
15083
15084Fri Feb 13 14:05:44 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
15085
15086	* tests/api_sorting.cc: Change slot number used to get an empty
15087	  slot from 13 to 100 - we're getting close to using slot 13 now!
15088
15089Sat Feb 07 00:31:12 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
15090
15091	* backends/chert/chert_cursor.cc,backends/flint/flint_cursor.cc:
15092	  Return accidentally changed "XAPIAN_ASSERTIONS_VERBOSE" ifdefs to
15093	  "XAPIAN_DEBUG_VERBOSE".
15094
15095Sat Feb 07 00:16:43 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
15096
15097	* api/omdocument.cc,api/omquery.cc,include/xapian/document.h,
15098	  include/xapian/query.h: Add methods for serialising documents and
15099	  queries into strings, and unserialising back from strings.  Fixes
15100	  most of ticket #206 - missing part is that serialising queries
15101	  containing PostingSources doesn't work.
15102	* tests/Makefile.am,tests/api_serialise.cc: Add tests of document
15103	  and query serialisation.
15104
15105Fri Feb 06 16:06:50 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
15106
15107	* configure.ac: Set HAVE_PREAD and HAVE_PWRITE if pread and pwrite
15108	  are found; turns use of pread and pwrite back on.  This improves
15109	  the speed of a test case of 10,000 (fully cached) searches from
15110	  1.84 seconds to 1.78 seconds for me (on ubuntu hardy) - ie, about
15111	  3% speed increase.
15112
15113Tue Jan 20 06:22:20 GMT 2009  Olly Betts <olly@survex.com>
15114
15115	* tests/api_db.cc: Prefer value.empty() to value == "".
15116
15117Mon Jan 19 05:08:48 GMT 2009  Olly Betts <olly@survex.com>
15118
15119	* AUTHORS,queryparser/Makefile.mk: Fix "#line" directives in generated
15120	  file queryparser/queryparser_internal.cc to give a relative path -
15121	  previously they had a full path when generated by a VPATH build, and
15122	  this confused GCC 2.95 and depcomp.
15123
15124Sun Jan 18 23:34:22 GMT 2009  Olly Betts <olly@survex.com>
15125
15126	* api/omenquire.cc: Throw UnimplementedError from Enquire::get_mset()
15127	  if we're asked for a percentage cutoff and to sort primarily by
15128	  value - this has never been correctly supported and it's better to
15129	  warn people than give incorrect results.
15130	* tests/api_percentages.cc: Add test that this error gets thrown.
15131
15132Tue Jan 13 08:20:36 GMT 2009  Olly Betts <olly@survex.com>
15133
15134	* common/omenquireinternal.h: Swap the items vector into the
15135	  MSet::Internal object rather than copying it to avoid the overhead
15136	  of the copy.
15137
15138Thu Jan 08 05:14:47 GMT 2009  Olly Betts <olly@survex.com>
15139
15140	* backends/chert/chert_cursor.cc,backends/chert/chert_postlist.cc,
15141	  backends/flint/flint_cursor.cc,backends/flint/flint_postlist.cc,
15142	  backends/multi/multi_postlist.cc,common/omassert.h,configure.ac,
15143	  matcher/multimatch.cc: Change preprocessor defines controlling
15144	  assertions from XAPIAN_DEBUG->XAPIAN_ASSERTIONS and
15145	  XAPIAN_DEBUG_PARANOID->XAPIAN_ASSERTIONS_PARANOID so their purpose
15146	  is clearer.
15147
15148Thu Jan 08 02:23:21 GMT 2009  Olly Betts <olly@survex.com>
15149
15150	* NEWS: Update from ChangeLog.
15151
15152Wed Jan 07 03:43:07 GMT 2009  Olly Betts <olly@survex.com>
15153
15154	* api/matchspy.cc: Fix FP rounding bug (bug#321).
15155	* AUTHORS: Add Shane Evans for bug report.
15156
15157Tue Jan 06 22:08:12 GMT 2009  Olly Betts <olly@survex.com>
15158
15159	* backends/inmemory/inmemory_database.cc: Fix comment typo.
15160
15161Tue Jan 06 21:39:30 GMT 2009  Olly Betts <olly@survex.com>
15162
15163	* api/matchspy.cc: Add assertions to try to track down what's causing
15164	  bug#321.
15165
15166Tue Jan 06 03:20:27 GMT 2009  Olly Betts <olly@survex.com>
15167
15168	* matcher/exactphrasepostlist.cc,matcher/phrasepostlist.cc: Fix
15169	  comment typos.
15170
15171Mon Jan 05 04:42:04 GMT 2009  Olly Betts <olly@survex.com>
15172
15173	* queryparser/queryparser.lt: Merge upstream "Check-in Number: 6016" -
15174	  only change is to comment noting the synced version as the changed
15175	  code has been deleted in our version.
15176
15177Fri Dec 26 15:05:05 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15178
15179	* include/xapian/database.h: Add Database.close() method, used to
15180	  close the resources (in particular, the filehandles) held by a
15181	  database before the destructor is called.  Particularly useful
15182	  for the bindings from other languages.
15183	* api/omdatabase.cc,backends/chert/chert_database.cc,
15184	  backends/chert/chert_database.h,backends/flint/flint_database.cc,
15185	  backends/flint/flint_database.h,
15186	  backends/inmemory/inmemory_database.cc,
15187	  backends/inmemory/inmemory_database.h,
15188	  backends/remote/remote-database.cc,common/database.h,
15189	  common/remote-database.h,net/remoteconnection.cc: Implementation
15190	  of close() methods.
15191	* tests/Makefile.am,tests/api_closedb.cc: New test file, for
15192	  testing the close method.  Could do with being expanded to test
15193	  many more methods of databases in the closed state, and to test
15194	  the behaviour after the close of objects created from databases
15195	  before the database was closed.
15196
15197Fri Dec 26 13:42:14 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15198
15199	* backends/chert/chert_table.cc,backends/flint/flint_table.cc:
15200	  Raise error if database has been closed permanently when
15201	  cursor_get() is called - a NULL return type isn't checked in
15202	  various places (for tables which are never closed temporarily),
15203	  so this is the easiest place to add a check to avoid a segfault
15204	  without incurring extra overhead.
15205
15206Tue Dec 23 13:42:21 GMT 2008  Olly Betts <olly@survex.com>
15207
15208	* languages/compiler/analyser.c: Fix GCC 4.3 warning.
15209
15210Tue Dec 23 06:35:11 GMT 2008  Olly Betts <olly@survex.com>
15211
15212	* PLATFORMS: Sync with 1.0 branch.
15213	* PLATFORMS: Remove 0.9.x build reports; move 1.0.x build reports
15214	  to the "old version" section.
15215	* INSTALL: Adapt old footnotes from PLATFORMS about HP's aCC and IRIX
15216	  into new paragraphs here.
15217
15218Tue Dec 23 05:19:52 GMT 2008  Olly Betts <olly@survex.com>
15219
15220	* HACKING,configure.ac: Make automake 1.10.2 a hard minimum
15221	  requirement.
15222
15223Tue Dec 23 04:36:27 GMT 2008  Olly Betts <olly@survex.com>
15224
15225	* NEWS: Update from ChangeLog.
15226
15227Mon Dec 22 16:02:58 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15228
15229	* backends/chert/chert_databasereplicator.cc,
15230	  backends/databasereplicator.cc,
15231	  backends/flint/flint_databasereplicator.cc: Fix some missing bits
15232	  for debug compilation.
15233
15234Mon Dec 22 13:30:53 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15235
15236	* api/replication.cc,backends/Makefile.mk,backends/chert/,
15237	  backends/database.cc,backends/databasereplicator.cc,backends/flint/,
15238	  common/Makefile.mk,common/database.h,common/databasereplicator.h:
15239	  Add DatabaseReplicator base class, and subclasses for flint and
15240	  chert, to hold parts of database replication code which need to
15241	  be applied to a partially replicated database which may not be a
15242	  valid database.  Move the code for applying changesets and
15243	  comparing revision numbers into here, and add code for getting
15244	  uuids which simply returns "" if the database is too broken to
15245	  have a uuid associated with it.  Update the replication code to
15246	  use DatabaseReplicator subclasses instead of Database classes
15247	  where necessary, to avoid failing if a partial database is
15248	  transmitted.  Add additional checks to ensure that the UUID of a
15249	  replicated databse is equal to that sent in the replication
15250	  protocol message introducing a full database copy; if they
15251	  differ, a retry of the copy is needed, so ensure that the next
15252	  message sent is a new copy of the database.
15253
15254Mon Dec 22 11:24:43 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15255
15256	* docs/replication.rst: Warning about a possible way to confuse the
15257	  replication process.
15258
15259Sat Dec 20 14:00:34 GMT 2008  Olly Betts <olly@survex.com>
15260
15261	* tests/api_percentages.cc: Update (C) too.
15262
15263Sat Dec 20 13:51:35 GMT 2008  Olly Betts <olly@survex.com>
15264
15265	* matcher/multimatch.cc: If we're using values for sorting and for
15266	  another purpose, cache the Document::Internal object from getting
15267	  the value for sorting like we do between other uses.
15268
15269Sat Dec 20 13:09:13 GMT 2008  Olly Betts <olly@survex.com>
15270
15271	* tests/api_percentages.cc: Make formatting of MyPostingSource code
15272	  more self-consistent.  Remove a superfluous block scope.  Wrap a
15273	  long comment.
15274
15275Sat Dec 20 12:25:40 GMT 2008  Olly Betts <olly@survex.com>
15276
15277	* exception_data.pm: Build a hash mapping a class to a list of its
15278	  subclasses and export this as %subclasses.
15279
15280Sat Dec 20 05:51:50 GMT 2008  Olly Betts <olly@survex.com>
15281
15282	* HACKING: Wrap a long line.
15283
15284Sat Dec 20 05:28:57 GMT 2008  Olly Betts <olly@survex.com>
15285
15286	* queryparser/lemon.c: Merge upstream "Check-in Number: 6016".
15287
15288Fri Dec 19 14:25:10 GMT 2008  Olly Betts <olly@survex.com>
15289
15290	* queryparser/queryparser.lt: Merge upstream "Check-in Number: 6015".
15291
15292Fri Dec 19 14:07:52 GMT 2008  Olly Betts <olly@survex.com>
15293
15294	* queryparser/queryparser.lt: Merge upstream "Check-in Number: 6006".
15295
15296Fri Dec 19 13:51:33 GMT 2008  Olly Betts <olly@survex.com>
15297
15298	* queryparser/queryparser.lt: Merge upstream "Check-in Number: 5919"
15299	  - code changes are in deleted code, so no actual code changes for
15300	  us.
15301
15302Fri Dec 19 13:46:22 GMT 2008  Olly Betts <olly@survex.com>
15303
15304	* queryparser/lemon.c: Merge upstream "Check-in Number: 6008".
15305
15306Fri Dec 19 11:15:04 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15307
15308	* tests/api_replicate.cc: Fix comment describing test.
15309
15310Thu Dec 18 23:38:50 GMT 2008  Olly Betts <olly@survex.com>
15311
15312	* backends/chert/chert_table.cc,backends/flint/flint_table.cc: Tidy up
15313	  comment wrapping and indenting of code wrapped in try blocks by the
15314	  previous commit.
15315
15316Thu Dec 18 14:26:30 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15317
15318	* backends/chert/chert_database.cc,backends/chert/chert_table.cc,
15319	  backends/chert/chert_table.h,backends/flint/flint_database.cc,
15320	  backends/flint/flint_table.cc,backends/flint/flint_table.h:
15321	  Improve resilience to unexpected errors during commit.  Firstly,
15322	  fix FlintTable and ChertTable to close the table if an error
15323	  occurs during commit - this avoids the table being left in an
15324	  inconsistent state (instead, the table is reopened in a
15325	  consistent state the next time it is used).  Secondly, add a
15326	  "permanent" close state for tables (indicated by handle being set
15327	  to -2), which will raise an error if anything tries to do an
15328	  action which needs the table to be opened, and set the tables to
15329	  this state if we fail to recover the database after error in
15330	  commit().  This prevents further actions on the database if we
15331	  couldn't recover the state (eg, because we're out of disk space),
15332	  avoiding risk of corruption.
15333
15334Thu Dec 18 01:28:06 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15335
15336	* backends/chert/chert_database.cc,backends/chert/chert_database.h,
15337	  backends/flint/flint_database.cc,backends/flint/flint_database.h:
15338	  Improve the error reporting when modifications fail and we cannot
15339	  set the revision numbers in the table to consistent values, to
15340	  report the original error too.
15341
15342Wed Dec 17 17:27:24 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15343
15344	* backends/chert/chert_table.cc,backends/flint/flint_table.cc:
15345	  Fix construction of the error message when a base can't be
15346	  re-read: used to do pointer arithmetic by mistake - now does the
15347	  correct string concatenation.
15348
15349Wed Dec 17 15:18:10 GMT 2008  Olly Betts <olly@survex.com>
15350
15351	* tests/api_valuestream.cc: Skip valuestream3 on chert for now so that
15352	  snapshots and the tinderbox work again.
15353
15354Wed Dec 17 15:17:07 GMT 2008  Olly Betts <olly@survex.com>
15355
15356	* tests/api_wrdb.cc: Need omassert.h for STATIC_ASSERT.
15357
15358Wed Dec 17 10:45:45 GMT 2008  Olly Betts <olly@survex.com>
15359
15360	* api/omqueryinternal.cc,tests/api_nodb.cc: A NEAR of 2 OR subqueries
15361	  shouldn't throw AssertionError - instead throw UnimplementedError.
15362	  Addresses the worst aspect of bug#201, but this should really be
15363	  implemented.
15364
15365Wed Dec 17 04:44:10 GMT 2008  Olly Betts <olly@survex.com>
15366
15367	* backends/chert/chert_database.cc,backends/chert/chert_database.h:
15368	  Implement ChertWritableDatabase::open_value_list().
15369	* tests/api_valuestream.cc: Add valueweightsource5 testcase which is a
15370	  regression test for bug#299 and also exercises the above method.
15371
15372Tue Dec 16 13:30:47 GMT 2008  Olly Betts <olly@survex.com>
15373
15374	* common/expandweight.h,expand/expandweight.cc: Overhaul ExpandWeight
15375	  - now we use the "official" formula and don't return terms which it
15376	  would give a negative weight to (since that means they are expected
15377	  to be harmful not helfpul).
15378	* tests/api_anydb.cc,tests/api_db.cc: Fix unwarranted assumptions in
15379	  existing testcases broken by this change.
15380
15381Thu Dec 11 01:02:41 GMT 2008  Olly Betts <olly@survex.com>
15382
15383	* examples/delve.cc: Add missing "and" to --help output.  Report
15384	  termfreq and collection freq for each term we're asked about.
15385
15386Mon Dec 08 00:52:51 GMT 2008  Olly Betts <olly@survex.com>
15387
15388	* AUTHORS: Add Daniel Andersson for reporting the flintlock
15389	  permissions issue.
15390
15391Sun Dec 07 22:50:32 GMT 2008  Olly Betts <olly@survex.com>
15392
15393	* api/sorter.cc,tests/api_sorting.cc: Fix an empty MultiValueSorter
15394	  not to SEGV/hang.
15395
15396Fri Dec 05 21:08:08 GMT 2008  Olly Betts <olly@survex.com>
15397
15398	* backends/chert/chert_database.cc,tests/api_backend.cc: Use
15399	  "flintlock" rather than "chertlock" for the lockfile in chert.
15400	  The locking is compatible and this avoids the possibility of
15401	  creating a chert and flint database in the same directory (which
15402	  will result in one being corrupt since the Btree filenames overlap).
15403
15404Thu Dec 04 09:00:04 GMT 2008  Olly Betts <olly@survex.com>
15405
15406	* backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Create
15407	  the lockfile with permissions 0666 so that the umask is honoured
15408	  just like we do for the other files (previously we used 0600).
15409	* tests/Makefile.am,tests/api_backend.cc: Add regression test
15410	  lockfileumask1.
15411
15412Thu Dec 04 08:56:54 GMT 2008  Olly Betts <olly@survex.com>
15413
15414	* tests/stemtest.cc: Use str.resize(0) instead of str = "".
15415
15416Thu Dec 04 04:56:55 GMT 2008  Olly Betts <olly@survex.com>
15417
15418	* tests/queryparsertest.cc: No need to explicitly initialise a
15419	  std::string to "".
15420
15421Thu Dec 04 04:55:47 GMT 2008  Olly Betts <olly@survex.com>
15422
15423	* tests/api_db.cc: Prefer str.empty() to str == "".
15424
15425Thu Dec 04 01:50:10 GMT 2008  Olly Betts <olly@survex.com>
15426
15427	* tests/api_wrdb.cc: Make helper function static.  Use STATIC_ASSERT
15428	  to ensure a constant is coprime with 13.
15429
15430Wed Dec 03 22:56:19 GMT 2008  Olly Betts <olly@survex.com>
15431
15432	* api/omdatabase.cc: Fix API logging.
15433
15434Wed Dec 03 03:11:45 GMT 2008  Olly Betts <olly@survex.com>
15435
15436	* INSTALL: Note that libuuid is required for Xapian 1.1.0 and higher.
15437
15438Wed Dec 03 03:10:59 GMT 2008  Olly Betts <olly@survex.com>
15439
15440	* INSTALL: Remove ':' from the end of headings.
15441
15442Mon Dec 01 08:59:04 GMT 2008  Olly Betts <olly@survex.com>
15443
15444	* HACKING: Explicitly give the commands to install the required
15445	  packages for developing on recent Debian or Ubuntu for added
15446	  convenience.  Update the Debian/Ubuntu packages needed for
15447	  documentation to reflect the change from tetex to texlive.  Fix
15448	  unfinished paragraph about requiring a newline at the end of a
15449	  source file and note that this is actually undefined behaviour in
15450	  C++.
15451
15452Sun Nov 30 21:46:59 GMT 2008  Olly Betts <olly@survex.com>
15453
15454	* bin/,examples/quest.cc,tests/harness/testsuite.cc: Pull out lists of
15455	  short options next to list of long options to help make sure they
15456	  are kept in step.  xapian-tcpsrv and xapian-progsrv now accept -w
15457	  as a short form of --writable, as their long option table had, but
15458	  their short option string didn't.
15459
15460Sun Nov 30 20:44:48 GMT 2008  Olly Betts <olly@survex.com>
15461
15462	* docs/postingsource.rst: Wrap a long line.  Note that the remote
15463	  backend isn't supported yet.
15464
15465Wed Nov 19 11:36:00 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15466
15467	* docs/postingsource.rst: Make it clear that PostingSources must
15468	  always return documents in increasing document ID order.
15469
15470Wed Nov 19 08:43:04 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15471
15472	* bin/,examples/delve.cc,examples/quest.cc,tests/harness/testsuite.cc:
15473	  Test return type of gnu_getopt_long for being != -1, rather than
15474	  == 0, since there are a wide variety of return types other than 0
15475	  which may be returned in the successful case (with the builtin
15476	  implementation in common/getopt.cc, at least).
15477
15478Tue Nov 18 23:22:09 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15479
15480	* api/omdatabase.cc: Change unknown "DATABASE" debug type to "DB".
15481
15482Mon Nov 17 13:00:12 GMT 2008  Olly Betts <olly@survex.com>
15483
15484	* docs/queryparser.html: Add link to valueranges.html.
15485
15486Fri Nov 14 22:23:10 GMT 2008  Olly Betts <olly@survex.com>
15487
15488	* NEWS: Update revision we're current to.
15489
15490Fri Nov 14 17:43:15 GMT 2008  Olly Betts <olly@survex.com>
15491
15492	* backends/chert/chert_alldocsmodifiedpostlist.cc,
15493	  backends/chert/chert_modifiedpostlist.cc,
15494	  backends/flint/flint_modifiedpostlist.cc: Correct comments.
15495
15496Fri Nov 14 17:38:33 GMT 2008  Olly Betts <olly@survex.com>
15497
15498	* tests/harness/testsuite.cc: Update comment about valgrind and C++
15499	  STL allocators.
15500
15501Fri Nov 14 17:36:47 GMT 2008  Olly Betts <olly@survex.com>
15502
15503	* bin/,examples/delve.cc,examples/quest.cc,tests/harness/testsuite.cc:
15504	  Don't compare return value of gnu_getopt_long() with EOF - it's
15505	  documented to simply return -1 or 0, and EOF requires inclusion of
15506	  stdio.h.
15507
15508Fri Nov 14 17:30:39 GMT 2008  Olly Betts <olly@survex.com>
15509
15510	* common/serialise-double.cc: Fix "#elif" with no argument to
15511	  "#else" - the former surprisingly compiles with most compilers, but
15512	  GCC 4.4 snapshots reject it.
15513
15514Fri Nov 14 16:54:15 GMT 2008  Olly Betts <olly@survex.com>
15515
15516	* common/win32_uuid.cc: A few code clean-ups.
15517
15518Fri Nov 14 13:09:16 GMT 2008  Olly Betts <olly@survex.com>
15519
15520	* common/Makefile.mk: Ship common/safeuuid.h to unbreak tarball
15521	  snapshot building.
15522
15523Sun Nov 09 13:31:19 GMT 2008  Olly Betts <olly@survex.com>
15524
15525	* api/omquery.cc,api/omqueryinternal.cc,bin/xapian-tcpsrv.cc,
15526	  common/omenquireinternal.h,matcher/,net/remoteserver.cc:
15527	  Prefer "" to <> for including Xapian API headers from within the
15528	  library.  Remove so unused xapian/enquire.h inclusions.
15529
15530Fri Nov 07 12:50:22 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15531
15532	* backends/chert/chert_version.cc,backends/chert/chert_version.h,
15533	  backends/flint/flint_version.cc,backends/flint/flint_version.h,
15534	  common/safeuuid.h,common/win32_uuid.cc,common/win32_uuid.h: Add
15535	  implementation of UUID functions for windows (using the built-in
15536	  UUID methods in the windows API). Fixes bug #303.
15537
15538Sat Nov 01 01:47:44 GMT 2008  Olly Betts <olly@survex.com>
15539
15540	* NEWS: Sync with 1.0.9 release.
15541
15542Fri Oct 31 18:55:03 GMT 2008  Olly Betts <olly@survex.com>
15543
15544	* include/xapian/database.h: Document XAPIAN_FLUSH_THRESHOLD
15545	  (bug#306).
15546
15547Fri Oct 31 18:30:11 GMT 2008  Olly Betts <olly@survex.com>
15548
15549	* configure.ac: Fix whitespace inconsistency with omega's
15550	  configure.ac.
15551
15552Fri Oct 31 10:51:06 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15553
15554	* api/postingsource.cc,include/xapian/postingsource.h: Add a new
15555	  built-in posting source, FixedWeightSource, which returns every
15556	  document in the database, but with a fixed weight.  In
15557	  particular, this is useful to add a constant weight to every item
15558	  in a subquery.  Also, in ValueWeightPostingSource, refactor the
15559	  "last_docid" member to a bool "started", since this is all it's
15560	  used for.
15561	* tests/api_db.cc: Add fixedweightsource1, to test FixedWeightSource.
15562
15563Mon Oct 27 17:05:39 GMT 2008  Olly Betts <olly@survex.com>
15564
15565	* tests/queryparsertest.cc: Skip test if the timer granularity is too
15566	  coarse in all cases.
15567
15568Mon Oct 27 08:12:16 GMT 2008  Olly Betts <olly@survex.com>
15569
15570	* tests/api_valuestream.cc: Disable valuestream1 for multi backends.
15571
15572Sun Oct 26 00:30:54 GMT 2008  Olly Betts <olly@survex.com>
15573
15574	* backends/chert/chert_valuelist.cc: Remove incorrect assertions.
15575
15576Sat Oct 25 06:18:37 GMT 2008  Olly Betts <olly@survex.com>
15577
15578	* api/Makefile.mk: Fix typo so we once again ship editdistance.h and
15579	  maptermlist.h.
15580
15581Thu Oct 23 17:34:13 GMT 2008  Olly Betts <olly@survex.com>
15582
15583	* tests/queryparsertest.cc: Skip test if the timer granularity is too
15584	  coarse.
15585
15586Tue Oct 21 05:00:59 GMT 2008  Olly Betts <olly@survex.com>
15587
15588	* NEWS: Sync with branches/1.0.
15589
15590Tue Oct 21 02:09:18 GMT 2008  Olly Betts <olly@survex.com>
15591
15592	* tests/api_valuestream.cc: Add feature test of ValueIterator::check().
15593
15594Tue Oct 21 01:36:45 GMT 2008  Olly Betts <olly@survex.com>
15595
15596	* backends/inmemory/inmemory_database.cc,
15597	  backends/inmemory/inmemory_database.h: Prefer string() to "", slot
15598	  to valno, and not using else after return.
15599
15600Tue Oct 21 01:32:37 GMT 2008  Olly Betts <olly@survex.com>
15601
15602	* tests/api_anydb.cc,tests/api_db.cc: Remove '#include <iomanip>'
15603	  which aren't used.
15604
15605Mon Oct 20 13:30:37 GMT 2008  Olly Betts <olly@survex.com>
15606
15607	* api/postingsource.cc,api/valueiterator.cc,
15608	  include/xapian/postingsource.h,include/xapian/valueiterator.h: Add
15609	  new API method ValueIterator::check() and use it in PostingIterator.
15610
15611Mon Oct 20 12:28:16 GMT 2008  Olly Betts <olly@survex.com>
15612
15613	* tests/api_valuestream.cc: Add test for skip_to() on valuestream
15614	  iterator.
15615
15616Mon Oct 20 11:19:12 GMT 2008  Olly Betts <olly@survex.com>
15617
15618	* tests/Makefile.am,tests/api_valuestream.cc: Add a simple test of
15619	  valuestream iteration.
15620
15621Mon Oct 20 11:01:26 GMT 2008  Olly Betts <olly@survex.com>
15622
15623	* tests/Makefile.am,tests/collate-test,tests/perftest/Makefile.mk:
15624	  Generate the header listing the collated tests so that we can avoid
15625	  updating its timestamp when the contents are unchanged, such as in
15626	  the common case where you modify tests but don't add, remove, or
15627	  change the conditions on any tests.
15628
15629Mon Oct 20 10:01:56 GMT 2008  Olly Betts <olly@survex.com>
15630
15631	* examples/delve.cc: Use valuestream iterator to implement "-V<slot>".
15632
15633Mon Oct 20 02:19:09 GMT 2008  Olly Betts <olly@survex.com>
15634
15635	* backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h:
15636	  Remove unused members of MultiPostList: tname, collfreq_initialised,
15637	  collfreq, and termweight.
15638
15639Sun Oct 19 14:01:15 GMT 2008  Olly Betts <olly@survex.com>
15640
15641	* api/postingsource.cc,include/xapian/postingsource.h: Update
15642	  ValueWeightPostingSource to use a value stream iterator.
15643
15644Sun Oct 19 13:53:51 GMT 2008  Olly Betts <olly@survex.com>
15645
15646	* backends/database.cc: Make use of SlowValueList by default.
15647
15648Sun Oct 19 13:47:10 GMT 2008  Olly Betts <olly@survex.com>
15649
15650	* api/documentvaluelist.cc,api/documentvaluelist.h: Fix so that a
15651	  DocumentValueList starts before the first value.
15652
15653Sun Oct 19 13:09:39 GMT 2008  Olly Betts <olly@survex.com>
15654
15655	* api/omdatabase.cc,api/omdocument.cc: Use ValueIterator() instead of
15656	  ValueIterator(NULL).
15657
15658Sun Oct 19 11:15:15 GMT 2008  Olly Betts <olly@survex.com>
15659
15660	* NEWS: Update from ChangeLog.
15661
15662Sat Oct 18 01:31:25 GMT 2008  Olly Betts <olly@survex.com>
15663
15664	* NEWS: Update from ChangeLog.
15665
15666Fri Oct 17 15:54:57 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15667
15668	* bin/xapian-compact.cc: Check that pq is not empty before calling
15669	  top() on it - if it's empty, we only have one database, so we can
15670	  use the code path which doesn't worry about merging tags.  Fixes
15671	  bug #305.
15672
15673Fri Oct 17 14:22:18 GMT 2008  Olly Betts <olly@survex.com>
15674
15675	* backends/chert/chert_valuelist.cc: Fix ChertValueList to start on
15676	  the right key.
15677
15678Fri Oct 17 14:14:14 GMT 2008  Olly Betts <olly@survex.com>
15679
15680	* include/xapian/database.h,include/xapian/document.h: Inline
15681	  ValueIterator end iterator as ValueIterator() rather than
15682	  ValueIterator(NULL).
15683	* api/valueiterator.cc: Need to call next() on a ValueList to get it
15684	  to the first position, so do this in ValueIterator's constructor.
15685	* api/valueiterator.cc,include/xapian/valueiterator.h: Add
15686	  ValueIterator::get_docid() method.
15687
15688Fri Oct 17 13:53:26 GMT 2008  Olly Betts <olly@survex.com>
15689
15690	* backends/slowvaluelist.cc,backends/slowvaluelist.h: Add missing
15691	  SlowValueList::get_valueno() method.
15692
15693Fri Oct 17 13:16:01 GMT 2008  Olly Betts <olly@survex.com>
15694
15695	* api/omdatabase.cc,include/xapian/database.h: Add
15696	  Database::valuestream_begin() and Database::valuestream_end() to
15697	  allow iterating over the values in a given slot for each document
15698	  in the database (untested so far).
15699
15700Thu Oct 16 13:20:26 GMT 2008  Olly Betts <olly@survex.com>
15701
15702	* backends/multi/multi_postlist.cc: Remove unused '#include <list>'
15703	  and uninformative comment.
15704
15705Thu Oct 16 12:47:00 GMT 2008  Olly Betts <olly@survex.com>
15706
15707	* api/omdocument.cc,include/xapian/document.h: Inline
15708	  Xapian::Document::values_end() into user code.
15709
15710Thu Oct 16 12:26:29 GMT 2008  Olly Betts <olly@survex.com>
15711
15712	* api/,backends/chert/chert_valuelist.cc,
15713	  backends/chert/chert_valuelist.h,common/document.h,
15714	  common/valuelist.h,include/Makefile.mk,include/xapian/derefwrapper.h,
15715	  include/xapian/termiterator.h,include/xapian/valueiterator.h:
15716	  Reimplement ValueIterator to have reference counted internals.  One
15717	  benefit is that Document::Internal no longer need its value_nos map
15718	  member.
15719
15720Thu Oct 16 11:22:13 GMT 2008  Olly Betts <olly@survex.com>
15721
15722	* backends/inmemory/inmemory_database.cc: Fix incorrect method name in
15723	  debug messages.
15724
15725Thu Oct 16 01:34:07 GMT 2008  Olly Betts <olly@survex.com>
15726
15727	* HACKING: Note preference for @ rather than \ to introduce doxygen
15728	  commands.
15729
15730Thu Oct 16 01:21:19 GMT 2008  Olly Betts <olly@survex.com>
15731
15732	* HACKING: Expand section on public/protected/private a little.
15733
15734Wed Oct 15 11:34:15 GMT 2008  Olly Betts <olly@survex.com>
15735
15736	* include/xapian/database.h: Use std::string() instead of "" as the
15737	  default value for std::string method parameters.
15738
15739Wed Oct 15 03:20:01 GMT 2008  Olly Betts <olly@survex.com>
15740
15741	* backends/Makefile.mk,backends/slowvaluelist.cc,
15742	  backends/slowvaluelist.h: Support for (slowly) iterating along a
15743	  value stream for backends which don't support streamed values
15744	  internally (currently unused).
15745
15746Tue Oct 14 11:43:42 GMT 2008  Olly Betts <olly@survex.com>
15747
15748	* api/postingsource.cc,backends/inmemory/inmemory_database.cc,
15749	  matcher/multimatch.cc: Database::get_document_lazily() now returns
15750	  NULL if the document isn't found for an inmemory database.
15751	* include/xapian/database.h: Document the return value better.
15752
15753Tue Oct 14 03:20:38 GMT 2008  Olly Betts <olly@survex.com>
15754
15755	* api/omdatabase.cc,api/postingsource.cc,include/xapian/database.h,
15756	  matcher/multimatch.cc: Add internal
15757	  Xapian::Database::get_document_lazily() method and use it in the
15758	  matcher and Xapian::PostingSource classes to avoid repeating the
15759	  same code lots of times.
15760
15761Mon Oct 13 23:38:34 GMT 2008  Olly Betts <olly@survex.com>
15762
15763	* HACKING: Rename "Miscellaneous Portability Issues" to "C++
15764	  Portability Issues", and add a subsection of that for "Miscellaneous
15765	  Portability Issues" with a new note about needing to terminate the
15766	  last line of a source file, and a new subsection heading "Header
15767	  Portability Issues" for all the header-related stuff.
15768
15769Sat Oct 11 12:19:38 GMT 2008  Olly Betts <olly@survex.com>
15770
15771	* tests/api_wrdb.cc: If the timer for the first test for bigoaddvalue
15772	  reports 0.0 seconds, skip the test as the timer doesn't have fine
15773	  enough granularity for this test to be useful (bug#300).
15774
15775Fri Oct 10 20:40:14 GMT 2008  Olly Betts <olly@survex.com>
15776
15777	* tests/api_wrdb.cc: Reuse XAPIAN_BIN_PATH to avoid hardcoding more
15778	  paths, and so this works in a debug build too.
15779
15780Fri Oct 10 17:52:53 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15781
15782	* tests/api_wrdb.cc: Patch to use a different path in win32 build
15783	  to match the different place that the compiled xapian-check is
15784	  placed in.  Should fix bug #301.
15785
15786Thu Oct 09 05:20:32 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15787
15788	* configure.ac: Change -Wstrict-overflow level to 1 - even level 2
15789	  causes a few warnings (notably in chert_table.cc) to appear with
15790	  GCC 4.3 which are unreasonably difficult to avoid.
15791
15792Thu Oct 09 05:04:49 GMT 2008  Olly Betts <olly@survex.com>
15793
15794	* HACKING,configure.ac: Raise autoconf requirement to 2.63.
15795
15796Wed Oct 08 14:52:03 GMT 2008  Olly Betts <olly@survex.com>
15797
15798	* docs/valueranges.rst: Fix typos in example code.
15799	* docs/valueranges.rst,tests/queryparsertest.cc: Drop superfluous
15800	  empty destructor from ValueRangeProcessor subclass.
15801
15802Wed Oct 08 14:00:04 GMT 2008  Olly Betts <olly@survex.com>
15803
15804	* common/valuelist.h: Add missing get_docid() method.
15805
15806Wed Oct 08 12:11:57 GMT 2008  Olly Betts <olly@survex.com>
15807
15808	* NEWS: Update from ChangeLog.
15809
15810Wed Oct 08 12:00:39 GMT 2008  Olly Betts <olly@survex.com>
15811
15812	* backends/Makefile.mk,backends/chert/,backends/database.cc,
15813	  backends/valuelist.cc,common/Makefile.mk,common/database.h,
15814	  common/valuelist.h,include/xapian/valueiterator.h: The start of
15815	  support for iterating along a value stream (currently unused).
15816
15817Tue Oct 07 10:19:48 GMT 2008  Olly Betts <olly@survex.com>
15818
15819	* configure.ac: Disable -Wconversion for now - it's not useful for
15820	  older GCC and is buggy in GCC 4.3.
15821
15822Tue Oct 07 04:53:41 GMT 2008  Olly Betts <olly@survex.com>
15823
15824	* matcher/queryoptimiser.h: Query::MatchAll no longer gives match
15825	  results ranked by increasing document length.
15826	* tests/api_db.cc: Extend matchall1 to be a regression test for this.
15827
15828Tue Oct 07 01:04:51 GMT 2008  Olly Betts <olly@survex.com>
15829
15830	* matcher/queryoptimiser.cc: Rewrite comment explaining the excess
15831	  precision fix.  Drop unnecessary brackets from return to minimise
15832	  the diff.
15833
15834Mon Oct 06 07:24:40 GMT 2008  Olly Betts <olly@survex.com>
15835
15836	* matcher/queryoptimiser.cc: Change the excess precision fix to pass
15837	  both values through "volatile double" rather than "float" on
15838	  platforms where this matters since the former gives better generated
15839	  code as well as more consistent results with other platforms.
15840
15841Mon Oct 06 07:24:07 GMT 2008  Olly Betts <olly@survex.com>
15842
15843	* tests/internaltest.cc: Fix comment typo.
15844
15845Mon Oct 06 02:46:39 GMT 2008  Olly Betts <olly@survex.com>
15846
15847	* api/editdistance.cc,api/editdistance.h,api/omdatabase.cc: Pass the
15848	  largest edit distance we currently care about into the edit distance
15849	  algorithm so it can terminate early once it knows the edit distance
15850	  exceeds this.  This shortcut is used quite a lot, but there's no
15851	  measurable speed-up in tests on the real world data I have to hand.
15852
15853Sun Oct 05 12:34:09 GMT 2008  Olly Betts <olly@survex.com>
15854
15855	* matcher/multimatch.cc: Adjust percent_factor instead of min_weight
15856	  so that we don't miss some cases, and make the adjustment actually
15857	  correspond with the adjustment in omenquire.cc.
15858
15859Wed Oct 01 14:11:49 GMT 2008  Olly Betts <olly@survex.com>
15860
15861	* backends/alltermslist.cc,common/alltermslist.h: We don't need an
15862	  explicit virtual dtor for AllTermsList as it is empty and
15863	  AllTermsList inherits from TermList which has one.
15864
15865Wed Oct 01 13:21:22 GMT 2008  Olly Betts <olly@survex.com>
15866
15867	* common/postlist.h,common/termlist.h: Fix comment typo.
15868
15869Wed Oct 01 00:12:02 GMT 2008  Olly Betts <olly@survex.com>
15870
15871	* bin/xapian-compact.cc: Add a comment for the previous fix.
15872
15873Tue Sep 30 22:41:39 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15874
15875	* bin/xapian-compact.cc: Fix bug: if there are both valuestats and
15876	  metadata, don't overwrite the last metadata value with the first
15877	  valuestats tag.
15878
15879Tue Sep 30 20:31:34 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15880
15881	* configure.ac: Set -Wstrict-overflow to 2 instead of 5, to avoid
15882	  unreasonable warnings under GCC 4.3.
15883
15884Tue Sep 30 09:45:22 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15885
15886	* api/omdatabase.cc: Add missing include, to compile on GCC 4.3.0.
15887
15888Mon Sep 29 13:06:42 GMT 2008  Olly Betts <olly@survex.com>
15889
15890	* NEWS: Update from ChangeLog.
15891
15892Mon Sep 29 05:04:57 GMT 2008  Olly Betts <olly@survex.com>
15893
15894	* backends/chert/chert_version.cc: Add VERSIONFILE_SIZE_LITERAL and
15895	  use CompileTimeAssert() to ensure it matches the expression in
15896	  VERSIONFILE_SIZE.  It's very rare for the size to change (it's
15897	  happened once ever) and allows us to build the error string
15898	  literally at compile time.
15899
15900Sun Sep 28 15:13:11 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15901
15902	* backends/chert/chert_values.cc: Fix bug in lazy update - ensure
15903	  that the document has loaded its values before deleting the old
15904	  one (previously, there was an assertion to this effect, but it
15905	  didn't actually compile, and was also incorrect).
15906	* tests/api_wrdb.cc: Check that replacing a document with itself
15907	  doesn't lose the values - regression test for the bug fixed by
15908	  this commit.
15909
15910Sun Sep 28 14:04:01 GMT 2008  Olly Betts <olly@survex.com>
15911
15912	* backends/chert/chert_values.cc: Fix bug in value updating -
15913	  modifyvalues1 now passes for chert.
15914
15915Sun Sep 28 12:15:14 GMT 2008  Olly Betts <olly@survex.com>
15916
15917	* tests/collate-test: Avoid perl warning when generating files which
15918	  don't already exist.
15919
15920Sat Sep 27 10:36:09 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15921
15922	* tests/api_wrdb.cc: Add test "modifyvalues1" - regression test for
15923	  a bug in the streaming values implementation, and also a fairly
15924	  thorough test of adding and modifying values in databases.
15925
15926Fri Sep 26 19:12:23 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15927
15928	* api/omdatabase.cc: Fix warning with gcc 4.2 about possible signed
15929	  overflow, by using an unsigned type for the total.
15930
15931Fri Sep 26 15:48:39 GMT 2008  Olly Betts <olly@survex.com>
15932
15933	* api/omdatabase.cc: Fixed version of: Avoid the relatively expensive
15934	  edit distance computation for a candidate spelling correction when
15935	  we can reject the candidate as less good than one we've already seen
15936	  by looking at the character frequency histograms.  In a test on
15937	  real-world data, this gave an 15% speed-up in queryparsing time
15938	  with FLAG_SPELLING_CORRECTION set.  The cheap check rejects 90%
15939	  of the words it handles (without the cheap check, the edit distance
15940	  check rejects 92%).
15941
15942Fri Sep 26 14:40:50 GMT 2008  Olly Betts <olly@survex.com>
15943
15944	* bin/xapian-check.cc: Check the structure of the value stream chunks.
15945
15946Fri Sep 26 12:21:32 GMT 2008  Olly Betts <olly@survex.com>
15947
15948	* tests/api_spelling.cc: Add a regression test for the bug my recently
15949	  added and reverted spelling optimisation introduced.
15950
15951Fri Sep 26 11:55:18 GMT 2008  Olly Betts <olly@survex.com>
15952
15953	* tests/Makefile.am,tests/api_spelling.cc,tests/api_wrdb.cc: Split the
15954	  spelling tests out into a separate file.
15955
15956Fri Sep 26 11:53:45 GMT 2008  Olly Betts <olly@survex.com>
15957
15958	* tests/api_unicode.cc: Capitalise brief file description.
15959
15960Fri Sep 26 11:31:46 GMT 2008  Olly Betts <olly@survex.com>
15961
15962	* backends/inmemory/inmemory_document.cc,
15963	  backends/inmemory/inmemory_document.h: New simpler InMemoryDocument
15964	  class with slightly reduced memory footprint, based on
15965	  RemoteDocument class.
15966
15967Fri Sep 26 10:36:02 GMT 2008  Olly Betts <olly@survex.com>
15968
15969	* backends/remote/remote-document.cc,backends/remote/remote-document.h,
15970	  common/document.h: Add new files for RemoteDocument class missed
15971	  from recent commit.  Pass parameter to set_all_values() by non-const
15972	  reference so we can just efficiently swap() the value maps rather
15973	  than copying.
15974
15975Fri Sep 26 10:31:21 GMT 2008  Olly Betts <olly@survex.com>
15976
15977	* api/omdocument.cc,common/document.h: Remove unused method
15978	  Xapian::Document::Index::get_all_values().
15979
15980Fri Sep 26 10:03:17 GMT 2008  Olly Betts <olly@survex.com>
15981
15982	* backends/remote/,common/document.h: Replace NetDocument with a new
15983	  simpler RemoteDocument class which just sets the values and data in
15984	  its Document::Internal base class.
15985
15986Fri Sep 26 06:21:08 GMT 2008  Olly Betts <olly@survex.com>
15987
15988	* backends/chert/chert_database.cc,backends/chert/chert_document.cc,
15989	  backends/chert/chert_document.h,common/document.h: Overhaul
15990	  ChertDocument:  Avoid having a reference-counted pointer to the
15991	  database in the subclass as well as the one now in the base class.
15992	  Also check the lazy flag before we create a ChertDocument object to
15993	  avoid a memory allocation in that code path.  And make the
15994	  now-simple constructor inline-able.
15995
15996Thu Sep 25 17:38:37 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15997
15998	* Merge lazyupdate branch:
15999	* api/omdocument.cc,backends/chert/chert_database.cc,
16000	  backends/chert/chert_database.h,backends/chert/chert_values.cc,
16001	  backends/database.cc,common/database.h,common/document.h: Add a
16002	  shortcut for calling replace_document() with a document which was
16003	  just read from the database.  If the document terms were never
16004	  accessed, don't bother updating the termlist, postings and
16005	  position lists.  If the data was never accessed, don't bother
16006	  updating the data.  If the values were never accessed, don't
16007	  bother updating them.  Only fires if we know that the document
16008	  hasn't been modified (or deleted) since it was read from the
16009	  database, to ensure that the lazy access of the data doesn't have
16010	  a visible effect - we enforce this by keeping track of the last
16011	  document read with open_document(), and only using the shortcut
16012	  if this is the document passed to replace_document, and that
16013	  document ID hasn't been passed to replace_document or
16014	  delete_document since.
16015
16016	  Add a method Database::Internal::invalidate_doc_object() which is
16017	  called from the destructor of a document, so that we can reset
16018	  the pointer to modify_shortcut_document in ChertWritableDatabase
16019	  when this happens.
16020
16021	  Document::Internal now keeps a ref-count pointer to the database,
16022	  to ensure that the database is valid when invalidate_doc_object()
16023	  is called on it.
16024
16025Thu Sep 25 17:35:07 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16026
16027	* Forward-port from branches/lazyupdate:
16028	* tests/api_wrdb.cc: Extend deldoc5 slightly, to check that the
16029	  DocNotFoundError for a deleted document is raised before the
16030	  flush, as well as after.  Also, test a few more cases which are
16031	  relevant in the lazyupdate scenario.
16032
16033Thu Sep 25 17:33:21 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16034
16035	* Forward-port from branches/lazyupdate:
16036	* backends/chert/chert_document.cc,backends/chert/chert_document.h:
16037	  Check for existence of a document when opening it by searching
16038	  for the document length entry, rather than by reading the record
16039	  for the document.  Probably slightly slower if the record is
16040	  going to be accessed anyway, but much faster if it isn't (though
16041	  benchmarking of this is needed).
16042
16043Thu Sep 25 14:27:07 GMT 2008  Olly Betts <olly@survex.com>
16044
16045	* Merge valuestreams branch:
16046	* backends/chert/,bin/xapian-check.cc,bin/xapian-compact.cc,
16047	  docs/admin_notes.rst: Change the chert backend to store values in a
16048	  chunked stream for each value slot to make access more efficient.
16049	  The chunked streams and value stats are now stored in the postlist
16050	  table while the list of used value slots for each document is stored
16051	  in the termlist table, so we no longer need a special table for
16052	  values.
16053	* bin/xapian-check.cc,bin/xapian-check-flint.cc:  Don't stop checking
16054	  a table after an error in certain cases - instead increment the
16055	  error counter and try to continue checking from the next item.
16056
16057Thu Sep 25 13:50:15 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16058
16059	* matcher/queryoptimiser.cc,tests/api_anydb.cc: Apply fix for
16060	  platforms with excess precision - this fixes a potential segfault
16061	  on x86 architecture when doing OP_ELITE_SET queries.  Also, add a
16062	  regression test.
16063
16064Thu Sep 25 03:38:24 GMT 2008  Olly Betts <olly@survex.com>
16065
16066	* examples/copydatabase.cc: Also copy user metadata.
16067
16068Wed Sep 24 17:27:33 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16069
16070	* api/omdatabase.cc: Back out, for now, Olly's change from
16071	  yesterday to avoid some edit distance checks; counting the
16072	  frequency of letters doesn't take into account the number of
16073	  substitutions, so spelling corrections which involve
16074	  substitutions are missed.
16075
16076Wed Sep 24 12:48:39 GMT 2008  Olly Betts <olly@survex.com>
16077
16078	* unicode/tclUniData.cc: Update to Unicode 5.1 (bug#265).
16079	* tests/api_unicode.cc: Add tests for some of the changes
16080	  in Unicode 5.1.
16081
16082Tue Sep 23 14:58:54 GMT 2008  Olly Betts <olly@survex.com>
16083
16084	* api/omdatabase.cc: Avoid the relatively expensive edit distance
16085	  computation for a candidate spelling correction when we can reject
16086	  the candidate as less good than one we've already seen by looking
16087	  at the character frequency histograms.
16088
16089Mon Sep 22 09:21:55 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16090
16091	* Forward-port from branches/lazyupdate:
16092	* backends/chert/chert_postlist.cc: Fix return value of jump_to()
16093	  to be true only if the exact item specified was found in the
16094	  doclen list (previously also returned true if an item following
16095	  the item being searched for was found in the chunk).  Note that
16096	  there is no test for this fix included in this forward-port, but
16097	  an implicit test is included in the lazyupdate branch, and will
16098	  be here when that branch is merged to trunk.
16099
16100Mon Sep 22 07:58:06 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16101
16102	* HACKING: Mention that setting XAPIAN_DEBUG_LOG to '-' has a
16103	  special effect.
16104
16105Mon Sep 22 06:27:23 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16106
16107	* docs/remote_protocol.html: Update documentation of remote
16108	  protocol to mention UUID being passed in REPLY_GREETING and
16109	  REPLY_UPDATE (added in revision [11369]).
16110
16111Thu Sep 18 11:52:05 GMT 2008  Olly Betts <olly@survex.com>
16112
16113	* tests/api_wrdb.cc: Fix cursordelbug1 to hopefully work on Microsoft
16114	  Windows.
16115
16116Thu Sep 18 11:50:04 GMT 2008  Olly Betts <olly@survex.com>
16117
16118	* backends/chert/chert_cursor.cc,backends/chert/chert_table.cc,
16119	  backends/chert/chert_table.h: More assertions and improved debug
16120	  logging coverage.  Use rare() to mark a couple of checks which
16121	  almost always have the same result.  Make an assertion about the
16122	  level of a Btree block into an always-compiled-in check which throws
16123	  an exception, as this isn't a sanity check of internal state.
16124
16125Thu Sep 18 05:26:27 GMT 2008  Olly Betts <olly@survex.com>
16126
16127	* backends/chert/chert_postlist.cc,backends/flint/flint_postlist.cc:
16128	  Fix comment describing format of postlist chunk (collection freq
16129	  was missing).
16130
16131Wed Sep 17 12:38:51 GMT 2008  Olly Betts <olly@survex.com>
16132
16133	* HACKING: Fix typos in XAPIAN_DEBUG_FLAGS documentation.
16134
16135Sat Sep 13 11:14:02 GMT 2008  Olly Betts <olly@survex.com>
16136
16137	* HACKING,configure.ac: Upgrade libtool requirement to 2.2.6a.
16138
16139Fri Sep 05 11:40:55 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16140
16141	* tests/api_replicate.cc: Test that the UUID of a replica is equal
16142	  to the UUID of the original database.
16143
16144Fri Sep 05 09:38:35 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16145
16146	* include/xapian/database.h,api/omdatabase.cc: Add
16147	  Database.get_uuid() which returns a unique identifier for the
16148	  database.
16149	* tests/api_anydb.cc: Add test uuid1 to test basic get_uuid()
16150	  behaviour.
16151	* common/database.h: Extend documentation comment for get_uuid() a
16152	  bit.
16153	* backends/remote/remote-database.cc,common/remote-database.h,
16154	  net/remoteserver.cc: Add support for get_uuid() to remote
16155	  databases.
16156
16157Thu Sep 04 11:37:54 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16158
16159	* tests/Makefile.am: Remove accidentally committed reference to
16160	  apitest_sortconsist.txt, which only exists in my local checkout
16161	  and in a patch in ticket #216.
16162
16163Thu Sep 04 04:39:32 GMT 2008  Olly Betts <olly@survex.com>
16164
16165	* HACKING,configure.ac: We now hard require autoconf 2.62, so it's
16166	  safe to use AC_TYPE_SSIZE_T.  (bug#135)
16167
16168Thu Sep 04 04:26:59 GMT 2008  Olly Betts <olly@survex.com>
16169
16170	* configure.ac: Set version to 1.1.0.
16171
16172Thu Sep 04 03:32:06 GMT 2008  Olly Betts <olly@survex.com>
16173
16174	* AUTHORS,NEWS,configure.ac: Sync with 1.0.8.
16175
16176Wed Sep 03 15:23:54 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16177
16178	* tests/Makefile.am,tests/api_percentages.cc: Add new test file for
16179	  tests related to percentage weights (there are a few around which
16180	  could be moved here, and there's another one in the patch in
16181	  ticket #216).  Add test in this file which uses a PostingSource
16182	  with carefully constructed weights to check the rounding
16183	  behaviour for percentage cutoffs.
16184
16185Wed Sep 03 07:58:29 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16186
16187	* matcher/multimatch.cc: Adjust min_weight values calculated for
16188	  percent_cutoff in the same manner as in omenquire.cc, to allow
16189	  for excess precision in the same way.
16190
16191Wed Sep 03 07:15:49 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16192
16193	* backends/chert/chert_version.cc: Display numerical value of
16194	  correct size of chert version file in error message if size is
16195	  incorrect, rather than a complicated expression giving the
16196	  correct size.
16197
16198Tue Sep 02 10:41:46 GMT 2008  Olly Betts <olly@survex.com>
16199
16200	* matcher/multimatch.cc: Remove FIXME for pushing check_at_least
16201	  handling into the remote backend, which was done for 1.0.2.
16202
16203Tue Sep 02 06:48:50 GMT 2008  Olly Betts <olly@survex.com>
16204
16205	* bin/xapian-inspect.cc: Show the help message on start-up.  Correct
16206	  the alias for next from ' ' to ''.  Avoid reading outside of input
16207	  string when it is empty.  Bug#286.
16208
16209Tue Sep 02 04:19:34 GMT 2008  Olly Betts <olly@survex.com>
16210
16211	* tests/stemtest.cc: Handle the new supplemental stemming data.
16212
16213Tue Sep 02 03:05:10 GMT 2008  Olly Betts <olly@survex.com>
16214
16215	* tests/stemtest.cc: Update for new xapian-data directory structure.
16216
16217Tue Aug 26 09:26:49 GMT 2008  Olly Betts <olly@survex.com>
16218
16219	* common/debuglog.h: Handle logging from ctor, dtor, and
16220	  void-returning functions/methods with a separate class
16221	  (DebugLogFuncVoid).  Fix outdent handling for non-logged message
16222	  types.  Fix detection of active exceptions to check if the exception
16223	  was already active when we entered the current function.  This
16224	  probably means that "RETURN_VOID" is no longer needed, so comment
16225	  it out.
16226
16227Tue Aug 26 07:34:16 GMT 2008  Olly Betts <olly@survex.com>
16228
16229	* HACKING: Document explicitly that XAPIAN_DEBUG_FLAGS=- gives you all
16230	  debug messages.
16231
16232Tue Aug 26 00:57:32 GMT 2008  Olly Betts <olly@survex.com>
16233
16234	* bin/xapian-check.cc: Fix reversed check for whether a table is in a
16235	  flint or chert database.
16236
16237Mon Aug 25 12:03:36 GMT 2008  Olly Betts <olly@survex.com>
16238
16239	* backends/flint/flint_termlisttable.cc: Remove FIXME about dropping
16240	  something if we make an incompatible database version bump - that's
16241	  not going to happen now for flint.  Avoid packing doclen for an
16242	  empty termlist.  Add explicit cast for char for prev_term.size().
16243
16244Sun Aug 24 11:42:21 GMT 2008  Olly Betts <olly@survex.com>
16245
16246	* common/Makefile.mk: Fix build with --enable-log=profile.
16247
16248Sun Aug 24 12:41:22 BST 2008  Olly Betts <olly@survex.com>
16249
16250	* HACKING: Add a bit of discussion of --enable-log=profile.  Tweak
16251	  formatting in one place and wording in another.
16252
16253Sat Aug 23 00:48:40 GMT 2008  Olly Betts <olly@survex.com>
16254
16255	* tests/collate-test: Only update files which have changed to avoid
16256	  rebuilding all apitest's source files when only one has changed.
16257
16258Fri Aug 22 01:02:57 GMT 2008  Olly Betts <olly@survex.com>
16259
16260	* queryparser/queryparser.lt: Merge upstream "Check-in Number: 5571"
16261	  (no code changes in our modified version).
16262
16263Fri Aug 22 01:00:15 GMT 2008  Olly Betts <olly@survex.com>
16264
16265	* queryparser/lemon.c: Fix comment typo.
16266
16267Fri Aug 22 00:55:26 GMT 2008  Olly Betts <olly@survex.com>
16268
16269	* queryparser/lemon.c: Merge upstream "Check-in Number: 5564".
16270
16271Fri Aug 22 00:44:14 GMT 2008  Olly Betts <olly@survex.com>
16272
16273	* queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream
16274	  "Check-in Number: 5488" and "5563".
16275	* queryparser/queryparser.lt: Fix compilation for previous merge
16276	  (I fixed it in the generated file before!)
16277
16278Fri Aug 22 00:07:22 GMT 2008  Olly Betts <olly@survex.com>
16279
16280	* queryparser/queryparser.lt: Merge upstream "Check-in Number: 5472".
16281
16282Thu Aug 21 04:15:41 GMT 2008  Olly Betts <olly@survex.com>
16283
16284	* configure.ac: Remove code which checks for --enable-debug and
16285	  --enable-debug-verbose (deprecated since 1.0.0) and gives an error
16286	  pointing to the replacements.
16287	* docs/deprecation.rst: Document the replacements here.
16288
16289Thu Aug 21 00:57:52 GMT 2008  Olly Betts <olly@survex.com>
16290
16291	* common/omdebug.h: Remove DEBUGLINE completely.
16292	* backends/flint/flint_table.cc,backends/inmemory/inmemory_database.cc,
16293	  queryparser/queryparser.lt: Replace remaining DEBUGLINE uses.
16294	* backends/inmemory/inmemory_database.cc: Don't need <list>.
16295
16296Thu Aug 21 00:37:08 GMT 2008  Olly Betts <olly@survex.com>
16297
16298	* common/debuglog.h,common/omdebug.h: Define LOGLINE, etc to no-op
16299	  versions when XAPIAN_DEBUG_VERBOSE isn't defined.
16300	* api/,backends/chert/,backends/flint/,
16301	  backends/inmemory/inmemory_database.cc,
16302	  backends/multi/multi_postlist.cc,backends/multi/multi_termlist.cc,
16303	  expand/esetinternal.cc,expand/expandweight.cc,matcher/,
16304	  net/remoteconnection.cc: Use LOGLINE or LOGVALUE instead of
16305	  DEBUGLINE.
16306
16307Wed Aug 20 13:33:56 GMT 2008  Olly Betts <olly@survex.com>
16308
16309	* common/debuglog.h: Don't need omtime.h.
16310
16311Wed Aug 20 06:11:31 GMT 2008  Olly Betts <olly@survex.com>
16312
16313	* examples/quest.cc: Fix to catch QueryParserError instead of const
16314	  char * which Xapian < 1.0.0 threw instead.
16315
16316Wed Aug 20 05:50:26 GMT 2008  Olly Betts <olly@survex.com>
16317
16318	* docs/valueranges.rst: Expand on some sections.
16319
16320Wed Aug 20 04:43:07 GMT 2008  Olly Betts <olly@survex.com>
16321
16322	* tests/api_nodb.cc: Clarify in comments that this affected 1.0.7.
16323
16324Wed Aug 20 04:33:22 GMT 2008  Olly Betts <olly@survex.com>
16325
16326	* api/omenquire.cc: Simplify RSet::remove_document() and
16327	  RSet::contains() a little.  Fix output of RSet::get_description().
16328	* tests/api_nodb.cc: Add regression test rset4 for
16329	  RSet::get_description() fix.
16330
16331Wed Aug 20 02:45:04 GMT 2008  Olly Betts <olly@survex.com>
16332
16333	* common/omdebug.h: Remove DebugMsg() macro which is no longer used.
16334
16335Tue Aug 12 05:03:34 GMT 2008  Olly Betts <olly@survex.com>
16336
16337	* backends/flint/flint_table.cc,backends/flint/flint_table.h:
16338	  Backport elimination of find_tag() to flint.
16339
16340Tue Aug 12 04:10:41 GMT 2008  Olly Betts <olly@survex.com>
16341
16342	* backends/chert/chert_table.cc,backends/chert/chert_table.h:
16343	  ChertTable::find_tag() is only used by ChertTable::get_exact_entry()
16344	  so remove the former folding its code into the latter.
16345
16346Mon Aug 11 03:06:10 GMT 2008  Olly Betts <olly@survex.com>
16347
16348	* backends/chert/chert_spelling.h,backends/chert/chert_synonym.h:
16349	  Remove random closing bracket from a couple of comments.
16350
16351Mon Aug 11 03:03:19 GMT 2008  Olly Betts <olly@survex.com>
16352
16353	* api/postingsource.cc: Always initialise max_value in the constructor
16354	  body for consistency.
16355
16356Sat Aug 09 09:56:06 GMT 2008  Olly Betts <olly@survex.com>
16357
16358	* tests/api_valuestats.cc: Add valuestats4 as a regression test for
16359	  the previous fix.
16360
16361Sat Aug 09 06:10:49 GMT 2008  Olly Betts <olly@survex.com>
16362
16363	* backends/chert/chert_database.cc,backends/chert/chert_database.h:
16364	  Write cached valuestats changes to disk when we automatically flush
16365	  changes due to the number of documents indexed.
16366
16367Wed Aug 06 11:27:29 GMT 2008  Olly Betts <olly@survex.com>
16368
16369	* api/omdocument.cc,backends/chert/chert_document.cc,
16370	  backends/chert/chert_document.h,backends/flint/flint_document.cc,
16371	  backends/flint/flint_document.h,
16372	  backends/inmemory/inmemory_document.cc,
16373	  backends/inmemory/inmemory_document.h,
16374	  backends/remote/net_document.cc,backends/remote/net_document.h,
16375	  common/document.h: Change do_get_all_values() to pass a reference
16376	  to the std::map to return the result in rather than returning the
16377	  std::map.
16378
16379Wed Aug 06 07:39:08 GMT 2008  Olly Betts <olly@survex.com>
16380
16381	* docs/replication.rst: Adding missing (C) for new section addded
16382	  recently.
16383
16384Wed Aug 06 06:27:59 GMT 2008  Olly Betts <olly@survex.com>
16385
16386	* backends/alltermslist.cc,backends/chert/,backends/flint/,
16387	  backends/inmemory/inmemory_alltermslist.cc,
16388	  backends/inmemory/inmemory_alltermslist.h,
16389	  backends/multi/multi_alltermslist.cc,common/alltermslist.h,
16390	  common/multialltermslist.h: Add a default "not implemented"
16391	  implementation of AllTermsList::get_approx_size() and remove the
16392	  "not implemented" versions in all the subclasses.  Remove empty
16393	  destructors for ChertSpellingTermList, and FlintSpellingTermList.
16394	* api/maptermlist.h,api/omdocument.cc: MapTermList::get_approx_size()
16395	  should never be used, so make it "Assert(false); return 0;".
16396
16397Wed Aug 06 02:24:48 GMT 2008  Olly Betts <olly@survex.com>
16398
16399	* api/omdatabase.cc,backends/multi/multi_alltermslist.cc,
16400	  common/multialltermslist.h: Reimplement MultiAllTermsList to use a
16401	  heap rather than linearly scanning - operations during iteration
16402	  should now be O(log(n)) rather than O(n) where n is the number of
16403	  databases.
16404
16405Tue Aug 05 23:50:19 GMT 2008  Olly Betts <olly@survex.com>
16406
16407	* tests/Makefile.am: Fix "make clean" to remove cached databases again
16408	  and "make check" to remove cached databases like the previous change
16409	  aimed to do.
16410
16411Tue Aug 05 23:48:52 GMT 2008  Olly Betts <olly@survex.com>
16412
16413	* tests/api_db.cc: Use TEST_EQUAL(a, b) rather than TEST(a == b).
16414
16415Tue Aug 05 12:44:58 GMT 2008  Olly Betts <olly@survex.com>
16416
16417	* common/alltermslist.h: Fix parameter name in doxygen comment.
16418
16419Tue Aug 05 06:28:15 GMT 2008  Olly Betts <olly@survex.com>
16420
16421	* backends/chert/chert_database.cc,backends/flint/flint_database.cc:
16422	  Don't generate a changeset file for the first revision of a database
16423	  (since we might as well just send the whole database) - addresses
16424	  part of bug#278.  Clean up exceptions to pass errno in the errno
16425	  parameter rather than incorporating strerror(errno) in the message
16426	  parameter.
16427
16428Tue Aug 05 06:00:11 GMT 2008  Olly Betts <olly@survex.com>
16429
16430	* tests/api_replicate.cc: Remove "sleep(1);" from testcase replicate1
16431	  which is no longer required now we generate proper UUIDs.
16432
16433Tue Aug 05 03:07:11 GMT 2008  Olly Betts <olly@survex.com>
16434
16435	* api/replication.cc,include/xapian/replication.h: Remove
16436	  DatabaseReplica::get_parameter() and set_parameter() as they're no
16437	  longer used for storing the database UUID, and Richard said the
16438	  thinking behind wanting them was "flawed".
16439
16440Tue Aug 05 02:03:24 GMT 2008  Olly Betts <olly@survex.com>
16441
16442	* backends/chert/chert_version.cc: Comment tweak.
16443
16444Tue Aug 05 02:02:29 GMT 2008  Olly Betts <olly@survex.com>
16445
16446	* api/replication.cc,backends/flint/flint_database.cc,common/utils.cc,
16447	  common/utils.h: Use the UUID stored by the backend rather than
16448	  storing it ourselves as a database replica parameter.
16449
16450Mon Aug 04 14:58:21 GMT 2008  Olly Betts <olly@survex.com>
16451
16452	* backends/flint/flint_database.cc,backends/flint/flint_version.cc,
16453	  backends/flint/flint_version.h: Generate a UUID when a new flint
16454	  database is created, and lazily generate one for existing flint
16455	  databases which don't have one.  Store the UUID in a new "uuid"
16456	  file in the database directory to avoid having to change the
16457	  flint database format incompatibly.
16458
16459Mon Aug 04 14:13:53 GMT 2008  Olly Betts <olly@survex.com>
16460
16461	* backends/chert/chert_database.cc,backends/chert/chert_version.cc,
16462	  backends/chert/chert_version.h,configure.ac: Generate a UUID when
16463	  a chert database is created, and store it in the version file.
16464
16465Mon Aug 04 12:16:54 GMT 2008  Olly Betts <olly@survex.com>
16466
16467	* backends/chert/chert_version.cc: Make exception messages more
16468	  consistent.
16469
16470Mon Aug 04 12:15:14 GMT 2008  Olly Betts <olly@survex.com>
16471
16472	* backends/chert/chert_database.cc,backends/chert/chert_version.cc,
16473	  backends/chert/chert_version.h: Remove the code to handle upgrading
16474	  flint versions >= 200704230 and < 200709120 as it's just dead code
16475	  for chert.
16476
16477Sun Aug 03 14:34:31 GMT 2008  Olly Betts <olly@survex.com>
16478
16479	* api/replication.cc: Track the replica numbers using an int rather
16480	  than two strings.  Eliminate two racey uses of file_exists().
16481
16482Sun Aug 03 11:37:06 GMT 2008  Olly Betts <olly@survex.com>
16483
16484	* docs/replication.rst: Add section on backend support.  Make FIXME a
16485	  comment.  Fix erroneous reference to '"-h" parameter'.
16486
16487Sun Aug 03 11:28:27 GMT 2008  Olly Betts <olly@survex.com>
16488
16489	* api/replication.cc,tests/harness/testrunner.cc: Make replication
16490	  work for the chert backend.
16491
16492Sat Aug 02 16:47:04 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16493
16494	* include/xapian/enquire.h: Correct documentation comment (iterator
16495	  doesn't return terms, it returns mset items).
16496
16497Sat Aug 02 14:16:24 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16498
16499	* docs/admin_notes.rst: Fix a typo.
16500
16501Sat Aug 02 14:06:37 GMT 2008  Olly Betts <olly@survex.com>
16502
16503	* backends/chert/chert_cursor.cc,backends/flint/flint_cursor.cc:
16504	  Fix comment typo in previous commit.
16505
16506Sat Aug 02 13:04:05 GMT 2008  Olly Betts <olly@survex.com>
16507
16508	* backends/chert/chert_cursor.cc,backends/flint/flint_cursor.cc: Fix
16509	  FlintCursor::del() and ChertCursor::del() to leave the cursor on the
16510	  next key when iterating over the unflushed revision (previously the
16511	  cursor would end up an extra key along in this case).  (Bug#287)
16512	* tests/api_wrdb.cc: Add regression test cursordelbug1.
16513
16514Sat Aug 02 05:09:38 GMT 2008  Olly Betts <olly@survex.com>
16515
16516	* api/replication.cc,common/utils.cc,common/utils.h: Change
16517	  removedir() to just return if passed a non-existent path and
16518	  document this.  Make use of this to avoid having to call
16519	  dir_exists() before remove_dir().
16520
16521Sat Aug 02 04:43:45 GMT 2008  Olly Betts <olly@survex.com>
16522
16523	* tests/api_db.cc,tests/apitest.cc: Make use of new
16524	  BackendManager::get_database_path() to eliminate knowledge of
16525	  BackendManagerFlint's implementation from test stubdb1.  Put the
16526	  stubdb files in a .stub subdirectory and don't remove them after
16527	  each test to aid debugging failing tests.  Also now run stubdb tests
16528	  under chert and multi backends.  Add more stubdb tests for the
16529	  recently added features.
16530
16531Sat Aug 02 04:39:08 GMT 2008  Olly Betts <olly@survex.com>
16532
16533	* tests/harness/: Adjust the BackendManager interface to reduce code
16534	  duplication in subclasses - for backends where the concept of a
16535	  path to the database makes sense, we now support a
16536	  get_database_path() method and use this in the default
16537	  implementation of get_database() in the base class.
16538
16539Sat Aug 02 04:36:48 GMT 2008  Olly Betts <olly@survex.com>
16540
16541	* tests/apitest.h: Use std::string() in preference to "".
16542
16543Sat Aug 02 04:35:13 GMT 2008  Olly Betts <olly@survex.com>
16544
16545	* backends/dbfactory.cc: Fix handling of new "inmemory" type in stub
16546	  databases.
16547
16548Sat Aug 02 01:49:35 GMT 2008  Olly Betts <olly@survex.com>
16549
16550	* tests/Makefile.am: Remove the cached test databases in before
16551	  running the testsuite by making check-local do the same as
16552	  clean-local.
16553
16554Sat Aug 02 01:42:36 GMT 2008  Olly Betts <olly@survex.com>
16555
16556	* backends/dbfactory.cc: Add support for "inmemory" to stub database
16557	  files (it's useful now they can be writable).  Don't just ignore
16558	  lines with no spaces in in stub database files.
16559
16560Thu Jul 31 13:13:30 GMT 2008  Olly Betts <olly@survex.com>
16561
16562	* backends/Makefile.mk,backends/database.cc,backends/dbfactory.cc,
16563	  common/database.h,include/xapian/dbfactory.h: Add new
16564	  Auto::open_stub() overload which opens a stub database file
16565	  containing a single entry as a WritableDatabase.  Move the
16566	  non-remote database factory API functions from backends/database.cc
16567	  to new file backends/dbfactory.cc, leaving the former solely for
16568	  methods of Database::Internal.  A stub database file is now allowed
16569	  to contain no database entries, which results in an empty Database
16570	  object (this avoids user code having to special case to handle "0 or
16571	  more" databases).
16572	* tests/api_nodb.cc: Tidy up #include directives.  Enhance nosuchdb1
16573	  to check that we get a reasonable error message - previously we
16574	  got "Couldn't detect type of database".
16575	* include/xapian/dbfactory.h: Improve doxygen comment for
16576	  InMemory::open().
16577
16578Thu Jul 31 09:36:41 GMT 2008  Olly Betts <olly@survex.com>
16579
16580	* tests/api_replicate.cc: This is a new file, so use <cstdlib> rather
16581	  than <stdlib.h>.
16582
16583Wed Jul 30 23:10:19 GMT 2008  Olly Betts <olly@survex.com>
16584
16585	* backends/database.cc: Bad lines in a stub file were being ignored
16586	  after we'd seen a good entry.
16587	* tests/api_db.cc: Add regression test.
16588
16589Wed Jul 30 14:42:04 GMT 2008  Olly Betts <olly@survex.com>
16590
16591	* generate-exceptions.in: Use std::string() in preference to "".
16592
16593Tue Jul 29 23:55:21 GMT 2008  Olly Betts <olly@survex.com>
16594
16595	* AUTHORS: Add Henrik Brix Andersen.
16596
16597Tue Jul 22 06:01:44 GMT 2008  Olly Betts <olly@survex.com>
16598
16599	* backends/flint/flint_table.cc,backends/flint/flint_table.h:
16600	  Eliminate other_base_letter member of FlintTable - its value can
16601	  always be easily determined from base_letter.
16602
16603Mon Jul 21 12:33:54 GMT 2008  Olly Betts <olly@survex.com>
16604
16605	* xapian-config.in: Add bug report URL to xapian-config --help output.
16606
16607Mon Jul 21 11:55:18 GMT 2008  Olly Betts <olly@survex.com>
16608
16609	* configure.ac: Put the bug report URL as the third parameter to
16610	  AC_INIT.  Add proper m4 quoting in a few places (nowhere that
16611	  should actually change behaviour).
16612
16613Mon Jul 21 01:03:12 GMT 2008  Olly Betts <olly@survex.com>
16614
16615	* tests/apitest.cc,tests/harness/testsuite.cc,
16616	  tests/harness/testsuite.h: Report subtotals per backend, rather than
16617	  per testgroup per backend to make the output much clearer to scan.
16618
16619Mon Jul 21 00:36:07 GMT 2008  Olly Betts <olly@survex.com>
16620
16621	* tests/apitest.cc: Use startswith().
16622
16623Sun Jul 20 14:16:18 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16624
16625	* tests/harness/testsuite.h: Add missing "iomanip" header needed
16626	  for setprecision calls.
16627
16628Sun Jul 20 11:35:35 GMT 2008  Olly Betts <olly@survex.com>
16629
16630	* include/xapian/enquire.h,include/xapian/matchspy.h,
16631	  include/xapian/valueiterator.h: Remove explicit empty non-virtual
16632	  destructors since the compiler will create them by default anyway.
16633
16634Sun Jul 20 10:18:52 GMT 2008  Olly Betts <olly@survex.com>
16635
16636	* NEWS: Update from ChangeLog.
16637
16638Sun Jul 20 10:09:36 GMT 2008  Olly Betts <olly@survex.com>
16639
16640	* Forward-port change from branches/1.0:
16641	* api/omenquire.cc: Fix percentage calculation to cope with excess
16642	  precision on x86.  Fix method name for convert_to_percent_internal
16643	  in debug logging.
16644
16645Sun Jul 20 09:13:32 GMT 2008  Olly Betts <olly@survex.com>
16646
16647	* backends/flint/,bin/xapian-check-flint.cc,bin/xapian-check-flint.h,
16648	  bin/xapian-compact.cc: Store the tablename in FlintTable as a const
16649	  char * - it's a constant string and std::string adds a needless
16650	  space overhead.
16651
16652Sun Jul 20 09:10:49 GMT 2008  Olly Betts <olly@survex.com>
16653
16654	* bin/xapian-check.cc: Follow-on fix for last change - we need to use
16655	  strcmp() to compare C strings.
16656
16657Sun Jul 20 07:09:38 GMT 2008  Olly Betts <olly@survex.com>
16658
16659	* backends/chert/,bin/xapian-check.cc: Store the tablename in
16660	  ChertTable as a const char * - it's a constant string and
16661	  std::string adds a needless space overhead.
16662
16663Sat Jul 19 14:19:58 GMT 2008  Olly Betts <olly@survex.com>
16664
16665	* backends/chert/chert_database.cc,backends/chert/chert_values.cc,
16666	  backends/chert/chert_values.h: Fix WritableDatabase::add_document()
16667	  and replace_document() not to be O(n*n) in the number of values in
16668	  the new document.
16669	* backends/flint/flint_database.cc,backends/flint/flint_values.cc,
16670	  backends/flint/flint_values.h: Backport fix to flint.
16671	* tests/api_wrdb.cc: Add testcase bigoaddvalue to make sure we don't
16672	  regress to O(n*n) (or worse!)
16673
16674Fri Jul 18 13:24:43 GMT 2008  Olly Betts <olly@survex.com>
16675
16676	* tests/api_wrdb.cc: Rewrite lazytablebug1 testcase to avoid having
16677	  to run xapian-compact.
16678
16679Fri Jul 18 11:59:42 GMT 2008  Olly Betts <olly@survex.com>
16680
16681	* backends/chert/chert_table.cc: Fix handling of a table created
16682	  lazily after the database has had commits, and which is then
16683	  cursored while still in sequential mode.
16684	* backends/flint/flint_table.cc: Backport fix to flint.
16685	* tests/api_wrdb.cc: Add testcase lazytablebug1.
16686
16687Fri Jul 18 02:52:55 GMT 2008  Olly Betts <olly@survex.com>
16688
16689	* tests/api_wrdb.cc: Enable test crashrecovery1 for chert.  Finish off
16690	  unfinished comment.
16691
16692Fri Jul 18 02:38:22 GMT 2008  Olly Betts <olly@survex.com>
16693
16694	* tests/api_wrdb.cc,tests/harness/testrunner.cc,
16695	  tests/harness/testrunner.h: Add "synonyms" test backend property
16696	  and use it to decide where to run synonym tests so they get run on
16697	  chert too.  Move virtual TestRunner destructor out of the header.
16698	  Don't skip all the spelling tests on chert.
16699
16700Fri Jul 18 00:56:17 GMT 2008  Olly Betts <olly@survex.com>
16701
16702	* tests/api_wrdb.cc: Eliminate literal top-bit-set characters.
16703
16704Fri Jul 18 00:40:06 GMT 2008  Olly Betts <olly@survex.com>
16705
16706	* backends/chert/chert_values.cc: Kill superfluous else tokens.
16707
16708Thu Jul 17 13:00:55 GMT 2008  Olly Betts <olly@survex.com>
16709
16710	* backends/chert/chert_table.cc,backends/chert/chert_table.h:
16711	  Eliminate other_base_letter member of ChertTable - its value can
16712	  always be easily determined from base_letter.
16713
16714Thu Jul 17 12:24:19 GMT 2008  Olly Betts <olly@survex.com>
16715
16716	* backends/chert/chert_database.cc: Add space after catch for
16717	  consistency.
16718
16719Thu Jul 17 11:51:57 GMT 2008  Olly Betts <olly@survex.com>
16720
16721	* examples/copydatabase.cc: Use C++ forms of C headers.  Only treat
16722	  '\' as a directory separator on platforms where it is.  Update
16723	  counter every 13 counting up to the end so that the digits all
16724	  "rotate" and the counter ends up on the exact total.
16725
16726Wed Jul 16 10:10:32 GMT 2008  Olly Betts <olly@survex.com>
16727
16728	* tests/perftest/perftest.cc: Use uname() or gethostname() to get the
16729	  hostname on Unix, rather than piping output from uname -n.  Use
16730	  startswith() where appropriate.  Prefer resize() and erase() to
16731	  assigning a string a substring of itself.  Make internal functions
16732	  static.  Prefer string() to "".  Fold sed | sed and grep | sed into
16733	  single sed invocations.
16734
16735Wed Jul 16 05:16:00 GMT 2008  Olly Betts <olly@survex.com>
16736
16737	* queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream
16738	  "Check-in Number: 5404" and "5405".
16739
16740Wed Jul 16 04:48:45 GMT 2008  Olly Betts <olly@survex.com>
16741
16742	* NEWS: Sync with 1.0.7 release.  Start to clean up ChangeLog entry
16743	  pile.
16744
16745Mon Jul 14 05:13:55 GMT 2008  Olly Betts <olly@survex.com>
16746
16747	* queryparser/lemon.c: Fix a typo, remove "\n" from the end of
16748	  ErrorMsg() calls since it will get stripped anyway, and escape
16749	  literal '%' in ErrorMsg() third arguments.
16750
16751Sun Jul 13 13:04:58 GMT 2008  Olly Betts <olly@survex.com>
16752
16753	* queryparser/lemon.c: Update note of upstream version we're synced
16754	  against.
16755
16756Sun Jul 13 12:56:58 GMT 2008  Olly Betts <olly@survex.com>
16757
16758	* queryparser/lemon.c: Tweak previous merged patch so that we still
16759	  get #line directives for code in %include directives.
16760
16761Sun Jul 13 12:54:03 GMT 2008  Olly Betts <olly@survex.com>
16762
16763	* queryparser/lemon.c: Merge upstream "Check-in Number: 5335".
16764	  Reduces the size of the stripped object file for
16765	  queryparser_internal.cc by about 0.5%.
16766
16767Sun Jul 13 12:32:06 GMT 2008  Olly Betts <olly@survex.com>
16768
16769	* queryparser/lemon.c: Fix typo in comment.
16770
16771Sun Jul 13 12:30:38 GMT 2008  Olly Betts <olly@survex.com>
16772
16773	* queryparser/lemon.c: Merge upstream "Check-in Number: 5334".  No
16774	  change to the generated code in our case.
16775
16776Sun Jul 13 12:24:13 GMT 2008  Olly Betts <olly@survex.com>
16777
16778	* configure.ac: Add missing hard requirement for libtool 2.2.4.
16779
16780Sun Jul 13 12:09:40 GMT 2008  Olly Betts <olly@survex.com>
16781
16782	* configure.ac,HACKING: Hard require autoconf 2.62 and automake 1.10.1.
16783	  Move all information about particular autoconf and automake versions
16784	  to HACKING.
16785	* configure.ac: Use LT_INIT in preference to AC_PROG_LIBTOOL.  On
16786	  Linux and k*bsd-gnu, override libtool's link_all_deplibs_CXX to
16787	  "no".  On Linux, override libtool's sys_lib_dlsearch_path_spec to a
16788	  list generated in a more reliable way which includes *all* the
16789	  default directories.  Remove workaround which sets docdir for
16790	  autoconf < 2.60 since we now require 2.62.
16791	* xapian-core.spec.in: We no longer need to run autoreconf to work
16792	  around libtool's incomplete sys_lib_dlsearch_path_spec or to pick
16793	  up distro-specific patches for link_all_deplibs.
16794
16795Sun Jul 13 11:33:33 GMT 2008  Olly Betts <olly@survex.com>
16796
16797	* Makefile.am: No need to explicitly list m4/*.m4 in EXTRA_DIST as
16798	  automake will automatically ship any such files which are needed.
16799
16800Sun Jul 13 09:15:34 GMT 2008  Olly Betts <olly@survex.com>
16801
16802	* api/omenquire.cc: Back out the rounding of percentages change (at
16803	  least for now), as it makes percentage cut-offs work inconsistently.
16804	* tests/api_anydb.cc: Add test pctcutoff3 which demonstrates the issue.
16805
16806Sun Jul 13 07:01:02 GMT 2008  Olly Betts <olly@survex.com>
16807
16808	* include/xapian/enquire.h: Fix documentation comment for
16809	  MSet::get_rank() - the 'document judged "most relevant" will have
16810	  rank of 0' only when ordering primarily by relevance.
16811
16812Sun Jul 13 06:17:13 GMT 2008  Olly Betts <olly@survex.com>
16813
16814	* matcher/multimatch.cc: Tweak layout (makes the backport diff
16815	  much smaller and clearer, and reduces indentation by a level for a
16816	  chunk of code).
16817
16818Fri Jul 11 13:44:56 GMT 2008  Olly Betts <olly@survex.com>
16819
16820	* tests/harness/testutils.cc: Fix typos in recent improved output.
16821
16822Fri Jul 11 13:04:41 GMT 2008  Olly Betts <olly@survex.com>
16823
16824	* matcher/multimatch.cc: Collect up all the scaling factors we apply
16825	  to the estimated number of matches and apply them in one go to avoid
16826	  rounding the result more than once.
16827
16828Fri Jul 11 12:21:11 GMT 2008  Olly Betts <olly@survex.com>
16829
16830	* tests/api_anydb.cc: Add testcase for percent cutoff plus collapsing
16831	  which most likely would have failed before Richard's recent fix
16832	  for the lower bound with collapsing and a matchdecider.
16833
16834Fri Jul 11 05:30:02 GMT 2008  Olly Betts <olly@survex.com>
16835
16836	* backends/database.cc: Add support for XAPIAN_PREFER_CHERT
16837	  environmental variable.
16838
16839Thu Jul 10 22:21:46 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16840
16841	* api/postingsource.cc: Fix skip_to() so that it doesn't advance if
16842	  it's already in a suitable position.
16843	* include/xapian/postingsource.h: Specify that skip_to() should
16844	  stay in the same position if the current position is equal to
16845	  the docid argument of skip_to().
16846	* tests/api_db.cc: Add valueweightsource3 to check that skip_to()
16847	  stays in the same position in this case.
16848
16849Thu Jul 10 13:14:14 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16850
16851	* api/postingsource.cc: Performance improvement - open documents
16852	  lazily (using the internal interface) so that we don't access
16853	  the record table for each one - we now just access the value
16854	  table.  Leads to considerable speed up for me (of the order of 5
16855	  times faster).
16856
16857Thu Jul 10 09:49:39 GMT 2008  Olly Betts <olly@survex.com>
16858
16859	* HACKING: Overhaul the sections on building from SVN.  Remove ':'
16860	  from the end of headings.
16861
16862Wed Jul 09 10:43:01 GMT 2008  Olly Betts <olly@survex.com>
16863
16864	* configure.ac: The workaround to avoid probe code for F77, GCJ, and
16865	  RC being added to configure is no longer required now that we're
16866	  using libtool 2.2 so remove it.
16867
16868Wed Jul 09 09:40:43 GMT 2008  Olly Betts <olly@survex.com>
16869
16870	* Makefile.am,acinclude.m4,autoconf/dir_contents,
16871	  autoconf/rjb_find_stlport.m4,autoconf/type_socklen_t.m4,
16872	  m4/dir_contents,m4/rjb_find_stlport.m4,m4/type_socklen_t.m4: Move
16873	  the m4 macros which we ship for building configure from into the m4
16874	  subdirectory and remove acinclude.m4 - now aclocal will pull in the
16875	  required macros automatically.
16876
16877Wed Jul 09 09:14:31 GMT 2008  Olly Betts <olly@survex.com>
16878
16879	* Makefile.am: Update for m4 -> m4-macros change.
16880
16881Wed Jul 09 09:11:45 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16882
16883	* matcher/externalpostlist.cc: Fix segfault if get_maxweight() is
16884	  called when the postlist has reached end.  This happens if the
16885	  end is reached during decay of an AND_MAYBE postlist to an AND.
16886	* common/postlist.h,matcher/: Add comments documenting that
16887	  recalc_maxweight() may be called after the postlist has reached
16888	  the end, and noting why this is safe in various cases.
16889
16890Wed Jul 09 09:02:08 GMT 2008  Olly Betts <olly@survex.com>
16891
16892	* m4-macros/dir_contents,m4-macros/xapian.m4,m4/dir_contents,
16893	  m4/xapian.m4: Move xapain.m4 to a new subdirectory (m4-macros) since
16894	  libtoolize now installs m4 files into subdirectory m4 which we don't
16895	  really want picking up by applications building against an
16896	  uninstalled xapian-core.
16897
16898Wed Jul 09 08:03:11 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16899
16900	* Makefile.am,m4/dir_contents,xapian.m4: Move xapian.m4 back into
16901	  the m4 subdirectory.  For uninstalled builds, we need xapian.m4
16902	  to be in a directory without any other .m4 files, or we'll be
16903	  likely to pull in the wrong versions of other macros.  The top
16904	  level directory contains aclocal.m4 and acinclude.m4, so isn't
16905	  suitable for this.  Also, the xapian-bindings and omega
16906	  compilations hadn't been updated with the new xapian.m4 location,
16907	  so this fixes the build for them.
16908
16909Wed Jul 09 07:17:38 GMT 2008  Olly Betts <olly@survex.com>
16910
16911	* Makefile.am,configure.ac: Use AC_CONFIG_MACRO_DIR and
16912	  ACLOCAL_AMFLAGS as libtoolize 2.2.4 recommends.
16913
16914Wed Jul 09 06:37:21 GMT 2008  Olly Betts <olly@survex.com>
16915
16916	* acinclude.m4: Remove reference to definedir.m4.
16917
16918Wed Jul 09 05:32:24 GMT 2008  Olly Betts <olly@survex.com>
16919
16920	* Makefile.am,m4/dir_contents,m4/xapian.m4,xapian.m4: Move xapian.m4
16921	  to the top level rather than devoting a whole directory to a single
16922	  file.
16923
16924Wed Jul 09 05:23:02 GMT 2008  Olly Betts <olly@survex.com>
16925
16926	* Makefile.am,autoconf/definedir.m4,configure.ac: AC_DEFINE_DIR()
16927	  hasn't been used for years so remove it.
16928
16929Wed Jul 09 02:32:38 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16930
16931	* api/postingsource.cc,include/xapian/postingsource.h: Add an
16932	  alternative constructor for ValueWeightPostingSource which allows
16933	  the upper bound on the weights stored to be specified manually.
16934	  This is useful for database formats like flint which don't have
16935	  an upper bound available.  It could conceivably also be useful if
16936	  you know that a query will only be accessing a subset of
16937	  documents for which you know a more precise upper bound than the
16938	  database-wide upper bound.
16939
16940Wed Jul 09 01:59:56 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16941
16942	* matcher/externalpostlist.cc: Add DEBUGCALL macros to enable
16943	  easier debugging.
16944
16945Mon Jul 07 12:40:20 GMT 2008  Olly Betts <olly@survex.com>
16946
16947	* HACKING,NEWS: Update to reflect the autotools now being in the SVN
16948	  tree, and the versions we are now bootstrapping with.
16949	* NEWS: Update from ChangeLog.
16950
16951Sun Jul 06 22:59:04 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16952
16953	* matcher/multimatch.cc,matcher/remotesubmatch.cc,
16954	  matcher/remotesubmatch.h: Apply patch from ticker #279 to improve
16955	  performance of matches with multiple remote databases.  This adds
16956	  a special case for the top match being from a remote database, to
16957	  avoid accessing the termlist to calculate the percentage scaling
16958	  factor.
16959
16960Sun Jul 06 22:55:17 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16961
16962	* api/omenquire.cc: When calculating percentages, round to the
16963	  nearest integer, rather than rounding down.  There was a FIXME
16964	  about this, but no explanation of why it hadn't already been
16965	  done, and I can see no bad side effects so far.  The most obvious
16966	  positive effect is that queries which should get precisely 100%
16967	  will no longer be assigned 99% due to rounding errors.
16968
16969Sun Jul 06 22:48:30 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16970
16971	* tests/api_anydb.cc: Add new test, topercent2, checking the
16972	  percentage values returned by standard searches, both against
16973	  known current values for some of the hits, and against a search
16974	  with a "local" backend.  Also, in rsetmultidb1, test the return
16975	  value of mset_range_is_same_weights().
16976	* tests/api_db.cc: In rsetmultidb2, test the return value of
16977	  mset_range_is_same_weights().
16978
16979Sun Jul 06 22:46:23 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16980
16981	* tests/harness/testutils.cc,tests/harness/testutils.h: Add
16982	  function to test if two mset ranges have the same percentages,
16983	  and slightly improve the messages on failure of the mset range
16984	  comparison tests.
16985
16986Fri Jul 04 23:31:14 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16987
16988	* NEWS: Swap two words to make a sentence make sense.
16989
16990Fri Jul 04 11:40:13 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16991
16992	* matcher/multimatch.cc: Fix calculation of lower bound when
16993	  collapsing and match deciders are used.  (Only tended to manifest
16994	  when the collapsing threw away a lot of documents, and when also
16995	  using a custom sort order, but I don't think that was required.)
16996	  Also, perform the adjustments due to percentage cutoffs after the
16997	  other adjustments, to avoid the lower bound setting for
16998	  collapsing overriding the lower bound from the percentage cutoff.
16999	* tests/harness/index_utils.cc: Add a value to value slot 12, which
17000	  only has 5 different values, for testing this bug.
17001	* tests/api_db.cc: Add regression test for calculation of the lower
17002	  bound.
17003
17004Fri Jul 04 10:24:16 GMT 2008  Olly Betts <olly@survex.com>
17005
17006	* Makefile.am,bin/Makefile.mk,examples/Makefile.mk: Remove
17007	  extra_cleandirs as automake 1.10.1 fixes the bug which it was working
17008	  around.
17009
17010Fri Jul 04 04:36:59 GMT 2008  Olly Betts <olly@survex.com>
17011
17012	* HACKING: Synchronise tiny change from branches/1.0 which isn't
17013	  on trunk for some reason.
17014
17015Fri Jul 04 04:35:19 GMT 2008  Olly Betts <olly@survex.com>
17016
17017	* HACKING: Bootstrap with newer versions of the autotools:
17018	  + autoconf 2.61 -> 2.62: faster
17019	  + automake 1.10 -> 1.10.1: "make clean" cleans all .libs
17020	    directories.
17021	  + libtool 1.5.24 -> 2.2.4: many improvements; faster.
17022
17023Thu Jul 03 03:17:42 GMT 2008  Olly Betts <olly@survex.com>
17024
17025	* docs/glossary.rst,docs/intro_ir.html: Improve intro_ir a bit, and
17026	  link to the definition of RSet in the glossary.
17027
17028Thu Jul 03 01:30:56 GMT 2008  Olly Betts <olly@survex.com>
17029
17030	* examples/quest.cc: Output get_description() of the parsed query.
17031
17032Sun Jun 29 18:56:06 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17033
17034	* matcher/multimatch.cc: Rename percent_factor variable, used here
17035	  as part of the percent_cutoff mechanism, to make its purpose
17036	  clearer, and to avoid confusing it with percent_scale in this
17037	  file, and percent_factor used elsewhere in matcher/.
17038
17039Sat Jun 28 21:51:42 GMT 2008  Olly Betts <olly@survex.com>
17040
17041	* docs/doxygen_api_conf.in,docs/doxygen_full_conf.in: Disable
17042	  "JAVADOC_AUTOBRIEF" since we always try to write a brief
17043	  description explicitly, and it causes problems in some cases.
17044
17045Sat Jun 28 21:32:21 GMT 2008  Olly Betts <olly@survex.com>
17046
17047	* common/: Fix typos in doxygen comments.
17048
17049Sat Jun 28 10:33:06 GMT 2008  Olly Betts <olly@survex.com>
17050
17051	* languages/stem.cc: Add "nl" for selecting the Dutch stemmer, which
17052	  was accidentally missing from the list of language codes recognised.
17053	  Reported by Joey Hess in Debian bug #484458.
17054	* tests/api_nodb.cc: Extend stemlangs1 to check that all the language
17055	  codes work, and so does Stem("").
17056
17057Fri Jun 27 00:27:31 GMT 2008  Olly Betts <olly@survex.com>
17058
17059	* NEWS: Update from ChangeLog and against 1.0 branch.
17060
17061Thu Jun 26 17:17:41 GMT 2008  Olly Betts <olly@survex.com>
17062
17063	* net/remoteconnection.cc: The "already done" check in do_close() is
17064	  no longer useful, so remove it.  Shrink the try block to only cover
17065	  the call to send_message().
17066
17067Thu Jun 26 08:19:41 GMT 2008  Olly Betts <olly@survex.com>
17068
17069	* net/remoteconnection.cc: Don't bother to send MSG_SHUTDOWN for a
17070	  read-only Database - just closing the connection is enough.
17071
17072Thu Jun 26 04:49:06 GMT 2008  Olly Betts <olly@survex.com>
17073
17074	* backends/chert/chert_btreebase.cc: Don't need <string.h> as well as
17075	  <cstring>.
17076	* backends/flint/flint_btreebase.cc,bin/xapian-replicate-server.cc:
17077	  Prefer <cXXX> to <XXX.h>.
17078
17079Tue Jun 24 04:31:10 GMT 2008  Olly Betts <olly@survex.com>
17080
17081	* tests/harness/testsuite.cc: Use resize() to truncate a string.
17082
17083Tue Jun 24 04:23:59 GMT 2008  Olly Betts <olly@survex.com>
17084
17085	* net/remoteconnection.cc: Fill in a guess at the __WIN32__ version of
17086	  the code needed in RemoteConnection::do_close().
17087
17088Tue Jun 24 04:06:02 GMT 2008  Olly Betts <olly@survex.com>
17089
17090	* net/progclient.cc: Fix debug logging for __WIN32__.
17091
17092Tue Jun 24 03:11:09 GMT 2008  Olly Betts <olly@survex.com>
17093
17094	* net/remoteserver.cc: Just delete the Database * pointer db.  The
17095	  Database dtor is virtual, so it's fine to delete a WritableDatabase
17096	  via a Database * pointer.
17097
17098Tue Jun 24 01:29:12 GMT 2008  Olly Betts <olly@survex.com>
17099
17100	* backends/remote/remote-database.cc,common/remoteconnection.h,
17101	  net/remoteconnection.cc,net/replicatetcpclient.cc: Wait for the
17102	  connection to close rather than using a different shutdown message
17103	  which requires a reply.  Mostly this is more backport-friendly, but
17104	  it also avoids a message reply (albeit it not in a performance
17105	  sensitive situation).  Needs implementing for __WIN32__.
17106
17107Tue Jun 24 01:07:16 GMT 2008  Olly Betts <olly@survex.com>
17108
17109	* net/remoteserver.cc: Unwrap comment.
17110
17111Tue Jun 24 00:52:02 GMT 2008  Olly Betts <olly@survex.com>
17112
17113	* net/remoteserver.cc: Kill a blank line.
17114
17115Tue Jun 24 00:49:50 GMT 2008  Olly Betts <olly@survex.com>
17116
17117	* backends/remote/remote-database.cc,common/remoteconnection.h,
17118	  common/remoteprotocol.h,docs/remote_protocol.html,
17119	  net/remoteconnection.cc,net/remoteserver.cc,
17120	  net/replicatetcpclient.cc: Revert r10713 in preparation for applying
17121	  an alternative fix.
17122
17123Mon Jun 23 21:51:42 GMT 2008  Olly Betts <olly@survex.com>
17124
17125	* HACKING: Expand list of keywords for brace cuddling.  Add rationale.
17126
17127Mon Jun 23 01:53:03 GMT 2008  Olly Betts <olly@survex.com>
17128
17129	* tests/queryparsertest.cc: Cuddle braces after for loops for
17130	  consistency with the rest of the code.  Use string::resize() to
17131	  shrink a string rather than assigning the result of substr(0, x).
17132	* HACKING: Explicitly document that braces should be cuddled after
17133	  control flow structures.
17134
17135Mon Jun 23 01:34:39 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17136
17137	* tests/perftest/perftest_matchdecider.cc: Reworked performance
17138	  test to include a test of an alldocspostingiterator, and to only
17139	  rebuild the database involved if it's not up-to-date.
17140
17141Mon Jun 23 01:20:25 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17142
17143	* common/valuestats.h: Add missing #include.
17144
17145Mon Jun 23 01:10:19 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17146
17147	* bin/xapian-compact.cc: Add support for the valuestats which are
17148	  now held in the value table for chert.
17149
17150Sun Jun 22 23:44:46 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17151
17152	* backends/chert/: Change ChertAllDocsPostList to inherit from
17153	  ChertPostList and use the doclen list from the posting table
17154	  rather than using the termlist table.  This helps towards making
17155	  the termlist table optional, reduces the amount of data read in
17156	  the process of iterating through an alldocs postlist, and can
17157	  make a massive difference in performance: I've measured the time
17158	  to iterate through all the documents in a 1000000 document
17159	  database, and the patch speeds this operation up by a factor of
17160	  6.
17161
17162	  Add `keep_reference` parameter to the ChertPostList constructor,
17163	  instead of not keeping a reference if the term is empty.
17164	  ChertAllDocsPostList uses this to keep a reference to the
17165	  database while using an empty term.
17166
17167	  Add ChertAllDocsModifiedPostList class, inspired by
17168	  ChertModifiedPostList, (with corresponding new source files) to
17169	  handle alldocs postlist with modifications: this wasn't needed
17170	  before since the termlist is updated immediately after changes.
17171
17172Sun Jun 22 21:37:00 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17173
17174	* tests/harness/: Add "name" parameter to
17175	  BackendManager::get_writable_database_as_database(), and
17176	  BackendManager::get_writable_database_again(), (and subclasses)
17177	  so that old databases can be revived.  Useful for the performance
17178	  tests.
17179
17180Sun Jun 22 09:30:44 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17181
17182	* tests/api_anydb.cc: Expand tests for alldocspostlist, covering
17183	  iteration of modified databases.
17184
17185Fri Jun 20 08:28:12 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17186
17187	* backends/remote/remote-database.cc,common/remoteconnection.h,
17188	  common/remoteprotocol.h,docs/remote_protocol.html,
17189	  net/remoteconnection.cc,net/remoteserver.cc,
17190	  net/replicatetcpclient.cc: Add new message
17191	  "MSG_SHUTDOWNANDCONFIRM" which causes a reply of
17192	  "REPLY_SHUTDOWNCONFIRMATION" to be sent after the database has
17193	  been closed.  Use this message when closing a writable database,
17194	  to ensure that the destructor doesn't return until the lock on
17195	  the database has been released.
17196
17197Tue Jun 17 14:28:46 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17198
17199	* tests/perftest/freemem.cc,tests/perftest/perftest.cc: Patches
17200	  from Charlie to allow perftest to compile on windows.
17201
17202Tue Jun 17 13:23:18 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17203
17204	* backends/chert/chert_btreebase.cc,backends/chert/chert_lock.cc,
17205	  backends/flint/flint_btreebase.cc,backends/flint/flint_lock.cc,
17206	  bin/xapian-replicate-server.cc: Add some missing includes, needed
17207	  for GCC 4.3.
17208
17209Tue Jun 17 11:00:56 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17210
17211	* tests/perftest/get_machine_info.in: Updates to hopefully get
17212	  useful version information on windows.
17213
17214Mon Jun 16 12:13:48 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17215
17216	* tests/harness/testsuite.cc: Don't call backendmanager->posttest()
17217	  if no backendmanager is in use.
17218
17219Sun Jun 15 02:19:03 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17220
17221	* tests/harness/: Wait for subprocesses to finish at end of tests,
17222	  with remotetcp backend, to avoid test failures due to final flush
17223	  of a subprocess writing to the database used for the next test.
17224
17225Thu Jun 12 09:09:44 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17226
17227	* common/unaligned.h: Add some casts to make GCC 4.3.0 happy.
17228
17229Thu Jun 12 09:06:21 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17230
17231	* backends/chert/chert_btreebase.cc: Add missing #include (needed
17232	  for compilation with GCC 4.3.0).
17233
17234Tue Jun 10 17:38:07 GMT 2008  Olly Betts <olly@survex.com>
17235
17236	* tests/harness/testrunner.cc: Use startswith().  Fix memory leak.
17237
17238Fri Jun 06 11:02:56 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17239
17240	* Makefile.am,tests/Makefile.am: Fix make check-* targets to match
17241	  the current set of backends.  Add .multichert and .multiflint to
17242	  the clean-local hook in tests/.  Leave .multi there for now, to
17243	  clean up existing .multi directories in the automated build trees.
17244
17245Fri Jun 06 08:26:49 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17246
17247	* common/Makefile.mk: Add valuestats.h to distribution.
17248
17249Thu Jun 05 23:37:37 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17250
17251	* backends/chert/chert_values.cc: Fix compile error in assertion in
17252	  recently added code for calculating value statistics.
17253
17254Thu Jun 05 21:38:01 GMT 2008  Olly Betts <olly@survex.com>
17255
17256	* queryparser/queryparser.lemony: Use std::vector<Term *> rather than
17257	  std::list<Term *> so that size() is O(1) with any (sane) compiler
17258	  and because a list of pointers isn't space efficient (and we don't
17259	  need to splice here).  Factor out common code in if branches in
17260	  TermGroup::as_group().
17261
17262Thu Jun 05 17:04:23 GMT 2008  Olly Betts <olly@survex.com>
17263
17264	* queryparser/queryparser.lemony: Use "startswith()" to avoid creating
17265	  a new string object.
17266
17267Thu Jun 05 09:09:54 GMT 2008  Olly Betts <olly@survex.com>
17268
17269	* queryparser/queryparser.lemony: Remove variable which is set but
17270	  never otherwise used.
17271
17272Thu Jun 05 09:08:22 GMT 2008  Olly Betts <olly@survex.com>
17273
17274	* api/omqueryinternal.cc: Don't call find() twice - reuse the result
17275	  we just got.  Use AssertEq() rather than Assert() on an equality
17276	  test.  Clarify a comment.
17277
17278Wed Jun 04 21:32:11 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17279
17280	* queryparser/queryparser.lemony: Fix more O(N*N) scaling, this
17281	  time in the way in which auto multiword synonyms are detected.
17282	  Instead of trying all possible sub-sequences of terms for
17283	  synonyms, use synonym_keys and the skip_to() method to check for
17284	  synonyms which actually exist in the synonyms table.
17285	* tests/queryparsertest.cc: Extend the scaling test to check this
17286	  case.
17287
17288Wed Jun 04 12:42:32 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17289
17290	* queryparser/queryparser.lemony: Fix various cases where queries
17291	  were constructed pair-wise within a loop, which leads to O(N*N)
17292	  scaling behaviour (because each intermediate query construction
17293	  is O(M) where M is the size of that query, and there are N of
17294	  them).
17295	* tests/queryparsertest.cc: Add test to check that parsing of a
17296	  query scales roughly linearly with query size.
17297	* common/omtime.h: Add method to get an OmTime as a double - used
17298	  by the new query parser test.
17299
17300Wed Jun 04 12:18:35 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17301
17302	* tests/harness/testsuite.h: Fix TEST_LESSER_OR_EQUAL and
17303	  TEST_LESSER macros to compare in the right direction (these
17304	  macros are, so far, unused).
17305
17306Mon Jun 02 18:19:22 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17307
17308	* api/postingsource.cc: Make ValueWeightPostingSource use value
17309	  statistics, if they're available, to return accurate term
17310	  frequency statistics, and a better maxweight.
17311	* tests/api_db.cc: Add valueweightsource2, to test the bounds and
17312	  maxweight returned by a ValueWeightPostingSource for backends
17313	  with valuestats support.  Replace !multi condition in
17314	  valueweightsource1 with a SKIP_TEST_FOR_BACKEND invocation, since
17315	  this is a shortcoming we should fix at some point.
17316
17317Mon Jun 02 18:16:52 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17318
17319	* tests/harness/testrunner.cc,tests/harness/testrunner.h: Replace
17320	  DO_TESTS_FOR_BACKEND macro with a do_tests_for_backend method;
17321	  the method version takes a BackendManager * and gets the backend
17322	  name from that, rather than requiring it to be specified.
17323	  Requires addition of a couple of extra private members to the
17324	  TestRunner class.
17325
17326Mon Jun 02 10:27:45 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17327
17328	* include/xapian/database.h: Add get_value_freq(),
17329	  get_value_lower_bound() and get_value_upper_bound() methods to
17330	  Database, to get statistics about the values stored in a slot.
17331	* api/omdatabase.cc,backends/chert/,backends/database.cc,
17332	  backends/inmemory/inmemory_database.cc,
17333	  backends/inmemory/inmemory_database.h,
17334	  backends/remote/remote-database.cc,common/,
17335	  net/remoteserver.cc: Add support for the value statistics methods
17336	  to chert, inmemory, multi and remote databases.
17337	* tests/Makefile.am,tests/api_valuestats.cc,
17338	  tests/harness/testrunner.cc,tests/harness/testrunner.h: Add test
17339	  of the value statistics code, and a "valuestats" backend property
17340	  to select only backends supporting this.
17341
17342Mon Jun 02 10:26:12 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17343
17344	* tests/harness/backendmanager.cc,tests/harness/backendmanager.h:
17345	  Move implementation of get_dbtype() method out of header.
17346
17347Mon Jun 02 09:44:34 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17348
17349	* rests/harness/: Make flint and chert subtypes for the remote and
17350	  multi backend types.  These are specified (on the command line
17351	  and elsewhere) by the main type (multi, remotetcp or remoteprog),
17352	  followed by an underscore, followed by the subtype (flint or
17353	  chert).  Change return type of BackendManager::get_dbtype() to a
17354	  string instead of a const char *, to allow backend managers which
17355	  have subtypes to generate the result dynamically.
17356	* tests/harness/backendmanager_remote.cc,
17357	  tests/harness/backendmanager_remote.h,
17358	  tests/harness/backendmanager_remoteprog.cc,
17359	  tests/harness/backendmanager_remoteprog.h,
17360	  tests/harness/backendmanager_remotetcp.cc,
17361	  tests/harness/backendmanager_remotetcp.h: Add new
17362	  BackendManagerRemote class as a common base for the two remote
17363	  backend managers, and move duplicated code into it.  Add
17364	  parameter to its constructor, and to the constructors of the
17365	  remote backend manager subclasses, to control the type of
17366	  database to use at the remote end.
17367	* tests/harness/backendmanager_multi.cc,
17368	  tests/harness/backendmanager_multi.h: Add parameter to
17369	  constructor of BackendManagerMulti, controlling the type of
17370	  database to use for sub databases.  Put the generated database
17371	  files in ".multiflint" and ".multichert" instead of ".multi".
17372	* tests/harness/testrunner.cc: Update list of backend properties to
17373	  contain the new subtypes.  Modify use_backend() to allow either
17374	  the full backend type, or just the main part of the backend type,
17375	  to be specified, so that, for example "-b multi" will run both
17376	  the multi_chert and multi_flint tests.  Add test runs for all the
17377	  subtypes now supported.  Catch string exceptions thrown by the
17378	  test runner - these can currently occur when neither flint or
17379	  chert are compiled in.
17380	* tests/apitest.cc,tests/apitest.h: Adjust return type of
17381	  get_dbtype(), implement skip_test_*_backend functions which just
17382	  check the prefix of the type, and implement SKIP_TEST_*_BACKEND
17383	  macros using these.
17384	* tests/api_anydb.cc: Modify check for running on a multi backend
17385	  to copy with getting a string back from get_dbtype().
17386
17387Sat May 31 00:55:03 GMT 2008  Olly Betts <olly@survex.com>
17388
17389	* tests/Makefile.am,tests/perftest/Makefile.mk: Remove unnecessary
17390	  quotes.
17391
17392Thu May 29 16:04:56 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17393
17394	* tests/perftest/: Update svn:ignore property for perftest changes.
17395
17396Thu May 29 14:33:51 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17397
17398	* tests/perftest/perftest.cc: Include the xapian version string in
17399	  the test output.  For runs from SVN, also include the subversion
17400	  revision number and branch in the output.
17401
17402Wed May 28 21:47:37 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17403
17404	* matcher/valuegepostlist.cc,matcher/valuerangepostlist.cc,
17405	  matcher/valuerangepostlist.h: Apply patch from ticket #270 to
17406	  implement ValueRangePostList::next() by using an alldocs posting
17407	  list, instead of trying docids in turn.  This is much more
17408	  efficient if document IDs are sparse.  Since both methods require
17409	  accessing the termlist table to check for the next document, and
17410	  some cursory performance tests don't show a measurable difference
17411	  in speed, I think this approach is at least safe, and probably
17412	  superior.
17413
17414Wed May 28 21:28:38 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17415
17416	* tests/perftest/perftest.cc: Log the flush threshold for indexing
17417	  runs.
17418	* tests/perftest/perftest_randomidx.cc: Set the run size back to a
17419	  reasonably large value.
17420
17421Wed May 28 20:48:10 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17422
17423	* configure.ac,tests/,tests/perftest/,tests/perftest_matchdecider.cc,
17424	  tests/perftest_randomidx.cc: Move performance test source files
17425	  into a subdirectory.  Modify output of performance tests to
17426	  include some basic system information, and also to include
17427	  details of the parameters used to perform indexing tests.
17428
17429Wed May 28 20:42:56 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17430
17431	* HACKING: Fix numbering in checklist for developers so that it
17432	  doesn't repeat section 5.
17433
17434Sun May 25 14:21:40 GMT 2008  Olly Betts <olly@survex.com>
17435
17436	* NEWS: Update to match 1.0 branch.
17437
17438Sun May 25 00:24:09 GMT 2008  Olly Betts <olly@survex.com>
17439
17440	* NEWS: Start to update from ChangeLog, stripping out backported
17441	  changes.
17442
17443Sat May 24 16:38:49 GMT 2008  Olly Betts <olly@survex.com>
17444
17445	* NEWS,configure.ac: Update to match 1.0 branch.
17446
17447Sat May 24 16:33:19 GMT 2008  Olly Betts <olly@survex.com>
17448
17449	* tests/termgentest.cc: Pass Xapian::Document by const reference.
17450
17451Sat May 24 14:30:59 GMT 2008  Olly Betts <olly@survex.com>
17452
17453	* bin/xapian-compact.cc: Only warn about duplicate user metadata keys
17454	  if the tags aren't the same.
17455
17456Sat May 24 12:14:55 GMT 2008  Olly Betts <olly@survex.com>
17457
17458	* bin/Makefile.am: Put special -I options in foo_CPPFLAGS not
17459	  foo_CXXFLAGS.  As well as being the more correct place, this also
17460	  means that AM_CXXFLAGS is now used when compiling xapian-check and
17461	  xapian-compact, which in particular enables compiler warnings.
17462	* bin/xapian-check.cc,bin/xapian-compact.cc,bin/xapian-check-flint.cc:
17463	  Fix warnings (one unused variable and a few cases of a variable
17464	  masking another with the same name - none problematic in practice).
17465
17466Fri May 23 09:22:24 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17467
17468	* backends/inmemory/inmemory_database.cc: Fix bug in inmemory
17469	  database, which resulted in the values not being stored correctly
17470	  if document IDs were sparse.
17471	* matcher/valuerangepostlist.cc: Fix the next() method not to
17472	  return document IDs which aren't present in the database - this
17473	  used to happen if the document IDs were sparse.
17474	* tests/api_anydb.cc: Add "valuerange2", a regression test for
17475	  OP_VALUE_LE returning document IDs which aren't present in the
17476	  database, and "alldocspl1", which does a generic test of an
17477	  alldocs postlist in a sparse database (this passed before the
17478	  above changes, but might as well be added anyway).
17479
17480Wed May 21 19:33:12 GMT 2008  Olly Betts <olly@survex.com>
17481
17482	* docs/Makefile.am: test == isn't portable - use test = instead.
17483
17484Wed May 21 13:22:23 GMT 2008  Olly Betts <olly@survex.com>
17485
17486	* HACKING: Fix path for atreus.
17487
17488Wed May 21 13:21:08 GMT 2008  Olly Betts <olly@survex.com>
17489
17490	* HACKING: Fix search&replace error - the CVS module is still called
17491	  www.xapian.org.
17492
17493Wed May 21 13:16:39 GMT 2008  Olly Betts <olly@survex.com>
17494
17495	* HACKING: Reword, since environmental variable PATH isn't "set by
17496	  $PATH".
17497
17498Wed May 21 13:16:21 GMT 2008  Olly Betts <olly@survex.com>
17499
17500	* HACKING: ixion -> atreus.
17501
17502Wed May 21 13:12:07 GMT 2008  Olly Betts <olly@survex.com>
17503
17504	* include/xapian/database.h: Improve documentation comment.
17505
17506Sun May 18 05:20:29 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17507
17508	* docs/remote_protocol.html: Remove spurious "i" at end of line.
17509
17510Sat May 17 11:53:54 GMT 2008  Olly Betts <olly@survex.com>
17511
17512	* tests/harness/testutils.h: Layout and macro parameter name tweaks.
17513
17514Fri May 16 20:42:05 GMT 2008  Olly Betts <olly@survex.com>
17515
17516	* bin/xapian-compact.cc: Check that all source databases are the same
17517	  type (flint or chert).  Copy over "iamchert" for chert.  Update
17518	  terminology - the "meta file" is now called the "version file".
17519
17520Fri May 16 17:33:22 GMT 2008  Olly Betts <olly@survex.com>
17521
17522	* backends/chert/chert_database.cc,backends/chert/chert_version.cc:
17523	  Need <cstdio> for rename().
17524
17525Fri May 16 17:27:56 GMT 2008  Olly Betts <olly@survex.com>
17526
17527	* backends/chert/chert_database.cc: Correct FIXME comment and mark
17528	  as "FIXME:1.2.0".
17529
17530Fri May 16 17:21:59 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17531
17532	* tests/harness/testrunner.cc,tests/harness/testrunner.h: Add
17533	  condition to test if the backend is "inmemory".
17534	* tests/perftest_randomidx.cc: Change the run size from 1000
17535	  documents to 1000000.  Disable this test for the inmemory
17536	  backend, because it will quickly use up all the memory on the
17537	  machine.
17538
17539Fri May 16 16:56:25 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17540
17541	* HACKING: Add note about some more PDF generation tools which are
17542	  needed, and that doxygen requires them to be on PATH.
17543
17544Fri May 16 16:38:40 GMT 2008  Olly Betts <olly@survex.com>
17545
17546	* HACKING: Ubuntu now needs tetex-extra too.
17547
17548Fri May 16 10:05:30 GMT 2008  Olly Betts <olly@survex.com>
17549
17550	* bin/xapian-compact.cc: Fix to not reject chert databases during the
17551	  "up front" check.
17552
17553Thu May 15 20:20:14 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17554
17555	* net/progclient.cc: Set namespace for close methods (to avoid
17556	  conflicting with the close method I'm working on adding to
17557	  database internal).
17558
17559Wed May 14 17:14:53 GMT 2008  Olly Betts <olly@survex.com>
17560
17561	* backends/database.cc: Default to flint not chert for a new database.
17562
17563Wed May 14 17:11:56 GMT 2008  Olly Betts <olly@survex.com>
17564
17565	* api/postingsource.cc,docs/postingsource.rst,
17566	  include/xapian/postingsource.h,matcher/externalpostlist.cc:
17567	  PostingSource::check() now returns the valid flag rather than
17568	  passing it in by reference to be set.  Change "should" to "must"
17569	  for the get_termfreq_est() requirement at Richard's suggestion.
17570	  Add parameter names to PostingSource method prototypes and update
17571	  documentation comments to match.
17572
17573Wed May 14 15:34:38 GMT 2008  Olly Betts <olly@survex.com>
17574
17575	* docs/Makefile.am,docs/index.html,docs/postingsource.rst: Add
17576	  topic document for PostingSource.
17577
17578Mon May 12 17:27:13 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17579
17580	* include/xapian/postingsource.h: Add documentation comments for
17581	  ValueWeightPostingSource, and tweak
17582	  PostingSource::get_maxweight() comment a bit more.
17583
17584Mon May 12 16:51:01 GMT 2008  Olly Betts <olly@survex.com>
17585
17586	* include/xapian/postingsource.h: Clarify get_maxweight() if the
17587	  maximum from now on.
17588
17589Mon May 12 06:51:53 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17590
17591	* api/postingsource.cc,include/xapian/postingsource.h,tests/api_db.cc,
17592	  tests/harness/index_utils.cc: Add ValueWeightPostingSource, which
17593	  reads a value, applies sortable_unserialise() to it, and returns
17594	  that as the weight for each document.
17595
17596Sun May 11 23:49:07 GMT 2008  Olly Betts <olly@survex.com>
17597
17598	* queryparser/lemon.c,queryparser/queryparser.lt: Do a final sync by
17599	  comparing our versions to the latest vanilla upstream.  Add a note
17600	  to each file of the latest revision sync-ed against.
17601	* queryparser/lemon.c: Enable '#define PRIVATE static'.
17602
17603Sun May 11 22:48:27 GMT 2008  Olly Betts <olly@survex.com>
17604
17605	* NEWS: Add a note of the speed-up that the recent QueryParser changes
17606	  have given.
17607
17608Sun May 11 22:10:19 GMT 2008  Olly Betts <olly@survex.com>
17609
17610	* queryparser/lemon.c: Merge upstream "Check-in Number: 5053".
17611
17612Sun May 11 22:01:48 GMT 2008  Olly Betts <olly@survex.com>
17613
17614	* queryparser/queryparser.lt: Merge upstream "Check-in Number: 5052".
17615
17616Sun May 11 21:56:03 GMT 2008  Olly Betts <olly@survex.com>
17617
17618	* queryparser/queryparser.lt: Fix a comment typo.
17619
17620Sun May 11 21:52:30 GMT 2008  Olly Betts <olly@survex.com>
17621
17622	* queryparser/lemon.c: Merge upstream "Check-in Number: 4751".
17623
17624Sun May 11 21:51:18 GMT 2008  Olly Betts <olly@survex.com>
17625
17626	* queryparser/queryparser.lt: Merge upstream "Check-in Number: 4745".
17627
17628Sun May 11 21:47:03 GMT 2008  Olly Betts <olly@survex.com>
17629
17630	* queryparser/queryparser.lt: Comment out memset() call added by
17631	  one of the earlier merged upstream changes - a later comment on
17632	  the ticket referred to notes that this was actually a bug in the
17633	  grammar of the people who reported it.
17634
17635Sun May 11 21:44:46 GMT 2008  Olly Betts <olly@survex.com>
17636
17637	* queryparser/queryparser.lt: Merge upstream "Check-in Number: 4743".
17638
17639Sun May 11 21:41:55 GMT 2008  Olly Betts <olly@survex.com>
17640
17641	* queryparser/queryparser.lt: Merge upstream "Check-in Number: 4738".
17642
17643Sun May 11 21:33:13 GMT 2008  Olly Betts <olly@survex.com>
17644
17645	* queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream
17646	  "Check-in Number: 4736".
17647	* queryparser/lemon.c: Add %syntax_error directive since lemon has
17648	  changed it's error recovery strategy if you don't have one.
17649
17650Sun May 11 20:54:31 GMT 2008  Olly Betts <olly@survex.com>
17651
17652	* queryparser/queryparser.lemony: If we hit a syntax error, don't
17653	  bother feeding further tokens to the parser!
17654
17655Sat May 10 21:42:44 GMT 2008  Olly Betts <olly@survex.com>
17656
17657	* queryparser/lemon.c: Merge upstream "Check-in Number: 4641".
17658
17659Sat May 10 21:33:10 GMT 2008  Olly Betts <olly@survex.com>
17660
17661	* queryparser/lemon.c: Merge upstream "Check-in Number: 4473".
17662
17663Sat May 10 21:31:25 GMT 2008  Olly Betts <olly@survex.com>
17664
17665	* queryparser/lemon.c: Merge upstream "Check-in Number: 4439".
17666
17667Sat May 10 21:28:27 GMT 2008  Olly Betts <olly@survex.com>
17668
17669	* queryparser/lemon.c: Merge upstream "Check-in Number: 4274".
17670
17671Sat May 10 21:25:35 GMT 2008  Olly Betts <olly@survex.com>
17672
17673	* queryparser/lemon.c: Merge upstream "Check-in Number: 4190".
17674
17675Sat May 10 21:20:16 GMT 2008  Olly Betts <olly@survex.com>
17676
17677	* queryparser/lemon.c: Merge upstream "Check-in Number: 4160".
17678
17679Sat May 10 21:07:15 GMT 2008  Olly Betts <olly@survex.com>
17680
17681	* queryparser/lemon.c: Merge upstream "Check-in Number: 3753".
17682
17683Sat May 10 21:03:19 GMT 2008  Olly Betts <olly@survex.com>
17684
17685	* queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream
17686	  "Check-in Number: 3738".
17687
17688Sat May 10 20:00:09 GMT 2008  Olly Betts <olly@survex.com>
17689
17690	* queryparser/lemon.c: Merge upstream "Check-in Number: 3654".
17691
17692Sat May 10 19:55:32 GMT 2008  Olly Betts <olly@survex.com>
17693
17694	* queryparser/lemon.c: Merge upstream "Check-in Number: 3594".
17695
17696Sat May 10 19:46:05 GMT 2008  Olly Betts <olly@survex.com>
17697
17698	* queryparser/lemon.c: Merge upstream "Check-in Number: 3593".
17699
17700Sat May 10 19:44:15 GMT 2008  Olly Betts <olly@survex.com>
17701
17702	* queryparser/lemon.c: Merge upstream "Check-in Number: 3591".
17703
17704Sat May 10 19:40:12 GMT 2008  Olly Betts <olly@survex.com>
17705
17706	* queryparser/lemon.c: Merge upstream "Check-in Number: 3528".
17707
17708Sat May 10 19:38:36 GMT 2008  Olly Betts <olly@survex.com>
17709
17710	* queryparser/lemon.c: Merge upstream "Check-in Number: 3476".
17711
17712Sat May 10 19:36:06 GMT 2008  Olly Betts <olly@survex.com>
17713
17714	* queryparser/lemon.c: Merge upstream "Check-in Number: 3333".
17715
17716Sat May 10 19:33:33 GMT 2008  Olly Betts <olly@survex.com>
17717
17718	* queryparser/queryparser.lt: Merge upstream "Check-in Number: 3244".
17719
17720Sat May 10 19:29:18 GMT 2008  Olly Betts <olly@survex.com>
17721
17722	* queryparser/lemon.c: Merge upstream "Check-in Number: 3226".
17723
17724Sat May 10 19:19:48 GMT 2008  Olly Betts <olly@survex.com>
17725
17726	* queryparser/queryparser.lt: Merge upstream "Check-in Number: 3224".
17727
17728Sat May 10 19:14:18 GMT 2008  Olly Betts <olly@survex.com>
17729
17730	* queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream
17731	  "Check-in Number: 3210".
17732
17733Sat May 10 18:56:50 GMT 2008  Olly Betts <olly@survex.com>
17734
17735	* queryparser/queryparser.lt: Merge upstream "Check-in Number: 3181".
17736
17737Sat May 10 17:05:35 GMT 2008  Olly Betts <olly@survex.com>
17738
17739	* queryparser/lemon.c: Merge upstream "Check-in Number: 3126".
17740
17741Sat May 10 16:51:31 GMT 2008  Olly Betts <olly@survex.com>
17742
17743	* queryparser/lemon.c: Merge upstream "Check-in Number: 2764".
17744
17745Sat May 10 16:40:48 GMT 2008  Olly Betts <olly@survex.com>
17746
17747	* queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream
17748	  "Check-in Number: 2761".
17749
17750Sat May 10 16:32:45 GMT 2008  Olly Betts <olly@survex.com>
17751
17752	* queryparser/queryparser.lt: Merge upstream "Check-in Number: 2458".
17753
17754Sat May 10 16:29:55 GMT 2008  Olly Betts <olly@survex.com>
17755
17756	* queryparser/lemon.c: Merge upstream "Check-in Number: 2345".
17757
17758Sat May 10 16:08:28 GMT 2008  Olly Betts <olly@survex.com>
17759
17760	* queryparser/queryparser.lt: Merge upstream "Check-in Number: 2302".
17761
17762Sat May 10 15:50:23 GMT 2008  Olly Betts <olly@survex.com>
17763
17764	* queryparser/lemon.c: Merge upstream "Check-in Number: 2208".
17765
17766Sat May 10 15:03:59 GMT 2008  Olly Betts <olly@survex.com>
17767
17768	* tests/harness/testsuite.cc: Prefer `str.assign(ptr)' to `str =
17769	  string(ptr)'.
17770
17771Sat May 10 14:48:38 GMT 2008  Olly Betts <olly@survex.com>
17772
17773	* api/matchspy.cc,api/replication.cc: Prefer `str.assign(ptr, len)' to
17774	  `str = string(ptr, len)'.
17775
17776Fri May 09 16:53:19 GMT 2008  Olly Betts <olly@survex.com>
17777
17778	* net/remoteserver.cc: No entries in dispatch[] are NULL, so there's
17779	  no point testing for it.
17780
17781Fri May 09 16:51:10 GMT 2008  Olly Betts <olly@survex.com>
17782
17783	* net/remoteconnection.cc: Remove pointless conversion to size_t which
17784	  breaks GCC 2.95 build.
17785
17786Fri May 09 16:22:46 GMT 2008  Olly Betts <olly@survex.com>
17787
17788	* api/replication.cc: Needs <cstdio> for rename().
17789
17790Fri May 09 15:41:08 GMT 2008  Olly Betts <olly@survex.com>
17791
17792	* tests/harness/testutils.cc: No need for an explicit std::endl when
17793	  calling TEST_AND_EXPLAIN().
17794
17795Fri May 09 15:38:22 GMT 2008  Olly Betts <olly@survex.com>
17796
17797	* api/replication.cc: Use '\n' rather than endl in the middle of
17798	  writing stuff, since endl forces a flush which just adds useless
17799	  overhead.
17800
17801Fri May 09 15:24:42 GMT 2008  Olly Betts <olly@survex.com>
17802
17803	* common/omdebug.h: Fix RETURN macro to work on GCC 2.95 for the case
17804	  `RETURN(string())'.
17805
17806Fri May 09 08:33:35 GMT 2008  Olly Betts <olly@survex.com>
17807
17808	* include/xapian/postingsource.h: Add a protected default ctor so that
17809	  code subclassing PostingSource actually compiles!
17810
17811Thu May 08 16:41:59 GMT 2008  Olly Betts <olly@survex.com>
17812
17813	* include/xapian/postingsource.h: Add doxygen comments for
17814	  Xapian::PostingSource.  Add private assignment operator and
17815	  copy constructor to prevent copying.
17816
17817Thu May 08 16:40:49 GMT 2008  Olly Betts <olly@survex.com>
17818
17819	* common/postlist.h: Fix one doxygen comment and improve another.
17820
17821Mon May 05 15:22:24 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17822
17823	* tests/Makefile.am: Clean up .chert in clean-local.
17824
17825Mon May 05 14:52:34 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17826
17827	* docs/Makefile.am: Adapt the dist-check hook to work with a VPATH
17828	  build in non-maintainer mode.
17829
17830Mon May 05 13:18:19 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17831
17832	* docs/Makefile.am: Fix "make distcheck" by using dist-hook to
17833	  install generated files, with the appropriate dependency, instead
17834	  of wildcards in EXTRA_DIST which don't give the correct expansion
17835	  unless the files happened to be generated already by another
17836	  rule. Also, ensure that the documentation is generated before
17837	  attempting to install it.
17838
17839Sun May 04 09:30:53 GMT 2008  Olly Betts <olly@survex.com>
17840
17841	* backends/chert/chert_version.cc,backends/flint/flint_version.cc,
17842	  common/stringutils.h: Move CONST_STRLEN() into stringutils.h.
17843	* backends/chert/chert_database.cc,backends/flint/flint_database.cc:
17844	  Use CONST_STRLEN().
17845
17846Sat May 03 18:56:34 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17847
17848	* api/omenquire.cc: Reset the internal sorter pointer to NULL when
17849	  changing to a sort by value. Fixes #256.
17850	* tests/api_sorting.cc: Add regression test.
17851
17852Sat May 03 18:52:27 GMT 2008  Olly Betts <olly@survex.com>
17853
17854	* include/xapian/unicode.h: Mark internal functions as @internal.
17855
17856Sat May 03 18:43:12 GMT 2008  Olly Betts <olly@survex.com>
17857
17858	* docs/doxygen_api_conf.in: Disable header and directory relationship
17859	  graphs in the API documentation as they aren't interesting to users.
17860
17861Sat May 03 18:12:30 GMT 2008  Olly Betts <olly@survex.com>
17862
17863	* docs/gen_codestructure_doc.in: Link to trac instead of viewvc.
17864
17865Sat May 03 17:25:02 GMT 2008  Olly Betts <olly@survex.com>
17866
17867	* docs/replication_protocol.rst: Fix a few typos.
17868
17869Sat May 03 15:53:24 GMT 2008  Olly Betts <olly@survex.com>
17870
17871	* backends/chert/chert_database.cc,backends/flint/flint_database.cc:
17872	  If Database::reopen() is called and the database revision on disk
17873	  hasn't changed, then do as little work as possible.  Even if it
17874	  has changed, don't bother to recheck the version file (bug#261).
17875
17876Sat May 03 10:28:30 GMT 2008  Olly Betts <olly@survex.com>
17877
17878	* configure.ac: Improve code to prevent probing for f77, etc.
17879
17880Sat May 03 10:17:05 GMT 2008  Olly Betts <olly@survex.com>
17881
17882	* matcher/rset.cc: Missing change from last commit.
17883
17884Sat May 03 09:25:29 GMT 2008  Olly Betts <olly@survex.com>
17885
17886	* api/omenquire.cc,common/,expand/Makefile.mk,expand/esetinternal.cc,
17887	  expand/expand.cc: Rewrite class ESet::Internal, incorporating the
17888	  functionality which used to be in the internal OmExpand class.  The
17889	  expand operation now uses a min heap rather than calling
17890	  nth_element() repeatedly - this should reduce the complexity of the
17891	  expand operation by a factor of n/log(n) where n is the requested
17892	  ESet size.
17893
17894Fri May 02 15:51:29 GMT 2008  Olly Betts <olly@survex.com>
17895
17896	* common/ortermlist.h,expand/ortermlist.cc: Kill FreqAdderOrTermList's
17897	  explicit empty dtor.
17898
17899Thu May 01 16:38:40 GMT 2008  Olly Betts <olly@survex.com>
17900
17901	* api/omqueryinternal.cc,api/replication.cc,backends/chert/,
17902	  backends/flint/,backends/inmemory/inmemory_positionlist.cc,
17903	  common/utils.cc,matcher/stats.cc,tests/perftest_matchdecider.cc,
17904	  tests/perftest_randomidx.cc: Assorted formatting tweaks.
17905
17906Thu May 01 16:32:58 GMT 2008  Olly Betts <olly@survex.com>
17907
17908	* common/unaligned.h: Fix ";;" to ";" after AssertRel calls.
17909
17910Thu May 01 16:12:05 GMT 2008  Olly Betts <olly@survex.com>
17911
17912	* docs/doxygen_api_conf.in,docs/doxygen_full_conf.in: Tell doxygen to
17913	  expand XAPIAN_VISIBILITY_DEFAULT so it doesn't appear in collated
17914	  API documentation.
17915
17916Wed Apr 30 10:57:53 GMT 2008  Olly Betts <olly@survex.com>
17917
17918	* HACKING: Update bugzilla references and URLs to reflect the move
17919	  to trac.  Update the "fixing a bug" checklist to mention backporting
17920	  and updating the release notes.
17921
17922Wed Apr 30 10:40:30 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17923
17924	* backends/remote/remote-database.cc: Fix error message displayed
17925	  when remote protocol version doesn't match to display the minor
17926	  part of the version number supplied by the server correctly.
17927
17928Tue Apr 29 17:37:10 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17929
17930	* AUTHORS: Add Alexandre Gauthier, for supplying a method for doing
17931	  python packaging for Windows.
17932
17933Tue Apr 29 16:20:47 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17934
17935	* common/fileutils.cc: Fix variable name for windows compilation.
17936
17937Tue Apr 29 06:50:53 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17938
17939	* backends/chert/chert_table.cc,backends/flint/flint_table.cc:
17940	  Remove some debugging code, left over from writing the
17941	  replication code.
17942
17943Mon Apr 28 12:11:38 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
17944
17945	* backends/chert/chert_btreebase.cc,backends/chert/chert_table.cc,
17946	  backends/flint/flint_btreebase.cc,backends/flint/flint_table.cc:
17947	  Fix issue #259 - update the last_block value whenever allocating
17948	  a new value, so that next_for_sequential doesn't give up too
17949	  early.  Also, in both next_for_sequential and
17950	  prev_for_sequential, for writable databases, check the built-in
17951	  cursor at all levels for the new block rather than just reading
17952	  from disk, since newly allocated blocks won't have been written
17953	  to disk yet.  Also, test the return type of next() when reading
17954	  subsequent parts of tags, and raise DatabaseCorruptError if it
17955	  returns false; this prevents incorrect data being returned,
17956	  leading to a zlib error.
17957	* tests/api_wrdb.cc: Add regression test.
17958
17959Fri Apr 25 08:39:28 GMT 2008  Olly Betts <olly@survex.com>
17960
17961	* api/postingsource.cc: Missed change from last but one commit.
17962
17963Thu Apr 24 13:44:48 GMT 2008  Olly Betts <olly@survex.com>
17964
17965	* matcher/queryoptimiser.cc: Reserve size of postlists vector.
17966
17967Thu Apr 24 13:38:51 GMT 2008  Olly Betts <olly@survex.com>
17968
17969	* include/xapian/postingsource.h,matcher/externalpostlist.cc,
17970	  matcher/externalpostlist.h,tests/api_db.cc: Add a default
17971	  PostingSource::get_description() method so users who don't care
17972	  aren't forced to define one.  Make PostingSource::reset() a standard
17973	  method and call it automatically so that a PostingSource-using
17974	  Query can be run more than once without extra work.
17975
17976Thu Apr 24 11:24:30 GMT 2008  Olly Betts <olly@survex.com>
17977
17978	* matcher/queryoptimiser.cc: Don't need <queue>.
17979
17980Thu Apr 24 04:50:43 GMT 2008  Olly Betts <olly@survex.com>
17981
17982	* tests/api_db.cc: Add test that boolean branches of matches don't
17983	  cause Xapian::PostingSource to be asked for weights.
17984
17985Thu Apr 24 03:27:39 GMT 2008  Olly Betts <olly@survex.com>
17986
17987	* matcher/externalpostlist.cc,matcher/externalpostlist.h,
17988	  matcher/queryoptimiser.cc: ExternalPostList now takes the
17989	  factor into account, so works with OP_SCALE_WEIGHT, and
17990	  doesn't call get_weight()/get_maxweight() for a boolean
17991	  branch.
17992	* tests/api_db.cc: Add tests for OP_SCALE_WEIGHT.
17993
17994Thu Apr 24 02:16:08 GMT 2008  Olly Betts <olly@survex.com>
17995
17996	* xapian-config.in: Back out --swigheaders.
17997
17998Wed Apr 23 11:37:45 GMT 2008  Olly Betts <olly@survex.com>
17999
18000	* matcher/externalpostlist.h: Need to initialise current.
18001
18002Wed Apr 23 07:57:35 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18003
18004	* tests/termgentest.cc: Put the inclusion of "utils.h" back; needed
18005	  for om_tostring().
18006
18007Wed Apr 23 04:20:55 GMT 2008  Olly Betts <olly@survex.com>
18008
18009	* include/xapian/replication.h: Eliminate reference to FlintDatabase
18010	  from doc comment since it's not user-visible, and chert supports
18011	  replication too.  No need for '#include <xapian/database.h>' so
18012	  remove.  Remove references to non-existent parameter 'remotename'.
18013	  'DatabaseCorrupt error' -> 'DatabaseCorruptError'.
18014
18015Wed Apr 23 04:19:53 GMT 2008  Olly Betts <olly@survex.com>
18016
18017	* include/xapian/query.h: Wrap Xapian::Query::Internal class
18018	  definition in "#ifndef SWIG" ... "#endif" in preparation for getting
18019	  SWIG to directly parse it.
18020
18021Wed Apr 23 02:16:53 GMT 2008  Olly Betts <olly@survex.com>
18022
18023	* api/omquery.cc: Prefer string() to "".
18024
18025Wed Apr 23 02:16:10 GMT 2008  Olly Betts <olly@survex.com>
18026
18027	* include/xapian/query.h: Fix doc comment typo (doesn't affect API
18028	  docs).
18029
18030Wed Apr 23 00:59:40 GMT 2008  Olly Betts <olly@survex.com>
18031
18032	* api/postingsource.cc: Another missing file.
18033
18034Wed Apr 23 00:34:34 GMT 2008  Olly Betts <olly@survex.com>
18035
18036	* include/xapian/postingsource.h: New file missing from previous
18037	  commit.
18038
18039Wed Apr 23 00:30:34 GMT 2008  Olly Betts <olly@survex.com>
18040
18041	* api/Makefile.mk,api/omquery.cc,api/omqueryinternal.cc,
18042	  include/Makefile.mk,include/xapian.h,include/xapian/query.h,matcher/,
18043	  tests/api_db.cc: Add support for Xapian::PostingSource.
18044
18045Wed Apr 23 00:21:25 GMT 2008  Olly Betts <olly@survex.com>
18046
18047	* include/xapian.h: Fix misplaced comment.  Tweak doxygen comments for
18048	  version functions to be more consistent with others.
18049
18050Wed Apr 23 00:16:14 GMT 2008  Olly Betts <olly@survex.com>
18051
18052	* matcher/queryoptimiser.cc: Remove bogus comment from cut-and-paste.
18053
18054Wed Apr 23 00:14:30 GMT 2008  Olly Betts <olly@survex.com>
18055
18056	* common/omassert.h: Add AssertEqDoubleParanoid().
18057	* matcher/multimatch.cc: Use it instead of home-brewed version.
18058
18059Tue Apr 22 23:30:50 GMT 2008  Olly Betts <olly@survex.com>
18060
18061	* common/utils.h: Stop exporting internal functions needlessly.
18062
18063Tue Apr 22 12:53:55 GMT 2008  Olly Betts <olly@survex.com>
18064
18065	* bin/xapian-compact.cc: Fix to work again (broken by the splitting of
18066	  FlintTable::commit() into flush_db() and commit() in the replication
18067	  changes).  Don't bother passing tablename to functions where it
18068	  always has the same value.  Tweak the user-metadata copying loop to
18069	  make it clearer.  Reserve the right size for the vector used for
18070	  merging spellings.
18071
18072Tue Apr 22 12:28:17 GMT 2008  Olly Betts <olly@survex.com>
18073
18074	* backends/chert/chert_table.h,backends/flint/flint_table.h,
18075	  bin/xapian-compact.cc: Default commit's changes_fd parameter to -1.
18076
18077Tue Apr 22 11:39:10 GMT 2008  Olly Betts <olly@survex.com>
18078
18079	* common/omassert.h: Fix comment typo.
18080
18081Tue Apr 22 10:54:35 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18082
18083	* tests/queryparsertest.cc: Add "utils.h" back - needed for
18084	  om_tostring() and mkdir().
18085
18086Mon Apr 21 07:48:45 GMT 2008  Olly Betts <olly@survex.com>
18087
18088	* tests/api_db.cc: Don't need <list>.  Wrap comment.
18089
18090Mon Apr 21 07:04:12 GMT 2008  Olly Betts <olly@survex.com>
18091
18092	* api/omqueryinternal.cc,backends/chert/chert_check.cc,
18093	  backends/flint/flint_check.cc,tests/: Remove various needless
18094	  inclusions of headers (especially <iostream>).  Reorder headers.
18095	  Wrap a couple of comments.  Append single characters to strings
18096	  using character constants.
18097
18098Mon Apr 21 06:26:49 GMT 2008  Olly Betts <olly@survex.com>
18099
18100	* api/Makefile.mk,api/valuerangeproccompat.cc,
18101	  include/xapian/queryparser.h: Remove the
18102	  v102::NumberValueRangeProcessor ABI-preserving machinery since it's
18103	  OK to change the ABI for 1.1.0.
18104
18105Mon Apr 21 04:42:52 GMT 2008  Olly Betts <olly@survex.com>
18106
18107	* api/,queryparser/queryparser.cc: Remove debug log tracing from
18108	  get_description() methods since the debug log call tracing *calls*
18109	  get_description() methods on parameters, so logging these calls just
18110	  makes for more confusing debug logs.  A get_description() method
18111	  should have no side-effects so it's not very interesting even when
18112	  explicitly called by the user.
18113	* common/omdebug.h: Replace "OM_DEBUG_INTRO" class with dummy
18114	  placeholder (to preserve numbering), to help prevent accidentally
18115	  adding these back.
18116
18117Sun Apr 20 09:46:11 GMT 2008  Olly Betts <olly@survex.com>
18118
18119	* api/omqueryinternal.cc,common/: Stop describing get_description() as
18120	  an "Introspection method" internal (matching earlier change to stop
18121	  doing so externally).  This doesn't help to explain what it does,
18122	  and get_description() doesn't actually fall under any of the formal
18123	  definitions of "introspection" I can find.
18124
18125Fri Apr 18 10:26:18 GMT 2008  Olly Betts <olly@survex.com>
18126
18127	* backends/chert/chert_metadata.cc: Fix renamed parameter in debug
18128	  logging.
18129
18130Fri Apr 18 10:18:35 GMT 2008  Olly Betts <olly@survex.com>
18131
18132	* HACKING,INSTALL,Makefile.am,backends/Makefile.mk,backends/chert/,
18133	  backends/database.cc,backends/flint/,backends/remote/net_postlist.cc,
18134	  backends/remote/net_postlist.h,bin/,common/,configure.ac,docs/,
18135	  include/xapian/dbfactory.h,include/xapian/version_h.cc,
18136	  net/remoteserver.cc,tests/Makefile.am,tests/harness/: Start new
18137	  development backend "chert".  Currently the change over flint is
18138	  that in the postlist table, doclengths are stored once in a
18139	  chunked postlist-like form, rather than once per posting.
18140
18141Tue Apr 15 23:24:39 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18142
18143	* api/omenquire.cc,tests/api_nodb.cc: Fix segfault introduced by
18144	  previous change when asking for the termfreq on an empty mset.
18145	  Include a regression test.
18146
18147Tue Apr 15 06:02:12 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18148
18149	* include/xapian/enquire.h: Change definition of MSet::get_termfreq
18150	  such that it will fall back to looking the term frequency up in
18151	  the database rather than raising an exception if the term is not
18152	  present in the mset.
18153	* api/omenquire.cc,common/omenquireinternal.h: Implementation of
18154	  the above.
18155	* tests/api_anydb.cc: Test the above.
18156
18157Mon Apr 14 21:29:59 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18158
18159	* tests/: Use copies of freemem.cc and freemem.h from omega to report
18160	  the free physical memory at each stage of indexing.  Also, add a
18161	  get_total_physical_memory() function to this, and report it's
18162	  value at the top of the results file (only tested on Linux so
18163	  far).
18164
18165Mon Apr 14 19:17:22 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18166
18167	* tests/api_wrdb.cc: Make skip_to() test a bit more comprehensive.
18168
18169Mon Apr 14 19:08:49 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18170
18171	* backends/flint/flint_metadata.cc,backends/flint/flint_metadata.h:
18172	  Fix a bug in the skip_to() implementation, and set the parameter
18173	  name to "key" instead of "tname", since it's not a term.
18174	* tests/api_wrdb.cc: Add a test of the metadata iterators.
18175
18176Mon Apr 14 14:22:16 GMT 2008  Olly Betts <olly@survex.com>
18177
18178	* backends/Makefile.mk,backends/flint/Makefile.mk,
18179	  backends/flint/contiguousalldocspostlist.cc,
18180	  backends/flint/contiguousalldocspostlist.h,common/Makefile.mk:
18181	  The ContiguousAllDocsPostList class isn't flint-specific, so move
18182	  it out of backends/flint.
18183
18184Mon Apr 14 13:56:51 GMT 2008  Olly Betts <olly@survex.com>
18185
18186	* backends/flint/flint_database.cc: Removed duplicate
18187	  '#include "flint_database.h"', ironically added by Richard's recent
18188	  change.  Fix a couple of errors in alphabetical ordering, and
18189	  move autoptr.h and the "safe" headers to where the standard headers
18190	  they replace would go.
18191
18192Mon Apr 14 13:44:37 GMT 2008  Olly Betts <olly@survex.com>
18193
18194	* Makefile.am,tests/Makefile.am: List check-perf in .PHONY.
18195	* HACKING: Document the need to list non-file targets in .PHONY.
18196
18197Mon Apr 14 07:59:56 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18198
18199	* api/omdatabase.cc: Correct return type in a DEBUGAPICALL macro.
18200
18201Mon Apr 14 07:14:01 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18202
18203	* api/omdatabase.cc,backends/database.cc,backends/flint/,
18204	  common/database.h,include/xapian/database.h: Add
18205	  metadata_keys_begin() and metadata_keys_end() methods to
18206	  Database, to allow the complete list of metadata in a database to
18207	  be retrieved.  Supports a prefix argument to obtain a limited
18208	  subset of the keys, since that may be useful in some situations
18209	  and is very easy to implement.  Only accesses the keys in the
18210	  first database in a multidatabase situation (which corresponds
18211	  with the current behaviour of get_metadata()).
18212	  Also, reorder the includes in flint_database.cc to be largely
18213	  alphabetical, and remove a duplicated #include of
18214	  <xapian/error.h>.
18215
18216Mon Apr 14 06:51:48 GMT 2008  Olly Betts <olly@survex.com>
18217
18218	* common/fileutils.cc: Use endswith().
18219
18220Mon Apr 14 06:14:44 GMT 2008  Olly Betts <olly@survex.com>
18221
18222	* api/replication.cc,backends/database.cc,
18223	  backends/flint/flint_database.cc,common/fileutils.cc,
18224	  tests/queryparsertest.cc: Use empty() rather than comparing size()
18225	  to 0.  Use startswith() in a couple of places.  Tweak an Assert
18226	  to AssertEq.
18227
18228Sun Apr 13 14:30:55 GMT 2008  Olly Betts <olly@survex.com>
18229
18230	* api/omdatabase.cc: Replace uses of DEBUGLINE(SPELLING, ...) in
18231	  Database::get_spelling_suggestion() with standard
18232	  DEBUGAPICALL/RETURN tracing.  Add DEBUGAPICALL/RETURN tracing to
18233	  a few Database methods which were missing it.
18234
18235Sun Apr 13 14:15:00 GMT 2008  Olly Betts <olly@survex.com>
18236
18237	* backends/flint/flint_cursor.cc: Use RETURN() in a few places which
18238	  weren't.
18239
18240Sun Apr 13 13:59:57 GMT 2008  Olly Betts <olly@survex.com>
18241
18242	* backends/inmemory/inmemory_database.cc: Remove long-time commented
18243	  out uses of DebugMsg.
18244
18245Sun Apr 13 13:52:32 GMT 2008  Olly Betts <olly@survex.com>
18246
18247	* expand/expandweight.cc: Use DEBUGLINE() instead of DEBUGMSG().
18248
18249Sun Apr 13 11:23:56 GMT 2008  Olly Betts <olly@survex.com>
18250
18251	* backends/flint/flint_database.cc: Include corresponding header right
18252	  after config.h.
18253
18254Sun Apr 13 10:28:27 GMT 2008  Olly Betts <olly@survex.com>
18255
18256	* backends/flint/flint_database.cc: Tweak brace formatting and wrap a
18257	  comment.
18258
18259Fri Apr 11 16:18:14 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18260
18261	* common/fileutils.cc: Fix typo in windows specific code.
18262
18263Fri Apr 11 12:44:25 GMT 2008  Olly Betts <olly@survex.com>
18264
18265	* backends/flint/flint_cursor.cc: Include corresponding header right
18266	  after config.h.
18267
18268Fri Apr 11 10:25:03 GMT 2008  Olly Betts <olly@survex.com>
18269
18270	* backends/flint/flint_cursor.h: Fix filename in header comment.
18271
18272Fri Apr 11 04:49:03 GMT 2008  Olly Betts <olly@survex.com>
18273
18274	* configure.ac,tests/submitperftest.in,tests/submitperftest.py.in:
18275	  Rename submitperftest.py to submitperftest.
18276	* HACKING: Document that scripts shouldn't generally have an
18277	  extension, and the reason for this policy.
18278
18279Fri Apr 11 04:32:15 2008  Olly Betts <olly@survex.com>
18280
18281	* HACKING: Note that GCC 4.3 no longer supports pre-ISO forms of
18282	  standard headers, such as <list.h>.  GCC on Solaris now seems
18283	  to support throwing exceptions across shared library boundaries.
18284
18285Fri Apr 11 03:24:47 GMT 2008  Olly Betts <olly@survex.com>
18286
18287	* tests/Makefile.am: "make up" in tests now does "make" in the
18288	  top-level.
18289
18290Thu Apr 10 08:33:06 GMT 2008  Olly Betts <olly@survex.com>
18291
18292	* backends/flint/flint_postlist.cc: Fix debug logging message: ostList
18293	  -> FlintPostList.
18294
18295Thu Apr 10 05:47:37 GMT 2008  Olly Betts <olly@survex.com>
18296
18297	* net/remoteconnection.cc: Remove erroneous FIXME comments talking
18298	  about ReadFile() not updating WSAOVERLAPPED's Offset/OffsetHigh
18299	  being a problem with using _get_osfhandle() - ReadFile is documented
18300	  to behave this way on MSDN.  Factor out update of Offset/OffsetHigh
18301	  and tweak this code not to rely on off_t being 64 bits.
18302
18303Thu Apr 10 05:24:11 GMT 2008  Olly Betts <olly@survex.com>
18304
18305	* backends/flint/flint_record.cc,backends/flint/flint_utils.h: Use
18306	  the new STATIC_ASSERT family of macros instead of CASSERT and
18307	  CASSERT_TYPE_UNSIGNED.
18308
18309Thu Apr 10 04:46:40 GMT 2008  Olly Betts <olly@survex.com>
18310
18311	* common/omassert.h: Add "compile-time assertion" macros:
18312	  STATIC_ASSERT(COND), STATIC_ASSERT_UNSIGNED_TYPE(TYPE),
18313	  STATIC_ASSERT_TYPE_DOMINATES(TYPE1, TYPE2).
18314	* tests/internaltest.cc: Test these.
18315
18316Thu Apr 10 01:07:34 GMT 2008  Olly Betts <olly@survex.com>
18317
18318	* common/remoteprotocol.h,net/remoteserver.cc: Clean up a couple more
18319	  things now we've moved to major protocol version 31.
18320
18321Wed Apr 09 06:50:44 GMT 2008  Olly Betts <olly@survex.com>
18322
18323	* backends/remote/remote-database.cc: Add missing explicit include of
18324	  remote-database.h.
18325
18326Wed Apr 09 04:48:54 GMT 2008  Olly Betts <olly@survex.com>
18327
18328	* bin/xapian-check.cc,bin/xapian-compact.cc: Fix check for user
18329	  metadata key to not match other key types we may add in the future.
18330	  When compacting, we can't assume how we should handle them.  When
18331	  checking, they currently shouldn't be present, so we should flag
18332	  an error for them.
18333
18334Tue Apr 08 15:27:09 GMT 2008  Olly Betts <olly@survex.com>
18335
18336	* NEWS: Fix missing line in old entry.
18337
18338Mon Apr 07 07:49:56 GMT 2008  Olly Betts <olly@survex.com>
18339
18340	* backends/flint/flint_btreeutil.h: Use AssertRel rather than Assert.
18341
18342Mon Apr 07 06:20:42 GMT 2008  Olly Betts <olly@survex.com>
18343
18344	* api/error.cc,api/valuerangeproc.cc,backends/flint/flint_table.cc,
18345	  backends/multi/multi_postlist.cc,backends/remote/net_termlist.cc,
18346	  bin/xapian-inspect.cc,common/omdebug.cc,common/utils.cc,
18347	  languages/stem.cc,languages/steminternal.cc,
18348	  tests/harness/backendmanager_multi.cc,
18349	  tests/harness/backendmanager_remotetcp.cc: Header inclusions tidying
18350	  - remove a few redundant inclusions; prefer cstdio to stdio.h, etc
18351	  in a few places; note why certain headers are required in cases
18352	  where it's less obvious; in a .cc file, include the corresponding .h
18353	  second (after <config.h>).
18354
18355Mon Apr 07 04:23:30 GMT 2008  Olly Betts <olly@survex.com>
18356
18357	* configure.ac: Fix --enable-log=profile to be recognised.
18358	* common/omdebug.cc,common/omdebug.h: Fix build with
18359	  --enable-log=profile.
18360	* HACKING: Actually document --enable-log=profile.
18361
18362Sat Apr 05 21:07:38 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18363
18364	* tests/perftest.cc: Flush after each write, so we can monitor
18365	  progress of long running tests (we might need to remove this
18366	  again later, if profiling shows it has a noticeable impact).  Fix
18367	  two calls to write() to be a single call.
18368	* tests/perftest_randomidx.cc: Add values to different slots; I'd
18369	  added them all to slot 0 by mistake, so they were overwriting
18370	  each other.
18371
18372Sat Apr 05 20:17:43 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18373
18374	* tests/Makefile.am,tests/perftest_randomidx.cc: Add a new
18375	  performance test which builds a randomly generated index, and
18376	  times the index run.  Probably wants a bit more tweaking to make
18377	  it slightly more representative, but should be a useful test to
18378	  run on systems where downloading a large amount of data is
18379	  impractical.
18380	* ChangeLog: Add missing log message for last commit.
18381
18382Sat Apr 05 20:16:58 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18383
18384	* tests/perftest.cc,tests/perftest.h: Log indexing runs every 5
18385	  seconds, as well as after every 1000 documents - gives useful
18386	  information for slow index runs.
18387
18388Thu Apr 03 20:58:31 GMT 2008  Olly Betts <olly@survex.com>
18389
18390	* backends/database.cc,include/xapian/dbfactory.h,
18391	  include/xapian/version_h.cc: Remove lingering traces of quartz.
18392
18393Thu Apr 03 07:59:53 GMT 2008  Olly Betts <olly@survex.com>
18394
18395	* bin/xapian-inspect.cc: Print top-bit-set characters as escaped
18396	  hex forms as they often won't be valid UTF-8 sequences.
18397
18398Thu Apr 03 03:53:37 GMT 2008  Olly Betts <olly@survex.com>
18399
18400	* bin/xapian-inspect.cc: Check for the user passing a database
18401	  directory and issue a special error message since this is an obvious
18402	  mistake to make.
18403
18404Wed Apr 02 07:00:36 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18405
18406	* matcher/multimatch.cc: Modify the estimate for the number of hits
18407	  based on the rate at which a match decider has been denying
18408	  documents.  Also, reduce the upper bound based on the number of
18409	  documents denied.
18410	* tests/api_db.cc: Check that the upper bound when a match decider
18411	  is used is within the valid range, rather than a particular
18412	  value.
18413
18414Tue Apr 01 22:40:19 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18415
18416	* configure.ac,tests/perftest.cc,tests/submitperftest.py.in,
18417	  tests/urllib2_file.py: Fix display of upper bound on number of
18418	  results of search (was showing lower bound).  Fix display of
18419	  closing <repetition> tags.  Add script to submit the results of a
18420	  performance test to a central server.
18421
18422Tue Apr 01 11:19:58 GMT 2008  Olly Betts <olly@survex.com>
18423
18424	* backends/flint/flint_table.cc,backends/flint/flint_table.h:
18425	  Gently rearrange where and how we check for overlong keys.
18426	* tests/api_wrdb.cc: Extend termtoolong1 to test that the "term too
18427	  long" exception messages contain the length correctly.
18428
18429Tue Apr 01 06:06:43 GMT 2008  Olly Betts <olly@survex.com>
18430
18431	* AUTHORS,HACKING,INSTALL,README,debian/control.in,debian/copyright,
18432	  docs/install.html,xapian-core.spec.in: Standardise URLs on our
18433	  website to be xapian.org not www.xapian.org.
18434
18435Tue Apr 01 03:44:32 GMT 2008  Olly Betts <olly@survex.com>
18436
18437	* backends/flint/flint_record.cc,backends/flint/flint_values.cc,
18438	  common/,docs/quickstartexpand.cc.html,docs/quickstartindex.cc.html,
18439	  docs/quickstartsearch.cc.html,matcher/: Update the FSF address for
18440	  the small number of files which still have the old one.  Remove the
18441	  "START_LICENCE" and "END_LICENCE" markers from the small number of
18442	  files which still have them.
18443
18444Tue Apr 01 02:23:27 GMT 2008  Olly Betts <olly@survex.com>
18445
18446	* backends/remote/remote-database.cc,common/remoteprotocol.h,
18447	  common/remoteserver.h,common/serialise.h,docs/remote_protocol.html,
18448	  net/remoteserver.cc,net/serialise.cc: Update remote protocol to
18449	  a new major version (31) and strip out all the gunk that's only
18450	  there to keep it compatible with older version 30 clients.
18451
18452Tue Apr 01 00:12:38 GMT 2008  Olly Betts <olly@survex.com>
18453
18454	* api/ompostlistiterator.cc,include/xapian/postingiterator.h: Remove
18455	  the method Xapian::PostingIterator::get_weight() which has been
18456	  commented out almost forever.  Weight-handling isn't really
18457	  appropriate here.
18458	* api/ompostlistiterator.cc: Remove "\todo" since it's already done!
18459
18460Mon Mar 31 13:24:11 GMT 2008  Olly Betts <olly@survex.com>
18461
18462	* backends/flint/: Remove unnecessary default dtors.
18463
18464Mon Mar 31 13:21:55 GMT 2008  Olly Betts <olly@survex.com>
18465
18466	* HACKING: Document to prefer "new SomeClass" to "new SomeClass()".
18467	* api/omdocument.cc,api/omenquire.cc,backends/database.cc,
18468	  backends/flint/flint_database.cc,
18469	  backends/inmemory/inmemory_database.cc,matcher/multimatch.cc,
18470	  matcher/queryoptimiser.cc,net/remoteserver.cc: Fix instances of
18471	  the latter form to use the former form.
18472
18473Mon Mar 31 12:11:09 GMT 2008  Olly Betts <olly@survex.com>
18474
18475	* tests/: Update svn:ignore property for perftest changes and remove
18476	  quartz-related entries.
18477	* tests/perftest.cc: Add missing '#include "utils.h"'.
18478
18479Mon Mar 31 09:22:35 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18480
18481	* Makefile.am,tests/,tests/harness/,tests/perftest.cc,tests/perftest.h,
18482	  tests/perftest_matchdecider.cc: Rework the test collation
18483	  mechanism slightly to allow it to be used by other testsuites:
18484	  rename collate-apitest to collate-test, and add a parameter to it
18485	  naming the output file.  Add new "testrunner.h" and
18486	  "testrunner.cc" which are an equivalent to the old mechanism in
18487	  apitest for running tests with various properties; the properties
18488	  for each backend are now held as member variables of a TestRunner
18489	  class, and testsuites (eg, apitest) subclass this and implement a
18490	  "run()" method, which will be called for each backend with the
18491	  appropriate properties set.  Move definition of DEFINE_TESTCASE
18492	  macro into testsuite.h.  Add new testsuite "perftest", which is
18493	  intended to contain potentially time consuming performance tests,
18494	  logging the results to an XML file for later analysis.  Add a
18495	  simple test of the ValueSetMatchDeciders to this testsuite.
18496	  "perftest" isn't run by make check, because it is likely to take
18497	  some hours to complete in future - instead, there's a new
18498	  top-level target "check-perf" which builds and runs perftest.
18499
18500Mon Mar 31 08:13:21 GMT 2008  Olly Betts <olly@survex.com>
18501
18502	* HACKING: Recommend using the "svn-ci" script.  Update the date
18503	  command which produces the correct format timestamp for ChangeLog
18504	  entries.
18505
18506Mon Mar 31 08:00:58 GMT 2008  Olly Betts <olly@survex.com>
18507
18508	* backends/flint/flint_btreeutil.h: Fix some out-of-date comments.
18509	* configure.ac: Use AC_CHECK_SIZEOF to define SIZEOF_INT and
18510	  SIZEOF_LONG.
18511	* backends/flint/flint_types.h: Use SIZEOF_INT and SIZEOF_LONG to
18512	  determine the type of uint4 rather than always using unsigned long
18513	  (which is 64 bits on most 64 bit Unix platforms).  Drop int4 for
18514	  the time being, as we don't actually use it.
18515
18516Mon Mar 31 06:34:20 GMT 2008  Olly Betts <olly@survex.com>
18517
18518	* backends/flint/flint_positionlist.cc: Refactor BitWriter::encode()
18519	  to have a single call to write_bits(), and don't include it inline
18520	  in the class as it's really a bit big to inline (and write_bits()
18521	  should now be inlined into it, or at least tail-called).
18522
18523Mon Mar 31 05:33:02 GMT 2008  Olly Betts <olly@survex.com>
18524
18525	* backends/flint/flint_positionlist.cc: Reorder header includes to
18526	  match our new standard more closely.  Indent class definitions to
18527	  match our coding standards.
18528
18529Mon Mar 31 05:31:59 GMT 2008  Olly Betts <olly@survex.com>
18530
18531	* backends/flint/flint_positionlist.h: Remove unnecessary default
18532	  dtor.
18533
18534Mon Mar 31 04:55:59 GMT 2008  Olly Betts <olly@survex.com>
18535
18536	* backends/remote/net_document.cc,backends/remote/net_document.h:
18537	  Rename "doc" member to "data" since it actually holds the document
18538	  data.
18539
18540Mon Mar 31 03:25:21 GMT 2008  Olly Betts <olly@survex.com>
18541
18542	* backends/flint/flint_document.cc,backends/flint/flint_document.h:
18543	  Remove unnecessary default dtor.
18544
18545Mon Mar 31 02:53:48 GMT 2008  Olly Betts <olly@survex.com>
18546
18547	* backends/inmemory/inmemory_alltermslist.cc,
18548	  backends/inmemory/inmemory_alltermslist.h: Remove unnecessary
18549	  default dtor.
18550	* backends/inmemory/inmemory_alltermslist.h: Fix bogus cut-and-pasted
18551	  doxygen comment for ctor.
18552
18553Mon Mar 31 02:33:15 GMT 2008  Olly Betts <olly@survex.com>
18554
18555	* common/inmemory_positionlist.h: Remove unnecessary default
18556	  destructor.  Fix comment type ("inemory" -> "inmemory").
18557
18558Sun Mar 30 12:47:50 GMT 2008  Olly Betts <olly@survex.com>
18559
18560	* include/xapian/queryparser.h: Drop explicit dtor for SimpleStopper
18561	  which does nothing.
18562
18563Sun Mar 30 12:12:12 GMT 2008  Olly Betts <olly@survex.com>
18564
18565	* include/xapian/valuesetmatchdecider.h: Don't bother checking if an
18566	  element is present before calling std::set::erase().  Don't bother
18567	  defining an explicit dtor which does nothing.
18568
18569Sat Mar 29 00:46:13 GMT 2008  Olly Betts <olly@survex.com>
18570
18571	* tests/api_db.cc: Test matchfunctor bounds in combination with
18572	  collapsing and percentage cutoff.  Also, range check
18573	  get_matches_estimated rather than checking it's exactly the value
18574	  currently returned.
18575
18576Fri Mar 28 21:37:27 GMT 2008  Olly Betts <olly@survex.com>
18577
18578	* tests/api_nodb.cc: Test ValueSetMatchDecider::remove_value() for a
18579	  value which isn't in the set.  Test that removing a value doesn't
18580	  affect other values in the set.
18581
18582Fri Mar 28 21:03:30 GMT 2008  Olly Betts <olly@survex.com>
18583
18584	* matcher/multimatch.cc: Avoid needless call to pl->get_termfreq_est()
18585	  if we're using a matchdecider or matchspy.
18586
18587Fri Mar 28 10:28:51 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18588
18589	* matcher/multimatch.cc: Set matches_lower_bound to 0 before
18590	  starting the match process if there is a match decider or spy;
18591	  previously, the lower_bound wasn't being reduced in the presence
18592	  of a match decider unless all the potential results were
18593	  retrieved.
18594	* tests/api_db.cc: Extend matchfunctor1 to check the bounds and
18595	  estimates returned; includes a regression test for the above.
18596
18597Fri Mar 28 09:09:54 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18598
18599	* tests/api_nodb.cc: Extend tests to check ValueSetMatchDecider
18600	  remove_value and also ValueSetMatchDeciders holding more than one
18601	  value.
18602
18603Fri Mar 28 02:41:45 GMT 2008  Olly Betts <olly@survex.com>
18604
18605	* configure.ac: Update version info to match 1.0.6.
18606
18607Fri Mar 28 00:12:48 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18608
18609	* api/omenquire.cc,include/xapian/enquire.h: Merge two of the
18610	  get_mset() variants into one, with default arguments, which has
18611	  exactly the same effect.  We added the two variants to preserve
18612	  ABI compatibility, and now we're branched for 1.1 this is no
18613	  longer necessary.
18614
18615Thu Mar 27 23:54:39 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18616
18617	* api/valuesetmatchdecider.cc,include/xapian.h,
18618	  include/xapian/valuesetmatchdecider.h: Add ValueSetMatchDecider,
18619	  which is a matchdecider which is intended to be passed a set of
18620	  values to look for in documents, and selects documents based on
18621	  the presence of those values.
18622	* tests/api_db.cc,tests/api_nodb.cc: Add tests for the
18623	  ValueSetMatchDecider - both for calling it standalone, and when
18624	  passed to get_mset().
18625	* api/Makefile.mk,include/Makefile.mk: Tell build system about new
18626	  files.
18627
18628Thu Mar 27 06:18:52 GMT 2008  Olly Betts <olly@survex.com>
18629
18630	* api/omqueryinternal.cc: Initialise term_pos in previous change to
18631	  fix valgrind-detected error.
18632
18633Thu Mar 27 06:13:01 GMT 2008  Olly Betts <olly@survex.com>
18634
18635	* api/omqueryinternal.cc: Optimise Query(OP_VALUE_GE, <n>, "") to
18636	  Query::MatchAll.
18637	* tests/api_nodb.cc: Add testcase for this case.
18638
18639Thu Mar 27 04:34:40 GMT 2008  Olly Betts <olly@survex.com>
18640
18641	* backends/inmemory/inmemory_document.cc,
18642	  backends/inmemory/inmemory_document.h: Rename "doc" member to
18643	  "data" since it actually holds the document data.
18644	* backends/inmemory/inmemory_database.cc: Remove unused <stdio.h>.
18645	  Include "inmemory_database.h" right after <config.h>.
18646
18647Wed Mar 26 23:44:03 GMT 2008  Olly Betts <olly@survex.com>
18648
18649	* api/omenquire.cc: Throw InvalidArgumentError upon
18650	  RSet::add_document(0).
18651	* tests/api_nodb.cc: Add regression test for this.
18652	* matcher/rset.cc: Add assertion that we don't see a zero docid when
18653	  calculating rtermfreqs.
18654	* api/omdocument.cc: Use RETURN not return so debug logging sees the
18655	  return value.
18656	* backends/inmemory/inmemory_database.cc,
18657	  backends/remote/remote-database.cc: Change exception throwing for
18658	  a zero docid to assertions since zero docids should be checked for
18659	  before we get to here.
18660
18661Wed Mar 26 06:17:51 GMT 2008  Olly Betts <olly@survex.com>
18662
18663	* common/postlist.h: Decree that PostList::check() must be passed a
18664	  docid which actually exists in the database (which is always true
18665	  currently and seems unlikely to be an onerous requirement).
18666	* matcher/valuegepostlist.cc,matcher/valuerangepostlist.cc: Take
18667	  advantage of this new precondition to simplify the code.
18668	* matcher/valuegepostlist.cc,matcher/valuerangepostlist.cc: Move the
18669	  corresponding header first as our header inclusion order guidelines
18670	  recommend.
18671
18672Thu Mar 13 01:58:18 GMT 2008  Olly Betts <olly@survex.com>
18673
18674	* common/stats.h,include/xapian/enquire.h,matcher/localmatch.cc,
18675	  matcher/weight.cc: Untangle Xapian::Weight to just initialise
18676	  internal to 0 in its ctor, which is an ABI change.  Resolves
18677	  a load of FIXME:1.1 comments.
18678
18679Thu Mar 13 00:50:06 GMT 2008  Olly Betts <olly@survex.com>
18680
18681	* backends/flint/flint_lock.cc: Remove workaround for newlib which we
18682	  don't seem to need elsewhere and was marked "FIXME:1.1".
18683
18684Thu Mar 13 00:49:27 GMT 2008  Olly Betts <olly@survex.com>
18685
18686	* docs/deprecation.rst: Fix footnote ids after deprecation updates.
18687
18688Wed Mar 12 10:08:37 GMT 2008  Olly Betts <olly@survex.com>
18689
18690	* tests/stemtest.cc: Remove support for OM_STEMTEST_SKIP_RANDOM,
18691	  OM_STEMTEST_LANGUAGES, and OM_STEMTEST_SEED.
18692
18693Wed Mar 12 08:30:48 GMT 2008  Olly Betts <olly@survex.com>
18694
18695	* docs/deprecation.rst: Update for bindings removals for 1.1.0.
18696
18697Wed Mar 12 06:59:25 GMT 2008  Olly Betts <olly@survex.com>
18698
18699	* docs/deprecation.rst: Update for Omega removals for 1.1.0.
18700
18701Wed Mar 12 05:11:53 GMT 2008  Olly Betts <olly@survex.com>
18702
18703	* api/omenquire.cc,api/omquery.cc,api/version.cc,docs/,
18704	  generate-exceptions.in,include/xapian.h,include/xapian/enquire.h,
18705	  include/xapian/query.h,tests/api_db.cc,tests/api_wrdb.cc,
18706	  tests/apitest.cc,tests/harness/,tests/internaltest.cc: Remove all
18707	  xapian-core features marked for removal in 1.1.0.
18708
18709Wed Mar 12 03:28:18 GMT 2008  Olly Betts <olly@survex.com>
18710
18711	* HACKING,INSTALL,Makefile.am,backends/Makefile.mk,
18712	  backends/dir_contents,backends/quartz/,bin/,configure.ac,docs/,
18713	  tests/,tests/harness/,tests/quartztest.cc,tests/testdata/,
18714	  xapian-core.spec.in: Remove the quartz backend.
18715
18716Wed Mar 12 02:14:33 GMT 2008  Olly Betts <olly@survex.com>
18717
18718	* m4/xapian.m4: Improve wording of the error message when we can't
18719	  find xapian-config.
18720
18721Wed Mar 12 02:13:32 GMT 2008  Olly Betts <olly@survex.com>
18722
18723	* INSTALL: Minor wording tweak.
18724
18725Wed Mar 12 01:44:42 GMT 2008  Olly Betts <olly@survex.com>
18726
18727	* bin/xapian-compact.cc: Initialise PostlistCursor member firstdid to
18728	  avoid using it uninitialised when merging user metadata and the same
18729	  key is present in more than one source database.  If the same user
18730	  metadata key is present in more than one source database, copy an
18731	  arbitrary tag value.
18732
18733Wed Mar 12 00:34:04 GMT 2008  Olly Betts <olly@survex.com>
18734
18735	* bin/xapian-compact.cc: Fix potential SEGV (which I think can occur
18736	  when compacting database(s) with user metadata but no postings).
18737
18738Fri Mar 07 09:46:38 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18739
18740	* common/serialise.h: Add missing std:: before string.
18741
18742Fri Mar 07 00:47:06 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18743
18744	* api/replication.cc: Tidy up a line which was wider than 80
18745	  columns, and improve the error message returned when a database
18746	  replica doesn't contain exactly one subdatabase.
18747
18748Fri Mar 07 00:34:28 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18749
18750	* common/serialise.h,net/remoteconnection.cc,net/serialise.cc:
18751	  Change encode_length() to a template, to allow the full range of
18752	  off_t values to be encoded.  Also, adjust
18753	  RemoteConnection::get_message_chunked() to allow the message
18754	  length to be a 64 bit quantity.  Also, make a couple of type
18755	  conversions to size_t explicit, to remove some warnings on
18756	  windows.
18757
18758Thu Mar 06 01:57:04 GMT 2008  Olly Betts <olly@survex.com>
18759
18760	* NEWS: Update from ChangeLog.
18761
18762Thu Mar 06 01:44:07 GMT 2008  Olly Betts <olly@survex.com>
18763
18764	* bin/xapian-check.cc: Fix terminology - "user metadata" not "user
18765	  metainfo".  Fix bug - need to invoke is_user_metadata rather than
18766	  using the function pointer as the if condition!
18767
18768Thu Mar 06 01:41:09 GMT 2008  Olly Betts <olly@survex.com>
18769
18770	* bin/xapian-compact.cc: Fix terminology - "user metadata" not "user
18771	  metainfo".
18772
18773Wed Mar 05 21:17:02 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18774
18775	* net/remoteconnection.cc: Add some casts (in the windows-specific
18776	  code) to fix some warnings from MSVC.
18777
18778Wed Mar 05 19:01:35 GMT 2008  Olly Betts <olly@survex.com>
18779
18780	* NEWS: Update to 1.0 branch point.
18781
18782Wed Mar 05 19:00:07 GMT 2008  Olly Betts <olly@survex.com>
18783
18784	* common/msvc_dirent.cc: Tweak to bring comment back into 80 columns.
18785
18786Wed Mar 05 16:35:33 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18787
18788	* common/msvc_dirent.cc: Fix sense of check for ENOENT after
18789	  calling _findnext() - it should be checked for when an error code
18790	  is returned, not when the call succeeds.
18791	* tests/api_replicate.cc: Fix tiny capitalisation typo.
18792
18793Wed Mar 05 16:29:47 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18794
18795	* common/fileutils.cc: Check case where a backslash isn't found in
18796	  calc_dirname, and don't replace slash with backslash in this
18797	  case.
18798
18799Wed Mar 05 09:30:42 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18800
18801	* bin/xapian-check.cc: Add understanding of user metainfo keys in
18802	  the postlist table.  Allow the METAINFO key to be absent if the
18803	  table only contains user metainfo keys.
18804
18805Wed Mar 05 09:01:48 GMT 2008  Olly Betts <olly@survex.com>
18806
18807	* common/msvc_dirent.cc,common/msvc_dirent.h: Move licence boilerplate
18808	  up front where we have it in every other file.  Move header guards
18809	  to the usual location.  Detail the fix we've made for not setting
18810	  errno to ENOENT erroneously.  Push the setting of orig_errno down
18811	  a bit.
18812
18813Wed Mar 05 04:57:44 GMT 2008  Olly Betts <olly@survex.com>
18814
18815	* configure.ac: -pedantic isn't actually very useful so just drop it
18816	  rather than testing for known problem cases and risking unknown
18817	  problem cases.
18818
18819Wed Mar 05 03:10:24 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18820
18821	* matcher/valuegepostlist.cc,matcher/valuegepostlist.h: Implement
18822	  skip_to method for ValueGePostList.  Previously, the
18823	  ValueRangePostList::skip_to method was used, which would
18824	  return incorrect documents.
18825
18826Wed Mar 05 02:54:27 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18827
18828	* common/fileutils.cc: Search for \ instead of / when looking for a
18829	  backslash!
18830
18831Wed Mar 05 02:51:49 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18832
18833	* common/fileutils.cc: Fix incorrect docstring.
18834
18835Tue Mar 04 18:48:25 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18836
18837	* common/msvc_dirent.cc: Fix readdir() so that it doesn't change
18838	  errno to ENOENT on reaching the end of the directory, as
18839	  specified by POSIX.
18840
18841Tue Mar 04 17:54:56 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18842
18843	* net/remoteconnection.cc: Fix for a problem with windows.  Because
18844	  we're using mixed styles of windows file IO, if a file descriptor
18845	  which actually corresponds to a file was supplied to remote
18846	  connection, the file pointer wasn't being adjusted after each
18847	  call to ReadFile or WriteFile.  This manifested in the test case
18848	  for replication, resulting in a (corrupt) 2048 byte changeset
18849	  file being written (instead of a considerably longer changeset).
18850	  To work around this, we explicitly move the file pointer
18851	  ourselves.
18852
18853Tue Mar 04 17:41:38 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18854
18855	* tests/api_replicate.cc: Close the replica before removing the
18856	  temporary directory, to allow the rmdir to work on windows.
18857
18858Thu Feb 28 16:41:34 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18859
18860	* common/remoteconnection.h: Include safeunistd.h, to get correct
18861	  typedef for off_t on windows - previously, the size of the
18862	  RemoteConnection class was varying depending on the order in
18863	  which header files were included, resulting in memory corruption.
18864	* net/remoteserver.cc: Remove incorrect comment about what the
18865	  problem was.
18866
18867Sat Feb 23 23:40:56 GMT 2008  Olly Betts <olly@survex.com>
18868
18869	* xapian-config.in: Use globbing rather than iterating over the output
18870	  of ls.
18871
18872Sat Feb 23 23:33:39 GMT 2008  Olly Betts <olly@survex.com>
18873
18874	* xapian-config.in: Fix not to repeated headers in --swigheaders in a
18875	  non-VPATH build.
18876
18877Fri Feb 22 17:20:19 GMT 2008  Olly Betts <olly@survex.com>
18878
18879	* HACKING: Add note about preferring std::string().
18880
18881Fri Feb 22 17:05:11 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18882
18883	* net/remoteserver.cc: Use std::string() instead of
18884	  std::string(""), since it's a bit cleaner.
18885
18886Fri Feb 22 16:50:32 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18887
18888	* net/remoteserver.cc: Add workaround for bug in MSVC 2005.
18889
18890Fri Feb 22 14:39:03 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18891
18892	* backends/flint/flint_database.cc,backends/flint/flint_table.cc,
18893	  backends/quartz/btree.cc: Use msvc_posix_rename() instead of
18894	  rename() when renaming base files, so that an error isn't
18895	  returned if the destination already exists.
18896
18897Thu Feb 21 17:24:14 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18898
18899	* common/msvc_dirent.cc: Include msvc_dirent.h instead of dirent.h
18900
18901Thu Feb 21 17:09:01 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18902
18903	* common/database.h: ReplicationInfo is a struct, not a class, so
18904	  forward declare it as such.
18905
18906Thu Feb 21 12:16:23 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18907
18908	* common/Makefile.mk: Add common/safedirent.h to distribution.
18909
18910Thu Feb 21 00:25:33 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18911
18912	* xapian-config.in: Add swigheaders option, listing the header
18913	  files used by swig, so that we can add the appropriate
18914	  dependencies to the makefiles in the bindings.
18915
18916Wed Feb 20 20:59:55 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18917
18918	* include/xapian/replication.h: Add a ReplicationInfo structure,
18919	  and use it to return information about what has been done when
18920	  the replication methods are called.
18921	* api/replication.cc,backends/database.cc,
18922	  backends/flint/flint_database.cc,backends/flint/flint_database.h,
18923	  common/database.h,common/replicatetcpclient.h,
18924	  common/replicatetcpserver.h,net/replicatetcpclient.cc,
18925	  net/replicatetcpserver.cc: Populate a ReplicationInfo structure
18926	  when updating a replica, or sending changes to a file descriptor.
18927	  Also, fix a bug with reading the replication parameters from a
18928	  file, which caused a full database copy to be performed on every
18929	  replication request on a newly opened DatabaseReplica object.
18930	* bin/xapian-replicate.cc: When doing verbose logging, display the
18931	  number of database copies and changesets applied, and whether the
18932	  live database has been updated.
18933	* tests/api_replicate.cc: Check that the information returned by
18934	  the replication methods is as is should be, and add a regression
18935	  test for always copying the database.
18936
18937Wed Feb 20 11:20:55 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18938
18939	* backends/flint/: Improve reporting of failures to obtain lock due
18940	  to unexpected errors - the error messages included in the
18941	  exceptions raised are now more verbose in many situations.  Also,
18942	  if the lock can't be obtained when a database is being created,
18943	  report the lock failure, not a DatabaseOpeningError - it's more
18944	  useful to know that the lock attempt failed than that the
18945	  database wasn't present before the attempt to create it.
18946
18947Tue Feb 19 11:58:22 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18948
18949	* bin/xapian-compact.cc: Fix compaction for database which contain
18950	  user metadata keys.
18951
18952Sat Feb 16 19:53:44 GMT 2008  Olly Betts <olly@survex.com>
18953
18954	* include/xapian/queryparser.h: Fix incorrect example in doccomment.
18955
18956Sat Feb 16 14:46:08 GMT 2008  Olly Betts <olly@survex.com>
18957
18958	* AUTHORS: Add Matthew Somerville for Search::Xapian patches.
18959
18960Tue Feb 12 16:34:52 GMT 2008  Olly Betts <olly@survex.com>
18961
18962	* docs/quickstart.html: Remove information covered by INSTALL since
18963	  there's no good reason to repeat it and two copies just risks one
18964	  getting out of date (as has happened here!)
18965
18966Tue Feb 12 16:27:30 GMT 2008  Olly Betts <olly@survex.com>
18967
18968	* AUTHORS: Add David Spencer for reporting bug#237.
18969
18970Tue Feb 12 16:25:00 GMT 2008  Olly Betts <olly@survex.com>
18971
18972	* docs/quickstart.html: Fix very out of date reference to MSet::items
18973	  (bug#237).
18974
18975Tue Feb 12 12:40:47 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18976
18977	* bin/xapian-compact.cc: Fix incorrect parameters passed to
18978	  FlintTable constructor.
18979
18980Sat Feb 09 11:56:40 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18981
18982	* common/socket_utils.h,net/remoteconnection.cc: More fixes for
18983	  windows.
18984
18985Sat Feb 09 11:31:30 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18986
18987	* common/msvc_dirent.cc,common/msvc_dirent.h: Hopefully this is a
18988	  better implementation of dirent functions.
18989
18990Sat Feb 09 10:59:50 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18991
18992	* common/: Add implementation of dirent.h for use with MSVC; this
18993	  is copied from the mingw implementation, which has been placed in
18994	  the public domain.  Add "safedirent.h" header for easy inclusion
18995	  of this implementation.
18996
18997Sat Feb 09 10:43:49 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
18998
18999	* tests/api_replicate.cc: Use _putenv instead of setenv on windows.
19000
19001Sat Feb 09 09:56:08 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19002
19003	* common/socket_utils.cc,common/socket_utils.h: More fixes for
19004	  windows.
19005
19006Fri Feb 08 16:40:56 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19007
19008	* common/Makefile.mk,common/socket_utils.cc,common/socket_utils.h,
19009	  net/remoteconnection.cc,net/tcpclient.cc: Move windows-specific
19010	  socket handling code from remoteconnection.cc into a separate
19011	  file, provides the inline close_fd_or_socket for unix in the
19012	  header file.  Use this in tcpclient.cc instead of close to close
19013	  sockets correctly on windows.
19014
19015Fri Feb 08 16:40:29 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19016
19017	* common/fileutils.cc,common/replicatetcpclient.h: Correct typos in
19018	  windows only sections of code.
19019
19020Fri Feb 08 15:29:28 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19021
19022	* net/remoteconnection.cc: Fixes for windows - always include
19023	  "safesysselect.h", and include <io.h> on windows.
19024	  Also, remove definition of an unused variable (probably due to a
19025	  copy and paste error).
19026
19027Wed Feb 06 13:45:59 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19028
19029	* bin/xapian-replicate.cc: Include "safeunistd.h" - needed for
19030	  sleep, if nothing else.
19031
19032Tue Feb 05 18:10:23 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19033
19034	* configure.ac: Set -pedantic in CXXFLAGS not AM_CXXFLAGS when
19035	  testing for problem with it - AM_CXXFLAGS is an automake thing,
19036	  and isn't used by the autoconf test.
19037
19038Tue Feb 05 17:50:55 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19039
19040	* configure.ac: Cleaner patch for the test of compilation with
19041	  -pedantic - cache the result using AC_CACHE_VAL().
19042
19043Tue Feb 05 17:32:11 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19044
19045	* configure.ac: Check whether compilation of a cast of INFINITY to
19046	  a double, and comparison with HUGE_VAL, causes a problem if
19047	  -pedantic is specified (which it does on at least some Mac OSX
19048	  versions).  If so, don't use the -pedantic compiler flag.
19049
19050Tue Feb 05 09:24:36 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19051
19052	* backends/flint/flint_cursor.cc,backends/flint/flint_database.cc,
19053	  backends/quartz/bcursor.cc: More fixes for debug logging - rename
19054	  the "hex_encode" functions used for logging to
19055	  "hex_display_encode" to avoid name clash.  Fix return type
19056	  declared in flint_database.cc's DEBUGCALL macro.
19057
19058Tue Feb 05 09:18:29 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19059
19060	* api/replication.cc: Fix for logging compiles: don't check return
19061	  value of a void function.
19062
19063Tue Feb 05 09:14:34 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19064
19065	* api/replication.cc: Reopen database after replication, to fix bug
19066	  with applying a chain of changesets.
19067	* backends/flint/flint_database.cc: Don't use O_TRUNC (or O_CREAT)
19068	  when modifying the DB files!
19069	* tests/api_replicate.cc: Don't call function from inside
19070	  TEST_EQUAL, because that's a macro and the function will be
19071	  double-evaluated.
19072
19073Tue Feb 05 02:07:08 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19074
19075	* api/replication.cc,backends/database.cc,backends/flint/,
19076	  common/database.h: Many fixes to the replication code.  Now
19077	  parses replication changesets correctly and applies them to the
19078	  databases.  Also, correct one bug with the generation of
19079	  changesets.
19080	* docs/replication.rst,docs/replication_protocol.rst: Update.
19081	* tests/api_replicate.cc: Add test of two changesets being applied
19082	  at once.
19083
19084Sun Feb 03 13:31:10 GMT 2008  Olly Betts <olly@survex.com>
19085
19086	* backends/quartz/btree.cc: Backport atomic base update fix from
19087	  flint.
19088
19089Sat Feb 02 22:47:56 GMT 2008  Olly Betts <olly@survex.com>
19090
19091	* AUTHORS: Add Thomas Viehmann.
19092
19093Sat Feb 02 03:39:33 GMT 2008  Olly Betts <olly@survex.com>
19094
19095	* backends/flint/flint_table.cc: Update the base files atomically to
19096	  avoid problems with reading processes finding partially written
19097	  ones.
19098
19099Sat Feb 02 03:38:00 GMT 2008  Olly Betts <olly@survex.com>
19100
19101	* api/replication.cc: Don't leak the RemoteConnection object.
19102
19103Fri Feb 01 23:15:38 GMT 2008  Olly Betts <olly@survex.com>
19104
19105	* backends/flint/flint_btreebase.cc,backends/flint/flint_btreebase.h:
19106	  Fix assorted comment errors.
19107
19108Fri Feb 01 20:20:23 GMT 2008  Olly Betts <olly@survex.com>
19109
19110	* bin/xapian-replicate.cc: Fix comment.
19111
19112Fri Feb 01 20:13:23 GMT 2008  Olly Betts <olly@survex.com>
19113
19114	* bin/xapian-replicate.cc: Document the default interval in --help.
19115
19116Fri Feb 01 20:05:08 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19117
19118	* bin/xapian-replicate.cc: Remove the "return 0;" I added at the
19119	  end of the function - I didn't realise this, but in C++ it's not
19120	  necessary to have a return at the end of main().  Tidier without
19121	  it, so it's gone.
19122
19123Fri Feb 01 19:44:05 GMT 2008  Olly Betts <olly@survex.com>
19124
19125	* include/xapian/unicode.h: Add Unicode::toupper() to complement
19126	  Unicode::tolower().
19127	* tests/api_unicode.cc: Add caseconvert1 testcase to test
19128	  Unicode::tolower() and Unicode::toupper().
19129
19130Fri Feb 01 19:36:47 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19131
19132	* bin/xapian-replicate.cc: Add one-shot and verbose options to
19133	  replication client.
19134
19135Fri Feb 01 17:52:36 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19136
19137	* api/replication.cc,backends/flint/flint_database.cc,
19138	  include/xapian/replication.h,net/replicatetcpclient.cc,
19139	  tests/api_replicate.cc: Keep the RemoteConnection in the
19140	  DatabaseReplica object, so that any data which is read ahead
19141	  doesn't get lost.  If an error occurs opening the database on
19142	  the server, send a FAIL message over the connection, rather than
19143	  just shutting it.
19144
19145Fri Feb 01 16:51:05 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19146
19147	* backends/flint/flint_table.cc: Fix a database corruption bug: see
19148	  bugzilla entry #232.  Was caused by lazy tables not being created
19149	  at the right revision.
19150	* tests/api_wrdb.cc: Regression test for bug.
19151
19152Fri Feb 01 15:10:23 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19153
19154	* api/replication.cc,backends/database.cc,
19155	  backends/flint/flint_database.cc,backends/flint/flint_database.h,
19156	  common/database.h,docs/replication_protocol.rst,
19157	  tests/api_replicate.cc: Add the UUID of the new database to the
19158	  DB_HEADER message, and move the code which compares UUIDs out of
19159	  flint_database.cc and into replication.cc.  Fix testcase which
19160	  missed incorrect comparison of UUIDs.  Store the UUID of the
19161	  live database which has been replicated in the config file - this
19162	  isn't an ideal place, but will do until the UUID is stored in the
19163	  iamflint file, and we can parse it from there.  Remove debug
19164	  printfs.
19165
19166Fri Feb 01 15:09:12 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19167
19168	* bin/quartzdump.cc: Rename hex_encode() to hex_display_encode() to
19169	  avoid collision.  (The hex encoding produced by this doesn't
19170	  encode spaces, so isn't quite the same as the functions just
19171	  added to utils.cc).
19172
19173Fri Feb 01 15:08:06 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19174
19175	* common/utils.cc,common/utils.h: Add utility functions to
19176	  hex-encode and decode a string, so we can store UUIDs in the
19177	  config file in replicated DB directories.
19178
19179Fri Feb 01 12:49:34 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19180
19181	* tests/harness/backendmanager_multi.cc: Make the multi
19182	  backendmanager use relative paths in its stub databases.
19183
19184Fri Feb 01 12:17:38 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19185
19186	* common/Makefile.mk: Add replicationprotocol.h to distribution.
19187
19188Fri Feb 01 12:10:19 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19189
19190	* backends/database.cc: Stub databases used to
19191	  assume that any relative paths were relative to the current
19192	  working directory.  They now assume that relative paths are
19193	  relative to the directory holding the stub database file.
19194	  Also, lines which begin with a '#' character are ignored, so we
19195	  can place comments in the stub database files.  Also, recognise a
19196	  new database type: a "stub directory", which is a directory
19197	  containing a stub database file named "XAPIANDB".
19198	* api/replication.cc: Replica databases are now created as
19199	  directories containing a "XAPIANDB" stub file, so all the
19200	  workings are internal.
19201	* common/Makefile.mk,common/fileutils.cc,common/fileutils.h: Add
19202	  new set of utilities to manipulate path names - extracting
19203	  directory names, and joining paths.
19204	* tests/api_replicate.cc: Enable test properly, now that
19205	  it passes.  Test needs to be expanded to check that the database
19206	  copy succeeded better.
19207
19208Fri Feb 01 09:47:00 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19209
19210	* backends/flint/flint_database.cc: Fix warning about unused
19211	  variable.
19212
19213Fri Feb 01 03:49:56 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19214
19215	* api/replication.cc,backends/database.cc,
19216	  backends/flint/flint_database.cc,backends/flint/flint_database.h,
19217	  common/database.h,common/replicationprotocol.h: Move replication
19218	  protocol definition into a separate file.  Add (virtual) support
19219	  methods for applying changesets to Database::Internal.  Sort out
19220	  atomic swapping of old database for new after a database copy.
19221
19222Fri Feb 01 03:49:09 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19223
19224	* tests/quartztest.cc: Rename removedir to removedir_recursive() to
19225	  avoid conflict with my new function.
19226
19227Fri Feb 01 03:09:45 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19228
19229	* docs/replication_protocol.rst: Specify (though not in much
19230	  detail) what we mean by "packed" strings and integers.
19231
19232Fri Feb 01 03:09:06 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19233
19234	* include/xapian/replication.h: Be more precise in documentation
19235	  comment.
19236
19237Fri Feb 01 03:07:29 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19238
19239	* net/remoteconnection.cc: Remove debug printfs()
19240
19241Fri Feb 01 03:03:59 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19242
19243	* common/utils.cc,common/utils.h: Add overloaded rmdir() which
19244	  works directly on C++ strings.  Add removedir() method which
19245	  removes a directory and its contents (as long as the directory
19246	  only contains files, not subdirectories).
19247
19248Fri Feb 01 01:51:22 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19249
19250	* common/remoteconnection.h,net/remoteconnection.cc: Add
19251	  "sniff_next_message_type" method to RemoteConnection, and replace
19252	  the hardcoded "4096" size of the chunks used for the remote
19253	  connection confersation with a #define.  Fix file mode when
19254	  creating a file with receive_file(), and bugs with writing too
19255	  much data to the file.
19256
19257Thu Jan 31 03:41:42 GMT 2008  Olly Betts <olly@survex.com>
19258
19259	* bin/Makefile.mk,bin/xapian-replicate-server.cc,
19260	  common/replicatetcpserver.h: Add xapian-replicate-server server
19261	  program.
19262
19263Thu Jan 31 02:46:38 GMT 2008  Olly Betts <olly@survex.com>
19264
19265	* bin/Makefile.mk,bin/xapian-replicate.cc,common/replicatetcpclient.h,
19266	  net/replicatetcpclient.cc,net/replicatetcpserver.cc: Add
19267	  xapian-replicate client program.
19268
19269Wed Jan 30 19:13:08 GMT 2008  Olly Betts <olly@survex.com>
19270
19271	* include/xapian/replication.h: Correct name of parameter in doxygen
19272	  comment.
19273
19274Wed Jan 30 15:58:44 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19275
19276	* api/replication.cc,backends/database.cc,
19277	  backends/flint/flint_database.cc,backends/flint/flint_database.h,
19278	  common/database.h: Hook up the apply_changeset function from the
19279	  API through to flint.  (The flint layer currently doesn't work,
19280	  though.)  Also, implement the get_uuid() function for flint, by
19281	  using the mtime of the iamflint file.
19282	* tests/api_replicate.cc: Finish implementation of the "replicate"
19283	  function, and add a test of a replication of a database using
19284	  this.  The return value test is commented out for now, because
19285	  the flint layer doesn't work, but this puts the machinery needed
19286	  to test this in place.
19287
19288Wed Jan 30 15:10:37 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19289
19290	* backends/flint/flint_database.cc: Implement sending of the whole
19291	  database copy.
19292
19293Wed Jan 30 14:45:01 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19294
19295	* tests/,tests/harness/: Add new testcase file (api_replicate.cc)
19296	  to hold tests of the replication functionality.  Currently has
19297	  one partially written test.  Also, add new function to apitest.h:
19298	  get_named_writable_database_path(), which allows the path to a
19299	  writable database to be obtained; throws an exception for those
19300	  backend types for which that isn't meaningful.  Add a new
19301	  variable for use in the conditions for tests: "replicas", which
19302	  should be set to true for all backends which support replication.
19303
19304Wed Jan 30 14:42:26 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19305
19306	* net/remoteconnection.cc: Fix the calls to fcntl() in
19307	  send_message() and send_file() to use fdout instead of fdin.
19308	  This has probably been stopping timeouts working very well.
19309
19310Tue Jan 29 15:05:09 GMT 2008  Olly Betts <olly@survex.com>
19311
19312	* common/remoteconnection.h,net/remoteconnection.cc: Add
19313	  receive_file() method.
19314
19315Tue Jan 29 14:37:36 GMT 2008  Olly Betts <olly@survex.com>
19316
19317	* common/remoteconnection.h,net/remoteconnection.cc: Add the ability
19318	  to read a message in chunks.
19319
19320Tue Jan 29 10:08:02 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19321
19322	* include/xapian/replication.h: Expand documentation comment.
19323	* api/replication.cc,backends/database.cc,
19324	  backends/flint/flint_database.cc,backends/flint/flint_database.h,
19325	  common/database.h: Add a write_changesets_to_fd() function to
19326	  Database::Internal, with a default implementation to raise an
19327	  UnimplementedError.  Hook
19328	  DatabaseMaster::write_changesets_to_fd() up to this, and
19329	  implement it for flint databases (the code to send a copy of a
19330	  database still needs work).
19331
19332Tue Jan 29 10:01:39 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19333
19334	* docs/replication_protocol.rst: Document that a FAIL message ends
19335	  the conversation.
19336
19337Tue Jan 29 09:59:01 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19338
19339	* docs/replication_protocol.rst: Document the protocol used to
19340	  transfer the updates.
19341
19342Tue Jan 29 09:57:14 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19343
19344	* net/remoteconnection.cc: Fix typo.
19345
19346Tue Jan 29 09:48:15 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19347
19348	* net/remoteconnection.cc: For win32, use msvc_posix_open() to open
19349	  the file descriptor, so other things can delete the file while
19350	  the sending is in progress.
19351
19352Tue Jan 29 01:23:19 GMT 2008  Olly Betts <olly@survex.com>
19353
19354	* net/remoteconnection.cc: Add an assertion.
19355
19356Tue Jan 29 01:14:07 GMT 2008  Olly Betts <olly@survex.com>
19357
19358	* common/remoteconnection.h,net/remoteconnection.cc: Add send_file()
19359	  method to RemoteConnection to allow the contents of a file to be
19360	  sent as a message.
19361
19362Tue Jan 29 00:28:18 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19363
19364	* api/replication.cc,include/xapian/replication.h: Add methods to
19365	  allow parameters to be stored associated with a DatabaseReplica.
19366
19367Tue Jan 29 00:16:42 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19368
19369	* backends/flint/flint_database.cc,backends/flint/flint_database.h:
19370	  Change write_changesets_to_fd() to take the revision information
19371	  as a string - it now includes a UUID.  Add get_uuid() method to
19372	  FlintDatabase - currently always returns "FIXME", but will
19373	  eventually return an ID for the database.
19374
19375Mon Jan 28 19:07:20 GMT 2008  Olly Betts <olly@survex.com>
19376
19377	* common/Makefile.mk,common/replicatetcpclient.h,net/Makefile.mk,
19378	  net/replicatetcpclient.cc,net/replicatetcpserver.cc: Add
19379	  ReplicateTcpClient class implementing a replication client over
19380	  TCP/IP.
19381
19382Mon Jan 28 17:13:09 GMT 2008  Olly Betts <olly@survex.com>
19383
19384	* common/Makefile.mk,common/replicatetcpserver.h,net/Makefile.mk,
19385	  net/replicatetcpserver.cc: Add ReplicateTcpServer class implementing
19386	  a replication server over TCP/IP.
19387
19388Mon Jan 28 17:01:02 GMT 2008  Olly Betts <olly@survex.com>
19389
19390	* common/remoteconnection.h,net/remoteconnection.cc: Minor tweaks
19391	  to allow unidirectional connections.
19392
19393Mon Jan 28 16:26:22 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19394
19395	* api/replication.cc: Fix overly hasty commit - add
19396	  get_description() method for internal class, and use that instead
19397	  of trying to access a private member.
19398
19399Mon Jan 28 16:22:18 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19400
19401	* api/replication.cc,common/output.h,include/xapian/replication.h:
19402	  Add get_description() methods to DatabaseMaster and
19403	  DatabaseReplica, and add XAPIAN_OUTPUT_FUNCTION methods for them
19404	  so that they can be displayed in debugging methods.  Should fix
19405	  build with logging enabled.
19406
19407Mon Jan 28 11:52:24 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19408
19409	* api/replication.cc,include/xapian/replication.h: Add
19410	  DatabaseReplica::close() method, to allow the write lock to be
19411	  released easily.
19412
19413Mon Jan 28 11:21:36 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19414
19415	* api/replication.cc,include/xapian/replication.h: Change
19416	  DatabaseReplica into a PIMPL style class, now that it has more
19417	  than one member.  Add visibility annotations to DatabaseMaster
19418	  and DatabaseReplica.
19419
19420Mon Jan 28 10:44:51 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19421
19422	* api/replication.cc,include/xapian/replication.h: Add code to swap
19423	  stub database files over atomically, and to track the current
19424	  real database path.
19425
19426Mon Jan 28 04:52:12 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19427
19428	* api/replication.cc,backends/database.cc,
19429	  backends/flint/flint_changesetapplier.h,
19430	  backends/flint/flint_database.cc,backends/flint/flint_database.h,
19431	  common/database.h: Implement opening of the database underlying
19432	  DatabaseReplica objects, and hook up the get_revision_info()
19433	  method for it.
19434
19435Mon Jan 28 04:17:21 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19436
19437	* common/utils.cc,common/utils.h: Add "dir_exists" function, to
19438	  check for presence of a directory at a given path.
19439
19440Mon Jan 28 03:48:46 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19441
19442	* backends/flint/flint_table.cc: Change a "+= 1" to ++ - this isn't
19443	  Python!
19444
19445Mon Jan 28 03:08:45 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19446
19447	* api/Makefile.mk,api/replication.cc,include/Makefile.mk,
19448	  include/xapian/replication.h: Add interface to replication
19449	  functionality.  (Currently just unimplemented stubs.)
19450
19451Mon Jan 28 02:01:02 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19452
19453	* backends/flint/flint_btreebase.h: Add a missing std::
19454
19455Mon Jan 28 01:59:55 GMT 2008  Olly Betts <olly@survex.com>
19456
19457	* common/remotetcpserver.h: Fix typo in doxygen comment: `@port' ->
19458	  `@param port'.  Update comment - socket is no longer closed by
19459	  handle_one_connection().
19460
19461Mon Jan 28 01:28:00 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19462
19463	* backends/flint/: Add support for recording the changes made to a
19464	  database in "changeset" files.  These are currently not produced
19465	  by default - for now, the "XAPIAN_MAX_CHANGESETS" environment
19466	  variable can be set to control production of them.  As part of
19467	  these changes, the FlintTable constructor now takes the
19468	  tablename, so that this can be stored in changesets produced from
19469	  the table.
19470	* bin/xapian-check.cc,bin/xapian-compact.cc,bin/xapian-inspect.cc:
19471	  Update to match changes in FlintTable constructor.
19472	* docs/Makefile.am,docs/replication.rst,docs/replication_protocol.rst:
19473	  Add basic documentation of the replication protocol (though this
19474	  isn't yet definitive, since the protocol isn't finished!)
19475
19476Sun Jan 27 21:10:24 GMT 2008  Olly Betts <olly@survex.com>
19477
19478	* net/remotetcpserver.cc,net/tcpserver.cc: The job of closing the
19479	  socket connected to the client more naturally belongs to the
19480	  framework TcpServer class.
19481
19482Sun Jan 27 20:32:55 GMT 2008  Olly Betts <olly@survex.com>
19483
19484	* backends/flint/flint_table.cc: Call flint_io_sync() in commit()
19485	  rather than flush_db(), as that gives more time for written blocks
19486	  to get written to disk before we block on waiting for them to be.
19487	  This should tend to speed up WritableDatabase::flush() in I/O bound
19488	  situations.
19489
19490Sun Jan 27 19:35:08 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19491
19492	* backends/flint/flint_spelling.h,backends/flint/flint_synonym.h:
19493	  Merge changes to the spelling and synonym tables just before
19494	  calling FlintTable::flush_db(), rather than just before calling
19495	  FlintTable::commit(), so that they don't get forgotten.
19496
19497Sun Jan 27 14:29:30 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19498
19499	* backends/flint/flint_database.cc,backends/flint/flint_table.cc,
19500	  backends/flint/flint_table.h: Separate step which flushes
19501	  modified blocks from cursors to the DB file from the rest of
19502	  commit.  This will allow me to insert the changeset writing code
19503	  between the two steps, so it can assume that the DB file is fully
19504	  up-to-date.  Also remove an out-of-date FIXME about trying to
19505	  avoid updating the value and position tables if they're not used:
19506	  these tables are now lazily created anyway.
19507
19508Sun Jan 27 12:53:51 GMT 2008  Olly Betts <olly@survex.com>
19509
19510	* net/tcpserver.cc: Change explicit references to xapian-tcpsrv.
19511
19512Sun Jan 27 12:26:24 GMT 2008  Olly Betts <olly@survex.com>
19513
19514	* common/tcpclient.h,common/tcpserver.h,net/: Make use of TCP_NODELAY
19515	  optional at the class level.  No user-visible changes.
19516
19517Sat Jan 26 17:18:09 GMT 2008  Olly Betts <olly@survex.com>
19518
19519	* backends/dbfactory_remote.cc,common/Makefile.mk,
19520	  common/remotetcpclient.h,common/tcpclient.h,net/Makefile.mk,
19521	  net/remotetcpclient.cc,net/tcpclient.cc: Split out the "open
19522	  a connection" part of TcpClient and rename the rest to
19523	  RemoteTcpClient.
19524
19525Sat Jan 26 14:01:34 GMT 2008  Olly Betts <olly@survex.com>
19526
19527	* bin/xapian-tcpsrv.cc,common/Makefile.mk,common/remotetcpserver.h,
19528	  common/tcpserver.h,net/Makefile.mk,net/remotetcpserver.cc,
19529	  net/tcpserver.cc: Split TcpServer into a generic TCP server
19530	  class (TcpServer) and a subclass of this which implements the
19531	  remote backend TCP server (RemoteTcpServer).
19532
19533Sat Jan 26 11:06:30 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19534
19535	* backends/flint/flint_btreebase.cc,backends/quartz/btree_util.h,
19536	  common/utils.h: Move fdcloser into utils.h, since it's generally
19537	  useful, and it's better not to have multiple copies of it
19538	  scattered through the code.
19539
19540Fri Jan 25 15:06:30 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19541
19542	* backends/flint/flint_table.cc,backends/quartz/btree.cc: Use
19543	  msvc_posix_unlink() on windows in sys_unlink_if_exists()
19544	  functions, so that they will work even if the file is still open.
19545	  This probably changes no behaviour, because
19546	  sys_unlink_if_exists() is probably never called in such a
19547	  situation, but this may not be true in future.
19548
19549Thu Jan 24 13:31:20 GMT 2008  Olly Betts <olly@survex.com>
19550
19551	* docs/overview.html: Remove commented-out comment about OP_XOR.
19552
19553Thu Jan 24 13:30:04 GMT 2008  Olly Betts <olly@survex.com>
19554
19555	* docs/intro_ir.html: Briefly mention how pure boolean retrieval is
19556	  supported.
19557
19558Thu Jan 24 13:28:44 GMT 2008  Olly Betts <olly@survex.com>
19559
19560	* HACKING: Move "debian/patch" update earlier in the checklist.
19561
19562Thu Jan 24 13:26:45 GMT 2008  Olly Betts <olly@survex.com>
19563
19564	* NEWS: Partly update from ChangeLog.
19565
19566Thu Jan 17 22:32:08 GMT 2008  Olly Betts <olly@survex.com>
19567
19568	* backends/flint/flint_lock.cc,backends/flint/flint_lock.h,
19569	  bin/xapian-check.cc: Apply tweaked version of patch for OS/2 support
19570	  by Yuri Dario.
19571	* AUTHORS: Add Yuri Dario.
19572	* PLATFORMS: Mention OS/2.
19573
19574Mon Jan 14 11:03:05 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19575
19576	* backends/flint/flint_table.cc,backends/quartz/btree.cc: Fix more
19577	  assertions to avoid overflowing int.
19578
19579Mon Jan 14 09:29:51 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19580
19581	* backends/flint/flint_btreeutil.h: Fix assertions to not overflow
19582	  int.
19583
19584Mon Jan 14 09:23:54 GMT 2008  Olly Betts <olly@survex.com>
19585
19586	* backends/quartz/btree_util.h: Fix assertions to not overflow int.
19587
19588Mon Jan 14 08:47:33 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19589
19590	* configure.ac: Fix test for gcc being 4.0.x or 4.1.x, so we don't
19591	  use -Wstrict-overflow with them.
19592
19593Sun Jan 13 23:28:04 GMT 2008  Olly Betts <olly@survex.com>
19594
19595	* configure.ac: GCC warning flag overhaul.  Stop passing
19596	  "-Wno-multichar" since any multi-character character literal is
19597	  bound to be a typo (I believe we were only passing it after
19598	  misinterpreting its sense!)  Pass "-Wformat-security",
19599	  "-Wconversion", and "-pedantic" for all GCC versions.  Add
19600	  "-Winit-self" and "-Wstrict-overflow=5" for GCC >= 4.2.  The
19601	  latter may be too aggressive, but it's hard to know without
19602	  trying it more widely.
19603
19604Sun Jan 13 00:25:25 GMT 2008  Olly Betts <olly@survex.com>
19605
19606	* backends/flint/flint_check.h,backends/flint/flint_table.h,
19607	  backends/quartz/btree.h,net/tcpserver.cc,tests/harness/testsuite.cc:
19608	  Add XAPIAN_NORETURN() annotations to functions and non-virtual
19609	  methods which don't return.
19610	* net/remoteserver.cc: Assign bool variable using a comparison rather
19611	  than subtraction, so the intent is clearer.
19612
19613Sun Jan 13 00:23:41 GMT 2008  Olly Betts <olly@survex.com>
19614
19615	* backends/flint/flint_check.cc: Tweak a comparison so all the
19616	  constants are on the same side (micro-optimisation).
19617	* backends/quartz/btreecheck.cc: Equivalent change for quartz.
19618
19619Sun Jan 13 00:20:08 GMT 2008  Olly Betts <olly@survex.com>
19620
19621	* tests/queryparsertest.cc: Add a couple of testcases I wrote for a
19622	  reported problem which turned out to work correctly already.  Still,
19623	  they add to our test coverage.
19624
19625Thu Jan 10 02:04:55 GMT 2008  Olly Betts <olly@survex.com>
19626
19627	* tests/runtest.in: Cope with "@EXEEXT" extension on test programs.
19628
19629Wed Jan 09 21:57:59 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19630
19631	* api/omquery.cc,api/omqueryinternal.cc,common/remoteprotocol.h,
19632	  include/xapian/query.h,matcher/queryoptimiser.cc,tests/api_anydb.cc:
19633	  Add OP_VALUE_LE operator, for symmetry with OP_VALUE_GE.
19634	  Currently implemented internally using a ValueRangePostList with
19635	  an empty string as the start of the range.
19636
19637Wed Jan 09 19:36:37 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
19638
19639	* api/omquery.cc,api/omqueryinternal.cc,include/xapian/query.h: Add
19640	  new query operator OP_VALUE_GE, for performing "return documents
19641	  with a value greater than this" searches.  Also add a new
19642	  constructor to go with this which takes a value number and a
19643	  single string argument.
19644	* matcher/: Add ValueGePostList class, as a subclass of
19645	  ValueRangePostList.  Change internal members of
19646	  ValueRangePostList to be protected instead of private.  Add
19647	  support for making ValueGePostLists from OP_VALUE_GE queries.
19648	* tests/api_anydb.cc: Add valuege1 testcase of OP_VALUE_GE queries.
19649	* common/remoteprotocol.h: Bump minor protocol number, due to
19650	  additional operator being possible in serialised queries.
19651
19652Wed Jan 09 15:18:16 GMT 2008  Olly Betts <olly@survex.com>
19653
19654	* PLATFORMS: Update from Debian buildd logs.
19655
19656Wed Jan 09 13:53:34 GMT 2008  Olly Betts <olly@survex.com>
19657
19658	* tests/harness/backendmanager_remotetcp.cc: Fix XAPIAN_NORETURN() to
19659	  wrap a declaration, not the definition, to fix compile failure on
19660	  mingw "make check".  Correct file documentation comment to refer
19661	  to "remotetcp" not "remoteprog".
19662
19663Mon Jan 07 01:28:14 GMT 2008  Olly Betts <olly@survex.com>
19664
19665	* PLATFORMS: Remove reports for 0.8.x as they're too old to be
19666	  interesting.  Separate out 0.9.x reports.
19667
19668Mon Jan 07 00:23:10 GMT 2008  Olly Betts <olly@survex.com>
19669
19670	* PLATFORMS: Add Solaris 9 and 10 success reports from James Aylett.
19671
19672Sat Jan 05 19:13:12 GMT 2008  Olly Betts <olly@survex.com>
19673
19674	* languages/compiler/generator.c: In generate_call(), if the failure
19675	  case would just be "if (ret == 0) return 0;" then combine it with
19676	  the test for the called method returning signal `f'.
19677
19678Sat Jan 05 18:28:31 GMT 2008  Olly Betts <olly@survex.com>
19679
19680	* languages/compiler/generator.c: Generate more readable code for the
19681	  inlined single ASCII character literal string check.
19682
19683Sat Jan 05 18:27:07 GMT 2008  Olly Betts <olly@survex.com>
19684
19685	* languages/steminternal.cc: Tweak skip_utf8() to save ~0.5% on
19686	  stemtest.
19687
19688Sat Jan 05 02:20:57 GMT 2008  Olly Betts <olly@survex.com>
19689
19690	* languages/compiler/generator.c: Optimise a single ASCII character
19691	  literalstring check by inlining the check.  This makes stemtest run
19692	  about 2% faster.
19693
19694Fri Dec 21 21:57:11 GMT 2007  Olly Betts <olly@survex.com>
19695
19696	* docs/valueranges.rst: Fix example of using multiple VRPs to come out
19697	  as a "program listing".
19698
19699Fri Dec 21 15:31:35 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
19700
19701	* common/stringutils.h,common/utils.h: Move declaration of
19702	  within_DBL_EPSILON back into utils.h to fix builds with
19703	  --enable-assertions, and since it's not string-related.
19704
19705Fri Dec 21 02:12:49 GMT 2007  Olly Betts <olly@survex.com>
19706
19707	* NEWS: Note that one change was "(bug#45)".  Bump release date.
19708
19709Thu Dec 20 22:00:41 GMT 2007  Olly Betts <olly@survex.com>
19710
19711	* NEWS: Update again for 1.0.5.
19712
19713Thu Dec 20 17:50:26 GMT 2007  Olly Betts <olly@survex.com>
19714
19715	* common/stringutils.cc: Add new file I failed to commit.
19716
19717Thu Dec 20 17:17:28 GMT 2007  Olly Betts <olly@survex.com>
19718
19719	* tests/queryparsertest.cc: Add feature tests to ensure that ':' is
19720	  inserted between prefix and term when it should be.
19721
19722Thu Dec 20 13:58:18 GMT 2007  Olly Betts <olly@survex.com>
19723
19724	* common/,queryparser/queryparser.lemony,
19725	  queryparser/termgenerator_internal.cc,tests/harness/index_utils.cc,
19726	  tests/harness/unixcmds.cc: Move C_isupper(), C_toupper(), etc from
19727	  utils.cc/utils.h to stringutils.cc/stringutils.h, since they are
19728	  string-related.
19729
19730Thu Dec 20 03:00:08 GMT 2007  Olly Betts <olly@survex.com>
19731
19732	* HACKING: Remove details of issues with autoconf < 2.57 and
19733	  automake < 1.5 as these versions are antiques compared to our
19734	  current requirements of autoconf >= 2.59 and automake >= 1.8.3.
19735
19736Wed Dec 19 03:41:42 GMT 2007  Olly Betts <olly@survex.com>
19737
19738	* AUTHORS,NEWS,configure.ac: Update for 1.0.5.
19739
19740Wed Dec 19 03:36:30 GMT 2007  Olly Betts <olly@survex.com>
19741
19742	* api/omdatabase.cc: Calling WritableDatabase methods when we don't
19743	  have exactly one subdatabase now throws InvalidOperationError.
19744	* tests/termgentest.cc: Add regression test to check that we now get
19745	  InvalidOperationError (previously this case gave a segmentation
19746	  fault).
19747
19748Wed Dec 19 01:39:01 GMT 2007  Olly Betts <olly@survex.com>
19749
19750	* PLATFORMS: Update from tinderbox.
19751
19752Tue Dec 18 23:17:37 GMT 2007  Olly Betts <olly@survex.com>
19753
19754	* backends/flint/flint_lock.cc,backends/flint/flint_lock.h: Move lots
19755	  of headers included by flint_lock.h to flint_lock.cc since
19756	  flint_lock.h doesn't need them.  Add a "FIXME:1.1:" comment about
19757	  an odd special-case for newlib.
19758
19759Thu Dec 13 17:34:19 GMT 2007  Olly Betts <olly@survex.com>
19760
19761	* tests/stemtest.cc: Mark undocumented OM_STEMTEST_* environmental
19762	  variables for removal in 1.1.
19763
19764Thu Dec 13 01:27:15 GMT 2007  Olly Betts <olly@survex.com>
19765
19766	* HACKING: Need to check RPM packaging with Tim Brody too.
19767
19768Thu Dec 13 01:26:16 GMT 2007  Olly Betts <olly@survex.com>
19769
19770	* configure.ac: Note that we check for <streambuf> because GCC 2.95
19771	  only has <streambuf.h>.
19772
19773Thu Dec 13 01:23:27 GMT 2007  Olly Betts <olly@survex.com>
19774
19775	* AUTHORS: Add Ralf Wildenhues for suggesting a way to factor out
19776	  the boilerplate in multitarget rules.
19777
19778Wed Dec 12 02:02:51 GMT 2007  Olly Betts <olly@survex.com>
19779
19780	* NEWS: Update for ChangeLog in preparation for 1.0.5.
19781
19782Wed Dec 12 01:02:29 GMT 2007  Olly Betts <olly@survex.com>
19783
19784	* docs/admin_notes.rst: Mark as up to date for Xapian 1.0.5.  Minor
19785	  wording improvements.
19786
19787Sun Dec 09 01:09:19 GMT 2007  Olly Betts <olly@survex.com>
19788
19789	* tests/collate-apitest: Check for sources in the build directory
19790	  first, and only if not there prepend "$srcdir/".  The recently
19791	  added api_generated.cc will be in the build directory when using an
19792	  SVN checkout.
19793
19794Fri Dec 07 12:37:08 GMT 2007  Olly Betts <olly@survex.com>
19795
19796	* docs/sorting.rst,docs/valueranges.rst: State explicitly that
19797	  Xapian::sortable_serialise() is used to encode values at index time
19798	  and give an example of how it is called.
19799
19800Thu Dec 06 15:55:31 GMT 2007  Olly Betts <olly@survex.com>
19801
19802	* tests/Makefile.am,tests/collate-apitest,
19803	  tests/generate-api_generated: Add automatically generated tests to
19804	  ensure that API classes generally have copy ctors and assignment
19805	  operators, and also generally have a default ctor.
19806
19807Thu Dec 06 15:32:23 GMT 2007  Olly Betts <olly@survex.com>
19808
19809	* docs/sorting.rst: Fill in the remaining items in the outline.
19810
19811Thu Dec 06 12:50:46 GMT 2007  Olly Betts <olly@survex.com>
19812
19813	* tests/valgrind.supp: Another variant of the zlib suppression.
19814
19815Wed Dec 05 18:31:12 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
19816
19817	* Makefile.am,docs/Makefile.am,tests/Makefile.am: Add dir_contents,
19818	  docs/dir_contents and tests/dir_contents to distribution
19819	  tarballs.
19820
19821Wed Dec 05 18:28:12 GMT 2007  Olly Betts <olly@survex.com>
19822
19823	* preautoreconf: Really fix handling of version.h.
19824
19825Wed Dec 05 18:20:54 GMT 2007  Olly Betts <olly@survex.com>
19826
19827	* preautoreconf: Handle make pattern substitutions.
19828
19829Wed Dec 05 18:11:31 GMT 2007  Olly Betts <olly@survex.com>
19830
19831	* preautoreconf: Fix special-case handling of include/xapian/version.h.
19832
19833Wed Dec 05 18:01:34 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
19834
19835	* matcher/multiandpostlist.cc,matcher/multiandpostlist.h: Implement
19836	  get_wdf() method for MultiAndPostList (by adding together the
19837	  wdfs of the subpostlists).  Not currently used (but will be by
19838	  SynonymPostList).
19839
19840Wed Dec 05 17:43:24 GMT 2007  Olly Betts <olly@survex.com>
19841
19842	* preautoreconf: Special-case version.h.
19843
19844Wed Dec 05 17:31:47 GMT 2007  Olly Betts <olly@survex.com>
19845
19846	* preautoreconf: Fix errors in previous check-in.
19847
19848Wed Dec 05 17:18:26 GMT 2007  Olly Betts <olly@survex.com>
19849
19850	* preautoreconf: Parse BUILT_SOURCES to determine which files are
19851	  generated and so need looking for in the build directory - this
19852	  won't need updating when new files are generated, or existing
19853	  ones stop being.
19854
19855Wed Dec 05 16:55:26 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
19856
19857	* preautoreconf: Fix "make doxygen_docs" with VPATH build: look for
19858	  generated code files in build dir, and make rule which re-runs
19859	  preautoreconf change to srcdir first.
19860
19861Wed Dec 05 14:59:52 GMT 2007  Olly Betts <olly@survex.com>
19862
19863	* docs/sorting.rst: Document set_sort_by_value() and friends.
19864
19865Wed Dec 05 11:31:27 GMT 2007  Olly Betts <olly@survex.com>
19866
19867	* docs/sorting.rst: More work.
19868
19869Tue Dec 04 14:42:57 GMT 2007  Olly Betts <olly@survex.com>
19870
19871	* docs/bm25.html: Improve wording.
19872
19873Mon Dec 03 17:11:01 GMT 2007  Olly Betts <olly@survex.com>
19874
19875	* docs/Makefile.am,docs/index.html,docs/sorting.rst: Add the start of
19876	  a topic document on sorting.
19877
19878Mon Dec 03 17:10:04 GMT 2007  Olly Betts <olly@survex.com>
19879
19880	* common/stats.h: Fix comment typos.
19881
19882Sun Dec 02 14:36:47 GMT 2007  Olly Betts <olly@survex.com>
19883
19884	* docs/synonyms.rst: Minor wording clarification.
19885
19886Sun Dec 02 14:23:37 GMT 2007  Olly Betts <olly@survex.com>
19887
19888	* tests/collate-apitest: Fix reversed conditional for deciding
19889	  which generated headers to update.
19890
19891Sun Dec 02 03:47:44 GMT 2007  Olly Betts <olly@survex.com>
19892
19893	* tests/apitest.cc: Include api_all.h instead of the individual
19894	  generated headers.
19895
19896Sun Dec 02 03:44:56 GMT 2007  Olly Betts <olly@survex.com>
19897
19898	* tests/collate-apitest: Add licence and (C).  Only update .h files
19899	  which may have changed.  Generate api_all.h which just includes
19900	  the generated headers corresponding to all the sources processed.
19901	  Strip spaces from conditions.
19902	* tests/Makefile.am: Update for api_all.h.
19903
19904Sun Dec 02 03:21:59 GMT 2007  Olly Betts <olly@survex.com>
19905
19906	* matcher/weight.cc: Wrap comment.
19907
19908Sun Dec 02 03:21:25 GMT 2007  Olly Betts <olly@survex.com>
19909
19910	* AUTHORS: Thank Petr Ročkai.
19911
19912Sun Dec 02 02:40:58 GMT 2007  Olly Betts <olly@survex.com>
19913
19914	* api/omenquire.cc: Oops, this file also part of previous change.
19915
19916Sun Dec 02 02:14:27 GMT 2007  Olly Betts <olly@survex.com>
19917
19918	* include/xapian/enquire.h: Implement copy ctor and assignment
19919	  operator for Xapian::Enquire (bug#219).
19920	* configure.ac: Note what this means in terms of library versioning.
19921
19922Sat Dec 01 02:54:51 GMT 2007  Olly Betts <olly@survex.com>
19923
19924	* include/xapian/: Stop describing get_description() as an
19925	  "Introspection method", as this doesn't help to explain what it
19926	  does, and get_description() doesn't actually fall under any of the
19927	  formal definitions of "introspection" I can find.
19928
19929Sat Dec 01 02:45:16 GMT 2007  Olly Betts <olly@survex.com>
19930
19931	* tests/harness/index_utils.h: Overlooked (C) update.
19932
19933Sat Dec 01 02:34:59 GMT 2007  Olly Betts <olly@survex.com>
19934
19935	* HACKING,INSTALL,common/,configure.ac,tests/api_anydb.cc,
19936	  tests/api_db.cc,tests/btreetest.cc,tests/harness/testsuite.cc,
19937	  tests/harness/testsuite.h,tests/harness/testutils.cc,
19938	  tests/internaltest.cc: Raise the minimum supported GCC version
19939	  to 2.95.3 and strip out om_ostringstream which is no longer
19940	  required.
19941
19942Sat Dec 01 01:10:04 GMT 2007  Olly Betts <olly@survex.com>
19943
19944	* tests/api_sorting.cc,tests/api_wrdb.cc: Move sortfunctor2 from
19945	  api_wrdb.cc to api_sorting.cc.
19946
19947Sat Dec 01 00:43:31 GMT 2007  Olly Betts <olly@survex.com>
19948
19949	* tests/valgrind.supp: Add version of the valgrind zlib suppression
19950	  for 64 bit hosts.
19951
19952Fri Nov 30 18:06:49 GMT 2007  Olly Betts <olly@survex.com>
19953
19954	* tests/harness/index_utils.cc: Workaround MSVC which doesn't clear
19955	  the fail bit when a stream is reopened.
19956
19957Fri Nov 30 00:44:21 GMT 2007  Olly Betts <olly@survex.com>
19958
19959	* matcher/queryoptimiser.cc: Make delete_ptr<> a functor rather than
19960	  a function.  This fixes the build with SGI's compiler, and
19961	  apparently a functor allows more compilers to inline the call.
19962
19963Thu Nov 29 19:24:22 GMT 2007  Olly Betts <olly@survex.com>
19964
19965	* configure.ac: Fix previous change to work.
19966
19967Thu Nov 29 18:53:09 GMT 2007  Olly Betts <olly@survex.com>
19968
19969	* configure.ac: Assume we have <sstream> and hardwire HAVE_SSTREAM to
19970	  be 1.  If this assumption proves correct for all platforms we care
19971	  about, we can rip out the old om_ostringstream code.
19972
19973Thu Nov 29 17:51:11 GMT 2007  Olly Betts <olly@survex.com>
19974
19975	* tests/harness/index_utils.cc: Work around MSVC.
19976
19977Wed Nov 28 03:17:06 GMT 2007  Olly Betts <olly@survex.com>
19978
19979	* api/sorter.cc: Fix reverse sorting of value strings with different
19980	  lengths.
19981	* tests/api_wrdb.cc: Add test sortfunctor2 to check this actually
19982	  works.
19983
19984Wed Nov 28 02:27:37 GMT 2007  Olly Betts <olly@survex.com>
19985
19986	* tests/api_wrdb.cc,tests/apitest.cc,tests/apitest.h,tests/harness/:
19987	  Add get_named_writable_database() and use it to fix spell3 on
19988	  Microsoft Windows.
19989
19990Tue Nov 27 16:56:12 GMT 2007  Olly Betts <olly@survex.com>
19991
19992	* xapian-config.in: Factor out the code to check if we need explicit
19993	  dependencies into a function.  On platforms we know don't need
19994	  explicit dependencies, --ltlibs now gives the same output as --libs.
19995
19996Tue Nov 27 00:24:18 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
19997
19998	* tests/Makefile.am: Remove api_regressions.cc from list - didn't
19999	  mean to commit that (yet).
20000
20001Tue Nov 27 00:17:40 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20002
20003	* tests/Makefile.am: Use $(collated_apitest_sources) in list of
20004	  apitest_SOURCES; now a new test file can be added just by adding
20005	  it to this variable.
20006
20007Mon Nov 26 23:04:00 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20008
20009	* tests/Makefile.am: Add generated apitest .h files to targets of
20010	  rule which calls collate-apitest, since they're also generated by
20011	  it.  Change the rule to use a .stamp and a .lock file as
20012	  described in HACKING, to fix parallel builds.
20013
20014Mon Nov 26 18:48:20 GMT 2007  Olly Betts <olly@survex.com>
20015
20016	* Makefile.am: Distribute preautoreconf.
20017
20018Mon Nov 26 17:24:15 GMT 2007  Olly Betts <olly@survex.com>
20019
20020	* HACKING,configure.ac,docs/Makefile.am: Use pngcrush to reduce the
20021	  size of PNG files in the doxygen-generated HTML docs.
20022
20023Mon Nov 26 15:39:58 GMT 2007  Olly Betts <olly@survex.com>
20024
20025	* docs/Makefile.am: Don't package or install various intermediate
20026	  files which doxygen generates.
20027
20028Mon Nov 26 13:14:19 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20029
20030	* tests/api_db.cc: Ensure that the database needed for stubdb1 is
20031	  present, by creating it first (with get_database()).  This
20032	  requires that the database type is flint, but the test doesn't
20033	  depend on any particular database type anyway, so this doesn't
20034	  lose us anything.
20035
20036Mon Nov 26 13:08:08 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20037
20038	* tests/collate-apitest: Display the name of the backend which a
20039	  set of tests is for.
20040
20041Mon Nov 26 09:45:39 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20042
20043	* tests/Makefile.am,tests/collate-apitest: Fix with VPATH builds -
20044	  pass srcdir as the first argument to collate-apitest, so it can
20045	  find the sources.  Also, use srcdir to form the path to
20046	  collate-apitest when calling it from the make rule.
20047
20048Mon Nov 26 02:22:08 GMT 2007  Olly Betts <olly@survex.com>
20049
20050	* tests/api_db.cc,tests/apitest.cc,tests/apitest.h: Convert the
20051	  remaining tests to be collated.
20052
20053Mon Nov 26 02:08:18 GMT 2007  Olly Betts <olly@survex.com>
20054
20055	* tests/api_db.cc,tests/apitest.cc,tests/apitest.h: Collate the
20056	  localdb and remotedb tests.
20057
20058Mon Nov 26 01:40:59 GMT 2007  Olly Betts <olly@survex.com>
20059
20060	* tests/: Collate the specchar, doclendb, collfreq, allterms, and
20061	  multivalue tests.
20062
20063Mon Nov 26 01:21:35 GMT 2007  Olly Betts <olly@survex.com>
20064
20065	* tests/: Collate the anydb tests.  Remove the generated files upon
20066	  "make clean" in maintainer-mode.
20067
20068Mon Nov 26 00:34:03 GMT 2007  Olly Betts <olly@survex.com>
20069
20070	* tests/: Collate the wrdb tests.
20071
20072Mon Nov 26 00:18:18 GMT 2007  Olly Betts <olly@survex.com>
20073
20074	* tests/api_posdb.cc,tests/apitest.cc: Add "writable" flag and use it
20075	  for poslist2 and poslist3.
20076
20077Mon Nov 26 00:13:43 GMT 2007  Olly Betts <olly@survex.com>
20078
20079	* tests/: Collate the posdb tests.
20080
20081Mon Nov 26 00:03:29 GMT 2007  Olly Betts <olly@survex.com>
20082
20083	* tests/: Collate the nodb tests.
20084
20085Sun Nov 25 23:55:02 GMT 2007  Olly Betts <olly@survex.com>
20086
20087	* tests/: Collate the transaction tests.
20088
20089Sun Nov 25 23:49:26 GMT 2007  Olly Betts <olly@survex.com>
20090
20091	* tests/: Collate the unicode tests.
20092
20093Sun Nov 25 23:35:40 GMT 2007  Olly Betts <olly@survex.com>
20094
20095	* tests/: Make a start on automatically collating test cases.
20096
20097Sun Nov 25 22:41:52 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20098
20099	* api/weightinternal.cc: Initialise all members of
20100	  Xapian::Weight::Internal, and use initialisers rather than
20101	  assignment to do so.  Fixes an error reported by valgrind.
20102
20103Sun Nov 25 16:48:21 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20104
20105	* matcher/weight.cc: Add another note of a FIXME needed for 1.1
20106
20107Sun Nov 25 16:40:28 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20108
20109	* matcher/bm25weight.cc,matcher/tradweight.cc: Add some missing
20110	  "using namespace std;" lines which are needed due to earlier
20111	  changes in header file inclusions.  Also, remove some unnecessary
20112	  std:: prefixes.
20113
20114Sun Nov 25 16:35:30 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20115
20116	* common/stats.h,include/xapian/enquire.h,matcher/localmatch.cc,
20117	  matcher/weight.cc: Undo ABI change introduced in previous commit
20118	  with a nasty workaround; we can't initialise Weight::internal
20119	  reliably, because applications complied with earlier versions of
20120	  the library may have inlined the constructor of the Weight class.
20121	  Therefore, we can't delete Weight::internal in the destructor,
20122	  because we don't know if it was initialised.  Instead, we
20123	  add factory methods for making Weight::Internal objects to Stats,
20124	  register all the Weight::Internal objects made by these factory
20125	  methods in a list is the Stats object, and delete them when Stats
20126	  is deleted (which conveniently happens after the match has
20127	  finished).  Mark all this with FIXME:1.1: so that we can easily
20128	  convert it to nicer code once we branch for 1.1.
20129
20130Sun Nov 25 15:14:04 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20131
20132	* api/Makefile.mk,api/weightinternal.cc,common/,
20133	  include/xapian/enquire.h,matcher/: Split Stats and
20134	  Xapian::Weight::Internal into different classes: Stats remains
20135	  with the same members (but becomes a concrete class, rather than
20136	  a typedef of another class), and Xapian::Weight::Internal becomes
20137	  a simple container for exactly those statistics which are
20138	  relevant for a weight object (ie, it holds just one termfreq and
20139	  reltermfreq, rather than a map of all of them).  This is
20140	  dynamically allocated, so Xapian::Weight now owns the object
20141	  pointed to by its "internal" member, and deletes it in its
20142	  destructor.  Add a new header file "weightinternal.h" so that the
20143	  full "stats.h" stuff doesn't need to be included for definitions
20144	  of weighting schemes.  Replace #include "stats.h" lines with
20145	  forward declarations of Stats, where possible.
20146
20147Sun Nov 25 15:09:29 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20148
20149	* api/omenquire.cc: Add missing include of stats.h
20150	* matcher/queryoptimiser.cc,net/tcpserver.cc: Remove unnecessary
20151	  include of stats.h
20152	* net/remoteserver.cc: Include missing includes of omassert.h and
20153	  stats.h, and change an Assert to AssertEq.
20154	* matcher/multimatch.cc: Output the contents of the stats object in
20155	  debugging code.
20156
20157Sun Nov 25 04:22:05 GMT 2007  Olly Betts <olly@survex.com>
20158
20159	* common/multimatch.h: No longer need "autoptr.h" here.
20160
20161Sun Nov 25 04:07:04 GMT 2007  Olly Betts <olly@survex.com>
20162
20163	* common/multimatch.h: Fix typo in documentation comment.
20164
20165Sun Nov 25 03:58:21 GMT 2007  Olly Betts <olly@survex.com>
20166
20167	* common/remoteserver.h,matcher/localmatch.cc,matcher/multimatch.cc:
20168	  Remove lingering traces of StatsGatherer.
20169
20170Sat Nov 24 20:44:03 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20171
20172	* common/stats.h,matcher/Makefile.mk,matcher/stats.cc: Add
20173	  get_description() method for Xapian::Weight::Internal, and add
20174	  stats.cc back to hold it's implementation.
20175	* common/output.h: Add an output function for Stats (aka
20176	  Xapian::Weight::Internal) to fix the build when debug logging is
20177	  enabled.
20178
20179Sat Nov 24 01:21:56 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20180
20181	* api/omenquire.cc,common/,matcher/,net/remoteserver.cc: Remove
20182	  StatsGatherer and its subclasses completely.  Instead of a
20183	  StatsGatherer subclass, MultiMatch is now simply passed a Stats
20184	  object, and passes this to the prepare_match() methods of the sub
20185	  matchers to be populated with statistics.  OmEnquire then passes
20186	  the same Stats object to MultiMatch::get_mset(), whereas a remote
20187	  submatch sends the Stats object to the parent match, to be
20188	  combined with the global statistics, and then passes the returned
20189	  global statistics to MultiMatch::get_mset().  Remove stats.cc
20190	  since it only contained implementations of StatsGatherer methods,
20191	  and networkstats.h which only contained the definition of the
20192	  NetworkStatsGatherer.
20193	* matcher/rset.cc: Add the rset size to the database - we now
20194	  compute the global rset size the same way as we compute the
20195	  global collection size: by adding the sizes in the sub
20196	  collections together.  We have the total rset size easily
20197	  available in the code, but building the total rset size up from
20198	  the sub-databases makes the code simpler.
20199
20200Sat Nov 24 01:21:18 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20201
20202	* matcher/andnotpostlist.cc: Add a missing #include "omdebug.h".
20203
20204Fri Nov 23 23:13:12 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20205
20206	* common/stats.h,matcher/: Remove the StatsSource class entirely.
20207	  LocalSubMatch and RemoteSubMatch now contribute their stats
20208	  directly to the gatherer in the prepare_match() method, so the
20209	  gatherer doesn't need to worry about keeping track of the sources
20210	  of statistics.
20211
20212Fri Nov 23 21:46:32 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20213
20214	* common/submatch.h,matcher/: Change SubMatch::start_match() (and
20215	  all start_match() methods in subclasses) to take the statistics
20216	  for the whole collection as an additional parameter.  MultiMatch
20217	  now gets the statistics from the gatherer and passes it to
20218	  start_match().
20219
20220Fri Nov 23 17:38:28 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20221
20222	* common/stats.h: Add set_termfreq() and set_reltermfreq()
20223	  convenience methods to Stats; and remote the take_my_stats(),
20224	  my_termfreq_is() and my_reltermfreq_is() methods from
20225	  StatsSource.
20226	* common/rset.h,matcher/rset.cc: Rename give_stats_to_statssource()
20227	  to contribute_stats(), and give it take a Stats object instead of
20228	  a StatsSource object.  Can't forward declare Stats, so we need to
20229	  #include "stats.h" in rset.h now, unfortunately.
20230	* matcher/localmatch.cc,matcher/localmatch.h: Move register_term()
20231	  implementation inline into prepare_match().  Build up the
20232	  statistics in a local Stats object, rather than passing them
20233	  piecemeal to the StatsSource object, and then use
20234	  StatsSource::get_my_stats() to set them, just like
20235	  RemoteSubMatcher.
20236
20237Fri Nov 23 14:35:49 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20238
20239	* matcher/localmatch.cc,matcher/localmatch.h: Get the total
20240	  statistics from the gatherer directly and store them in a new
20241	  member of LocalSubMatch, rather than getting them via the
20242	  StatsSource when we need them.  This bypasses the
20243	  get_total_stats() and set_total_stats() methods of StatsSource.
20244	* common/stats.h,matcher/stats.cc: Remove the (newly) unused
20245	  methods StatsSource::set_total_stats() and
20246	  StatsSource::get_total_stats().
20247
20248Fri Nov 23 11:40:54 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20249
20250	* common/,include/xapian/enquire.h,matcher/: Rename
20251	  Xapian::Weight::Internal to StatsSource (which I hope to be able
20252	  to remove shortly), and rename the Stats class to
20253	  Xapian::Weight::Internal.  Requires minimal plumbing changes -
20254	  TradWeight and BM25Weight classes now query the internals
20255	  directly for the statistics, LocalSubMatch now gets the
20256	  statistics from StatsSource and passes them to wt_factory.
20257	  common/remote-database.h and common/serialise.h now need to
20258	  #include stats.h unfortunately, because a forward declaration
20259	  can't be used for Xapian::Weight::Internal (unless I'm missing
20260	  something).
20261
20262Fri Nov 23 10:15:43 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20263
20264	* common/stats.h,matcher/bm25weight.cc,matcher/localmatch.cc,
20265	  matcher/tradweight.cc: Remove the Xapian::Weight::Internal
20266	  get_total_* methods: instead, add a get_total_stats() method
20267	  which returns a Stats object representing the whole collection.
20268	  Add get_termfreq() and get_reltermfreq() convenience methods to
20269	  Stats for looking up individual term's statistics.  Also, change
20270	  protected members of Xapian::Weight::Internal to private members,
20271	  since we're no longer subclassed.  Also, in tradweight.cc, avoid
20272	  division by zero in the (rare) situation of the average length
20273	  being zero; in the same way as this is handled by bm25weight.cc.
20274
20275Thu Nov 22 12:58:02 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20276
20277	* common/stats.h,matcher/localmatch.cc,matcher/localmatch.h,
20278	  matcher/stats.cc: Replay Xapian::Weight::Internal's
20279	  perform_request() method with set_total_stats().  The replacement
20280	  takes the stats as a parameter, rather than magically getting
20281	  them from the gatherer.  The LocalSubMatch now needs to call the
20282	  gatherer to get the stats, and then pass it to set_total_stats(),
20283	  so needs to keep a reference to the gatherer.  However, we are
20284	  now one step closer to decoupling the gatherer from the stats.
20285
20286Thu Nov 22 11:47:56 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20287
20288	* common/stats.h,matcher/localmatch.cc: Remove automatic
20289	  just-in-time calls to statssource.perform_request() - instead,
20290	  make it public, and call it explicitly before the postlist tree
20291	  is constructed.  Also, make Xapian::Weight::Internal's destructor
20292	  non-virtual, since it's no longer subclassed anywhere.
20293
20294Thu Nov 22 11:02:39 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20295
20296	* common/networkstats.h,matcher/stats.cc: Remove
20297	  fetch_local_stats() method, and use of have_gathered flag for
20298	  caching result of gathering the stats - instead, simply Assert
20299	  that have_gathered is false before gathering; we currently only
20300	  call get_local_stats() once for a given gatherer.
20301
20302Thu Nov 22 10:04:40 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20303
20304	* common/rset.h: Change multiline "///" comments to use "/**",
20305	  style.
20306
20307Thu Nov 22 09:27:42 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20308
20309	* matcher/localmatch.cc,matcher/queryoptimiser.h: Update a couple
20310	  of comments.
20311
20312Thu Nov 22 08:29:19 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20313
20314	* common/networkstats.h,common/stats.h,matcher/: Remove the
20315	  LocalStatsSource and NetworkStatsSource classes - just use the
20316	  base class (Xapian::Weight::Internal) instead.  LocalStatsSource
20317	  had no extra members whatsoever, whereas NetworkStatsSource had
20318	  various members which weren't used, and a single method
20319	  "take_remote_stats" which simply sets the statistics held - I've
20320	  renamed this method "set_my_stats" and added it to the base
20321	  class.
20322
20323Thu Nov 22 00:05:06 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20324
20325	* common/networkstats.h,common/stats.h,matcher/stats.cc: Replace
20326	  StatsGatherer::contrib_my_stats() and
20327	  StatsSource::contrib_stats() methods; instead add a
20328	  get_my_stats() method to StatsSource and simply call this.
20329
20330Wed Nov 21 16:37:10 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20331
20332	* common/networkstats.h,common/remoteserver.h,matcher/stats.cc,
20333	  net/remoteserver.cc: Rework NetworkStatsGatherer - it no longer
20334	  needs to have the RemoteServer passed into it; instead, the
20335	  RemoteServer calls NetworkStatsGatherer::set_global_stats() with
20336	  the global statistics as soon as it gets them.  This new method
20337	  replaces fetch_global_stats().  As a result, the RemoteServer no
20338	  longer needs to remember the global_stats received from the
20339	  network - it just passes them straight to the gatherer - so
20340	  remove the global_stats and get_global_stats() methods from
20341	  RemoteServer.
20342
20343Wed Nov 21 15:42:40 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20344
20345	* common/rset.h,matcher/rset.cc: Document the member functions of
20346	  RSetI, and remove the totally unused "get_reltermfreq()" member.
20347	  Also remove an ancient, commented out, implementation of an
20348	  "add_document()" member, and add copyright lines.
20349
20350Wed Nov 21 15:26:11 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20351
20352	* common/rset.h,matcher/localmatch.cc,matcher/rset.cc: Make
20353	  RSet::calculate_stats() private, and call it only from
20354	  RSet::give_stats_to_statssource().  Was previously called
20355	  directly from localmatch.cc, but this way it's clear that it's
20356	  only called once.
20357
20358Wed Nov 21 14:30:17 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20359
20360	* matcher/remotesubmatch.h: Move implementation of constructor into
20361	  .cc file (accidentally missed this file from the last-but-one
20362	  commit, which did the necessary changes to the .cc file).
20363
20364Wed Nov 21 14:28:48 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20365
20366	* matcher/rset.cc: Improve debugging messages.
20367
20368Wed Nov 21 14:26:44 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20369
20370	* matcher/remotesubmatch.cc: Add some debugging, and reorder the
20371	  header includes.
20372
20373Wed Nov 21 13:21:35 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20374
20375	* matcher/multimatch.cc: Add DEBUGCALL_STATIC macros to the new
20376	  functions, and tidy some code in the constructor slightly.
20377
20378Wed Nov 21 10:00:48 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20379
20380	* matcher/multimatch.cc: Split the loop which calls prepare_match()
20381	  out of the constructor into a separate static function.
20382
20383Tue Nov 20 18:23:53 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20384
20385	* matcher/multimatch.cc: Refactor code which splits the RSet into
20386	  sub RSets (one for each sub database) into a separate function.
20387	  No functional change.
20388
20389Tue Nov 20 17:56:47 GMT 2007  Olly Betts <olly@survex.com>
20390
20391	* common/remoteserver.h: Remove unused '#include "omassert.h"'.
20392
20393Tue Nov 20 12:53:06 GMT 2007  Olly Betts <olly@survex.com>
20394
20395	* AUTHORS: Thank Marcus Rueckert for GCC 4.3 fixes.
20396
20397Tue Nov 20 10:22:28 GMT 2007  Olly Betts <olly@survex.com>
20398
20399	* bin/quartzcompact.cc: Recent GCC 4.3 snapshots thinks cf and tf
20400	  might be used uninitialised.  They won't be, but we only need to
20401	  initialise them once per run to silence the warning, so just do
20402	  that.
20403
20404Tue Nov 20 10:20:13 GMT 2007  Olly Betts <olly@survex.com>
20405
20406	* bin/quartzcompact.cc: Fix equality testing of C strings to use
20407	  strcmp() rather than '=='.  In practice, using '==' often gives
20408	  the desired effect due to pooling of constant strings, but this may
20409	  have resulted in bugs on some platforms.
20410
20411Tue Nov 20 01:47:16 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20412
20413	* tests/harness/backendmanager_remotetcp.cc: Add missing "#include
20414	  <cstring>".
20415
20416Tue Nov 20 01:26:40 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20417
20418	* tests/harness/unixcmds.cc: Add #include of cstring, to get
20419	  strchr, needed for gcc 4.3 snapshot.
20420
20421Tue Nov 20 01:25:22 GMT 2007  Olly Betts <olly@survex.com>
20422
20423	* api/maptermlist.h,api/termlist.cc,backends/alltermslist.cc,
20424	  backends/flint/flint_spelling.cc,backends/flint/flint_spelling.h,
20425	  common/alltermslist.h,common/termlist.h,common/vectortermlist.h:
20426	  Provide a default implementation of accumulate_stats() in the
20427	  virtual base class TermIterator::Internal instead of repeating it
20428	  in each subclass which doesn't get used for generating an ESet, and
20429	  don't call abort() in the default implementation - an Assert(false)
20430	  is sufficient, and more consistent with how we handle other similar
20431	  cases.
20432
20433Tue Nov 20 01:24:17 GMT 2007  Olly Betts <olly@survex.com>
20434
20435	* bin/xapian-progsrv.cc: Add missing '#include <cstdlib>'.
20436
20437Mon Nov 19 23:54:53 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20438
20439	* backends/flint/flint_postlist.cc,backends/quartz/quartz_postlist.cc:
20440	  Add NORETURN macro to report_read_error(); fixes warnings from
20441	  GCC 4.3 about possibly uninitialised values.  Reorder header
20442	  includes to follow proposed policy.
20443	* backends/flint/flint_postlist.h: Add include of omdebug.h which
20444	  previously needed to be done before including this.  Tidy up
20445	  order of includes.
20446
20447Mon Nov 12 14:06:38 GMT 2007  Olly Betts <olly@survex.com>
20448
20449	* api/Makefile.mk,api/omenquire.cc,api/sorter.cc,common/multimatch.h,
20450	  common/omenquireinternal.h,include/Makefile.mk,include/xapian.h,
20451	  include/xapian/enquire.h,include/xapian/sorter.h,
20452	  matcher/multimatch.cc,net/remoteserver.cc,tests/: Add new functor
20453	  class to allow more sophisticated sorting options.
20454
20455Mon Nov 12 14:03:06 GMT 2007  Olly Betts <olly@survex.com>
20456
20457	* HACKING: Improved wording.
20458
20459Sun Nov 11 07:51:57 GMT 2007  Olly Betts <olly@survex.com>
20460
20461	* include/xapian/queryparser.h: Hide the v102 namespace from Doxygen
20462	  as it isn't user visible.
20463
20464Sat Nov 10 21:53:21 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20465
20466	* tests/Makefile.am: Remove .multi in clean-local rule; should fix
20467	  distcheck.
20468
20469Sat Nov 10 15:34:25 GMT 2007  Olly Betts <olly@survex.com>
20470
20471	* tests/harness/testutils.cc,tests/harness/testutils.h:
20472	  mset_expect_order_begins() is never used, so remove it.
20473	* tests/harness/testutils.cc: Don't need <iostream>, only <fstream>.
20474
20475Sat Nov 10 11:09:22 GMT 2007  Olly Betts <olly@survex.com>
20476
20477	* docs/index.html: Add a list of documents on particular features and
20478	  include links to previously unlinked-to documents.  Weed down the
20479	  top navigation bar which had grown to unwieldy length.
20480
20481Sat Nov 10 10:17:42 GMT 2007  Olly Betts <olly@survex.com>
20482
20483	* PLATFORMS: Update for Debian buildds.
20484
20485Sat Nov 10 02:13:07 GMT 2007  Olly Betts <olly@survex.com>
20486
20487	* matcher/multimatch.cc: If "first" is non-zero, then use nth_element
20488	  with vector::reverse_iterator to partition items such that the
20489	  unwanted ones are at the end not the start.  This means the call
20490	  to vector::erase() no longer needs to copy all the wanted items.
20491
20492Fri Nov 09 19:01:38 GMT 2007  Olly Betts <olly@survex.com>
20493
20494	* tests/api_db.cc: collapsekey3 is too strict - even if the value
20495	  never occurs, lower_bound may drop as we may reject potential
20496	  matches before applying the collapse test.
20497
20498Fri Nov 09 16:36:39 GMT 2007  Olly Betts <olly@survex.com>
20499
20500	* include/xapian/termiterator.h: Clarify get_wdf() versus
20501	  get_termfreq() in documentation comments.
20502
20503Fri Nov 09 00:07:02 GMT 2007  Olly Betts <olly@survex.com>
20504
20505	* tests/api_db.cc: Fix comment typo.
20506
20507Fri Nov 09 00:04:45 GMT 2007  Olly Betts <olly@survex.com>
20508
20509	* HACKING,Makefile.am,tests/Makefile.am: New make target
20510	  'check-multi'.
20511
20512Thu Nov 08 23:54:47 GMT 2007  Olly Betts <olly@survex.com>
20513
20514	* tests/api_anydb.cc: Re-enable test case allpostlist1 for multi
20515	  since it works fine (presumably thanks to the multi_postlist.cc
20516	  fix).
20517
20518Thu Nov 08 23:44:29 GMT 2007  Olly Betts <olly@survex.com>
20519
20520	* tests/,tests/harness/: Add new "multi" test backend which indexes
20521	  the specified text file(s) to two databases which will look just
20522	  like the equivalent single database when searched together.  Since
20523	  writing isn't supported, a number of tests which require this are
20524	  disabled, as are any tests which explicitly use a multi-database
20525	  since a multi-of-multis isn't equivalent to a multi of equivalent
20526	  individual databases.  A handful of testcases are also currently
20527	  disabled because they fail for reasons not yet fully explored.
20528	  Existing tests run with the new backend provide regression tests
20529	  for the two recent fixes.
20530
20531Thu Nov 08 23:42:33 GMT 2007  Olly Betts <olly@survex.com>
20532
20533	* backends/multi/multi_postlist.cc: Fix PostingIterator::skip_to()
20534	  when running over multiple databases.  Regression test to follow.
20535
20536Thu Nov 08 23:37:51 GMT 2007  Olly Betts <olly@survex.com>
20537
20538	* docs/overview.html: Mention the "auto" backend.
20539
20540Thu Nov 08 23:28:30 GMT 2007  Olly Betts <olly@survex.com>
20541
20542	* matcher/multimatch.cc: Fix bug in handling a pure boolen match over
20543	  more than one database under set_docid_order(ASCENDING) - we can't
20544	  shortcut in this case because MergePostList generally doesn't return
20545	  docids in order.  Regression test to follow.
20546
20547Thu Nov 08 21:07:09 GMT 2007  Olly Betts <olly@survex.com>
20548
20549	* matcher/queryoptimiser.cc: Fix comment typo.
20550
20551Thu Nov 08 07:40:48 GMT 2007  Olly Betts <olly@survex.com>
20552
20553	* api/omdatabase.cc: Don't use MultiPostList when there's only one
20554	  subdatabase.
20555
20556Thu Nov 08 05:40:17 GMT 2007  Olly Betts <olly@survex.com>
20557
20558	* tests/api_db.cc: Run sortrel1 for inmemory too.
20559
20560Thu Nov 08 03:43:50 GMT 2007  Olly Betts <olly@survex.com>
20561
20562	* tests/harness/backendmanager.cc,tests/harness/index_utils.cc,
20563	  tests/harness/index_utils.h: New class FileIndexer which acts like
20564	  an iterator returning a Xapian::Document object for each paragraph
20565	  in some specified files.
20566
20567Wed Nov 07 16:30:49 GMT 2007  Olly Betts <olly@survex.com>
20568
20569	* common/,docs/remote_protocol.html,matcher/,net/remoteserver.cc,
20570	  net/serialise.cc: If we're doing a match with only one database
20571	  which is remote then just return the unserialised MSet from the
20572	  remote match.  This requires that we include
20573	  internal->percent_factor in the MSet serialisation, which requires
20574	  a minor remote protocol version bump.
20575
20576Wed Nov 07 09:47:28 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20577
20578	* matcher/multimatch.cc: Fix logging build (a change to the logging
20579	  code introduced in r9644 didn't compile)
20580
20581Tue Nov 06 17:10:51 GMT 2007  Olly Betts <olly@survex.com>
20582
20583	* include/xapian/document.h: Better documentation comment for
20584	  Document::termlist_count().
20585
20586Tue Nov 06 12:32:16 GMT 2007  Olly Betts <olly@survex.com>
20587
20588	* Makefile.am,docs/Makefile.am,languages/Makefile.mk: No need to set
20589	  SUFFIXES manually for suffixes used in implicit rules.
20590
20591Tue Nov 06 10:41:14 GMT 2007  Olly Betts <olly@survex.com>
20592
20593	* matcher/multimatch.cc: If we're collapsing on a value, keep track of
20594	  the number of empty collapse values seen, since that allows us to
20595	  give a better lower bound on the number of matches.
20596	* tests/api_db.cc: This change breaks an (incorrect) assumption in
20597	  collapsekey3, so change that test case to be a regression test for
20598	  the improved estimate.  Add a new test as (the previously missing)
20599	  collapsekey2, but disable it for now as we don't seem to have a
20600	  suitable existing database.
20601
20602Tue Nov 06 07:58:34 GMT 2007  Olly Betts <olly@survex.com>
20603
20604	* matcher/tradweight.cc: Make sure lenpart has been calculated in
20605	  TradWeight::get_sumpart_needs_doclength() (this doesn't appear to
20606	  actually be a problem in current use, but it might become an issue
20607	  if the code which uses TradWeight changes.
20608
20609Tue Nov 06 07:49:18 GMT 2007  Olly Betts <olly@survex.com>
20610
20611	* tests/api_anydb.cc: Add simple feature test for TradWeight being
20612	  used to run a query.
20613
20614Tue Nov 06 07:26:28 GMT 2007  Olly Betts <olly@survex.com>
20615
20616	* common/stats.h,matcher/bm25weight.cc,tests/api_anydb.cc: Fix bug in
20617	  BM25Weight - in the case where k2 is non-zero, a non-initialised
20618	  value influenced the weight calculations.  By default k2 is zero, so
20619	  this bug probably won't affect most users.
20620
20621Tue Nov 06 07:22:27 GMT 2007  Olly Betts <olly@survex.com>
20622
20623	* api/omenquire.cc,common/multimatch.h,matcher/multimatch.cc,
20624	  net/remoteserver.cc: Modify MultiMatch::MultiMatch() to take a const
20625	  pointer to Xapian::RSet rather than a const reference.  This makes
20626	  the code simpler for the case where we don't have an RSet.
20627
20628Tue Nov 06 05:47:38 GMT 2007  Olly Betts <olly@survex.com>
20629
20630	* api/omenquire.cc: Use ".empty()" not ".size() == 0".
20631
20632Mon Nov 05 21:05:45 GMT 2007  Olly Betts <olly@survex.com>
20633
20634	* m4/xapian.m4: Hook LT_INIT as well as AC_PROG_LIBTOOL and
20635	  AM_PROG_LIBTOOL.
20636
20637Mon Nov 05 11:17:23 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20638
20639	* docs/termgenerator.rst: Change a couple of instances of "terms"
20640	  to "words" for clarity; the item from the input text is a word,
20641	  and the result of processing is a term.
20642
20643Mon Nov 05 09:46:53 GMT 2007  Olly Betts <olly@survex.com>
20644
20645	* docs/admin_notes.rst: Note that this document is up-to-date for
20646	  1.0.4.  Improve the formatting a bit and fix a the odd typo.
20647
20648Mon Nov 05 06:24:01 GMT 2007  Olly Betts <olly@survex.com>
20649
20650	* tests/api_wrdb.cc: Fix MSVC warning.
20651
20652Mon Nov 05 06:21:09 GMT 2007  Olly Betts <olly@survex.com>
20653
20654	* matcher/queryoptimiser.h: Forward declare PosFilter as "struct"
20655	  rather than "class", since it's defined as "struct".
20656
20657Mon Nov 05 05:41:01 GMT 2007  Olly Betts <olly@survex.com>
20658
20659	* api/sortable-serialise.cc: Suppress MSVC warning.
20660
20661Mon Nov 05 04:55:48 GMT 2007  Olly Betts <olly@survex.com>
20662
20663	* docs/quickstart.html: Improved.
20664
20665Mon Nov 05 04:43:13 GMT 2007  Olly Betts <olly@survex.com>
20666
20667	* docs/overview.html: More improvements from Jenny Black.
20668
20669Sun Nov 04 22:59:28 GMT 2007  Olly Betts <olly@survex.com>
20670
20671	* docs/overview.html: Assorted improvements to the start of this
20672	  document.
20673
20674Sun Nov 04 22:54:13 GMT 2007  Olly Betts <olly@survex.com>
20675
20676	* api/omdocument.cc,tests/api_wrdb.cc: values_begin() didn't ensure
20677	  that values had been read.  However, values_end() did (and so did
20678	  values_count()) so this wasn't generally an issue, but it shouldn't
20679	  happen anyway.
20680	* tests/api_wrdb.cc: Extend adddoc5 to include a regression test for
20681	  this bug.
20682
20683Sun Nov 04 22:44:39 GMT 2007  Olly Betts <olly@survex.com>
20684
20685	* tests/quartztest.cc: Remove 'FIXME' suggesting more value tests.
20686	* tests/api_nodb.cc: Add the suggested tests we don't already have.
20687
20688Sun Nov 04 19:23:52 GMT 2007  Olly Betts <olly@survex.com>
20689
20690	* tests/api_posdb.cc,tests/api_wrdb.cc: Use get_writable_database()
20691	  instead of get_writable_database("").
20692	* tests/api_wrdb.cc: Rework test_spell3 so it works under __WIN32__
20693	  (bug#177).
20694
20695Sun Nov 04 07:31:04 GMT 2007  Olly Betts <olly@survex.com>
20696
20697	* tests/harness/backendmanager.h: Make BackendManager dtor virtual as
20698	  intended.
20699
20700Sun Nov 04 07:05:12 GMT 2007  Olly Betts <olly@survex.com>
20701
20702	* tests/api_wrdb.cc,tests/apitest.cc,tests/apitest.h,tests/harness/,
20703	  tests/quartztest.cc: Extend BackendManager to allow opening a
20704	  WritableDatabase as a Database as well, and to allow reopening a
20705	  closed WritableDatabase as a WritableDatabase.  With these new
20706	  features, rework quartztest's adddoc2 and adddoc3 as apitest
20707	  testcases adddoc5 and adddoc6.
20708
20709Sun Nov 04 06:08:42 GMT 2007  Olly Betts <olly@survex.com>
20710
20711	* tests/api_wrdb.cc,tests/apitest.cc,tests/apitest.h,tests/harness/:
20712	  Add BackendManager::get_writable_database_as_database() and use it
20713	  instead of assuming what the WritableDatabase path will be.
20714
20715Sun Nov 04 05:31:30 GMT 2007  Olly Betts <olly@survex.com>
20716
20717	* tests/,tests/harness/: Subclass BackendManager for each database
20718	  backend supported, which should provide a better foundation on
20719	  which we can rebuild to fix the nastier bits of the test harness.
20720
20721Fri Nov 02 17:39:58 GMT 2007  Olly Betts <olly@survex.com>
20722
20723	* INSTALL: zlib 1.2.0 apparently fixes a memory leak in deflateInit2,
20724	  which we use, so that's another reason to prefer 1.2.x.
20725
20726Fri Nov 02 06:34:36 GMT 2007  Olly Betts <olly@survex.com>
20727
20728	* tests/harness/testsuite.cc: Fix extracting of valgrind error
20729	  messages.
20730
20731Fri Nov 02 05:09:05 GMT 2007  Olly Betts <olly@survex.com>
20732
20733	* docs/bm25.html,docs/scalability.html: Remove references to Muscat
20734	  3.6.
20735
20736Thu Nov 01 18:51:20 GMT 2007  Olly Betts <olly@survex.com>
20737
20738	* NEWS: Fix to talk about OP_VALUE_RANGE rather than
20739	  ValueRangePostList since the later isn't user-visible.
20740
20741Thu Nov 01 18:16:20 GMT 2007  Olly Betts <olly@survex.com>
20742
20743	* matcher/exactphrasepostlist.cc: Fix memory leak if second memory
20744	  allocation fails.
20745
20746Thu Nov 01 17:54:09 GMT 2007  Olly Betts <olly@survex.com>
20747
20748	* docs/intro_ir.html: Move the section on stemming to a better
20749	  location.
20750
20751Thu Nov 01 17:37:40 GMT 2007  Jenny Black
20752
20753	* docs/glossary.rst: Fix typo.
20754
20755Thu Nov 01 06:34:58 GMT 2007  Olly Betts <olly@survex.com>
20756
20757	* matcher/multimatch.cc: Minor code simplification.
20758
20759Wed Oct 31 16:17:08 GMT 2007  Olly Betts <olly@survex.com>
20760
20761	* bin/xapian-check.cc: Fix to handle the special case of a term which
20762	  is 48 characters long.  Fix not to go into an infinite loop if
20763	  certain checks fail.
20764
20765Wed Oct 31 15:56:45 GMT 2007  Olly Betts <olly@survex.com>
20766
20767	* matcher/multiandpostlist.cc: If the subpostlists are ORs and pruning
20768	  or operator decay happens within them, then get_termfreq_est() can
20769	  change such that the first postlist returns a higher value than
20770	  the second, so remove a bogus assertion which assumed this didn't
20771	  happen (bug#209).
20772
20773Wed Oct 31 15:43:58 GMT 2007  Olly Betts <olly@survex.com>
20774
20775	* backends/flint/flint_version.cc: I documented an increase in
20776	  FLINT_VERSION but didn't increase it - luckily the previous version
20777	  wasn't in a released version, so just adjust the comment to match
20778	  what actually happened.
20779
20780Wed Oct 31 15:24:48 GMT 2007  Olly Betts <olly@survex.com>
20781
20782	* net/remoteconnection.cc: Add '#include <safeunistd.h>' (bug#208).
20783
20784Wed Oct 31 15:01:53 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20785
20786	* bin/xapian-check.cc: Update the checking of the termlist table to
20787	  stop checking for the "has_termfreqs" flag, which is no longer
20788	  stored in termlists.
20789
20790Wed Oct 31 14:31:38 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20791
20792	* backends/quartz/quartz_positionlist.cc: Add missing #include,
20793	  which is needed only when configured with --enable-log and with
20794	  --disable-assertions.
20795
20796Tue Oct 30 04:52:53 GMT 2007  Olly Betts <olly@survex.com>
20797
20798	* NEWS,configure.ac: Update for 1.0.4.
20799
20800Tue Oct 30 04:10:32 GMT 2007  Olly Betts <olly@survex.com>
20801
20802	* queryparser/queryparser.lemony: Code tweak.
20803
20804Tue Oct 30 03:04:04 GMT 2007  Olly Betts <olly@survex.com>
20805
20806	* tests/queryparsertest.cc: Add two more test cases to improve
20807	  coverage.
20808
20809Tue Oct 30 00:13:42 GMT 2007  Olly Betts <olly@survex.com>
20810
20811	* tests/harness/testsuite.cc: abi::__cxa_demangle() requires GCC 3.1
20812	  it seems.
20813
20814Mon Oct 29 23:14:41 GMT 2007  Olly Betts <olly@survex.com>
20815
20816	* docs/scalability.html: Update size of gmane.
20817
20818Mon Oct 29 23:13:00 GMT 2007  Olly Betts <olly@survex.com>
20819
20820	* docs/quartzdesign.html: Note that Quartz is now deprecated.
20821
20822Mon Oct 29 21:09:12 GMT 2007  Olly Betts <olly@survex.com>
20823
20824	* configure.ac,tests/harness/testsuite.cc: Demangle the name of
20825	  the std::exception subclass for GCC, and handle compilation with
20826	  -fno-rtti.
20827
20828Mon Oct 29 19:50:05 GMT 2007  Olly Betts <olly@survex.com>
20829
20830	* tests/harness/testsuite.cc: Catch std::exception subclasses
20831	  explicitly and report e.what() (which gives the method name which
20832	  threw, at least under GCC).
20833
20834Mon Oct 29 18:46:57 GMT 2007  Olly Betts <olly@survex.com>
20835
20836	* NEWS: Updated.
20837
20838Mon Oct 29 18:36:12 GMT 2007  Olly Betts <olly@survex.com>
20839
20840	* matcher/multimatch.cc: Pull out old_item.wt into a variable.
20841
20842Mon Oct 29 18:24:46 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
20843
20844	* queryparser/queryparser.lemony: Fix problem with spelling
20845	  correction of hyphenated terms (or other terms joined with phrase
20846	  generators): the position of the start of the term wasn't being
20847	  reset for the second term in the generated phrase, resulting in
20848	  out of bounds errors when substituting the new value in the
20849	  corrected query string.
20850	* tests/queryparsertest.cc: Test the fix.
20851
20852Mon Oct 29 17:34:17 GMT 2007  Olly Betts <olly@survex.com>
20853
20854	* docs/deprecation.rst: Move "Stem::stem_word(word)" in the bindings
20855	  to the right section (it was done in 1.0.0, as already indicated).
20856	  Deprecate the non-pythonic iterators in favour of the pythonic ones.
20857
20858Mon Oct 29 02:54:09 GMT 2007  Olly Betts <olly@survex.com>
20859
20860	* NEWS,api/Makefile.mk,docs/Makefile.am,include/Makefile.mk,
20861	  include/xapian.h,tests/api_db.cc,tests/api_nodb.cc,
20862	  tests/api_wrdb.cc: Back out match spy changes in preparation for
20863	  creating a branch for them.
20864
20865Mon Oct 29 02:37:31 GMT 2007  Olly Betts <olly@survex.com>
20866
20867	* matcher/valuerangepostlist.cc: Fix
20868	  ValueRangeProcessor::get_termfreq_est() and get_termfreq_max() to
20869	  work when at_end() when paranoid assertions are enabled.
20870
20871Mon Oct 29 01:51:07 GMT 2007  Olly Betts <olly@survex.com>
20872
20873	* common/omenquireinternal.h: Add ESetItem::swap() and
20874	  MSetItem::swap().
20875
20876Sun Oct 28 16:33:34 GMT 2007  Olly Betts <olly@survex.com>
20877
20878	* PLATFORMS: Update from tinderbox and buildbot.
20879
20880Sun Oct 28 06:00:23 GMT 2007  Olly Betts <olly@survex.com>
20881
20882	* matcher/queryoptimiser.cc: Remove unused variable.
20883
20884Sun Oct 28 05:46:28 GMT 2007  Olly Betts <olly@survex.com>
20885
20886	* docs/remote.html: xapian-tcpsrv can handle concurrent read access
20887	  so update the out-of-date information here.  Also, some new features
20888	  aren't supported by the remote backend yet.
20889
20890Sun Oct 28 05:20:02 GMT 2007  Olly Betts <olly@survex.com>
20891
20892	* include/xapian/queryparser.h: Update documentation comment for
20893	  QueryParser::set_stemming_strategy().
20894
20895Sun Oct 28 05:03:03 GMT 2007  Olly Betts <olly@survex.com>
20896
20897	* queryparser/queryparser.lemony: Fix handling of STEM_ALL.
20898	* tests/queryparsertest.cc: Update tests.  Move tables of queries to
20899	  before the test functions which use them.
20900
20901Sat Oct 27 20:50:57 BST 2007  Olly Betts <olly@survex.com>
20902
20903	* api/omqueryinternal.cc,include/xapian/query.h,
20904	  matcher/queryoptimiser.cc: Eliminate Query::Internal::dbl_parameter
20905	  to avoid any risk of ABI breakage.
20906
20907Sat Oct 27 17:08:46 BST 2007  Olly Betts <olly@survex.com>
20908
20909	* include/xapian/query.h: Pull in <xapian/deprecated.h> explicitly.
20910	  Add @deprecated note to Query::Query(Query::op, Query) explaining
20911	  why it is deprecated.
20912	* include/xapian/queryparser.h: Wrap comment better.
20913
20914Sat Oct 27 05:37:33 BST 2007  Olly Betts <olly@survex.com>
20915
20916	* NEWS: Merge two "testsuite" sections in draft 1.0.4 entry.
20917
20918Sat Oct 27 02:34:10 BST 2007  Olly Betts <olly@survex.com>
20919
20920	* HACKING: Note specifically that std::list::size() is O(n) for GCC.
20921	  Update the debian packaging checklist.
20922
20923Sat Oct 27 02:33:14 BST 2007  Olly Betts <olly@survex.com>
20924
20925	* docs/intro_ir.html: Add link to the forthcoming book
20926	  "Introduction to Information Retrieval", which can be read online.
20927
20928Sat Oct 27 02:22:36 BST 2007  Olly Betts <olly@survex.com>
20929
20930	* docs/Makefile.am: We no longer build sourcedoc.pdf so remove it from
20931	  MAINTAINERCLEANFILES.
20932
20933Sat Oct 27 02:20:31 BST 2007  Olly Betts <olly@survex.com>
20934
20935	* NEWS: Mostly updated for 1.0.4.
20936
20937Fri Oct 26 04:57:31 BST 2007  Olly Betts <olly@survex.com>
20938
20939	* api/omqueryinternal.cc: OP_SCALE_WEIGHT applied to MatchNothing is
20940	  now handled by the Query ctor, so replace the code to handle
20941	  OP_SCALE_WEIGHT in Query::Internal::simplify_matchnothing() by an
20942	  assertion that the subquery isn't MatchNothing.
20943
20944Fri Oct 26 04:50:37 BST 2007  Olly Betts <olly@survex.com>
20945
20946	* include/xapian/query.h: Deprecate the essentially useless
20947	  constructor Query(Query::op, Query).
20948	* docs/deprecation.rst: Note this deprecation, and since the feature
20949	  doesn't actually have a use, schedule it for 1.1.0.  Also schedule
20950	  Enquire::register_match_decider() for 1.1.0 for the same reason.
20951
20952Fri Oct 26 01:00:08 BST 2007  Olly Betts <olly@survex.com>
20953
20954	* api/omquery.cc,include/xapian/query.h: OP_SCALE_WEIGHT applied to
20955	  OP_VALUE_RANGE can have no effect so ignore it.
20956	* tests/queryparsertest.cc: Update expected query descriptions.
20957
20958Fri Oct 26 00:23:55 BST 2007  Olly Betts <olly@survex.com>
20959
20960	* matcher/multimatch.cc: When checkatleast is set, and we're sorting
20961	  by relevance with forward ordering by docid, and the query is pure
20962	  boolean, we were exiting before the checkatleast requirement was
20963	  satisfied.  Then the adjustments made to the estimated and max
20964	  statistics based on checkatleast meant we claimed there were
20965	  exactly msize results.
20966
20967Thu Oct 25 00:34:14 BST 2007  Olly Betts <olly@survex.com>
20968
20969	* matcher/localmatch.cc,matcher/multiandpostlist.cc,
20970	  matcher/queryoptimiser.cc,queryparser/queryparser.cc: Fix build
20971	  with --enable-assertions and --enable-log.
20972
20973Wed Oct 24 06:29:03 BST 2007  Olly Betts <olly@survex.com>
20974
20975	* queryparser/queryparser.lemony: Drop out of IN_GROUP mode when we
20976	  generate a BOOLEAN_FILTER token.
20977	* tests/queryparsertest.cc: Add regression test.
20978
20979Wed Oct 24 06:08:29 BST 2007  Olly Betts <olly@survex.com>
20980
20981	* queryparser/queryparser.lemony: Drop special treatment for unmatched
20982	  ')' at the start of the query, as it seems rather arbitrary and not
20983	  particularly useful.  Reparsing seems a better approach here.
20984	* tests/queryparsertest.cc: Add regression test case for bug which
20985	  dropping this special case fixes.
20986
20987Wed Oct 24 05:25:40 BST 2007  Olly Betts <olly@survex.com>
20988
20989	* AUTHORS: Add Ron Kass for several bug reports.
20990
20991Wed Oct 24 05:13:01 BST 2007  Olly Betts <olly@survex.com>
20992
20993	* queryparser/queryparser.lemony: Fix parsing of queries which consist
20994	  only of boolean filter terms and HATE-d terms.
20995	* tests/queryparsertest.cc: Add regression tests, and a few more cases
20996	  which passed before too.  Fix descriptions of queries which now give
20997	  different (but equivalent) Xapian::Query object hierarchies.
20998
20999Wed Oct 24 04:51:56 BST 2007  Olly Betts <olly@survex.com>
21000
21001	* queryparser/queryparser.lt: Fix warning in debug log build.
21002
21003Wed Oct 24 04:41:08 BST 2007  Olly Betts <olly@survex.com>
21004
21005	* backends/flint/flint_table.cc,backends/flint/flint_table.h: Don't
21006	  use class member function pointers to implement FlintTable::next()
21007	  and FlintTable::prev() as we can just call the methods directly
21008	  based on the sequential flag.  Profiling suggests this speeds up
21009	  searches a little, the two pointers take up 16 bytes each (on
21010	  x86_64) so it reduces the class size by up to 32 bytes, and the code
21011	  is simpler because we no longer need to update prev_ptr and
21012	  next_ptr.
21013
21014Wed Oct 24 00:16:06 BST 2007  Olly Betts <olly@survex.com>
21015
21016	* api/omqueryinternal.cc: Tweak Query::get_description() to describe
21017	  OP_SCALE_WEIGHT queries as '<factor> * <subquery>' rather than
21018	  '<subquery> * <factor>' as the former results in more readable
21019	  descriptions.
21020	* queryparser/queryparser.lemony: Use OP_SCALE_WEIGHT with factor 0.0
21021	  for queries which should be purely boolean which resolves a FIXME
21022	  comment in the code.
21023	* tests/queryparsertest.cc: Fix expected results for this change.
21024
21025Tue Oct 23 19:13:08 BST 2007  Olly Betts <olly@survex.com>
21026
21027	* queryparser/queryparser.lemony: Some as_XXX() methods delete the
21028	  object they are called on, while others don't, so rename the ones
21029	  which don't to get_XXX() to make the code clearer, and make them
21030	  all return Query rather than Query *.  Eliminate Term::as_query()
21031	  completely - when we actually want a new object we can just call
21032	  new in the caller.  op_window_query() now takes the difference
21033	  between the number of terms and the total window size, and we now
21034	  use a std::vector to store the generated Query objects rather than
21035	  a std::list, since we know how many there will be and can reserve
21036	  the required size in advance.
21037
21038Tue Oct 23 18:33:49 BST 2007  Olly Betts <olly@survex.com>
21039
21040	* queryparser/queryparser.lemony: Improve comment.
21041
21042Mon Oct 22 21:00:05 BST 2007  Olly Betts <olly@survex.com>
21043
21044	* queryparser/queryparser.lemony: Fix handling of LOVE and HATE
21045	  following a quoted phrase.
21046	* tests/queryparsertest.cc: Add regression test.
21047
21048Mon Oct 22 05:23:23 BST 2007  Olly Betts <olly@survex.com>
21049
21050	* queryparser/queryparser.lemony: Refactor so Term::as_query() calls
21051	  Term::as_query_object() instead of vice versa, as this avoids
21052	  calling 'new Query' quite a bit and makes a measurable difference
21053	  to the speed of the QueryParser.  Fix a call to as_query() which
21054	  can be as_query_object().
21055
21056Mon Oct 22 04:10:17 BST 2007  Olly Betts <olly@survex.com>
21057
21058	* queryparser/queryparser.lemony: FLAG_PARTIAL with multi-prefixes
21059	  would result in inflated wqf for the "normal" version of the term
21060	  treated as partial.
21061	* tests/queryparsertest.cc: Add regression test.
21062
21063Mon Oct 22 02:34:58 BST 2007  Olly Betts <olly@survex.com>
21064
21065	* queryparser/queryparser.lemony,queryparser/queryparser_internal.h:
21066	  Rename QueryParser::Internal::prefixes to prefixmap to avoid
21067	  confusion with all the other variables which are now called
21068	  "prefixes" in queryparser.lemony.  Eliminate have_prefix and
21069	  instead just set prefixinfo to NULL by default.
21070
21071Sun Oct 21 23:56:57 BST 2007  Olly Betts <olly@survex.com>
21072
21073	* common/omenquireinternal.h,include/xapian/enquire.h,
21074	  include/xapian/query.h,matcher/: Implement a new QueryOptimiser
21075	  class which can hoist the positional filters of OP_PHRASE and
21076	  OP_NEAR higher up the tree and merge the "AND" inside them into
21077	  any neighbouring OP_AND or OP_FILTER (bug#23).  This shaves 10% of
21078	  the execution time of real world queries on real world data.  On
21079	  particularly slow cases, the saving can be more dramatic - it
21080	  saves 50% when tested on a log of slow cases.  OP_SCALE_WEIGHT
21081	  scaling factors are now pushed down to the leaves and any leaf
21082	  we a factor other than 0.0 (boolean) or 1.0 (unscaled) has
21083	  its weights scaled using a ScaleWeight wrapper around the normal
21084	  weighting object (bug#203).
21085
21086Sun Oct 21 23:46:11 BST 2007  Olly Betts <olly@survex.com>
21087
21088	* include/xapian/query.h: Fix documentation of OP_SCALE_WEIGHT.
21089	  Negative scaling factors aren't now clipped to 0, instead we
21090	  throw Xapian::InvalidArgumentError.  Remove the explicit setting of
21091	  OP_ELITE_SET to 10 which is no longer required.  Wrap a long comment
21092	  line.
21093
21094Sun Oct 21 23:20:23 BST 2007  Olly Betts <olly@survex.com>
21095
21096	* tests/api_anydb.cc: Tweak code and wrap comment.
21097
21098Sun Oct 21 04:53:40 BST 2007  Olly Betts <olly@survex.com>
21099
21100	* matcher/extraweightpostlist.h: Add missing '#include "multimatch.h"'
21101	  which is pulled in implicitly by some other header which always
21102	  happens to be included before this one.
21103
21104Fri Oct 19 03:52:17 BST 2007  Olly Betts <olly@survex.com>
21105
21106	* docs/deprecation.rst: Remove deprecation of
21107	  QueryParser::add_prefix() and QueryParser::add_boolean_prefix().
21108	  Reformat the tables to use the "simple table" style, and to all be
21109	  126 columns wide, since that fits in a maximised terminal window
21110	  without wrapping (at least on my machine!)
21111
21112Fri Oct 19 03:44:33 BST 2007  Olly Betts <olly@survex.com>
21113
21114	* include/xapian/queryparser.h,queryparser/queryparser.cc,
21115	  queryparser/queryparser.lemony,queryparser/queryparser_internal.h,
21116	  tests/queryparsertest.cc: Since calling QueryParser::add_prefix()
21117	  or QueryParser::add_boolean_prefix() a second time with the same
21118	  field name was ignored before (rather than overriding as we had
21119	  thought) it seems reasonable to change this behaviour.  This
21120	  also avoids the need to deprecate these methods which will force all
21121	  users to update their code.  Change the semantics of default_prefix
21122	  - it's more useful if this overrides any default prefixes set with
21123	  add_prefix(), since this allows the same QueryParser object to
21124	  parse both a "general" search input which searches several fields
21125	  and also a "title" search input.  Trying to set the same field
21126	  as probabilistic and boolean now throws InvalidOperationError
21127	  rather than UnimplementedError.
21128
21129Fri Oct 19 03:29:53 BST 2007  Olly Betts <olly@survex.com>
21130
21131	* queryparser/queryparser.lt: Fix compilation.
21132
21133Fri Oct 19 03:28:37 BST 2007  Olly Betts <olly@survex.com>
21134
21135	* docs/Makefile.am: We're still getting "info" messages in the
21136	  generated HTML.  It seems to be impossible to get rst2html to
21137	  report "info" messages to stdout without adding them to the
21138	  generated document, so just drop "--verbose" to disable them
21139	  completely.
21140
21141Thu Oct 18 18:27:28 BST 2007  Olly Betts <olly@survex.com>
21142
21143	* queryparser/queryparser.lt: Use std::vector<> for the stack in the
21144	  lemon-generated parser.  This means that the stack is no longer a
21145	  fixed size, so we needn't worry about overflow, and that in typical
21146	  use it'll actually use less memory (lemon defaults to a 100 entry
21147	  stack).
21148
21149Thu Oct 18 17:23:45 BST 2007  Olly Betts <olly@survex.com>
21150
21151	* languages/turkish.sbl: Minimise differences with Snowball SVN HEAD
21152	  by stripping trailing whitespace.
21153
21154Mon Oct 15 15:39:26 BST 2007  Olly Betts <olly@survex.com>
21155
21156	* backends/quartz/btree_util.h: Need "safeunistd.h" for close().
21157	  Fixes build errors on mingw and with SGI's CC on IRIX.
21158
21159Mon Oct 15 05:30:23 BST 2007  Olly Betts <olly@survex.com>
21160
21161	* matcher/localmatch.cc: Fix typo in comment.
21162
21163Mon Oct 15 05:26:35 BST 2007  Olly Betts <olly@survex.com>
21164
21165	* common/omassert.h: Rewritten from scratch.  The new version only
21166	  includes headers if assertions are enabled, which should help
21167	  to speed up non-assertion builds by reducing unnecessary header
21168	  inclusion.  Also, float.h and math.h are never now pulled in -
21169	  instead we use the new within_DBL_EPSILON() function.  AssertNe()
21170	  and AssertNeParanoid() are never actually used, so replace them with
21171	  AssertRel() and AssertRelParanoid which allow the user to assert any
21172	  binary relation, not just inequality.  Also, we now use rare() to
21173	  give branch prediction hints for assertion tests (since the failure
21174	  branch should never be taken).
21175	* common/omdebug.h,common/stringutils.h,tests/harness/testsuite.h:
21176	  Replace several definitions of the STRINGIZE macro with a single
21177	  version in common/stringutils.h.
21178	* backends/flint/,backends/inmemory/inmemory_database.cc,
21179	  backends/multi/multi_postlist.cc,backends/quartz/,
21180	  backends/remote/remote-database.cc,bin/quartzcheck.cc,
21181	  bin/xapian-compact.cc,common/stringutils.h,expand/expandweight.cc,
21182	  expand/ortermlist.cc,matcher/phrasepostlist.cc,
21183	  matcher/scaleweightpostlist.cc,net/remoteconnection.cc,
21184	  net/tcpserver.cc: Explicitly include headers which were previously
21185	  being pulled in implicitly by omassert.h.
21186	* HACKING: Update the documentation for assertion calls, and document
21187	  CompileTimeAssert() (which previously wasn't documented here).
21188
21189Mon Oct 15 05:09:15 BST 2007  Olly Betts <olly@survex.com>
21190
21191	* common/utils.cc,common/utils.h: Add within_DBL_EPSILON() function
21192	  which returns true if its two double arguments differ by less
21193	  than DBL_EPSILON (currently not used anywhere).
21194
21195Mon Oct 15 05:03:50 BST 2007  Olly Betts <olly@survex.com>
21196
21197	* matcher/multiandpostlist.cc: If check sets valid to true, we can't
21198	  be at_end(), so check valid first as at_end() is a rare event.
21199
21200Mon Oct 15 05:00:18 BST 2007  Olly Betts <olly@survex.com>
21201
21202	* matcher/: Remove code for FilterPostList, which has been unused for
21203	  ages.
21204
21205Sun Oct 14 02:13:57 BST 2007  Olly Betts <olly@survex.com>
21206
21207	* matcher/andpostlist.cc: AndPostList now ensures that its left is
21208	  less frequent than its right (it can still be produced as an
21209	  operator decay product, and sometimes left is more frequent when
21210	  this happens).
21211
21212Sun Oct 14 00:58:20 BST 2007  Olly Betts <olly@survex.com>
21213
21214	* matcher/multimatch.cc: Use rare() to mark rarely taken branches.
21215
21216Sun Oct 14 00:30:46 BST 2007  Olly Betts <olly@survex.com>
21217
21218	* configure.ac: Add rare() and usual() macros to config.h which allow
21219	  branch prediction hints to be given for compilers which support this
21220	  (currently GCC and Intel C++).
21221	* HACKING: Document rare() and usual().
21222
21223Sat Oct 13 22:37:32 BST 2007  Olly Betts <olly@survex.com>
21224
21225	* HACKING: Improve wording.
21226
21227Sat Oct 13 16:42:26 BST 2007  Olly Betts <olly@survex.com>
21228
21229	* api/postlist.cc,common/postlist.h,matcher/: Implement a variant of
21230	  PostList::skip_to() called PostList::check() which isn't required
21231	  to leave the PostList on a particular docid.  This allows queries
21232	  filtered by a ValueRangePostList to run around 3.5 times faster.
21233	  Fixes buf#164, though there's probably scope for at least some
21234	  further improvement.
21235
21236Sat Oct 13 16:08:07 BST 2007  Olly Betts <olly@survex.com>
21237
21238	* matcher/multiandpostlist.cc: Fix typo bug (get_termfreq_min
21239	  should be get_termfreq_max!)
21240
21241Sat Oct 13 15:53:52 BST 2007  Olly Betts <olly@survex.com>
21242
21243	* matcher/multiandpostlist.cc: Fix assertion (should be <= not <).
21244
21245Fri Oct 12 01:20:05 BST 2007  Olly Betts <olly@survex.com>
21246
21247	* HACKING: Note that rst2html may be installed as rst2html.py.
21248
21249Fri Oct 12 01:10:11 BST 2007  Olly Betts <olly@survex.com>
21250
21251	* matcher/localmatch.cc: Tweak formatting.
21252
21253Thu Oct 11 22:58:36 BST 2007  Olly Betts <olly@survex.com>
21254
21255	* tests/: svn:ignore: Add termgentest and termgentest.exe.
21256
21257Thu Oct 11 16:18:03 BST 2007  Olly Betts <olly@survex.com>
21258
21259	* configure.ac: If rst2html isn't found, also look for rst2html.py,
21260	  which archlinux reportedly installs it as.
21261
21262Thu Oct 11 16:09:20 BST 2007  Olly Betts <olly@survex.com>
21263
21264	* matcher/: Round the result of all get_termfreq_est() calculations to
21265	  the nearest integer instead of rounding down.
21266
21267Thu Oct 11 15:40:48 BST 2007  Olly Betts <olly@survex.com>
21268
21269	* matcher/: Add new PostList subclass MultiAndPostList which handles
21270	  a multi-way AND operation in a single class.  This allows us to
21271	  optimise some cases of 3 or more way AND operations much better
21272	  and gives a 16-17% performance improvement in tests using real-world
21273	  query logs.
21274	* tests/api_anydb.cc: MultiAndPostList rounds get_termfreq_est()
21275	  calculations to the nearest integer (rather than always rounding
21276	  down) so adjust the expected answers in test_matches.
21277
21278Thu Oct 11 15:14:27 BST 2007  Olly Betts <olly@survex.com>
21279
21280	* matcher/selectpostlist.cc: Explicitly qualify next() as
21281	  SelectPostList::next().
21282
21283Thu Oct 11 13:04:40 BST 2007  Olly Betts <olly@survex.com>
21284
21285	* README: Remove the ancient history lesson - this material is better
21286	  left to the history page on the website.
21287
21288Thu Oct 11 00:33:34 BST 2007  Olly Betts <olly@survex.com>
21289
21290	* matcher/branchpostlist.h: Fix comment typo.
21291
21292Thu Oct 11 00:28:29 BST 2007  Olly Betts <olly@survex.com>
21293
21294	* api/postlist.cc,backends/flint/flint_alldocspostlist.cc,
21295	  backends/flint/flint_alldocspostlist.h,common/postlist.h,matcher/:
21296	  Eliminate several implementations of open_position_list and
21297	  read_position_list in favour of default ones in the PostList base
21298	  class which throw InvalidOperationError.  Change the default
21299	  get_wdf implementation to also throw InvalidOperationError.
21300
21301Wed Oct 10 22:27:44 BST 2007  Olly Betts <olly@survex.com>
21302
21303	* docs/install.html: Improve the remainder.  This documents now just
21304	  gives a brief overview of building, suitable for most common cases,
21305	  and defers to the INSTALL document in each tarball for more details.
21306
21307Wed Oct 10 21:51:39 BST 2007  Olly Betts <olly@survex.com>
21308
21309	* common/leafpostlist.h: Rewrite header.
21310	* api/Makefile.mk,api/leafpostlist.cc: Add new source file for
21311	  virtual, and non-trivial, non-virtual, methods of LeafPostList.
21312	* api/omdatabase.cc,backends/inmemory/inmemory_database.h,
21313	  backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h,
21314	  backends/remote/net_postlist.h,common/emptypostlist.h: Add missing
21315	  '#include "omassert.h"' which was previously pulled in implicitly
21316	  via '#include "leafpostlist.h"'.
21317	* backends/inmemory/inmemory_database.h: Remove unused '#include
21318	  <stdlib.h>'.
21319	* backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h:
21320	  MultiPostList::set_termweight() is never used, so eliminate it.
21321	* backends/remote/net_postlist.cc: Rename parameter "weight" to
21322	  "min_weight" to avoid clash with new member variable of
21323	  LeafPostList.
21324	* matcher/emptysubmatch.cc,matcher/localmatch.cc: Don't call
21325	  LeafPostList::set_termweight() with a BoolWeight object - the
21326	  default behaviour is now equivalent.
21327
21328Wed Oct 10 18:18:09 BST 2007  Olly Betts <olly@survex.com>
21329
21330	* docs/install.html: Improve the first half.
21331
21332Wed Oct 10 16:32:57 BST 2007  Olly Betts <olly@survex.com>
21333
21334	* common/postlist.h: Rewrite header.
21335	* api/Makefile.mk,api/postlist.cc: Add new source file for virtual
21336	  methods of Xapian::PostingIterator::Internal.
21337	* api/omdatabase.cc,backends/flint/flint_postlist.h,
21338	  backends/quartz/quartz_alldocspostlist.cc,
21339	  backends/quartz/quartz_postlist.h,matcher/valuerangepostlist.cc:
21340	  Add missing '#include "autoptr.h"' which was previously pulled in
21341	  implicitly via '#include "postlist.h"'.
21342
21343Wed Oct 10 16:25:08 BST 2007  Olly Betts <olly@survex.com>
21344
21345	* tests/quartztest.cc: Remove quartztest's test_postlist1 and
21346	  test_postlist2.
21347	* tests/api_db.cc: Enhance test_termstats to cover part of the removed
21348	  tests.  Enhance test_postlist1 to check more long terms.  Eliminate
21349	  the helper function from test_postlist3.
21350	* tests/api_wrdb.cc: Add test_postlist7 to cover the rest of what the
21351	  removed tests checked which isn't already checked elsewhere.
21352
21353Wed Oct 10 02:29:44 BST 2007  Olly Betts <olly@survex.com>
21354
21355	* HACKING: Update the release checklist.
21356
21357Wed Oct 10 02:01:03 BST 2007  Olly Betts <olly@survex.com>
21358
21359	* matcher/scaleweightpostlist.cc,matcher/scaleweightpostlist.h: Move
21360	  virtual dtor definition out of header.
21361
21362Wed Oct 10 01:41:05 BST 2007  Olly Betts <olly@survex.com>
21363
21364	* matcher/msetpostlist.cc: Avoid virtual method overhead in
21365	  MSetPostList::recalc_maxweight().
21366
21367Wed Oct 10 00:16:00 BST 2007  Olly Betts <olly@survex.com>
21368
21369	* common/expandweight.h,expand/expand.cc,expand/expandweight.cc: We
21370	  never actually use ExpandWeight::get_maxweight(), so remove it.
21371
21372Tue Oct 09 16:27:54 BST 2007  Olly Betts <olly@survex.com>
21373
21374	* backends/flint/flint_database.cc,backends/flint/flint_version.cc,
21375	  backends/flint/flint_version.h: Don't try to upgrade a flint
21376	  database if we're only reading it, or it's already the latest
21377	  version.
21378
21379Mon Oct 08 10:14:57 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21380
21381	* tests/api_nodb.cc: Rename test_scaleweightmatchnothing1 to
21382	  test_scaleweight3 so all the scaleweight tests can be run
21383	  together more easily.  Add test_scaleweight4 to test that scaling
21384	  by a weight close to 1 is optimised away.
21385
21386Sun Oct 07 12:20:14 BST 2007  Olly Betts <olly@survex.com>
21387
21388	* include/xapian/database.h: Add explicit note that
21389	  Database::get_metadata() returns an empty string when the backend
21390	  doesn't support user-specified metadata, and that
21391	  WritableDatabase::set_metadata() throws UnimplementedError in this
21392	  case.  Add note about current behaviour with multidatabases.
21393
21394Sun Oct 07 10:58:24 BST 2007  Olly Betts <olly@survex.com>
21395
21396	* api/omqueryinternal.cc: No need to use AutoPtr<> here now.
21397
21398Sun Oct 07 10:54:05 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21399
21400	* common/remoteprotocol.h: Bump the network protocol minor
21401	  revision, since we've added a query operator (OP_SCALE_WEIGHT)
21402	  and the server will need to be updated to understand serialised
21403	  queries containing it.
21404
21405Sun Oct 07 01:54:43 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21406
21407	* api/omqueryinternal.cc,include/xapian/query.h,matcher/,
21408	  tests/api_anydb.cc,tests/api_nodb.cc,tests/internaltest.cc:
21409	  Rename OP_MULT_WEIGHT to OP_SCALE_WEIGHT and MultWeight to
21410	  ScaleWeight, and move it to before OP_MULT_WEIGHT (to remove the
21411	  gap in the enum).
21412	  Don't do an epsilon test to compare the weight to zero (when
21413	  checking if it's effectively a boolean query) - do an exact
21414	  comparison instead.  Raise an exception if the parameter for
21415	  OP_SCALE_WEIGHT is < 0 (instead of clipping it to 0).  Adjust
21416	  weights accordingly.
21417	  Add test_scaleweight2() to test a query with some weights
21418	  multiplied by 0, and some by a different factor.
21419
21420Wed Oct 03 17:23:02 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21421
21422	* api/omqueryinternal.cc,tests/api_nodb.cc: Fix (and test) for a
21423	  double delete if OP_MULT_WEIGHT was applied to an empty query.
21424
21425Mon Oct 01 13:20:39 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21426
21427	* NEWS: Update
21428	* net/remoteconnection.cc: Back out previous change - I was
21429	  confused, the code was previously fine, and the change broke it.
21430
21431Mon Oct 01 13:13:48 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21432
21433	* api/omqueryinternal.cc: Fix access of uninitialised member when
21434	  unserialising a mult-weight query.
21435	* tests/internaltest.cc: Add a regression test for unserialisationg
21436	  of mult-weight queries.
21437
21438Mon Oct 01 13:11:24 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21439
21440	* net/remoteconnection.cc: After calling read(), check for received
21441	  == 0 after checking for errors, so that if an EINTR occurs in
21442	  read, we don't report EOF instead of retrying.
21443
21444Sun Sep 30 23:20:34 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21445
21446	* api/omquery.cc,api/omqueryinternal.cc,include/xapian/query.h: Add
21447	  OP_MULT_WEIGHT operator, and a new Query constructor which takes
21448	  a single subquery and a "double" parameter - currently only
21449	  useful for OP_MULT_WEIGHT.  Add dbl_parameter to Query::Internal,
21450	  to hold this parameter.  Add serialisation of OP_MULT_WEIGHT
21451	  using "." to represent the operator.  Drop OP_MULT_WEIGHT
21452	  operators which have a parameter of 1 (or very close) when
21453	  simplifying, since these have no effect.
21454	* matcher/multweightpostlist.cc,matcher/multweightpostlist.h: New
21455	  files, implementing a postlist which multiplies the weights from
21456	  its single sub-postlist by a parameter.
21457	* matcher/Makefile.mk: Add new files.
21458	* matcher/localmatch.cc: Add support for the OP_MULT_WEIGHT query
21459	  operator, which produces a MultWeightPostList if the associated
21460	  parameter is greater than DBL_EPSILON, and produces a boolean query
21461	  otherwise.
21462	* tests/api_anydb.cc: Add tests for OP_MULT_WEIGHT operator with
21463	  various queries, and various multipliers.
21464	* NEWS: Update
21465
21466Sun Sep 30 23:13:29 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21467
21468	* tests/harness/testsuite.h: Add TEST_NOT_EQUAL_DOUBLE() macro.
21469	* tests/harness/testsuite.cc: Add special
21470	  case to TEST_EQUAL_DOUBLE_() for exact equality of the supplied
21471	  arguments.  This is tidier in general, because it avoids "inf"
21472	  being produces by the calculation, but is only actually necessary
21473	  in the case where the arguments are both exactly 0; it all works
21474	  out nicely for other values of the arguments.
21475
21476Sun Sep 30 21:12:40 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21477
21478	* tests/queryparsertest.cc: #define XAPIAN_DEPRECATED to disable
21479	  compiler warnings about the deprecated forms of add_prefix() and
21480	  add_boolean_prefix().
21481
21482Sun Sep 30 21:07:25 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21483
21484	* api/Makefile.mk,docs/Makefile.am,docs/deprecation.rst,
21485	  include/Makefile.mk,include/xapian.h,include/xapian/queryparser.h,
21486	  queryparser/queryparser.cc,queryparser/queryparser.lemony,
21487	  queryparser/queryparser_internal.h,tests/: Re-apply changes which
21488	  needed more thought or more work before being included in a
21489	  release.
21490	* NEWS: Update with current descriptions of these changes.
21491
21492Sun Sep 30 20:22:25 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21493
21494	* tests/valgrind.supp: Add further suppressions needed for the
21495	  version of zlib on ubuntu gutsy.
21496
21497Fri Sep 28 15:38:18 BST 2007  Olly Betts <olly@survex.com>
21498
21499	* NEWS: Final (?) update for 1.0.3.
21500
21501Fri Sep 28 15:37:22 BST 2007  Olly Betts <olly@survex.com>
21502
21503	* PLATFORMS: Another small update.
21504
21505Fri Sep 28 15:30:17 BST 2007  Olly Betts <olly@survex.com>
21506
21507	* HACKING: Add link to the 1.0.N tracker bug.
21508
21509Fri Sep 28 14:04:06 BST 2007  Olly Betts <olly@survex.com>
21510
21511	* PLATFORMS: More updates.
21512
21513Fri Sep 28 13:45:51 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21514
21515	* include/xapian/database.h: Document that empty metadata keys will
21516	  cause an exception from get_metadata() and set_metadata().
21517	* api/omdatabase.cc: Cause empty metadata keys to raise an
21518	  InvalidArgumentError if they're passed to set_metadata() or
21519	  get_metadata().
21520	* tests/api_wrdb.cc: Add test_metadata3, to check behaviour with an
21521	  empty metadata key.
21522
21523Fri Sep 28 13:30:49 BST 2007  Olly Betts <olly@survex.com>
21524
21525	* PLATFORMS: Updates from tinderbox.
21526
21527Fri Sep 28 13:22:16 BST 2007  Olly Betts <olly@survex.com>
21528
21529	* include/xapian/database.h: Clarify support for empty metadata keys.
21530
21531Fri Sep 28 11:00:08 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21532
21533	* tests/valgrind.supp: Add second version of the zlib end condition
21534	  check which works for the version of zlib in Ubuntu gutsy; ie,
21535	  version 1.2.3.3, where the error occurs in the function called
21536	  directly by deflate, rather than two levels below it.
21537
21538Fri Sep 28 03:11:11 BST 2007  Olly Betts <olly@survex.com>
21539
21540	* configure.ac: Update for 1.0.3.
21541
21542Fri Sep 28 03:05:10 BST 2007  Olly Betts <olly@survex.com>
21543
21544	* api/Makefile.mk,docs/Makefile.am,docs/deprecation.rst,
21545	  include/Makefile.mk,include/xapian.h,include/xapian/queryparser.h,
21546	  queryparser/queryparser.cc,queryparser/queryparser.lemony,
21547	  queryparser/queryparser_internal.h,tests/: Back out changes which
21548	  need more thought or more work in the interests of getting 1.0.3
21549	  out this month.
21550
21551Fri Sep 28 03:04:19 BST 2007  Olly Betts <olly@survex.com>
21552
21553	* NEWS: Update with recent changes.
21554
21555Fri Sep 28 01:55:42 BST 2007  Olly Betts <olly@survex.com>
21556
21557	* docs/deprecation.rst: Revert to the previous deprecation policy.
21558
21559Fri Sep 28 01:20:34 BST 2007  Olly Betts <olly@survex.com>
21560
21561	* include/xapian/enquire.h: Rephrase since "should be in the MSet"
21562	  might be misunderstood.
21563
21564Fri Sep 28 01:12:47 BST 2007  Olly Betts <olly@survex.com>
21565
21566	* AUTHORS,docs/Makefile.am,docs/glossary.rst,docs/index.html: Add
21567	  glossary put together by Jenny Black, also incorporating entries
21568	  from Deron Meranda's glossary on the wiki.
21569
21570Thu Sep 27 23:06:30 BST 2007  Olly Betts <olly@survex.com>
21571
21572	* docs/stemming.html: Reorder the initial paragraphs so we actually
21573	  answer the question "What is a stemming algorithm?" up front.
21574
21575Thu Sep 27 22:15:36 BST 2007  Olly Betts <olly@survex.com>
21576
21577	* matcher/valuerangepostlist.cc: Call ValueRangePostList::next()
21578	  explicitly to avoid the overhead of virtual method dispatch.
21579
21580Thu Sep 27 14:43:25 BST 2007  Olly Betts <olly@survex.com>
21581
21582	* common/termlist.h: Don't need to forward declare
21583	  Xapian::Internal::ExpandWeight here.
21584
21585Thu Sep 27 14:36:00 BST 2007  Olly Betts <olly@survex.com>
21586
21587	* common/termlist.h: Add missing (but indirectly included) '#include
21588	  <xapian/base.h>'.
21589
21590Fri Sep 21 18:00:34 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21591
21592	* docs/deprecation.rst: Add deprecation for
21593	  Database::positionlist_begin() throwing DocNotFoundError , for
21594	  same reason as deprecating it throwing RangeError.  Also, add
21595	  deprecation for QueryParser::add_prefix(f, p) and
21596	  add_boolean_prefix() - replaced by three argument form of
21597	  add_prefix.  Also, add a policy that we don't add
21598	  XAPIAN_DEPRECATED when there's no replacement for the deprecated
21599	  feature in the last x.x.0 release.
21600	* include/xapian/queryparser.h: Add @deprecated to documentation
21601	  comments for add_prefix(f, p) and add_boolean_prefix() (but don't
21602	  add XAPIAN_DEPRECATED() macro for now).
21603
21604Fri Sep 21 16:13:25 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21605
21606	* include/xapian/queryparser.h: Fix copy and paste errors in
21607	  documentation comment, and hopefully clarify it somewhat.
21608
21609Fri Sep 21 15:50:40 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21610
21611	* tests/queryparsertest.cc: Initialise the default prefix from
21612	  prefixes.find(""), allowing multiple default prefixes to be set
21613	  by calling add_prefix() with an empty field name.
21614	* queryparser/queryparser.lemony: Several more tests; mainly for
21615	  the new default_prefix functionality, but also a bit more
21616	  coverage for multiple prefixes in general.
21617
21618Fri Sep 21 15:04:02 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21619
21620	* include/xapian/queryparser.h,queryparser/queryparser.cc: API
21621	  addition: Revert previous change to behaviour of
21622	  QueryParser::add_prefix and QueryParser::add_boolean_prefix
21623	  methods, to avoid API change within a release series.  Add new
21624	  QueryParser::add_prefix() form which takes three parameters; the
21625	  third parameter is a value from a new "prefix_type" enum.
21626	* queryparser/queryparser.lemony,queryparser/queryparser_internal.h:
21627	  Internal changes to allow multiple filters to be set for a single
21628	  field:
21629	   - Remove the PrefixInfoList object again - instead add a list of
21630	     prefixes to PrefixInfo.  We only aim to support one type of
21631	     prefix for a given field, so the extra flexibility given by
21632	     PrefixInfoList is a districation.
21633	   - Change filter_group_id to be based on a list of prefixes,
21634	     instead of a single prefix.
21635	   - Change Term objects to store a list of prefixes instead of a
21636	     single prefix.  make_term() now takes a prefix argument and
21637	     makes a single term.  Term::as_... methods iterate through the
21638	     prefix list and OR together the resulting terms.
21639	   - Change TermList object to store a list of Terms instead of
21640	     Queries, and also to keep track of whether the prefix lists
21641	     for those Terms are all the same.  When they are the same,
21642	     generate separate phrases for each prefix, and OR them
21643	     togeher, instead of generating phrases of "OR" groups of
21644	     terms.  Remove the unused "TermList::add_term()" method.
21645	* tests/queryparsertest.cc: Add simple tests of repeated inline
21646	  fields, phrases with multiple prefixed fields, tests of backwards
21647	  compatible behaviour of add_prefix(field, prefix), and
21648	  add_boolean_prefix(), and of the new add_prefix() form with
21649	  incompatible types.
21650
21651Thu Sep 20 02:13:36 BST 2007  Olly Betts <olly@survex.com>
21652
21653	* NEWS: Update with changes since 1.0.2.
21654
21655Wed Sep 19 20:00:43 BST 2007  Olly Betts <olly@survex.com>
21656
21657	* backends/flint/flint_table.cc: Fix "Key_" in exception message to
21658	  say "Key" (the result of overzealous search-and-replace).
21659
21660Wed Sep 19 17:08:16 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21661
21662	* include/xapian/queryparser.h,queryparser/queryparser.cc,
21663	  queryparser/queryparser.lemony,queryparser/queryparser_internal.h:
21664	  Handle repeated calls to QueryParser::add_boolean_prefix() with
21665	  the same field - this will generate multiple terms for each
21666	  occurrence of the field in the query.  Involves reorganising the
21667	  internal representation of prefixes, to hold a list of PrefixInfo
21668	  objects for each field, instead of a single object.  This also
21669	  paves the way towards handling for multiple calls to
21670	  QueryParser:add_prefix() with the same field, and allowing
21671	  add_{boolean_}prefix() with an empty field to set the default
21672	  prefix handling, but the behaviour of this are currently
21673	  unchanged.  Technically, this could be considered an API change,
21674	  but the previous behaviour (of using only the most recent value
21675	  set by add_boolean_prefix) was unintentional and undocumented,
21676	  and seems unlikely to have been deliberately used.
21677	* tests/queryparsertest.cc: Add a very simple test for repeated
21678	  boolean_prefix fields; several more are needed.  Also, a
21679	  commented out test of repeated non-boolean prefix fields.
21680
21681Tue Sep 18 23:28:48 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21682
21683	* queryparser/queryparser.lemony: Remove unused variable
21684	  "term_group".
21685
21686Tue Sep 18 16:56:37 BST 2007  Olly Betts <olly@survex.com>
21687
21688	* api/matchspy.cc,include/xapian/matchspy.h: Use a set rather than a
21689	  map to store the "multivalues" flags.
21690
21691Mon Sep 17 14:10:47 BST 2007  Olly Betts <olly@survex.com>
21692
21693	* include/xapian/matchspy.h: Fix documentation comment typo.
21694
21695Sun Sep 16 04:13:20 BST 2007  Olly Betts <olly@survex.com>
21696
21697	* net/remoteconnection.cc: Fix compiler warning in mingw build.
21698
21699Sun Sep 16 02:59:54 BST 2007  Olly Betts <olly@survex.com>
21700
21701	* backends/flint/flint_database.cc,tests/api_wrdb.cc: Check length of
21702	  new terms is at most 245 bytes for flint in add_document() and
21703	  replace_document() so that the API user gets an error there rather
21704	  than when flush() is called (explicitly or implicitly).  Fixes
21705	  bug#44.
21706
21707Sat Sep 15 20:11:36 BST 2007  Olly Betts <olly@survex.com>
21708
21709	* backends/flint/flint_version.cc: Add missing include of
21710	  msvc_posix_wrapper.h.
21711
21712Sat Sep 15 17:58:35 BST 2007  Olly Betts <olly@survex.com>
21713
21714	* api/omdatabase.cc,backends/database.cc,
21715	  backends/flint/flint_database.cc,backends/flint/flint_database.h,
21716	  backends/flint/flint_version.cc,
21717	  backends/inmemory/inmemory_database.cc,
21718	  backends/inmemory/inmemory_database.h,common/database.h,
21719	  include/xapian/database.h,tests/api_wrdb.cc: Add support for user
21720	  specified metadata (bug#143).
21721
21722Sat Sep 15 02:26:40 BST 2007  Olly Betts <olly@survex.com>
21723
21724	* backends/flint/flint_cursor.cc,backends/flint/flint_cursor.h:
21725	  Implement FlintCursor::find_entry_ge() a little more efficiently
21726	  (we could do better still by modifying FlintTable too).
21727
21728Sat Sep 15 00:56:54 BST 2007  Olly Betts <olly@survex.com>
21729
21730	* backends/flint/flint_cursor.cc: If we found the exact key, just copy
21731	  it to current_key.
21732
21733Fri Sep 14 21:52:45 BST 2007  Olly Betts <olly@survex.com>
21734
21735	* backends/flint/: Overhaul FlintAllDocsPostList.
21736
21737Fri Sep 14 19:20:56 BST 2007  Olly Betts <olly@survex.com>
21738
21739	* backends/flint/flint_alltermslist.cc: Rework
21740	  FlintAllTermsList::skip_to() to use FlintCursor::find_entry_ge().
21741
21742Fri Sep 14 17:45:06 BST 2007  Olly Betts <olly@survex.com>
21743
21744	* backends/flint/flint_cursor.h: Improve documentation comment.
21745
21746Fri Sep 14 17:28:17 BST 2007  Olly Betts <olly@survex.com>
21747
21748	* backends/flint/flint_spellingwordslist.cc,
21749	  backends/flint/flint_synonym.cc: Use FlintCursor::find_entry_ge().
21750	* backends/flint/flint_synonym.h: Use FlintCursor::find_entry_lt().
21751	* backends/flint/flint_alltermslist.h: Use FlintCursor::find_entry_lt()
21752	  and skip any keys before "\x00\xff" to allow for extra metadata
21753	  keys.
21754
21755Fri Sep 14 15:26:04 BST 2007  Olly Betts <olly@survex.com>
21756
21757	* backends/flint/flint_cursor.cc,backends/flint/flint_cursor.h: The
21758	  reason why a deleted key is still visible to the cursor is that it
21759	  is running over the previous revision of the tree.  So we don't
21760	  need to call find_entry() at all - we can just call next().  Also
21761	  extend FlintCursor::del() to return whether the cursor is positioned
21762	  (like FlintCursor::next() does).
21763	* backends/flint/flint_postlist.cc: Use the return value of
21764	  FlintCursor::del().
21765
21766Fri Sep 14 15:10:39 BST 2007  Olly Betts <olly@survex.com>
21767
21768	* tests/Makefile.am: Reorder the testdata/flint-x.y.z files
21769	  consistently.
21770
21771Fri Sep 14 12:48:04 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21772
21773	* configure.ac: Add "tar-ustar" option to AM_INIT_AUTOMAKE.  This
21774	  is needed to avoid a failure of make dist due to filepaths of
21775	  more than 99 characters (in the generated documentation: the
21776	  relevant filepaths are for the NumberValueRangeProcessor class,
21777	  and extend to 103 characters).  Automake documentation implies
21778	  that tar-v7 is the default format, which doesn't support
21779	  filepaths longer than 99 characters portably; ustar allows 256
21780	  characters.  The automake documentation says that the ustar
21781	  format "is believed to be old enough to be portable"; if we come
21782	  across problems due to the format change we could consider
21783	  renaming files to reduce the filepath length.
21784	* tests/Makefile.am: Remove
21785	  testdata/flint-1.0.2/{value,position}.{baseA,DB} from
21786	  distribution, since they don't actually exist.  Fixes make dist.
21787
21788Fri Sep 14 10:45:35 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21789
21790	* backends/flint/flint_cursor.cc,backends/flint/flint_cursor.h: Add
21791	  FlintCursor::find_entry_gt(), and use it instead of
21792	  flint_entry_ge() in FlintCuror::del().  This fixes failure of
21793	  deldoc4 test.  I'm not sure why find_entry() can return true
21794	  immediately after the key it's searching for was deleted with
21795	  B->del(), though: that merits further investigation.
21796
21797Fri Sep 14 04:57:14 BST 2007  Olly Betts <olly@survex.com>
21798
21799	* bin/xapian-inspect.cc: Avoid comparing char with 0 - on platforms
21800	  where char is unsigned by default this can give a compiler warning.
21801
21802Fri Sep 14 03:40:18 BST 2007  Olly Betts <olly@survex.com>
21803
21804	* bin/xapian-compact.cc: Removed unused variable.
21805
21806Fri Sep 14 01:56:36 BST 2007  Olly Betts <olly@survex.com>
21807
21808	* backends/flint/flint_alltermslist.cc: Fix comment typo.
21809
21810Fri Sep 14 01:51:52 BST 2007  Olly Betts <olly@survex.com>
21811
21812	* backends/flint/flint_cursor.cc,backends/flint/flint_cursor.h: Add
21813	  FlintCursor::find_entry_lt() and FlintCursor::find_entry_ge()
21814	  which we can implement more efficiently (in the future) than
21815	  user code calling FlintCursor::find_entry() and then having to
21816	  adjust the cursor position in some cases.
21817
21818Thu Sep 13 14:52:34 BST 2007  Olly Betts <olly@survex.com>
21819
21820	* backends/flint/flint_alltermslist.cc: FlintCursor::after_end() is
21821	  never true after FlintCursor::find_entry() so remove check for this
21822	  case!
21823
21824Thu Sep 13 03:11:19 BST 2007  Olly Betts <olly@survex.com>
21825
21826	* backends/flint/flint_alltermslist.h,backends/flint/flint_database.cc,
21827	  backends/flint/flint_database.h: Don't pass FlintPostListTable
21828	  pointer to FlintAllTermsList - it can find this via the database
21829	  if we make it FlintDatabase instead of Database::Internal.
21830
21831Thu Sep 13 02:07:19 BST 2007  Olly Betts <olly@survex.com>
21832
21833	* backends/flint/: Read/write the metainfo key from FlintDatabase to
21834	  avoid having to pass a huge long list of values across once we start
21835	  to store more statistics.
21836
21837Thu Sep 13 02:03:46 BST 2007  Olly Betts <olly@survex.com>
21838
21839	* backends/database.cc,common/database.h: Move definitions of virtual
21840	  methods out of the header file.
21841
21842Thu Sep 13 01:33:49 BST 2007  Olly Betts <olly@survex.com>
21843
21844	* backends/flint/flint_database.cc,backends/flint/flint_database.h:
21845	  Store the total_length and lastdocid values in FlintDatabase object.
21846
21847Wed Sep 12 20:27:49 BST 2007  Olly Betts <olly@survex.com>
21848
21849	* matcher/multimatch.cc: Eliminate a block which used to scope some
21850	  variables which have now moved.  Unify debug output from different
21851	  cases after the match.  Remove half-finished comment which doesn't
21852	  seem to be trying to say anything useful.
21853
21854Wed Sep 12 20:20:18 BST 2007  Olly Betts <olly@survex.com>
21855
21856	* tests/api_anydb.cc: In checkatleast2, the total number of matching
21857	  documents in the database is 5, so use TEST_EQUAL instead of
21858	  TEST_GREATER_OR_EQUAL to compare get_matches_lower_bound() with 5.
21859
21860Wed Sep 12 17:55:00 BST 2007  Olly Betts <olly@survex.com>
21861
21862	* backends/flint/flint_database.h: Fix some comment typos and
21863	  outdated information.  Remove some superfluous uses of "virtual".
21864
21865Wed Sep 12 17:15:58 BST 2007  Olly Betts <olly@survex.com>
21866
21867	* backends/flint/flint_database.cc,backends/quartz/quartz_database.cc:
21868	  Failing to create a flint or quartz database because we couldn't
21869	  create the directory for it now throws DatabaseCreateError not
21870	  DatabaseOpeningError.
21871	* tests/api_db.cc: Update test cases.
21872
21873Wed Sep 12 15:40:16 BST 2007  Olly Betts <olly@survex.com>
21874
21875	* backends/flint/flint_database.cc,backends/flint/flint_database.h:
21876	  If we reach the flush threshold during a transaction, flush the
21877	  postlist changes, but don't actually commit them.
21878
21879Wed Sep 12 14:12:52 BST 2007  Olly Betts <olly@survex.com>
21880
21881	* common/msvc_posix_wrapper.cc,common/msvc_posix_wrapper.h: Add
21882	  msvc_posix_rename() which can rename a file on top of another file.
21883	* common/stringutils.h: Add common_prefix_length() function.
21884	* backends/flint/: Clean up FlintWritableDatabase - it now just
21885	  inherits from FlintDatabase which allows several virtual methods
21886	  which just forwarded to FlintDatabase to be dropped.  Also, we
21887	  now no longer need to pass FlintTable objects to other classes
21888	  - they can just find the tables they want via the database pointer.
21889	  The never-used "store_termfreqs" flag has been dropped from the
21890	  termlist table entries - existing 1.0.x flint databases will be
21891	  automatically upgraded to the new version.  Opening a database
21892	  now calls stat() less, so should be slightly more efficient.
21893	  And TermIterator::positionlist_count() now works for the flint
21894	  backend.
21895	* tests/Makefile.am,tests/api_db.cc,tests/testdata/flint-1.0.2/: New
21896	  test flintbackwardcompat2 which tests that we can open a flint
21897	  database from 1.0.2.
21898	* tests/api_wrdb.cc: New test adddoc4 which checks that termlists
21899	  handle an initial term of any valid length correctly.
21900	* tests/testdata/flint-1.0.1/postlist.DB: Mark as a binary file in
21901	  SVN.
21902
21903Tue Sep 11 23:02:56 BST 2007  Olly Betts <olly@survex.com>
21904
21905	* backends/inmemory/inmemory_database.cc,
21906	  backends/inmemory/inmemory_database.h: Implement
21907	  TermIterator::positionlist_count() for the inmemory backend.
21908	* tests/api_posdb.cc: Add feature test for
21909	  TermIterator::positionlist_count() (which currently skips for all
21910	  backends except inmemory).
21911
21912Tue Sep 11 03:43:30 BST 2007  Olly Betts <olly@survex.com>
21913
21914	* backends/flint/flint_database.cc: Make sure flush_threshold gets
21915	  initialised.
21916	* backends/flint/flint_database.h: Change type of flush_threshold from
21917	  `size_t' to `Xapian::doccount' for consistency with the type of
21918	  changes_made.
21919
21920Tue Sep 11 03:19:37 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21921
21922	* backends/flint/flint_database.cc,backends/flint/flint_database.h:
21923	  Change flush_threshold from static to non-static, and set it for
21924	  each FlintWritableDatabase based on the value of the
21925	  XAPIAN_FLUSH_THRESHOLD environment variable at the time the
21926	  database was opened, instead of caching the value for each future
21927	  database which is opened.
21928
21929Tue Sep 11 02:59:45 BST 2007  Olly Betts <olly@survex.com>
21930
21931	* docs/Makefile.am: When running rst2html, use "--exit-status=warning"
21932	  rather than "--strict".  The former actually gives a non-zero exit
21933	  status for a warning or worse, while the former doesn't, but does
21934	  include any "info" messages in the output HTML.
21935
21936Tue Sep 11 02:38:30 BST 2007  Olly Betts <olly@survex.com>
21937
21938	* docs/deprecation.rst: Add "Database::positionlist_begin() throwing
21939	  RangeError".
21940
21941Tue Sep 11 00:52:27 BST 2007  Olly Betts <olly@survex.com>
21942
21943	* HACKING: Document a few more "coding standards".
21944
21945Mon Sep 10 21:34:23 BST 2007  Olly Betts <olly@survex.com>
21946
21947	* examples/delve.cc,examples/simpleexpand.cc,net/tcpserver.cc,
21948	  queryparser/queryparser.cc,queryparser/queryparser.lemony: Add more
21949	  missing "#include <string.h>" instances.
21950
21951Mon Sep 10 20:24:25 BST 2007  Olly Betts <olly@survex.com>
21952
21953	* net/serialise.cc: Add missing "#include <string.h>".
21954
21955Sun Sep 09 15:38:11 BST 2007  Olly Betts <olly@survex.com>
21956
21957	* backends/flint/flint_spelling.h,backends/flint/flint_synonym.h,
21958	  backends/flint/flint_table.h: Fix typo (Z_DEFAULT_COMPRESSION
21959	  where it should be Z_DEFAULT_STRATEGY) which meant that zlib
21960	  compression wasn't enabled for the spelling or synonym tables.
21961
21962Fri Sep 07 19:31:44 BST 2007  Olly Betts <olly@survex.com>
21963
21964	* docs/spelling.rst: Fix typo.
21965
21966Thu Sep 06 15:02:43 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21967
21968	* api/editdistance.cc: Fix off-by-one error in loop bounds when
21969	  setting up fkp array initially.  Fixes bug #194.
21970	* tests/api_wrdb.cc: Add regression test for #194, spell5.
21971
21972Thu Sep 06 14:31:15 BST 2007  Olly Betts <olly@survex.com>
21973
21974	* tests/harness/testsuite.cc: More localised fix for preserving the
21975	  start of the valgrind report when in verbose mode.  Rework the code
21976	  which pulls out the start of the report to summarise why the test
21977	  failed.
21978
21979Thu Sep 06 14:17:44 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21980
21981	* tests/harness/testsuite.cc: When displaying valgrind output, seek
21982	  back to the start of the valgrind output for the current test
21983	  before dumping it to stdout: previously, the earlier check for the
21984	  valgrind error message to display (when not using -v) caused the
21985	  first 1024 bytes of the valgrind output to get dropped.
21986
21987Tue Sep 04 20:13:29 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21988
21989	* matcher/multimatch.cc: For remote submatches, keep a count of
21990	  matches which we know exist, but we don't get passed from the
21991	  submatch.  These can be detected by checking for the lowerbound
21992	  on the matches in the submatch being greater than the index of
21993	  the last item in the returned submset.  When the match is over,
21994	  use this count, together with docs_matched, to adjust the lower
21995	  bound and estimate (and upper bound, if we've not seen as many
21996	  documents as we were asked to check for).  Fixes checkatleast2
21997	  and checkatleast3 in the remote database case.
21998	* tests/harness/testsuite.h: Add TEST_GREATER_OR_EQUAL,
21999	  TEST_GREATER, TEST_LESSER_OR_EQUAL and TEST_LESSER macros, which
22000	  display the values of the arguments if they fail.
22001	* tests/api_anydb.cc: Use TEST_GREATER_OR_EQUAL and TEST_EQUAL in
22002	  checkatleast2 and checkatleast3, to make failures easier to
22003	  debug.
22004
22005Tue Sep 04 18:16:49 BST 2007  Olly Betts <olly@survex.com>
22006
22007	* matcher/multimatch.cc: Restructure to make the control flow clearer.
22008	  Rewrap some comments which got wrapped to ~82 columns somehow.
22009
22010Tue Sep 04 17:21:49 BST 2007  Olly Betts <olly@survex.com>
22011
22012	* docs/overview.html: Restore the HTML header I accidentally deleted
22013	  in November 2006.
22014
22015Tue Sep 04 17:15:30 BST 2007  Olly Betts <olly@survex.com>
22016
22017	* docs/overview.html: Fix typo.
22018
22019Tue Sep 04 13:47:27 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22020
22021	* tests/api_anydb.cc: Tighten test_checkatleast3 to check for
22022	  previous bug (now fixed).
22023
22024Tue Sep 04 13:37:01 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22025
22026	* matcher/multimatch.cc: If check_at_least is greater than
22027	  maxitems, but there are fewer results than check_at_least, the
22028	  lower and upper bounds reported should be equal (and exact).  Fix
22029	  a bug which caused this not to be the case, by checking if
22030	  docs_matched < check_at_least, and forcing the bounds (and
22031	  estimate) to be docs_matched in this case.
22032
22033	  Also, fix a bug when sorting by anything other than relevance,
22034	  which was causing potential matches which are too low in the
22035	  ranking to make the mset not to be added to the count of
22036	  docs_matched, even when docs_matched < check_at_least.
22037
22038	  Also, add a few extra explanatory comments and debug log messages
22039	  in get_mset().
22040
22041Tue Sep 04 12:43:03 BST 2007  Olly Betts <olly@survex.com>
22042
22043	* PLATFORMS: Update from debian buildd logs.
22044
22045Tue Sep 04 09:57:25 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22046
22047	* Makefile.am,configure.ac,msvc/genversion.pl,msvc/version.h.in:
22048	  Move msvc/genversion.pl and msvc/version.h.in to win32msvc in
22049	  xapian-maintainer-tools.  Remove generation of msvc/version.h
22050	  from configure.in, and AC_SUBST() of MAJOR_VERSION,
22051	  MINOR_VERSION and REVISION, which were only in place for this
22052	  generation.  Remove msvc/version.h from distribution tarballs.
22053
22054Tue Sep 04 02:56:00 BST 2007  Olly Betts <olly@survex.com>
22055
22056	* matcher/andpostlist.cc: If the database has > 2G documents then the
22057	  sum of termfreq_min can overflow, so handle this case correctly.
22058
22059Tue Sep 04 00:05:47 BST 2007  Olly Betts <olly@survex.com>
22060
22061	* xapian-config.in: We always need to include dependency_libs in the
22062	  output of `xapian-config --libs` if shared libraries are disabled.
22063
22064Mon Sep 03 16:28:33 BST 2007  Olly Betts <olly@survex.com>
22065
22066	* bin/xapian-check.cc: Allow "xapian-check db/record." and
22067	  "xapian-check db/record.DB".
22068
22069Mon Sep 03 02:16:43 BST 2007  Olly Betts <olly@survex.com>
22070
22071	* docs/deprecation.rst,include/xapian/enquire.h: Deprecate
22072	  Enquire::register_match_decider().
22073	* api/omenquire.cc,common/omenquireinternal.h: Remove mdecider_map
22074	  since the set values are never used anywhere.
22075
22076Sun Sep 02 20:54:33 BST 2007  Olly Betts <olly@survex.com>
22077
22078	* HACKING: Add "update the 1.0.N tracker bug" to the release
22079	  checklist.
22080
22081Fri Aug 31 10:44:19 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22082
22083	* tests/api_db.cc,tests/api_wrdb.cc: Fix compilation of apitest,
22084	  which was broken on 64 bit platforms due to size_t instead of
22085	  doccount bug.
22086
22087Fri Aug 24 11:56:18 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22088
22089	* api/matchspy.cc,include/xapian/matchspy.h: Fix uses of size_t
22090	  which should have been Xapian::doccount.  Was causing compile
22091	  errors on platforms where size_t and Xapian::doccount were
22092	  different sizes.
22093
22094Fri Aug 03 20:10:15 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22095
22096	* tests/api_nodb.cc: Add test_stringlistserialise1() to test the
22097	  StringListSerialiser and StringListUnserialiser.  Change the list
22098	  of testcases to use the TESTCASE and END_OF_TESTCASES macros.
22099
22100Fri Aug 03 19:53:26 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22101
22102	* api/matchspy.cc,include/xapian/matchspy.h: Add StringListSerialiser
22103	  and StringListUnserialiser classes which can be used to serialise
22104	  a list of strings into a single string.  Add flag to
22105	  ValueCountMatchSpy to use this to unserialise the values read
22106	  from the database into multiple strings, allowing several values
22107	  to be stored for a particular slot in a database: this allows
22108	  multiple values of a particular facet to be stored.
22109
22110Thu Jul 26 16:55:18 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22111
22112	* backends/flint/flint_table.cc: Change STRINGIZE to om_tostring()
22113	  in error message about a key which is too long; STRINGIZE doesn't
22114	  work since FLINT_BTREE_MAX_KEY_LEN is no longer a preprocessor
22115	  constant - it's a C++ constant; before this change, the error
22116	  message contained the literal text "FLINT_BTREE_MAX_KEY_LEN".
22117
22118Tue Jul 17 12:20:55 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22119
22120	* api/matchspy.cc,include/xapian/matchspy.h: Add a
22121	  MultipleMatchDecider, which calls a list of deciders in order,
22122	  until one returns false.
22123	* include/xapian/enquire.h: Expand comment to say which way round
22124	  the return values of the MatchDecider operator are.
22125	* tests/api_db.cc: Add test_matchfunctor3() to test the
22126	  MultipleMatchDecider - also tests the ValueCountMatchSpy,
22127	  incidentally.
22128
22129Tue Jul 17 11:10:42 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22130
22131	* api/matchspy.cc,include/xapian/matchspy.h: Make
22132	  get_most_frequent_items() private, since I'm not convinced it's
22133	  useful to make it available externally.  We can always make it
22134	  public again if it's useful to do so.
22135	* test/api_wrdb.cc: Update tests accordingly.
22136
22137Sat Jul 14 00:17:06 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22138
22139	* api/matchspy.cc,include/xapian/matchspy.h: Get rid of the
22140	  TopValueMatchSpy in favour of a new function
22141	  "get_most_frequent_items", which processes the output of a
22142	  ValueCountMatchSpy.  Add a TermCountMatchSpy which counts the
22143	  occurrences of terms with a given prefix, and gives output in
22144	  the same form as ValueCountMatchSpy.  Add convenience methods
22145	  ValueCountMatchSpy::get_top_values() and
22146	  TermCountMatchSpy::get_top_terms() which use this to return the
22147	  most frequent items seen by the matchspy.
22148	* tests/api_wrdb.cc: Test the ValueCountMatchSpy, and the
22149	  get_most_frequent_items() function.
22150
22151Fri Jul 13 18:57:30 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22152
22153	* matcher/andpostlist.cc,tests/api_anydb.cc: Improve the lower
22154	  bound on the number of matching documents for an AND query - if
22155	  the sum of the lower bounds for the two sides is greater than the
22156	  number of documents in the database, then some of them must have
22157	  both terms.  This greatly improves the lower bound for queries of
22158	  the form "<alldocuments> FILTER foo" (since FILTER is a subclass
22159	  of AND, and uses the same method), but is probably a useful
22160	  improvement elsewhere.
22161
22162Fri Jul 13 17:53:46 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22163
22164	* docs/valueranges.rst: Correct out-of-date reference to
22165	  float_to_string, spotted by Enrico Zini.
22166
22167Wed Jul 11 22:54:43 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22168
22169	* api/matchspy.cc,include/xapian/matchspy.h,tests/api_wrdb.cc:
22170	  Move ValueAndFrequency out of the TopValueMatchSpy class - it
22171	  doesn't seem to be possible to wrap it with swig without doing
22172	  this, and it doesn't seem much less tidy.
22173
22174Wed Jul 11 18:03:18 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22175
22176	* api/matchspy.cc,include/xapian/matchspy.h: Split MatchSpy into a
22177	  base class (ValueCountMatchSpy), which just counts the values in
22178	  the documents it sees, and a subclass (CategorySelectMatchSpy)
22179	  which does the grouping into categories, and scores the
22180	  categories.  Add another subclass (TopValueMatchSpy) which
22181	  calculates a sorted vector holding the most frequent values.
22182	* tests/api_wrdb.cc: Update matchspy1 and matchspy2 to use
22183	  CategorySelectMatchSpy instead of MatchSpy, and corresponding
22184	  changes to the methods.  Add matchspy3 to test the
22185	  TopValueMatchSpy.
22186
22187Mon Jul 09 15:40:58 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22188
22189	* tests/termgentest.cc: Fix copyright: everything I've done in 2007
22190	  has been for Lemur.
22191
22192Mon Jul 09 15:40:38 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22193
22194	* include/xapian/version_h.cc: Fix type in comment.
22195
22196Fri Jul 06 12:14:48 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22197
22198	* include/xapian/enquire.h: Add note to register_match_decider()
22199	  documentation comment of what this function is for, and also that
22200	  it doesn't currently do anything (other than store the values
22201	  passed to it in the enquire internals).
22202
22203Thu Jul 05 20:52:52 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22204
22205	* docs/categorisation.rst: Fix typo.
22206
22207Thu Jul 05 20:41:49 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22208
22209	* tests/api_wrdb.cc: Rework matchspy2 to use approximate values to
22210	  avoid failing on some platform due to differing precision.
22211
22212Thu Jul 05 12:21:48 BST 2007  Olly Betts <olly@survex.com>
22213
22214	* docs/categorisation.rst: Complete half sentence.
22215
22216Thu Jul 05 12:17:20 BST 2007  Olly Betts <olly@survex.com>
22217
22218	* docs/categorisation.rst: Add section on restricting by category
22219	  values.
22220
22221Thu Jul 05 04:47:18 BST 2007  Olly Betts <olly@survex.com>
22222
22223	* docs/Makefile.am,docs/categorisation.rst: Add topic document
22224	  discussing use of Xapian::MatchSpy.
22225
22226Thu Jul 05 02:08:13 BST 2007  Olly Betts <olly@survex.com>
22227
22228	* include/xapian.h,tests/api_wrdb.cc: Restore MatchSpy stuff.
22229
22230Thu Jul 05 01:38:38 BST 2007  Olly Betts <olly@survex.com>
22231
22232	* HACKING: Note that RoadMap on the wiki needs updating for each
22233	  release.
22234
22235Thu Jul 05 01:03:05 BST 2007  Olly Betts <olly@survex.com>
22236
22237	* AUTHORS: Update.
22238
22239Thu Jul 05 00:31:00 BST 2007  Olly Betts <olly@survex.com>
22240
22241	* NEWS: Minor tweaks and clarifications.
22242
22243Thu Jul 05 00:29:53 BST 2007  Olly Betts <olly@survex.com>
22244
22245	* include/xapian.h,tests/api_wrdb.cc: Disable MatchSpy class for 1.0.2
22246	  as it's not ready for release yet.
22247
22248Wed Jul 04 21:20:59 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22249
22250	* NEWS: Update with release date for release 1.0.2
22251
22252Wed Jul 04 21:09:18 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22253
22254	* AUTHORS: Add Tomek Jackowiak, for reporting bug #166 (missing
22255	  Xapian::Query documentation).
22256
22257Wed Jul 04 20:45:56 BST 2007  Olly Betts <olly@survex.com>
22258
22259	* configure.ac: Updated version and library version for 1.0.2.
22260
22261Wed Jul 04 20:36:07 BST 2007  Olly Betts <olly@survex.com>
22262
22263	* api/matchspy.cc,include/xapian/matchspy.h,tests/api_wrdb.cc:
22264	  Tidy up API for MatchSpy::build_numeric_ranges() and add tests.
22265
22266Wed Jul 04 19:40:31 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22267
22268	* NEWS: Fully updated.
22269
22270Wed Jul 04 18:33:59 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22271
22272	* NEWS: Move some of the changelog entries into news-style comments.
22273
22274Wed Jul 04 17:50:19 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22275
22276	* tests/api_wrdb.cc: SKIP_TEST() spell3 on windows - it doesn't
22277	  work there due to trying to delete (and then overwrite) an open
22278	  database.  We shouldn't be doing this, so add a long FIXME
22279	  explaining what we should be doing instead.
22280
22281Wed Jul 04 17:27:22 BST 2007  Olly Betts <olly@survex.com>
22282
22283	* NEWS: Partly update.
22284
22285Wed Jul 04 17:19:51 BST 2007  Olly Betts <olly@survex.com>
22286
22287	* AUTHORS: Add Simon Tatham for spotting the -INFINITY issue, and for
22288	  a lot of useful advice during the CVS to SVN transition.
22289
22290Wed Jul 04 17:16:59 BST 2007  Olly Betts <olly@survex.com>
22291
22292	* api/,include/xapian/queryparser.h,tests/queryparsertest.cc: Rename
22293	  Xapian::NumberValueRangeProcessor::float_to_string() to
22294	  Xapian::sortable_serialise() and
22295	  Xapian::NumberValueRangeProcessor::string_to_float() to
22296	  Xapian::sortable_unserialise().
22297
22298Wed Jul 04 17:16:16 BST 2007  Olly Betts <olly@survex.com>
22299
22300	* HACKING: Add rationale for 2 space indents for "public", etc.
22301
22302Wed Jul 04 14:09:57 BST 2007  Olly Betts <olly@survex.com>
22303
22304	* tests/queryparsertest.cc: Loops on integers and scale to doubles
22305	  rather than looping on doubles and scaling to get integers.
22306
22307Wed Jul 04 13:01:11 BST 2007  Olly Betts <olly@survex.com>
22308
22309	* tests/queryparsertest.cc: If the NumberValueRangeProcessor
22310	  string encodings don't sort the same way, there's no need to report
22311	  the string encodings in the error message as they are written to
22312	  "tout" just before, along with the respective numbers they came
22313	  from.  The string encodings can contain control characters, so are
22314	  liable to corrupt the test failure message.
22315
22316Wed Jul 04 12:25:15 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22317
22318	* api/valuerangeproc.cc: Fix encoding of extremely large, negative,
22319	  non-IEEE representation to be -INFINITY, not +INFINITY.  Thanks
22320	  to Simon Tatham for pointing this out.
22321	* include/xapian/queryparser.h: Add a documentation comment note
22322	  that zero and -zero will be transformed to the same value.
22323
22324Wed Jul 04 10:09:33 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22325
22326	* api/valuerangeproc.cc: Change encoding used for doubles to a much
22327	  more compact scheme, and add support for +-INFINITY.  Also, some
22328	  other tweaks to avoid unnecessary computation.
22329	* tests/queryparsertest.cc: Update test cases to expect new
22330	  encoding of doubles, and add values for INFINITY and DBL_MAX and
22331	  some other special numbers to the list of numbers that are
22332	  specifically checked.
22333
22334Wed Jul 04 03:29:10 BST 2007  Olly Betts <olly@survex.com>
22335
22336	* api/matchspy.cc,include/xapian/matchspy.h,tests/api_wrdb.cc:
22337	  Category score now explicitly weights for having nearer the
22338	  requested number of categories.  Category score is now normalised
22339	  so values should be roughly comparable between different sized
22340	  collections.  Add untested code to build ranges.
22341
22342Wed Jul 04 00:48:07 BST 2007  Olly Betts <olly@survex.com>
22343
22344	* bin/xapian-compact.cc: Add new "--no-renumber" option to preserve
22345	  document ids from source databases.  Fix bug in change to add
22346	  support for spelling and synonym tables which was preventing any
22347	  renumbering from happening!
22348
22349Wed Jul 04 00:25:52 BST 2007  Olly Betts <olly@survex.com>
22350
22351	* backends/inmemory/inmemory_database.cc,
22352	  backends/inmemory/inmemory_database.h,tests/api_wrdb.cc: Fix bug in
22353	  inmemory backend - using replace_document() to add a document with a
22354	  specific document id above the highest currently used would create
22355	  empty documents for all document ids in between.
22356
22357Tue Jul 03 09:27:36 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22358
22359	* HACKING: Add note that protection level declarations in classes
22360	  and structs should only be indented by 2 spaces.
22361
22362Tue Jul 03 03:53:11 BST 2007  Olly Betts <olly@survex.com>
22363
22364	* api/Makefile.mk,api/matchspy.cc,include/xapian/matchspy.h,
22365	  tests/api_wrdb.cc: Add MatchSpy method to score how good a
22366	  categorisation is.
22367
22368Tue Jul 03 01:24:19 BST 2007  Olly Betts <olly@survex.com>
22369
22370	* include/xapian/queryparser.h: Replace `#include <xapian/stem.h>'
22371	  with forward declaration of Stem.
22372
22373Tue Jul 03 01:14:12 BST 2007  Olly Betts <olly@survex.com>
22374
22375	* include/xapian/errorhandler.h: Replace `#include <xapian/error.h>'
22376	  with forward declaration of Error.
22377	* api/errorhandler.cc: Now needs to explicitly `#include
22378	  <xapian/error.h>'.
22379
22380Tue Jul 03 01:08:30 BST 2007  Olly Betts <olly@survex.com>
22381
22382	* include/xapian/dbfactory.h: Replace `#include <xapian/database.h>'
22383	  with forward declarations of Database and WritableDatabase.
22384
22385Tue Jul 03 00:59:57 BST 2007  Olly Betts <olly@survex.com>
22386
22387	* include/xapian/enquire.h: Remove `#include <xapian/error.h>'.
22388
22389Mon Jul 02 23:25:55 BST 2007  Olly Betts <olly@survex.com>
22390
22391	* include/Makefile.mk,include/xapian.h,include/xapian/matchspy.h,
22392	  tests/api_wrdb.cc: Implement "MatchSpy" class to tally values
22393	  in matching documents.
22394
22395Mon Jul 02 18:15:18 BST 2007  Olly Betts <olly@survex.com>
22396
22397	* api/omenquire.cc,include/xapian/enquire.h: Fix last change to
22398	  preserve ABI compatibility.
22399
22400Mon Jul 02 17:52:10 BST 2007  Olly Betts <olly@survex.com>
22401
22402	* api/omenquire.cc,common/multimatch.h,common/omenquireinternal.h,
22403	  include/xapian/enquire.h,matcher/multimatch.cc,net/remoteserver.cc,
22404	  tests/api_db.cc: Add support for a "matchspy" - a MatchDecider which
22405	  is documented to be tested on ever candidate document.  We plan to
22406	  optimise the current matchdecider to be used as little as possible.
22407
22408Mon Jul 02 17:35:12 BST 2007  Olly Betts <olly@survex.com>
22409
22410	* tests/api_db.cc: Enhance matchfunctor1 to test that the functor
22411	  returns ALL matching documents, not just that all documents returned
22412	  match.
22413
22414Mon Jul 02 16:36:57 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22415
22416	* common/omassert.h: Fix to avoid warning in gcc-snapshot; use
22417	  do{}while(0) to protect assertions, and remove the old "if (a) {}
22418	  else {fail}" constructions which tried to do the same job.
22419
22420Mon Jul 02 14:56:58 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22421
22422	* bin/xapian-inspect.cc: Add missing #include of <stdio.h> - fixes
22423	  gcc-2.95 compilation.
22424
22425Mon Jul 02 14:54:50 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22426
22427	* queryparser/termgenerator_internal.h: Fix for gcc-2.95
22428	  compilation.
22429
22430Mon Jul 02 14:09:22 BST 2007  Olly Betts <olly@survex.com>
22431
22432	* api/Makefile.mk,api/valuerangeproccompat.cc,
22433	  include/xapian/queryparser.h: Put the new NumberValueRangeProcessor
22434	  in a sub-namespace which we then import it from.  Restore the old
22435	  NumberValueRangeProcessor implementation inside the library so that
22436	  it is available to code linked against 1.0.0 or 1.0.1 to keep ABI
22437	  compatibility.
22438
22439Sun Jul 01 15:32:30 BST 2007  Olly Betts <olly@survex.com>
22440
22441	* include/xapian/queryparser.h: Clearer description of
22442	  NumberValueRangeProcessor.  Don't document the number format in
22443	  terms of strtod() - that's a bug, not a feature we want to be tied
22444	  to.
22445	* include/xapian/query.h,include/xapian/queryparser.h: Use "@a" not
22446	  "\a" for consistency with existing usage.
22447
22448Sun Jul 01 10:09:42 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22449
22450	* matcher/localmatch.cc: When registering a term, check if it's
22451	  empty, and if so use the document count as the term frequency,
22452	  rather than calling the database to get the term frequency of an
22453	  empty term (most database backends have an assertion that the
22454	  term is not empty, and an empty term isn't a valid parameter to
22455	  pass to get_termfreq() anyway).
22456	* matcher/multimatch.cc: For MatchAll queries, the "" term will not
22457	  be found in the termlist of the top document, so check if a ""
22458	  term is present in the query, and use it to increase the
22459	  percent_scale if so.  This fixes an Assertion which checked that
22460	  percent_scale was not 0.
22461	* tests/api_db.cc: Add test_matchall1() which tests running a query
22462	  with a MatchAll query.
22463	* tests/api_nodb.cc: Rename test_emptyquery1 and test_emptyquery2
22464	  to test_emptyquery2 and test_emptyquery3, respectively.  There
22465	  was already a (different) test_emptyquery1 in api_anydb.cc.
22466
22467Sat Jun 30 18:04:06 BST 2007  Olly Betts <olly@survex.com>
22468
22469	* tests/queryparsertest.cc: Write `2.0' rather than `(double)2'.
22470
22471Sat Jun 30 16:12:49 BST 2007  Olly Betts <olly@survex.com>
22472
22473	* docs/valueranges.rst: Fix typo.  Fix ".. note:" to ".. note::" so
22474	  it appears visibly in the HTML output rather than in an HTML
22475	  comment!
22476
22477Sat Jun 30 15:14:33 BST 2007  Olly Betts <olly@survex.com>
22478
22479	* api/omdocument.cc,common/document.h,include/xapian/document.h:
22480	  Add Xapian::Document::get_docid() method.
22481
22482Sat Jun 30 04:00:57 BST 2007  Olly Betts <olly@survex.com>
22483
22484	* matcher/multimatch.cc: If there's only one term in the query (a
22485	  pretty common case) we don't need to look at the top document's
22486	  termlist to determine that it matches all the query terms.
22487
22488Sat Jun 30 00:37:09 BST 2007  Olly Betts <olly@survex.com>
22489
22490	* INSTALL: Add note that zlib must be installed before you can build
22491	  Xapian.
22492
22493Fri Jun 29 22:40:58 BST 2007  Olly Betts <olly@survex.com>
22494
22495	* backends/flint/: If doccount == lastdocid, all document ids up to
22496	  lastdocid are used, so we provide a special really efficient version
22497	  implementation of iterating all documents for this common case for
22498	  flint.
22499
22500Fri Jun 29 00:39:04 BST 2007  Olly Betts <olly@survex.com>
22501
22502	* common/stringutils.h: Add startswith() and endswith() overloads
22503	  which take a single character.
22504	* backends/flint/flint_spellingwordslist.cc,bin/xapian-inspect.cc:
22505	  Use new forms.
22506	* backends/flint/flint_spellingwordslist.cc: Fix comment typo.
22507
22508Thu Jun 28 21:43:49 BST 2007  Olly Betts <olly@survex.com>
22509
22510	* backends/flint/flint_spellingwordslist.cc: Another begins_with()
22511	  which I somehow missed.
22512
22513Thu Jun 28 19:51:03 BST 2007  Olly Betts <olly@survex.com>
22514
22515	* api/valuerangeproc.cc,backends/flint/flint_alltermslist.cc,
22516	  backends/flint/flint_synonym.cc,
22517	  backends/inmemory/inmemory_alltermslist.cc,
22518	  backends/quartz/quartz_alltermslist.cc,
22519	  backends/quartz/quartz_metafile.cc,bin/xapian-inspect.cc,
22520	  common/stringutils.h,tests/harness/testsuite.cc: Rename
22521	  begins_with() to startswith() and ends_with() to endswith() for
22522	  consistency with Python string operations.
22523
22524Thu Jun 28 18:49:50 BST 2007  Olly Betts <olly@survex.com>
22525
22526	* queryparser/queryparser.lemony: Don't put a Z prefix on terms if the
22527	  stemmer is "none", which matches what TermGenerator generates.
22528
22529Thu Jun 28 02:22:04 BST 2007  Olly Betts <olly@survex.com>
22530
22531	* api/omqueryinternal.cc: Don't SEGV when Query::MatchNothing is used
22532	  with OP_AND_NOT (fixes bug#176).
22533	* tests/api_nodb.cc: Add regression test emptyquery2.
22534	* AUTHORS: Thank bug reporter (Krzysztof Klemm).
22535
22536Wed Jun 27 13:05:55 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22537
22538	* NEWS: Updated.
22539
22540Wed Jun 27 13:04:19 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22541
22542	* examples/copydatabase.cc: Add support for copying the spelling
22543	  data.
22544
22545Wed Jun 27 12:46:54 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22546
22547	* NEWS: Updated.
22548
22549Wed Jun 27 12:13:50 BST 2007  Olly Betts <olly@survex.com>
22550
22551	* bin/xapian-check.cc: Check spelling and synonym Btrees.
22552
22553Wed Jun 27 12:10:47 BST 2007  Olly Betts <olly@survex.com>
22554
22555	* bin/xapian-compact.cc: Add merging for spelling and synonym tables.
22556
22557Wed Jun 27 12:09:34 BST 2007  Olly Betts <olly@survex.com>
22558
22559	* backends/flint/flint_spelling.cc: Fix PrefixCompressedStringItor to
22560	  not ignore the last entry.
22561	* tests/api_wrdb.cc: Regression test (spell4).
22562
22563Wed Jun 27 11:51:10 BST 2007  Olly Betts <olly@survex.com>
22564
22565	* tests/api_wrdb.cc: Remove bogus comment.
22566
22567Wed Jun 27 04:12:56 BST 2007  Olly Betts <olly@survex.com>
22568
22569	* backends/flint/flint_cursor.h: Make FlintCursor::after_end() const.
22570
22571Tue Jun 26 22:31:24 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22572
22573	* tests/api_wrdb.cc: Add test_spell3(), which tests spelling
22574	  correction with multi databases, and the results of the iterator
22575	  from Database::spellings_begin() with single and multi databases.
22576
22577Tue Jun 26 20:51:13 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22578
22579	* api/omtermlistiterator.cc: Handle pruning, so that multi-database
22580	  spelling word iterators work.  Pruning should arguably always
22581	  have been handled, but it's never been possible for the TermList
22582	  passed to TermIterator to prune before, so it's not been an
22583	  issue.
22584
22585Tue Jun 26 20:50:06 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22586
22587	* backends/flint/flint_spellingwordslist.h: Don't bother testing
22588	  whether we found an entry which was exactly "W" - if we do, the
22589	  database is corrupt, but the best recovery strategy would just be
22590	  to continue at the next matching entry.
22591
22592Tue Jun 26 20:26:03 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22593
22594	* api/omdatabase.cc: Remove mistaken skip_to("W") - should be done
22595	  by open_spelling_wordlist() rather than here.
22596	* backends/flint/flint_spellingwordslist.h: Only call
22597	  cursor->prev() if find_entry("W") finds an entry.
22598
22599Tue Jun 26 17:46:27 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22600
22601	* backends/flint/flint_alltermslist.cc,
22602	  backends/flint/flint_spellingwordslist.cc,
22603	  backends/flint/flint_synonym.cc: Remove calls to abort() which
22604	  are followed immediately by an Assert() which checks the same
22605	  condition.
22606
22607Tue Jun 26 17:26:02 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22608
22609	* include/xapian/database.h: Add spellings_begin() and
22610	  spellings_end(), to iterate through the spelling correction
22611	  target words.
22612	* api/omdatabase.cc: Implement spellings_begin(), using the newly
22613	  added FreqAdderOrTermList to join the spellings lists.
22614	* common/database.h,backends/database.cc: Add
22615	  open_spelling_wordlist() to get iterator of spelling targets, if
22616	  any, with default implementation which returns NULL.
22617	* backends/flint/flint_database.h,backends/flint/flint_database.cc:
22618	  Implement open_spelling_wordlist() for flint.
22619	* backends/flint/flint_spelling.h: Make merge_changes() public, so
22620	  it can be called when a writable database needs to open a
22621	  spelling wordlist.
22622	* backends/flint/flint_spellingwordslist.h,
22623	  backends/flint/flint_spellingwordslist.cc: New files,
22624	  implementing an iterator over the spelling targets.
22625
22626Tue Jun 26 17:25:09 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22627
22628	* common/ortermlist.h,expand/ortermlist.cc: Add a
22629	  "FreqAdderOrTermList", which adds the term frequencies of the
22630	  sublists, rather than requiring that they're equal for terms
22631	  which are in both.
22632
22633Tue Jun 26 17:22:03 BST 2007  Olly Betts <olly@survex.com>
22634
22635	* docs/admin_notes.rst: Update to mention spelling and synonym tables,
22636	  and to document optional tables more clearly.
22637
22638Tue Jun 26 16:23:25 BST 2007  Olly Betts <olly@survex.com>
22639
22640	* tests/termgentest.cc: Add feature test for TermGenerator spelling
22641	  integration.
22642
22643Tue Jun 26 16:14:56 BST 2007  Olly Betts <olly@survex.com>
22644
22645	* tests/termgentest.cc: Fix comment paste-o.
22646
22647Tue Jun 26 16:11:11 BST 2007  Olly Betts <olly@survex.com>
22648
22649	* include/xapian/termgenerator.h,queryparser/termgenerator.cc,
22650	  queryparser/termgenerator_internal.cc,
22651	  queryparser/termgenerator_internal.h: Add support for generating
22652	  spelling data to TermGenerator class.
22653
22654Tue Jun 26 15:22:12 BST 2007  Olly Betts <olly@survex.com>
22655
22656	* bin/xapian-compact.cc: Don't skip "empty" source databases, as they
22657	  may have spelling and/or synonym data.  Warn if more than one source
22658	  database has spelling data and ignore all but the first.  Similarly
22659	  warn and ignore for synonym data.
22660
22661Tue Jun 26 13:52:15 BST 2007  Olly Betts <olly@survex.com>
22662
22663	* examples/copydatabase.cc: Fix code which extracts the leafname to
22664	  handle a trailing directory separator.
22665	* examples/copydatabase.cc: Copy synonym data across.  Print warning
22666	  that spelling data isn't copied (as there's no API to access it
22667	  currently).
22668
22669Tue Jun 26 13:21:13 BST 2007  Olly Betts <olly@survex.com>
22670
22671	* bin/xapian-compact.cc: Fix to compact spelling and synonym tables.
22672
22673Tue Jun 26 02:20:50 BST 2007  Olly Betts <olly@survex.com>
22674
22675	* tests/api_wrdb.cc: Fix randomly indented line.
22676
22677Tue Jun 26 02:20:01 BST 2007  Olly Betts <olly@survex.com>
22678
22679	* include/xapian/document.h: Change parameter name for
22680	  Document::get_value() to match other parameter names in the class.
22681
22682Tue Jun 26 02:19:16 BST 2007  Olly Betts <olly@survex.com>
22683
22684	* include/xapian/queryparser.h: FLAG_AUTO_MULTIWORD_SYNONYMS now
22685	  implies FLAG_AUTO_SYNONYMS.
22686
22687Tue Jun 26 02:18:02 BST 2007  Olly Betts <olly@survex.com>
22688
22689	* tests/queryparsertest.cc: Add test for a single word synonym in
22690	  multi-synonym mode.
22691
22692Tue Jun 26 02:08:47 BST 2007  Olly Betts <olly@survex.com>
22693
22694	* common/ortermlist.h,queryparser/termgenerator_internal.h: Fix
22695	  warnings from Intel's C++ compiler.
22696
22697Tue Jun 26 01:45:09 BST 2007  Olly Betts <olly@survex.com>
22698
22699	* HACKING: Snapshots and releases are now bootstrapped with libtool
22700	  1.5.24, which includes all the patches we were applying on top of
22701	  1.5.22.
22702	* HACKING: Expand note about preferring pre-increment to
22703	  post-increment to mention preferring it to adding one, and to cover
22704	  decrementing too.
22705
22706Tue Jun 26 01:34:41 BST 2007  Olly Betts <olly@survex.com>
22707
22708	* backends/flint/flint_spelling.cc: Fix bug appending spelling data to
22709	  an existing trigram.
22710
22711Tue Jun 26 01:34:07 BST 2007  Olly Betts <olly@survex.com>
22712
22713	* backends/flint/flint_database.cc: Fix handling of exceptions during
22714	  commit.
22715
22716Mon Jun 25 17:01:40 BST 2007  Olly Betts <olly@survex.com>
22717
22718	* docs/spelling.rst: Update for Unicode spelling correction.
22719
22720Mon Jun 25 15:41:43 BST 2007  Olly Betts <olly@survex.com>
22721
22722	* api/editdistance.cc,api/editdistance.h,api/omdatabase.cc:
22723	  Convert to UTF-32 before calculating edit distances.
22724	* tests/api_wrdb.cc: Add test coverage for Unicode spelling
22725	  correction.
22726
22727Mon Jun 25 14:03:34 BST 2007  Olly Betts <olly@survex.com>
22728
22729	* tests/quartztest.cc: Remove tests for removed method
22730	  QuartzPostList::get_collection_freq().
22731
22732Mon Jun 25 12:32:07 BST 2007  Olly Betts <olly@survex.com>
22733
22734	* backends/flint/flint_spelling.cc: Replace abort() with exception
22735	  throwing.
22736
22737Mon Jun 25 03:01:20 BST 2007  Olly Betts <olly@survex.com>
22738
22739	* tests/harness/backendmanager.cc: Track the fd used to communicate
22740	  with a xapian-tcpsrv child process so we can close it when we reap
22741	  the child pid.
22742
22743Mon Jun 25 02:44:04 BST 2007  Olly Betts <olly@survex.com>
22744
22745	* docs/valueranges.rst: Fix bad RST markup.
22746
22747Sun Jun 24 23:24:26 BST 2007  Olly Betts <olly@survex.com>
22748
22749	* tests/harness/backendmanager.cc: Fix memory leak in test harness
22750	  launching of xapian-tcpsrv so that "apitest -b remotetcp" now passes
22751	  under valgrind.
22752
22753Sun Jun 24 19:39:59 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22754
22755	* docs/valueranges.rst: Add documentation for the
22756	  NumberValueRangeProcessor, now that it is fixed.
22757
22758Sun Jun 24 14:29:06 BST 2007  Olly Betts <olly@survex.com>
22759
22760	* backends/remote/net_postlist.cc,backends/remote/net_postlist.h:
22761	  Move NetworkPostList virtual methods out of the header.  Move the
22762	  constructor into the header, since that can be inlined.
22763
22764Sun Jun 24 14:15:43 BST 2007  Olly Betts <olly@survex.com>
22765
22766	* backends/flint/,backends/multi/multi_postlist.cc,
22767	  backends/multi/multi_postlist.h,backends/quartz/,
22768	  backends/remote/net_postlist.cc,backends/remote/net_postlist.h,
22769	  backends/remote/remote-database.cc,common/emptypostlist.h,
22770	  common/postlist.h,common/remote-database.h: For Flint and Quartz,
22771	  refactor so we no longer create a postlist just to find the termfreq
22772	  or collection frequency.  These were the only places which used
22773	  PostList::get_collection_freq(), so eliminate it (bug#124).
22774
22775Sun Jun 24 09:40:51 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22776
22777	* msvc/genversion.pl: Add a script to generate the version.h file
22778	  for MSVC builds by parsing configure.ac to extract the version
22779	  number, and then performing the appropriate substitutions on
22780	  msvc/version.h.in.  Shouldn't be used for tarball builds (because
22781	  version.h already exists) or for builds which use configure.
22782
22783Sun Jun 24 02:25:38 BST 2007  Olly Betts <olly@survex.com>
22784
22785	* matcher/multimatch.cc: The check_at_least parameter to
22786	  Enquire::get_mset() is now handled in a more efficient way - no
22787	  extra memory is now required, and CPU overhead should be reduced
22788	  (bug#174).
22789
22790Sun Jun 24 02:00:07 BST 2007  Olly Betts <olly@survex.com>
22791
22792	* docs/synonyms.rst,docs/Makefile.am: New "topic" document describing
22793	  synonym support.
22794	* docs/Makefile.am: HTML documentation generated from RST files wasn't
22795	  being installed.
22796
22797Sun Jun 24 00:45:46 BST 2007  Olly Betts <olly@survex.com>
22798
22799	* backends/remote/remote-database.cc,common/remote-database.h,
22800	  common/remoteprotocol.h,common/submatch.h,docs/remote_protocol.html,
22801	  matcher/,net/remoteserver.cc: Pass check_at_least to the remote
22802	  server to reduce the amount of work required to produce the match
22803	  on the remote server, and also reduce the serialised size of the
22804	  returned MSet.
22805
22806Sun Jun 24 00:17:18 BST 2007  Olly Betts <olly@survex.com>
22807
22808	* tests/api_anydb.cc: More check_at_least tests.
22809
22810Sat Jun 23 20:02:48 BST 2007  Olly Betts <olly@survex.com>
22811
22812	* api/omdatabase.cc,tests/api_wrdb.cc: Add multi-database support
22813	  for synonyms.
22814
22815Sat Jun 23 18:50:59 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22816
22817	* include/xapian/database.h: Tiny fix to a documentation comment.
22818
22819Sat Jun 23 17:35:37 BST 2007  Olly Betts <olly@survex.com>
22820
22821	* common/ortermlist.h,expand/ortermlist.cc: Comment out unused method
22822	  OrTermList::get_collection_freq().  The same dummy implementation
22823	  is provided by the parent class (TermList).
22824
22825Sat Jun 23 17:07:40 BST 2007  Olly Betts <olly@survex.com>
22826
22827	* api/omdatabase.cc,backends/database.cc,backends/flint/,
22828	  common/database.h,include/xapian/database.h,tests/api_wrdb.cc:
22829	  Implement Database::synonym_keys_begin() to allow iteration over all
22830	  the terms for which synonyms have been added.
22831
22832Sat Jun 23 04:19:54 BST 2007  Olly Betts <olly@survex.com>
22833
22834	* matcher/multimatch.cc: Fix handling of check_at_least parameter -
22835	  we weren't discarding matches above the requested MSet size
22836	  correctly.
22837	* tests/api_anydb.cc: Add regression test checkatleast2.
22838
22839Sat Jun 23 03:00:45 BST 2007  Olly Betts <olly@survex.com>
22840
22841	* docs/queryparser.html: Document synonyms.
22842
22843Sat Jun 23 02:50:55 BST 2007  Olly Betts <olly@survex.com>
22844
22845	* queryparser/queryparser.lemony: Unapply commented out fragments
22846	  towards supporting '~' on phrases, which I didn't mean to apply.
22847
22848Sat Jun 23 02:25:32 BST 2007  Olly Betts <olly@survex.com>
22849
22850	* include/xapian/queryparser.h,queryparser/queryparser.lemony,
22851	  tests/queryparsertest.cc: Add support for synonym operator ('~')
22852	  to the QueryParser.
22853
22854Sat Jun 23 01:52:51 BST 2007  Olly Betts <olly@survex.com>
22855
22856	* queryparser/queryparser.lemony: Fix two bugs in the query parser -
22857	  now '+' and '-' work on bracketed subexpressions as documented.
22858	* tests/queryparsertest.cc: Add regression tests.
22859
22860Sat Jun 23 01:47:30 BST 2007  Olly Betts <olly@survex.com>
22861
22862	* queryparser/queryparser.cc: Use "using namespace std;".
22863
22864Fri Jun 22 18:48:21 BST 2007  Olly Betts <olly@survex.com>
22865
22866	* backends/flint/flint_synonym.cc: Fix iteration of unflushed
22867	  synonyms.
22868
22869Fri Jun 22 18:21:39 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22870
22871	* docs/deprecation.rst: Fix typo.
22872
22873Fri Jun 22 18:02:21 BST 2007  Olly Betts <olly@survex.com>
22874
22875	* api/omdatabase.cc,backends/database.cc,backends/flint/,
22876	  common/database.h,include/xapian/database.h,
22877	  include/xapian/queryparser.h,queryparser/queryparser.lemony:
22878	  Add support for storing synonyms for terms in a new optional Btree
22879	  table in flint databases, and using them in the QueryParser.
22880	* tests/queryparsertest.cc: Feature tests for synonyms.
22881
22882Fri Jun 22 17:58:37 BST 2007  Olly Betts <olly@survex.com>
22883
22884	* queryparser/queryparser.lemony: Removed superfluous "private:" in
22885	  class State.  Make State::get_database() const.
22886
22887Fri Jun 22 17:58:15 BST 2007  Olly Betts <olly@survex.com>
22888
22889	* tests/queryparsertest.cc: Make sure .flint subdirectory exists.
22890
22891Fri Jun 22 17:52:53 BST 2007  Olly Betts <olly@survex.com>
22892
22893	* bin/xapian-inspect.cc: Don't die with an error if the user tries to
22894	  move forward twice from the end.  Also, make "prev" from the end
22895	  work.
22896
22897Fri Jun 22 17:47:36 BST 2007  Olly Betts <olly@survex.com>
22898
22899	* queryparser/queryparser.lt: If an input token has a yyminor, report
22900	  its name in the debug output.
22901
22902Fri Jun 22 14:47:17 BST 2007  Olly Betts <olly@survex.com>
22903
22904	* NEWS: Updated with changes since 1.0.1.
22905
22906Thu Jun 21 21:12:49 BST 2007  Olly Betts <olly@survex.com>
22907
22908	* backends/remote/remote-database.cc,common/remoteprotocol.h,
22909	  common/remoteserver.h,net/remoteserver.cc: Protocol version
22910	  increased to 30.2.  This difference from 30.1 is that
22911	  MSG_DELETEDOCUMENT now send REPLY_DONE to allow DocNotFoundError
22912	  to be propagated.  MSG_DELETEDOCUMENT now has a new number and
22913	  the old number for MSG_DELETEDOCUMENT is now
22914	  MSG_DELETEDOCUMENT_PRE_30_2 which is handled by the server so
22915	  that older clients will continue to work.
22916	* docs/remote_protocol.html: Update.
22917	* tests/api_wrdb.cc: Add regression test for DocNotFoundError bug.
22918
22919Thu Jun 21 17:22:53 BST 2007  Olly Betts <olly@survex.com>
22920
22921	* api/omdatabase.cc,tests/queryparsertest.cc,docs/spelling.rst: Add
22922	  support for spelling correction when using multiple databases.
22923
22924Thu Jun 21 16:15:22 BST 2007  Olly Betts <olly@survex.com>
22925
22926	* tests/queryparsertest.cc: Add feature tests for correcting spelling
22927	  errors in the QueryParser.
22928
22929Thu Jun 21 15:01:00 BST 2007  Olly Betts <olly@survex.com>
22930
22931	* tests/api_wrdb.cc: Check the edit distance 3 words are found if
22932	  asked for.
22933
22934Thu Jun 21 14:59:15 BST 2007  Olly Betts <olly@survex.com>
22935
22936	* api/omdatabase.cc,common/omdebug.h: Add some debug tracing for the
22937	  spelling correction.
22938
22939Thu Jun 21 13:45:12 BST 2007  Olly Betts <olly@survex.com>
22940
22941	* backends/flint/flint_spelling.cc,docs/spelling.rst: Generate
22942	  "bookends" for four character words too, so that we suggest
22943	  "fuor" -> "four".
22944	* tests/api_wrdb.cc: More testcases.
22945
22946Thu Jun 21 13:08:07 BST 2007  Olly Betts <olly@survex.com>
22947
22948	* docs/spelling.rst: Assorted minor improvements.  Add note about not
22949	  detecting single character substitutions in two character words.
22950
22951Thu Jun 21 13:02:57 BST 2007  Olly Betts <olly@survex.com>
22952
22953	* tests/api_wrdb.cc: Check cases for single edits to a two character
22954	  word work as expected.
22955
22956Thu Jun 21 04:13:46 BST 2007  Olly Betts <olly@survex.com>
22957
22958	* tests/api_wrdb.cc: Add test cases to check we find all single edit
22959	  errors for a three letter word.
22960
22961Thu Jun 21 04:08:11 BST 2007  Olly Betts <olly@survex.com>
22962
22963	* backends/flint/flint_spelling.h: Now that
22964	  FlintSpellingTable::merge_changes() is only called from within the
22965	  class, make it a private method.  discard_changes() is only used
22966	  once, and from within the class, so just inline it as that's
22967	  clearer.  Make the comment about the overridden methods a doxygen
22968	  grouping comment,
22969
22970Thu Jun 21 04:02:51 BST 2007  Olly Betts <olly@survex.com>
22971
22972	* docs/spelling.rst: Update to mention "bookend" bigrams.
22973
22974Thu Jun 21 03:56:52 BST 2007  Olly Betts <olly@survex.com>
22975
22976	* backends/flint/flint_spelling.cc: Generate "bookend" spelling
22977	  entries for two and three letter terms, consisting of the prefix 'B'
22978	  followed by the first and last letters.  This allows us to handle
22979	  substitution or deletion of the middle character of a three letter
22980	  word, or insertion in the middle of a two letter word.
22981
22982Thu Jun 21 03:18:28 BST 2007  Olly Betts <olly@survex.com>
22983
22984	* tests/queryparsertest.cc: Some doubles in the list which
22985	  value_range_serialise1 tests have the same values on some platforms,
22986	  so test that adjacent numbers and their string counterparts compare
22987	  the same way rather than that both are "<".
22988
22989Thu Jun 21 02:46:01 BST 2007  Olly Betts <olly@survex.com>
22990
22991	* tests/api_wrdb.cc: Add "spell1" - a simple feature test for spelling
22992	  based on Richard's python test.  Use TESTCASE() and END_OF_TESTCASES
22993	  macros.
22994
22995Wed Jun 20 21:57:01 BST 2007  Olly Betts <olly@survex.com>
22996
22997	* backends/flint/flint_database.cc: WritableDatabase::delete_document()
22998	  no longer cancels pending changes if the document doesn't exist.
22999	* backends/quartz/quartz_database.cc: Same fix.
23000
23001Wed Jun 20 20:53:52 BST 2007  Olly Betts <olly@survex.com>
23002
23003	* backends/flint/flint_database.cc: We may now need to flush even if
23004	  there have been no documents added/replaced/deleted, as there may be
23005	  changes to the spelling table.
23006
23007Wed Jun 20 20:46:30 BST 2007  Olly Betts <olly@survex.com>
23008
23009	* backends/flint/flint_table.cc: Fix a function name in the debug
23010	  loggging.
23011
23012Wed Jun 20 20:39:43 BST 2007  Olly Betts <olly@survex.com>
23013
23014	* backends/flint/flint_spelling.cc: Fix FlintSpellingTermList not to
23015	  report at_end() one entry too early.
23016
23017Wed Jun 20 19:21:45 BST 2007  Olly Betts <olly@survex.com>
23018
23019	* tests/harness/backendmanager.cc: Don't touch <dbdir>/log for flint
23020	  as flint doesn't create a log like quartz does.
23021
23022Wed Jun 20 17:10:29 BST 2007  Olly Betts <olly@survex.com>
23023
23024	* backends/flint/flint_database.cc,backends/flint/flint_spelling.h:
23025	  Push special handling for spelling_table into the FlintSpellingTable
23026	  class.  This fixes "is_modified()" to take into account unflushed
23027	  changes held in memory.
23028
23029Wed Jun 20 13:59:01 BST 2007  Olly Betts <olly@survex.com>
23030
23031	* api/omdatabase.cc: Don't use RETURN() in methods which return void.
23032
23033Wed Jun 20 11:56:30 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23034
23035	* api/editdistance.cc: Change an Assert in is_transposed() (which
23036	  fails in some cases) to a test, since it seems legitimate that
23037	  a value of pos2 <= 0 might be supplied to the function (though
23038	  the answer will always be "false" in that case).
23039
23040Wed Jun 20 02:38:51 BST 2007  Olly Betts <olly@survex.com>
23041
23042	* api/omdatabase.cc: Fix two incorrect return types in debug logging.
23043
23044Wed Jun 20 02:14:40 BST 2007  Olly Betts <olly@survex.com>
23045
23046	* api/omdatabase.cc: Add missing implementations of
23047	  WritableDatabase::add_spelling() and
23048	  WritableDatabase::remove_spelling().
23049
23050Wed Jun 20 00:58:46 BST 2007  Olly Betts <olly@survex.com>
23051
23052	* backends/flint/flint_spelling.h: Make the maps private.
23053
23054Wed Jun 20 00:05:15 BST 2007  Olly Betts <olly@survex.com>
23055
23056	* HACKING: Snapshots now bootstrapped with automake 1.10.
23057
23058Wed Jun 20 00:03:42 BST 2007  Olly Betts <olly@survex.com>
23059
23060	* backends/flint/flint_spelling.cc,common/Makefile.mk,
23061	  expand/Makefile.mk,expand/ortermlist.h: Move ortermlist.h from
23062	  "expand/" to "common/" so we can included it from flint_spelling.cc
23063	  without a relative path.
23064
23065Tue Jun 19 22:41:08 BST 2007  Olly Betts <olly@survex.com>
23066
23067	* api/,backends/database.cc,backends/flint/,common/database.h,
23068	  docs/Makefile.am,docs/spelling.rst,include/xapian/database.h,
23069	  include/xapian/queryparser.h,queryparser/queryparser.cc,
23070	  queryparser/queryparser.lemony,queryparser/queryparser_internal.h:
23071	  Add support for spelling correction.
23072
23073Tue Jun 19 19:18:40 BST 2007  Olly Betts <olly@survex.com>
23074
23075	* backends/flint/flint_database.cc,backends/flint/flint_table.cc,
23076	  backends/flint/flint_table.h: Add new method
23077	  FlintTable::key_exists() so we don't need to create a cursor to
23078	  check if a key exists in FlintDatabase::term_exists() (the other
23079	  alternative previously was to read the key and tag and ignore the
23080	  tag, but that could involve reading more blocks if the tag is
23081	  long, and it could involve uncompressing the tag too).
23082
23083Tue Jun 19 17:49:09 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23084
23085	* tests/queryparsertest.cc: Cast the input to pow() to a double, to
23086	  fix a problem on windows (which has several versions of pow(),
23087	  and the version taking a float was being used by default,
23088	  resulting in some of the tests overflowing the range of float).
23089
23090Tue Jun 19 17:48:42 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23091
23092	* api/valuerangeproc.cc: Fix assertions, so that the code works
23093	  with assertions turned on.
23094
23095Tue Jun 19 12:35:46 BST 2007  Olly Betts <olly@survex.com>
23096
23097	* matcher/branchpostlist.cc: Add missing #include <config.h>.
23098	* matcher/branchpostlist.cc,matcher/branchpostlist.h: Move other
23099	  virtual method definitions out of the header.
23100
23101Mon Jun 18 21:41:15 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23102
23103	* matcher/branchpostlist.h: Add missed copyright statement.
23104
23105Mon Jun 18 21:36:31 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23106
23107	* matcher/branchpostlist.cc,matcher/branchpostlist.h: Add get_wdf()
23108	  method to BranchPostList (which just sums the wdf, which is
23109	  useful for a synonym postlist, which is the only situation in
23110	  which this will be called).  Add the method definition in a
23111	  separate file, as per the comment I just added to HACKING.
23112	* matcher/Makefile.mk: Add branchpostlist.cc
23113
23114Mon Jun 18 21:33:56 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23115
23116	* HACKING: Add note about virtual methods (saying that the
23117	  shouldn't be defined in header files).
23118
23119Mon Jun 18 20:15:18 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23120
23121	* matcher/phrasepostlist.cc,matcher/phrasepostlist.h,
23122	  matcher/exactphrasepostlist.cc,matcher/exactphrasepostlist.cc:
23123	  Add get_wdf() methods to NearPostList, PhrasePostList and
23124	  ExactPhrasePostList - these use a very rough approximation (but
23125	  there's a big long comment justifying it).
23126
23127Mon Jun 18 18:38:43 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23128
23129	* matcher/mergepostlist.cc,matcher/mergepostlist.h: Add copyright
23130	  statements for previous commit (and update license while I'm at
23131	  it).
23132
23133Mon Jun 18 18:24:43 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23134
23135	* matcher/mergepostlist.cc,matcher/mergepostlist.h: Add get_wdf()
23136	  method to MergePostList (just passes through the value from the
23137	  current postlist).  Not currently needed, but the expected
23138	  behaviour is obvious, and this will be needed if there's a
23139	  synonym postlist higher in the query tree (when synonym postlists
23140	  are implemented).  Also, correct a documentation comment typo.
23141
23142Mon Jun 18 13:09:36 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23143
23144	* api/valuerangeproc.cc: Cast the first parameter to ldexp() to
23145	  double to fix compilation on some platforms, and add a few more
23146	  explanatory code comments to
23147	  NumberValueRangeProcessor::string_to_float()
23148
23149Mon Jun 18 11:33:49 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23150
23151	* api/valuerangeproc.cc: Add static methods to
23152	  NumberValueRangeProcessor to serialise and unserialise doubles.
23153	  Change the code which tests a term for being a number to use
23154	  strtod, and accept any string which strtod thinks is a number.
23155	  If NumberValueRangeProcessor accepts a range, it now converts the
23156	  begin and end values to strings using the serialise method.
23157	  Also, expand some of the code comments.
23158	* include/xapian/queryparser.h: Add documentation comments to
23159	  NumberValueRangeProcessor.
23160	* tests/queryparsertest.cc: Update value_range2_queries to expect
23161	  new serialised forms in its output.  Update test_qp_value_range3
23162	  to test a wider range of values (including negative, fractional,
23163	  and more-than-single-digit).
23164
23165Mon Jun 18 03:36:38 BST 2007  Olly Betts <olly@survex.com>
23166
23167	* queryparser/queryparser.lemony: Fix comment typo, and add brackets
23168	  to make intended precedence clearer.
23169
23170Mon Jun 18 03:36:04 BST 2007  Olly Betts <olly@survex.com>
23171
23172	* include/xapian/queryparser.h: Tweak wording of a couple of
23173	  documentation comments.
23174
23175Mon Jun 18 02:00:31 BST 2007  Olly Betts <olly@survex.com>
23176
23177	* docs/queryparser.html: Mention "AND NOT" as an alternative way to
23178	  write "NOT".
23179
23180Mon Jun 18 01:43:00 BST 2007  Olly Betts <olly@survex.com>
23181
23182	* queryparser/queryparser.lemony: Adjust precedence of boolean
23183	  operators to match those in maths and programming languages.
23184	  "NOT" now binds as tightly as "AND" (previously "AND NOT" would
23185	  bind like "AND", but just "NOT" would bind like "OR"!)  Also
23186	  "XOR" now binds more tightly than "OR", but less tightly than
23187	  "AND" (previously it bound just like "OR").
23188	* tests/queryparsertest.cc: Add testcases for the new behaviour.
23189
23190Mon Jun 18 01:16:18 BST 2007  Olly Betts <olly@survex.com>
23191
23192	* tests/queryparsertest.cc: Better test coverage of handling of random
23193	  double quotes in queries.
23194
23195Sun Jun 17 16:17:34 BST 2007  Olly Betts <olly@survex.com>
23196
23197	* include/xapian/unicode.h: Don't call operator++(0) from operator()
23198	  as it does more work than we need.
23199
23200Sun Jun 17 14:14:16 BST 2007  Olly Betts <olly@survex.com>
23201
23202	* bin/xapian-inspect.cc: Fix so that Ctrl+D doesn't cause an infinite
23203	  loop!
23204
23205Sat Jun 16 22:19:11 BST 2007  Olly Betts <olly@survex.com>
23206
23207	* bin/Makefile.mk,bin/xapian-inspect.cc,xapian-core.spec.in:
23208	  New utility 'xapian-inspect' allowing interactive inspection of
23209	  key/tag pairs in a flint Btree.  Useful for development and
23210	  debugging, and an approximate replacement for quartzdump.
23211
23212Sat Jun 16 17:03:57 BST 2007  Olly Betts <olly@survex.com>
23213
23214	* docs/doxygen_api_conf.in,docs/doxygen_full_conf.in: Update for
23215	  doxygen 1.5.2 (using "doxygen -u").
23216
23217Sat Jun 16 10:17:32 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23218
23219	* tests/Makefile.am: The "check-none" target should run all the
23220	  tests which don't need a database, not just those in apitest: add
23221	  internaltest, stemtest, queryparsertest and termgentest to the
23222	  list of tests it runs.
23223
23224Sat Jun 16 09:36:10 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23225
23226	* Makefile.am,bin/Makefile.mk,examples/Makefile.mk: Work around an
23227	  apparent bug in automake which causes the entries in .libs
23228	  subdirectories generated for targets of bin_PROGRAMS not to be
23229	  removed on make clean.  (This was causing make distcheck to
23230	  fail.)
23231
23232Sat Jun 16 04:42:16 BST 2007  Olly Betts <olly@survex.com>
23233
23234	* HACKING,Makefile.am,tests/Makefile.am,tests/apitest.cc,
23235	  tests/harness/backendmanager.cc,tests/harness/backendmanager.h: In
23236	  the testsuite, rename the "void" pseudo-backend to "none" to more
23237	  clearly reflect what it is.  And rename the "remote" backend to
23238	  "remoteprog", to better differentiate it from "remotetcp".
23239	* HACKING: Fix error - "apitest -b=flint" doesn't work - it must be
23240	  "apitest -bflint".
23241
23242Sat Jun 16 04:40:28 BST 2007  Olly Betts <olly@survex.com>
23243
23244	* HACKING: Now using doxygen 1.5.2.
23245
23246Sat Jun 16 02:08:20 BST 2007  Olly Betts <olly@survex.com>
23247
23248	* backends/flint/flint_table.cc: Fix to build with older zlib.  Not
23249	  hugely important as zlib security fixes mean any well maintained
23250	  box will be running a recent zlib, but the fix is trivial.
23251
23252Fri Jun 15 19:39:03 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23253
23254	* HACKING: Document the new check-void, check-inmemory,
23255	  check-remoteprog and check-remotetcp targets.
23256
23257Fri Jun 15 19:34:13 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23258
23259	* Makefile.am,tests/Makefile.am: Add check-void, check-inmemory,
23260	  check-remoteprog and check-remotetcp targets, to allow the tests
23261	  for any of the backends to be performed in isolation.
23262
23263Fri Jun 15 19:29:19 BST 2007  Olly Betts <olly@survex.com>
23264
23265	* Makefile.am,configure.ac,xapian-core.spec.in,xapian.spec.in:
23266	  Rename xapian.spec to xapian-core.spec to match tarball name.
23267	  Append the user name to BuildRoot.
23268
23269Fri Jun 15 14:51:13 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23270
23271	* net/progclient.cc: Open the file handle pointing to /dev/null as
23272	  O_WRONLY instead of O_RDONLY: doesn't affect whether the test
23273	  passes (since nothing gets written to stderr in theory anyway),
23274	  but makes more sense.
23275
23276Fri Jun 15 13:21:56 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23277
23278	* net/progclient.cc: Better fix - rather than leaving stderr open,
23279	  we close it, and then reopen it pointing to /dev/null.
23280
23281Fri Jun 15 12:55:07 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23282
23283	* net/progclient.cc: Don't close stderr in the child before we call
23284	  execve() - with this change, apitest passes under valgrind with
23285	  the remote database backend: before it, the child seemed to be
23286	  exiting without writing anything to the socket, causing the test
23287	  to fail with a NetworkError (due to an unexpected EOF).
23288
23289Thu Jun 14 23:47:52 BST 2007  Olly Betts <olly@survex.com>
23290
23291	* backends/flint/flint_database.cc: Replace duplicated code with calls
23292	  to existing method set_revision_number(new_revision).
23293
23294Thu Jun 14 18:51:03 BST 2007  Olly Betts <olly@survex.com>
23295
23296	* backends/flint/flint_database.cc: Stop including <sys/utsname.h>
23297	  which we don't use here.
23298
23299Thu Jun 14 18:22:24 BST 2007  Olly Betts <olly@survex.com>
23300
23301	* tests/Makefile.am: Fix typo from copy&paste.
23302
23303Thu Jun 14 16:46:45 BST 2007  Olly Betts <olly@survex.com>
23304
23305	* docs/admin_notes.rst: Update for the "lazy table" changes.  Correct
23306	  the description of xapian-compact --multipass (only the postlist
23307	  tables are merged in multiple passes), correct description of how
23308	  to use xapian-check on a single table (no trailing '.' should be
23309	  specified).  Change the "how to upgrade 0.9.x flint databases" to
23310	  talk about 1.0.y rather than 1.0.0.
23311
23312Thu Jun 14 16:25:55 BST 2007  Olly Betts <olly@survex.com>
23313
23314	* backends/flint/: The value and position tables are now only created
23315	  if there is anything to add to them.  So if you never use document
23316	  values, there's no value_DB, value.baseA, or value.baseB.  This
23317	  means the table doesn't need to be opened for searching (saving a
23318	  file handle) and when flushing changes, we don't need to update
23319	  baseA/baseB just to keep the revisions in step.  The flint database
23320	  version has been increased, but the new code will happily open and
23321	  read/update flint databases from Xapian 1.0.0 and 1.0.1.
23322	* bin/xapian-check.cc,bin/xapian-compact.cc: Update to handle
23323	  databases without value and/or position tables.
23324	* tests/testdata/flint-1.0.1/: Empty example of a flint 1.0.1 format
23325	  database.
23326	* tests/Makefile.am,tests/api_db.cc: Add check that a flint 1.0.1
23327	  format database can be opened.
23328
23329Wed Jun 13 22:40:15 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23330
23331	* include/xapian/queryparser.h: Document set_stemmer() and
23332	  set_stemming_strategy() better - in particular, make it clear
23333	  that the default value for the stemming strategy is STEM_NONE.
23334
23335Wed Jun 13 17:16:52 BST 2007  Olly Betts <olly@survex.com>
23336
23337	* HACKING: Wrap overlong line.
23338
23339Wed Jun 13 16:47:07 BST 2007  Olly Betts <olly@survex.com>
23340
23341	* msvc/version.h.in: Remote backend is now supported in the MSVC
23342	  build.
23343
23344Wed Jun 13 04:18:51 BST 2007  Olly Betts <olly@survex.com>
23345
23346	* backends/flint/flint_table.cc,backends/flint/flint_table.h:
23347	  Eliminate dont_close_handle as it's always false.
23348
23349Wed Jun 13 02:53:28 BST 2007  Olly Betts <olly@survex.com>
23350
23351	* backends/flint/flint_btreebase.cc,backends/flint/flint_btreebase.h:
23352	  Remove unused FlintTable_base constructor.
23353
23354Tue Jun 12 18:27:54 BST 2007  Olly Betts <olly@survex.com>
23355
23356	* backends/flint/flint_table.cc: Add fix to allow compilation on
23357	  OpenBSD, which uses off_t instead of uLong for total_out in
23358	  zlib.h.  Remove Assert() which is followed by a better check of
23359	  the same condition.
23360	* AUTHORS: Add Julien Touche for help with this fix.
23361
23362Tue Jun 12 13:34:59 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23363
23364	* tests/harness/unixcmds.cc: On unix builds, set access permissions
23365	  on copied directories to allow writes.  This fixes make
23366	  distcheck, which was failing on tests because the copied
23367	  directory was set to read-only, causing the later "rm -rf"
23368	  command to fail.
23369
23370Mon Jun 11 20:10:26 BST 2007  Olly Betts <olly@survex.com>
23371
23372	* docs/overview.html: Fix typo.
23373
23374Mon Jun 11 20:08:42 BST 2007  Olly Betts <olly@survex.com>
23375
23376	* docs/Makefile.am: Ship and install internals.html.
23377
23378Mon Jun 11 17:46:04 BST 2007  Olly Betts <olly@survex.com>
23379
23380	* docs/Makefile.am,docs/doxygen_full_conf.in: Disable generation of
23381	  PDF version of doxygen-collated documentation of internals.  It
23382	  keeps overflowing TeX limits and it seems likely that most people
23383	  would prefer the HTML version of this anyway.
23384
23385Mon Jun 11 17:45:12 BST 2007  Olly Betts <olly@survex.com>
23386
23387	* tests/internaltest.cc: Remove duplicated code.
23388
23389Mon Jun 11 03:55:53 BST 2007  Olly Betts <olly@survex.com>
23390
23391	* NEWS: Probably the final update for 1.0.1.
23392
23393Mon Jun 11 03:47:37 BST 2007  Olly Betts <olly@survex.com>
23394
23395	* examples/simpleindex.cc: Tweak the logic to be clearer.
23396
23397Sun Jun 10 21:59:21 BST 2007  Olly Betts <olly@survex.com>
23398
23399	* HACKING,configure.ac: Drop automake requirement to 1.8.3 to allow
23400	  RPM spec file to work on SLES 9.
23401
23402Sun Jun 10 21:48:51 BST 2007  Olly Betts <olly@survex.com>
23403
23404	* configure.ac: Bump version to 1.0.1 and LIBRARY_VERSION_INFO to
23405	  15:0:0.
23406
23407Sun Jun 10 21:46:57 BST 2007  Olly Betts <olly@survex.com>
23408
23409	* xapian.spec.in: Add "# norootforbuild" comment which SuSE's build
23410	  scripts look for.  Rename "Source0:" to "Source:" as there's only
23411	  one tarball now.  Add gcc-c++ and zlib-devel to "Build-Requires:".
23412
23413Sun Jun 10 21:43:45 BST 2007  Olly Betts <olly@survex.com>
23414
23415	* PLATFORMS: More updates.
23416
23417Sun Jun 10 18:01:19 BST 2007  Olly Betts <olly@survex.com>
23418
23419	* api/error.cc,generate-exceptions.in: Make Error::error_string member
23420	  std::string rather than char * to avoid problems with double free()
23421	  with copied Error objects.  Also, Error::get_description() now
23422	  converts my_errno to error_string if it hasn't been already.
23423	* tests/internaltest.cc: Add regression tests for both bugs.
23424
23425Sun Jun 10 13:33:21 BST 2007  Olly Betts <olly@survex.com>
23426
23427	* tests/api_db.cc: New testcase in allterms6.
23428
23429Sun Jun 10 13:20:37 BST 2007  Olly Betts <olly@survex.com>
23430
23431	* xapian-config.in: Add special case check for host_os matching linux*
23432	  or k*bsd-gnu since vanilla libtool doesn't identify them as needing
23433	  link_all_deplibs_CXX=no.
23434
23435Sun Jun 10 03:32:54 BST 2007  Olly Betts <olly@survex.com>
23436
23437	* PLATFORMS: Updated from tinderbox.
23438
23439Sun Jun 10 02:14:58 BST 2007  Olly Betts <olly@survex.com>
23440
23441	* NEWS: Updated.
23442
23443Sat Jun 09 17:28:32 BST 2007  Olly Betts <olly@survex.com>
23444
23445	* queryparser/queryparser.lemony: Add the unstem entry for boolean
23446	  prefixed terms in Term::make_term() as we do for other terms.
23447
23448Sat Jun 09 17:27:55 BST 2007  Olly Betts <olly@survex.com>
23449
23450	* tests/queryparsertest.cc: Replace reference to Xapian "1.0" with
23451	  "1.0.0".
23452
23453Sat Jun 09 17:12:44 BST 2007  Olly Betts <olly@survex.com>
23454
23455	* queryparser/queryparser.lemony,queryparser/queryparser_internal.h:
23456	  Factor out the code which actually parses a term into a separate
23457	  method.
23458
23459Fri Jun 08 23:31:23 BST 2007  Olly Betts <olly@survex.com>
23460
23461	* tests/Makefile.am: Distribute tests/testdata/flint-0.9.9/.
23462
23463Fri Jun 08 19:20:36 BST 2007  Olly Betts <olly@survex.com>
23464
23465	* NEWS: Updated.
23466
23467Fri Jun 08 18:55:43 BST 2007  Olly Betts <olly@survex.com>
23468
23469	* examples/simplesearch.cc: Report "Matches 1-<N>:".
23470
23471Fri Jun 08 18:46:02 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23472
23473	* api/omenquire.cc: Fix issue brought to my attention by Enrico
23474	  Zini: if an uninitialised database is supplied to Enquire,
23475	  performing a search will cause a segfualt.  It isn't completely
23476	  clear whether using an uninitialised database should cause an
23477	  error, or whether the search should return an empty result list,
23478	  but for ease of implementation, and to avoid application errors
23479	  going unnoticed, I've made Enquire's constructor report an
23480	  InvalidArgumentError if the supplied database is uninitialised.
23481	* include/xapian/enquire.h: Document new exception case, and
23482	  workaround if you want a search in this situation to return an
23483	  empty result set, instead of getting an error.
23484	* tests/api_nodb.cc: Regression test for this fix.
23485	* AUTHORS: Mention Enrico Zini.
23486
23487Fri Jun 08 18:33:19 BST 2007  Olly Betts <olly@survex.com>
23488
23489	* NEWS: Updated.
23490
23491Fri Jun 08 17:09:22 BST 2007  Olly Betts <olly@survex.com>
23492
23493	* common/Makefile.mk: Distribute common/stringutils.h.
23494
23495Thu Jun 07 20:44:36 BST 2007  Olly Betts <olly@survex.com>
23496
23497	* tests/harness/unixcmds.cc: It appears we need to create the target
23498	  directory for xcopy to behave as we want.
23499
23500Thu Jun 07 19:34:18 BST 2007  Olly Betts <olly@survex.com>
23501
23502	* tests/harness/unixcmds.cc: Fix typo to unbreak testsuite on Windows
23503	  NT derivatives.
23504
23505Thu Jun 07 19:02:36 BST 2007  Olly Betts <olly@survex.com>
23506
23507	* backends/inmemory/inmemory_alltermslist.cc: Another tweak - don't
23508	  call map::lower_bound() in the ctor at all.  Also, prevent skip_to()
23509	  from moving backwards, since that behaviour is user-visible.
23510
23511Thu Jun 07 18:36:49 BST 2007  Olly Betts <olly@survex.com>
23512
23513	* common/stringutils.h: New header, providing inline functions
23514	  begins_with() and ends_with() to check if a std::string has
23515	  a given prefix or suffix.
23516	* api/valuerangeproc.cc,backends/flint/flint_alltermslist.cc,
23517	  backends/inmemory/inmemory_alltermslist.cc,
23518	  backends/quartz/quartz_alltermslist.cc,
23519	  backends/quartz/quartz_metafile.cc,tests/harness/testsuite.cc:
23520	  Make use of begins_with() and ends_with().
23521	* tests/harness/testsuite.cc: Tidy up guessing of srcdir.  In
23522	  particular, fix comments to reflect that libtool won't create a
23523	  wrapper script for the test programs on most platforms (because
23524	  we now use --no-install when linking).
23525	* backends/inmemory/inmemory_alltermslist.cc: In the ctor, use
23526	  std::map::lower_bound() to find the first term matching the
23527	  given prefix, rather than iterating through from the start of
23528	  the map.  Also, don't skip deleted terms here, but instead do
23529	  that in next() - this avoids duplicating code, and the first
23530	  operation might be skip_to() in which case we can avoid wasting
23531	  effort.
23532
23533Thu Jun 07 17:16:12 BST 2007  Olly Betts <olly@survex.com>
23534
23535	* queryparser/queryparser.lemony: Eliminate the QpQuery class and
23536	  simplify various bits of the code.
23537
23538Thu Jun 07 14:32:22 BST 2007  Olly Betts <olly@survex.com>
23539
23540	* tests/queryparsertest.cc: Enhance qp_value_customrange1.
23541
23542Thu Jun 07 14:31:40 BST 2007  Olly Betts <olly@survex.com>
23543
23544	* docs/Makefile.am,docs/index.html,docs/valueranges.rst: Add document
23545	  describing how to use Xapian::ValueRangeProcessor.
23546
23547Thu Jun 07 14:16:01 BST 2007  Olly Betts <olly@survex.com>
23548
23549	* tests/queryparsertest.cc: Add test of custom ValueRangeProcessor
23550	  subclass (qp_value_customrange1).
23551
23552Thu Jun 07 10:01:46 BST 2007  Olly Betts <olly@survex.com>
23553
23554	* common/serialise.h,tests/harness/testsuite.h: Use XAPIAN_NORETURN()
23555	  to mark functions which never return.
23556
23557Thu Jun 07 01:28:00 BST 2007  Olly Betts <olly@survex.com>
23558
23559	* NEWS: Update.
23560
23561Thu Jun 07 01:02:22 BST 2007  Olly Betts <olly@survex.com>
23562
23563	* examples/simpleexpand.cc: Fix off-by-one error when creating the
23564	  fake RSet (picked up to 4 documents, not up to 5).
23565
23566Wed Jun 06 17:17:05 BST 2007  Olly Betts <olly@survex.com>
23567
23568	* include/xapian/queryparser.h: Add documentation comments for
23569	  ValueRangeProcessor and subclasses (mostly fixes bug#155, but
23570	  I'd like to add an overview document too).
23571
23572Wed Jun 06 16:04:08 BST 2007  Olly Betts <olly@survex.com>
23573
23574	* tests/testdata/flint-0.9.9/: Minimal example of a Flint database
23575	  from Xapian 0.9.9.
23576	* tests/api_db.cc: Use a real 0.9.9 flint database instead of faking
23577	  it by fudging with the "iamflint" file in a current one.
23578	  flintdatabaseformaterror1 now also checks for opening with the
23579	  Database ctor as well as with Flint::open().  The writing test from
23580	  flintdatabaseformaterror1 is now flintdatabaseformaterror2 which
23581	  additionally tests opening with the WritableDatabase ctor as well as
23582	  with Flint::open().  The old flintdatabaseformaterror2 is now
23583	  flintdatabaseformaterror3.
23584
23585Wed Jun 06 15:44:08 BST 2007  Olly Betts <olly@survex.com>
23586
23587	* backends/flint/flint_database.cc: Don't check for pre-0.6 databases
23588	  here (since they'll be quartz format anyway - the check is just an
23589	  overenthusiastic cut-and-paste from quartz).
23590
23591Wed Jun 06 12:35:16 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23592
23593	* matcher/valuerangepostlist.cc: Avoid calling db->get_lastdocid()
23594	  repeatedly in ValueRangePostList::next() - was taking 25% of the
23595	  time for a particular test case.
23596
23597Wed Jun 06 12:17:51 BST 2007  Olly Betts <olly@survex.com>
23598
23599	* tests/harness/unixcmds.cc,tests/harness/unixcmds.h: Add "cp_R()"
23600	  which does much the same as "cp -R" on Unix.
23601
23602Wed Jun 06 12:12:50 BST 2007  Olly Betts <olly@survex.com>
23603
23604	* include/xapian/Makefile: New stub makefile for include/xapian.
23605	* bin/Makefile.mk,examples/Makefile.mk,include/Makefile.mk: Distribute
23606	  missing stub Makefile and dir_contents files.
23607
23608Tue Jun 05 16:44:51 BST 2007  Olly Betts <olly@survex.com>
23609
23610	* tests/harness/index_utils.cc: Back out linger line from r7758.
23611	  Fix undefined behaviour in cases where a paragraph has <= 2
23612	  characters.
23613
23614Mon Jun 04 15:31:08 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23615
23616	* tests/harness/backendmanager.cc,tests/harness/index_utils.cc:
23617	  Revert the recent changes to the indexing code, and also the
23618	  change from revision r7758 which was intended to fix a problem
23619	  with eof handling on windows (which is what broke the indexing of
23620	  etext.txt).  Then, change backendmanager.cc to test "!from.eof()"
23621	  instead of "from" to check for eof - hopefully this will work on
23622	  windows - if not, we can investigate further.
23623
23624Mon Jun 04 13:13:29 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23625
23626	* tests/harness/backendmanager.cc: Undo previous patch - only the
23627	  patch to index_utils.cc was necessary; I mistakenly committed
23628	  both files I'd been modifying.
23629
23630Mon Jun 04 09:06:24 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23631
23632	* tests/api_db.cc: Add a check to consistency1 that the full mset
23633	  size is as big as it should be, to make sure that we notice in
23634	  future if the indexing goes wrong again.
23635
23636Mon Jun 04 08:59:22 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23637
23638	* tests/harness/backendmanager.cc,tests/harness/index_utils.cc:
23639	  Fix the indexing of the testdata, so that the "etext" example is
23640	  properly indexed (previously, only the first line was being
23641	  indexed, due to faulty end-of-file handling).  This only affects
23642	  the "consistency1" test, which now runs a lot slower (but still
23643	  passes, fortunately).
23644
23645Fri Jun 01 23:47:42 BST 2007  Olly Betts <olly@survex.com>
23646
23647	* examples/simpleexpand.cc: Rewrite based on new simplesearch.cc.
23648
23649Fri Jun 01 00:50:00 BST 2007  Olly Betts <olly@survex.com>
23650
23651	* examples/simpleindex.cc: Replacement "simpleindex" example which
23652	  uses the TermGenerator class, which makes for a much smaller and
23653	  simpler example.  It's also much more typical of what most users
23654	  will want to do.
23655
23656Thu May 31 23:01:47 BST 2007  Olly Betts <olly@survex.com>
23657
23658	* examples/simplesearch.cc: Replacement "simplesearch" example which
23659	  uses the QueryParser.  That makes for a simpler example, and it's
23660	  much more typical of what most users will want to do.
23661
23662Thu May 31 19:31:40 BST 2007  Olly Betts <olly@survex.com>
23663
23664	* NEWS: Update.
23665
23666Thu May 31 19:18:41 BST 2007  Olly Betts <olly@survex.com>
23667
23668	* HACKING,configure.ac: Relax automake requirement to 1.9.2 to allow
23669	  RPM building on RHEL 4.
23670	* HACKING: automake 1.10 seems to work fine with Xapian.
23671
23672Thu May 31 03:04:42 BST 2007  Olly Betts <olly@survex.com>
23673
23674	* backends/flint/flint_database.cc,backends/quartz/quartz_database.cc:
23675	  Check if the docid counter wraps and if it does throw DatabaseError
23676	  (fixes bug#152).
23677	* tests/api_wrdb.cc: Add regression test (nomoredocids1).
23678
23679Thu May 31 02:01:31 BST 2007  Olly Betts <olly@survex.com>
23680
23681	* backends/dbfactory_remote.cc,backends/remote/remote-database.cc,
23682	  common/progclient.h,common/remote-database.h,common/tcpclient.h,
23683	  net/progclient.cc: Stop a non-writable remote database from calling
23684	  dtor_called() when it is destroyed, since that causes MSG_FLUSH to
23685	  be sent to the server (fixes bug#149).
23686
23687Wed May 30 19:47:43 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23688
23689	* include/xapian/query.h: New accessor method
23690	  Xapian::Query::Internal::get_parameter().
23691	* queryparser/queryparser.lemony: Multiple boolean prefixed terms
23692	  with the same term prefix are now combined with OR before such
23693	  groups are combined with AND.  Similarly for multiple value ranges
23694	  on the same value (fixes bug#157).
23695	* include/xapian/queryparser.h: Document new handling of multiple
23696	  boolean prefixed terms.
23697	* tests/queryparsertest.cc: Testcases for new handling of multiple
23698	  boolean prefixed terms and value ranges.
23699
23700Wed May 30 14:45:19 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23701
23702	* docs/deprecation.rst: Update comment about QueryParserError to
23703	  point out that you'll need to compile conditionally to work with
23704	  0.9.x
23705
23706Wed May 30 14:33:29 BST 2007  Olly Betts <olly@survex.com>
23707
23708	* NEWS: Update.  Put all the subheadings in the standard order used
23709	  for previous releases.
23710
23711Wed May 30 12:58:01 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23712
23713	* include/xapian/database.h,api/omdatabase.cc,backends/flint/,
23714	  backends/inmemory/,backends/quartz/,
23715	  backends/remote/remote-database.cc,
23716	  common/database.h,common/remote-database.h,common/remoteprotocol.h,
23717	  net/remoteserver.cc: Add a prefixed form of allterms_begin() and
23718	  allterms_end(), which allows efficient iteration over only those
23719	  terms which begin with the given prefix.  Requires bumping the
23720	  remote protocol minor version number, but doesn't change any
23721	  database formats.
23722	* queryparser/queryparser.lemony: Update the wildcard and partial
23723	  query routines to use the prefixed form of allterms_begin().
23724	  This fixes the performance problems noted in bug #153.
23725	* tests/api_db.cc: Add test_allterms6() to test the prefixed form
23726	  of allterms iterators.
23727
23728Wed May 30 12:23:25 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23729
23730	* backends/remote/remote-database.cc,common/remoteprotocol.h,
23731	  docs/remote_protocol.html,net/remoteserver.cc: Apply patch from
23732	  Olly (from bug #153) which implements minor version numbers for
23733	  the remove protocol.  This will allow us to add new features to
23734	  the protocol in future without forcing all clients to upgrade to
23735	  exactly the same version as the servers.  Bump the major version
23736	  to 30, since this is an incompatible change itself, though.
23737
23738Wed May 30 12:12:14 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23739
23740	* include/xapian/query.h: Expand documentation of value range
23741	  query constructor.
23742
23743Wed May 30 10:28:39 BST 2007  Olly Betts <olly@survex.com>
23744
23745	* docs/deprecation.rst: Improve entry for QueryParserError.
23746
23747Wed May 30 01:30:35 BST 2007  Olly Betts <olly@survex.com>
23748
23749	* backends/flint/,bin/xapian-compact.cc: Don't uncompress and
23750	  recompress tags when compacting a database.  This speeds up
23751	  xapian-compact rather a lot (by more than 50% in my quick test).
23752
23753Tue May 29 20:58:13 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23754
23755	* queryparser/Makefile.mk: Fix multiple target rule for generating
23756	  the queryparser source files in parallel builds, as described in
23757	  HACKING, and as done for the SWIG rules in xapian-bindings.
23758	* queryparser/: Add queryparser_internal.lock and
23759	  queryparser_internal.stamp to SVN ignores.
23760
23761Tue May 29 18:30:25 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23762
23763	* tests/queryparsertest.cc: Use TEST_STRINGS_EQUAL when comparing
23764	  queries against their expected output, since this makes it much
23765	  easier to see the differences.
23766
23767Tue May 29 18:13:26 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23768
23769	* NEWS: Bring up-to-date.
23770
23771Mon May 28 09:27:43 BST 2007  Olly Betts <olly@survex.com>
23772
23773	* examples/copydatabase.cc: Fix to compile with GCC 2.95.
23774
23775Mon May 28 01:28:23 BST 2007  Olly Betts <olly@survex.com>
23776
23777	* examples/copydatabase.cc: Rewrite to take advantage of
23778	  being able to iterate over all the documents in a database.
23779
23780Sun May 27 12:20:03 BST 2007  Olly Betts <olly@survex.com>
23781
23782	* include/xapian/termgenerator.h: Improve documentation comments
23783	  for TermGenerator class.
23784
23785Sun May 27 12:15:02 BST 2007  Olly Betts <olly@survex.com>
23786
23787	* backends/quartz/quartz_database.cc,bin/,examples/,net/tcpserver.cc,
23788	  tests/api_db.cc,tests/harness/testsuite.cc,tests/harness/testutils.h,
23789	  tests/queryparsertest.cc,tests/termgentest.cc: Make use of
23790	  Xapian::Error::get_description(), which improves error reporting
23791	  in a number of places.
23792	* tests/harness/testsuite.cc: If we get an exception with a long
23793	  message in verbose mode, just report the whole message rather than
23794	  reporting the truncated message followed by the whole message.
23795	* tests/queryparsertest.cc: Handle Xapian::QueryParserError specially
23796	  (as we previously handled all Xapian::Error exceptions).  Other
23797	  Xapian::Error exceptions now report the description not just the
23798	  message.
23799
23800Sun May 27 11:33:11 BST 2007  Olly Betts <olly@survex.com>
23801
23802	* api/error.cc,generate-exceptions.in: Add new API method
23803	  Xapian::Error::get_description() to allow removal of
23804	  essentially duplicated code in many places.  Also useful for
23805	  users for the same reason.
23806
23807Sun May 27 09:56:21 BST 2007  Olly Betts <olly@survex.com>
23808
23809	* generate-exceptions.in: Add vim modeline to force perl syntax
23810	  highlighting.
23811
23812Sat May 26 22:53:52 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23813
23814	* NEWS: Bring up-to-date.
23815
23816Sat May 26 22:49:20 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23817
23818	* docs/deprecation.rst: Fix typo in deprecation list for the
23819	  bindings pointed out by Thomas Waldmann.
23820
23821Sat May 26 09:39:36 BST 2007  Olly Betts <olly@survex.com>
23822
23823	* HACKING: Add note about reasons for avoiding std::pair<> with an STL
23824	  class as one or both members.
23825
23826Thu May 24 17:28:20 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23827
23828	* queryparser/Makefile.mk: $(top_builddir)/queryparser is only
23829	  required in include path for maintainer mode, so make it so for
23830	  neatness.
23831
23832Tue May 22 11:04:04 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23833
23834	* queryparser/Makefile.mk: Add $(top_builddir)/queryparser to include
23835	  path for VPATH builds, to fix a problem with depcomp (triggered
23836	  when compiling with gcc-2.95).
23837	* NEWS: Keep up to date.
23838
23839Mon May 21 13:38:58 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23840
23841	* tests/queryparsertest.cc: Reduce the range of the test, so that
23842	  it passes again, to let the autobuilders work and unbreak HEAD.
23843
23844Mon May 21 10:26:01 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23845
23846	* tests/queryparsertest.cc: Remove FIXME from test_qp_flag_partial1:
23847	  I've checked that the results look correct.  New test
23848	  test_qp_value_range3, to test the NumberValueRangeProcessors -
23849	  currently fails because "10" is considered to be between "1" and
23850	  "2".
23851	* include/xapian/query.h: Fix typo in documentation comment.
23852
23853Mon May 21 10:09:34 BST 2007  Olly Betts <olly@survex.com>
23854
23855	* tests/harness/testsuite.h: Put quotes around strings when reporting
23856	  a failure in TEST_STRINGS_EQUAL().
23857
23858Mon May 21 10:08:18 BST 2007  Olly Betts <olly@survex.com>
23859
23860	* tests/internaltest.cc: New tests serialiseerror1 which checks that
23861	  the handling of errno/error_string.
23862	* common/serialise.h: Make unserialise_error externally visible for
23863	  new test.
23864
23865Mon May 21 08:40:06 BST 2007  Olly Betts <olly@survex.com>
23866
23867	* HACKING: Update release checklist.
23868
23869Fri May 18 02:10:39 BST 2007  Olly Betts <olly@survex.com>
23870
23871	* generate-exceptions.in: Fix grammatical errors in Error::get_errno()
23872	  deprecation explanation.
23873
23874Thu May 17 23:51:17 BST 2007  Olly Betts <olly@survex.com>
23875
23876	* api/error.cc: Need <stdlib.h> for free() to build with GCC 4.3
23877	  snapshot.
23878
23879Thu May 17 23:11:53 BST 2007  Olly Betts <olly@survex.com>
23880
23881	* NEWS: Fix line wrapping (ok, isn't wasn't final!)
23882
23883Thu May 17 22:28:44 BST 2007  Olly Betts <olly@survex.com>
23884
23885	* NEWS: Final update before release.
23886
23887Thu May 17 19:10:27 BST 2007  Olly Betts <olly@survex.com>
23888
23889	* configure.ac: Bump version to 1.0.0 and update LIBRARY_VERSION_INFO.
23890
23891Thu May 17 19:10:11 BST 2007  Olly Betts <olly@survex.com>
23892
23893	* NEWS: Minor wording tweak.
23894
23895Thu May 17 19:06:34 BST 2007  Olly Betts <olly@survex.com>
23896
23897	* docs/Makefile.am: Run rst2html with --strict --verbose options to
23898	  reject .rst files with problems.
23899	* docs/deprecation.rst: Add more entries gleaned from the NEWS file.
23900
23901Thu May 17 18:30:01 BST 2007  Olly Betts <olly@survex.com>
23902
23903	* NEWS: Update with fixes from Jenny's proof-reading and a few other
23904	  tweaks.
23905
23906Thu May 17 18:27:53 BST 2007  Olly Betts <olly@survex.com>
23907
23908	* AUTHORS: Update.
23909
23910Thu May 17 18:25:39 BST 2007  Olly Betts <olly@survex.com>
23911
23912	* PLATFORMS: Updates from the tinderbox.
23913
23914Thu May 17 18:08:13 BST 2007  Olly Betts <olly@survex.com>
23915
23916	* common/safesysstat.h: Need the 2 argument mkdir() wrapper for Mingw
23917	  too.  Define S_ISDIR() and S_ISREG() if they aren't already defined
23918	  rather than conditional on _MSC_VER.
23919
23920Thu May 17 17:58:43 BST 2007  Olly Betts <olly@survex.com>
23921
23922	* docs/admin_notes.rst: "flint-check" -> "xapian-check".
23923
23924Thu May 17 17:46:36 BST 2007  Olly Betts <olly@survex.com>
23925
23926	* NEWS: Update for Xapian 1.0.0.
23927
23928Thu May 17 17:41:15 BST 2007  Olly Betts <olly@survex.com>
23929
23930	* docs/: Update documentation for 1.0.0; add new document describing
23931	  new term generation strategy as implemented by TermGenerator class;
23932	  link in "lost" documents to the index page.
23933
23934Thu May 17 03:54:36 BST 2007  Olly Betts <olly@survex.com>
23935
23936	* exception_data.pm: Fix to work with Perl 5.6.
23937
23938Thu May 17 01:20:16 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23939
23940	* backends/multi/multi_alltermslist.cc: Check that iterators are
23941	  not at_end() before calling skip_to() on them.
23942
23943Thu May 17 00:49:03 BST 2007  Olly Betts <olly@survex.com>
23944
23945	* backends/flint/flint_btreebase.cc,backends/flint/flint_table.cc,
23946	  backends/quartz/btree.cc,common/Makefile.mk,
23947	  common/msvc_posix_wrapper.cc,common/msvc_posix_wrapper.h: Use
23948	  msvc_posix_wrapper.h functions for all __WIN32__ builds, not just
23949	  for MSVC.
23950
23951Wed May 16 23:55:46 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23952
23953	* api/omdatabase.cc: Fix return type in debug macro in
23954	  replace_document().
23955
23956Wed May 16 23:45:20 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23957
23958	* tests/apitest.cc: Add collfreq and allterms tests to the tests
23959	  for the remote and remotetcp backends.  They all pass.
23960
23961Wed May 16 15:11:00 BST 2007  Olly Betts <olly@survex.com>
23962
23963	* configure.ac: Need to try -zdll for mingw as well.
23964
23965Wed May 16 14:45:23 BST 2007  Olly Betts <olly@survex.com>
23966
23967	* tests/queryparsertest.cc: Add two more testcases.
23968
23969Wed May 16 14:32:46 BST 2007  Olly Betts <olly@survex.com>
23970
23971	* queryparser/queryparser.lemony,tests/queryparsertest.cc: Fix
23972	  double-free on invalid range query.
23973
23974Wed May 16 10:08:02 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23975
23976	* tests/queryparsertest.cc: Add some more test cases to the value
23977	  range processor.  These currently fail with a SIGSEGV message.
23978
23979Wed May 16 02:22:17 BST 2007  Olly Betts <olly@survex.com>
23980
23981	* queryparser/termgenerator_internal.cc: Fix handling of stemming of
23982	  prefixed terms.
23983	* tests/termgentest.cc: Fix testcases.
23984
23985Wed May 16 01:54:25 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23986
23987	* tests/termgentest.cc: Add a test for parsing of capitalised words
23988	  with a prefix, which currently fails.
23989
23990Wed May 16 01:09:39 BST 2007  Richard Boulton <richard@lemurconsulting.com>
23991
23992	* include/xapian/termgenerator.h,queryparser/termgenerator.cc: Add
23993	  a method to get the current document from the term generator.
23994	  Helps avoid users having to pass around a structure encapsulating
23995	  the generator and the document assigned to it.
23996
23997Wed May 16 00:50:07 BST 2007  Olly Betts <olly@survex.com>
23998
23999	* docs/deprecation.rst: Add <xapian/output.h>.
24000
24001Tue May 15 22:46:39 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24002
24003	* tests/termgentest.cc: Use resize(0) instead of clear(), for g++2.95
24004
24005Tue May 15 20:25:07 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24006
24007	* net/remoteconnection.cc: Add a comment noting why we test
24008	  __STDC_SECURE_LIB__ even though its an undocumented macro.
24009
24010Tue May 15 20:14:51 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24011
24012	* tests/termgentest.cc: Add several more tests - some converted
24013	  from the query tests, some more initial tests, and some number
24014	  tests.
24015
24016Tue May 15 18:31:21 BST 2007  Olly Betts <olly@survex.com>
24017
24018	* queryparser/termgenerator_internal.cc: Revert previous change - we
24019	  need to generate Zibm and Zpc from text `I.B.M. P.C.' or else a
24020	  search for `ibm pc' won't match.
24021
24022Tue May 15 18:22:44 BST 2007  Olly Betts <olly@survex.com>
24023
24024	* queryparser/termgenerator_internal.cc: Sort out stemming of
24025	  initials.
24026
24027Tue May 15 18:04:17 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24028
24029	* tests/termgentest.cc: Add some more tests, and rework the array
24030	  of tests so that there's just a single string holding any options
24031	  we want to set for the following tests.
24032
24033Tue May 15 16:49:17 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24034
24035	* tests/Makefile.am,tests/termgentest.cc: Add new test file, for
24036	  testing the term generator.  Only has a single test so far.
24037
24038Tue May 15 16:20:20 BST 2007  Olly Betts <olly@survex.com>
24039
24040	* include/xapian/unicode.h: Make single parameter ctor explicit.
24041
24042Tue May 15 16:00:24 BST 2007  Olly Betts <olly@survex.com>
24043
24044	* queryparser/termgenerator_internal.cc: Add special handling for
24045	  acronyms/initialisms, so I.B.M -> term ibm, etc.
24046
24047Tue May 15 14:07:27 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24048
24049	* include/xapian/termgenerator.h,queryparser/termgenerator.cc: Add
24050	  a set_termpos() method, too.
24051
24052Tue May 15 13:54:34 BST 2007  Olly Betts <olly@survex.com>
24053
24054	* include/xapian/database.h: Document the issue of the monotonic
24055	  docid counter wrapping around.
24056
24057Tue May 15 10:58:37 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24058
24059	* include/xapian/termgenerator.h,queryparser/termgenerator.cc: Add
24060	  get_termpos() method to get the current value of the termpos.
24061	  Makes it easier to integrate with different term generators.
24062
24063Tue May 15 03:44:50 BST 2007  Olly Betts <olly@survex.com>
24064
24065	* queryparser/queryparser.lemony,queryparser/termgenerator_internal.cc:
24066	  Include '.', ',', and a few other characters in terms if they are
24067	  between two decimal digits.
24068	* queryparser/termgenerator_internal.cc: Don't stem terms which start
24069	  with a number.
24070	* tests/queryparsertest.cc: Update results for real world queries to
24071	  match new results (better in every case but one!)
24072
24073Tue May 15 01:24:08 BST 2007  Olly Betts <olly@survex.com>
24074
24075	* HACKING: Fix a few typos.  Add "feisty" to the list of debs to
24076	  build.
24077
24078Tue May 15 00:51:35 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24079
24080	* HACKING: Document that the bootstrap script should be run from
24081	  srcdir, and that the generated configure can be run from a
24082	  different builddir.  Tidy up a few other lines.
24083
24084Mon May 14 23:52:33 BST 2007  Olly Betts <olly@survex.com>
24085
24086	* queryparser/queryparser.lemony,queryparser/termgenerator_internal.cc:
24087	  Expand check_infix to include some of characters Unicode does.
24088	* tests/queryparsertest.cc: Update the single test query which now
24089	  parses differently.
24090
24091Mon May 14 23:42:53 BST 2007  Olly Betts <olly@survex.com>
24092
24093	* tests/harness/testsuite.h: New macro TEST_STRINGS_EQUAL() which
24094	  displays the strings on separate lines so the differences can
24095	  be clearly seen.
24096	* tests/queryparsertest.cc: Use TEST_STRINGS_EQUAL().
24097
24098Mon May 14 20:14:17 BST 2007  Olly Betts <olly@survex.com>
24099
24100	* include/xapian/enquire.h: Make the "uses string sort" warning in
24101	  the documentation for the methods which enable sorting by value
24102	  more prominent, and fix several miscellaneous typos.
24103
24104Mon May 14 19:28:21 BST 2007  Olly Betts <olly@survex.com>
24105
24106	* queryparser/dir_contents: Update to mention TermGenerator.
24107
24108Mon May 14 19:12:12 BST 2007  Olly Betts <olly@survex.com>
24109
24110	* queryparser/queryparser.lemony: Fix handling of WILDCARD_TERM and
24111	  PARTIAL_TERM for prefixed terms.
24112	* tests/queryparsertest.cc: Add test coverage for this.
24113
24114Mon May 14 18:02:22 BST 2007  Olly Betts <olly@survex.com>
24115
24116	* tests/queryparsertest.cc: Add more testcases for wildcarded queries.
24117
24118Mon May 14 17:39:30 BST 2007  Olly Betts <olly@survex.com>
24119
24120	* queryparser/queryparser.lemony: Fix handling of partial queries.
24121
24122Mon May 14 16:49:46 BST 2007  Olly Betts <olly@survex.com>
24123
24124	* net/remoteconnection.cc: closesocket() seems to work equally as
24125	  well as CloseHandle() but it's what we use elsewhere and Charlie
24126	  thinks it's a better choice here too so use that instead.  Rename
24127	  the wrapper call from close_fd_or_handle() to close_fd_or_socket().
24128	  And mark close_fd_or_socket() as "inline" under UNIX, since it
24129	  should always be inlined.
24130
24131Mon May 14 15:30:13 BST 2007  Olly Betts <olly@survex.com>
24132
24133	* tests/api_anydb.cc: Add FIXME about moving wildquery1.
24134
24135Mon May 14 15:21:59 BST 2007  Olly Betts <olly@survex.com>
24136
24137	* bin/xapian-progsrv.cc: Improve comments.
24138
24139Mon May 14 11:29:14 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24140
24141	* net/remoteconnection.cc: Deal with invalid parameter exceptions
24142	  on windows when closing file descriptors or handles.
24143
24144Mon May 14 05:04:16 BST 2007  Olly Betts <olly@survex.com>
24145
24146	* tests/api_anydb.cc: Fix wildquery1 to work with the new term
24147	  stemming scheme.
24148
24149Sun May 13 19:15:17 BST 2007  Olly Betts <olly@survex.com>
24150
24151	* include/xapian/unicode.h: Count control characters as whitespace
24152	  (which is certainly what we want for TAB, CR, LF, and FF).
24153
24154Sun May 13 17:50:19 BST 2007  Olly Betts <olly@survex.com>
24155
24156	* include/xapian/unicode.h: Add CONNECTOR_PUNCTUATION to is_wordchar()
24157	  - this category includes '_' and characters which fulfil similar
24158	  roles.
24159	* queryparser/queryparser.lemony,queryparser/termgenerator_internal.cc:
24160	  No longer need to special case '_'.
24161	* queryparser/queryparser.lemony: Test for Unicode "whitespace" rather
24162	  than just ASCII.
24163
24164Sun May 13 04:43:37 BST 2007  Olly Betts <olly@survex.com>
24165
24166	* queryparser/queryparser.lemony: Normalise Unicode characters used
24167	  for apostrophe to ASCII apostrophe.
24168
24169Sun May 13 03:56:17 BST 2007  Olly Betts <olly@survex.com>
24170
24171	* include/xapian/unicode.h,unicode/tclUniData.cc: Update Unicode
24172	  routines to use Unicode 5.0.0 and support characters outside the BMP
24173	  (so we now support all Unicode characters in the latest version of
24174	  the standard).
24175	* tests/api_unicode.cc: Add test unicode1 which performs some simple
24176	  tests of the categorisation function, include one which tests for a
24177	  character added in Unicode 5.0.0.
24178
24179Sat May 12 06:01:50 BST 2007  Olly Betts <olly@survex.com>
24180
24181	* queryparser/queryparser.lemony: Update comment.
24182
24183Sat May 12 04:23:01 BST 2007  Olly Betts <olly@survex.com>
24184
24185	* queryparser/queryparser.lemony: Improve description of Term class.
24186
24187Sat May 12 04:16:47 BST 2007  Olly Betts <olly@survex.com>
24188
24189	* queryparser/queryparser.lemony: Update to implement the new stemming
24190	  scheme.
24191	* tests/queryparsertest.cc: Update testcases, and check that the new
24192	  parses are all reasonable.
24193
24194Sat May 12 04:03:55 BST 2007  Olly Betts <olly@survex.com>
24195
24196	* include/xapian/unicode.h: Xapian::Unicode::get_category() now checks
24197	  for characters outside the BMP, and assumes they're of category
24198	  OTHER_LETTER.  Remove BMP check from all functions which use
24199	  Xapian::Unicode::get_category().
24200
24201Sat May 12 04:02:52 BST 2007  Olly Betts <olly@survex.com>
24202
24203	* include/xapian/queryparser.h: Fix typo in comment.
24204
24205Fri May 11 05:45:38 BST 2007  Olly Betts <olly@survex.com>
24206
24207	* net/remoteserver.cc: Make "Server is read-only" be of type
24208	  InvalidOperationError not NetworkError.  This is arguably more
24209	  appropriate anyway, but in particular it avoids a worrying looking
24210	  (but harmless) warning when a read-only connection is closed, due
24211	  dtor_called() calling flush() on a read-only database.
24212
24213Fri May 11 01:35:31 BST 2007  Olly Betts <olly@survex.com>
24214
24215	* docs/Makefile.am: Disable more documentation rules if
24216	  MAINTAINER_NO_DOCS is true.
24217
24218Thu May 10 23:01:13 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24219
24220	* net/remoteconnection.cc: Remove definition of unused macro
24221	  XAPIAN_MSVC_INVALID_PARAMETER_HANDLER.
24222
24223Thu May 10 19:24:23 BST 2007  Olly Betts <olly@survex.com>
24224
24225	* include/xapian/enquire.h: Try quoting qualified identifiers in
24226	  #pragma deprecated.
24227
24228Thu May 10 15:58:37 BST 2007  Olly Betts <olly@survex.com>
24229
24230	* include/xapian/enquire.h: Give full scope in '#pragma deprecated'
24231	  to try to avoid false positives.
24232
24233Thu May 10 14:53:08 BST 2007  Olly Betts <olly@survex.com>
24234
24235	* include/xapian/enquire.h: Use '#pragma deprecated' to work around
24236	  MSVC stupidity (you get a warning for deprecating a declaration).
24237
24238Thu May 10 13:42:49 BST 2007  Olly Betts <olly@survex.com>
24239
24240	* configure.ac: Some GCC 3.x versions produce bogus warnings, so only
24241	  automatically enable -Werror on --enable-maintainer-mode under GCC
24242	  if we're using GCC >= 4.0.  Most developers will be using GCC 4.x
24243	  soon if they aren't already anyway.
24244	* HACKING: Update documentation in line with the above.  Mention that
24245	  we also enable -Werror for Intel's C++ compiler.
24246
24247Thu May 10 05:06:22 BST 2007  Olly Betts <olly@survex.com>
24248
24249	* configure.ac: Detect __WIN32__ by running the preprocessor so we
24250	  don't get confused by building mingw in a cygwin environment.
24251
24252Thu May 10 04:52:21 BST 2007  Olly Betts <olly@survex.com>
24253
24254	* net/tcpserver.cc: Exit with EX_UNAVAILABLE if the mutex tells us
24255	  xapian-tcpsrv is already running on this port.
24256
24257Thu May 10 04:44:10 BST 2007  Olly Betts <olly@survex.com>
24258
24259	* common/Makefile.mk,common/safe.cc,common/safeunistd.h: Pulling
24260	  in safewindows.h from safeunistd.h causes clashes with NEAR
24261	  in the QueryParser, so use a helper function to call Sleep
24262	  and just call that from the header.
24263
24264Thu May 10 04:36:19 BST 2007  Olly Betts <olly@survex.com>
24265
24266	* net/tcpserver.cc: Fix compilation error.
24267
24268Thu May 10 04:26:31 BST 2007  Olly Betts <olly@survex.com>
24269
24270	* common/tcpserver.h,net/tcpserver.cc: Just pass the mutex to
24271	  get_listening_socket() by reference to avoid MSVC warnings.
24272
24273Thu May 10 04:19:13 BST 2007  Olly Betts <olly@survex.com>
24274
24275	* common/safeunistd.h: Use Sleep() instead of _sleep() as the latter
24276	  gives deprecation warnings.  Sadly that means that safeunistd.h
24277	  now has to pull in safewindows.h.
24278
24279Thu May 10 04:07:53 BST 2007  Olly Betts <olly@survex.com>
24280
24281	* common/tcpserver.h,net/tcpserver.cc: Keep track of the mutex so
24282	  we can release it right after we close the listening socket.
24283	  Throw an error if we fail to get the mutex to avoid a possible
24284	  race condition (we might end up with the socket listening but
24285	  without the mutex locked).  Always call closesocket() on the
24286	  listening socket under __WIN32__ to ensure resources are released.
24287
24288Thu May 10 02:48:31 BST 2007  Olly Betts <olly@survex.com>
24289
24290	* net/tcpserver.cc: Use a mutex under Cygwin and WIN32 to allow use to
24291	  use Microsoft's broken SO_REUSEADDR on our listening socket, but
24292	  avoid being able to run two copies of xapian-tcpsrv on the same port
24293	  at once (tweaked patch from MarkH).
24294	* net/tcpserver.cc: Don't try to set SO_EXCLUSIVEADDRUSE if a previous
24295	  setsockopt() call failed as we might stomp on the error code.
24296
24297Thu May 10 02:15:20 BST 2007  Olly Betts <olly@survex.com>
24298
24299	* Makefile.am,bin/Makefile.mk,configure.ac,docs/Makefile.am,
24300	  examples/Makefile.mk: Add new Automake conditional
24301	  "MAINTAINER_NO_DOCS" to allow use to disable references to built
24302	  documentation in maintainer builds if --disable-documentation is
24303	  specified.  This allows Mark's buildbot to work without installing
24304	  so many tools, some of which aren't packaged for Cygwin.
24305
24306Thu May 10 02:03:44 BST 2007  Olly Betts <olly@survex.com>
24307
24308	* Makefile.am: Build rules for running generate-exceptions should be
24309	  controlled by MAINTAINER_MODE not DOCUMENTATION_RULES, part II.
24310
24311Thu May 10 01:49:42 BST 2007  Olly Betts <olly@survex.com>
24312
24313	* docs/deprecation.rst: Add Error::get_type().
24314
24315Thu May 10 01:25:37 BST 2007  Olly Betts <olly@survex.com>
24316
24317	* api/error.cc,generate-exceptions.in: Add new constructors which
24318	  allow error_string to be set directly, for use by the Xapian::Error
24319	  unserialising code.
24320	* generate-exceptions.in: Xapian::Error::get_type() now returns
24321	  const char * not std::string.
24322	* backends/quartz/quartz_database.cc: Fix code to handle changed
24323	  return type of Xapian::Error::get_type().
24324	* net/serialise.cc: Include error_string in the serialisation.
24325	* common/remoteprotocol.h,docs/remote_protocol.html: Bump protocol
24326	  version to 29 because of change in Xapian::Error serialisation.
24327
24328Wed May 09 14:42:33 BST 2007  Olly Betts <olly@survex.com>
24329
24330	* queryparser/queryparser.lemony: Renaming match_nothing_
24331	  member of QpQuery to match_nothing.  Comment out unused
24332	  QpQuery::get_description().  Add FIXME comment about
24333	  apparently redundant logic (now's not really the time
24334	  to be fiddling with such things).
24335
24336Wed May 09 14:27:02 BST 2007  Olly Betts <olly@survex.com>
24337
24338	* queryparser/queryparser.lemony: Update to match new TermGenerator
24339	  class.  '_' is now a term character, not a phrase generator.  We
24340	  only keep a suffix which has 3 or fewer characters, and we no longer
24341	  count '-' as a suffix character.
24342	* tests/queryparsertest.cc: Update test cases to match new behaviour.
24343	  In almost every case the new rules give a better result.
24344
24345Wed May 09 14:15:38 BST 2007  Olly Betts <olly@survex.com>
24346
24347	* languages/compiler/space.c: Add sanity check to b_to_s(),
24348	  highlighted by MSVC warning.
24349
24350Wed May 09 14:06:24 BST 2007  Olly Betts <olly@survex.com>
24351
24352	* tests/btreetest.cc: Return filesize as off_t to avoid MSVC warning
24353	  about truncating from 64 to 32 bits (the filesize will never be
24354	  more than a few K here, so this is essentially a cosmetic issue).
24355
24356Wed May 09 04:04:03 BST 2007  Olly Betts <olly@survex.com>
24357
24358	* common/tcpserver.h,net/tcpserver.cc: Always starting the server in a
24359	  new thread in "one-shot" mode is trickier than it looked, so revert
24360	  that change for now.  Always call closesocket() on our sockets under
24361	  __WIN32__.
24362
24363Wed May 09 01:53:43 BST 2007  Olly Betts <olly@survex.com>
24364
24365	* common/tcpserver.h,net/tcpserver.cc: Make UNIX signal handling
24366	  functions and WIN32 CrtlHandler static.  TcpServer::run() is now
24367	  generic, calling an OS-specific TcpServer::run_once().  Now we
24368	  always run the server in a new thread in "one-shot" mode, which
24369	  gives better code coverage in apitest as it runs more like a normal
24370	  xapian-tcpsrv would.  CtrlHandler now lets the OS handle the event
24371	  if it doesn't have a socket to close, or if closesocket() fails.
24372
24373Wed May 09 01:42:33 BST 2007  Olly Betts <olly@survex.com>
24374
24375	* net/remoteconnection.cc: DWORD is unsigned, so received can't be
24376	  negative - tidy up the ReadFile() loop taking this into account.
24377
24378Wed May 09 01:28:48 BST 2007  Olly Betts <olly@survex.com>
24379
24380	* net/remoteconnection.cc: ReadFile() doesn't set errno, so remove
24381	  test for EINTR which is just a hangover from the UNIX code.
24382
24383Tue May 08 23:50:33 BST 2007  Olly Betts <olly@survex.com>
24384
24385	* queryparser/termgenerator_internal.cc: Treat '_' as a word character
24386	  which seems to be the correct thing to do in general.  Generate
24387	  unstemmed terms with positional information for all words without a
24388	  prefix, and stemmed terms without positional information for
24389	  non-stopwords with a 'Z' prefix.  This means we can implement exact
24390	  phrase search, and prefixing stemmed forms (rather than unstemmed
24391	  as Omega < 1.0 does) means fewer terms with the prefix.  Only
24392	  stemming non-stopwords cuts a significant amount of the database
24393	  size in my tests.
24394
24395Tue May 08 18:22:30 BST 2007  Olly Betts <olly@survex.com>
24396
24397	* net/tcpserver.cc: Fix remaining use of handle_one_request in
24398	  __WIN32__-specific code.
24399
24400Tue May 08 18:10:12 BST 2007  Olly Betts <olly@survex.com>
24401
24402	* api/error.cc: Really fix it...
24403
24404Tue May 08 17:38:04 BST 2007  Olly Betts <olly@survex.com>
24405
24406	* api/error.cc: Fix another paste-o!
24407
24408Tue May 08 17:28:29 BST 2007  Olly Betts <olly@survex.com>
24409
24410	* api/error.cc: Remove bogus statement in __WIN32__ case left over
24411	  from cut-and-paste.
24412
24413Tue May 08 17:10:53 BST 2007  Olly Betts <olly@survex.com>
24414
24415	* common/tcpserver.h,net/tcpserver.cc: Rename
24416	  TcpServer::handle_one_request() to
24417	  TcpServer::handle_one_connection() (to make it clearer that it
24418	  handles a connection rather than a single MSG/REPLY exchange), and
24419	  use it in UNIX builds too to avoid duplicating its code.  Catch
24420	  NetworkTimeoutError here and report it if we're in verbose mode.
24421	* net/remoteserver.cc: If we catch NetworkTimeoutError then try to
24422	  propagate it only if we can send it right away, then rethrow it
24423	  to close the connection and let the caller log it.  If we catch
24424	  any other NetworkError then just rethrow it.
24425
24426Tue May 08 16:52:50 BST 2007  Olly Betts <olly@survex.com>
24427
24428	* common/noreturn.h: Add missing '#endif'.
24429
24430Tue May 08 16:19:05 BST 2007  Olly Betts <olly@survex.com>
24431
24432	* common/Makefile.mk,common/noreturn.h: New header which defines
24433	  XAPIAN_NORETURN() to allow functions which don't return to be
24434	  marked as such so the compiler can take this into account when
24435	  generating code.
24436	* api/error.cc,tests/harness/backendmanager.cc: Remove any trailing
24437	  "\r\n" from the output of FormatMessage().
24438
24439Tue May 08 16:16:55 BST 2007  Olly Betts <olly@survex.com>
24440
24441	* include/xapian/deprecated.h: Use `__attribute__((__deprecated__))'
24442	  instead of `__attribute__((deprecated))' so we're even robust
24443	  against some clown doing `#define deprecated foo'.
24444
24445Tue May 08 16:15:30 BST 2007  Olly Betts <olly@survex.com>
24446
24447	* bin/quartzcheck.cc,tests/harness/backendmanager.cc: In these files
24448	  we have to disable XAPIAN_DEPRECATED() since we need to be able to
24449	  use Quartz::open() - move this to the start of the #include block
24450	  to avoid problems with any intermediate header implicitly including
24451	  <xapian.h>.
24452
24453Tue May 08 14:51:37 BST 2007  Olly Betts <olly@survex.com>
24454
24455	* HACKING: Move section on "Configure Options" to a more logical spot
24456	  just before "Makefile Portability".  Add section on how to use
24457	  XAPIAN_DEPRECATED() noting the issue with GCC 3.3.5 not allowing
24458	  it to be used on an inline method definition.
24459	* include/xapian/deprecated.h: Add pointers to HACKING and
24460	  docs/deprecated.rst.
24461
24462Tue May 08 13:57:17 BST 2007  Olly Betts <olly@survex.com>
24463
24464	* generate-exceptions.in: We can't use XAPIAN_DEPRECATED() on
24465	  a function definition with GCC 3.3.5, so use it on a declaration
24466	  and then define inline but out of the class.
24467
24468Tue May 08 13:45:48 BST 2007  Olly Betts <olly@survex.com>
24469
24470	* net/tcpserver.cc: We must call closesocket() (instead of just
24471	  close()) under __WIN32__ or else the socket remains in the
24472	  CLOSE_WAIT state.
24473
24474Tue May 08 12:17:19 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24475
24476	* docs/deprecation.rst: Add Error::get_errno() to the deprecation
24477	  list for the bindings, too.
24478
24479Tue May 08 10:09:27 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24480
24481	* docs/deprecation.rst: Change the xapian_version functions to be
24482	  marked for removal in 1.1.0, and also note them in the bindings
24483	  section.
24484
24485Tue May 08 04:27:37 BST 2007  Olly Betts <olly@survex.com>
24486
24487	* backends/remote/remote-database.cc,common/remote-database.h: The
24488	  timeout parameter to RemoteDatabase wasn't being used, instead the
24489	  client would wait indefinitely for the server to respond.
24490
24491Tue May 08 04:16:45 BST 2007  Olly Betts <olly@survex.com>
24492
24493	* generate-exceptions.in: Initialise error_string in Xapian::Error
24494	  ctor.
24495
24496Tue May 08 03:48:47 BST 2007  Olly Betts <olly@survex.com>
24497
24498	* api/error.cc: Fix compilation when HAVE_HSTRERROR isn't defined.
24499
24500Tue May 08 02:35:04 BST 2007  Olly Betts <olly@survex.com>
24501
24502	* api/error.cc,bin/xapian-tcpsrv.cc,examples/delve.cc,
24503	  generate-exceptions.in,tests/harness/testsuite.cc: Error subclasses
24504	  now store the error_string in the class, converting it from the
24505	  error code in my_errno lazily.  Also, get_error_string() now returns
24506	  const char *.
24507
24508Tue May 08 01:34:56 BST 2007  Olly Betts <olly@survex.com>
24509
24510	* Makefile.am: Build rules for running generate-exceptions should be
24511	  controlled by MAINTAINER_MODE not DOCUMENTATION_RULES.
24512
24513Tue May 08 01:23:22 BST 2007  Olly Betts <olly@survex.com>
24514
24515	* bin/xapian-tcpsrv.cc,docs/deprecation.rst,generate-exceptions.in,
24516	  net/tcpserver.cc,tests/harness/testsuite.cc: Deprecate
24517	  Error::get_errno() in favour of Error::get_error_string().  We can't
24518	  pass errno values from remote server to client as they aren't
24519	  portable and the server and client may be running on entirely
24520	  different platforms!
24521	* generate-exceptions.in: Mark as generated with @configure_input@.
24522
24523Tue May 08 01:20:43 BST 2007  Olly Betts <olly@survex.com>
24524
24525	* backends/flint/flint_database.cc,backends/flint/flint_lock.h: Make
24526	  FlintLock's dtor release the lock (if held) which avoids the need
24527	  for any special handling in FlintDatabase.
24528
24529Mon May 07 21:15:33 BST 2007  Olly Betts <olly@survex.com>
24530
24531	* tests/harness/unixcmds.cc: Use O_BINARY when opening a file to
24532	  "touch" it.
24533
24534Mon May 07 17:28:43 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24535
24536	* backends/flint/flint_database.cc: Add try{}catch(...){} block to
24537	  ensure that lock is released if an exception occurs in the
24538	  FlintDatabase() constructor.
24539	* tests/api_db.cc: Add regression test for releasing lock on error
24540	  in constructor.
24541
24542Mon May 07 11:10:33 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24543
24544	* HACKING: Update section on multiple output rules to detail the
24545	  workaround described in the automake manual.
24546
24547Mon May 07 10:03:50 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24548
24549	* backends/flint/flint_database.cc,backends/flint/flint_database.h,
24550	  backends/flint/flint_version.cc,backends/quartz/,exception_data.pm,
24551	  include/xapian/database.h,tests/api_db.cc: Throw
24552	  DatabaseVersionError instead of DatabaseOpeningError when database
24553	  version is unsupported.  This is a new error class, which is a
24554	  subclass of DatabaseOpeningError, so most existing scripts
24555	  shouldn't need changing, but makes it easy for application
24556	  writers to determine whether a database needs upgrading or
24557	  whether the problem is something else.  Should fix #144.
24558
24559Mon May 07 09:22:01 BST 2007  Olly Betts <olly@survex.com>
24560
24561	* net/progclient.cc: Under __WIN32__, use byte mode on pipes because
24562	  message mode fails for message > 256 bytes, and use "overlapped"
24563	  mode so we don't block waiting for a reply so that timeouts work.
24564	  (Patch from Mark Hammond).
24565
24566Mon May 07 03:03:10 BST 2007  Olly Betts <olly@survex.com>
24567
24568	* tests/api_anydb.cc,tests/apitest.cc,tests/harness/: Now
24569	  TEST_EQUAL_DOUBLE() should work everywhere.  Move the helper
24570	  function out of the header.  Use TEST_EQUAL_DOUBLE() instead
24571	  of doubles_are_equal_enough() and weights_are_equal_enough()
24572	  which do much the same job.
24573
24574Mon May 07 01:13:29 BST 2007  Olly Betts <olly@survex.com>
24575
24576	* tests/harness/testsuite.h: Report extra info to try to work out why
24577	  MSVC build is failing expandweights1.
24578
24579Mon May 07 00:26:59 BST 2007  Olly Betts <olly@survex.com>
24580
24581	* tests/harness/testsuite.h: Another tweak to TEST_EQUAL_DOUBLE().
24582
24583Sun May 06 22:30:26 BST 2007  Olly Betts <olly@survex.com>
24584
24585	* docs/quickstart.html: Remove reference to DA databases since the
24586	  muscat36 backend has been removed.  Update to recommend GCC 3.3
24587	  or later, as we do elsewhere.  Change references to "quartz" to
24588	  say "flint", or remove them.
24589
24590Sun May 06 16:02:28 BST 2007  Olly Betts <olly@survex.com>
24591
24592	* configure.ac: Set version to mythical 0.9.99.
24593
24594Sun May 06 15:06:01 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24595
24596	* tests/api_db.cc: Add test_flintdatabaseformaterror1() which
24597	  checks what happens when an old-format flint database is opened.
24598	  It generates the old-format database by making a fake "iamflint"
24599	  file containing an old version number.
24600
24601Sun May 06 04:00:39 BST 2007  Olly Betts <olly@survex.com>
24602
24603	* expand/ortermlist.cc: Remove incorrect assertion check in
24604	  OrTermList::next(), replacing it with anexplanatory comment.
24605
24606Sun May 06 02:42:30 BST 2007  Olly Betts <olly@survex.com>
24607
24608	* net/remoteconnection.cc: Fix typo.
24609
24610Sun May 06 02:39:23 BST 2007  Olly Betts <olly@survex.com>
24611
24612	* net/remoteconnection.cc: Aha!  Richard's patch failed to compile
24613	  because stdlib.h was in "#ifndef __WIN32__" not "#ifdef __WIN32__".
24614
24615Sun May 06 02:27:18 BST 2007  Olly Betts <olly@survex.com>
24616
24617	* net/remoteconnection.cc: Protect _set_invalid_parameter_handler, etc
24618	  by _MSC_VER >= 1400 (MSVC 2005) and __STDC_SECURE_LIB__ (undocumented
24619	  but cribbed from the Python sources).  Refactor into a handy class
24620	  (MSVCIgnoreInvalidParameter) which just needs to be instantiated in
24621	  the scope where you want to allow invalid parameters to be passed.
24622
24623Sun May 06 01:42:06 BST 2007  Olly Betts <olly@survex.com>
24624
24625	* net/remoteconnection.cc: Rework use of _invalid_parameter_handler to
24626	  only apply when _MSC_VER is defined, to fix the mingw build.
24627
24628Sat May 05 22:30:01 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24629
24630	* net/remoteconnection.cc: Under __WIN32__, add an invalid
24631	  parameter handler which ignores the error and use it for the
24632	  calls to _get_osfhandle() which are sometimes expected to fail.
24633	  Requires stdlib.h according to msdn, so also #include that.
24634
24635Sat May 05 20:43:29 BST 2007  Olly Betts <olly@survex.com>
24636
24637	* bin/xapian-progsrv.cc,bin/xapian-tcpsrv.cc,common/remoteconnection.h,
24638	  common/remoteserver.h,common/tcpserver.h,net/remoteserver.cc,
24639	  net/tcpserver.cc: Open a fresh copy of the database(s) on each
24640	  connection to a xapian-tcpsrv rather than relying on being able to
24641	  share a database across fork() or between threads (which we don't
24642	  promise will work).  Largely based on patch from Mark Hammond.
24643	  Fixes some of bug#141 and all of bug#142.
24644
24645Sat May 05 02:19:39 BST 2007  Olly Betts <olly@survex.com>
24646
24647	* api/omdatabase.cc: Use RETURN() not return in methods with debug
24648	  logging.
24649
24650Sat May 05 02:19:11 BST 2007  Olly Betts <olly@survex.com>
24651
24652	* bin/xapian-compact.cc: Fix typo in comment.
24653
24654Fri May 04 23:59:54 BST 2007  Olly Betts <olly@survex.com>
24655
24656	* backends/flint/flint_version.cc: Remove the "u" suffix from
24657	  FLINT_VERSION as it's confusing in the "wrong format version"
24658	  error message and doesn't seem needed in the code.
24659
24660Fri May 04 23:56:32 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24661
24662	* backends/flint/: Revert patch from revision 8426 (except for the
24663	  bit which removed the unused prototypes), to avoid the
24664	  possibility that it introduces bugs into the code just before
24665	  1.0.0.  The patch is attached to bug #143 for later reference.
24666
24667Fri May 04 23:50:39 BST 2007  Olly Betts <olly@survex.com>
24668
24669	* examples/delve.cc: Report the error string if we catch Xapian::Error
24670	  while trying to open a database.
24671
24672Fri May 04 22:50:54 BST 2007  Olly Betts <olly@survex.com>
24673
24674	* docs/intro_ir.html: Fix a few typos; elaborate on a few points.
24675
24676Fri May 04 20:07:44 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24677
24678	* queryparser/termgenerator_internal.cc: Fix bug in termgenerator -
24679	  arguments to add_posting were the wrong way round.
24680
24681Fri May 04 20:00:40 BST 2007  Olly Betts <olly@survex.com>
24682
24683	* queryparser/termgenerator_internal.cc: Limit term length, handle
24684	  infix and suffix characters, and convert apostrophes to ASCII
24685	  representation.
24686
24687Fri May 04 19:47:43 BST 2007  Olly Betts <olly@survex.com>
24688
24689	* include/xapian/unicode.h: Fill in remaining missing documentation
24690	  comments.
24691
24692Fri May 04 19:30:56 BST 2007  Olly Betts <olly@survex.com>
24693
24694	* include/xapian/termgenerator.h: Add convenience version of
24695	  index_text() and index_text_without_positions() which take a
24696	  std::string instead of a Utf8Iterator.
24697
24698Fri May 04 17:11:11 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24699
24700	* unicode/utf8itor.cc: Fix segfault bug in Utf8Iterator::operator*().
24701	  If this was called when the iterator had reached end, invalid
24702	  memory was accessed because p was compared to end, p will always
24703	  be set to NULL when the iterator reaches the end.  No regression
24704	  test, but the smoketest tests I'm implementing in the bindings
24705	  will exercise this code.
24706
24707Fri May 04 16:29:51 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24708
24709	* include/xapian/unicode.h: Add documentation comments to
24710	  Utf8Iterator, so I don't have to work out how it works again.
24711
24712Fri May 04 14:55:32 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24713
24714	* include/xapian/unicode.h: Add assign() function which takes a
24715	  string, for symmetry with the constructors.  Also makes
24716	  implementing the bindings easier.
24717
24718Fri May 04 13:04:52 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24719
24720	* include/Makefile.mk: Add termgenerator.h to distribution
24721	  tarballs.
24722
24723Fri May 04 03:41:56 BST 2007  Olly Betts <olly@survex.com>
24724
24725	* tests/harness/testsuite.h: Test against pow(10, -DBL_DIG) rather
24726	  than DBL_EPSILON.  DBL_EPSILON is a little bit smaller, but we use
24727	  DBL_DIG for displaying the numbers and it looks stupid to say two
24728	  numbers which are displayed identically should be nearly the same!
24729
24730Fri May 04 03:33:51 BST 2007  Olly Betts <olly@survex.com>
24731
24732	* HACKING: Fix reference to --enable-maitainer-mode and documentation
24733	  rebuilding.
24734
24735Fri May 04 03:32:57 BST 2007  Olly Betts <olly@survex.com>
24736
24737	* configure.ac: Fix now erroneous references to tools "required in
24738	  maintainer mode" to "required to build documentation".
24739
24740Fri May 04 01:49:05 BST 2007  Olly Betts <olly@survex.com>
24741
24742	* HACKING: Document --enable-documentation.
24743
24744Fri May 04 01:38:44 BST 2007  Olly Betts <olly@survex.com>
24745
24746	* Makefile.am,bin/Makefile.mk,configure.ac,docs/Makefile.am,
24747	  examples/Makefile.mk: Add new configure option
24748	  "--enable-documentation" which enables the make rules to rebuild the
24749	  documentation.  By default this follows the setting of
24750	  "--enable-maintainer-mode" (so giving much the same behaviour as
24751	  currently), but the documentation rules can now be controlled
24752	  independently.  Also, if documentation isn't being built, the
24753	  configure probes for tools required to rebuild it are no longer run
24754	  which should shorten configure time a bit for end-users building
24755	  releases.
24756
24757Thu May 03 22:07:39 BST 2007  Olly Betts <olly@survex.com>
24758
24759	* common/remoteserver.h: Remove unused default values for
24760	  active_timeout_ and idle_timeout_ parameters.  Fix repeated typo
24761	  in documentation comments ('millisrconds' -> 'milliseconds').
24762
24763Thu May 03 15:05:24 BST 2007  Olly Betts <olly@survex.com>
24764
24765	* include/xapian.h,include/xapian/termgenerator.h,queryparser/:
24766	  Initial cut of TermGenerator class.
24767
24768Thu May 03 15:04:09 BST 2007  Olly Betts <olly@survex.com>
24769
24770	* generate-exceptions.in: Hide the internal constructors of generated
24771	  error classes in the doxygen-generated API docs.
24772
24773Thu May 03 04:37:51 BST 2007  Olly Betts <olly@survex.com>
24774
24775	* expand/ortermlist.cc,expand/ortermlist.h: Fix compilation error when
24776	  --enable-assertions is used.
24777
24778Thu May 03 03:57:42 BST 2007  Olly Betts <olly@survex.com>
24779
24780	* common/safeunistd.h: Provide a POSIX-compatible sleep() function.
24781	* common/utils.h: Remove inferior POSIX-compatible sleep() function.
24782
24783Thu May 03 03:17:02 BST 2007  Olly Betts <olly@survex.com>
24784
24785	* include/xapian/: Mark all @internal member variables and functions
24786	  which aren't private with @private so doxygen doesn't document them.
24787
24788Thu May 03 02:33:09 BST 2007  Olly Betts <olly@survex.com>
24789
24790	* include/xapian/: Mark DocIDWrapper, RefCntBase, RefCntPtr,
24791	  TermNameWrapper, and TermPosWrapper as "@internal" so that they don't
24792	  show up in the doxygen-generated API documentation.  In particular,
24793	  this makes the class collaboration diagrams much more useful.
24794	* include/xapian/errorhandler.h: Declare the class in namespace Xapian
24795	  rather than with namespace Xapian:: since the latter seems to
24796	  confuse doxygen.
24797
24798Thu May 03 02:31:33 BST 2007  Olly Betts <olly@survex.com>
24799
24800	* include/xapian/unicode.h: Fix wrapping of comment.
24801
24802Thu May 03 00:05:23 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24803
24804	* backends/flint/: Remove unused (and unimplemented) declarations
24805	  of begin_transaction_(), commit_transaction_() and
24806	  cancel_transaction_() from FlintWritableDatabase class.  Tidy up
24807	  handling of metainfo (total_length and lastdocid) to avoid
24808	  repeatedly parsing the special record, and make it easier to
24809	  store additional metainfo in future.
24810	  Also, remove code which ensures that there is always a special
24811	  record - this was added in revision 5459 when the special record
24812	  was stored in the record table, so that the number of documents
24813	  in the database could always be calculated by subtracting 1 from
24814	  the number of entries in the record table.  Now that the special
24815	  record is stored in the postlist table, this is no longer
24816	  necessary.
24817
24818Wed May 02 17:56:39 BST 2007  Olly Betts <olly@survex.com>
24819
24820	* backends/dbfactory_remote.cc,include/xapian/dbfactory.h:
24821	  Remote::open_writable() now defaults to no (active) timeout.  The
24822	  connection timeouts for Remote::open() and Remote::open_writable()
24823	  now default to 10 seconds rather than defaulting to the same as
24824	  the active timeout (which defaults to 10 seconds).
24825
24826Wed May 02 16:00:22 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24827
24828	* common/safeunistd.h,tests/harness/backendmanager.cc: Fix
24829	  compilation on windows - safeunistd.h was undefining ssize_t
24830	  and thus overriding the definition in config.h, and include
24831	  safewindows.h for backendmanager.cc
24832
24833Wed May 02 15:34:33 BST 2007  Olly Betts <olly@survex.com>
24834
24835	* common/safeunistd.h: Don't define ssize_t here for MSVC - do it in
24836	  config.h instead.  This avoids pulling in <windows.h> which will
24837	  hopefully fix another macro redefinition warning under MSVC.
24838
24839Wed May 02 15:20:56 BST 2007  Olly Betts <olly@survex.com>
24840
24841	* common/safewindows.h: Define NOGDI before including windows.h to
24842	  prevent it from defining a macro called "ERROR" which collides with
24843	  the generated queryparser sources, causing a warning in the MSVC
24844	  build.
24845
24846Wed May 02 14:38:33 BST 2007  Olly Betts <olly@survex.com>
24847
24848	* common/termlist.h: Forward declare ExpandStats as "class" not
24849	  "struct" for consistency with the actual declaration.
24850
24851Wed May 02 14:30:41 BST 2007  Olly Betts <olly@survex.com>
24852
24853	* configure.ac: Try '-lzlib' for zlib, which mingw reportedly needs.
24854
24855Wed May 02 14:21:40 BST 2007  Olly Betts <olly@survex.com>
24856
24857	* common/remoteconnection.h,include/xapian/dbfactory.h,
24858	  net/remoteserver.cc: A timeout of `0' in the remote backend now
24859	  means "no timeout" (code patch from Mark Hammond).
24860
24861Wed May 02 04:17:28 BST 2007  Olly Betts <olly@survex.com>
24862
24863	* Makefile.am,api/,backends/alltermslist.cc,backends/flint/,
24864	  backends/inmemory/inmemory_database.cc,
24865	  backends/inmemory/inmemory_database.h,
24866	  backends/multi/multi_termlist.cc,backends/multi/multi_termlist.h,
24867	  backends/quartz/,backends/remote/net_termlist.cc,
24868	  backends/remote/net_termlist.h,backends/remote/remote-database.cc,
24869	  common/,expand/,matcher/: Split expand functionality out of
24870	  "matcher" subdirectory into new "expand" subdirectory since it's
24871	  not really connected to query matching and the matcher subdirectory
24872	  is one of the largest.  Rewrite OrTermList, eliminating
24873	  BranchTermList entirely.  Alter expand to pass in an object (of
24874	  class Xapian::Internal::ExpandWeight) which accumulates statistics
24875	  instead of returning OmExpandBits objects which we then have to
24876	  merge (and eliminating the need for LeafTermList entirely).  Query
24877	  expansion for multiple databases should now give results more like
24878	  that for a single database with the same documents (if
24879	  USE_EXACT_TERMFREQ is used, the results should be the same).  Debug
24880	  logging from expand is now all of type EXPAND (some was of types
24881	  MATCHER and WTCALC before).
24882
24883Wed May 02 03:35:17 BST 2007  Olly Betts <olly@survex.com>
24884
24885	* docs/deprecation.rst: Add deprecation info for Omega too.
24886
24887Wed May 02 00:24:13 BST 2007  Olly Betts <olly@survex.com>
24888
24889	* tests/api_anydb.cc: Add test expandweights1 as a regression test for
24890	  the previous commit.
24891	* tests/harness/testsuite.h: Set the precision for TEST_EQUAL_DOUBLE
24892	  so we don't claim two numbers to be different yet display them the
24893	  same!
24894
24895Tue May 01 23:27:10 BST 2007  Olly Betts <olly@survex.com>
24896
24897	* backends/remote/net_termlist.cc,backends/remote/remote-database.cc,
24898	  common/remoteprotocol.h,docs/remote_protocol.html,
24899	  net/remoteserver.cc: Fix handling of the document length in the
24900	  termlist for the remote backend.
24901
24902Tue May 01 23:17:28 BST 2007  Olly Betts <olly@survex.com>
24903
24904	* tests/api_db.cc: Several tests were marked as "local db only" for
24905	  historical reasons.  Enable them for remote backends too.
24906	* backends/remote/net_postlist.cc,tests/api_db.cc: Fix a bug in
24907	  NetworkPostList::skip_to() which apitest's postlist4 reveals.
24908
24909Tue May 01 21:00:26 BST 2007  Olly Betts <olly@survex.com>
24910
24911	* api/omtermlistiterator.cc,api/omvalueiterator.cc,
24912	  backends/multi/multi_alltermslist.cc: Add explicit
24913	  `#include "omassert.h"'.
24914	* backends/multi/multi_alltermslist.cc: Remove all explicit
24915	  std:: qualifiers and add `using namespace std;'.
24916
24917Tue May 01 20:56:10 BST 2007  Olly Betts <olly@survex.com>
24918
24919	* common/multialltermslist.h: Add explicit std:: qualifiers for
24920	  string, for consistency with std::vector in this header.
24921
24922Tue May 01 15:19:53 BST 2007  Olly Betts <olly@survex.com>
24923
24924	* matcher/branchpostlist.h: Don't check for NULL pointer before
24925	  calling delete.
24926
24927Tue May 01 02:29:10 BST 2007  Olly Betts <olly@survex.com>
24928
24929	* common/document.h,common/documentterm.h,common/multialltermslist.h,
24930	  matcher/rset.cc,queryparser/queryparser.cc: Add some explicit
24931	  includes for headers which were previously only implicitly included
24932	  (in preparation for a forthcoming change which removes some of the
24933	  implicit inclusions).
24934
24935Tue May 01 01:20:53 BST 2007  Olly Betts <olly@survex.com>
24936
24937	* backends/database.cc,bin/quartzcheck.cc,docs/deprecation.rst,
24938	  include/xapian/dbfactory.h,tests/api_db.cc,
24939	  tests/harness/backendmanager.cc,tests/quartztest.cc: Deprecate
24940	  the Quartz backend and related functions and utilities.
24941
24942Fri Apr 27 12:56:13 BST 2007  Olly Betts <olly@survex.com>
24943
24944	* tests/Makefile.am: Pass '-no-install' when linking test programs,
24945	  since we don't ever install them.  This means libtool doesn't need
24946	  to generate shell script wrappers on most platforms.  Also prefer
24947	  '$(ldflags)' to '@ldflags' as the former allows the user to override
24948	  when they run 'make' which is sometimes useful.
24949
24950Fri Apr 27 03:44:15 BST 2007  Olly Betts <olly@survex.com>
24951
24952	* docs/intro_ir.html: Add links for the various researchers mentioned
24953	  by name.
24954
24955Thu Apr 26 17:57:10 BST 2007  Olly Betts <olly@survex.com>
24956
24957	* docs/bm25.html,docs/intro_ir.html: Assorted documentation
24958	  improvements.
24959
24960Thu Apr 26 15:43:24 BST 2007  Richard Boulton <richard@lemurconsulting.com>
24961
24962	* docs/deprecation.rst: Update with changes to Python bindings.
24963
24964Thu Apr 26 06:01:45 BST 2007  Olly Betts <olly@survex.com>
24965
24966	* common/expandweight.h,matcher/expandweight.cc: Better handling of
24967	  expand with multiple databases.
24968
24969Wed Apr 25 18:35:13 BST 2007  Olly Betts <olly@survex.com>
24970
24971	* api/omenquire.cc: Delete nonsensical comment.
24972
24973Wed Apr 25 17:41:58 BST 2007  Olly Betts <olly@survex.com>
24974
24975	* docs/deprecation.rst: Use the collective term "features" rather than
24976	  overloading the term "functions".  Casual readers may miss the
24977	  definition altogether, and even dedicated readers will probably
24978	  already have a strong mental image of what a "function" is in the
24979	  context of an API.
24980
24981Wed Apr 25 14:52:11 BST 2007  Olly Betts <olly@survex.com>
24982
24983	* docs/intro_ir.html: Improve the look of the formulae.
24984
24985Wed Apr 25 03:56:18 BST 2007  Olly Betts <olly@survex.com>
24986
24987	* common/omqueryinternal.h,languages/generate-allsnowballheaders.in,
24988	  matcher/msetcmp.h,queryparser/queryparser_internal.h: Add missing
24989	  multiple inclusion guards.
24990
24991Wed Apr 25 03:12:50 BST 2007  Olly Betts <olly@survex.com>
24992
24993	* queryparser/queryparser_internal.h: Don't include <config.h> in
24994	  a header file.
24995
24996Wed Apr 25 03:05:09 BST 2007  Olly Betts <olly@survex.com>
24997
24998	* queryparser/queryparser.cc: Initialise `internal' member inline
24999	  for consistency with other classes.
25000
25001Tue Apr 24 04:55:45 BST 2007  Olly Betts <olly@survex.com>
25002
25003	* configure.ac: Add missing ')' to the error messages when zlib stuff
25004	  isn't found.
25005
25006Tue Apr 24 02:56:57 BST 2007  Olly Betts <olly@survex.com>
25007
25008	* backends/flint/flint_database.h,
25009	  backends/inmemory/inmemory_database.h,
25010	  backends/quartz/quartz_database.h: MSVC doesn't handle using
25011	  properly.
25012
25013Tue Apr 24 01:25:34 BST 2007  Olly Betts <olly@survex.com>
25014
25015	* matcher/bm25weight.cc,matcher/expandweight.cc: Fix typo in comments:
25016	  'releveant' -> 'relevant'.
25017
25018Mon Apr 23 23:00:23 BST 2007  Olly Betts <olly@survex.com>
25019
25020	* api/omenquire.cc,docs/deprecation.rst,include/xapian/enquire.h,
25021	  tests/api_anydb.cc,tests/api_db.cc: Deprecate
25022	  Enquire::include_query_terms and Enquire::use_exact_termfreq in
25023	  favour of capitalised versions Enquire::INCLUDE_QUERY_TERMS and
25024	  Enquire::USE_EXACT_TERMFREQ (for consistency with our other
25025	  manifest constants, and general C/C++ conventions).
25026
25027Mon Apr 23 18:14:20 BST 2007  Olly Betts <olly@survex.com>
25028
25029	* backends/flint/flint_table.cc,backends/quartz/btree.cc: Support for
25030	  VLAs in C++ is a GCC extension, so eliminate the need for them.
25031
25032Mon Apr 23 16:32:07 BST 2007  Olly Betts <olly@survex.com>
25033
25034	* docs/: svn:ignore deprecation.html. svn:ignore apidoc.pdf and
25035	  sourcedoc.pdf rather than *.pdf.
25036
25037Mon Apr 23 16:08:53 BST 2007  Olly Betts <olly@survex.com>
25038
25039	* tests/quartztest.cc: Resolve FIXME about MapTermList.
25040
25041Mon Apr 23 16:06:38 BST 2007  Olly Betts <olly@survex.com>
25042
25043	* api/valuerangeproc.cc,backends/flint/flint_check.cc,
25044	  backends/flint/flint_table.cc,backends/quartz/btree.cc,
25045	  backends/quartz/btreecheck.cc,bin/xapian-tcpsrv.cc,examples/,
25046	  languages/steminternal.h,tests/harness/testsuite.cc,
25047	  tests/harness/testsuite.h,tests/stemtest.cc: Fix compilation with
25048	  GCC 4.3 snapshot.
25049
25050Mon Apr 23 15:20:55 BST 2007  Olly Betts <olly@survex.com>
25051
25052	* common/safeunistd.h: Comment tweaks.
25053
25054Mon Apr 23 11:54:14 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25055
25056	* common/safeunistd.h: Include <process.h> on windows to get
25057	  getpid() instead of using a #define.
25058
25059Mon Apr 23 11:30:56 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25060
25061	* api/maptermlist.h: Fix typo in error message.
25062
25063Mon Apr 23 11:08:01 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25064
25065	* api/maptermlist.h: Throw an InvalidOperationError() if
25066	  MapTermList::get_termfreq() is called, instead of simply having
25067	  Assert(false): this gets called if a term iterator is accessed
25068	  for a freshly created Document, and the get_termfreq() method is
25069	  called on it.  The error message is specific to this situation,
25070	  since this is the only place in which MapTermList is used.
25071
25072Mon Apr 23 03:22:54 BST 2007  Olly Betts <olly@survex.com>
25073
25074	* backends/flint/flint_database.cc,backends/flint/flint_lock.cc,
25075	  backends/flint/flint_lock.h: Report why we failed to get a write
25076	  lock on a flint database.
25077
25078Mon Apr 23 01:44:13 BST 2007  Olly Betts <olly@survex.com>
25079
25080	* backends/flint/flint_version.cc: Update the flint format version
25081	  since older flint versions can't read compressed tags.
25082
25083Mon Apr 23 01:25:25 BST 2007  Olly Betts <olly@survex.com>
25084
25085	* configure.ac: Probe for zlib.h and -lz.
25086	* backends/flint/,bin/xapian-compact.cc: Use zlib to compress tags
25087	  in the record and termlist tables.
25088	* tests/Makefile.am,tests/runtest.in,tests/valgrind.supp: Add a
25089	  valgrind suppression for zlib (a known issue - for speed zlib
25090	  deliberately reads past the end of the buffer in some cases).
25091
25092Sun Apr 22 04:24:06 BST 2007  Olly Betts <olly@survex.com>
25093
25094	* backends/flint/: Remove documentation for blocksize_ parameters
25095	  which were removed some time ago.
25096
25097Sun Apr 22 00:02:13 BST 2007  Olly Betts <olly@survex.com>
25098
25099	* matcher/multimatch.cc: Track the minimum weight required to be
25100	  considered for the MSet separately from the minimum item which
25101	  could be considered.  Trying to combine the two is causing subtle
25102	  bugs (fixed bug#86).
25103
25104Sun Apr 22 00:00:39 BST 2007  Olly Betts <olly@survex.com>
25105
25106	* HACKING: Add notes about the files Omega uses from xapian-core.
25107
25108Sat Apr 21 23:49:58 BST 2007  Olly Betts <olly@survex.com>
25109
25110	* queryparser/queryparser.cc: Clear the stoplist when we parse a new
25111	  query.
25112	* tests/queryparsertest.cc: Add regression test.
25113
25114Sat Apr 21 23:27:33 BST 2007  Olly Betts <olly@survex.com>
25115
25116	* Makefile.am,common/Makefile.mk,getopt/: Move getopt.cc from getopt/
25117	  to common/.  Having a whole directory for a single source file
25118	  is a bit extravagant, and putting it in common/ allows us to share a
25119	  copy with omega easily.
25120
25121Sat Apr 21 21:38:20 BST 2007  Olly Betts <olly@survex.com>
25122
25123	* backends/flint/flint_database.cc,backends/quartz/quartz_database.cc,
25124	  backends/quartz/quartz_log.cc,common/omdebug.h,common/safeunistd.h,
25125	  tests/harness/testsuite.cc: safeunistd.h now defines getpid() to
25126	  GetCurrentProcessId() for MSVC, and we now include this where we
25127	  want to use getpid() rather than conditionally defining getpid().
25128
25129Sat Apr 21 04:13:12 BST 2007  Olly Betts <olly@survex.com>
25130
25131	* configure.ac: Explicitly set AM_CXXFLAGS to an empty value to start
25132	  with to avoid issues if it's set in the environment.  Cache the
25133	  results of the test to see if the C++ compiler actually works, and
25134	  in the XAPIAN_TEST_LINKER_FLAG macro.
25135	* configure.ac, include/xapian/visibility.h: Add --disable-visibility
25136	  option to configure to completely disable use of -fvisibility.
25137	* INSTALL: Document all --enable-backend-* options explicitly.
25138	  Document how to disable use of -fvisibility and
25139	  -Bsymbolic-functions should you want/need to.  Improve wording in
25140	  a few places.
25141
25142Fri Apr 20 19:20:23 BST 2007  Olly Betts <olly@survex.com>
25143
25144	* HACKING,configure.ac: Revert to requiring autoconf 2.59 so that the
25145	  .spec file for building RPMs can run `autoreconf' to work around a
25146	  libtool bug.
25147
25148Fri Apr 20 18:12:51 BST 2007  Olly Betts <olly@survex.com>
25149
25150	* docs/deprecation.rst: Document return type of ExpandDecider::Apply()
25151	  and MatchDecider::Apply() in C# is now bool instead of int.
25152
25153Fri Apr 20 18:01:18 BST 2007  Olly Betts <olly@survex.com>
25154
25155	* xapian.spec.in: Package xapian-check and its man page.
25156
25157Fri Apr 20 14:38:00 BST 2007  Olly Betts <olly@survex.com>
25158
25159	* docs/deprecation.rst: Note changed return type of
25160	  ExpandDecider::operator() and MatchDecider::operator().
25161
25162Fri Apr 20 14:28:39 BST 2007  Olly Betts <olly@survex.com>
25163
25164	* include/xapian/enquire.h: MatchDecider::operator() now returns
25165	  `bool' not `int'.  Remove declaraction of ExpandDecider.
25166	* include/xapian/expanddecider.h: Move declaration of ExpandDecider
25167	  to here.  ExpandDecider::operator() now returns `bool' not `int'.
25168	  ExpandDeciderAnd now names parameters `first' and `second' and
25169	  documents the order in which they are applied (useful if you have
25170	  an expensive and a cheap test).  ExpandDeciderAnd can now take
25171	  parameters by reference instead of pointer.
25172	* api/Makefile.mk,include/xapian/enquire.h,api/omenquire.cc,
25173	  api/expanddecider.cc: New home for definitions of virtual methods of
25174	  ExpandDecider and subclasses.
25175	* api/omenquire.cc,common/expand.h,matcher/expand.cc: Eliminate
25176	  internal class ExpandDeciderAlways - just test pointer against NULL
25177	  instead.
25178	* tests/api_anydb.cc,tests/api_db.cc: Update for change in return
25179	  type from MatchDecider::operator() and ExpandDecider::operator().
25180
25181Fri Apr 20 10:35:09 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25182
25183	* HACKING: Add note on rules with multiple targets.
25184
25185Thu Apr 19 19:02:42 BST 2007  Olly Betts <olly@survex.com>
25186
25187	* PLATFORMS: Remove reports for 0.7.* and demote reports for 0.8.* to
25188	  "older reports" status.  All SF compilefarm machines are now "no
25189	  longer available", so update the symbols and key to reflect this.
25190
25191Thu Apr 19 13:27:59 BST 2007  Olly Betts <olly@survex.com>
25192
25193	* HACKING: Fix vim magic comment.  Add space after URL to stop
25194	  '::' getting glued to it.
25195
25196Thu Apr 19 11:36:19 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25197
25198	* HACKING: Turn syntax highlighting off, since it's broken for the
25199	  restructured text in this file anyway.
25200
25201Thu Apr 19 03:26:28 BST 2007  Olly Betts <olly@survex.com>
25202
25203	* backends/flint/flint_database.h,
25204	  backends/inmemory/inmemory_database.h,
25205	  backends/quartz/quartz_database.h:
25206	  The trick of importing base class methods with 'using' breaks
25207	  compilation with GCC 2.95 which doesn't issue the warning we're
25208	  trying to avoid, so add a preprocessor check,
25209
25210Thu Apr 19 03:20:31 BST 2007  Olly Betts <olly@survex.com>
25211
25212	* common/progclient.h,net/progclient.cc: Always use pid_t not int for
25213	  holding a process id.
25214
25215Thu Apr 19 01:08:57 BST 2007  Olly Betts <olly@survex.com>
25216
25217	* docs/deprecation.rst: Update '#callable' footnote.
25218
25219Thu Apr 19 00:07:02 BST 2007  Olly Betts <olly@survex.com>
25220
25221	* backends/flint/flint_database.h,
25222	  backends/inmemory/inmemory_database.h,
25223	  backends/quartz/quartz_database.h: Add using declarations to
25224	  subclasses of Xapian::Database::Internal which don't override the
25225	  term forms of delete_document() and replace_document() to prevent
25226	  compiler warnings about these methods being hidden.
25227
25228Wed Apr 18 23:22:29 BST 2007  Olly Betts <olly@survex.com>
25229
25230	* net/remoteconnection.cc: Remove code which can't actually be
25231	  reached, which fixes a warning in the mingw build.
25232
25233Wed Apr 18 23:07:45 BST 2007  Olly Betts <olly@survex.com>
25234
25235	* api/omenquire.cc,common/multimatch.h,common/omenquireinternal.h,
25236	  include/xapian/enquire.h,matcher/Makefile.mk,
25237	  matcher/biaspostlist.h,matcher/multimatch.cc,net/remoteserver.cc:
25238	  Remove Enquire::set_bias().
25239	* docs/deprecation.rst: Update wrt Enquire::set_bias().  Fix typo.
25240
25241Wed Apr 18 18:51:42 BST 2007  Olly Betts <olly@survex.com>
25242
25243	* configure.ac: Require autoconf 2.60 or newer.  Drop docdir
25244	  compatibility hack which is no longer required.
25245	* HACKING: Document requirement.  Fix typo (or out-of-date info) for
25246	  automake requirement (we require 1.9.5 not 1.8.5).
25247
25248Wed Apr 18 18:27:35 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25249
25250	* docs/deprecation.rst: Note the deprecation of get_description()
25251	  methods for Python.
25252
25253Wed Apr 18 14:57:03 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25254
25255	* HACKING: Minimal changes to make this into valid restructured
25256	  text.
25257
25258Wed Apr 18 11:27:57 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25259
25260	* configure.ac: Require autoconf version 2.59c or later:
25261	  AC_TYPE_SSIZE_T isn't present in earlier versions.
25262
25263Wed Apr 18 11:08:13 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25264
25265	* docs/deprecation.rst: Fix table formatting error
25266
25267Wed Apr 18 01:32:48 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25268
25269	* docs/deprecation.rst: Update with methods which have been removed
25270	  from the bindings.
25271
25272Wed Apr 18 00:24:00 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25273
25274	* docs/deprecation.rst: Move methods which have just been removed
25275	  from the list of deprecated methods to the list of removed
25276	  methods.
25277
25278Tue Apr 17 23:58:53 BST 2007  Olly Betts <olly@survex.com>
25279
25280	* api/omdocument.cc,api/omenquire.cc,api/omquery.cc,include/xapian/,
25281	  languages/stem.cc,tests/api_db.cc: Remove methods we're deprecating
25282	  for 1.0.
25283
25284Tue Apr 17 23:50:06 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25285
25286	* docs/deprecation.rst: Note that is_empty() is not deprecated for
25287	  PHP after all!
25288
25289Tue Apr 17 22:17:41 BST 2007  Olly Betts <olly@survex.com>
25290
25291	* queryparser/queryparser.lemony: GCC 2.95 doesn't support
25292	  std::string::clear(), so use resize(0) instead.
25293	* HACKING: Document the above issue in a reworked section on C++
25294	  STL features.  Update the section on safeXXX.h headers.
25295
25296Tue Apr 17 22:07:39 BST 2007  Olly Betts <olly@survex.com>
25297
25298	* common/safesysselect.h: Correct typo in #error message.
25299
25300Tue Apr 17 19:18:00 BST 2007  Olly Betts <olly@survex.com>
25301
25302	* configure.ac: Factor out code to test for a linker flag into macro
25303	  XAPIAN_TEST_LINKER_FLAG.  With g++, use XAPIAN_TEST_LINKER_FLAG to
25304	  see if -Bsymbolic-functions is supported (it requires a very recent
25305	  version of ld currently).  This option reduces the size and load
25306	  time of the shared library by resolving references within the
25307	  library when it's created.  Currently untested on a box which
25308	  supports -Bsymbolic-functions.
25309
25310Tue Apr 17 12:01:46 BST 2007  Olly Betts <olly@survex.com>
25311
25312	* unicode/utf8itor.cc: Tidy up code layout.
25313
25314Tue Apr 17 02:06:39 BST 2007  Olly Betts <olly@survex.com>
25315
25316	* include/xapian/unicode.h,unicode/utf8itor.cc: Make nonascii_to_utf8
25317	  a public method.  Make get_case_type(), get_category(), and
25318	  get_delta() internal, but provide a public get_category() function
25319	  which takes a Unicode character value.
25320
25321Tue Apr 17 02:05:32 BST 2007  Olly Betts <olly@survex.com>
25322
25323	* backends/flint/Makefile.mk: Distribute flint_check.h.
25324
25325Tue Apr 17 01:47:05 BST 2007  Olly Betts <olly@survex.com>
25326
25327	* tests/api_posdb.cc: The remote backend now supports all database
25328	  operations, so merge localpositionaldb_tests into
25329	  positionaldb_tests.
25330	* tests/: Remove the trivial separate api_XXXdb.h headers, some of
25331	  which were out-of-step with their respective .cc sources.  Instead
25332	  just keep the array external declarations in apitest.h.
25333	* tests/apitest.h,tests/api_transdb.cc: Move TESTCASE and
25334	  END_OF_TESTCASES macros into header.
25335	* tests/api_db.cc: Remove test collapsekey2 - it's only relevant for
25336	  the Muscat 3.6 backend, so it's unused now that has been removed.
25337	* tests/: Add unicode tests, adapted from Omega's utftest.
25338
25339Tue Apr 17 00:14:16 BST 2007  Olly Betts <olly@survex.com>
25340
25341	* Makefile.am,include/Makefile.mk,include/xapian.h,
25342	  include/xapian/unicode.h,queryparser/,unicode/: Expose Unicode and
25343	  UTF-8 related classes and functions as a public API.
25344
25345Mon Apr 16 16:06:22 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25346
25347	* docs/deprecation.rst: Bring document fully up-to-date, listing
25348	  all the planned deprecations for the bindings.  Also, include the
25349	  full upgrade notes in the listings, so they can be preserved
25350	  accessibly for posterity.  I even retrieved the notes for the
25351	  already-removed QueryParser::set_stemming_options from 0.9.10.
25352
25353Mon Apr 16 11:36:18 BST 2007  Olly Betts <olly@survex.com>
25354
25355	* net/tcpclient.cc: Call WSAGetLastError() instead of socket_errno()
25356	  when we want to compare the result against WSAEWOULDBLOCK.
25357
25358Mon Apr 16 11:19:21 BST 2007  Olly Betts <olly@survex.com>
25359
25360	* common/remoteconnection.h,common/safewinsock2.h: Need to negate the
25361	  POSIX error codes we define in terms of winsock ones.
25362
25363Fri Apr 13 16:24:29 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25364
25365	* docs/doxygen_api_conf.in: Turn on XML output, so that we can use
25366	  it to populate docstrings for the python bindings.
25367
25368Fri Apr 13 11:38:39 BST 2007  Olly Betts <olly@survex.com>
25369
25370	* backends/Makefile.mk,backends/alltermslist.cc,common/alltermslist.h:
25371	  Split AllTermsList into header and code.  AllTermsList::get_wdf()
25372	  now throws InvalidOperationError() rather than asserting in a
25373	  debug build and returning 0 in a non-debug build.
25374	* backends/Makefile.mk: Correct list for "how to add a new backend".
25375
25376Fri Apr 13 10:17:46 BST 2007  Olly Betts <olly@survex.com>
25377
25378	* api/version.cc: Simpler and cleaner fix - the prototypes for the
25379	  version functions had moved from xapian/version.h to xapian.h so we
25380	  were including the wrong header and not seeing the prototypes with
25381	  visibility markup!
25382
25383Fri Apr 13 09:29:17 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25384
25385	* api/version.cc: Add visibility annotations to definitions of
25386	  version functions: the annotation apparently needs to be applied
25387	  to the definition as well as the declaration or it is ignored:
25388	  possibly the annotation on the declaration is ignored anyway,
25389	  but it should be kept there for documentation purposes in any
25390	  case.  Fixes link error with bindings under gcc 4.1.
25391
25392Fri Apr 13 01:39:57 BST 2007  Olly Betts <olly@survex.com>
25393
25394	* common/remoteconnection.h,net/progclient.cc,net/remoteconnection.cc:
25395	  GetLastError() has an unsigned return type, so need to cast to int
25396	  before negating.
25397
25398Fri Apr 13 01:39:20 BST 2007  Olly Betts <olly@survex.com>
25399
25400	* docs/deprecation.rst: Add xapian_version_string() and friends.
25401
25402Fri Apr 13 01:24:53 BST 2007  Olly Betts <olly@survex.com>
25403
25404	* tests/api_nodb.cc: More 'tout' output.
25405
25406Fri Apr 13 01:19:20 BST 2007  Olly Betts <olly@survex.com>
25407
25408	* api/Makefile.mk,api/error.cc,bin/xapian-tcpsrv.cc,
25409	  common/remoteconnection.h,common/safeerrno.h,configure.ac,
25410	  generate-exceptions.in,net/,tests/harness/testsuite.cc: On
25411	  MS Windows, if Xapian::Error::my_errno is the result of
25412	  GetLastError() or WSAGetLastError(), negate it (the error codes can
25413	  overlap with errno codes).  On UNIX, put h_errno negated in my_errno
25414	  if a call to gethostbyname() fails.  Add
25415	  Xapian::Error::get_error_string() method which decodes my_errno
25416	  in the appropriate way to give a string, and use this instead of
25417	  strerror(error.get_errno()).
25418
25419Fri Apr 13 01:17:08 BST 2007  Olly Betts <olly@survex.com>
25420
25421	* languages/generate-allsnowballheaders.in: win32 makefiles don't keep
25422	  the snowball header list in sorted order like we do, so fix that
25423	  here.  Also allow for '\' as path separator.
25424
25425Fri Apr 13 00:58:09 BST 2007  Olly Betts <olly@survex.com>
25426
25427	* tests/api_nodb.cc: Add "tout" debug output to stemlangs1.
25428
25429Thu Apr 12 21:37:04 BST 2007  Olly Betts <olly@survex.com>
25430
25431	* tests/Makefile.am: Add support for QUIET= and QUIET=y arguments to
25432	  "make".
25433
25434Thu Apr 12 21:35:50 BST 2007  Olly Betts <olly@survex.com>
25435
25436	* docs/Makefile.am: Use a substitution for RSTHTML (like we do for the
25437	  snowball generated sources).
25438
25439Thu Apr 12 20:41:18 BST 2007  Olly Betts <olly@survex.com>
25440
25441	* api/omqueryinternal.cc: Add validate_query() calls to the "term" and
25442	  "value range" constructors.
25443
25444Thu Apr 12 20:00:14 BST 2007  Olly Betts <olly@survex.com>
25445
25446	* api/omqueryinternal.cc,include/xapian/query.h: Only validate a
25447	  Query object when it's either constructed or changed to avoid O(n^2)
25448	  behaviour in some cases.
25449
25450Thu Apr 12 19:59:13 BST 2007  Olly Betts <olly@survex.com>
25451
25452	* queryparser/lemon.c: Fix nasty function casting for argument to
25453	  qsort - it's (at least technically) not portable.
25454
25455Thu Apr 12 17:47:47 BST 2007  Olly Betts <olly@survex.com>
25456
25457	* configure.ac: Fix GCC version test to only turn on
25458	  -fvisibility=hidden for GCC >= 4.
25459
25460Thu Apr 12 16:47:56 BST 2007  Olly Betts <olly@survex.com>
25461
25462	* backends/flint/flint_btreebase.h,backends/flint/flint_cursor.h,
25463	  backends/flint/flint_table.h,backends/quartz/,common/,configure.ac,
25464	  generate-exceptions.in,include/Makefile.mk,include/xapian.h,
25465	  include/xapian/: Add visibility annotations to the library, which
25466	  when using GCC >= 4 reduces the size and load time of the library
25467	  and increase the runtime speed a little.  Under x86_64, the stripped
25468	  library is 6.4% smaller (1.5% smaller with debug information).
25469
25470Thu Apr 12 16:45:57 BST 2007  Olly Betts <olly@survex.com>
25471
25472	* api/version.cc: Add missing "#include <config.h>".
25473
25474Thu Apr 12 13:41:52 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25475
25476	* tests/quartztest.cc: Put removedir() function back for now to fix
25477	  build.
25478
25479Thu Apr 12 13:02:30 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25480
25481	* net/progclient.cc: Some (but not all) versions of MSVC need
25482	  "#include <io.h>" to get the _open_osfhandle identifier.  Add it.
25483
25484Thu Apr 12 12:00:34 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25485
25486	* backends/remote/net_postlist.cc: Include config.h
25487
25488Thu Apr 12 11:54:50 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25489
25490	* backends/multi/multi_termlist.cc: Include config.h to get system
25491	  specific defines.
25492	* common/safesysstat.h: Change signature of mkdir to take mode_t
25493	  instead of int, to match unixy definition.
25494
25495Thu Apr 12 10:19:49 BST 2007  Olly Betts <olly@survex.com>
25496
25497	* configure.ac: Probe for mode_t.
25498
25499Thu Apr 12 01:10:18 BST 2007  Olly Betts <olly@survex.com>
25500
25501	* backends/flint/flint_positionlist.cc: Move BitReader class inside
25502	  Xapian namespace to avoid namespace pollution.
25503	* bin/xapian-check.cc: Include BitReader::decode_interpolative()
25504	  - previously we were relying on using the copy from the library.
25505
25506Thu Apr 12 01:02:53 BST 2007  Olly Betts <olly@survex.com>
25507
25508	* common/safesysstat.h: Under __WIN32__, provide a POSIX-like mkdir()
25509	  wrapper which takes 2 arguments, but ignores the file mode, so we
25510	  can just call mkdir with a mode argument everywhere.
25511	* common/utils.h: Remove special case handling of mkdir.
25512	* bin/xapian-compact.cc: Replace uses of om_tostring() with a call
25513	  to sprintf.  No longer need to `#include "utils.h"'.
25514
25515Thu Apr 12 00:44:18 BST 2007  Olly Betts <olly@survex.com>
25516
25517	* api/,backends/inmemory/inmemory_positionlist.cc,common/,matcher/,
25518	  net/remoteconnection.cc,net/serialise.cc: omdebug.h only includes
25519	  omassert.h for the trivial "STRINGIZE" macro, so just duplicate
25520	  that rather than pulling in an extra header everywhere.  Then fix
25521	  up the two dozen files which were relying on this implicit
25522	  inclusion!
25523
25524Thu Apr 12 00:10:48 BST 2007  Olly Betts <olly@survex.com>
25525
25526	* tests/harness/testsuite.cc: Tweak #ifdef XAPIAN_DEBUG_VERBOSE to
25527	  include DEBUGLINE() for clarity (no change in behaviour).
25528
25529Wed Apr 11 23:36:10 BST 2007  Olly Betts <olly@survex.com>
25530
25531	* queryparser/queryparser.lemony: Fix regression introduced by
25532	  Richard's change, and restructure to make the handling for each case
25533	  more obvious.
25534	* tests/queryparsertest.cc: Add a couple of testcases for the
25535	  regression.
25536	* queryparser/queryparser_internal.h: Remove reference to "bool" in
25537	  comment which no longer applies.
25538
25539Wed Apr 11 21:25:36 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25540
25541	* queryparser/queryparser_internal.h: Refactor boolean "flag"
25542	  member in BoolAndString class into an enum of possible prefix
25543	  types.  Rename "flag" to "type".  Rename BoolAndString to
25544	  PrefixInfo.
25545	* queryparser/queryparser.cc: Change add_prefix() and
25546	  add_boolean_prefix() to match changes to queryparser_internal.h
25547	* queryparser/queryparser.lemony: Refactor handling of prefixed
25548	  terms to match queryparser_internal, and to use a switch()
25549	  structure: no functional changes, but code is considerably more
25550	  readable (I hope).
25551
25552Wed Apr 11 21:13:31 BST 2007  Olly Betts <olly@survex.com>
25553
25554	* tests/api_db.cc,tests/quartztest.cc: Rework quartztest's "open1"
25555	  into API level tests for quartz and flint in apitest.
25556
25557Wed Apr 11 14:01:31 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25558
25559	* docs/deprecation.rst: Remove documentation of the "#define
25560	  XAPIAN_DEPRECATED(D) D" hack, and clarify documentation on how
25561	  long we support deprecated functions.
25562
25563Wed Apr 11 09:25:55 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25564
25565	* docs/Makefile.am,docs/deprecation.rst: Add initial draft of
25566	  deprecation policy document, with list of all API items currently
25567	  marked for deprecation.
25568	* HACKING: Add note about keeping deprecation.rst up-to-date when
25569	  making a release.
25570
25571Tue Apr 10 19:07:24 BST 2007  Olly Betts <olly@survex.com>
25572
25573	* configure.ac: --enable-quiet now uses AS_HELP_STRING.
25574
25575Tue Apr 10 18:53:32 BST 2007  Olly Betts <olly@survex.com>
25576
25577	* tests/harness/index_utils.cc: Return the empty document we already
25578	  have rather than constructing another.
25579
25580Tue Apr 10 17:45:11 BST 2007  Olly Betts <olly@survex.com>
25581
25582	* net/remoteconnection.cc: Fix typo in comment.
25583
25584Tue Apr 10 17:35:57 BST 2007  Olly Betts <olly@survex.com>
25585
25586	* tests/harness/backendmanager.cc: Fix "if" to "is" typo in 3
25587	  comments.
25588
25589Tue Apr 10 16:46:09 BST 2007  Olly Betts <olly@survex.com>
25590
25591	* tests/harness/backendmanager.cc: Define XAPIAN_TCPSRV and
25592	  XAPIAN_PROGSRV under UNIX too, and use them everywhere.
25593
25594Tue Apr 10 16:33:48 BST 2007  Olly Betts <olly@survex.com>
25595
25596	* tests/harness/backendmanager.h: Remove "BackendManager::" from
25597	  method declaration.
25598
25599Tue Apr 10 15:35:50 BST 2007  Olly Betts <olly@survex.com>
25600
25601	* configure.ac: Define HAVE_SOCKETPAIR if we have socketpair().
25602
25603Tue Apr 10 15:29:49 BST 2007  Olly Betts <olly@survex.com>
25604
25605	* net/progclient.cc: Fix #endif placement so it compiles on UNIX.
25606
25607Tue Apr 10 14:18:06 BST 2007  Olly Betts <olly@survex.com>
25608
25609	* net/remoteconnection.cc: Remove debugging code.
25610
25611Tue Apr 10 12:57:51 BST 2007  Olly Betts <olly@survex.com>
25612
25613	* backends/dbfactory_remote.cc,common/progclient.h,net/progclient.cc,
25614	  net/remoteconnection.cc,tests/api_db.cc,tests/apitest.cc,
25615	  tests/harness/backendmanager.cc,tests/harness/backendmanager.h:
25616	  Add support for the "prog" variant of the remote backend (patch
25617	  started by me, finished by Mark Hammond).
25618
25619Tue Apr 10 12:23:46 BST 2007  Olly Betts <olly@survex.com>
25620
25621	* api/omqueryinternal.cc,backends/inmemory/inmemory_database.cc,
25622	  backends/quartz/quartz_alldocspostlist.cc,matcher/localmatch.cc,
25623	  matcher/multimatch.cc,tests/harness/testutils.cc: Prefer
25624	  `CONTAINER.empty()' to `CONTAINER.size() == 0'.
25625
25626Tue Apr 10 12:09:45 BST 2007  Olly Betts <olly@survex.com>
25627
25628	* api/omqueryinternal.cc: Tighten up an assertion.
25629
25630Mon Apr 09 20:56:23 BST 2007  Olly Betts <olly@survex.com>
25631
25632	* configure.ac,tests/harness/backendmanager.cc,tests/runsrv.in,
25633	  tests/runtest.in: Run the remote backend server using new "runsrv"
25634	  script instead of "runtest".  This doesn't echo anything to stdout,
25635	  and if valgrind is in use, runs the remote server under
25636	  "--tool=none" which is much quicker than using valgrind's default
25637	  memcheck tool (we need to run the remote server under valgrind
25638	  because valgrind's emulation of excess FP precision isn't exact and
25639	  otherwise we get tests failing because of these differences).
25640
25641Mon Apr 09 20:24:30 BST 2007  Olly Betts <olly@survex.com>
25642
25643	* tests/api_anydb.cc,tests/api_nodb.cc: Move test poscollapse2 to the
25644	  "no database" category, since it doesn't require a database!
25645
25646Mon Apr 09 18:04:40 BST 2007  Olly Betts <olly@survex.com>
25647
25648	* docs/remote_protocol.html: Correct documentation - MSG_REOPEN gives
25649	  a response of REPLY_UPDATE.
25650
25651Mon Apr 09 15:08:44 BST 2007  Olly Betts <olly@survex.com>
25652
25653	* ./: svn:eol-style not svn:eolstyle.
25654
25655Mon Apr 09 15:00:30 BST 2007  Olly Betts <olly@survex.com>
25656
25657	* ./: Set svn:eolstyle to native for most text files.
25658
25659Mon Apr 09 14:50:40 BST 2007  Olly Betts <olly@survex.com>
25660
25661	* backends/flint/flint_database.cc: Delete the corresponding entry
25662	  (if any) from doclens in delete_document().  Add assertion to
25663	  add_document_() that the corresponding entry in doclens isn't
25664	  already set, but in a non-debug build overwrite any existing
25665	  entry as that's more likely to be correct.
25666	* backends/quartz/quartz_database.cc: Ditto.
25667
25668Mon Apr 09 14:08:55 BST 2007  Olly Betts <olly@survex.com>
25669
25670	* backends/quartz/quartz_database.cc: Just assign to doclens[did].
25671
25672Mon Apr 09 14:06:58 BST 2007  Olly Betts <olly@survex.com>
25673
25674	* backends/flint/flint_database.cc: Just assign to doclens[did].
25675
25676Mon Apr 09 11:29:22 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25677
25678	* backends/quartz/quartz_database.cc: Apply same change to quartz.
25679
25680Mon Apr 09 11:24:31 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25681
25682	* backends/flint/flint_database.cc: Fix bug with document lengths
25683	  in replace document.  Was using doclens.insert() to set the new
25684	  document length, but this has no effect if the entry already
25685	  exists.  This fixes replacedoc3 for flint (and thus for remote
25686	  databases), but the same change is needed for quartz.
25687	* backends/flint/flint_postlist.cc: Add some debugging lines.
25688
25689Mon Apr 09 01:43:02 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25690
25691	* backends/flint/: Add some more debugging messages to help track
25692	  down the problem with document lengths shown up by previous
25693	  change.
25694
25695Mon Apr 09 01:40:34 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25696
25697	* tests/api_wrdb.cc: Add asserts to check that the value of
25698	  get_doclength() on the database and on the posting list are
25699	  correct.  Currently fails with the value from the posting list
25700	  for the document which has been replaced (or sooner if assertions
25701	  are turned on).
25702
25703Sun Apr 08 23:24:20 BST 2007  Olly Betts <olly@survex.com>
25704
25705	* Makefile.am,configure.ac: `./configure --enable-quiet' allows you to
25706	  specify at configure time to pass `--quiet' to libtool.  Now you can
25707	  override this at make-time by using `make QUIET=' (to turn off
25708	  `--quiet') or `make QUIET=y' (to turn on `--quiet').
25709
25710Sun Apr 08 23:23:50 BST 2007  Olly Betts <olly@survex.com>
25711
25712	* HACKING: Mention AssertEqParanoid and AssertNeParanoid.
25713
25714Sun Apr 08 22:45:45 BST 2007  Olly Betts <olly@survex.com>
25715
25716	* common/omassert.h: Add AssertEqParanoid and AssertNeParanoid macros.
25717	* backends/flint/flint_table.cc,backends/inmemory/inmemory_database.cc,
25718	  backends/multi/multi_postlist.cc,backends/quartz/btree.cc: Use them.
25719	* backends/multi/multi_postlist.cc: Add extra assertions to
25720	  MultiPostList::get_doclength().
25721
25722Sun Apr 08 22:16:11 BST 2007  Olly Betts <olly@survex.com>
25723
25724	* configure.ac: Fix typos: `AC_CHECK_SSIZE_T' -> `AC_TYPE_SSIZE_T';
25725	  `AC_CHECK_PID_T' -> `AC_TYPE_PID_T'.
25726
25727Sun Apr 08 22:04:54 BST 2007  Olly Betts <olly@survex.com>
25728
25729	* HACKING: Snapshots and releases are now generated with autoconf 2.61.
25730
25731Sun Apr 08 21:42:03 BST 2007  Olly Betts <olly@survex.com>
25732
25733	* configure.ac: Use AC_CHECK_SSIZE_T instead of our own test.  Add
25734	  AC_CHECK_PID_T for any platforms which don't have `pid_t'.
25735	* net/tcpserver.cc: Use `pid_t' instead of `int'.
25736	* common/progclient.h,net/progclient.cc: Cleaner rewritten version of
25737	  progclient.h.
25738
25739Sun Apr 08 19:59:43 BST 2007  Olly Betts <olly@survex.com>
25740
25741	* backends/flint/flint_lock.cc: If kill() fails, don't bother calling
25742	  waitpid().
25743
25744Sun Apr 08 19:41:11 BST 2007  Olly Betts <olly@survex.com>
25745
25746	* net/remoteconnection.cc: Don't explicitly pass "0" for errno.
25747
25748Sun Apr 08 16:58:58 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25749
25750	* queryparser/queryparser.lt: Fix warnings in debugging builds on
25751	  gcc 4.1 due to comparison of signed and unsigned types.  Also,
25752	  use the ParseTokenName function instead of explicitly doing a
25753	  range check each time an entry is looked up in yyTokenName, and
25754	  add a ParseRuleName function for looking up things in yyRuleName,
25755	  and use it similarly.
25756
25757Sun Apr 08 15:55:42 BST 2007  Olly Betts <olly@survex.com>
25758
25759	* configure.ac: Fix lingering references to enable_debug.
25760
25761Sun Apr 08 15:48:13 BST 2007  Olly Betts <olly@survex.com>
25762
25763	* tests/api_anydb.cc,tests/api_wrdb.cc: Remove hacks to automatically
25764	  SKIP tests which failed because of lack of support for some features
25765	  by the remote backend.
25766
25767Sun Apr 08 15:14:11 BST 2007  Olly Betts <olly@survex.com>
25768
25769	* queryparser/queryparser.lemony,queryparser/queryparser.lt: More
25770	  tweaks.
25771
25772Sun Apr 08 15:04:49 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25773
25774	* queryparser/queryparser.lt: Always include "omdebug.h", and put
25775	  one of the pieces of debugging code in #ifdef
25776	  XAPIAN_DEBUG_VERBOSE, to fix non-logging message builds.
25777
25778Sun Apr 08 14:23:06 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25779
25780	* docs/remote_protocol.html: Update for protocol version 27 by
25781	  adding documentation for MSG_POSTLIST and replies.  Also, fix a
25782	  typo.
25783
25784Sun Apr 08 13:50:20 BST 2007  Olly Betts <olly@survex.com>
25785
25786	* common/omdebug.h,queryparser/queryparser.lemony,
25787	  queryparser/queryparser.lt: Hook the debug tracing in the lemon
25788	  generated parser into Xapian's debug logging framework.
25789
25790Sun Apr 08 12:35:29 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25791
25792	* backends/remote/,common/remote-database.h,common/remoteprotocol.h,
25793	  common/remoteserver.h,net/remoteserver.cc: Implement postlists
25794	  for the remote database.  Increases
25795	  XAPIAN_REMOTE_PROTOCOL_VERSION to 27.
25796
25797Sun Apr 08 12:33:02 BST 2007  Olly Betts <olly@survex.com>
25798
25799	* HACKING,INSTALL,configure.ac: Rename --enable-debug* - conflating the
25800	  options to "turn on assertions" and "turn on logging" still confuses
25801	  me to the extent I need to read the documentation every time I use
25802	  them.  `--enable-debug[=partial]' become `--enable-assertions';
25803	  `--enable-debug-verbose' becomes `--enable-log' and
25804	  `--enable-debug=full' becomes `--enable-assertions --enable-log'.
25805	  For now the old options give an error telling you the new
25806	  equivalent.
25807
25808Sun Apr 08 10:45:40 BST 2007  Olly Betts <olly@survex.com>
25809
25810	* configure.ac: Eliminate use_quiet - just use enable_quiet instead.
25811
25812Fri Apr 06 19:06:07 BST 2007  Olly Betts <olly@survex.com>
25813
25814	* net/progclient.cc: Close stderr of the spawned backend program.
25815
25816Fri Apr 06 18:59:24 BST 2007  Olly Betts <olly@survex.com>
25817
25818	* net/progclient.cc: msecs_timeout_ -> msecs_timeout.
25819
25820Fri Apr 06 18:12:36 BST 2007  Olly Betts <olly@survex.com>
25821
25822	* net/remoteconnection.cc: Fix comment grammar.
25823
25824Fri Apr 06 18:10:31 BST 2007  Olly Betts <olly@survex.com>
25825
25826	* net/remoteconnection.cc: Deal with the exceptional case first.
25827
25828Fri Apr 06 17:51:20 BST 2007  Olly Betts <olly@survex.com>
25829
25830	* net/remoteconnection.cc: Use string::append(ptr, size) in preference
25831	  to string::append(ptr, ptr + size).
25832
25833Fri Apr 06 11:45:39 BST 2007  Olly Betts <olly@survex.com>
25834
25835	* api/omqueryinternal.cc,backends/flint/flint_database.cc,
25836	  backends/flint/flint_database.h,backends/flint/flint_postlist.cc,
25837	  backends/inmemory/inmemory_database.cc,
25838	  backends/inmemory/inmemory_database.h,
25839	  backends/quartz/quartz_database.cc,backends/quartz/quartz_database.h,
25840	  backends/quartz/quartz_postlist.cc,
25841	  backends/remote/remote-database.cc,common/database.h,
25842	  common/remote-database.h: Refactor to eliminate do_open_post_list
25843	  and any unnecessary call to term_exists().
25844
25845Fri Apr 06 11:44:25 BST 2007  Olly Betts <olly@survex.com>
25846
25847	* tests/api_wrdb.cc: Just use TEST on a boolean value rather than
25848	  TEST_EQUAL against true/false.
25849
25850Fri Apr 06 08:53:46 BST 2007  Olly Betts <olly@survex.com>
25851
25852	* net/remoteserver.cc: Remove "N" which we calculate but never use!
25853
25854Fri Apr 06 08:17:00 BST 2007  Olly Betts <olly@survex.com>
25855
25856	* backends/flint/Makefile.mk,backends/flint/flint_check.cc,
25857	  backends/flint/flint_check.h,bin/Makefile.mk,bin/xapian-check.cc:
25858	  Fix xapian-check not to use libquartzcheck.la.
25859
25860Fri Apr 06 07:20:47 BST 2007  Olly Betts <olly@survex.com>
25861
25862	* bin/Makefile.mk,bin/xapian-check.cc: Add new "xapian-check" program
25863	  which performs consistency checks on a flint database.
25864
25865Fri Apr 06 06:25:36 BST 2007  Olly Betts <olly@survex.com>
25866
25867	* bin/quartzcheck.cc: Test if this is a quartz database by looking at
25868	  "meta" not "record_DB".  If "record_DB" is >= 2GB and we don't have
25869	  a LFS aware stat function then stat can fail even though the file is
25870	  there.  Also open the database explicitly as a Quartz database for
25871	  extra robustness.
25872
25873Fri Apr 06 06:23:33 BST 2007  Olly Betts <olly@survex.com>
25874
25875	* AUTHORS: Thank Daniel Ménard.
25876
25877Thu Apr 05 18:20:53 BST 2007  Olly Betts <olly@survex.com>
25878
25879	* tests/harness/testsuite.cc: No need to explicitly initialise
25880	  std::string to ""; not doing so results in a smaller object
25881	  file.
25882
25883Thu Apr 05 18:20:12 BST 2007  Olly Betts <olly@survex.com>
25884
25885	* common/remoteprotocol.h: Note other changes in protocol version 26.
25886
25887Thu Apr 05 17:34:10 BST 2007  Olly Betts <olly@survex.com>
25888
25889	* tests/runtest.in: Pass "--leak-resolution=high" to valgrind to
25890	  prevent unrelated leak reports related to STL classes from being
25891	  combined.
25892
25893Thu Apr 05 17:26:39 BST 2007  Olly Betts <olly@survex.com>
25894
25895	* tests/api_wrdb.cc: Remove stray line left over from debugging.
25896
25897Thu Apr 05 16:47:36 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25898
25899	* tests/internaltest.cc: Fix test_serialiselength2: implementation
25900	  was correct, but test was failing.  Needed special casing for n=0
25901	  and 1, and was using arguments to string::append(size_type,
25902	  charT) the wrong way round (stupid C++ API).  Also, make it check
25903	  the return value of decode_length(), since we know what the
25904	  answer ought to be.
25905
25906Thu Apr 05 14:26:30 BST 2007  Olly Betts <olly@survex.com>
25907
25908	* api/omqueryinternal.cc,backends/remote/remote-database.cc,
25909	  common/serialise.h,net/remoteserver.cc,net/serialise.cc,
25910	  tests/internaltest.cc: Add a flag parameter to decode_length()
25911	  to indicate if the decoded value indicates the length of a
25912	  string in the protocol stream, and if it does, check it against
25913	  p_end - p after the length has been decoded (fixes bug#117).
25914
25915Thu Apr 05 14:08:02 BST 2007  Olly Betts <olly@survex.com>
25916
25917	* tests/api_wrdb.cc: In test uniqueterm1, check the document length
25918	  after every delete or replace for better coverage.
25919
25920Thu Apr 05 12:41:04 BST 2007  Olly Betts <olly@survex.com>
25921
25922	* net/serialise.cc: Encode deltas between docids (rather than the
25923	  docids themselves) in the RSet serialisation which reduces the
25924	  size of the encoding if a lot of large docids with small gaps
25925	  between them are present.
25926	* backends/remote/remote-database.cc,net/remoteserver.cc: Encode
25927	  deltas between termpositions in REPLY_POSITIONLIST, for similar
25928	  reasons.  No need to encode the term length for
25929	  MSG_DELETEDOCUMENTTERM as it's the last (indeed only) item, and more
25930	  consistent not to.
25931	* common/remoteprotocol.h: Bump protocol version to 26.
25932	* docs/remote_protocol.html: Document the new messages
25933	  MSG_DELETEDOCUMENTTERM and MSG_REPLACEDOCUMENTTERM.  Correct
25934	  reference to REPLY_DOCUMENT to REPLY_DOCDATA.  Fix documentation for
25935	  MSG_QUERY to include the serialised Weight and RSet objects.  Fix
25936	  "copy and paste" error in the description of Flush (should of course
25937	  be MSG_FLUSH not MSG_CANCEL).  Update for changes above.
25938
25939Thu Apr 05 12:18:19 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25940
25941	* backends/database.cc: Keep a RefCntPtr to the LeafPostList used
25942	  in implementations of delete_document and replace_document with a
25943	  unique term, so that the postlist isn't leaked.
25944
25945Thu Apr 05 11:56:57 BST 2007  Olly Betts <olly@survex.com>
25946
25947	* backends/database.cc: Database::Internal can't call the
25948	  PostingIterator(PostingIterator::Internal*) ctor (at least under
25949	  g++ 3.3.5) because it isn't a friend (only class Database is).
25950	  Can't seem to forward define Database::Internal to make
25951	  Database::Internal a friend so just use LeafPostList directly
25952	  as that seems less bad than pulling in the whole of database.h
25953	  or making PostingIterator::internal public.
25954
25955Thu Apr 05 08:27:26 BST 2007  Olly Betts <olly@survex.com>
25956
25957	* HACKING: Need to run svn-tag-release on ixion.
25958
25959Thu Apr 05 01:50:10 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25960
25961	* backends/remote/remote-database.cc,common/remote-database.h,
25962	  common/remoteprotocol.h,common/remoteserver.h,net/remoteserver.cc:
25963	  Implement unique term variants of delete and replace document for
25964	  the remote database.  Involves adding two new message types to the
25965	  protocol (and therefore bumping the protocol version to 25), and
25966	  overriding the standard implementations of delete_document(term)
25967	  and replace_document(term) in RemoteDatabase.
25968	* tests/api_wrdb.cc: Correct text in SKIP_TEST() message.
25969
25970Thu Apr 05 01:04:19 BST 2007  Richard Boulton <richard@lemurconsulting.com>
25971
25972	* api/omdatabase.cc,backends/database.cc,common/database.h: Move
25973	  implementation of delete_document and replace_document with a
25974	  unique_term from WritableDatabase to Xapian::Database::Internal.
25975	  This will allow it to be overridden for databases which need a
25976	  special implementation (such as the remote database).
25977
25978Tue Apr 03 14:30:45 BST 2007  Olly Betts <olly@survex.com>
25979
25980	* common/remote-database.h: Remove unused and undefined method
25981	  RemoteDatabase::get_spawned_socket().
25982
25983Tue Apr 03 09:18:51 BST 2007  Olly Betts <olly@survex.com>
25984
25985	* tests/harness/backendmanager.cc: Under __WIN32__, launch
25986	  xapian-tcpsrv as a child process communicating via a pipe and handle
25987	  the port being already in use by trying the next port up (as we do
25988	  under UNIX).
25989
25990Tue Apr 03 06:50:48 BST 2007  Olly Betts <olly@survex.com>
25991
25992	* net/tcpserver.cc: For __WIN32__ and __CYGWIN__, use
25993	  SO_EXCLUSIVEADDRUSE (if available) on on listening sockets for
25994	  xapian-tcpsrv.
25995
25996Tue Apr 03 04:37:02 BST 2007  Olly Betts <olly@survex.com>
25997
25998	* include/xapian/positioniterator.h,include/xapian/postingiterator.h:
25999	  Fix mangled comment start in (C) headers.
26000
26001Tue Apr 03 03:27:12 BST 2007  Olly Betts <olly@survex.com>
26002
26003	* include/xapian/,generate-exceptions.in: Mark the following
26004	  constructors 'explicit': DocIDWrapper(docid), TermPosWrapper(const
26005	  std::string &), Query::Internal(const std::string &), Database(const
26006	  std::string &), all Error subclass constructors taking const
26007	  std::string &.  Only the Database and Error subclass changes should
26008	  be able to affect user code at all.
26009	* include/xapian/,api/omenquire.cc: Make the following methods
26010	  'const': RSet::contains(MSetIterator), Enquire::get_query().  This
26011	  shouldn't affect the validity of any user code.
26012
26013Mon Apr 02 11:44:26 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26014
26015	* HACKING: Add note on "Building from SVN on Windows with MSVC"
26016
26017Mon Apr 02 11:32:51 BST 2007  Olly Betts <olly@survex.com>
26018
26019	* api/omqueryinternal.cc: Fix assertion to allow for OP_VALUE_RANGE.
26020
26021Mon Apr 02 11:14:10 BST 2007  Olly Betts <olly@survex.com>
26022
26023	* autoconf/rjb_find_stlport.m4: Fix check that the user didn't say
26024	  `./configure --with-stlport-compiler' (without `=gcc' or similar
26025	  after it).
26026
26027Mon Apr 02 10:38:35 BST 2007  Olly Betts <olly@survex.com>
26028
26029	* tests/api_db.cc,tests/apitest.cc: Under __WIN32__ disable tests
26030	  which require the prog variant of the remote backend.
26031
26032Mon Apr 02 09:44:13 BST 2007  Olly Betts <olly@survex.com>
26033
26034	* net/tcpserver.cc: Don't use SO_REUSEADDR under __CYGWIN__ or
26035	  __WIN32__ as it has incorrect semantics.
26036
26037Mon Apr 02 09:37:14 BST 2007  Olly Betts <olly@survex.com>
26038
26039	* tests/harness/backendmanager.cc: Pull `1239' out as `DEFAULT_PORT'.
26040	  On Windows, cycle through 10 ports starting at DEFAULT_PORT so that
26041	  we can have multiple databases open at once.  Add a monotonic count
26042	  to the name of the log file created from the output of each
26043	  xapian-tcpsrv to avoid failures because the log file is already
26044	  open.
26045
26046Mon Apr 02 07:41:57 BST 2007  Olly Betts <olly@survex.com>
26047
26048	* tests/api_anydb.cc: Avoid having the same database open twice at
26049	  once.  Xapian itself copes, but the BackendManager class in the test
26050	  harness struggles in the remotetcp case under mingw.
26051
26052Mon Apr 02 07:14:13 BST 2007  Olly Betts <olly@survex.com>
26053
26054	* include/xapian/enquire.h: Make Enquire constructor explicit since
26055	  it can take a single parameter (of type Database).
26056
26057Mon Apr 02 02:32:23 BST 2007  Olly Betts <olly@survex.com>
26058
26059	* net/tcpserver.cc: Add "#error" if neither HAVE_FORK nor __WIN32__
26060	  is defined (otherwise we'd failed with a rather obscure link error
26061	  much later!)
26062
26063Mon Apr 02 01:54:20 BST 2007  Olly Betts <olly@survex.com>
26064
26065	* matcher/multimatch.cc: Remove unused variable left over from
26066	  recent change.
26067
26068Mon Apr 02 01:22:56 BST 2007  Olly Betts <olly@survex.com>
26069
26070	* net/tcpserver.cc: Actually remove SOCKOPT_OPTIONS_TYPE.
26071
26072Mon Apr 02 01:16:03 BST 2007  Olly Betts <olly@survex.com>
26073
26074	* net/tcpclient.cc,net/tcpserver.cc: Pass the 4th parameter of
26075	  setsockopt() as char* which works whether the function actually
26076	  takes char* or void* (since C++ allows implicit conversion from
26077	  char* to void*).  Only call socket_errno() after gethostbyname()
26078	  under __WIN32__ - on UNIX the error code is in h_errno (with
26079	  incompatible values to errno) and we don't want to confuse things by
26080	  reporting some random value of errno.
26081
26082Mon Apr 02 00:44:56 BST 2007  Olly Betts <olly@survex.com>
26083
26084	* tests/harness/backendmanager.cc: Factor out localhost address into
26085	  LOCALHOST.  Use new xapian-tcpsrv --interface option to only listen
26086	  for connections on localhost.  Run xapian-tcpsrv with "start /B" on
26087	  MS Windows (this stops the "flickbook of console windows" effect).
26088
26089Mon Apr 02 00:41:31 BST 2007  Olly Betts <olly@survex.com>
26090
26091	* common/Makefile.mk,common/safesyssocket.h: Oops, I checked
26092	  in safesysselect.h as safesyssocket.h!
26093
26094Mon Apr 02 00:30:54 BST 2007  Olly Betts <olly@survex.com>
26095
26096	* include/xapian/queryparser.h: Fix SimpleStopper::add to take
26097	  `const std::string &' not `const std::string'.
26098
26099Mon Apr 02 00:20:45 BST 2007  Olly Betts <olly@survex.com>
26100
26101	* bin/xapian-tcpsrv.cc,net/tcpserver.cc: Add "--interface" option to
26102	  allow the hostname or address of the interface to listen on to be
26103	  specified (default is the previous behaviour of listening on all
26104	  interfaces).
26105	* net/remoteconnection.cc,net/tcpclient.cc,common/safesysselect.h:
26106	  Factor out portability code for sys/select.h.
26107	* common/Makefile.mk: Ship common/safesysselect.h.
26108	* net/tcpserver.cc: Rename parameter of run_thread from "_param" to
26109	  "param_" (identifiers with leading underscores are reserved for the
26110	  compiler).
26111	* common/tcpclient.h,net/tcpclient.cc,common/tcpserver.h: Rewrite
26112	  headers with comments which are actually accurate and up-to-date!
26113	  TcpClient ctor is small so put inline in the header.  Pass
26114	  std::string by const reference.
26115	* common/tcpclient.h,common/tcpserver.h: TcpClient and TcpServer
26116	  classes now inherit from WinsockInitializer under __WIN32__ (as
26117	  a mixin class) instead of having a member of type WinsockInitializer
26118	  (the member is initialised too late, at least under mingw).
26119
26120Sun Apr 01 19:14:11 BST 2007  Olly Betts <olly@survex.com>
26121
26122	* common/omdebug.cc: Fix retrying of write to retry the part of
26123	  the string not already written!
26124
26125Sun Apr 01 18:37:15 BST 2007  Olly Betts <olly@survex.com>
26126
26127	* common/remoteconnection.h: Note in comments about use as a "mixin"
26128	  class.
26129
26130Sun Apr 01 17:42:19 BST 2007  Olly Betts <olly@survex.com>
26131
26132	* tests,examples,bin: Add .exe versions of built executables to
26133	  svn:ignore.
26134
26135Sun Apr 01 16:28:26 BST 2007  Olly Betts <olly@survex.com>
26136
26137	* common/omdebug.cc: Remove unused '#include <stdio.h>' - we switched
26138	  to using unbuffered I/O for logging long ago!
26139
26140Sun Apr 01 15:21:04 BST 2007  Olly Betts <olly@survex.com>
26141
26142	* common/safewinsock2.h: No, don't typedef socklen_t here - we use
26143	  SOCKLEN_T everywhere and have `#define SOCKLEN_T int' in
26144	  config.h.win32.
26145
26146Sun Apr 01 13:32:21 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26147
26148	* common/omdebug.cc: Include necessary headers to get O_CREAT and
26149	  friends defined (according to documentation in linux manpage),
26150	  to fix compile error.  Also, don't ignore the return value of
26151	  write() to fix compile warning (and to ensure that the whole
26152	  output gets written if possible).
26153
26154Sun Apr 01 13:19:52 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26155
26156	* queryparser/queryparser.cc: Fix Assert() on a RefCountPtr to
26157	  check the value of the pointer, to fix compile with asserts
26158	  turned on.
26159
26160Sun Apr 01 12:57:06 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26161
26162	* common/safewinsock2.h: Define socklen_t under MS compiler (since
26163	  Olly reported build success with mingw, presumably it's not
26164	  needed there).
26165
26166Sun Apr 01 06:42:14 BST 2007  Olly Betts <olly@survex.com>
26167
26168	* languages/Makefile.mk: $(snowball_algorithms:.sbl=.cc) is portable
26169	  according to the automake list so use that so we only need to list
26170	  the .sbl sources.
26171
26172Sun Apr 01 05:53:29 BST 2007  Olly Betts <olly@survex.com>
26173
26174	* common/tcpserver.h,net/tcpserver.cc: TcpServer's port member
26175	  variable is set but never used so remove it.
26176
26177Sun Apr 01 03:27:30 BST 2007  Olly Betts <olly@survex.com>
26178
26179	* bin/Makefile.mk,examples/Makefile.mk: Add $(EXEEXT) to dependency on
26180	  binaries in man page generation rules so they work on Windows.
26181
26182Sat Mar 31 22:17:55 BST 2007  Olly Betts <olly@survex.com>
26183
26184	* common/multimatch.h,matcher/multimatch.cc: When using a MatchDecider
26185	  with remote database(s), don't rerun the MatchDecider on documents
26186	  which a remote server has already checked.
26187
26188Sat Mar 31 10:44:26 BST 2007  Olly Betts <olly@survex.com>
26189
26190	* tests/harness/backendmanager.cc: Sort out path to xapian-tcpsrv
26191	  under mingw.  If neither HAVE_FORK nor __WIN32__ is defined,
26192	  make compilation fail with a suitable #error.
26193
26194Sat Mar 31 10:17:06 BST 2007  Olly Betts <olly@survex.com>
26195
26196	* api/Makefile,backends/Makefile,backends/flint/Makefile,
26197	  backends/inmemory/Makefile,backends/multi/Makefile,
26198	  backends/quartz/Makefile,backends/remote/Makefile,bin/Makefile,
26199	  common/Makefile,examples/Makefile,getopt/Makefile,include/Makefile,
26200	  languages/Makefile,matcher/Makefile,net/Makefile,
26201	  queryparser/Makefile,tests/harness/Makefile: Don't pass $(MAKEFLAGS)
26202	  on the command line to $(MAKE) when invoking the top level Makefile
26203	  from a static Makefile.  It's passed automatically anyway, and also
26204	  $(MAKEFLAGS) doesn't have a leading '-' so "make -s" tries to do
26205	  "make s" at the top level.
26206
26207Sat Mar 31 09:28:06 BST 2007  Olly Betts <olly@survex.com>
26208
26209	* tests/api_nodb.cc: Fix end of loop handling.
26210
26211Sat Mar 31 09:03:26 BST 2007  Olly Betts <olly@survex.com>
26212
26213	* tests/api_nodb.cc: Fix to compile.
26214
26215Sat Mar 31 07:53:25 BST 2007  Olly Betts <olly@survex.com>
26216
26217	* common/safewindows.h,common/safewinsock2.h: safewindows.h is
26218	  included by a lot of files so we want to keep it lightweight
26219	  so split winsock2.h related stuff into safewinsock2.h.
26220	* common/remoteconnection.h: Move WinsockInitializer here.
26221	* common/safeerrno.h: #include "safewinsock2.h" not <winsock2.h>.
26222
26223Sat Mar 31 07:19:06 BST 2007  Olly Betts <olly@survex.com>
26224
26225	* common/remoteserver.h: Stop trying to include "remoteserver.h"
26226	  because that's the SAME HEADER!
26227
26228Sat Mar 31 07:16:23 BST 2007  Olly Betts <olly@survex.com>
26229
26230	* common/tcpclient.h,common/tcpserver.h: Fix comments - the class is
26231	  called WinsockInitializer not WinsockInitialiser.
26232
26233Sat Mar 31 06:54:22 BST 2007  Olly Betts <olly@survex.com>
26234
26235	* net/progclient.cc: Don't compile any code from this file if
26236	  __WIN32__ is defined (for mingw).
26237
26238Sat Mar 31 06:52:27 BST 2007  Olly Betts <olly@survex.com>
26239
26240	* tests/api_nodb.cc: Simplify code in test_stemlangs1().
26241
26242Sat Mar 31 06:22:26 BST 2007  Olly Betts <olly@survex.com>
26243
26244	* net/remoteconnection.cc: Use const_cast to avoid GCC warning
26245	  about casting away const.  Use string::data() rather than
26246	  string::c_str() since we don't need a terminating zero byte.
26247
26248Sat Mar 31 06:20:07 BST 2007  Olly Betts <olly@survex.com>
26249
26250	* backends/dbfactory_remote.cc: Suppress "unused parameter" warnings.
26251
26252Sat Mar 31 06:17:35 BST 2007  Olly Betts <olly@survex.com>
26253
26254	* net/tcpserver.cc: Make global variable and function used only in
26255	  this file static.  Don't call delete on a void* (that's undefined
26256	  behaviour) - delete the cast version of the pointer instead.
26257
26258Sat Mar 31 06:17:20 BST 2007  Olly Betts <olly@survex.com>
26259
26260	* AUTHORS: Add a number of bug reporters I missed before.
26261
26262Sat Mar 31 04:49:27 BST 2007  Olly Betts <olly@survex.com>
26263
26264	* configure.ac: Clean up handling of --enable-backend-* options.  Let
26265	  mingw try to build the remote backend.
26266
26267Sat Mar 31 03:47:49 BST 2007  Olly Betts <olly@survex.com>
26268
26269	* tests/internaltest.cc: Don't compile test_serialisequery1
26270	  if the remote backend is disabled to avoid an "unused
26271	  function" warning (we were already disabling the use of
26272	  it).
26273
26274Fri Mar 30 22:43:27 BST 2007  Olly Betts <olly@survex.com>
26275
26276	* HACKING: Correct several inaccuracies: --enable-debug and
26277	  --enable-debug=partial don't cause the build system to compile in
26278	  debugging symbols (configure defaults to adding "-g" for GCC, while
26279	  for other compilers you must enable them by hand).  Also,
26280	  --enable-debug doesn't "produce warnings", but causes
26281	  Xapian::AssertionError to be thrown.  Add explanation for why
26282	  --enable-debug=partial" exists.  CC_FOR_BUILD is now needed for
26283	  snowball as well as lemon.
26284
26285Fri Mar 30 19:53:05 BST 2007  Olly Betts <olly@survex.com>
26286
26287	* common/utils.cc: Avoid GCC warning on format string "%I64d".
26288
26289Fri Mar 30 16:48:46 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26290
26291	* common/tcpserver.h,net/tcpserver.cc: Patch from Mark Hammond:
26292	  implement for windows.
26293
26294Fri Mar 30 16:21:03 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26295
26296	* common/tcpclient.h,net/tcpclient.cc: Patch from Mark Hammond:
26297	  implement for windows.
26298
26299Fri Mar 30 15:52:57 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26300
26301	* tests/harness/backendmanager.cc: Patch from Mark Hammond:
26302	  implement launcher for tcpserver, so that remotetcp tests can run
26303	  on windows.
26304
26305Fri Mar 30 15:42:49 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26306
26307	* common/safewindows.h: Include xapian/error.h so
26308	  WinsockInitialiser can throw an exception.
26309
26310Fri Mar 30 14:59:40 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26311
26312	* More code from Mark Hammond's patch
26313	* common/remoteconnection.h: Add explicit destructor and (for
26314	  windows compiles) a declare a helper method to calculate the
26315	  number of milliseconds until a timeout.
26316	* net/remoteconnection.cc: Implement windows versions for functions
26317	  which need it: constructor and destructor now do create and close
26318	  the overlapped IO stuff, read_at_least() and send_message() have
26319	  windows specific implementations.
26320
26321Fri Mar 30 13:05:27 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26322
26323	* More code adapted from Mark Hammond's patch
26324	* common/safewindows.h: When remote databases are compiled in,
26325	  include the winsock stuff, and define some useful bits and pieces
26326	  for using it.
26327	* common/remoteconnection.h: Add a member to RemoteConnection on
26328	  windows to hold an overlapped IO structure.
26329	* net/progclient.cc: Don't include winsock stuff directly (it's now
26330	  brought in by "safewindows.h"), and don't include <sys/wait.h> on
26331	  windows.
26332	* net/remoteserver.cc: Ignore more SIGPIPE stuff on windows.
26333
26334Fri Mar 30 12:37:15 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26335
26336	* Patch from Mark Hammond
26337	* backends/dbfactory_remote.cc: Ignore code to handle SIGPIPE on
26338	  windows, where it doesn't exist.
26339	* backends/remote/remote-database.cc: Raise UnimplementedError on
26340	  windows if a progclient backend is requested.
26341
26342Fri Mar 30 12:11:50 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26343
26344	* tests/harness/testsuite.cc: Fix srcdir guessing on windows -
26345	  search for windows style directory separators, and remove .exe
26346	  suffix from executable name.  Adapted from Mark Hammond's patch.
26347
26348Thu Mar 29 18:32:18 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26349
26350	* Changes related to Mark Hammond's patch:
26351	* common/safeerrno.h: Define a new inline function "socket_errno()"
26352	  which returns an error number relating to the last error caused
26353	  by a socket function on platforms which make such a distinction,
26354	  and the value of errno on other platforms.
26355	* net/tcpclient.cc,net/tcpserver.cc: Use the socket_errno()
26356	  function instead of checking the value of errno.  Also, check for
26357	  WSAEWOULDBLOCK instead of EINPROGRESS on windows.
26358
26359Thu Mar 29 15:36:45 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26360
26361	* bin/xapian-tcpsrv.cc,tests/harness/testsuite.cc: First of many
26362	  parts of a large patch from Mark Hammond working towards enabling
26363	  remote databases on windows.  When displaying errors which might
26364	  be socket errors, display the error number as well as the output
26365	  of strerror - on windows, strerror doesn't display useful
26366	  information for socket errors.
26367	* AUTHORS: Add Mark Hammond
26368
26369Thu Mar 29 06:07:35 BST 2007  Olly Betts <olly@survex.com>
26370
26371	* api/omqueryinternal.cc: Unserialisation shouldn't reject a
26372	  serialised query which ends after a termname.
26373	* tests/internaltest.cc: Add regression test.
26374
26375Wed Mar 28 17:17:42 BST 2007  Olly Betts <olly@survex.com>
26376
26377	* tests/queryparsertest.cc: Add feature tests for "prefer_mdy" and
26378	  "epoch" arguments of DateValueRangeProcessor.
26379
26380Wed Mar 28 04:52:34 BST 2007  Olly Betts <olly@survex.com>
26381
26382	* tests/queryparsertest.cc: Add more test cases for parsing of value
26383	  ranges.
26384
26385Wed Mar 28 04:18:14 BST 2007  Olly Betts <olly@survex.com>
26386
26387	* languages/compiler/generator.c,languages/compiler/header.h,
26388	  languages/steminternal.cc,languages/steminternal.h: For among with
26389	  functions (only used by finnish and lovins stemmers currently),
26390	  change to generating an array of unsigned byte offsets into an array
26391	  of function pointers rather than just an array of function pointers
26392	  - this generally requires a lot less space.
26393
26394Wed Mar 28 03:28:37 BST 2007  Olly Betts <olly@survex.com>
26395
26396	* queryparser/queryparser.lemony: Fix parsing of `hello a..b'.
26397	* tests/queryparsertest.cc: Add regression test for above.  Refactor
26398	  qp_value_range1 to use a table of queries.
26399
26400Wed Mar 28 00:35:50 BST 2007  Olly Betts <olly@survex.com>
26401
26402	* languages: Update svn:ignore for recent romanian changes.
26403
26404Wed Mar 28 00:08:11 BST 2007  Olly Betts <olly@survex.com>
26405
26406	* api/valuerangeproc.cc: Need #include <stdio.h> for snprintf or
26407	  sprintf.
26408
26409Tue Mar 27 23:53:18 BST 2007  Olly Betts <olly@survex.com>
26410
26411	* queryparser/queryparser.lemony: Fix infinite loop in value range
26412	  processing.  Fix value range to work as a filter when used with a
26413	  probabilistic query.
26414	* tests/queryparsertest.cc: Add regression tests for the above two
26415	  issues.  Refactor qp_value_range2 to use a table of queries.
26416
26417Tue Mar 27 22:09:57 BST 2007  Olly Betts <olly@survex.com>
26418
26419	* api/valuerangeproc.cc: Assume that the start date is before the
26420	  end date to help decide ambiguous cases.
26421
26422Tue Mar 27 21:49:15 BST 2007  Olly Betts <olly@survex.com>
26423
26424	* api/valuerangeproc.cc: Refactor to simplify and reduce duplication.
26425
26426Tue Mar 27 21:41:38 BST 2007  Olly Betts <olly@survex.com>
26427
26428	* configure.ac: datarootdir is new in 2.60 too, so use datadir when
26429	  setting docdir for 2.59.
26430
26431Tue Mar 27 18:39:11 BST 2007  Olly Betts <olly@survex.com>
26432
26433	* api/Makefile.mk,api/valuerangeproc.cc,include/xapian/queryparser.h:
26434	  Move NumberValueRangeProcessor::operator()() out of the header as
26435	  it's too complex for sane inlining.  Implement handling of dmy and
26436	  mdy dates and epochs for 2 digit years.
26437	* tests/queryparsertest.cc: Add tests.
26438
26439Tue Mar 27 11:57:53 BST 2007  Richard Boulton <richard@lemurconsulting.com>
26440
26441	* languages/romanian.sbl: Add Martin Porter's new romanian stemming
26442	  algorithm.
26443	* languages/romanian1.sbl,languages/romanian2.sbl: Remove old
26444	  romanian stemming algorithms.
26445	* languages/Makefile.mk: Replace romanian1 and romanian2 by
26446	  romanian.
26447	* languages/stem.cc: Use romanian stemmer when asked for "ro" or
26448	  "romanian".  No longer give a stemmer for "romanian1" or
26449	  "romanian2".
26450
26451Tue Mar 27 04:50:36 BST 2007  Olly Betts <olly@survex.com>
26452
26453	* languages/german2.sbl: Copy over "hop 3" in utf-8 case from
26454	  snowball's latest version.
26455
26456Tue Mar 27 04:44:52 BST 2007  Olly Betts <olly@survex.com>
26457
26458	* tests/stemtest.cc: Remove lower casing of dictionary words before
26459	  stemming - instead we'll make sure the dictionary is already the
26460	  right case.
26461
26462Tue Mar 27 04:28:10 BST 2007  Olly Betts <olly@survex.com>
26463
26464	* languages/compiler/analyser.c,languages/compiler/generator.c,
26465	  languages/compiler/header.h,languages/steminternal.cc,
26466	  languages/steminternal.h: Add handling of among with functions.
26467	  We use a "shim" functions for each method we want to call in
26468	  this way.  The shim function is passed the "this" pointer and
26469	  calls a particular method on this.  Split the functions into
26470	  an optional separate array, since they're not used by most of
26471	  the stemming algorithms.
26472	* languages/Makefile.mk,languages/stem.cc: Enable the finnish
26473	  and lovins stemmers.
26474
26475Tue Mar 27 04:24:37 BST 2007  Olly Betts <olly@survex.com>
26476
26477	* languages/steminternal.cc: Fix typo bug in slice_to - if we needed
26478	  to increase the capacity of a snowball string variable, we trashed
26479	  the variable with p (bug discovered while trying to enable the
26480	  finnish stemmer).
26481
26482Tue Mar 27 02:55:51 BST 2007  Olly Betts <olly@survex.com>
26483
26484	* include/xapian/queryparser.h: Implement handling of ISO format dates
26485	  in DateValueRangeProcessor.
26486	* tests/queryparsertest.cc: Add feature tests.
26487
26488Tue Mar 27 01:47:36 BST 2007  Olly Betts <olly@survex.com>
26489
26490	* include/xapian/queryparser.h: Implement prefix and suffix handling
26491	  for NumberValueRangeProcessor.
26492	* tests/queryparsertest.cc: Add feature tests.
26493
26494Mon Mar 26 22:26:48 BST 2007  Olly Betts <olly@survex.com>
26495
26496	* queryparser/utf8itor.h: Add is_currency() predicate function.
26497	* queryparser/queryparser.lemony: Rejig parsing of RANGE_START to
26498	  allow all characters which are likely to be required.
26499	* tests/queryparsertest.cc: Test RANGE_START can contain "/".
26500	* queryparser/queryparser.lemony: Set "syntax=yacc" for vim, which
26501	  give fairly decent syntax highlighting.
26502
26503Mon Mar 26 15:43:50 BST 2007  Olly Betts <olly@survex.com>
26504
26505	* configure.ac: Use m4 comments not shell (dnl not #).
26506
26507Mon Mar 26 15:41:41 BST 2007  Olly Betts <olly@survex.com>
26508
26509	* configure.ac: Add code to ensure that docdir is set for autoconf
26510	  2.59 (starting from 2.60, it is defined as standard).
26511	* docs/Makefile.am: Use docdir for installing docs.
26512
26513Sun Mar 25 15:41:16 BST 2007  Olly Betts <olly@survex.com>
26514
26515	* bin/xapian-compact.cc: Prune unused docids off the start of each
26516	  source database's range of docid.
26517
26518Sat Mar 24 23:07:42 GMT 2007  Olly Betts <olly@survex.com>
26519
26520	* include/xapian/base.h: Add a note explaining why it's OK that
26521	  RefCntBase doesn't have a virtual destructor.
26522
26523Sat Mar 24 01:30:17 GMT 2007  Olly Betts <olly@survex.com>
26524
26525	* HACKING,configure.ac: Bump the automake required version to 1.9.5.
26526	  It was in Debian sarge, so any modern Linux distro should include
26527	  packages, and we've actually been bootstrapping with 1.9.6 for ages.
26528
26529Thu Mar 22 00:53:35 GMT 2007  Olly Betts <olly@survex.com>
26530
26531	* configure.ac: Disable probes for f77 more completely by preventing
26532	  the probe code from even appearing in configure.  Similarly
26533	  eliminate the code for gcj and rc probes - in total these changes
26534	  reduce the size of configure by 209KB (~25%).
26535
26536Fri Mar 09 14:28:01 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26537
26538	* Makefile.am: Add include/xapian/error.h to list of headers to
26539	  install.
26540
26541Thu Mar 08 17:16:08 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26542
26543	* generate-exceptions.in,exception_data.pm: Split definitions of
26544	  the exception hierarchy into a separate file, so it can be reused
26545	  elsewhere.
26546	* Makefile.am: Add exception_data.pm as a dependency for generating
26547	  error.h, and add it to EXTRA_DIST.
26548
26549Fri Mar 09 06:42:40 GMT 2007  Olly Betts <olly@survex.com>
26550
26551	* backends/flint/flint_cursor.cc,backends/flint/flint_cursor.h: We
26552	  always ignore the return value from FlintCursor::get_key() because
26553	  we only call it when it shouldn't fail, so restructure the code so
26554	  it can't fail and change the return value to void.
26555
26556Fri Mar 09 06:33:09 GMT 2007  Olly Betts <olly@survex.com>
26557
26558	* configure.ac: Suppress another aCC warning.
26559
26560Thu Mar 08 20:39:46 GMT 2007  Olly Betts <olly@survex.com>
26561
26562	* queryparser/queryparser.lemony,tests/queryparsertest.cc: Allow
26563	  arbitrary characters in a range end (anything except whitespace
26564	  and ')').
26565
26566Thu Mar 08 19:46:46 GMT 2007  Olly Betts <olly@survex.com>
26567
26568	* Makefile.am,languages/Makefile.mk: Depend on the autoconf
26569	  substituted version of a script, not the template version.  The
26570	  only thing we substitute is @PERL@, but configure won't update
26571	  a substituted file which hasn't changed so it's better to put
26572	  the dependency on the script itself where it belongs.
26573
26574Thu Mar 08 17:09:21 GMT 2007  Olly Betts <olly@survex.com>
26575
26576	* queryparser/queryparser.lemony,tests/queryparsertest.cc: Keep any
26577	  non-whitespace, non-term prefix for a term in case it turns out
26578	  to be the start of a range, so "$50..100" works.
26579
26580Thu Mar 08 16:21:14 GMT 2007  Olly Betts <olly@survex.com>
26581
26582	* HACKING: Add my "create docs/GNUmakefile" trick to avoid doxygen
26583	  delays.
26584
26585Thu Mar 08 16:13:39 GMT 2007  Olly Betts <olly@survex.com>
26586
26587	* HACKING: A few more coding guidelines.
26588
26589Thu Mar 08 14:26:21 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26590
26591	* HACKING: Adjust wording to indicate that the build system is
26592	  indended not to break after SVN updates.
26593
26594Thu Mar 08 07:34:22 GMT 2007  Olly Betts <olly@survex.com>
26595
26596	* include/xapian/queryparser.h,tests/queryparsertest.cc: Add simple
26597	  implementations of DateValueRangeProcessor and
26598	  NumberValueRangeProcessor and add qp_value_range2 to check that
26599	  chaining ValueRangeProcessor subclasses works as intended.
26600
26601Thu Mar 08 06:06:15 GMT 2007  Olly Betts <olly@survex.com>
26602
26603	* docs/overview.html: Fix links to error classes in generated API
26604	  documentation.
26605
26606Thu Mar 08 05:37:13 GMT 2007  Olly Betts <olly@survex.com>
26607
26608	* include/xapian/queryparser.h,queryparser/queryparser.cc,
26609	  queryparser/queryparser.lemony,queryparser/queryparser_internal.h,
26610	  tests/queryparsertest.cc: Add the ability to parse "value ranges"
26611	  to the QueryParser (e.g. "10..50") which translate into a Query
26612	  with operator OP_VALUE_RANGE.
26613
26614Thu Mar 08 04:27:54 GMT 2007  Olly Betts <olly@survex.com>
26615
26616	* include/xapian/queryparser.h,queryparser/queryparser.cc: Remove
26617	  QueryParser::set_stemming_options() which has been deprecated
26618	  since 0.9.0.
26619
26620Thu Mar 08 03:37:07 GMT 2007  Olly Betts <olly@survex.com>
26621
26622	* backends/flint/flint_lock.cc: Handle write failing to send a single
26623	  byte down down the pipe to tell the parent we've got the lock (a
26624	  potential bug noticed by _FORTIFY_SOURCE!)  Handle read() failing
26625	  with an unexpected error on the parent side by failing the lock
26626	  attempt rather than risking an infinite loop.
26627
26628Thu Mar 08 02:52:26 GMT 2007  Olly Betts <olly@survex.com>
26629
26630	* include/xapian/types.h: Rewritten, with more accurate documentation
26631	  comments.  Add constant Xapian::BAD_VALUENO which is -1 cast to
26632	  Xapian::valueno.
26633	* api/omenquire.cc,include/xapian/enquire.h,matcher/multimatch.cc: Use
26634	  Xapian::BAD_VALUENO instead of Xapian::valueno(-1).
26635
26636Thu Mar 08 01:47:08 GMT 2007  Olly Betts <olly@survex.com>
26637
26638	* docs/Makefile.am: Try putting apidoc/html in EXTRA_DIST instead of
26639	  using dist-hook.
26640
26641Wed Mar 07 23:16:52 GMT 2007  Olly Betts <olly@survex.com>
26642
26643	* docs/Makefile.am: Stop shipping docs/apidoc/latex/* in the
26644	  xapian-core tarballs since it's just useless bloat.  Removing it
26645	  more than halves the size of the tarball (55% reduction!)
26646
26647Wed Mar 07 22:07:31 GMT 2007  Olly Betts <olly@survex.com>
26648
26649	* tests/runtest.in: If we aren't using valgrind, turn on
26650	  MALLOC_CHECK_ and MALLOC_PERTURB_ for glibc.
26651
26652Wed Mar 07 20:02:31 GMT 2007  Olly Betts <olly@survex.com>
26653
26654	* INSTALL: CVS -> SVN.
26655
26656Wed Mar 07 20:00:37 GMT 2007  Olly Betts <olly@survex.com>
26657
26658	* configure.ac: Define _FORTIFY_SOURCE in config.h if GCC is in use
26659	  and it's not already set.  That way the user can easily override.
26660	* INSTALL: Document this.
26661
26662Wed Mar 07 19:53:15 GMT 2007  Olly Betts <olly@survex.com>
26663
26664	* INSTALL: Remove reference to muscat36 backend.
26665
26666Wed Mar 07 17:37:07 GMT 2007  Olly Betts <olly@survex.com>
26667
26668	* configure.ac: Note GCC and glibc versions needed for _FORTIFY_SOURCE
26669	  support.
26670
26671Wed Mar 07 16:29:02 GMT 2007  Olly Betts <olly@survex.com>
26672
26673	* queryparser/lemon.c: Increase the length allowed for the filename
26674	  in an error message, as it was being truncated which makes for a
26675	  confusing error message and stops editors jumping to the line with
26676	  the error in.
26677
26678Wed Mar 07 15:57:15 GMT 2007  Olly Betts <olly@survex.com>
26679
26680	* common/Makefile.mk: Ship common/msvc_posix_wrapper.h and
26681	  common/msvc_posix_wrapper.cc.
26682
26683Wed Mar 07 10:01:31 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26684
26685	* configure.ac: Add -D_FORTIFY_SOURCE to AM_CXXFLAGS for GCC
26686	  builds.  According to glibc CVS support for this was added in
26687	  October 2004, but it doesn't seem to be documented very well,
26688	  other than in features.h.  This adds some extra checking for
26689	  array bounds, partially at compile time, but doesn't currently
26690	  find any problems (or cause any noticeable slowdown).
26691
26692Wed Mar 07 04:49:01 GMT 2007  Olly Betts <olly@survex.com>
26693
26694	* api/omqueryinternal.cc: Include str_parameter in swap() and the copy
26695	  constructor.
26696	* tests/api_anydb.cc: get_mset(0, 20) not get_mset(1, 20)!  Also check
26697	  that we didn't miss any documents which should match the filter, not
26698	  just that we didn't get any documents which shouldn't.
26699
26700Wed Mar 07 03:07:49 GMT 2007  Olly Betts <olly@survex.com>
26701
26702	* tests/harness/unixcmds.h: Fixed reverse sense include guard test.
26703	* tests/api_db.cc: Still need #include "utils.h".
26704	* tests/harness/backendmanager.cc: Update for rmdir.h -> unixcmds.h
26705	  and rmdir() -> rm_rf().
26706
26707Wed Mar 07 02:22:30 GMT 2007  Olly Betts <olly@survex.com>
26708
26709	* backends/quartz/btree.cc,backends/quartz/quartz_database.cc,
26710	  backends/quartz/quartz_log.cc,common/utils.h,net/remoteconnection.cc,
26711	  net/tcpclient.cc,tests/api_db.cc,tests/btreetest.cc,tests/harness/,
26712	  tests/quartztest.cc: Rename rmdir() to rm_rf() since it does the
26713	  same as "rm -rf" not "rmdir".  The "touch()" function is only used
26714	  in the testsuite so move it from common/utils.h into
26715	  tests/harness/rmdir.cc and rename rmdir.cc to unixcmds.cc.
26716	  common/utils.h no longer include safefcntl.h, so add explicit
26717	  includes to the files which were previous relying on utils.h pulling
26718	  it in.
26719
26720Wed Mar 07 02:21:18 GMT 2007  Olly Betts <olly@survex.com>
26721
26722	* xapian.spec.in: Include ChangeLog.examples.
26723
26724Wed Mar 07 02:17:59 GMT 2007  Olly Betts <olly@survex.com>
26725
26726	* docs/index.html,docs/internals.html: Create a separate index page
26727	  for the "internal" documentation.
26728
26729Tue Mar 06 23:47:58 GMT 2007  Olly Betts <olly@survex.com>
26730
26731	* common/utils.cc,common/utils.h: Remove map_string_to_value() which
26732	  is no longer used.
26733	* common/utils.h: Remove prototype for rmdir() which I failed to
26734	  remove with the earlier commit.
26735
26736Tue Mar 06 22:51:51 GMT 2007  Olly Betts <olly@survex.com>
26737
26738	* tests/harness/rmdir.cc: Fix rmdir() on Unix to not be O(n^2) in the
26739	  worst case.
26740
26741Tue Mar 06 22:46:30 GMT 2007  Olly Betts <olly@survex.com>
26742
26743	* docs/Makefile.am: Use the "inline test || echo" idiom to merge the
26744	  VPATH and non-VPATH cases for distributing and installing the HTML
26745	  apidocs.
26746
26747Tue Mar 06 22:13:03 GMT 2007  Olly Betts <olly@survex.com>
26748
26749	* api/omqueryinternal.cc: Fix Query::get_description() on an
26750	  OP_VALUE_RANGE query.
26751
26752Tue Mar 06 09:03:33 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26753
26754	* HACKING: Note on running preautoreconf and autoreconf to keep SVN
26755	  builds working.
26756	* PLATFORMS: Update with success reports for windows builds.
26757
26758Tue Mar 06 01:57:23 GMT 2007  Olly Betts <olly@survex.com>
26759
26760	* tests/internaltest.cc: Comment out the "unsigned long long" testcase
26761	  in tostring1 since the library doesn't currently have (or need) the
26762	  utility function for that case.
26763
26764Tue Mar 06 01:49:55 GMT 2007  Olly Betts <olly@survex.com>
26765
26766	* common/utils.cc,tests/btreetest.cc,tests/harness/,
26767	  tests/quartztest.cc: rmdir() is only used in the test suite, and not
26768	  in the library code, so move it into the testsuite.  Also, bow out
26769	  early if the pathname passed is empty, and on Unix protect against
26770	  filenames which start with "-".
26771
26772Mon Mar 05 02:52:49 GMT 2007  Olly Betts <olly@survex.com>
26773
26774	* configure.ac: Suppress more unhelpful aCC warnings.
26775
26776Mon Mar 05 02:15:29 GMT 2007  Olly Betts <olly@survex.com>
26777
26778	* tests/internaltest.cc: Add testcase autoptr1 which tests that an
26779	  autoptr correctly handles self-assignment.
26780
26781Mon Mar 05 02:05:53 GMT 2007  Olly Betts <olly@survex.com>
26782
26783	* tests/internaltest.cc: Rename "omtostring1" to "tostring1" (we don't
26784	  want to perpetuate references to "om"!)  Add more test cases to this
26785	  test.
26786
26787Mon Mar 05 01:18:17 GMT 2007  Olly Betts <olly@survex.com>
26788
26789	* configure.ac: Update in line with 0.9.10.
26790
26791Sun Mar 04 23:58:29 GMT 2007  Olly Betts <olly@survex.com>
26792
26793	* AUTHORS: Add reporters of bugs fixed in 0.9.10 to the "thanks" list.
26794
26795Sun Mar 04 00:44:17 GMT 2007  Olly Betts <olly@survex.com>
26796
26797	* api/errorhandler.cc,include/xapian/errorhandler.h: Move virtual
26798	  dtor for ErrorHandler out of the header.  Same reasons as previous
26799	  commit.
26800
26801Sun Mar 04 00:40:44 GMT 2007  Olly Betts <olly@survex.com>
26802
26803	* api/omenquire.cc,include/xapian/enquire.h,matcher/Makefile.mk,
26804	  matcher/weight.cc: Move virtual method definitions out of headers
26805	  for MatchDecider, ExpandDecider, Weight, BoolWeight.  This fixes
26806	  warnings from aCC, and it's rare that the compiler would be able
26807	  to inline a virtual method anyway.
26808
26809Sat Mar 03 21:40:43 GMT 2007  Olly Betts <olly@survex.com>
26810
26811	* configure.ac: For HP's aCC, we no longer need to suppress warning
26812	  #336 (empty translation unit) since dummy.cc is history.  But we
26813	  do want to suppress a couple of frequently reported "remarks" which
26814	  are unavoidable and don't indicate a problem.  Experimentally, add
26815	  "+wlint" for "link-like" warnings.
26816
26817Sat Mar 03 21:38:52 GMT 2007  Olly Betts <olly@survex.com>
26818
26819	* include/xapian.h,include/xapian/version_h.cc: Move function
26820	  prototypes into a non-generated header.
26821	* configure.ac,msvc/version.h.in: Generate version.h suitable for use
26822	  with MSVC.
26823	* Makefile.am: Distribute msvc/version.h.
26824
26825Sat Mar 03 19:49:11 GMT 2007  Olly Betts <olly@survex.com>
26826
26827	* tests/harness/backendmanager.cc: Rework how we start and handle
26828	  xapian-tcpsrv - it's now started by exec from a child process.
26829	  This means that the mechanism to try higher port numbers works
26830	  reliably, and we no longer leak file descriptors (which was causing
26831	  tests to fail on some platforms).
26832
26833Sat Mar 03 19:46:03 GMT 2007  Olly Betts <olly@survex.com>
26834
26835	* bin/xapian-tcpsrv.cc: Put "e.get_errno()" in a variable for clearer
26836	  code.
26837
26838Sat Mar 03 16:01:17 GMT 2007  Olly Betts <olly@survex.com>
26839
26840	* common/msvc_posix_wrapper.cc: Change `#include <fcntl.h>' to
26841	  `#include "safefcntl.h"' (currently makes no difference on
26842	  Windows, but it's more consistent to always use the safeXXX
26843	  headers).
26844	* common/msvc_posix_wrapper.cc: Merge two ECHILD cases.
26845	* common/msvc_posix_wrapper.cc: Make sure dwCreationDisposition
26846	  is initialised even if flags has a bogus value.
26847	* common/msvc_posix_wrapper.cc: Be consistent and always use O_CREAT,
26848	  etc, instead of sometimes using the MS alternative forms _O_CREAT,
26849	  etc.
26850
26851Sat Mar 03 03:25:05 GMT 2007  Olly Betts <olly@survex.com>
26852
26853	* generate-exceptions.in: The GCC visibility docs aren't clear whether
26854	  you need to make *thrown* exception types visible, or also *caught*
26855	  exception types.  But I've just been having odd problems catching
26856	  Xapian::DocNotFoundError with "const Xapian::Error &", so let's mark
26857	  the exception virtual baseclass Xapian::Error as visible too.
26858
26859Fri Mar 02 22:34:04 GMT 2007  Olly Betts <olly@survex.com>
26860
26861	* languages/Makefile.mk,languages/generate-allsnowballheaders.in:
26862	  Convert unreadable make rule for generating allsnowballheaders.h
26863	  to a perl script.
26864	* configure.ac: Substitute languages/allsnowballheaders.
26865
26866Fri Mar 02 14:31:11 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26867
26868	* tests/internaltest.cc: Add a test for om_tostring(), mainly
26869	  aimed at 64 bit types on windows platforms.  Mingw builds report
26870	  a warning in this code, which merits further investigation - see
26871	  Bug #112 for details.
26872
26873Fri Mar 02 14:15:44 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26874
26875	* common/msvc_posix_wrapper.cc: Improve accuracy of emulation of
26876	  posix open, and fix a bug which caused it to misinterpret the
26877	  "flags" argument - files were always being opened for writing:
26878	  O_RDONLY is 0, so the old test (flags & O_RDONLY) always
26879	  failed.
26880
26881Fri Mar 02 12:44:33 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26882
26883	* common/msvc_posix_wrapper.cc: Fix whitespace issues.
26884
26885Fri Mar 02 12:18:42 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26886
26887	* HACKING: Add note about how to generate ChangeLog timestamps
26888	  using the unix date command - and I've started generating them in
26889	  the same format as Olly is. (I hope.)
26890
26891Fri Mar  2 11:49:11 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26892
26893	* common/msvc_posix_wrapper.h,common/safeerrno.h,
26894	  common/msvc_posix_wrapper.cc,backends/quartz/btree.cc,
26895	  backends/flint/flint_table.cc,backends/flint/flint_btreebase.cc:
26896	  Move MSVC specific code for opening files into
26897	  msvc_posix_wrapper.cc, and just leave a few conditional includes
26898	  and function calls elsewhere.
26899
26900Thu Mar 01 22:51:42 GMT 2007  Olly Betts <olly@survex.com>
26901
26902	* queryparser/queryparser.lemony: Add casts to U_isupper(), etc to
26903	  suppress warnings from aCC.
26904	* queryparser/queryparser.lemony: Use U_isdigit() instead of
26905	  C_isdigit(), etc - the truncation to a char can cause false
26906	  positives.
26907	* tests/queryparsertest.cc: Add a (rather contrived) regression test
26908	  for the above change.
26909
26910Thu Mar 01 21:49:37 GMT 2007  Olly Betts <olly@survex.com>
26911
26912	* queryparser/utf8itor.h: Add cast to suppress warning from aCC.
26913
26914Thu Mar  1 15:27:09 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26915
26916	* common/utils.c,common/utils.h: For windows, add an om_tostring()
26917	  function for 64 bit integers: time() and GetProcessId() return
26918	  these, and without this, backends/quartz/quartz_log.cc reports
26919	  an error.
26920
26921Thu Mar  1 13:48:46 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26922
26923	* queryparser/queryparser.lemony: Fix handling of hated wildcards
26924	  which don't expand to any terms.
26925
26926Thu Mar  1 13:45:04 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26927
26928	* tests/queryparsertest.cc: Fix last two test cases for hated
26929	  wildcards to check for exactly what should be returned.
26930
26931Thu Mar  1 12:02:04 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
26932
26933	* common/safeerrno.h: Some of Microsoft's C++ compiler versions
26934	  earlier than 2005 do not have _set_errno, so #define it in this
26935	  case.
26936
26937Thu Mar 01 04:28:23 GMT 2007  Olly Betts <olly@survex.com>
26938
26939	* backends/quartz/btree.h: Correct comment ("read" -> "write").
26940
26941Thu Mar 01 04:21:52 GMT 2007  Olly Betts <olly@survex.com>
26942
26943	* backends/flint/flint_table.h: Correct comment ("read" -> "write").
26944
26945Thu Mar 01 01:30:02 GMT 2007  Olly Betts <olly@survex.com>
26946
26947	* tests/queryparsertest.cc: Add some test cases for hated wildcards
26948	  which don't expand to any terms.
26949
26950Thu Mar 01 01:21:42 GMT 2007  Olly Betts <olly@survex.com>
26951
26952	* api/omqueryinternal.cc: Complete truncated comment.  Prefer
26953	  preincrement to postincrement.
26954
26955Wed Feb 28 20:13:35 GMT 2007  Olly Betts <olly@survex.com>
26956
26957	* api/omdocument.cc: Really tweak OmDocumentTerm::add_position() so
26958	  that adding position 0 to an empty termlist takes the shortcut.
26959
26960Wed Feb 28 15:04:25 GMT 2007  Olly Betts <olly@survex.com>
26961
26962	* common/safeerrno.h: Correct <safeerrno.h> to "safeerrno.h" in
26963	  message in #error directive.
26964
26965Wed Feb 28 14:59:29 GMT 2007  Olly Betts <olly@survex.com>
26966
26967	* include/xapian/query.h: Removed documentation comment for
26968	  Xapian::Query::Internal which is no longer relevant (Query objects
26969	  are now immutable once constructed, so parameters can no longer be
26970	  set separately).
26971
26972Wed Feb 28 02:42:31 GMT 2007  Olly Betts <olly@survex.com>
26973
26974	* api/omqueryinternal.cc: Add support for serialising OP_VALUE_RANGE
26975	  queries.  Add support for OP_VALUE_RANGE queries to
26976	  Query::get_description().  If an OP_VALUE_RANGE query has a start
26977	  bound strictly greater than its end bound, simplify it by knowing
26978	  that it can't match anything.
26979	* common/remoteprotocol.h,docs/remote_protocol.html: Bump remote
26980	  protocol version to 24.
26981
26982Wed Feb 28 01:15:00 GMT 2007  Olly Betts <olly@survex.com>
26983
26984	* api/omquery.cc,api/omqueryinternal.cc,include/xapian/query.h,
26985	  matcher/: Add new Query operator OP_VALUE_RANGE which allows
26986	  a query to be filtered by checking if a value lies between
26987	  two limits.
26988	* tests/api_anydb.cc: Add feature test valuerange1.
26989
26990Wed Feb 28 01:07:53 GMT 2007  Olly Betts <olly@survex.com>
26991
26992	* tests/harness/testsuite.cc: Only hook the testsuite into valgrind if
26993	  env var XAPIAN_TESTSUITE_VALGRIND is set, to make it simple to run a
26994	  test program under valgrind normally.
26995	* tests/runtest.in: Set XAPIAN_TESTSUITE_VALGRIND if automatically
26996	  running a test program under valgrind.
26997
26998Tue Feb 27 23:51:34 GMT 2007  Olly Betts <olly@survex.com>
26999
27000	* tests/Makefile.am: Turn subdir-objects back on here so that the
27001	  harness objects end up in the harness subdirectory.
27002
27003Tue Feb 27 22:45:04 GMT 2007  Olly Betts <olly@survex.com>
27004
27005	* examples/delve.cc: Rename "-k" to "-V" since "keys" were renamed to
27006	  "values" long ago.  Keep "-k" as an alias for now, but don't
27007	  advertise it.  Add handling so "-V3" shows value #3 for every
27008	  document in the database.
27009
27010Tue Feb 27 21:35:35 GMT 2007  Olly Betts <olly@survex.com>
27011
27012	* tests/Makefile.am,tests/remotetest.cc: Get rid of remotetest since
27013	  it no longer does anything.
27014
27015Tue Feb 27 21:28:28 GMT 2007  Olly Betts <olly@survex.com>
27016
27017	* tests/api_db.cc,tests/remotetest.cc: Move netstats1 from remotetest
27018	  to apitest.  It will now run for "remotetcp" as well as "remote".
27019
27020Tue Feb 27 21:27:17 GMT 2007  Olly Betts <olly@survex.com>
27021
27022	* tests/harness/backendmanager.cc,tests/harness/backendmanager.h:
27023	  Inline trivial getter and setter methods in the header.  Make
27024	  getter method const.
27025
27026Tue Feb 27 20:22:58 GMT 2007  Olly Betts <olly@survex.com>
27027
27028	* examples/delve.cc: Change to not stem terms by default.  Add
27029	  "-s/--stemmer" option to allow a stemmer to be specified.
27030
27031Tue Feb 27 17:50:13 GMT 2007  Olly Betts <olly@survex.com>
27032
27033	* backends/flint/flint_table.cc: Test revision_supplied rather than
27034	  revision_ so that behaviour matches comments.
27035
27036Tue Feb 27 16:58:56 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
27037
27038	* tests/api_wrdb.cc: Enhance crashrecovery1 to check that the
27039	  readers reference a database with the expected number of
27040	  documents.  This checks that the base files which were removed
27041	  were the correct ones to leave the current database valid.
27042
27043Tue Feb 27 16:54:31 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
27044
27045	* backends/quartz/btree.cc,backends/quartz/btree.h,
27046	  backends/quartz/quartz_database.cc: Apply fix for opening
27047	  databases while under heavy modification to quartz, using Olly's
27048	  attachment to bug #108:
27049	  http://www.xapian.org/cgi-bin/bugzilla/attachment.cgi?id=43
27050	  Verified with loadtest that this resolves the issue.
27051
27052Tue Feb 27 13:12:31 GMT 2007  Olly Betts <olly@survex.com>
27053
27054	* tests/harness/backendmanager.h: Add get_dbtype() method to allow the
27055	  current backend type to be read.
27056	* tests/apitest.cc,tests/apitest.h: Add get_dbtype() function to allow
27057	  BackendManager::get_dbtype() to be called by tests.
27058	* tests/api_wrdb.cc: Add new test crashrecovery1 to verify that the
27059	  backend can recover from the latest revision missing some of the
27060	  base files.
27061
27062Tue Feb 27 12:45:00 GMT 2007  Olly Betts <olly@survex.com>
27063
27064	* tests/harness/backendmanager.cc: Fix how we start xapian-progsrv
27065	  when running under valgrind.
27066
27067Tue Feb 27 11:34:22 GMT 2007  Olly Betts <olly@survex.com>
27068
27069	* backends/flint/flint_database.cc: Remove the old throw for
27070	  DatabaseOpeningError so the new throw for DatabaseModifiedError will
27071	  actually be used.
27072
27073Tue Feb 27 09:22:52 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
27074
27075	* flint_table.cc,flint_table.h,flint_database.cc: If a database is
27076	  being frequently modified (ie, transactions committed extremely
27077	  frequently), flint can fail open all the tables at a consistent
27078	  revision on the first attempt.  The code to handle this in
27079	  flint_database.cc was not firing because flint_table.cc was
27080	  reporting all failures to open a table for reading by throwing an
27081	  exception.  This commit changes flint_table.cc to report failure
27082	  to open at a specific revision by returning false.
27083
27084	  In addition, there was a bug in flint_database.cc which caused
27085	  the attempts to re-try opening a database in this situation to
27086	  fail.  This is now fixed.
27087
27088	  Finally, flint_database.cc now throws a DatabaseModified error if
27089	  100 attempts to reopen the database fail because of continual
27090	  modifications - previously, it would have thrown a
27091	  DatabaseOpening error.
27092
27093	  There is no easy regression test - but my "loadtest.cc" program
27094	  attached to bug #108 shows the problem (if you comment out the
27095	  code which ignores DatabaseOpeningErrors).
27096
27097Tue Feb 27 01:25:00 GMT 2007  Olly Betts <olly@survex.com>
27098
27099	* docs/doxygen_api_conf.in,docs/doxygen_full_conf.in: Need to
27100	  define DOXYGEN so that the previous change to the generated
27101	  errordispatch.h works.  Remove obsolete macros from
27102	  EXPAND_AS_DEFINED and PREDEFINED.
27103	* docs/doxygen_full_conf.in: Increase MAX_DOT_GRAPH_WIDTH from
27104	  800 to 1024 to match doxygen_api_conf.in.
27105
27106Tue Feb 27 00:41:47 GMT 2007  Olly Betts <olly@survex.com>
27107
27108	* matcher/multimatch.cc: Fix warning with SGI's CC.
27109
27110Tue Feb 27 00:35:06 GMT 2007  Olly Betts <olly@survex.com>
27111
27112	* generate-exceptions.in: Wrap errordispatch.h in "#ifndef DOXYGEN"
27113	  and "#endif" because doxygen gets confused by a header full of
27114	  code.
27115
27116Mon Feb 26 21:53:41 GMT 2007  Olly Betts <olly@survex.com>
27117
27118	* tests/findheaders.pl: Remove long unused perl script.
27119
27120Mon Feb 26 19:23:50 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
27121
27122	* tests/api_wrdb.c: test_emptyterm2 used to delete a writable
27123	  database whilst the database was open.  Unfortunately, this
27124	  doesn't work on windows (and it doesn't seem to be easy to make
27125	  it work), so this patch changes the test to close each database
27126	  before opening the next writable database at the same path.
27127	  Fortunately, this seems to be the only test which behaves like
27128	  this.  Also, added a note to the win32 README file to document
27129	  this restriction.
27130
27131Mon Feb 26 19:19:34 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
27132
27133	* docs/Makefile.am: touch apidoc/html/index.html after apidoc.pdf
27134	  is created so that make doesn't attempt to regenerate it due to
27135	  the dependency of apidoc/html/index.html on apidoc.pdf.
27136	  Similarly for sourcedoc/html/index.html.
27137
27138Mon Feb 26 18:36:22 GMT 2007  Olly Betts <olly@survex.com>
27139
27140	* tests/harness/backendmanager.cc: Indent with tabs not spaces.
27141	* tests/harness/index_utils.cc: Add missing space after "if";
27142	  prefer "X.empty()" to "X.size() == 0".
27143
27144Mon Feb 26 16:10:31 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
27145
27146	* tests/harness/index_utils.cc,tests/harness/backendmanager.cc:
27147	  Fix for windows: windows file handling seems to have a bug
27148	  causing end of file conditions in ifstream to be missed.  As a
27149	  result, an empty string was being returned from the get_paragraph
27150	  function in the test harness, resulting in an out-of-bounds error
27151	  when generating a value from the paragraph.  Add a check that the
27152	  paragraph returned isn't empty, and return an empty document if
27153	  it is.  Then, check for empty documents (ie, contain some terms)
27154	  before adding them to the test database.
27155
27156Mon Feb 26 16:05:07 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
27157
27158	* backends/quartz/btree_base.cc,backends/flint/flint_btreebase.cc:
27159	  Fix for windows: string append method with a pointer and length
27160	  causes a segfault-type error on windows if the pointer is NULL,
27161	  even if the length is also 0.  Check for this case when appending
27162	  the bitmap to the base block, since a NULL pointer is passed for
27163	  an empty bitmap when a new database is being created.
27164
27165	  Also, initialise the bit_map0 and bitmap members to 0 in the
27166	  FlintTable_base constructor which takes a string and a char
27167	  argument - they had been omitted from this and were only being
27168	  initialised by the constructor which takes no argument.  This
27169	  didn't seem to be having any negative effect, but doing it makes
27170	  the code neater.
27171
27172Sun Feb 25 23:21:11 GMT 2007  Olly Betts <olly@survex.com>
27173
27174	* backends/inmemory/inmemory_database.cc: Create the RefCntPtr to this
27175	  as an explicit variable to make the code more readable.
27176
27177Sun Feb 25 19:20:33 GMT 2007  Olly Betts <olly@survex.com>
27178
27179	* matcher/multimatch.cc: Fix inconsistent ordering between pages with
27180	  set_sort_by_value_then_relevance (fixes bug#110).
27181	* tests/api_wrdb.cc: Enabled test consistency2.
27182
27183Sun Feb 25 17:28:09 GMT 2007  Olly Betts <olly@survex.com>
27184
27185	* matcher/: Also apply the "decreasing weights with remote database"
27186	  optimisations which we use in the sort_by_relevance case in the
27187	  sort_by_relevance_then_value case.
27188
27189Sat Feb 24 19:35:41 GMT 2007  Olly Betts <olly@survex.com>
27190
27191	* backends/inmemory/inmemory_database.cc: If replace_document is used
27192	  to set the docid of a newly added document which has previously
27193	  existed, then we need to mark that document as valid (caught by
27194	  existing test replacedoc4 in a debug build).
27195
27196Sat Feb 24 17:11:22 GMT 2007  Olly Betts <olly@survex.com>
27197
27198	* tests/api_wrdb.cc: Add regression test consistency2 for bug#110
27199	  (currently skipped since the bug isn't fixed yet).
27200
27201Thu Feb 22 15:18:53 GMT 2007  Olly Betts <olly@survex.com>
27202
27203	* configure.ac: Add proper detection for SGI's C++ (check stderr
27204	  output of "CC -v").  Automatically pass -ptused in CXXFLAGS for
27205	  xapian-core and any applications using xapian-config --cxxflags
27206	  since it seems to be required to avoid template linking errors.
27207
27208Thu Feb 22 09:04:30 GMT 2007  Olly Betts <olly@survex.com>
27209
27210	* docs/Makefile.am: Ship generated RSTHTML files.
27211
27212Wed Feb 21 19:01:06 GMT 2007  Olly Betts <olly@survex.com>
27213
27214	* languages/turkish.sbl: Make some simplifications to the code of the
27215	  turkish stemmer.
27216
27217Wed Feb 21 19:00:11 GMT 2007  Olly Betts <olly@survex.com>
27218
27219	* languages/Makefile.mk,languages/stem.cc,languages/turkish.sbl:
27220	  Add turkish stemmer.
27221
27222Wed Feb 21 18:55:03 GMT 2007  Olly Betts <olly@survex.com>
27223
27224	* languages/compiler/generator.c: Number m_test and c_test variables
27225	  to avoid variable shadowing warnings.
27226
27227Wed Feb 21 18:07:50 GMT 2007  Olly Betts <olly@survex.com>
27228
27229	* languages/compiler/generator.c: Remove duplicate copy of function
27230	  resulting from ham-fisted reverting and applying of patches.
27231
27232Wed Feb 21 18:03:12 GMT 2007  Olly Betts <olly@survex.com>
27233
27234	* languages/compiler/generator.c,languages/compiler/header.h: Number
27235	  mlimit variables to avoid variable shadowing warnings.
27236	* languages/compiler/generator.c: Use "if (foo() == -1) return -1;"
27237	  which avoids a temporary variable (improving readability of
27238	  generated code) and producing very slightly faster code.
27239	* languages/compiler/header.h: Use "#ifdef DISABLE_JAVA" around Java
27240	  generator specific struct members and prototypes.
27241
27242Wed Feb 21 17:47:13 GMT 2007  Olly Betts <olly@survex.com>
27243
27244	* languages/compiler/generator.c: Add "~C" comments to generated
27245	  source for more operations.
27246
27247Tue Feb 20 20:24:30 GMT 2007  Olly Betts <olly@survex.com>
27248
27249	* backends/flint/flint_table.cc,backends/quartz/btree.cc: Ensure
27250	  both_bases is set to false if we don't have both bases when
27251	  opening a table using an existing object.
27252
27253Tue Feb 20 15:57:05 GMT 2007  Olly Betts <olly@survex.com>
27254
27255	* preautoreconf: Fix to handle generating dependencies on generated
27256	  objects, at least for the "checked out tree from SVN" case.  Fixing
27257	  this fully is trickier, but currently this is stopped snapshots
27258	  from bootstrapping.
27259
27260Tue Feb 20 14:28:02 GMT 2007  Charlie Hull
27261
27262	* backends/flint/flint_btreebase.cc,backends/flint/flint_table.cc,
27263	  backends/quartz/btree.cc: Use MS Windows API calls to delete
27264	  files and open files we might want to delete while they are
27265	  still open (i.e. the flint and quartz btree base files).  This
27266	  fixes a problem when a writer can't discard an old revision at the
27267	  exact moment a reader is opening it (bug #108).
27268
27269Tue Feb 20 14:13:43 GMT 2007  Richard Boulton <richard@tartarus.org>
27270
27271	* .: Add generate-exceptions to svn:ignore property.
27272
27273Tue Feb 20 13:36:27 GMT 2007  Olly Betts <olly@survex.com>
27274
27275	* generate-exceptions.in: Add missing '}' to close 'namespace Xapian'
27276	  in generated header 'xapian/error.h'.
27277
27278Tue Feb 20 13:26:19 GMT 2007  Olly Betts <olly@survex.com>
27279
27280	* Makefile.am: Put generated exception headers in BUILT_SOURCES.
27281
27282Tue Feb 20 12:10:18 GMT 2007  Olly Betts <olly@survex.com>
27283
27284	* Makefile.am,configure.ac,generate-exceptions.in,include/Makefile.mk,
27285	  include/xapian/error.h,include/xapian/errortypes.h,net/serialise.cc:
27286	  Replace macro gymnastics with errortypes.h by a perl script which
27287	  generates the headers we require.  It's more flexible, and easier to
27288	  get doxygen to generate documentation from.
27289	* queryparser/queryparser.cc,tests/queryparsertest.cc: Throw new
27290	  Error subclass QueryParserError instead of throwing const char *
27291	  (fixes bug#101).
27292
27293Tue Feb 20 10:37:54 GMT 2007  Olly Betts <olly@survex.com>
27294
27295	* languages/steminternal.cc: p is never NULL once the class is
27296	  successfully constructed, so just use Assert() to confirm this.
27297
27298Tue Feb 20 10:29:25 GMT 2007  Olly Betts <olly@survex.com>
27299
27300	* queryparser/lemon.c: Fix compiler warnings.
27301
27302Mon Feb 19 18:50:12 GMT 2007  Olly Betts <olly@survex.com>
27303
27304	* common/serialise-double.cc,net/remoteconnection.cc: Throw
27305	  NetworkError rather than InternalError for invalid data received
27306	  over the remote protocol.
27307
27308Mon Feb 19 18:12:21 GMT 2007  Olly Betts <olly@survex.com>
27309
27310	* tests/internaltest.cc: Just disable serialisequery1 if the remote
27311	  backend is disabled, like we do for serialiselength1 and
27312	  serialisedoc1 rather than assuming InternalError is due to the
27313	  code being disabled.
27314
27315Mon Feb 19 09:48:02 GMT 2007  Olly Betts <olly@survex.com>
27316
27317	* docs/Makefile.am,docs/XapianAdminNotes.txt,docs/admin_notes.rst:
27318	  Generated file "XapianAdminNotes.html" doesn't fit the naming
27319	  conventions of other files at all, so renamed to "admin_notes.html".
27320	  Rename the source to ".rst" so we can use an implicit rule for
27321	  the conversion, in anticipation of other documentation in ReST
27322	  format.
27323
27324Mon Feb 19 09:10:48 GMT 2007  Olly Betts <olly@survex.com>
27325
27326	* docs/Makefile.am: Fix typos which stopped parallel make from working
27327	  correctly in "docs" subdirectory.
27328
27329Sun Feb 18 22:36:46 GMT 2007  Olly Betts <olly@survex.com>
27330
27331	* common/Makefile.mk,common/omstringstream.h,common/output.h,
27332	  include/Makefile.mk,include/xapian/output.h: Move
27333	  "<xapian/output.h>" to being an internal header in "common/" since
27334	  it hasn't been included by "<xapian.h>" since 0.7.0.
27335
27336Sun Feb 18 22:18:33 GMT 2007  Olly Betts <olly@survex.com>
27337
27338	* include/xapian/dbfactory.h: Add documentation comment for the "prog"
27339	  form of Remote::open_writable().
27340
27341Sun Feb 18 19:31:20 GMT 2007  Olly Betts <olly@survex.com>
27342
27343	* tests/queryparsertest.cc: Add test for "associative NEAR".
27344
27345Sun Feb 18 18:27:40 GMT 2007  Olly Betts <olly@survex.com>
27346
27347	* tests/harness/backendmanager.cc,tests/harness/backendmanager.h:
27348	  Merge BackendManager::change_names_to_paths() into
27349	  index_files_to_database() and make the latter a method of
27350	  class BackendManager.
27351	* tests/harness/backendmanager.cc: Remove mention of muscat36 backends
27352	  from error message listing valid backends.
27353	* tests/harness/backendmanager.h: Comment out prototypes for currently
27354	  disabled methods getdb_inmemoryerr, getwritedb_inmemory, etc.
27355
27356Sat Feb 17 15:38:05 GMT 2007  Olly Betts <olly@survex.com>
27357
27358	* backends/flint/flint_table.cc: new throws if allocation fails
27359	  so we don't need to check the return value.
27360
27361Sat Feb 17 02:08:22 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
27362
27363	* backends/flint/flint_table.cc: Fix memory double-frees if
27364	  FlintTable::close() is called twice on a table (without an open()
27365	  being called in between).  This was happening after a transaction
27366	  failed when the table was next opened.
27367	* backends/quartz/btree.cc: Fix double-frees, similarly.
27368
27369Fri Feb 16 20:11:13 GMT 2007  Olly Betts <olly@survex.com>
27370
27371	* languages/compiler/generator.c: Add missing "~Z" for compatibility
27372	  with C code generation (which we don't use for Xapian).
27373
27374Fri Feb 16 19:51:26 GMT 2007  Olly Betts <olly@survex.com>
27375
27376	* queryparser/tclUniData.h,queryparser/utf8itor.h: The tcl unicode
27377	  routines only have tables for characters in the BMP.  For other
27378	  characters, assume they're word characters, but can't be forced to
27379	  lowercase.
27380
27381Fri Feb 16 19:26:00 GMT 2007  Olly Betts <olly@survex.com>
27382
27383	* queryparser/utf8itor.cc: Fix bug in decoding of 4 byte utf-8
27384	  sequences - the returned value was 0x400000 too large!
27385
27386Thu Feb 15 19:37:26 GMT 2007  Olly Betts <olly@survex.com>
27387
27388	* queryparser/queryparser.lemony,tests/queryparsertest.cc: Keep
27389	  embedded apostrophe's in terms rather than generating a phrase
27390	  search for them.
27391
27392Thu Feb 15 18:42:49 GMT 2007  Olly Betts <olly@survex.com>
27393
27394	* languages/compiler/generator.c,languages/steminternal.cc,
27395	  languages/steminternal.h: Tweak the "grouping" functions to allow
27396	  skipping past multiple occurrences and use this to implement "goto"
27397	  or "gopast" followed by a grouping or "non" grouping more
27398	  efficiently.
27399
27400Thu Feb 15 17:57:43 GMT 2007  Olly Betts <olly@survex.com>
27401
27402	* languages/compiler/generator.c,languages/steminternal.cc,
27403	  languages/steminternal.h: Inline lose_s().  Since lose_s()
27404	  checks if p is NULL, remove checks prior to calling lose_s().
27405	* languages/steminternal.h: Cast from symbol * to int * via
27406	  void * to try to suppress over-eager warnings about alignment.
27407
27408Thu Feb 15 12:43:04 GMT 2007  Olly Betts <olly@survex.com>
27409
27410	* languages/stem.cc: Add support for two letter ISO 639 codes.
27411
27412Thu Feb 15 10:40:40 GMT 2007  Olly Betts <olly@survex.com>
27413
27414	* docs/Makefile.am: Don't try to ship mkdoc.pl.
27415
27416Thu Feb 15 09:58:48 GMT 2007  Olly Betts <olly@survex.com>
27417
27418	* docs/gen_codestructure_doc.in: Fix to work in a VPATH build.
27419
27420Thu Feb 15 09:54:55 GMT 2007  Olly Betts <olly@survex.com>
27421
27422	* languages/compiler/generator.c: Fix Stem::get_description() to
27423	  return the right string.
27424
27425Thu Feb 15 09:44:54 GMT 2007  Olly Betts <olly@survex.com>
27426
27427	* docs/gen_codestructure_doc.in: Add links to viewvcs on
27428	  svn.xapian.org.
27429
27430Thu Feb 15 09:26:07 GMT 2007  Olly Betts <olly@survex.com>
27431
27432	* configure.ac,docs/Makefile.am,docs/gen_codestructure_doc.in,
27433	  docs/mkdoc.pl,preautoreconf: Rework how code_structure.html
27434	  is generated.  Nicer output, and the html document is now
27435	  regenerated if any of the dir_contents files change.
27436
27437Thu Feb 15 07:43:39 GMT 2007  Olly Betts <olly@survex.com>
27438
27439	* Makefile.am,bin/Makefile.mk,configure.ac,examples/Makefile.mk,
27440	  makemanpage.in: Add "makemanpage" script which takes care of all
27441	  the magic needed to generate a man page using help2man.  This
27442	  script is written in perl, but so is help2man, and they're both
27443	  only used in maintainer-mode.
27444
27445Thu Feb 15 06:33:41 GMT 2007  Olly Betts <olly@survex.com>
27446
27447	* bin/Makefile.mk: Fix typos in man page generation rules.
27448
27449Thu Feb 15 06:30:54 GMT 2007  Olly Betts <olly@survex.com>
27450
27451	* examples/Makefile.mk: Fix typos in previous commit.
27452
27453Thu Feb 15 06:03:35 GMT 2007  Olly Betts <olly@survex.com>
27454
27455	* Makefile.am,configure.ac,examples/Makefile,examples/Makefile.am,
27456	  examples/Makefile.mk: Convert examples subdirectory to use
27457	  non-recursive make.  Fixes wishlist bug#97.
27458
27459Thu Feb 15 05:48:38 GMT 2007  Olly Betts <olly@survex.com>
27460
27461	* Makefile.am,bin/Makefile,bin/Makefile.am,bin/Makefile.mk,
27462	  configure.ac: Convert bin subdirectory to use non-recursive make.
27463
27464Wed Feb 14 19:08:49 GMT 2007  Olly Betts <olly@survex.com>
27465
27466	* tests/Makefile.am: There's no longer a need to remove the temporary
27467	  directories for muscat36 backend tests, since we've removed the
27468	  muscat36 backend code.
27469
27470Wed Feb 14 18:58:31 GMT 2007  Olly Betts <olly@survex.com>
27471
27472	* languages/Makefile.mk: Move adjusting of INCLUDES to the top of the
27473	  file.
27474	* queryparser/Makefile.mk: Adjust INCLUDES for a VPATH build.
27475
27476Wed Feb 14 18:38:16 GMT 2007  Olly Betts <olly@survex.com>
27477
27478	* languages/Makefile.mk: Need -Ilanguages for VPATH builds from SVN.
27479
27480Wed Feb 14 18:37:54 GMT 2007  Olly Betts <olly@survex.com>
27481
27482	* languages/steminternal.cc,languages/steminternal.h: Add
27483	  SET_CAPACITY() macro.
27484
27485Wed Feb 14 17:39:50 GMT 2007  Olly Betts <olly@survex.com>
27486
27487	* languages/steminternal.h: Don't cast away const.
27488
27489Wed Feb 14 17:14:14 GMT 2007  Olly Betts <olly@survex.com>
27490
27491	* include/Makefile: Add stub makefile.
27492
27493Wed Feb 14 17:12:41 GMT 2007  Olly Betts <olly@survex.com>
27494
27495	* configure.ac: ac_abs_srcdir, etc aren't available in configure
27496	  itself, so we have to do the work ourselves.
27497
27498Wed Feb 14 12:54:26 GMT 2007  Olly Betts <olly@survex.com>
27499
27500	* configure.ac: Fix typo in last commit.
27501
27502Wed Feb 14 12:19:18 GMT 2007  Olly Betts <olly@survex.com>
27503
27504	* Makefile.am,configure.ac,languages/Makefile.mk: Define automake
27505	  conditional VPATH_BUILD so we can only add extra entries to
27506	  INCLUDES in VPATH builds.
27507
27508Wed Feb 14 11:59:02 GMT 2007  Olly Betts <olly@survex.com>
27509
27510	* languages/Makefile.mk: Ick, we need $(top_srcdir)/languages in
27511	  INCLUDES as the generated sources need to find non-generated
27512	  headers.
27513
27514Wed Feb 14 11:46:43 GMT 2007  Olly Betts <olly@survex.com>
27515
27516	* backends/database.cc,backends/remote/remote-database.cc,
27517	  common/database.h,common/remote-database.h,common/remoteprotocol.h,
27518	  docs/remote_protocol.html,net/remoteserver.cc: Support
27519	  get_lastdocid() on remote databases.
27520
27521Wed Feb 14 11:20:33 GMT 2007  Olly Betts <olly@survex.com>
27522
27523	* Makefile.am,configure.ac,include/Makefile.am,include/Makefile.mk:
27524	  Convert include subdirectory to use non-recursive make.
27525
27526Wed Feb 14 11:05:00 GMT 2007  Olly Betts <olly@survex.com>
27527
27528	* Makefile.am,bin/Makefile.am,configure.ac,examples/Makefile.am,
27529	  getopt/Makefile,getopt/Makefile.am,getopt/Makefile.mk,
27530	  tests/Makefile.am: Convert getopt subdirectory to use non-recursive
27531	  make.
27532
27533Wed Feb 14 10:56:15 GMT 2007  Olly Betts <olly@survex.com>
27534
27535	* tests/harness/Makefile.am: Remove as no longer used.
27536
27537Wed Feb 14 10:38:27 GMT 2007  Olly Betts <olly@survex.com>
27538
27539	* backends/quartz/Makefile.mk,bin/Makefile.am,tests/Makefile.am: Move
27540	  backends/quartz/libbtreecheck.la to libquartzcheck.la.
27541	* getopt/Makefile.am: Distribute getopt/dir_contents.
27542
27543Wed Feb 14 10:20:14 GMT 2007  Olly Betts <olly@survex.com>
27544
27545	* preautoreconf: Handle variables set with "+=" and ":=".
27546
27547Wed Feb 14 10:16:29 GMT 2007  Olly Betts <olly@survex.com>
27548
27549	* include/xapian/database.h: Add documentation comments for DB_*
27550	  constants.
27551
27552Wed Feb 14 10:11:37 GMT 2007  Olly Betts <olly@survex.com>
27553
27554	* examples/.cvsignore: Remove lingering relic of CVS days.
27555
27556Wed Feb 14 10:07:14 GMT 2007  Olly Betts <olly@survex.com>
27557
27558	* Makefile.am,configure.ac,net/Makefile,net/Makefile.am,
27559	  net/Makefile.mk: Convert net subdirectory to use non-recursive make.
27560	  Now libxapian.la is built completely non-recursively.
27561	* docs/Makefile.am,docs/mkdoc.pl: Fix mkdoc.pl to handle directories
27562	  which use non-recursive make.
27563
27564Wed Feb 14 09:10:27 GMT 2007  Olly Betts <olly@survex.com>
27565
27566	* Makefile.am,backends/Makefile,backends/Makefile.am,
27567	  backends/Makefile.mk,backends/flint/Makefile,
27568	  backends/flint/Makefile.am,backends/flint/Makefile.mk,
27569	  backends/inmemory/Makefile,backends/inmemory/Makefile.am,
27570	  backends/inmemory/Makefile.mk,backends/multi/Makefile,
27571	  backends/multi/Makefile.am,backends/multi/Makefile.mk,
27572	  backends/quartz/Makefile,backends/quartz/Makefile.am,
27573	  backends/quartz/Makefile.mk,backends/remote/Makefile,
27574	  backends/remote/Makefile.am,backends/remote/Makefile.mk,
27575	  configure.ac: Convert backends subdirectory (and subdirectories
27576	  thereof) to non-recursive make.
27577
27578Wed Feb 14 08:49:02 GMT 2007  Olly Betts <olly@survex.com>
27579
27580	* preautoreconf: Fix handling of backslash at the end of a line in
27581	  included files.
27582	* preautoreconf: Our handling of which directory a nested include is
27583	  sought from is consistent with automake, so remove the FIXME comment
27584	  about it.
27585
27586Wed Feb 14 08:07:07 GMT 2007  Olly Betts <olly@survex.com>
27587
27588	* Makefile.am,configure.ac,matcher/Makefile,matcher/Makefile.am,
27589	  matcher/Makefile.mk: Convert matcher subdirectory to non-recursive
27590	  make.
27591
27592Wed Feb 14 07:50:19 GMT 2007  Olly Betts <olly@survex.com>
27593
27594	* Makefile.am,api/Makefile,api/Makefile.am,api/Makefile.mk,
27595	  configure.ac: Convert api subdirectory to non-recursive make.
27596
27597Wed Feb 14 07:48:45 GMT 2007  Olly Betts <olly@survex.com>
27598
27599	* preautoreconf: No need to `chdir' to the current directory.
27600	* preautoreconf: Don't bother looking at the file we generate
27601	  when considering included files.
27602	* preautoreconf: Add included files to the dependency list.
27603
27604Wed Feb 14 07:38:19 GMT 2007  Olly Betts <olly@survex.com>
27605
27606	* preautoreconf: Generate dummy rules for the files which
27607	  preautoreconf depends on, so that "make" still works if one
27608	  of them is removed (by build system restructuring).
27609
27610Wed Feb 14 07:24:07 GMT 2007  Olly Betts <olly@survex.com>
27611
27612	* common,languages,tests/harness: svn:ignore: We do need to ignore
27613	  .dirstamp files after all.
27614
27615Wed Feb 14 07:22:29 GMT 2007  Olly Betts <olly@survex.com>
27616
27617	* Makefile.am,common/Makefile,common/Makefile.am,common/Makefile.mk,
27618	  configure.ac: Convert common subdirectory to non-recursive make.
27619
27620Wed Feb 14 07:03:27 GMT 2007  Olly Betts <olly@survex.com>
27621
27622	* .: svn:ignore: Ignore all vim swapfiles.  No need to ignore .deps
27623	  now that dummy.cc is history.
27624
27625Wed Feb 14 06:34:44 GMT 2007  Olly Betts <olly@survex.com>
27626
27627	* tests/stemtest.cc: Force ASCII capitals in sample vocabulary to
27628	  lower case before stemming.
27629
27630Wed Feb 14 06:14:42 GMT 2007  Olly Betts <olly@survex.com>
27631
27632	* Makefile.am,configure.ac,queryparser/Makefile,
27633	  queryparser/Makefile.am,queryparser/Makefile.mk:
27634	  Convert queryparser subdirectory to non-recursive make.
27635	* Makefile.am: Enable automake option "subdir-objects" so
27636	  that built objects for a non-recursively made directory
27637	  go into that directory.
27638
27639Wed Feb 14 06:12:29 GMT 2007  Olly Betts <olly@survex.com>
27640
27641	* tests/harness: svn:ignore: remove .dirstamp and depcomp.
27642
27643Wed Feb 14 06:10:44 GMT 2007  Olly Betts <olly@survex.com>
27644
27645	* languages/Makefile.mk: In maintainer-mode, remove snowball and
27646	  generated allsnowballheaders.h on "make clean".  When not in
27647	  maintainer-mode, remove them on "make maintainer-clean".
27648	* languages/: svn:ignore all vim swap files.
27649
27650Wed Feb 14 05:54:32 GMT 2007  Olly Betts <olly@survex.com>
27651
27652	* languages/Makefile.mk: Distribute the stub languages/Makefile.
27653	* tests/harness/Makefile.mk: No need to explicitly distribute
27654	  harness/Makefile.mk.
27655
27656Wed Feb 14 05:52:08 GMT 2007  Olly Betts <olly@survex.com>
27657
27658	* languages/Makefile.mk: Distribute languages/dir_contents.
27659
27660Wed Feb 14 05:44:10 GMT 2007  Olly Betts <olly@survex.com>
27661
27662	* api/Makefile.am,api/vectortermlist.h,common/Makefile.am,
27663	  queryparser/Makefile.am: We use vectortermlist.h from the
27664	  queryparser directory, so move it from api to common.
27665
27666Wed Feb 14 05:27:13 GMT 2007  Olly Betts <olly@survex.com>
27667
27668	* languages/Makefile.mk,languages/stem.cc: Disable finnish and lovins
27669	  temporarily, until I sort out merging the support for among with
27670	  functions properly.
27671
27672Wed Feb 14 05:24:36 GMT 2007  Olly Betts <olly@survex.com>
27673
27674	* languages/steminternal.cc,languages/steminternal.h: Temporarily
27675	  back out the changes to handling of among with functions.
27676
27677Tue Feb 13 19:11:57 GMT 2007  Olly Betts <olly@survex.com>
27678
27679	* tests/harness/testsuite.cc: If a test throws an unknwon exception,
27680	  say so in the test failure message.  If it throws std::string,
27681	  report the first 40 character (or first line) of the string.
27682
27683Tue Feb 13 17:48:11 GMT 2007  Olly Betts <olly@survex.com>
27684
27685	* languages/steminternal.cc: Fix decoding of 3 byte utf-8 sequences.
27686
27687Tue Feb 13 17:47:22 GMT 2007  Olly Betts <olly@survex.com>
27688
27689	* languages/Makefile.mk: Fix dependency of generated
27690	  languages/allsnowballheaders.h to be on languages/Makefile.mk.
27691
27692Tue Feb 13 17:46:42 GMT 2007  Olly Betts <olly@survex.com>
27693
27694	* languages/compiler/generator.c: Fix missing ";" in generated
27695	  code.
27696
27697Tue Feb 13 15:40:15 GMT 2007  Olly Betts <olly@survex.com>
27698
27699	* languages/Makefile.mk,languages/compiler/driver.c,
27700	  languages/compiler/generator.c,languages/compiler/header.h:
27701	  Changes towards getting C++ generation working.
27702
27703Tue Feb 13 15:39:23 GMT 2007  Olly Betts <olly@survex.com>
27704
27705	* languages/steminternal.cc,languages/steminternal.h: Revert to match
27706	  currently generated code.
27707
27708Tue Feb 13 14:09:31 GMT 2007  Olly Betts <olly@survex.com>
27709
27710	* languages/compiler/: Sync with current snowball SVN + submitted
27711	  patches.
27712
27713Tue Feb 13 10:53:34 GMT 2007  Olly Betts <olly@survex.com>
27714
27715	* tests/harness/backendmanager.cc: If we fail to start
27716	  xapian-tcpsrv, report why (give errno or the error output).
27717
27718Tue Feb 13 10:28:43 GMT 2007  Olly Betts <olly@survex.com>
27719
27720	* tests/remotetest.cc: Prune test cases which are redundant now that
27721	  apitest tests remote and remotetcp: apitest's simplequery1 performs
27722	  a superset of what netmatch1 and tcpmatch1 do; apitest's multidb1
27723	  performs a superset of what netmatch2 does; and the coverage given
27724	  by our netexpand1 is provided by various apitest tests.
27725
27726Mon Feb 12 06:36:58 GMT 2007  Olly Betts <olly@survex.com>
27727
27728	* languages/compiler/generator.c: In backward mode, among
27729	  can't match if there are fewer characters before the current
27730	  position than the minimum length string in the among.
27731
27732Mon Feb 12 05:56:31 GMT 2007  Olly Betts <olly@survex.com>
27733
27734	* configure.ac: Make sure that the languages subdirectory exists in
27735	  case this is a fresh SVN checkout and srcdir != builddir.
27736
27737Mon Feb 12 05:46:49 GMT 2007  Olly Betts <olly@survex.com>
27738
27739	* languages/Makefile.mk,languages/compiler/driver.c: -DDISABLE_JAVA
27740	  to not compile in Java support (inline with Richard's patch to
27741	  the upstream snowball sources).
27742	* languages/Makefile.mk: Remove inaccurate comment about processing
27743	  with automake.  Fix -n option we pass (remove directory name).
27744	  Use "" instead of <> in generated file allsnowballheaders.h.  Remove
27745	  snowball compiler and generated files on "make maintainer-clean".
27746
27747Mon Feb 12 01:08:50 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
27748
27749	* languages/compiler/header.h: Remove commented out header for
27750	  sort() prototype, to match snowball sources.
27751
27752Sun Feb 11 19:28:50 GMT 2007  Olly Betts <olly@survex.com>
27753
27754	* languages/api.h,languages/header.h: Remove headers which are no
27755	  longer used.
27756
27757Sun Feb 11 19:26:50 GMT 2007  Olly Betts <olly@survex.com>
27758
27759	* languages/api.cc,languages/utilities.cc: Remove sources which are
27760	  no longer used.
27761
27762Sun Feb 11 16:22:16 GMT 2007  Olly Betts <olly@survex.com>
27763
27764	* languages/compiler/driver.c: Use #ifdef instead of #if.
27765
27766Sun Feb 11 16:20:44 GMT 2007  Olly Betts <olly@survex.com>
27767
27768	* languages/compiler/driver.c: Disable java support, since we don't
27769	  use it and it means one less source file.
27770
27771Sun Feb 11 16:08:49 GMT 2007  Olly Betts <olly@survex.com>
27772
27773	* languages/compiler/analyser.c,languages/compiler/header.h: Use qsort
27774	  instead the snowball's own sort implementation to reduce the number
27775	  of source files we need for the snowball compiler.
27776
27777Sun Feb 11 16:04:19 GMT 2007  Olly Betts <olly@survex.com>
27778
27779	* languages/Makefile: Add stub Makefile to allow "make", "make check",
27780	  and "make clean" from the languages subdirectory.
27781
27782Sun Feb 11 16:00:51 GMT 2007  Olly Betts <olly@survex.com>
27783
27784	* languages/compiler/analyser.c: Cast the arguments, not the function
27785	  pointer as ISO C allows `void*' and `struct amongvec*' to have
27786	  different representations.
27787
27788Sun Feb 11 15:43:49 GMT 2007  Olly Betts <olly@survex.com>
27789
27790	* languages/compiler/space.c: Fix a typo of a function name in a
27791	  comment.
27792
27793Sun Feb 11 15:23:51 GMT 2007  Olly Betts <olly@survex.com>
27794
27795	* languages/compiler/header.h,languages/compiler/tokeniser.c: Give
27796	  syswords and syswords2 .h extensions for clarity.
27797
27798Sun Feb 11 15:17:28 GMT 2007  Olly Betts <olly@survex.com>
27799
27800	* Makefile.am,api/Makefile.am,api/omstem.cc,configure.ac,dummy.cc,
27801	  languages/Makefile.am,languages/Makefile.mk,languages/compiler/,
27802	  languages/: Update the stemmers to use utf-8 and the latest snowball
27803	  version (based on r421 from snowball SVN).  Further patches are
27804	  required to generate C++ classes from snowball, I'm checking in the
27805	  vanilla compiler first to help us track the patches.
27806
27807Sun Feb 11 14:16:35 GMT 2007  Olly Betts <olly@survex.com>
27808
27809	* api/omstem.cc: Add definition for Xapian::Stem::stem_word().
27810
27811Sun Feb 11 13:15:11 GMT 2007  Olly Betts <olly@survex.com>
27812
27813	* tests/api_anydb.cc,tests/api_db.cc,tests/api_posdb.cc: Prefer
27814	  Xapian::Stem::operator() to Xapian::Stem::stem_word().
27815
27816Sat Feb 10 19:10:31 GMT 2007  Olly Betts <olly@survex.com>
27817
27818	* queryparser/queryparser.lemony: Prefer Xapian::Stem::operator() to
27819	  Xapian::Stem::stem_word().
27820
27821Sat Feb 10 18:34:41 GMT 2007  Olly Betts <olly@survex.com>
27822
27823	* include/xapian/stem.h: Make Xapian::Stem::Internal as @internal for
27824	  doxygen.  Mark Xapian::Stem::stem_word() as deprecated.
27825
27826Sat Feb 10 18:34:05 GMT 2007  Olly Betts <olly@survex.com>
27827
27828	* HACKING: Add brief note about coding style.
27829
27830Sat Feb 10 18:24:28 GMT 2007  Olly Betts <olly@survex.com>
27831
27832	* preautoreconf: Add licence and copyright notice.  Add support for
27833	  automake include directives.  Warn about unknown variables.
27834
27835Sat Feb 10 18:19:26 GMT 2007  Olly Betts <olly@survex.com>
27836
27837	* tests/harness/testsuite.cc: Conditionalise all the valgrind specific
27838	  code on RUNNING_ON_VALGRIND to minimise the overhead if valgrind
27839	  is installed but we aren't running tests under it.
27840
27841Sat Feb 10 17:42:05 GMT 2007  Olly Betts <olly@survex.com>
27842
27843	* tests/harness/index_utils.cc,tests/stemtest.cc: Prefer
27844	  Xapian::Stem::operator() to Xapian::Stem::stem_word().
27845
27846Sat Feb 10 17:27:27 GMT 2007  Olly Betts <olly@survex.com>
27847
27848	* examples/delve.cc,examples/simpleindex.cc,examples/simplesearch.cc:
27849	  Prefer Xapian::Stem::operator() to Xapian::Stem::stem_word().
27850
27851Wed Feb 07 04:23:09 GMT 2007  Olly Betts <olly@survex.com>
27852
27853	* queryparser/queryparser.lemony,queryparser/queryparser.lt: Use
27854	  new/delete instead of malloc/free to allocate struct yyParser
27855	  and pass it around as "yyParser *" instead of "void *".
27856
27857Wed Feb 07 03:44:16 GMT 2007  Olly Betts <olly@survex.com>
27858
27859	* include/xapian/queryparser.h,queryparser/queryparser.cc,
27860	  queryparser/queryparser.lemony,queryparser/queryparser_internal.h,
27861	  tests/queryparsertest.cc: Allow the default prefix to be specified
27862	  so you can use QueryParser to parse a text entry box for "author"
27863	  etc.
27864	* configure.ac: Note API change for LIBRARY_VERSION_INFO updating.
27865
27866Wed Feb 07 01:14:37 GMT 2007  Olly Betts <olly@survex.com>
27867
27868	* common/safeunistd.h: Add '#include <sys/types.h>' so that we've seen
27869	  a typedef for off_t before we hide it behind a #define to avoid a
27870	  compilation error if <sys/types.h> or <wchar.h> is included after
27871	  we are.
27872
27873Tue Feb 06 06:26:24 GMT 2007  Olly Betts <olly@survex.com>
27874
27875	* INSTALL: Mention MSVC makefiles.  Note that we still test build with
27876	  GCC 2.95.4 even though we recommend using a newer version.
27877
27878Tue Feb 06 06:13:48 GMT 2007  Olly Betts <olly@survex.com>
27879
27880	* AUTHORS,HACKING,backends/flint/,backends/quartz/btree.cc,
27881	  backends/quartz/quartz_database.cc,bin/quartzcompact.cc,
27882	  bin/xapian-compact.cc,common/,tests/btreetest.cc,
27883	  tests/harness/backendmanager.cc,tests/harness/testsuite.cc,
27884	  tests/quartztest.cc: Support large files in stat() and fstat()
27885	  when building with MSVC.  Factor MSVC specific header magic
27886	  into new replacement headers "safeunistd.h" and "safesysstat.h".
27887	* AUTHORS: Thanks to Charlie Hull for the original patch to support
27888	  stat() on large files with MSVC (and past MSVC related stuff!)
27889
27890Sat Jan 13 02:06:15 GMT 2007  Olly Betts <olly@survex.com>
27891
27892	* include/xapian/database.h: Add pointer from
27893	  WritableDatabase::add_document() to replace_document() in case the
27894	  user wants to specify the docid themselves.  Also improve the
27895	  wording of the warning about changes not being committed to disk
27896	  right away.
27897
27898Tue Jan  2 15:49:43 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
27899
27900	* backends/quartz/btree.cc,backends/flint/flint_io.h: Patches from
27901	  Charlie Hull to allow 2GB+ index files work when compiled using
27902	  Visual C++.
27903
27904Sat Dec 30 13:48:54 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
27905
27906	* queryparser/queryparser.lemony,include/xapian/queryparser.h:
27907	  Add support for partially entered queries, to better support
27908	  incremental searching.  Also fix a typo in a comment.
27909	* docs/queryparser.html: Document the new partial query option, and
27910	  what it's useful for.
27911	* tests/queryparsertest.cc: Test partial queries.
27912
27913Wed Dec 20 16:42:24 GMT 2006  Olly Betts <olly@survex.com>
27914
27915	* PLATFORMS: Updated with success reports from debian buildds.
27916
27917Wed Dec 20 00:53:19 GMT 2006  Olly Betts <olly@survex.com>
27918
27919	* api/omqueryinternal.cc: Fix "unused parameter" warning when building
27920	  with the remote backend disabled.  Also update a comment - the query
27921	  serialisation isn't really one line of text since we now store term
27922	  names with the length prefixed, and they can contain arbitrary
27923	  characters including linefeeds.
27924
27925Tue Dec 19 20:40:27 GMT 2006  Olly Betts <olly@survex.com>
27926
27927	* tests/Makefile.am: Need libgetopt.la for test programs which
27928	  use the test harness for platforms where GNU getopt isn't in
27929	  the standard C library.
27930
27931Tue Dec 19 20:34:16 GMT 2006  Olly Betts <olly@survex.com>
27932
27933	* queryparser/utf8itor.h: Need <string.h> for strlen.
27934
27935Tue Dec 19 16:35:58 GMT 2006  Olly Betts <olly@survex.com>
27936
27937	* common/omstringstream.h: Fix "warning: comparison between signed and
27938	  unsigned".
27939
27940Tue Dec 19 15:33:19 GMT 2006  Olly Betts <olly@survex.com>
27941
27942	* backends/flint/flint_positionlist.cc: Turn the second (and
27943	  potentially slightly deeper) recursion in encode_interpolative
27944	  and decode_interpolative into explicit iteration in case the
27945	  compiler fails to optimise the tail recursion.
27946
27947Mon Dec 18 03:39:41 GMT 2006  Olly Betts <olly@survex.com>
27948
27949	* matcher/: Add ExactPhrasePostList to handle the common special case
27950	  where the window size of OP_PHRASE is equal to the number of terms
27951	  in the phrase.
27952
27953Mon Dec 18 02:21:32 GMT 2006  Olly Betts <olly@survex.com>
27954
27955	* tests/harness/testsuite.cc: Remove accidentally committed "NO
27956	  PROBLEM" message when running under valgrind.
27957
27958Wed Dec 13 21:15:57 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
27959
27960	* include/xapian/document.h: Another tweak to the documentation
27961	  comment.
27962
27963Wed Dec 13 18:07:51 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
27964
27965	* include/xapian/document.h: Improve documentation comment for
27966	  Document::get_value().
27967
27968Wed Dec 13 03:38:37 GMT 2006  Olly Betts <olly@survex.com>
27969
27970	* include/xapian/enquire.h: In the description of the TradWeight
27971	  class, replace reference to "Muscat 3.6" (meaningless to most
27972	  people) with a generally useful explanation.
27973
27974Wed Dec 13 03:27:14 GMT 2006  Olly Betts <olly@survex.com>
27975
27976	* docs/: svn:ignore XapianAdminNotes.html.
27977
27978Wed Dec 13 03:16:44 GMT 2006  Olly Betts <olly@survex.com>
27979
27980	* configure.ac: Yet more valgrind test improvements!  Give up testing
27981	  valgrind features if VALGRIND_COUNT_LEAKS isn't supported.  Fix the
27982	  common shortcut case to not try logging to /dev/null.<pid> so it
27983	  can actually get used.  Also don't use /dev/null in the --logfile
27984	  case either as it will probably cause problems there too (though I
27985	  don't have an old enough valgrind handy to verify this).  Also report
27986	  results of valgrind tests in a couple more places.
27987
27988Wed Dec 13 00:31:04 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
27989
27990	* docs/Makefile.am: New rules for generating XapianAdminNotes.html
27991	  from XapianAdminNotes.txt
27992	* configure.ac: Check for rst2html, and require it in maintainer
27993	  mode.
27994	* HACKING: document rst2html as a requirement.
27995
27996Tue Dec 12 23:58:13 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
27997
27998	* docs/XapianAdminNotes.txt: Add new document giving an
27999	  introduction to Xapian concepts for system administrators.
28000
28001Tue Dec 12 21:33:38 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
28002
28003	* docs/quartzdesign.html: Fix an unmatched bracket.
28004
28005Tue Dec 12 21:18:54 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
28006
28007	* backends/quartz/quartz_alldocspostlist.cc: Fix memory leak
28008	  discovered by valgrind in QuartzAllDocsPostList constructor: was
28009	  failing to delete the Bcursor.
28010
28011Tue Dec 12 21:05:47 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
28012
28013	* queryparser/queryparser.lemony: Fix parsing of queries of the
28014	  form "+foo* bar", where no terms in the database match the
28015	  wildcard "foo*", but bar does exist in the database.  Previously,
28016	  such queries would be equivalent to "bar".  Now, they will match
28017	  no documents.  This required using a new "QpQuery" object
28018	  internally so we can distinguish between deliberately "match
28019	  nothing" queries, and empty lists of queries.
28020	* tests/api_anydb.cc,tests/queryparsertest.cc: Test above fix, and
28021	  general parsing of wildcard queries with +terms, and test
28022	  performing a match with a query resulting from a wildcard query
28023	  which matches nothing.
28024
28025Tue Dec 12 21:05:15 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
28026
28027	* tests/api_nodb.cc,api/omqueryinternal.cc,api/omquery.cc: Fix some
28028	  copyright assertions I missed.
28029
28030Tue Dec 12 19:38:39 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
28031
28032	* include/xapian/query.h,api/omqueryinternal.cc,api/omquery.cc: Add
28033	  two static Query objects: Xapian::Query::MatchAll and
28034	  Xapian::Query::MatchNothing, which match all documents and no
28035	  documents in the database, respectively.  (Equivalent to
28036	  Query("") and Query()).  Allow empty queries such as MatchNothing
28037	  to be combined with other queries.  Change methods of
28038	  Xapian::Query::Internal to use pointers to query internals
28039	  instead of references, so they can handle the NULL pointer
28040	  internals of an empty query.
28041	* tests/api_nodb.cc: Test combining of MatchNothing queries with
28042	  other queries with OP_AND and OP_OR.
28043
28044Tue Dec 12 20:01:58 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
28045
28046	* configure.ac: Fix valgrind better: --log-file-exactly isn't what
28047	  is wanted, because it messes up if multiple processes are traced.
28048	  Instead, use a temporary file instead of /dev/null, so we don't
28049	  get the permission denied error.
28050
28051Tue Dec 12 19:15:20 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
28052
28053	* configure.ac: Fix detection of valgrind for newer valgrind.  My
28054	  version of valgrind (valgrind-3.2.1-Debian, from ubuntu feisty)
28055	  treats the parameter supplied to --log-file as a base path, and
28056	  appends a process ID. This caused the test for the log-file
28057	  option to fail with permission denied errors due to trying to
28058	  write to files of the form '/dev/null.16098'.  Solution - test
28059	  for the --log-file-exactly option, and use that.  Also, change
28060	  configure.ac to display the result of the tests for valgrind; was
28061	  displaying that it had found it, but not mentioning that it
28062	  couldn't make it work.
28063
28064Tue Dec 05 21:12:12 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
28065
28066	* include/xapian/query.h,api/omqueryinternal.cc: Fix query
28067	  serialisation bug.  Was failing to propagate "curpos" parameter
28068	  across subqueries, resulting in incorrect serialisation of
28069	  termpositions.
28070	* tests/internaltest.cc: Regression test for this bug.
28071
28072Tue Dec 05 01:34:07 GMT 2006  Olly Betts <olly@survex.com>
28073
28074	* HACKING: Clarify how XAPIAN_DEBUG_FLAGS works.
28075
28076Tue Dec 05 01:23:12 GMT 2006  Olly Betts <olly@survex.com>
28077
28078	* examples/quest.cc: Add "--stemmer" option to allow stemming language
28079	  to be set, or stemming to be disabled.
28080
28081Sun Dec 03 00:34:27 GMT 2006  Olly Betts <olly@survex.com>
28082
28083	* queryparser/queryparser.lemony,tests/queryparsertest.cc: Add entries
28084	  to the "unstem" map for prefixed boolean filters (e.g. type:html).
28085	  Also don't corrupt non-ASCII characters in a prefixed boolean
28086	  filter.
28087
28088Sat Nov 25 04:17:23 GMT 2006  Olly Betts <olly@survex.com>
28089
28090	* backends/flint/flint_database.cc,backends/flint/flint_version.cc:
28091	  The "my_fls()" change actually results in a different interpolative
28092	  encoding in a few cases - the old encoding could vary between
28093	  architectures so we have to change it.  So bump the FLINT_VERSION
28094	  and change the "flicklock" file to be "flintlock" as it should have
28095	  been all along!
28096
28097Wed Nov 22 18:55:42 GMT 2006  Olly Betts <olly@survex.com>
28098
28099	* xapian-config.in: Improve --version output so that help2man produces
28100	  a better man page.
28101
28102Mon Nov 20 07:21:07 GMT 2006  Olly Betts <olly@survex.com>
28103
28104	* backends/flint/flint_positionlist.cc: Fix another off-by-one
28105	  error (> should be >=).
28106
28107Mon Nov 20 07:12:11 GMT 2006  Olly Betts <olly@survex.com>
28108
28109	* backends/flint/flint_positionlist.cc: Fix off-by-one error in code
28110	  which calls my_fls().
28111
28112Sat Nov 18 08:32:08 GMT 2006  Olly Betts <olly@survex.com>
28113
28114	* backends/flint/flint_positionlist.cc: "const static" -> "static
28115	  const".
28116
28117Sat Nov 18 08:05:17 GMT 2006  Olly Betts <olly@survex.com>
28118
28119	* backends/flint/flint_positionlist.cc: Make decode_interpolative
28120	  a member function of BitReader.
28121
28122Sat Nov 18 07:45:19 GMT 2006  Olly Betts <olly@survex.com>
28123
28124	* backends/flint/flint_positionlist.cc: Add highly optimised fls()
28125	  implementation and make use of it.
28126
28127Thu Nov 16 04:22:36 GMT 2006  Olly Betts <olly@survex.com>
28128
28129	* m4/xapian.m4: If XAPIAN_CONFIG wasn't specified and xapian-config
28130	  wasn't found, see if the library seems to be present - if so give
28131	  a different error message which suggests the user needs to install
28132	  a -dev or -devel package.
28133
28134Thu Nov 16 02:11:34 GMT 2006  Olly Betts <olly@survex.com>
28135
28136	* docs/install.html: omega tarball is now xapian-omega.
28137
28138Tue Nov 14 22:42:05 GMT 2006  Olly Betts <olly@survex.com>
28139
28140	* tests/harness/Makefile: Add static Makefile so you can make all,
28141	  check, and clean from the subdirectory.
28142	* tests/harness/Makefile.mk: Ship Makefile.mk and Makefile.
28143
28144Tue Nov 14 21:53:45 GMT 2006  Olly Betts <olly@survex.com>
28145
28146	* tests/: Remove muscat36 temporary directories from svn:ignore
28147	  property.
28148
28149Tue Nov 14 19:47:30 GMT 2006  Olly Betts <olly@survex.com>
28150
28151	* configure.ac,tests/Makefile.am,tests/harness/Makefile.mk: Use
28152	  non-recursive make to build the test harness, so it only gets
28153	  built if "make check" is run.
28154
28155Tue Nov 14 19:43:48 GMT 2006  Olly Betts <olly@survex.com>
28156
28157	* tests/quartztest.cc: Removed unused static function unlink_table.
28158
28159Tue Nov 14 17:41:26 GMT 2006  Olly Betts <olly@survex.com>
28160
28161	* include/xapian/queryparser.h,queryparser/queryparser.lemony,
28162	  tests/queryparsertest.cc: Add QueryParser::FLAG_PURE_NOT to allow
28163	  pure NOT queries to be enabled (they are now disabled by default).
28164
28165Tue Nov 14 04:19:40 GMT 2006  Olly Betts <olly@survex.com>
28166
28167	* backends/database.cc,backends/flint/dir_contents,
28168	  backends/quartz/dir_contents,docs/overview.html,
28169	  docs/quartzdesign.html,docs/scalability.html: Make flint the default
28170	  backend.
28171
28172Tue Nov 14 03:25:19 GMT 2006  Olly Betts <olly@survex.com>
28173
28174	* tests/api_nodb.cc: Xapian::Query("") now builds a query which
28175	  matches all documents rather than throwing InvalidArgumentError
28176	  so fix emptyquery1 test.
28177
28178Tue Nov 14 02:03:29 GMT 2006  Olly Betts <olly@survex.com>
28179
28180	* api/omdocument.cc: Tweak OmDocumentTerm::add_position() so that
28181	  adding position 0 to an empty termlist takes the shortcut.
28182
28183Mon Nov 13 05:46:15 GMT 2006  Olly Betts <olly@survex.com>
28184
28185	* docs/queryparser.html: Document the new pure NOT feature.
28186
28187Mon Nov 13 05:24:30 GMT 2006  Olly Betts <olly@survex.com>
28188
28189	* api/omqueryinternal.cc,queryparser/queryparser.lemony,
28190	  tests/queryparsertest.cc: Allow "pure NOT" queries - e.g.
28191	  "NOT apples".  Fixes bug #99.
28192
28193Mon Nov 13 04:54:04 GMT 2006  Olly Betts <olly@survex.com>
28194
28195	* api/omqueryinternal.cc: Undo changes accidentally committed in last
28196	  check-in.
28197
28198Mon Nov 13 04:47:57 GMT 2006  Olly Betts <olly@survex.com>
28199
28200	* api/omqueryinternal.cc,backends/Makefile.am,backends/database.cc,
28201	  backends/muscat36/,configure.ac,docs/overview.html,
28202	  docs/quartzdesign.html,docs/tests.html,include/xapian/dbfactory.h,
28203	  include/xapian/version_h.cc,tests/api_anydb.cc,tests/apitest.cc,
28204	  tests/harness/backendmanager.cc,tests/harness/backendmanager.h,
28205	  tests/harness/index_utils.cc: Remove support for the old Muscat 3.6
28206	  backends.
28207
28208Mon Nov 13 04:02:27 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
28209
28210	* common/database.h,api/omdatabase.cc,
28211	  backends/inmemory/inmemory_database.cc,
28212	  backends/inmemory/inmemory_database.h,
28213	  backends/quartz/Makefile.am,backends/quartz/quartz_database.cc,
28214	  backends/quartz/quartz_alldocspostlist.h,
28215	  backends/quartz/quartz_alldocspostlist.cc,
28216	  backends/flint/Makefile.am,backends/flint/flint_database.cc,
28217	  backends/flint/flint_alldocspostlist.cc,
28218	  backends/flint/flint_alldocspostlist.h:
28219	  Implement posting lists which return a list of all documents in
28220	  the database.  Such a posting list is obtained by calling
28221	  Xapian::Database::postlist_begin() with an empty term (ie, "").
28222	  Also, all Xapian::Database methods which take a termname now
28223	  accept an empty term, and return appropriate values (ie,
28224	  get_termfreq("") and get_collection_freq("") return the number of
28225	  documents in the database, and term_exists("") returns true
28226	  unless the database is empty).  Fixes Bug #47.
28227	* docs/quartzdesign.html: Document the inefficiency of all-document
28228	  postlists for Quartz.
28229	* tests/api_anydb.cc,tests/api_db.cc,tests/api_wrdb.cc: Add tests for
28230	  all-document postlists, and for passing an empty term to all the
28231	  applicable database methods.  This defines the new tests
28232	  allpostlist1, allpostlist2, emptyterm1, and emptyterm2.  These
28233	  tests currently skip for the remote backend where postlist_begin()
28234	  isn't yet implemented.
28235
28236Mon Nov 13 02:06:03 GMT 2006  Olly Betts <olly@survex.com>
28237
28238	* Merge in utf8 branch:
28239
28240	Thu Sep 14 23:49:48 BST 2006  Olly Betts <olly@survex.com>
28241
28242		* queryparser/,tests/queryparsertest.cc: Update to work with
28243		  UTF-8.  Stop normalising accents - the general sentiment
28244		  seems to be firmly against it, and where it is still
28245		  appropriate we should get the stemmers to do it.
28246
28247Sun Nov 12 22:38:56 GMT 2006  Olly Betts <olly@survex.com>
28248
28249	* NEWS: Update from ChangeLog file in preparation for branching and
28250	  merging.
28251
28252Sun Nov 12 19:32:01 GMT 2006  Olly Betts <olly@survex.com>
28253
28254	* backends/flint/flint_database.cc,
28255	  backends/inmemory/inmemory_database.cc,
28256	  backends/inmemory/inmemory_database.h,
28257	  backends/quartz/quartz_database.cc: Fix replace_document() not to
28258	  lose positional information for a document if it is replaced with
28259	  itself with unmodified postings.
28260	* tests/api_wrdb.cc: Add testcase replace_document5 as regression test
28261	  for the replace_document bug.
28262	* backends/remote/remote-database.cc: Fix
28263	  RemoteDatabase::has_positions() to refetch the cached value if it
28264	  might be out of date.
28265
28266Sun Nov 12 17:07:00 GMT 2006  Olly Betts <olly@survex.com>
28267
28268	* docs/Makefile.am: Need to increase pool_size further still to build
28269	  sourcedoc.pdf (2000000 now).
28270
28271Sun Nov 12 16:24:15 GMT 2006  Olly Betts <olly@survex.com>
28272
28273	* HACKING: Add "update ReleaseNotes on wiki" to release checklist.
28274
28275Sun Nov 12 16:23:19 GMT 2006  Olly Betts <olly@survex.com>
28276
28277	* xapian.spec.in: Remove "." from end of "Summary:".  Package
28278	  new man page for xapian-progsrv.
28279
28280Sun Nov 12 00:43:36 GMT 2006  Olly Betts <olly@survex.com>
28281
28282	* docs/stemming.html: Update another "CVS" reference to say "SVN".
28283
28284Sun Nov 12 00:42:22 GMT 2006  Olly Betts <olly@survex.com>
28285
28286	* docs/install.html: Update reference to "CVS" to say "SVN".
28287
28288Thu Nov 09 01:11:52 GMT 2006  Olly Betts <olly@survex.com>
28289
28290	* HACKING: Reorder the release checklist a little.  I've fixed
28291	  update_website.sh to get the latest version from version.php, so
28292	  now only version.php needs updating.
28293
28294Thu Nov 09 00:17:35 GMT 2006  Olly Betts <olly@survex.com>
28295
28296	* NEWS,PLATFORMS,configure.ac: Update for 0.9.9.
28297
28298Wed Nov 08 20:54:31 GMT 2006  Olly Betts <olly@survex.com>
28299
28300	* xapian.spec.in: Apply changes from Neal Becker to run "autoreconf
28301	  --force" so that we don't set rpath for /usr/lib64, and add "libs"
28302	  to %post and %postun.
28303	* AUTHORS: Thank Neal Becker.
28304
28305Wed Nov 08 04:27:17 GMT 2006  Olly Betts <olly@survex.com>
28306
28307	* docs/tests.html: Update for "testsuite" -> "tests/harness".  Mark
28308	  paths and programs with <code>...</code>.  Improve wording in a few
28309	  places.
28310
28311Wed Nov 08 03:10:37 GMT 2006  Olly Betts <olly@survex.com>
28312
28313	* bin/xapian-tcpsrv.cc: Need '#include "safeerrno.h"' for EADDRINUSE.
28314
28315Wed Nov 08 02:36:59 GMT 2006  Olly Betts <olly@survex.com>
28316
28317	* bin/Makefile.am,bin/xapian-progsrv.cc,bin/xapian-tcpsrv.cc:
28318	  xapian-progsrv now uses getopt for option processing, and we can
28319	  now generate a man page using help2man.  Fixes Bug #98.
28320
28321Wed Nov 08 01:47:19 GMT 2006  Olly Betts <olly@survex.com>
28322
28323	* bin/xapian-tcpsrv.cc: If the port requested is in use, exit with
28324	  code 69 (EX_UNAVAILABLE) which is useful if you're trying to
28325	  automate launching of xapian-tcpsrv instances.
28326	* tests/harness/backendmanager.cc: If we can't start xapian-tcpsrv
28327	  because the port is in use, try higher numbered ports.
28328	* tests/harness/testsuite.cc: Catch and report std::string exceptions.
28329
28330Tue Nov 07 22:40:58 GMT 2006  Olly Betts <olly@survex.com>
28331
28332	* net/tcpclient.cc: Turn on TCP_NODELAY for the client too.
28333
28334Tue Nov 07 21:46:39 GMT 2006  Olly Betts <olly@survex.com>
28335
28336	* net/tcpserver.cc: Turn on TCP_NODELAY for xapian-tcpsrv which
28337	  increases throughput for the remote backend over tcp.
28338
28339Tue Nov 07 21:08:57 GMT 2006  Olly Betts <olly@survex.com>
28340
28341	* backends/flint/flint_btreebase.cc: Add missing '#include'-s.
28342
28343Tue Nov 07 17:57:22 GMT 2006  Olly Betts <olly@survex.com>
28344
28345	* backends/quartz/btree_base.cc: Add missing '#include'-s.
28346
28347Tue Nov 07 05:12:40 GMT 2006  Olly Betts <olly@survex.com>
28348
28349	* backends/flint/flint_positionlist.h,backends/flint/flint_table.cc,
28350	  backends/quartz/btree.cc: Add missing '#include <vector>' which
28351	  "utils.h" was implicitly pulling in.
28352	* common/utils.h: Move '#include "safefcntl.h"' to more logical place.
28353
28354Tue Nov 07 04:18:27 GMT 2006  Olly Betts <olly@survex.com>
28355
28356	* common/safefcntl.h: Actually add the new file to SVN.
28357
28358Tue Nov 07 03:36:59 GMT 2006  Olly Betts <olly@survex.com>
28359
28360	* HACKING,backends/flint/flint_io.h,backends/flint/flint_lock.cc,
28361	  backends/flint/flint_lock.h,backends/muscat36/io_system.cc,common/,
28362	  net/tcpserver.cc,tests/harness/backendmanager.cc,
28363	  tests/harness/testsuite.cc: Create "safefcntl.h" as a replacement
28364	  for <fcntl.h> instead of using "utils.h" for this purpose, since
28365	  "utils.h" pulls in many other things we often don't want.
28366	* common/utils.cc,common/utils.h,net/progclient.cc: Move split_words
28367	  to progclient.cc which is the only user of it.  Rewrite it to not
28368	  modified the string being split which risks being O(n^2).
28369	* net/progclient.cc,common/progclient.h: Pass std::string by const
28370	  reference.
28371	* configure.ac: Fix DJGPP build (fork is present but always fails).
28372
28373Tue Nov 07 03:21:24 GMT 2006  Olly Betts <olly@survex.com>
28374
28375	* matcher/biaspostlist.h: Don't need '#include "utils.h"'.
28376
28377Tue Nov 07 01:15:14 GMT 2006  Olly Betts <olly@survex.com>
28378
28379	* common/c_strtod.cc: Remove file which was checked in but is unused!
28380
28381Mon Nov 06 15:24:02 GMT 2006  Olly Betts <olly@survex.com>
28382
28383	* tests/internaltest.cc: Disable serialiselength1 and serialisedoc1
28384	  when the remote backend is disabled.
28385
28386Mon Nov 06 15:23:40 GMT 2006  Olly Betts <olly@survex.com>
28387
28388	* tests/Makefile.am: Fix typo in recent check-in.
28389
28390Mon Nov 06 01:43:37 GMT 2006  Olly Betts <olly@survex.com>
28391
28392	* tests/Makefile.am: Need "harness" in "$(srcdir)" for VPATH builds to
28393	  work.
28394
28395Sun Nov 05 19:55:26 GMT 2006  Olly Betts <olly@survex.com>
28396
28397	* backends/quartz/Makefile.am: Remove explicit dependency of
28398	  libbtreecheck.la on libxapian.la.  We always link in libxapian.la
28399	  and the explicit dependency makes it hard to build things in a
28400	  sane order.
28401
28402Sun Nov 05 19:29:17 GMT 2006  Olly Betts <olly@survex.com>
28403
28404	* net/tcpserver.cc: Don't define on_SIGCHLD() unless we'll use it.
28405	* tests/harness/backendmanager.cc: Use a proper signal handler for
28406	  SIGCHLD if we have waitpid() - POSIX leaves the semantics of
28407	  SIG_IGN on SIGCHLD unspecified.
28408
28409Sun Nov 05 19:11:36 GMT 2006  Olly Betts <olly@survex.com>
28410
28411	* backends/quartz/Makefile.am,backends/quartz/btreecheck.cc,
28412	  backends/quartz/btreecheck.h,bin/Makefile.am,tests/Makefile.am,
28413	  tests/harness/: Use _exit(0) instead of exit(0) in the child
28414	  process which closes the pipe to xapian-tcpsrv in BackendManager
28415	  since we don't want to call atexit functions from the child.  Move
28416	  btreecheck stuff into backends/quartz.
28417
28418Sun Nov 05 17:12:05 GMT 2006  Olly Betts <olly@survex.com>
28419
28420	* Makefile.am,bin/Makefile.am,configure.ac,tests/Makefile.am,
28421	  tests/harness/Makefile.am,tests/harness/dir_contents,testsuite/:
28422	  Move the testsuite harness from "testsuite/" to "tests/harness/".
28423
28424Sun Nov 05 16:36:56 GMT 2006  Olly Betts <olly@survex.com>
28425
28426	* testsuite/backendmanager.cc,testsuite/backendmanager.h: Now needs
28427	  <stdio.h>.  Set SIG_IGN for SIG_CHLD so we don't get zombie child
28428	  processes.
28429
28430Sun Nov 05 03:53:24 GMT 2006  Olly Betts <olly@survex.com>
28431
28432	* tests/apitest.cc: Make backendmanager static.
28433
28434Sun Nov 05 03:51:36 GMT 2006  Olly Betts <olly@survex.com>
28435
28436	* bin/xapian-tcpsrv.cc: Output "Listening..." once the socket is
28437	  open and read for connections.
28438	* testsuite/backendmanager.cc: Use popen() to run xapian-tcpsrv
28439	  and wait for "Listening..." before returning rather than just
28440	  sleeping for 1 second and hoping that's enough.
28441
28442Sun Nov 05 02:54:23 GMT 2006  Olly Betts <olly@survex.com>
28443
28444	* tests/api_db.cc: Remove unnecessary inclusion of backendmanager.h.
28445
28446Fri Nov 03 02:09:26 GMT 2006  Olly Betts <olly@survex.com>
28447
28448	* HACKING: Update debian packaging checklist.
28449
28450Fri Nov 03 00:57:35 GMT 2006  Olly Betts <olly@survex.com>
28451
28452	* docs/Makefile.am: Building sourcedoc.pdf needs a larger pool_size
28453	  now.
28454
28455Thu Nov 02 19:12:34 GMT 2006  Olly Betts <olly@survex.com>
28456
28457	* AUTHORS: Updated.
28458
28459Thu Nov 02 15:41:46 GMT 2006  Olly Betts <olly@survex.com>
28460
28461	* HACKING,NEWS,configure.ac: Update for 0.9.8.
28462
28463Thu Nov 02 15:20:05 GMT 2006  Olly Betts <olly@survex.com>
28464
28465	* PLATFORMS: Update from tinderbox.
28466
28467Thu Nov 02 11:53:53 GMT 2006  Olly Betts <olly@survex.com>
28468
28469	* configure.ac: GCC's -Wendif-labels is enabled by default on versions
28470	  which support it, which simplifies our tests.
28471
28472Thu Nov 02 00:22:44 GMT 2006  Olly Betts <olly@survex.com>
28473
28474	* backends/remote/dir_contents: Update.
28475
28476Wed Nov 01 15:33:12 GMT 2006  Olly Betts <olly@survex.com>
28477
28478	* common/omstringstream.h: Fix our implementation of om_ostringstream
28479	  to work with OmTime.
28480
28481Wed Nov 01 03:27:36 GMT 2006  Olly Betts <olly@survex.com>
28482
28483	* queryparser/queryparser.lemony,tests/queryparsertest.cc: Don't
28484	  require a prefixed boolean term to start with an alphanumeric
28485	  - allow the same set of characters as we do for the second and
28486	  subsequent characters.
28487
28488Sat Oct 28 04:12:13 BST 2006  Olly Betts <olly@survex.com>
28489
28490	* bin/quartzcheck.cc: Add catch for unknown exceptions.
28491
28492Sat Oct 28 03:49:19 BST 2006  Olly Betts <olly@survex.com>
28493
28494	* HACKING,configure.ac,docs/Makefile.am,docs/doxygen_api_conf.in,
28495	  docs/doxygen_full_conf.in: Produce a PDF for apidoc rather than
28496	  PostScript, since the PDF is smaller, and easier to view for most
28497	  users.  Use pdflatex to generate the PDF directly rather than
28498	  going via a DVI file.  This also avoids problems on some Linux
28499	  distros where latex is a symlink to pdfelatex (bug#81, bug#95).
28500
28501Thu Oct 26 22:12:20 BST 2006  Richard Boulton <richard@lemurconsulting.com>
28502
28503	* bin/quartzcheck.cc: Catch (and display) any exceptions which are
28504	  of type "const char *error".  btreecheck.cc raises an exception
28505	  of this type if a btree error is found, and this avoids
28506	  quartzcheck dying quite so horribly in this case.
28507
28508Wed Oct 25 23:30:26 BST 2006  Olly Betts <olly@survex.com>
28509
28510	* configure.ac: -Wendif-labels is new in GCC 3.3.
28511	* configure.ac: Revert accidental change which turned on -Werror in
28512	  non-maintainer builds.
28513	* configure.ac: Avoid non-portable use of double quotes in
28514	  double-quoted backticks.
28515
28516Wed Oct 25 01:19:24 BST 2006  Olly Betts <olly@survex.com>
28517
28518	* configure.ac: Redhat's GCC 2.96 doesn't support -Wundef even
28519	  though real GCC version before and after it do!  Also, use
28520	  -Wshadow and -Wendif-labels even when not in maintainer mode.
28521
28522Tue Oct 24 04:17:58 BST 2006  Olly Betts <olly@survex.com>
28523
28524	* backends/flint/flint_lock.cc,bin/quartzcheck.cc: Eliminate
28525	  a couple of variables whose value is never used.
28526
28527Tue Oct 24 00:31:25 BST 2006  Olly Betts <olly@survex.com>
28528
28529	* backends/quartz/quartz_database.cc: Only force a flush on
28530	  WritableDatabase::allterms_begin() if there are actually pending
28531	  changes.
28532
28533Mon Oct 23 23:49:52 BST 2006  Olly Betts <olly@survex.com>
28534
28535	* backends/flint/flint_database.cc: Only force a flush on
28536	  WritableDatabase::allterms_begin() if there are actually pending
28537	  changes.
28538
28539Mon Oct 23 02:24:12 BST 2006  Olly Betts <olly@survex.com>
28540
28541	* configure.ac: When checking if we need -lm, don't use a constant
28542	  argument to log as the compiler might simply evaluate the whole
28543	  expression at compile time.
28544
28545Sat Oct 21 20:42:52 BST 2006  Olly Betts <olly@survex.com>
28546
28547	* HACKING: Mention automake 1.10 is out but we've not tested it yet.
28548
28549Sat Oct 21 20:39:57 BST 2006  Olly Betts <olly@survex.com>
28550
28551	* HACKING: Add entries to release checklist: make sure new API methods
28552	  are wrapped by the bindings, and that bug submitters are thanked.
28553
28554Fri Oct 20 13:56:50 BST 2006  Richard Boulton <richard@lemurconsulting.com>
28555
28556	* backends/flint/flint_io.cc: Fix compilation on windows (needs to
28557	  #include "safewindows.h" to get definition of SSIZE_T).
28558
28559Tue Oct 17 02:16:37 BST 2006  Olly Betts <olly@survex.com>
28560
28561	* testsuite/backendmanager.cc: Fix compilation when valgrind is
28562	  detected by configure.
28563
28564Thu Oct 12 13:30:05 BST 2006  Olly Betts <olly@survex.com>
28565
28566	* xapian.spec.in: Package xapian-progsrv.
28567
28568Thu Oct 12 00:49:47 BST 2006  Olly Betts <olly@survex.com>
28569
28570	* HACKING: Note that on Debian, tetex-extra is needed for
28571	  fancyhdr.sty.
28572	* HACKING: Note that dch can be used to update debian/changelog.
28573
28574Wed Oct 11 23:35:08 BST 2006  Olly Betts <olly@survex.com>
28575
28576	* docs/Makefile.am: If running latex on refman.ps fails, cat
28577	  refman.log since that is likely to show what failed.
28578
28579Tue Oct 10 17:24:00 BST 2006  Olly Betts <olly@survex.com>
28580
28581	* NEWS: Bump release date.
28582
28583Sun Oct 08 21:41:04 BST 2006  Olly Betts <olly@survex.com>
28584
28585	* NEWS,PLATFORMS,configure.ac: Update for 0.9.7.
28586
28587Sun Oct 08 10:06:51 BST 2006  Olly Betts <olly@survex.com>
28588
28589	* testsuite/testsuite.cc: Use lseek() to skip existing valgrind output
28590	  instead of repeated calls to read.  Handle the old valgrind naming
28591	  convention for log files.
28592
28593Sun Oct 08 09:35:59 BST 2006  Olly Betts <olly@survex.com>
28594
28595	* matcher/multimatch.cc: Fix a couple of typos in comments.
28596
28597Sun Oct 08 05:36:36 BST 2006  Olly Betts <olly@survex.com>
28598
28599	* configure.ac: Disable probing and short-cut tests for a FORTRAN
28600	  compiler.  We don't use one, but current libtool versions always
28601	  check for it regardless.
28602
28603Sat Oct 07 21:19:35 BST 2006  Olly Betts <olly@survex.com>
28604
28605	* configure.ac,tests/runtest.in,testsuite/backendmanager.cc,
28606	  testsuite/testsuite.cc: Fix testsuite harness to show valgrind
28607	  output when a test fails (when running under valgrind in verbose
28608	  mode).  This probably stopped working due to changes in valgrind 3.
28609	* testsuite/backendmanager.cc: Run xapian-tcpsrv under valgrind if
28610	  apitest is.
28611
28612Fri Oct  6 18:27:13 BST 2006  Richard Boulton <richard@lemurconsulting.com>
28613
28614	* tests/runtest.in: export $LIBTOOL, $VALGRIND and $VG_LOG_FD.
28615	* testsuite/backendmanager.cc: If $LIBTOOL, $VALGRIND and
28616	  $VG_LOG_FD are set, run progsrv under valgrind.  Fixes
28617	  Bug #94.
28618	* net/remoteserver.cc: Use an AutoPtr to hold the unserialised
28619	  query, so it gets deleted if an exception is thrown.
28620	* api/omqueryinternal.cc: Use AutoPtr in one place, and a try-catch
28621	  in another, to ensure that partially unserialised queries get
28622	  deleted if exceptions are thrown.
28623	* tests/internaltest.cc: Add copyright notices to file for recent
28624	  change.
28625	* AUTHORS: Add myself as a current developer, now that I've started
28626	  committing to the core again.
28627
28628Fri Oct 06 17:44:21 BST 2006  Olly Betts <olly@survex.com>
28629
28630	* api/omqueryinternal.cc: Fix memory leak in query unserialisation.
28631
28632Fri Oct  6 17:34:59 BST 2006  Richard Boulton <richard@lemurconsulting.com>
28633
28634	* tests/runtest.in: Cache result of test for $VG_LOG_FD if we
28635	  find the new option.  Saves 2 seconds for each invocation on my
28636	  machine, which is half the time when running just a single simple
28637	  test.
28638
28639Fri Oct  6 16:35:46 BST 2006  Richard Boulton <richard@lemurconsulting.com>
28640
28641	* tests/internaltest.cc: Check serialisation and unserialisation of
28642	  Query objects.  Currently fails under valgrind due to a memory
28643	  leak somewhere in the unserialisation code.
28644
28645Thu Oct 05 14:13:55 BST 2006  Olly Betts <olly@survex.com>
28646
28647	* include/xapian/error.h: Only enable the SWIG visibility hook when
28648	  using GCC 4 or later.
28649
28650Wed Oct 04 20:32:43 BST 2006  Olly Betts <olly@survex.com>
28651
28652	* m4/xapian.m4: Remove overquoting.
28653
28654Wed Oct  4 13:28:09 BST 2006  Richard Boulton <richard@lemurconsulting.com>
28655
28656	* common/utils.h: MSVC seems to #define open.  However, the
28657	  workaround for this problem implemented for old versions of
28658	  solaris doesn't work for windows, so avoid applying the fix for
28659	  windows, and just #undef open.  (Windows seems to define some
28660	  open() functions, as well as #defining open!)
28661
28662Wed Oct  4 13:26:18 BST 2006  Richard Boulton <richard@lemurconsulting.com>
28663
28664	* net/serialise.cc: Use "unsigned char" instead of "char" when
28665	  serialising lengths, to avoid problems on platforms where char is
28666	  signed (eg, windows).
28667
28668Wed Oct 04 12:25:51 BST 2006  Olly Betts <olly@survex.com>
28669
28670	* backends/flint/flint_version.cc: Remove "100" from start of file so
28671	  it actually compiles.
28672
28673Mon Oct 02 13:57:56 BST 2006  Olly Betts <olly@survex.com>
28674
28675	* xapian-config.in: Fix typo - "@libdir" should be "@libdir@".
28676	  This would lead to -L/usr/lib not being pruned, which is really
28677	  just a cosmetic problem (the typo was introduced in 0.9.3).
28678
28679Thu Sep 28 02:00:05 BST 2006  Olly Betts <olly@survex.com>
28680
28681	* matcher/multimatch.cc: Reserve the right number of entries in the
28682	  subrsets vector.
28683
28684Fri Sep 22 07:48:32 BST 2006  Olly Betts <olly@survex.com>
28685
28686	* common/serialise-double.cc: Fix warning with aCC.
28687
28688Fri Sep 22 04:43:06 BST 2006  Olly Betts <olly@survex.com>
28689
28690	* HACKING: Expand note on _GLIBCXX_DEBUG;  Now using autoconf 2.60 for
28691	  snapshots and releases;  Now using a libtool patch which improves
28692	  support for -library=stlport4 with Sun's C++;  Give URL to Alexandre
28693	  Duret-Lutz's autotools tutorial, which is much more up-to-date than
28694	  the "goat book".
28695
28696Fri Sep 22 04:42:08 BST 2006  Olly Betts <olly@survex.com>
28697
28698	* common/serialise-double.cc: Fix a few compiler warnings.
28699
28700Fri Sep 22 04:29:18 BST 2006  Olly Betts <olly@survex.com>
28701
28702	* backends/flint/flint_lock.cc: Retry on EINTR from fcntl or waitpid.
28703
28704Fri Sep 22 03:39:12 BST 2006  Olly Betts <olly@survex.com>
28705
28706	* include/xapian/version_h.cc: Only check _GLIBCXX_DEBUG for GCC 3.4
28707	  and later (which are the versions which support it).
28708
28709Fri Sep 22 03:37:02 BST 2006  Olly Betts <olly@survex.com>
28710
28711	* bin/xapian-tcpsrv.cc: Report errno if we catch a Xapian::Error which
28712	  has it set.
28713
28714Fri Sep 22 03:30:25 BST 2006  Olly Betts <olly@survex.com>
28715
28716	* configure.ac: Turn on -Wportability to help ensure our Makefile.am's
28717	  are written in a portable way.
28718
28719Fri Sep 22 03:29:25 BST 2006  Olly Betts <olly@survex.com>
28720
28721	* tests/runtest.in: Turn on GLIBCXX_FORCE_NEW when running tests under
28722	  valgrind.
28723
28724Tue Sep 19 06:28:47 BST 2006  Olly Betts <olly@survex.com>
28725
28726	* tests/internaltest.cc: Check that the the destructor on a temporary
28727	  object gets called at the correct time (Sun C++ deliberately gets
28728	  this wrong by default).
28729
28730Tue Sep 19 04:32:04 BST 2006  Olly Betts <olly@survex.com>
28731
28732	* include/xapian/enquire.h: Revert change to Xapian::Weight's copy
28733	  constructor because it prevents Omega from compiling.
28734
28735Tue Sep 19 04:01:14 BST 2006  Olly Betts <olly@survex.com>
28736
28737	* configure.ac: Make the argument of log() a double to avoid
28738	  potential compiler warnings.
28739
28740Mon Sep 18 22:58:19 BST 2006  Olly Betts <olly@survex.com>
28741
28742	* include/xapian/enquire.h: Xapian::Weight's copy constructor should
28743	  be private not protected (direct copying isn't allowed).
28744
28745Mon Sep 18 07:03:51 BST 2006  Olly Betts <olly@survex.com>
28746
28747	* configure.ac: We reportedly need "-lm" to get maths functions on
28748	  some versions of Sun's C++ compiler.
28749
28750Sat Sep 16 12:08:25 BST 2006  Olly Betts <olly@survex.com>
28751
28752	* configure.ac: Sun's C++ compiler implements non-standards-conforming
28753	  lifetimes for temporary objects (for "backwards compatibility" with
28754	  old Sun C++ specific code).  We don't care about such code, so
28755	  always pass "-features=tmplife" for Sun C++.
28756
28757Sat Sep 16 03:04:57 BST 2006  Olly Betts <olly@survex.com>
28758
28759	* bin/xapian-progsrv.cc: Oops, fix compilation error.
28760
28761Sat Sep 16 02:13:22 BST 2006  Olly Betts <olly@survex.com>
28762
28763	* bin/xapian-progsrv.cc: Fix messages send by xapian-progsrv if an
28764	  exception is thrown while opening the database.
28765
28766Fri Sep 15 06:29:55 BST 2006  Olly Betts <olly@survex.com>
28767
28768	* tests/internaltest.cc: 1/DBL_MAX may be less than DBL_MIN but on
28769	  platforms like x86 which hold results in registers with extra
28770	  precision, this is still representable, but not reliably so
28771	  the test sometimes fails.
28772
28773Fri Sep 15 02:40:52 BST 2006  Olly Betts <olly@survex.com>
28774
28775	* backends/flint/flint_btreebase.cc: Avoid copying beyond the end of
28776	  the bitmap block.
28777
28778Thu Sep 14 02:01:58 BST 2006  Olly Betts <olly@survex.com>
28779
28780	* backends/flint/flint_version.cc: Fix warning from GCC 4.1.0.
28781
28782Wed Sep 13 18:12:43 BST 2006  Olly Betts <olly@survex.com>
28783
28784	* backends/flint/flint_io.cc,backends/flint/flint_io.h,
28785	  backends/flint/flint_version.cc: Fix compiler warnings.
28786
28787Wed Sep 13 06:09:40 BST 2006  Olly Betts <olly@survex.com>
28788
28789	* backends/flint/flint_version.cc,backends/flint/flint_version.h:
28790	  Actually commit the new files!
28791
28792Wed Sep 13 05:21:04 BST 2006  Olly Betts <olly@survex.com>
28793
28794	* backends/flint/,common/utils.h: Rewrite some of flint's low level IO
28795	  functions, and the "iamflint" handling class.
28796
28797Tue Sep 12 20:22:57 BST 2006  Olly Betts <olly@survex.com>
28798
28799	* backends/remote/remote-database.cc: Fix to compile.
28800
28801Tue Sep 12 18:56:16 BST 2006  Olly Betts <olly@survex.com>
28802
28803	* backends/remote/remote-database.cc,common/remote-database.h:
28804	  Fix bug in remote backend which incorrectly returned an empty MSet
28805	  under certain circumstances!
28806
28807Tue Sep 12 11:51:31 BST 2006  Olly Betts <olly@survex.com>
28808
28809	* matcher/msetcmp.cc: "static inline" -> "inline" since the static is
28810	  superfluous and Sun's C++ warns.
28811
28812Mon Sep 11 23:42:28 BST 2006  Olly Betts <olly@survex.com>
28813
28814	* configure.ac: Check $CXX not $CC to identify which C++ compiler we
28815	  have.
28816
28817Mon Sep 11 16:32:37 BST 2006  Olly Betts <olly@survex.com>
28818
28819	* api/omenquire.cc,api/vectortermlist.h,
28820	  backends/flint/flint_positionlist.cc,configure.ac,
28821	  net/remoteconnection.cc,net/tcpclient.cc,
28822	  queryparser/queryparser.lemony,tests/api_anydb.cc,tests/api_db.cc,
28823	  tests/api_nodb.cc: I've discovered that -library=stlport4 puts
28824	  Sun's compiler into an "ANSI C++ compliant" mode, so do that
28825	  automatically in configure and throw away all the annoying special
28826	  bits of alternative code we'd accumulated just for this one
28827	  compiler.
28828
28829Mon Sep 11 16:01:20 BST 2006  Olly Betts <olly@survex.com>
28830
28831	* tests/api_wrdb.cc: Speed up deldoc4 when run in verbose mode
28832	  - some stringstream implementations are very inefficient when
28833	  the string grows long.
28834
28835Mon Sep 11 05:30:29 BST 2006  Olly Betts <olly@survex.com>
28836
28837	* HACKING: Add some advice regarding debugging using -D_GLIBCXX_DEBUG,
28838	  valgrind, and gdb.
28839
28840Sun Sep 10 02:24:47 BST 2006  Olly Betts <olly@survex.com>
28841
28842	* configure.ac: Fix last check-in to actually work.
28843
28844Sat Sep 09 04:19:44 BST 2006  Olly Betts <olly@survex.com>
28845
28846	* configure.ac: Ensure that if _GLIBCXX_DEBUG has been specified that
28847	  it also passed when generating version.h.
28848
28849Sat Sep 09 04:01:40 BST 2006  Olly Betts <olly@survex.com>
28850
28851	* tests/internaltest.cc: Give more useful output should the double
28852	  serialisation test fail.
28853
28854Sat Sep 09 03:19:20 BST 2006  Olly Betts <olly@survex.com>
28855
28856	* include/xapian/version_h.cc: Add a check that _GLIBCXX_DEBUG is
28857	  set compatibly if we're compiling with GNU C++.
28858
28859Sat Sep 09 02:55:38 BST 2006  Olly Betts <olly@survex.com>
28860
28861	* backends/flint/flint_modifiedpostlist.cc: Fix potential access to
28862	  iterator which has already reached its end.
28863
28864Fri Sep 08 04:05:28 BST 2006  Olly Betts <olly@survex.com>
28865
28866	* backends/remote/remote-database.cc,common/,matcher/bm25weight.cc,
28867	  matcher/tradweight.cc,net/,tests/internaltest.cc: Split the double
28868	  serialisation code off into its own file - it is used by BM25Weight
28869	  and TradWeight, so it needs to be compiled in even when the remote
28870	  backend is disabled.
28871
28872Thu Sep 07 00:09:41 BST 2006  Olly Betts <olly@survex.com>
28873
28874	* testsuite/backendmanager.cc: Discard stderr from xapian-tcpsrv
28875	  so we don't get "write error" messages appearing in the testsuite
28876	  output when we've just closed the connection at the client side.
28877
28878Tue Sep 05 21:07:40 BST 2006  Olly Betts <olly@survex.com>
28879
28880	* api/omqueryinternal.cc: Fix warning when remote backend
28881	  is disabled.
28882
28883Tue Sep 05 20:58:52 BST 2006  Olly Betts <olly@survex.com>
28884
28885	* docs/Makefile.am: Add extra dependencies so that parallel make
28886	  doesn't try to run latex twice simultaneously.
28887
28888Tue Sep 05 20:58:13 BST 2006  Olly Betts <olly@survex.com>
28889
28890	* AUTHORS: Updated.
28891
28892Tue Sep 05 20:56:50 BST 2006  Olly Betts <olly@survex.com>
28893
28894	* Makefile.am: Fix typo.
28895
28896Tue Sep 05 03:23:14 BST 2006  Olly Betts <olly@survex.com>
28897
28898	* docs/queryparser.html,queryparser/queryparser.lemony,
28899	  tests/queryparsertest.cc: Implement "ADJ" operator - like
28900	  "NEAR" except the terms must appear in matching documents in the
28901	  same order as in the query.
28902
28903Tue Sep 05 03:19:12 BST 2006  Olly Betts <olly@survex.com>
28904
28905	* backends/remote/remote-database.cc,common/,docs/remote_protocol.html,
28906	  matcher/bm25weight.cc,matcher/tradweight.cc,net/remoteserver.cc,
28907	  net/serialise.cc,tests/internaltest.cc: Change how doubles are
28908	  serialised by TradWeight, BM25Weight, and in the remote backend
28909	  protocol.  The new encoding allows us to transfer any double
28910	  value which can be represented by both machines precisely and
28911	  compactly.
28912
28913Tue Sep 05 02:27:36 BST 2006  Olly Betts <olly@survex.com>
28914
28915	* docs/queryparser.html,queryparser/queryparser.lemony,
28916	  tests/queryparsertest.cc: Allow a distance to be specified
28917	  for NEAR - e.g. "cats NEAR/3 dogs" (bug#92).
28918
28919Fri Sep 01 00:29:10 BST 2006  Olly Betts <olly@survex.com>
28920
28921	* backends/remote/remote-database.cc,common/remote-database.h:
28922	  Fix RemoteDatabase::reopen() to not be const so it actually
28923	  overrides the virtual method it is supposed to.
28924
28925Thu Aug 31 21:40:53 BST 2006  Olly Betts <olly@survex.com>
28926
28927	* testsuite/backendmanager.h: Remove unneeded BackendManager::
28928	  qualifications.
28929
28930Thu Aug 31 17:08:16 BST 2006  Olly Betts <olly@survex.com>
28931
28932	* matcher/msetpostlist.cc,matcher/msetpostlist.h: Move #include
28933	  "omenquireinternal.h" into the header to fix compilation error
28934	  with older versions of GCC.
28935
28936Thu Aug 31 16:38:33 BST 2006  Olly Betts <olly@survex.com>
28937
28938	* PLATFORMS: Added success report for Nexenta (alpha 5).
28939
28940Wed Aug 30 23:41:08 BST 2006  Olly Betts <olly@survex.com>
28941
28942	* configure.ac: Fix generation of version.h to work with Solaris sed.
28943
28944Sat Aug 26 15:28:22 BST 2006  Olly Betts <olly@survex.com>
28945
28946	* docs/index.html: Add links to the wiki.
28947
28948Sun Jul 16 03:48:26 BST 2006  Olly Betts <olly@survex.com>
28949
28950	* common/Makefile.am: Ship remoteprotocol.h.
28951
28952Sun Jul 16 02:23:54 BST 2006  Olly Betts <olly@survex.com>
28953
28954	* common/remote-database.h: Add new file I missed in the previous
28955	  commit.
28956
28957Sun Jul 16 01:58:25 BST 2006  Olly Betts <olly@survex.com>
28958
28959	* Makefile.am,api/,backends/Makefile.am,backends/database.cc,
28960	  backends/dbfactory_remote.cc,backends/flint/flint_database.cc,
28961	  backends/flint/flint_termlist.cc,backends/flint/flint_termlist.h,
28962	  backends/inmemory/inmemory_database.cc,
28963	  backends/inmemory/inmemory_database.h,
28964	  backends/multi/multi_termlist.cc,backends/multi/multi_termlist.h,
28965	  backends/net/,backends/quartz/quartz_termlist.cc,
28966	  backends/quartz/quartz_termlist.h,backends/remote/,bin/Makefile.am,
28967	  bin/xapian-progsrv.cc,bin/xapian-tcpsrv.cc,common/,configure.ac,
28968	  docs/remote_protocol.html,include/xapian/,matcher/,net/,tests/,
28969	  testsuite/backendmanager.cc,testsuite/backendmanager.h: Rewrite
28970	  most of the remote backend.  It now supports most operations
28971	  which a local database does (including writing!), the protocol
28972	  used is more compact, and a number of layers of classes have
28973	  been eliminated and the sequences of method calls simplified, so the
28974	  code should be easier to understand and maintain despite doing more.
28975	  A number of bugs have been fixed in the process.
28976
28977Sat Jul 15 05:10:38 BST 2006  Olly Betts <olly@survex.com>
28978
28979	* tests/api_nodb.cc: Doesn't need <iostream>.
28980
28981Sat Jul 15 01:06:27 BST 2006  Olly Betts <olly@survex.com>
28982
28983	* README: Add link to the wiki.  Tweak wording.
28984
28985Fri Jul 14 15:21:39 BST 2006  Olly Betts <olly@survex.com>
28986
28987	* configure.ac: Note in error message that dot is in graphviz.
28988
28989Fri Jul 14 15:17:36 BST 2006  Olly Betts <olly@survex.com>
28990
28991	* docs/overview.html: Add discussion of uses of terms vs values.
28992
28993Fri Jul 14 15:01:04 BST 2006  Olly Betts <olly@survex.com>
28994
28995	* docs/overview.html: Rewrite the section on Xapian::Document to
28996	  remove some very out-of-date information and make it clearer.
28997
28998Tue Jul 11 18:41:07 BST 2006  Olly Betts <olly@survex.com>
28999
29000	* queryparser/queryparser.lemony: Fix problem I believe was introduced
29001	  by previous fix.
29002	* tests/queryparsertest.cc: Add regression test and some additional
29003	  related test cases.
29004
29005Tue Jul 11 03:32:48 BST 2006  Olly Betts <olly@survex.com>
29006
29007	* queryparser/queryparser.lemony: Fix bug in how we handle prefixed
29008	  quoted phrases and prefixed brackets.
29009	* tests/queryparsertest.cc: Add regression tests.
29010
29011Mon Jul 10 23:17:58 BST 2006  Olly Betts <olly@survex.com>
29012
29013	* include/xapian/database.h: Note that automatically allocated
29014	  document IDs don't reuse IDs from deleted document.
29015
29016Wed Jul 05 01:06:35 BST 2006  Olly Betts <olly@survex.com>
29017
29018	* tests/api_wrdb.cc: Tweak whitespace.
29019
29020Mon Jun 26 23:56:02 BST 2006  Olly Betts <olly@survex.com>
29021
29022	* PLATFORMS: Added success reports for MSVC and sparc linux.
29023
29024Sat Jun 17 02:01:35 BST 2006  Olly Betts <olly@survex.com>
29025
29026	* Makefile.am,tests/Makefile.am: Tweak new check-* rules to be more
29027	  portable and robust.
29028
29029Sun Jun 11 23:29:48 BST 2006  Olly Betts <olly@survex.com>
29030
29031	* queryparser/queryparser.lemony,tests/queryparsertest.cc: Fix parsing
29032	  of loved and hated prefixed phrases and bracketted expressions.  Fix
29033	  handling of stopwords in boolean expressions.  Don't ignore a
29034	  stopword if it's the only query term.  Add regression tests for all
29035	  these cases.
29036
29037Fri Jun 09 15:21:07 BST 2006  Olly Betts <olly@survex.com>
29038
29039	* docs/queryparser.html: Add pointer to set_database when describing
29040	  FLAG_WILDCARD.
29041
29042Fri Jun 09 13:51:03 BST 2006  Olly Betts <olly@survex.com>
29043
29044	* include/xapian/queryparser.h: Add note that FLAG_WILDCARD requires
29045	  you to call set_database.
29046
29047Fri Jun 09 13:49:34 BST 2006  Olly Betts <olly@survex.com>
29048
29049	* api/omqueryinternal.cc: Don't compile query serialisation if the
29050	  remote backend is disabled.
29051
29052Fri Jun 09 01:48:25 BST 2006  Olly Betts <olly@survex.com>
29053
29054	* api/omdocument.cc,tests/api_nodb.cc: add_value failed to replace an
29055	  existing value with the same number, contrary to what the
29056	  documentation says (bug #82).
29057
29058Thu Jun 08 21:36:54 BST 2006  Olly Betts <olly@survex.com>
29059
29060	* matcher/multimatch.cc: Don't fetch the document data when fetching
29061	  the value to sort on.  Simple benchmarking showed this to speed
29062	  up sort by value by a factor of between 3 and 9!
29063
29064Sun Jun 04 17:36:01 BST 2006  Olly Betts <olly@survex.com>
29065
29066	* backends/flint/: Remove forced flush when iterating the posting list
29067	  of a term which has modified posting pending.
29068
29069Sat Jun 03 21:38:43 BST 2006  Olly Betts <olly@survex.com>
29070
29071	* backends/flint/flint_database.cc,backends/flint/flint_termlist.cc,
29072	  backends/quartz/quartz_database.cc,tests/api_wrdb.cc: We can't flush
29073	  during a transaction, which means that we can't use flush to avoid
29074	  having to handle corner cases (like deleting a document right after
29075	  adding it before it's been flushed) so handle corner cases properly
29076	  (except for postlist_begin() and allterms_begin() which are
29077	  harder - these now throw UnimplementedError at least...)
29078	* backends/flint/flint_database.cc,backends/quartz/quartz_database.cc:
29079	  replace_document(did, doc) was double-incrementing the "changes"
29080	  counter when document did didn't exist - fixed.
29081
29082Sat Jun 03 17:53:41 BST 2006  Olly Betts <olly@survex.com>
29083
29084	* HACKING: Document "make check-flint" and "make check-quartz".
29085
29086Sat Jun 03 17:49:25 BST 2006  Olly Betts <olly@survex.com>
29087
29088	* Makefile.am,tests/Makefile.am: Added make targets "check-flint" and
29089	  "check-quartz" which run the subset of tests which test the flint
29090	  and quartz backends respectively.
29091
29092Sat Jun 03 04:03:00 BST 2006  Olly Betts <olly@survex.com>
29093
29094	* api/omdatabase.cc,backends/database.cc,
29095	  backends/flint/flint_database.cc,backends/flint/flint_database.h,
29096	  backends/inmemory/inmemory_database.cc,
29097	  backends/inmemory/inmemory_database.h,backends/quartz/dir_contents,
29098	  backends/quartz/quartz_database.cc,backends/quartz/quartz_database.h,
29099	  common/database.h,include/xapian/database.h,tests/apitest.cc:
29100	  Rework transactions to support "unflushed" transactions, and so
29101	  they work with quartz as well as with flint.
29102
29103Sat Jun 03 03:18:22 BST 2006  Olly Betts <olly@survex.com>
29104
29105	* HACKING: Document "make check-remote".
29106
29107Sat Jun 03 00:23:46 BST 2006  Olly Betts <olly@survex.com>
29108
29109	* backends/database.cc,backends/flint/dir_contents,
29110	  backends/flint/flint_database.cc,backends/flint/flint_database.h,
29111	  backends/quartz/dir_contents,common/database.h,
29112	  include/xapian/database.h,tests/: Implement transactions for
29113	  flint.
29114
29115Sat Jun 03 00:14:37 BST 2006  Olly Betts <olly@survex.com>
29116
29117	* tests/apitest.cc: Run tests on flint if flint is enabled, rather
29118	  than if quartz is enabled.
29119
29120Sun May 28 23:01:45 BST 2006  Olly Betts <olly@survex.com>
29121
29122	* common/omtime.h: Add operator+ and operator+= with argument of
29123	  type Xapian::timeout.
29124
29125Sun May 28 22:02:30 BST 2006  Olly Betts <olly@survex.com>
29126
29127	* include/xapian/errorhandler.h: Fix typos in private assignment
29128	  operator and copy ctor (Error -> ErrorHandler!)
29129
29130Sun May 28 21:54:05 BST 2006  Olly Betts <olly@survex.com>
29131
29132	* Makefile.am,tests/Makefile.am: Add "check-remote" target which runs
29133	  the subset of tests which test the remote backend.
29134
29135Thu May 25 16:06:06 BST 2006  Olly Betts <olly@survex.com>
29136
29137	* api/omdatabase.cc,backends/database.cc,common/database.h:
29138	  Merge Xapian::Internal::open_database() into the Xapian::Database
29139	  ctor which calls it; merge Xapian::Internal::open_writable_database()
29140	  into the Xapian::WritableDatabase ctor which calls it.
29141
29142Wed May 24 08:28:40 BST 2006  Olly Betts <olly@survex.com>
29143
29144	* net/socketserver.cc: OmLineBuf -> OmSocketLineBuf.
29145
29146Wed May 24 08:27:22 BST 2006  Olly Betts <olly@survex.com>
29147
29148	* common/socketserver.h: OmLineBuf -> OmSocketLineBuf.
29149
29150Wed May 24 07:50:51 BST 2006  Olly Betts <olly@survex.com>
29151
29152	* common/Makefile.am,common/omlinebuf.h,common/socketcommon.h,
29153	  net/Makefile.am,net/omlinebuf.cc,net/socketcommon.cc:
29154	  Merge OmLineBuf into OmSocketLineBuf.
29155	* common/Makefile.am: Fix netutils.cc to be conditionally included
29156	  when the remote backend is enabled, not the quartz backend!
29157
29158Tue May 23 18:59:09 BST 2006  Olly Betts <olly@survex.com>
29159
29160	* api/Makefile.am,api/errorhandler.cc,api/omerror.cc,
29161	  include/xapian/error.h,include/xapian/errorhandler.h:
29162	  Redo the Xapian::Error and Xapian::ErrorHandler classes.
29163	  The new versions have better, clearer documentation comments
29164	  and are cleaner internally.
29165	* include/xapian/error.h: Add hook to allow SWIG bindings to
29166	  be built using GCC's visibility support.
29167
29168Tue May 23 10:08:02 BST 2006  Olly Betts <olly@survex.com>
29169
29170	* backends/quartz/btree.cc: Remove superfluous '#include <autoptr.h>'.
29171
29172Tue May 23 09:42:52 BST 2006  Olly Betts <olly@survex.com>
29173
29174	* backends/Makefile.am,backends/database.cc,
29175	  backends/dbfactory_remote.cc,backends/net/net_database.cc,
29176	  backends/net/net_termlist.cc,backends/net/net_termlist.h,common/,
29177	  include/xapian/dbfactory.h,matcher/,net/socketclient.cc,
29178	  net/socketcommon.cc: Eliminate the NetClient class by merging
29179	  it into NetDatabase.
29180
29181Mon May 22 08:51:16 BST 2006  Olly Betts <olly@survex.com>
29182
29183	* common/omtime.h: Fix OmTime::operator> which failed to return false
29184	  if the seconds were strictly less but the microsecond fraction was
29185	  more.
29186
29187Sun May 21 11:53:29 BST 2006  Olly Betts <olly@survex.com>
29188
29189	* Makefile.am,bin/Makefile.am,docs/Makefile.am,examples/Makefile.am:
29190	  Make use of the dist_ prefix to avoid having to list files in
29191	  EXTRA_DIST as well as in *_DATA and man_MANS.
29192
29193Sun May 21 05:55:00 BST 2006  Olly Betts <olly@survex.com>
29194
29195	* api/dir_contents,getopt/dir_contents,queryparser/dir_contents:
29196	  Add missing dir_contents files.
29197
29198Sun May 21 05:45:44 BST 2006  Olly Betts <olly@survex.com>
29199
29200	* tests/remotetest.cc: Remove unnecessary "#include <sys/wait.h>".
29201
29202Sat May 20 11:02:43 BST 2006  Olly Betts <olly@survex.com>
29203
29204	* docs/Makefile.am: doxygen_api_conf and doxygen_full_conf are
29205	  generated, so aren't in srcdir!
29206
29207Sat May 20 10:14:52 BST 2006  Olly Betts <olly@survex.com>
29208
29209	* docs/Makefile.am: automake adds suitable rules for rebuilding
29210	  doxygen_api_conf and doxygen_source_conf, so remove our less
29211	  accurate versions.
29212
29213Fri May 19 14:43:47 BST 2006  Olly Betts <olly@survex.com>
29214
29215	* docs/Makefile.am,docs/doxygen_api_conf.in,docs/doxygen_full_conf.in:
29216	  Remove "XAPIAN_DEPRECATED" from generated documentation.
29217	* docs/Makefile.am: Fix dependencies for regenerating the doxygen
29218	  documentation.
29219
29220Fri May 19 08:12:51 BST 2006  Olly Betts <olly@survex.com>
29221
29222	* docs/scalability.html: quartzcompact and xapian-compact now allow
29223	  you to set the blocksize, so there's no need to use copydatabase
29224	  if you want to migrate a database to a larger blocksize.  Mention
29225	  gmane.  Other minor tweaks.
29226
29227Fri May 19 07:52:23 BST 2006  Olly Betts <olly@survex.com>
29228
29229	* bin/quartzcompact.cc: Add --blocksize option to allow the blocksize
29230	  to be set (default is 8K as before.)
29231
29232Fri May 19 07:47:13 BST 2006  Olly Betts <olly@survex.com>
29233
29234	* bin/xapian-compact.cc: Add --blocksize option to allow the blocksize
29235	  to be set (default is 8K as before.)
29236
29237Thu May 18 11:24:17 BST 2006  Olly Betts <olly@survex.com>
29238
29239	* api/vectortermlist.h: Whitespace tweak.
29240
29241Tue May 16 10:09:53 BST 2006  Olly Betts <olly@survex.com>
29242
29243	* HACKING: Update details of the debian stable backport version
29244	  numbering scheme.
29245
29246Tue May 16 06:55:14 BST 2006  Olly Betts <olly@survex.com>
29247
29248	* configure.ac: Remove unused variable from snprintf testing code.
29249
29250Tue May 16 04:32:34 BST 2006  Olly Betts <olly@survex.com>
29251
29252	* HACKING: Expand on the debian package building checklist.
29253
29254Tue May 16 04:32:07 BST 2006  Olly Betts <olly@survex.com>
29255
29256	* include/xapian/enquire.h: Note that "set_sort_by_relevance" is the
29257	  default setting.
29258
29259Mon May 15 06:59:01 BST 2006  Olly Betts <olly@survex.com>
29260
29261	* HACKING: Update debian package building checklist.
29262
29263Mon May 15 03:53:53 BST 2006  Olly Betts <olly@survex.com>
29264
29265	* PLATFORMS: Update one more result before the actual release.
29266
29267Mon May 15 02:15:18 BST 2006  Olly Betts <olly@survex.com>
29268
29269	* NEWS,configure.ac: Updated for 0.9.6.
29270
29271Mon May 15 01:35:33 BST 2006  Olly Betts <olly@survex.com>
29272
29273	* PLATFORMS: Updated in preparation for the next release.
29274
29275Sun May 14 19:05:37 BST 2006  Olly Betts <olly@survex.com>
29276
29277	* backends/flint/flint_lock.h: Added workaround for newlib header bug.
29278
29279Sat May 13 07:04:14 BST 2006  Olly Betts <olly@survex.com>
29280
29281	* configure.ac: Fix snprintf tests.
29282
29283Sat May 13 04:52:53 BST 2006  Olly Betts <olly@survex.com>
29284
29285	* configure.ac: Tweak version.h generation to cope with CXXCPP putting
29286	  carriage returns into its output as can happen on cygwin.
29287
29288Fri May 12 21:49:33 BST 2006  Olly Betts <olly@survex.com>
29289
29290	* HACKING: Update with the libtool patches we're now using.
29291
29292Fri May 12 21:43:02 BST 2006  Olly Betts <olly@survex.com>
29293
29294	* include/xapian/version_h.cc: Trim trailing whitespace.
29295
29296Fri May 12 20:43:47 BST 2006  Olly Betts <olly@survex.com>
29297
29298	* configure.ac,include/xapian/version_h.cc: Replace @@ with " instead
29299	  of @, so we can write @deprecated.  Fix more compilation problems.
29300
29301Fri May 12 19:00:08 BST 2006  Olly Betts <olly@survex.com>
29302
29303	* include/xapian/version_h.cc: Fix compilation problem.
29304
29305Fri May 12 01:19:14 BST 2006  Olly Betts <olly@survex.com>
29306
29307	* api/version.cc,include/xapian/version_h.cc: Rename
29308	  Xapian::xapian_version_string() and companions to
29309	  Xapian::version_string().  Keep the old functions as aliases
29310	  which are marked as deprecated.
29311
29312Wed May 10 18:25:59 BST 2006  Olly Betts <olly@survex.com>
29313
29314	* include/xapian/enquire.h: Remove bogus documentation for a
29315	  parameter which doesn't exist.
29316
29317Tue May 09 19:17:23 BST 2006  Olly Betts <olly@survex.com>
29318
29319	* bin/Makefile.am: Remove trailing whitespace.
29320	* bin/xapian-compact.cc: Fix renaming of "iamflint.tmp" for MS Windows
29321	  where you can't rename an open file.
29322
29323Tue May 09 15:57:26 BST 2006  Olly Betts <olly@survex.com>
29324
29325	* configure.ac: Fix reversed conditional in test for snprintf (which
29326	  affects cygwin).
29327
29328Mon May 01 21:49:46 BST 2006  Olly Betts <olly@survex.com>
29329
29330	* tests/queryparsertest.cc: Add another prefix testcase to improve
29331	  coverage.
29332
29333Sat Apr 29 20:16:46 BST 2006  Olly Betts <olly@survex.com>
29334
29335	* docs/remote_protocol.html: Document keep-alive messages.
29336
29337Thu Apr 13 14:49:48 BST 2006  Olly Betts <olly@survex.com>
29338
29339	* queryparser/queryparser.lemony,tests/queryparsertest.cc: Add rules
29340	  to handle a boolean filter with a "+" in front (such as
29341	  +site:xapian.org).
29342
29343Wed Apr 12 18:42:31 BST 2006  Olly Betts <olly@survex.com>
29344
29345	* PLATFORMS: More updates for 0.9.5.
29346
29347Tue Apr 11 19:56:16 BST 2006  Olly Betts <olly@survex.com>
29348
29349	* matcher/Makefile.am: Need to add "-I${top_builddir}/include" to
29350	  INCLUDES so that xapian/version.h is found.
29351
29352Tue Apr 11 19:24:59 BST 2006  Olly Betts <olly@survex.com>
29353
29354	* backends/database.cc,configure.ac,include/xapian/version_h.cc,
29355	  matcher/multimatch.cc,matcher/stats.cc,tests/apitest.cc,
29356	  testsuite/backendmanager.cc,testsuite/backendmanager.h:
29357	  Eliminate XAPIAN_BUILD_BACKEND_* from config.h and just use
29358	  XAPIAN_HAS_*_BACKEND from xapian/version.h instead.
29359
29360Tue Apr 11 18:32:52 BST 2006  Olly Betts <olly@survex.com>
29361
29362	* include/Makefile.am: Add xapian/version.h.timestamp as a dependency
29363	  on all-local so that xapian/version.h actually gets regenerated
29364	  when required.
29365
29366Tue Apr 11 17:52:24 BST 2006  Olly Betts <olly@survex.com>
29367
29368	* api/omenquire.cc,backends/flint/flint_btreebase.cc,
29369	  backends/quartz/btree_base.cc,common/utils.h,configure.ac:
29370	  Disable MSVC warning 4800 (on int to bool conversions) in config.h
29371	  and then we can remove the "fixes" elsewhere.
29372
29373Tue Apr 11 16:28:01 BST 2006  Olly Betts <olly@survex.com>
29374
29375	* configure.ac: Simpler check for VALGRIND being set to empty value.
29376
29377Tue Apr 11 01:04:32 BST 2006  Olly Betts <olly@survex.com>
29378
29379	* PLATFORMS: Add a summary.
29380
29381Tue Apr 11 00:45:55 BST 2006  Olly Betts <olly@survex.com>
29382
29383	* PLATFORMS: Updates from boxes which were down when I did the
29384	  release.
29385
29386Mon Apr 10 17:06:46 BST 2006  Olly Betts <olly@survex.com>
29387
29388	* api/omenquire.cc,backends/flint/flint_btreebase.cc,
29389	  backends/flint/flint_utils.h,backends/quartz/btree_base.cc,
29390	  backends/quartz/quartz_utils.h,common/omassert.h:
29391	  Fix more MSVC7 warnings (I spoke too soon).
29392
29393Mon Apr 10 15:56:52 BST 2006  Olly Betts <olly@survex.com>
29394
29395	* include/xapian/query.h: Another MSVC7 warning fix.  Should be free
29396	  of warnings now.
29397
29398Mon Apr 10 14:46:34 BST 2006  Olly Betts <olly@survex.com>
29399
29400	* backends/flint/flint_database.cc,backends/flint/flint_utils.h,
29401	  backends/quartz/quartz_utils.h,bin/quartzcompact.cc,
29402	  bin/xapian-compact.cc,common/omdebug.h,common/utils.h,
29403	  include/xapian/query.h,languages/header.h,matcher/multimatch.cc:
29404	  Fix assorted MSVC7 warnings.
29405
29406Sun Apr 09 04:56:09 BST 2006  Olly Betts <olly@survex.com>
29407
29408	* HACKING: Expand on details of what's required when changing Xapian
29409	  (discuss documentation requirements, expand on why feature tests
29410	  are vital).
29411	* HACKING: Update section on building debian packages.
29412
29413Sat Apr 08 20:02:19 BST 2006  Olly Betts <olly@survex.com>
29414
29415	* NEWS,PLATFORMS,configure.ac: Updated for 0.9.5.
29416
29417Fri Apr 07 23:53:08 BST 2006  Olly Betts <olly@survex.com>
29418
29419	* tests/api_anydb.cc,tests/api_db.cc,tests/btreetest.cc: Correct
29420	  spelling of "existant" to "existent".
29421
29422Fri Apr 07 19:13:24 BST 2006  Olly Betts <olly@survex.com>
29423
29424	* configure.ac: We don't use strcasecmp, so don't probe for it.
29425
29426Fri Apr 07 18:30:40 BST 2006  Olly Betts <olly@survex.com>
29427
29428	* common/utils.h: Fixes for MSVC7 compilation.
29429
29430Fri Apr 07 17:19:43 BST 2006  Olly Betts <olly@survex.com>
29431
29432	* backends/flint/flint_table.cc,backends/quartz/btree.cc: Fixes for
29433	  MSVC compilation.
29434
29435Fri Apr 07 16:04:08 BST 2006  Olly Betts <olly@survex.com>
29436
29437	* backends/flint/flint_cursor.h: Fix incorrect example code in
29438	  documentation comment.
29439	* backends/flint/flint_table.cc,backends/flint/flint_table.h:
29440	  Remove unused method FlintTable::find_key().
29441
29442Fri Apr 07 16:02:40 BST 2006  Olly Betts <olly@survex.com>
29443
29444	* AUTHORS: Updated.
29445
29446Fri Apr 07 15:58:31 BST 2006  Olly Betts <olly@survex.com>
29447
29448	* debian/control.in: copydatabase and xapian-compact are packaged
29449	  in xapian-tools, so add them to the documented list of tools
29450	  included.
29451
29452Fri Apr 07 15:12:43 BST 2006  Olly Betts <olly@survex.com>
29453
29454	* net/tcpserver.cc: Set xapian-tcpsrv to allow 5 connections in the
29455	  listen queue instead of just one.
29456
29457Fri Apr 07 13:28:15 BST 2006  Olly Betts <olly@survex.com>
29458
29459	* tests/remotetest.cc: Check mset size in tcpmatch1.
29460
29461Fri Apr 07 01:26:03 BST 2006  Olly Betts <olly@survex.com>
29462
29463	* xapian.spec.in: Man pages may be gzipped.
29464
29465Thu Apr 06 14:41:29 BST 2006  Olly Betts <olly@survex.com>
29466
29467	* HACKING: aclocal is part of automake, not autoconf.
29468
29469Thu Apr 06 01:29:21 BST 2006  Olly Betts <olly@survex.com>
29470
29471	* bin/,examples/copydatabase.cc,examples/delve.cc,examples/quest.cc:
29472	  In the "--help" output, add "Options:" before the list of options.
29473
29474Thu Apr 06 01:11:31 BST 2006  Olly Betts <olly@survex.com>
29475
29476	* xapian-config.in: Tweak to improve help2man output.
29477
29478Wed Apr 05 16:26:15 BST 2006  Fabrice Colin
29479
29480	* xapian.spec.in: Package man pages.
29481
29482Wed Apr 05 16:23:49 BST 2006  Olly Betts <olly@survex.com>
29483
29484	* Makefile.am,bin/Makefile.am,examples/Makefile.am: Include generated
29485	  man pages in the distribution tarball.
29486
29487Wed Apr 05 02:48:27 BST 2006  Olly Betts <olly@survex.com>
29488
29489	* debian/TODO: Updated.
29490
29491Wed Apr 05 02:44:15 BST 2006  Olly Betts <olly@survex.com>
29492
29493	* ./,examples: svn:ignore man pages.
29494
29495Wed Apr 05 02:43:08 BST 2006  Olly Betts <olly@survex.com>
29496
29497	* bin/Makefile.am,examples/Makefile.am: No need to make man pages
29498	  depend on config.h, since the binaries will already.
29499
29500Wed Apr 05 02:42:42 BST 2006  Olly Betts <olly@survex.com>
29501
29502	* Makefile.am: Generate man page for xapian-config.
29503
29504Wed Apr 05 00:59:53 BST 2006  Olly Betts <olly@survex.com>
29505
29506	* examples/Makefile.am: Use help2man to generate manpages for the
29507	  installed binaries in examples.
29508
29509Wed Apr 05 00:56:11 BST 2006  Olly Betts <olly@survex.com>
29510
29511	* bin/omtcpsrv.cc: Rename to bin/xapian-tcpsrv.cc.
29512	* bin/omprogsrv.cc: Rename to bin/xapian-progsrv.cc.
29513	* HACKING,bin/Makefile.am,configure.ac: Use help2man to generate
29514	  manpages for the installed binaries in bin.
29515
29516Tue Apr 04 16:44:54 BST 2006  Olly Betts <olly@survex.com>
29517
29518	* include/xapian/enquire.h: Note example of BM25Weight parameters
29519	  which make set_sort_by_relevance_then_value useful.
29520
29521Tue Apr 04 16:35:58 BST 2006  Olly Betts <olly@survex.com>
29522
29523	* api/omenquire.cc,include/xapian/enquire.h,matcher/,tests/api_db.cc:
29524	  Implement Enquire::set_sort_by_relevance_then_value().
29525
29526Tue Apr 04 01:05:41 BST 2006  Olly Betts <olly@survex.com>
29527
29528	* common/omenquireinternal.h: sort_key no longer needs to be mutable
29529	  now that MSetSortCmp has been removed.
29530
29531Mon Apr 03 02:03:12 BST 2006  Olly Betts <olly@survex.com>
29532
29533	* matcher/multimatch.cc: Removed dead code (class MSetSortCmp).
29534
29535Sun Apr 02 16:37:38 BST 2006  Olly Betts <olly@survex.com>
29536
29537	* net/tcpserver.cc: Don't perform a name lookup on the IP address
29538	  which an incoming connection is from as that could easily slow
29539	  down the search response - instead just print the IP address itself
29540	  if output is verbose.
29541
29542Sun Apr 02 13:28:31 BST 2006  Olly Betts <olly@survex.com>
29543
29544	* api/omenquire.cc,common/,docs/remote_protocol.html,
29545	  matcher/multimatch.cc,matcher/networkmatch.cc,matcher/networkmatch.h,
29546	  net/socketclient.cc,net/socketserver.cc: Change bool
29547	  sort_by_relevance to enum sort_by in preparation for adding
29548	  "sort_by_relevance_then_value".
29549
29550Fri Mar 31 22:32:16 BST 2006  Olly Betts <olly@survex.com>
29551
29552	* examples/copydatabase.cc,examples/quest.cc: Add --help and --version
29553	  options.
29554	* examples/delve.cc: Tidy up output from --help and --version options.
29555
29556Fri Mar 31 19:01:25 BST 2006  Olly Betts <olly@survex.com>
29557
29558	* bin/quartzcheck.cc: Fix SEGV when run with no arguments (introduced
29559	  by last change).
29560
29561Fri Mar 31 17:57:27 BST 2006  Olly Betts <olly@survex.com>
29562
29563	* bin/quartzcheck.cc: Add --version option.  Tidy up output from
29564	  --help.
29565
29566Fri Mar 31 17:43:25 BST 2006  Olly Betts <olly@survex.com>
29567
29568	* bin/quartzcompact.cc: Include --help and --version in --help output.
29569	* bin/quartzdump.cc: Add --help and --version options.  Terminate list
29570	  of long options so that "quartzdump --foo" no longer segfaults.
29571
29572Fri Mar 31 17:27:09 BST 2006  Olly Betts <olly@survex.com>
29573
29574	* bin/quartzcompact.cc: Tweak --help and --version output for
29575	  consistency with other binaries.  Terminate list of long options so
29576	  that "quartzcompact --foo" no longer segfaults.
29577
29578Fri Mar 31 16:47:02 BST 2006  Olly Betts <olly@survex.com>
29579
29580	* bin/omtcpsrv.cc: Make OPT_HELP and OPT_VERSION positive numbers.
29581	  Only give synopsis line for --help, not for syntax error.
29582	* bin/xapian-compact.cc: List --help and --version in --help output.
29583	  Terminate list of long options so that "xapian-compact --foo" no
29584	  longer segfaults.
29585
29586Fri Mar 31 16:20:24 BST 2006  Olly Betts <olly@survex.com>
29587
29588	* bin/omtcpsrv.cc: Added --help and --version options.
29589
29590Thu Mar 30 11:51:21 BST 2006  Philip Neustrom
29591
29592	* docs/remote_protocol.html: Document messages for requesting and
29593	  sending a termlist and a document.
29594
29595Wed Mar 29 19:39:05 BST 2006  Olly Betts <olly@survex.com>
29596
29597	* backends/flint/flint_termlist.cc,backends/quartz/quartz_termlist.cc:
29598	  Add missing spaces in debug output.
29599
29600Fri Mar 17 09:22:54 GMT 2006  Olly Betts <olly@survex.com>
29601
29602	* api/vectortermlist.h,backends/net/net_termlist.cc,
29603	  backends/net/net_termlist.h,common/alltermslist.h,common/termlist.h,
29604	  matcher/branchtermlist.h: Make TermList::positionlist_begin() pure
29605	  virtual and put dummy implementations in BranchTermList and other
29606	  subclasses which can't (or don't) implement it.  This makes it
29607	  hard to accidentally fail to implement it in a backend's TermList
29608	  subclass.
29609	* backends/net/net_termlist.h: positionlist_begin() now throws
29610	  UnimplementedError instead of InvalidOperationError.
29611
29612Fri Mar 17 08:46:52 GMT 2006  Olly Betts <olly@survex.com>
29613
29614	* api/omdatabase.cc: There's no need for the MultiTermList wrapper in
29615	  the common case where we're only dealing with a single database.
29616
29617Fri Mar 17 07:54:54 GMT 2006  Olly Betts <olly@survex.com>
29618
29619	* backends/net/net_termlist.h: Remove unused "positions" member.
29620
29621Fri Mar 17 07:07:57 GMT 2006  Olly Betts <olly@survex.com>
29622
29623	* backends/multi/multi_termlist.cc,backends/multi/multi_termlist.h,
29624	  tests/api_posdb.cc: Fix TermIterator::positionlist_begin() to work
29625	  on TermIterator from Database::termlist_begin().
29626
29627Fri Mar 17 03:47:04 GMT 2006  Olly Betts <olly@survex.com>
29628
29629	* include/xapian/enquire.h: Fix "unused parameter" warning from
29630	  previous change.
29631
29632Thu Mar 16 05:20:16 GMT 2006  Olly Betts <olly@survex.com>
29633
29634	* api/omenquire.cc,include/xapian/enquire.h:  Move
29635	  Enquire::get_matching_terms_end() inline in header.
29636
29637Thu Mar 16 04:28:20 GMT 2006  Olly Betts <olly@survex.com>
29638
29639	* api/omdocument.cc,configure.ac,include/xapian/document.h: Move
29640	  Document::termlist_end() inline in header.
29641
29642Fri Mar 10 04:55:57 GMT 2006  Olly Betts <olly@survex.com>
29643
29644	* INSTALL: Improve wording.
29645
29646Fri Mar 10 04:49:09 GMT 2006  Olly Betts <olly@survex.com>
29647
29648	* backends/quartz/bcursor.h: Fix incorrect method name in
29649	  documentation comment.
29650
29651Fri Mar 10 04:39:45 GMT 2006  Olly Betts <olly@survex.com>
29652
29653	* backends/quartz/btree.cc,backends/quartz/btree.h: Btree::find_key()
29654	  is unused so remove it.
29655
29656Fri Mar 10 04:29:46 GMT 2006  Olly Betts <olly@survex.com>
29657
29658	* HACKING: Note that we now use a lightly patched version of libtool
29659	  1.5.22.
29660
29661Fri Mar 10 02:55:48 GMT 2006  Olly Betts <olly@survex.com>
29662
29663	* docs/overview.html: Bring up to date.
29664
29665Wed Mar 08 02:32:49 GMT 2006  Olly Betts <olly@survex.com>
29666
29667	* queryparser/queryparser.lemony: Fix FLAG_BOOLEAN_ANY_CASE to really
29668	  allow any case combination - previously it only allowed all
29669	  uppercase or all lowercase.
29670	* tests/queryparsertest.cc: Add feature and regression tests for
29671	  FLAG_BOOLEAN_ANY_CASE.
29672	* tests/queryparsertest.cc: Rename test cases to more descriptive
29673	  names.
29674
29675Tue Mar 07 19:59:54 GMT 2006  Olly Betts <olly@survex.com>
29676
29677	* queryparser/queryparser.lemony,tests/queryparsertest.cc:
29678	  Fix QueryParser's handling of terms with trailing "#", "+",
29679	  or "-" when set_database has been called and the term doesn't
29680	  exist in the database with the suffix.
29681
29682Tue Feb 21 21:14:22 GMT 2006  Olly Betts <olly@survex.com>
29683
29684	* include/xapian/deprecated.h: Allow xapian-bindings to override
29685	  deprecation warnings.
29686
29687Tue Feb 21 17:55:17 GMT 2006  Olly Betts <olly@survex.com>
29688
29689	* backends/flint/flint_database.cc: Note that "flicklock" should be
29690	  "flintlock"!
29691
29692Tue Feb 21 14:13:08 GMT 2006  Olly Betts <olly@survex.com>
29693
29694	* PLATFORMS: Updated.
29695
29696Tue Feb 21 14:12:47 GMT 2006  Olly Betts <olly@survex.com>
29697
29698	* HACKING: Update the "how to do a release" list.
29699
29700Tue Feb 21 00:17:40 GMT 2006  Olly Betts <olly@survex.com>
29701
29702	* NEWS,PLATFORMS,configure.ac: Updated for 0.9.4.
29703
29704Mon Feb 20 21:15:46 GMT 2006  Olly Betts <olly@survex.com>
29705
29706	* api/omdocument.cc,api/omenquire.cc,api/omquery.cc,include/xapian/,
29707	  queryparser/queryparser.cc: GCC 3.2 actually doesn't like
29708	  __attribute__((deprecated)) on method definitions, so just
29709	  put declarations of deprecated methods in the headers, and
29710	  move definitions into the library.
29711
29712Mon Feb 20 16:04:33 GMT 2006  Olly Betts <olly@survex.com>
29713
29714	* tests/api_anydb.cc,tests/api_db.cc,tests/api_nodb.cc: Update uses
29715	  of deprecated methods and functions.
29716
29717Mon Feb 20 15:47:31 GMT 2006  Olly Betts <olly@survex.com>
29718
29719	* include/xapian/document.h: __attribute__((deprecated)) doesn't
29720	  work on method definitions with default parameters on GCC 3.2
29721	  so fix header to overload instead.
29722
29723Mon Feb 20 13:44:14 GMT 2006  Olly Betts <olly@survex.com>
29724
29725	* include/xapian/enquire.h: Add documentation comment for
29726	  Enquire::set_sort_by_value_then_relevance().
29727
29728Sun Feb 19 23:18:09 GMT 2006  Olly Betts <olly@survex.com>
29729
29730	* include/Makefile.am,include/xapian/: Flag deprecated methods such
29731	  that the compiler gives a warning, for compilers which support
29732	  such a feature.
29733
29734Sun Feb 19 22:58:55 GMT 2006  Olly Betts <olly@survex.com>
29735
29736	* COPYING: Update second occurrence of old FSF address.
29737
29738Sun Feb 19 22:46:49 GMT 2006  Olly Betts <olly@survex.com>
29739
29740	* README: Add pointer to HACKING.  Change "CVS access" to "SVN
29741	  access".
29742
29743Sun Feb 19 01:46:00 GMT 2006  Olly Betts <olly@survex.com>
29744
29745	* api/version.cc: Correct typo in name of function xapian_revision().
29746
29747Thu Feb 16 10:23:59 GMT 2006  Olly Betts <olly@survex.com>
29748
29749	* xapian-config.in: Oops, fix previous fix (I'd pasted the substituted
29750	  result from testing the patch...)
29751
29752Thu Feb 16 10:16:31 GMT 2006  Olly Betts <olly@survex.com>
29753
29754	* PLATFORMS: Updated from tinderbox.
29755
29756Thu Feb 16 10:15:51 GMT 2006  Olly Betts <olly@survex.com>
29757
29758	* xapian-config.in: Need to set exec_prefix and prefix at top of
29759	  script as they're used by various @SUBSTITUTIONS@.
29760
29761Thu Feb 16 00:09:34 GMT 2006  Olly Betts <olly@survex.com>
29762
29763	* NEWS,PLATFORMS,configure.ac: Updated for 0.9.3.
29764
29765Wed Feb 15 21:58:23 GMT 2006  Olly Betts <olly@survex.com>
29766
29767	* xapian-config.in: Fix option loop to work on shells other than bash.
29768
29769Wed Feb 15 21:38:38 GMT 2006  Olly Betts <olly@survex.com>
29770
29771	* include/xapian/database.h: Tweak wording of a documentation comment.
29772
29773Wed Feb 15 21:34:55 GMT 2006  Olly Betts <olly@survex.com>
29774
29775	* include/xapian/queryparser.h: Fix documentation comments for the
29776	  values of QueryParser::feature_flag so doxygen actually pulls out
29777	  the documentation for them.  Add documentation for the parameters
29778	  of QueryParser::parse_query().
29779
29780Wed Feb 15 21:26:48 GMT 2006  Olly Betts <olly@survex.com>
29781
29782	* bin/quartzcheck.cc: If the database is too broken to open, emit a
29783	  warning message and bump the error count.
29784
29785Wed Feb 15 21:23:38 GMT 2006  Olly Betts <olly@survex.com>
29786
29787	* docs/queryparser.html: Document right-truncation.
29788
29789Wed Feb 15 21:08:37 GMT 2006  Olly Betts <olly@survex.com>
29790
29791	* xapian-config.in: Fixed to output usage correctly if no arguments
29792	  are specified.
29793
29794Mon Feb 13 17:43:08 GMT 2006  Olly Betts <olly@survex.com>
29795
29796	* xapian-config.in: Expand dependency_libs recursively.  It's not
29797	  *that* hard, and we're just storing up problems for the future
29798	  by ignoring the issue.
29799
29800Mon Feb 13 16:57:36 GMT 2006  Olly Betts <olly@survex.com>
29801
29802	* HACKING: Devlopers also need makeindex installed for documentation
29803	  building.  Note that dvips and makeindex are usually packaged with
29804	  TeX.
29805
29806Mon Feb 13 15:16:02 GMT 2006  Olly Betts <olly@survex.com>
29807
29808	* configure.ac,xapian-config.in: Some Linux distros have an
29809	  unhelpful policy of not packaging .la files, and on Linux
29810	  link_all_deplibs_CXX=no so we don't actually need to link
29811	  in the dependency_libs.  So use the value of link_all_deplibs_CXX
29812	  from configure to control whether we link against dependency_libs.
29813	* xapian-config.in: Factor out common code into shell functions,
29814	  and tidy up --help output.
29815	* xapian-config.in: Re entry "Tue May 11 20:55:56 BST 2004": the (C)
29816	  dates I mined from CVS included a BrightStation (C), but the few
29817	  fragments of that version which survive are actually from
29818	  glib-config (or one of the myriad of *-config scripts which look
29819	  very like it), and are just standard Bourne shell idioms anyway.
29820
29821Mon Feb 13 13:59:02 GMT 2006  Olly Betts <olly@survex.com>
29822
29823	* PLATFORMS: td174 is gone.
29824	* PLATFORMS: Compaq C++ 7.1 seems to have better template support
29825	  (but fails to link binaries).
29826
29827Mon Feb 13 12:22:23 GMT 2006  Olly Betts <olly@survex.com>
29828
29829	* HACKING,testsuite/testsuite.cc: XAPIAN_TESTSUITE_PLAIN_OUTPUT
29830	  -> XAPIAN_TESTSUITE_OUTPUT=plain.
29831
29832Sun Feb 12 18:29:55 GMT 2006  Olly Betts <olly@survex.com>
29833
29834	* backends/database.cc,tests/api_nodb.cc: Trying to open a database
29835	  for reading which doesn't exist now fails with DatabaseOpeningError
29836	  instead of FeatureUnavailableError.  Added regression test
29837	  nosuchdb1.
29838
29839Thu Feb 09 10:48:10 GMT 2006  Olly Betts <olly@survex.com>
29840
29841	* net/socketserver.cc: Add missing '#include <iostream>'
29842	  when TIMING_PATCH is defined.
29843
29844Wed Feb 08 08:22:09 GMT 2006  Olly Betts <olly@survex.com>
29845
29846	* HACKING: Now use libtool 1.5.22 for generating snapshots and
29847	  releases (includes a number of bug-fixes).
29848	* HACKING,docs/doxygen_api_header.html_tmpl,
29849	  docs/doxygen_full_header.html_tmpl: Now use doxygen 1.4.6 for
29850	  generating snapshots and releases (nicer output).
29851	* docs/doxygen_full_header.html_tmpl: Title "Internal Source
29852	  Documentation" rather than "Full source documentation".
29853
29854Sun Feb 05 06:19:29 GMT 2006  Olly Betts <olly@survex.com>
29855
29856	* queryparser/queryparser.lemony,tests/queryparsertest.cc: The
29857	  QueryParser now recognises "AND NOT" as a synonym for "NOT".
29858
29859Mon Jan 16 18:19:26 GMT 2006  Olly Betts <olly@survex.com>
29860
29861	* backends/quartz/quartz_utils.h: Fix compiler warning.
29862
29863Mon Jan 16 18:17:27 GMT 2006  Olly Betts <olly@survex.com>
29864
29865	* HACKING,backends/flint/,backends/muscat36/,backends/quartz/,
29866	  bin/quartzcompact.cc,bin/xapian-compact.cc,common/Makefile.am,
29867	  common/safeerrno.h,net/,tests/btreetest.cc,tests/quartztest.cc,
29868	  testsuite/backendmanager.cc,testsuite/testsuite.cc: Sorted out
29869	  a cleaner workaround for Compaq C++'s <errno.h> oddity.
29870
29871Mon Jan 16 17:18:56 GMT 2006  Olly Betts <olly@survex.com>
29872
29873	* common/safewindows.h: Fix typo in file description.
29874
29875Mon Jan 16 13:29:48 GMT 2006  Olly Betts <olly@survex.com>
29876
29877	* backends/quartz/quartz_database.cc: Reverse order of errno includes
29878	  which seems to make Compaq's C++ compiler happier.
29879
29880Sun Jan 15 23:52:01 GMT 2006  Olly Betts <olly@survex.com>
29881
29882	* backends/flint/flint_database.cc,backends/flint/flint_table.cc,
29883	  backends/quartz/btree.cc,backends/quartz/quartz_database.cc,
29884	  backends/quartz/quartz_log.cc,configure.ac,net/socketcommon.cc,
29885	  net/tcpclient.cc,testsuite/backendmanager.cc: Compaq C++ requires
29886	  sys/errno.h to get ENOENT and most other EXXX codes defined.
29887
29888Sun Jan 15 23:41:15 GMT 2006  Olly Betts <olly@survex.com>
29889
29890	* bin/xapian-compact.cc: Initialise 2 variables to avoid compiler
29891	  warnings.
29892
29893Sun Jan 15 23:38:11 GMT 2006  Olly Betts <olly@survex.com>
29894
29895	* xapian-config.in: If libxapian.la's dependency_libs contains
29896	  another .la file, crudely transform to a pair of -L and -l
29897	  options.  Ideally we should recursively pull in dependency_libs
29898	  from that .la file, but that's too hard to do in sh.
29899
29900Sun Jan 15 21:43:26 GMT 2006  Olly Betts <olly@survex.com>
29901
29902	* queryparser/queryparser.lemony,queryparser/queryparser.lt:
29903	  Eliminate ParseAlloc's mallocProc parameter and ParseFree's freeProc
29904	  parameter - we always pass malloc and free, and get warnings from
29905	  some compilers because we're passing a C-linkage function for a
29906	  C++-linkage function pointer.
29907	* testsuite/testsuite.cc,testsuite/testsuite.h: Fix functions
29908	  registered as signal handlers and pass to atexit to have C linkage.
29909
29910Sun Jan 15 14:49:45 GMT 2006  Olly Betts <olly@survex.com>
29911
29912	* backends/quartz/quartz_log.cc: #include <string.h> for strerror.
29913
29914Sun Jan 15 04:36:49 GMT 2006  Olly Betts <olly@survex.com>
29915
29916	* include/xapian/queryparser.h,queryparser/queryparser.cc:
29917	  Add Stopper::get_description() and SimpleStopper::get_description().
29918
29919Sat Jan 14 21:43:32 GMT 2006  Olly Betts <olly@survex.com>
29920
29921	* configure.ac: Fix backwards logic in snprintf configure test.
29922	  Also define SNPRINTF_ISO to be an snprintf with ISO C90 semantics
29923	  for the return value (if one exists), with SNPRINTF being defined
29924	  to any snprintf which at least performs truncation (which in many
29925	  cases is sufficient).
29926
29927Sat Jan 14 04:47:33 GMT 2006  Olly Betts <olly@survex.com>
29928
29929	* queryparser/queryparser.lt: Fix aCC warnings.
29930
29931Sat Jan 14 04:47:00 GMT 2006  Olly Betts <olly@survex.com>
29932
29933	* common/utils.h: Fix aCC warning.
29934
29935Fri Jan 13 18:25:04 GMT 2006  Olly Betts <olly@survex.com>
29936
29937	* configure.ac: Turn on more warnings for aCC; suppress existing
29938	  warning ("Entire translation unit was empty") since it's not
29939	  useful to us.
29940
29941Fri Jan 13 03:22:26 GMT 2006  Olly Betts <olly@survex.com>
29942
29943	* configure.ac: The configure test for snprintf uses memcmp, so
29944	  we need to "#include <string.h>" for it to work reliably.
29945
29946Wed Jan 11 03:14:30 GMT 2006  Olly Betts <olly@survex.com>
29947
29948	* configure.ac: If not cross-compiling, try to actually run a test
29949	  program built with the C++ compiler, not just link one.
29950
29951Wed Jan 11 03:06:28 GMT 2006  Olly Betts <olly@survex.com>
29952
29953	* configure.ac: Note the library version info which 0.9.3 will
29954	  probably need.
29955
29956Tue Jan 10 22:41:36 GMT 2006  Olly Betts <olly@survex.com>
29957
29958	* configure.ac: Fix to actually skip the check for valgrind if
29959	  VALGRIND is set to an empty value.
29960
29961Tue Jan 10 01:08:10 GMT 2006  Olly Betts <olly@survex.com>
29962
29963	* PLATFORMS: Updates from the tinderbox.
29964
29965Mon Jan 09 01:35:57 GMT 2006  Olly Betts <olly@survex.com>
29966
29967	* backends/muscat36/io_system.cc,bin/xapian-compact.cc,
29968	  common/omdebug.cc: More sprintf tweaks.
29969
29970Mon Jan 09 00:58:33 GMT 2006  Olly Betts <olly@survex.com>
29971
29972	* bin/xapian-compact.cc: Use snprintf if we have it.
29973
29974Sun Jan 08 03:51:52 GMT 2006  Olly Betts <olly@survex.com>
29975
29976	* testsuite/backendmanager.cc: Fix conditional compilation of
29977	  flint backend to use XAPIAN_BUILD_BACKEND_FLINT instead
29978	  of XAPIAN_BUILD_BACKEND_QUARTZ.
29979
29980Sun Jan 08 02:11:30 GMT 2006  Olly Betts <olly@survex.com>
29981
29982	* configure.ac: Disable flint backend by default if building for
29983	  djgpp or msdos.
29984
29985Sun Jan 08 02:09:48 GMT 2006  Olly Betts <olly@survex.com>
29986
29987	* backends/flint/flint_lock.cc: Cast NULL to (void*) to avoid
29988	  "missing sentinel" warning from GCC4.
29989
29990Sat Jan 07 19:09:33 GMT 2006  Olly Betts <olly@survex.com>
29991
29992	* HACKING,docs/tests.html: Merge the "running tests" section of
29993	  docs/tests.html into the similar section in HACKING, and make
29994	  docs/tests.html refer the reader to HACKING for more information.
29995	* HACKING,tests/apitest.cc: Remove OM_TEST_BACKEND.  You can now
29996	  use the "-b" switch to apitest to control which backend is used
29997	  so it's pretty much redundant.
29998	* HACKING,testsuite/testsuite.cc: Rename XAPIAN_SIG_DFL to
29999	  XAPIAN_TESTSUITE_SIG_DFL.
30000	* HACKING,testsuite/testsuite.cc: Add XAPIAN_TESTSUITE_PLAIN_OUTPUT
30001	  to disable use of ANSI escape sequences in test output.
30002
30003Sat Jan 07 09:13:06 GMT 2006  Olly Betts <olly@survex.com>
30004
30005	* tests/queryparsertest.cc: Write top-bit set characters using \xXX
30006	  notation to avoid warnings from Intel's C++ compiler.
30007
30008Sat Jan 07 07:13:25 GMT 2006  Olly Betts <olly@survex.com>
30009
30010	* configure.ac: TYPE_SOCKLEN_T fails hard, so only run it if we've
30011	  successfully run other socket tests.
30012
30013Sat Jan 07 05:29:39 GMT 2006  Olly Betts <olly@survex.com>
30014
30015	* queryparser/accentnormalisingitor.h: #include <limits.h> for
30016	  CHAR_BIT.
30017
30018Fri Jan 06 21:24:01 GMT 2006  Olly Betts <olly@survex.com>
30019
30020	* bin/xapian-compact.cc: Fix printf type mismatch on 64 bit platforms.
30021
30022Fri Jan 06 18:05:30 GMT 2006  Olly Betts <olly@survex.com>
30023
30024	* queryparser/queryparser.cc,queryparser/queryparser.lemony,
30025	  queryparser/queryparser_internal.h: Replace pair<bool, string>
30026	  with a simple class BoolAndString - the pair results in a
30027	  4328 byte symbol on HP-UX which gets truncated (to 4000 bytes).
30028
30029Fri Jan 06 12:55:37 GMT 2006  Olly Betts <olly@survex.com>
30030
30031	* PLATFORMS: Updated from tinderbox.
30032
30033Thu Jan 05 16:12:00 GMT 2006  Olly Betts <olly@survex.com>
30034
30035	* configure.ac: Oops, remove hack left over from testing.
30036
30037Thu Jan 05 16:09:06 GMT 2006  Olly Betts <olly@survex.com>
30038
30039	* configure.ac: Add sanity check for MS Windows that "find" is
30040	  Unix-like find, not MSDOS-like.
30041
30042Thu Jan 05 04:27:29 GMT 2006  Olly Betts <olly@survex.com>
30043
30044	* INSTALL,PLATFORMS,README: Updated.
30045
30046Mon Dec 19 12:53:38 GMT 2005  Olly Betts <olly@survex.com>
30047
30048	* AUTHORS,PLATFORMS: Add success report for Fedora Core 4.
30049
30050Mon Dec 19 12:52:55 GMT 2005  Olly Betts <olly@survex.com>
30051
30052	* include/xapian/database.h: Improve a couple of documentation
30053	  comments.
30054
30055Sun Dec 11 01:33:58 GMT 2005  Olly Betts <olly@survex.com>
30056
30057	* queryparser/queryparser.lemony: Fix handling of "+" terms in a query
30058	  when the default query operator is AND.
30059	* tests/queryparsertest.cc: Add regression test.
30060
30061Fri Dec 09 05:54:33 GMT 2005  Olly Betts <olly@survex.com>
30062
30063	* languages/api.cc: Check for malloc and calloc failing to allocate
30064	  memory and throw an exception.  Richard has fix this upstream in
30065	  snowball, so this is a temporary fix until we import a new version
30066	  of snowball.
30067
30068Fri Dec 09 02:15:38 GMT 2005  Olly Betts <olly@survex.com>
30069
30070	* api/omenquire.cc: Added assertions that the internal ptr isn't NULL
30071	  to ESet::end() and ESet::get_description().
30072
30073Fri Dec 09 02:14:13 GMT 2005  Olly Betts <olly@survex.com>
30074
30075	* HACKING: Note platforms valgrind now has solid support for; Improve
30076	  phrasing in a few places.
30077
30078Thu Dec 08 23:13:09 GMT 2005  Olly Betts <olly@survex.com>
30079
30080	* INSTALL: Update URL for stlport to sourceforge site, which seems to
30081	  be where the action is now.
30082
30083Thu Dec 08 04:13:11 GMT 2005  Olly Betts <olly@survex.com>
30084
30085	* testsuite/testsuite.cc: Fix testsuite harness to work with valgrind
30086	  on 64 bit platforms (it's not documented, but VALGRIND_COUNT_LEAKS
30087	  requires the count parameters to be 64 bit on such platforms - i.e.
30088	  long rather than int as we were using).
30089
30090Tue Nov 01 13:22:50 GMT 2005  Olly Betts <olly@survex.com>
30091
30092	* PLATFORMS: Sourceforge have a ppc64 linux box.  Xapian builds and
30093	  works out of the box, so add success report for this platform.
30094
30095Thu Oct 27 09:32:24 BST 2005  Fabrice Colin
30096
30097	* xapian.spec.in: Invoke %setup correctly.
30098
30099Sat Oct 01 03:25:50 BST 2005  Olly Betts <olly@survex.com>
30100
30101	* bin/xapian-compact.cc: Added "--multipass" option to merge postlists
30102	  in pairs or triples until all are merged.  Generally this is faster
30103	  than an N-way merge, but it does require more disk space for
30104	  temporary files so it's not the default.
30105
30106Fri Sep 30 18:02:32 BST 2005  Olly Betts <olly@survex.com>
30107
30108	* include/xapian/enquire.h: Give pointer to replacements for the
30109	  deprecated Enquire sorting methods.
30110
30111Wed Sep 28 02:16:03 BST 2005  Olly Betts <olly@survex.com>
30112
30113	* bin/xapian-compact.cc: Use a vector<string> to store the list of
30114	  source databases, in preparation for merging multiple postlist
30115	  tables in more than one pass.
30116
30117Mon Sep 26 22:22:24 BST 2005  Olly Betts <olly@survex.com>
30118
30119	* .: svn:ignore docsource.mk.
30120
30121Mon Sep 26 19:54:15 BST 2005  Olly Betts <olly@survex.com>
30122
30123	* bin/: svn:ignore xapian-compact.
30124
30125Mon Sep 26 19:50:13 BST 2005  Olly Betts <olly@survex.com>
30126
30127	* backends/flint/flint_positionlist.cc: Remove trailing whitespace.
30128
30129Wed Sep 21 01:31:23 BST 2005  Olly Betts <olly@survex.com>
30130
30131	* api/Makefile.am: Fixed VPATH build which was broken by the addition
30132	  of version.cc.
30133
30134Tue Sep 20 23:38:05 BST 2005  Olly Betts <olly@survex.com>
30135
30136	* backends/flint/flint_lock.cc: Don't pass NULL for second parameter
30137	  of execl().
30138
30139Tue Sep 20 21:32:04 BST 2005  Olly Betts <olly@survex.com>
30140
30141	* api/Makefile.am,api/version.cc,include/xapian/version_h.cc: Add 4
30142	  functions to report version information for the library version
30143	  being used (which may not be the same as that compiled against
30144	  if shared libraries are in use):  xapian_version_string(),
30145	  xapian_major_version(), xapian_minor_version(), xapian_revision().
30146
30147Sat Sep 17 14:07:32 BST 2005  Richard Boulton <richard@tartarus.org>
30148
30149	* backends/flint/flint_lock.cc: Pass two NULLs to execl() to avoid
30150	  getting a warning ("not enough variable arguments to fit a
30151	  sentinel", observed on Ubuntu breezy powerpc).  Reported by
30152	  Sidnei da Silva.
30153
30154Wed Sep 14 23:54:14 BST 2005  Olly Betts <olly@survex.com>
30155
30156	* HACKING: Now generate snapshots and releases with automake 1.9.6
30157	  (was 1.9.5) and libtool 1.5.20 (was 1.5.18).
30158
30159Tue Aug 30 14:01:55 BST 2005  Olly Betts <olly@survex.com>
30160
30161	* backends/inmemory/inmemory_database.h: Forward declare class
30162	  InMemoryDatabase to fix compilation with GCC 4.0.1.
30163
30164Fri Aug 19 12:13:39 BST 2005  Olly Betts <olly@survex.com>
30165
30166	* backends/quartz/quartz_postlist.cc,backends/flint/flint_postlist.cc:
30167	  Correct uses of termcount which should be doccount.
30168
30169Fri Aug 19 11:48:51 BST 2005  Olly Betts <olly@survex.com>
30170
30171	* include/xapian/enquire.h: Fix prototype for ESet::operator[] to
30172	  take parameter of type termcount instead of doccount.
30173
30174Wed Aug 17 11:50:54 BST 2005  Olly Betts <olly@survex.com>
30175
30176	* common/safewindows.h: Fix compilation for cygwin.
30177
30178Tue Aug 16 16:01:36 BST 2005  Olly Betts <olly@survex.com>
30179
30180	* backends/flint/flint_types.h,backends/quartz/quartz_types.h:  Using
30181	  a double to hold the total document length would be a bad idea as
30182	  we need to store it exactly so kill FIXME comments that suggest
30183	  perhaps we should.
30184
30185Fri Jul 15 11:11:35 BST 2005  Olly Betts <olly@survex.com>
30186
30187	* configure.ac,NEWS,PLATFORMS: Updated for 0.9.2.
30188
30189Fri Jul 15 02:31:11 BST 2005  Olly Betts <olly@survex.com>
30190
30191	* preautoreconf: Change directory to the directory that the
30192	  preautoreconf script is in before doing anything else.
30193
30194Fri Jul 15 01:02:29 BST 2005  Olly Betts <olly@survex.com>
30195
30196	* docs/doxygen_api_conf.in,docs/doxygen_full_conf.in,configure.ac:
30197	  Eliminate TOP_SRCDIR and TOP_BUILDDIR - it's better to just use
30198	  top_srcdir and top_builddir directly.
30199
30200Fri Jul 15 00:48:39 BST 2005  Olly Betts <olly@survex.com>
30201
30202	* configure.ac: Fix superfluous shell quoting.
30203
30204Fri Jul 15 00:28:40 BST 2005  Olly Betts <olly@survex.com>
30205
30206	* configure.ac,docs/Makefile.am,preautoreconf,Makefile.am: Generate
30207	  the list of source files to feed to doxygen by inspecting all the
30208	  Makefile.am files prior to running autoreconf rather than by using
30209	  "find" when the user runs ./configure.  This speeds up configure,
30210	  avoids generating docs for random .cc and .h files which aren't
30211	  part of xapian-core, and avoids problems with picking up FIND.EXE
30212	  on MS Windows.
30213
30214Thu Jul 14 12:49:36 BST 2005  Olly Betts <olly@survex.com>
30215
30216	* common/,matcher/multimatch.cc,matcher/networkmatch.cc,
30217	  matcher/networkmatch.h,net/socketclient.cc,net/socketserver.cc,
30218	  tests/api_db.cc: Implement sorting on a value with the remote
30219	  backend.
30220
30221Wed Jul 13 01:25:17 BST 2005  Olly Betts <olly@survex.com>
30222
30223	* include/xapian/database.h,include/xapian/dbfactory.h,
30224	  net/socketclient.cc: Regularise horizontal whitespace.
30225
30226Tue Jul 05 03:03:57 BST 2005  Olly Betts <olly@survex.com>
30227
30228	* include/xapian/queryparser.h: Oops, failed to check in header
30229	  changes for last change.
30230
30231Mon Jul 04 15:50:55 BST 2005  Olly Betts <olly@survex.com>
30232
30233	* queryparser/queryparser.lemony,queryparser/queryparser.cc:
30234	  Add flag FLAG_BOOLEAN_ANY_CASE which tells the QueryParser that
30235	  boolean operators such as "AND", "OR", and "NEAR" should be
30236	  recognised even if they aren't fully capitalised (so "and",
30237	  "And", "aNd", etc will work too).  Add flag FLAG_WILDCARD which
30238	  tells the QueryParser to allow right truncation e.g. "xap*".
30239	* tests/queryparsertest.cc: Add tests for FLAG_WILDCARD.
30240
30241Sun Jul 03 15:24:12 BST 2005  Olly Betts <olly@survex.com>
30242
30243	* backends/database.cc: Fixed to auto-detect database type when
30244	  opening an existing Flint database as a WritableDatabase.
30245
30246Sat Jul 02 18:49:22 BST 2005  Olly Betts <olly@survex.com>
30247
30248	* tests/queryparsertest.cc: Add test case: "-site:xapian.org mail".
30249
30250Sat Jul 02 18:49:03 BST 2005  Olly Betts <olly@survex.com>
30251
30252	* common/Makefile.am: Ship safewindows.h header.
30253
30254Sat Jul 02 18:04:18 BST 2005  Olly Betts <olly@survex.com>
30255
30256	* bin/quartzcompact.cc,bin/xapian-compact.cc,
30257	  backends/muscat36/io_system.cc,backends/quartz/btree.cc,
30258	  backends/quartz/quartz_log.cc,backends/quartz/quartz_database.cc,
30259	  backends/flint/,common/,net/,tests/,testsuite/backendmanager.cc,
30260	  testsuite/testsuite.cc: Assorted tweaks towards allowing
30261	  compilation with MSVC.
30262
30263Sat Jul 02 05:08:54 BST 2005  Olly Betts <olly@survex.com>
30264
30265	* backends/quartz/: Always define WIN32_LEAN_AND_MEAN before
30266	  including windows.h to reduce the amount of stuff it includes
30267	  and speed up builds; Eliminate Btree::max_key_len as MSVC
30268	  doesn't like the way we define it and it actually seems
30269	  simpler to just use BTREE_MAX_KEY_LEN everywhere anyway.
30270	* backends/quartz/btree.cc: Added a few more assertions.
30271
30272Sat Jul 02 04:11:01 BST 2005  Olly Betts <olly@survex.com>
30273
30274	* queryparser/queryparser.lemony,tests/queryparsertest.cc: Fixed to
30275	  handle "-site:microsoft.com" where site is a boolean prefix.
30276	* queryparser/Makefile.am: Add dependency to generate
30277	  queryparser_token.h.
30278
30279Thu Jun 30 02:14:16 BST 2005  Olly Betts <olly@survex.com>
30280
30281	* testsuite/testsuite.cc: Update URL for valgrind FAQ in comment.
30282
30283Thu Jun 30 00:11:52 BST 2005  Olly Betts <olly@survex.com>
30284
30285	* include/xapian/enquire.h: More explicit explanation of the
30286	  "descending docid with boolean weighting" trick for fast
30287	  date ordered searching.
30288
30289Wed Jun 29 13:16:13 BST 2005  Olly Betts <olly@survex.com>
30290
30291	* NEWS: Fix typo: "configurec" -> "configure".
30292
30293Mon Jun 27 04:21:34 BST 2005  Olly Betts <olly@survex.com>
30294
30295	* xapian.spec.in: Package xapian-compact.
30296
30297Mon Jun 27 03:41:23 BST 2005  Olly Betts <olly@survex.com>
30298
30299	* backends/flint/flint_positionlist.cc,tests/api_wrdb.cc: Fixed
30300	  mispacking of length for Flint positionlists with more than 127
30301	  entries, and added regression test longpositionlist1.
30302
30303Sun Jun 26 02:04:33 BST 2005  Olly Betts <olly@survex.com>
30304
30305	* bin/xapian-compact.cc,backends/flint/flint_cursor.h: Let
30306	  PostlistCursor take ownership of the FlintTable it's iterating over
30307	  which makes clean-up tidier.
30308	* bin/xapian-compact.cc: We were accidentally skipping the first
30309	  entry in various tables (which essentially meant the first
30310	  document from each database would go missing when merging
30311	  databases).
30312
30313Sat Jun 25 23:45:42 BST 2005  Olly Betts <olly@survex.com>
30314
30315	* api/omdatabase.cc: Tweak get_lastdocid() code to be a little
30316	  clearer.
30317
30318Wed Jun 22 20:50:43 BST 2005  Olly Betts <olly@survex.com>
30319
30320	* configure.ac,include/xapian/version.h.in,include/xapian/version_h.cc,
30321	  include/Makefile.am: Eliminate use of "ln -s" when generating
30322	  include/xapian/version.h since it seems to cause problems on Solaris
30323	  in some setups and isn't really necessary.  Also add dependency
30324	  mechanism so version.h gets regenerated when the template is
30325	  changed.
30326
30327Wed Jun 22 18:47:05 BST 2005  Olly Betts <olly@survex.com>
30328
30329	* docs/intro_ir.html: Citeseer has moved, so update link.
30330
30331Mon Jun 20 13:33:42 BST 2005  Olly Betts <olly@survex.com>
30332
30333	* configure.ac: -Wshadow causes false positives with GCC 3.0.4, so
30334	  only enable it for 3.1 and up.
30335
30336Mon Jun 20 03:09:07 BST 2005  Olly Betts <olly@survex.com>
30337
30338	* queryparser/queryparser.lemony: "utilpy" -> "utility"!
30339
30340Fri Jun 17 19:54:44 BST 2005  Olly Betts <olly@survex.com>
30341
30342	* COPYING: Update FSF address.
30343
30344Thu Jun 16 18:43:33 BST 2005  Olly Betts <olly@survex.com>
30345
30346	* backends/flint/flint_table.cc: Fix warnings from older GCC versions.
30347	* backends/flint/flint_lock.cc: '#include <signal.h>' so that SIGHUP
30348	  gets defined reliably.
30349
30350Thu Jun 16 17:54:39 BST 2005  Olly Betts <olly@survex.com>
30351
30352	* bin/Makefile.am,bin/xapian-compact.cc: Added new "xapian-compact"
30353	  program which can compact and merge flint databases in a similar
30354	  way to how quartzcompact does for quartz databases.
30355
30356Thu Jun 16 01:22:45 BST 2005  Olly Betts <olly@survex.com>
30357
30358	* configure.ac: Check for spaces in build directory, source directory,
30359	  or install prefix and die with a helpful message.
30360
30361Wed Jun 15 01:00:11 BST 2005  Olly Betts <olly@survex.com>
30362
30363	* backends/flint/flint_lock.cc: It seems we need to explicitly kill
30364	  the child process.  Otherwise when we have two databases locked
30365	  just closing the connection doesn't cause the child to die.  I
30366	  don't understand why it's needed, but this fix is at least clean.
30367
30368Mon Jun 13 00:13:33 BST 2005  Olly Betts <olly@survex.com>
30369
30370	* backends/flint/flint_alltermslist.cc,
30371	  backends/flint/flint_alltermslist.h,
30372	  backends/flint/flint_database.cc: Rewrite of FlintAllTermsList
30373	  with several fewer member variables.  Also fixes a bug (the old
30374	  version wasn't ignoring the metainfo entry so tests were failing).
30375
30376Sun Jun 12 13:08:16 BST 2005  Olly Betts <olly@survex.com>
30377
30378	* backends/quartz/quartz_alltermslist.cc: Disable assertion which is
30379	  incorrect in a corner case.
30380	* tests/api_db.cc: Add test_specialterms2 as a regression test.
30381
30382Sun Jun 12 02:03:52 BST 2005  Olly Betts <olly@survex.com>
30383
30384	* backends/flint/flint_positionlist.cc: Encoding and decoding of
30385	  position list size, and first and last entries didn't match.
30386	  Reworked to match using a slightly smaller encoding.
30387	* backends/flint/flint_metafile.cc: Bumped format version.
30388
30389Sun Jun 12 02:02:35 BST 2005  Olly Betts <olly@survex.com>
30390
30391	* backends/flint/flint_table.cc: We were failing to append "DB" to the
30392	  path when opening a table for reading - fixed.
30393
30394Sun Jun 12 02:00:30 BST 2005  Olly Betts <olly@survex.com>
30395
30396	* testsuite/backendmanager.cc: When a flint database was requested, we
30397	  were incorrectly creating a quartz database instead - fixed.
30398
30399Sat Jun 11 17:53:12 BST 2005  Olly Betts <olly@survex.com>
30400
30401	* bin/quartzcompact.cc: Fix mis-repacking of keys in positionlist
30402	  table when merging several databases.
30403
30404Thu Jun 09 01:06:35 BST 2005  Olly Betts <olly@survex.com>
30405
30406	* Makefile.am,configure.ac: Pass automake options to AM_INIT_AUTOMAKE
30407	  rather than specifying them in Makefile.am.  This way, the version
30408	  requirements for autoconf and automake are stated close together.
30409
30410Mon Jun 06 19:49:36 BST 2005  Olly Betts <olly@survex.com>
30411
30412	* HACKING: Minor updates to release checklist.
30413
30414Mon Jun 06 17:44:19 BST 2005  Olly Betts <olly@survex.com>
30415
30416	* NEWS,configure.ac: Updated for 0.9.1.
30417
30418Mon Jun 06 17:28:34 BST 2005  Olly Betts <olly@survex.com>
30419
30420	* configure.ac: Describe CC_FOR_BUILD in configure --help output.
30421
30422Mon Jun 06 16:00:26 BST 2005  Olly Betts <olly@survex.com>
30423
30424	* PLATFORMS: Updated for 0.9.1.
30425
30426Fri Jun 03 03:49:33 BST 2005  Olly Betts <olly@survex.com>
30427
30428	* backends/flint/flint_lock.cc,backends/flint/flint_lock.h: Fixed
30429	  compilation failure on mingw.
30430
30431Fri Jun 03 01:58:08 BST 2005  Olly Betts <olly@survex.com>
30432
30433	* PLATFORMS: Updated from tinderbox.
30434
30435Fri Jun 03 00:46:00 BST 2005  Olly Betts <olly@survex.com>
30436
30437	* HACKING,NEWS: Snapshot and release tarballs are now bootstrapped
30438	  using libtool 1.5.18 and automake 1.9.5 (though neither is currently
30439	  an enforced requirement for bootstrapping).
30440
30441Thu Jun 02 17:36:36 BST 2005  Olly Betts <olly@survex.com>
30442
30443	* NEWS: First draft of release notes for 0.9.1.
30444
30445Thu Jun 02 02:05:47 BST 2005  Olly Betts <olly@survex.com>
30446
30447	* backends/flint/flint_record.cc: Fix get_doccount() to not return
30448	  one too low now that the special entry is no longer in the record
30449	  table!
30450
30451Wed Jun 01 12:41:59 BST 2005  Olly Betts <olly@survex.com>
30452
30453	* backends/flint/flint_positionlist.cc: Placate Sun's C++ compiler.
30454
30455Tue May 31 19:31:24 BST 2005  Olly Betts <olly@survex.com>
30456
30457	* backends/flint/flint_positionlist.h,
30458	  backends/flint/flint_positionlist.cc,
30459	  backends/flint/flint_metafile.cc: positionlist entries are now
30460	  stored using interpolative coding (which is significantly more
30461	  compact).
30462
30463Mon May 30 01:48:17 BST 2005  Olly Betts <olly@survex.com>
30464
30465	* backends/flint/flint_lock.cc,backends/flint/flint_lock.h:  Added
30466	  locking code for MS Windows (untested).
30467
30468Sun May 29 01:00:41 BST 2005  Olly Betts <olly@survex.com>
30469
30470	* HACKING,NEWS,testsuite/testsuite.h: Fixed spelling mistakes.
30471
30472Sat May 28 22:51:15 BST 2005  Olly Betts <olly@survex.com>
30473
30474	* tests/: svn:ignore .flint/ subdirectory.
30475	* tests/Makefile.am: Remove .flint subdirectory on 'make clean'.
30476
30477Sat May 28 22:45:24 BST 2005  Olly Betts <olly@survex.com>
30478
30479	* docs/quartzdesign.html: Remove warning that quartz is still in
30480	  development.
30481
30482Sat May 28 16:24:43 BST 2005  Olly Betts <olly@survex.com>
30483
30484	* backends/flint/flint_lock.h: Removed unused FlintLock method
30485	  'operator int()' which was confusing Sun's C++ compiler.
30486
30487Sat May 28 16:18:11 BST 2005  Olly Betts <olly@survex.com>
30488
30489	* include/xapian/query.h: Removed superfluous "Query::" which was
30490	  causing the build to fail with aCC.
30491
30492Sat May 28 14:31:33 BST 2005  Olly Betts <olly@survex.com>
30493
30494	* backends/flint/flint_metafile.cc: Added missing '#include <errno.h>'.
30495
30496Sat May 28 14:15:36 BST 2005  Olly Betts <olly@survex.com>
30497
30498	* backends/flint/flint_positionlist.cc: Simplify code a bit.
30499
30500Sat May 28 02:01:12 BST 2005  Olly Betts <olly@survex.com>
30501
30502	* backends/flint/: Move the special item holding the total document
30503	  length and doc id high water mark from the record table to the
30504	  postlist table.  This means that when appending documents, the
30505	  insertion point will now always be at the end of the record table.
30506	  We need to jump around the postlist table to merge anyway.
30507
30508Sat May 28 00:42:25 BST 2005  Olly Betts <olly@survex.com>
30509
30510	* backends/flint/flint_metafile.cc: Change metafile magic to be
30511	  different from quartz, and make the metafile version a datestamp
30512	  which we'll change each time the format changes; check the return
30513	  value of close on the metafile.
30514
30515Fri May 27 22:09:45 BST 2005  Olly Betts <olly@survex.com>
30516
30517	* backends/Makefile.am,backends/flint/: Implement new fork+fcntl+exec
30518	  based locking;  Fix new GCC warnings.
30519
30520Fri May 27 22:06:14 BST 2005  Olly Betts <olly@survex.com>
30521
30522	* api/omquery.cc: Missed a warning fix.
30523
30524Fri May 27 22:04:18 BST 2005  Olly Betts <olly@survex.com>
30525
30526	* backends/quartz/btree.cc,backends/quartz/btree.h,
30527	  backends/quartz/quartz_postlist.cc,common/omtime.h,matcher/,
30528	  net/socketserver.cc,net/socketcommon.cc,net/socketclient.cc,
30529	  testsuite/btreecheck.h,testsuite/testsuite.cc: Fix GCC warnings
30530	  from new flags.
30531
30532Fri May 27 20:06:52 BST 2005  Olly Betts <olly@survex.com>
30533
30534	* queryparser/queryparser.lemony: Add missing '#include <config.h>'.
30535
30536Fri May 27 12:20:03 BST 2005  Olly Betts <olly@survex.com>
30537
30538	* common/omdebug.h: Oops, change to static_cast reveals that we were
30539	  discarding const (harmlessly).
30540
30541Fri May 27 12:16:03 BST 2005  Olly Betts <olly@survex.com>
30542
30543	* common/omdebug.h: Replace C style cast with static_cast<>.
30544
30545Fri May 27 12:07:48 BST 2005  Olly Betts <olly@survex.com>
30546
30547	* configure.ac: -Wendif should be -Wendif-labels.
30548
30549Wed May 25 20:41:39 BST 2005  Olly Betts <olly@survex.com>
30550
30551	* configure.ac: Pass more -W flags to g++ (including -Wundef which
30552	  caught the getopt problem fixed by the previous commit).
30553
30554Wed May 25 20:32:35 BST 2005  Olly Betts <olly@survex.com>
30555
30556	* getopt/getopt.cc: Added accidentally pruned #define so that getopt
30557	  code isn't compiled in when the system uses glibc.
30558
30559Wed May 25 18:36:41 BST 2005  Olly Betts <olly@survex.com>
30560
30561	* configure.ac: Add -Wredundant-decls to the default CXXFLAGS for GCC.
30562
30563Wed May 25 03:33:34 BST 2005  Olly Betts <olly@survex.com>
30564
30565	* tests/apitest.cc,tests/api_db.cc,tests/api_db.h,
30566	  testsuite/backendmanager.cc,testsuite/backendmanager.h:
30567	  apitest now runs tests on flint as well.
30568
30569Wed May 25 03:20:12 BST 2005  Olly Betts <olly@survex.com>
30570
30571	* backends/database.cc: When automatically determining which backend
30572	  to use when creating a WritableDatabase, don't try to open it as
30573	  both Flint *AND* Quartz (an "else" was missing).
30574
30575Wed May 25 03:19:21 BST 2005  Olly Betts <olly@survex.com>
30576
30577	* backends/flint/flint_btreebase.cc: Fix typo in code which prevented
30578	  a flint database from being opened.
30579
30580Wed May 25 01:10:51 BST 2005  Olly Betts <olly@survex.com>
30581
30582	* include/xapian/version.h.in,include/xapian/dbfactory.h,
30583	  include/xapian/queryparser.h,backends/quartz/,backends/flint/:
30584	  Flint backend hooked in fully, and everything now builds once
30585	  more.
30586
30587Tue May 24 02:30:39 BST 2005  Olly Betts <olly@survex.com>
30588
30589	* HACKING: Add "email Fabrice" to the release checklist so that RPM
30590	  spec files don't lag behind.  The new svn-tag-release script
30591	  actually builds the release tarballs rather than just copying
30592	  snapshots like cvs-tag-release did, so document that.
30593
30594Tue May 24 01:21:18 BST 2005  Olly Betts <olly@survex.com>
30595
30596	* include/xapian/queryparser.h: Added missing documentation comments.
30597
30598Mon May 23 02:36:06 BST 2005  Olly Betts <olly@survex.com>
30599
30600	* configure.ac,backends/database.cc,backends/Makefile.am,
30601	  backends/flint/: Cloned the quartz backend to form the basis of the
30602	  new flint backend.  Currently it's the same except that the quartz
30603	  log feature has been removed.  When creating a database without a
30604	  specified backend, quartz is still used unless the environmental
30605	  variable XAPIAN_PREFER_FLINT is set to a non-empty value.
30606
30607Sat May 21 20:58:48 BST 2005  Olly Betts <olly@survex.com>
30608
30609	* xapian.spec.in: Remove bogus %setup line left over from when we
30610	  packaged xapian-core and xapian-examples together from separate
30611	  tarballs.
30612
30613Thu May 19 01:12:27 BST 2005  Olly Betts <olly@survex.com>
30614
30615	* bin/quartzcheck.cc: Fixed corner case where you couldn't check a
30616	  single Btree table which was just the DB and baseA/baseB files
30617	  in a directory (Xapian doesn't produce anything like this, but
30618	  btreetest does while unit testing the Btree code).
30619
30620Wed May 18 16:59:23 BST 2005  Olly Betts <olly@survex.com>
30621
30622	* api/omquery.cc,include/xapian/query.h: Put Query::get_terms_end()
30623	  inline in header.
30624
30625Wed May 18 16:41:56 BST 2005  Olly Betts <olly@survex.com>
30626
30627	* api/omquery.cc,tests/api_nodb.cc: Fix SEGV on get_terms_begin()
30628	  on an empty Query object.
30629
30630Mon May 16 22:58:09 BST 2005  Olly Betts <olly@survex.com>
30631
30632	* api/omqueryinternal.cc: Fixed compilation with --enable-debug.
30633
30634Sat May 14 01:02:33 BST 2005  Olly Betts <olly@survex.com>
30635
30636	* docs/doxygen_full_conf.in: Fix lingering DOXYGEN_HAVE_DOT reference.
30637
30638Sat May 14 00:36:14 BST 2005  Olly Betts <olly@survex.com>
30639
30640	* HACKING: Update information about the SVN tag name to use for
30641	  debian files.
30642
30643Fri May 13 23:21:54 BST 2005  Olly Betts <olly@survex.com>
30644
30645	* HACKING: Updated release instructions to refer to SVN.
30646
30647Fri May 13 20:58:15 BST 2005  Olly Betts <olly@survex.com>
30648
30649	* PLATFORMS: Updated for 0.9.0.
30650
30651Fri May 13 02:47:42 BST 2005  Olly Betts <olly@survex.com>
30652
30653	* include/xapian/queryparser.h: Fix for Sun's C++ compiler.
30654
30655Fri May 13 00:09:07 BST 2005  Olly Betts <olly@survex.com>
30656
30657	* NEWS,configure.ac: Updated for 0.9.0.
30658
30659Thu May 12 18:54:11 BST 2005  Olly Betts <olly@survex.com>
30660
30661	* docs/doxygen_api_conf.in,docs/Makefile.am: Fix to generate docs
30662	  for all backend factory functions like 0.8.5 did.
30663
30664Thu May 12 16:59:22 BST 2005  Olly Betts <olly@survex.com>
30665
30666	* backends/database.cc,backends/Makefile.am,include/xapian/database.h,
30667	  include/xapian/dbfactory.h,include/xapian.h,include/Makefile.am:
30668	  Split off database factory methods into xapian/dbfactory.h - this
30669	  allows us to fix recent breakage in VPATH builds (caused by the
30670	  need to include the generated file xapian/version.h from
30671	  xapian/database.h) without modifying almost every Makefile.am.
30672
30673Wed May 11 16:52:41 BST 2005  Olly Betts <olly@survex.com>
30674
30675	* queryparser/queryparser.lemony: Move prefixed, bracketed
30676	  subexpression to be an alternative for stop_term which allows
30677	  "term prefix:(term2 term3)" to parse correctly. Also move
30678	  non-prefixed, bracketed subexpression to be an alternative
30679	  for stop_term - this doesn't change how things parse, but
30680	  makes the grammar simpler.
30681	* tests/queryparsertest.cc: Added regression test for the above.
30682	* tests/Makefile.am,tests/queryparsertest.cc: Reworked queryparsertest
30683	  to use the standard testsuite harness.
30684
30685Wed May 11 16:09:32 BST 2005  Olly Betts <olly@survex.com>
30686
30687	* include/xapian/query.h: Fix OP_ELITE_SET at 10 (the value it had
30688	  in 0.8.5).
30689
30690Tue May 10 22:56:45 BST 2005  Olly Betts <olly@survex.com>
30691
30692	* docs/Makefile.am: Removed check for DOXYGEN_HAVE_DOT which I removed
30693	  recently.
30694
30695Tue May 10 01:09:01 BST 2005  Olly Betts <olly@survex.com>
30696
30697	* queryparser/queryparser.lemony: Removed state parameter from
30698	  TermList::add_term() since it is no longer used.
30699
30700Mon May 09 20:56:40 BST 2005  Olly Betts <olly@survex.com>
30701
30702	* docs/Makefile.am: Explicitly set the pool_size for latex, because we
30703	  seem to overflow the default setting on many systems.
30704	* docs/Makefile.am: Use $(MAKE) instead of make.
30705
30706Sun May 08 23:22:37 BST 2005  Olly Betts <olly@survex.com>
30707
30708	* configure.ac: Corrected $CC -> $CXX to fix bogus message "Checking
30709	  for  option to enable ANSI C++ mode".
30710	* configure.ac: If any tools needed for documentation are missing
30711	  and we're in maintainer mode, die with a suitable error in
30712	  configure rather than with strange errors when building the
30713	  documentation.
30714
30715Sun May 08 01:43:55 BST 2005  Olly Betts <olly@survex.com>
30716
30717	* include/xapian/queryparser.h,queryparser/queryparser.lemony,
30718	  queryparser/queryparser_internal.h,queryparser/queryparser.cc:
30719	  Remove QueryParser::termlist_begin() and termlist_end() since
30720	  you can just use Query::terms_begin() and terms_end() on the
30721	  Query object returned by QueryParser::parse_query().
30722
30723Thu May 05 01:00:26 BST 2005  Olly Betts <olly@survex.com>
30724
30725	* common/utils.cc: On WIN32, don't define NOMINMAX if it is already
30726	  defined.
30727
30728Wed May 04 00:52:04 BST 2005  Olly Betts <olly@survex.com>
30729
30730	* matcher/bm25weight.cc: Avoid needing document length if we're simply
30731	  going to multiply it by zero!
30732
30733Tue May 03 14:07:20 BST 2005  Olly Betts <olly@survex.com>
30734
30735	* HACKING: CVS -> SVN;  Note that tabs should be 8 spaces.
30736
30737Thu Apr 28 21:13:17 BST 2005  Olly Betts <olly@survex.com>
30738
30739	* include/xapian/database.h: Don't declare the backend factory
30740	  functions if the corresponding backend has been disabled.  This
30741	  means that trying to use a disabled backend will be caught at
30742	  compile time rather than link time.
30743
30744Thu Apr 28 21:12:43 BST 2005  Olly Betts <olly@survex.com>
30745
30746	* docs/intro_ir.html: Corrected two errors.
30747
30748Wed Apr 27 23:04:53 BST 2005  Olly Betts <olly@survex.com>
30749
30750	* configure.ac,include/xapian/version.h.in: Define
30751	  XAPIAN_HAS_xxx_BACKEND for each backend which is enabled.  The
30752	  bindings need this, and user code might find it useful too.
30753
30754Wed Apr 27 03:31:50 BST 2005  Olly Betts <olly@survex.com>
30755
30756	* api/omdatabase.cc,api/ompostlistiterator.cc,
30757	  api/omtermlistiterator.cc,include/xapian/,
30758	  queryparser/queryparser.cc: Where end iterator is just
30759	  FooIterator(NULL) put it inline in the header for efficiency.
30760	  If we ever need to change an implementation, we can easily move
30761	  methods back into the library and bump the library version suitably.
30762
30763Wed Apr 27 02:40:43 BST 2005  Olly Betts <olly@survex.com>
30764
30765	* examples/quest.cc,include/xapian/queryparser.h,
30766	  queryparser/queryparser.cc,tests/queryparsertest.cc: Rename
30767	  QueryParser::set_stemming_options() to set_stemming_strategy()
30768	  - it's a better name and avoids confusion with the old deprecated
30769	  method called set_stemming_options().
30770	* examples/quest.cc: Added stopword handling.
30771
30772Wed Apr 27 02:39:33 BST 2005  Olly Betts <olly@survex.com>
30773
30774	* include/xapian/enquire.h: Fixed documentation comment.
30775
30776Sun Apr 24 03:02:47 BST 2005  Olly Betts <olly@survex.com>
30777
30778	* api/omstem.cc: Simplified Xapian::Stem::Internal.
30779
30780Sun Apr 24 02:21:22 BST 2005  Olly Betts <olly@survex.com>
30781
30782	* tests/api_nodb.cc: Extended stemlang1 to check that trying to create
30783	  a stemmer for a non-existent language throws InvalidArgumentError.
30784
30785Fri Apr 22 01:20:57 BST 2005  Olly Betts <olly@survex.com>
30786
30787	* include/xapian/document.h: Clearer documentation comments.
30788
30789Thu Apr 21 15:03:42 BST 2005  Olly Betts <olly@survex.com>
30790
30791	* docs/overview.html,include/xapian/query.h: Removed lingering
30792	  references to OP_WEIGHT_CUTOFF.
30793
30794Thu Apr 21 01:46:51 BST 2005  Olly Betts <olly@survex.com>
30795
30796	* PLATFORMS: Added success report for Ubuntu 5.04 on x86_64.
30797
30798Mon Apr 18 02:54:10 BST 2005  Olly Betts <olly@survex.com>
30799
30800	* docs/stemming.html: Stemming appears to be applicable to Japanese
30801	  so don't say it isn't!
30802
30803Sat Apr 16 01:08:22 BST 2005  Olly Betts <olly@survex.com>
30804
30805	* PLATFORMS: Updated from tinderbox.
30806
30807Fri Apr 15 23:18:58 BST 2005  Olly Betts <olly@survex.com>
30808
30809	* languages/: Remove lingering .c versions of snowball generated
30810	  sources.
30811
30812Fri Apr 15 02:05:27 BST 2005  Olly Betts <olly@survex.com>
30813
30814	* include/xapian/queryparser.h,queryparser/queryparser_internal.h,
30815	  queryparser/queryparser.cc: Implemented QueryParser::set_database()
30816	  method.
30817	* queryparser/queryparser.lemony: Allow searches for C#, etc.  If a
30818	  database has been set, for this and + and - suffixes, check if the
30819	  term actually exists, and if not, ignore the suffix if the
30820	  unsuffixed term exists.
30821	* tests/queryparsertest.cc: Added tests for # suffix.
30822
30823Thu Apr 14 23:39:57 BST 2005  Olly Betts <olly@survex.com>
30824
30825	* include/xapian/stem.h: Rewritten with better documentation comments.
30826	* include/xapian/stem.h: Added operator() as preferred alternative
30827	  to stem_word().
30828	* api/omstem.cc,include/xapian/stem.h: Simplified by restructuring
30829	  to eliminate a few internal methods.
30830
30831Thu Apr 14 23:35:47 BST 2005  Olly Betts <olly@survex.com>
30832
30833	* queryparser/queryparser.cc: Make get_description() debug tracing
30834	  message category INTRO not API.
30835
30836Thu Apr 14 19:57:06 BST 2005  Olly Betts <olly@survex.com>
30837
30838	* include/xapian/queryparser.h,queryparser/queryparser.cc: Added
30839	  QueryParser::get_description() method (not very descriptive yet!)
30840
30841Thu Apr 14 03:30:09 BST 2005  Olly Betts <olly@survex.com>
30842
30843	* include/xapian/queryparser.h: Fixed to only include the xapian
30844	  headers we actually depend on.
30845	* include/xapian/queryparser.h: Added \file and \brief documentation
30846	  comments.
30847
30848Thu Apr 14 02:50:36 BST 2005  Olly Betts <olly@survex.com>
30849
30850	* examples/quest.cc,include/xapian.h,tests/queryparsertest.cc:
30851	  Change xapian.h to automatically include xapian/queryparser.h
30852	  and fix direct includes of xapian/queryparser.h in tests and
30853	  examples.
30854
30855Thu Apr 14 01:48:39 BST 2005  Olly Betts <olly@survex.com>
30856
30857	* include/xapian/queryparser.h: Added Xapian::SimpleStopper which
30858	  should be sufficient for the majority of uses.
30859	* include/xapian/queryparser.h,queryparser/queryparser_internal.h,
30860	  queryparser/queryparser.cc: Changed QueryParser::set_stopper() to
30861	  take a const pointer.
30862
30863Thu Apr 07 15:57:15 BST 2005  Olly Betts <olly@survex.com>
30864
30865	* api/omenquire.cc,common/omenquireinternal.h,common/multimatch.h,
30866	  matcher/multimatch.cc,net/socketserver.cc: Tidy up after sort_bands.
30867
30868Thu Apr 07 15:15:27 BST 2005  Olly Betts <olly@survex.com>
30869
30870	* api/omenquire.cc,common/,include/xapian/enquire.h,
30871	  matcher/networkmatch.cc,matcher/multimatch.cc,matcher/networkmatch.h,
30872	  net/socketserver.cc,net/socketclient.cc,tests/api_db.cc:
30873	  Enhanced Enquire sorting API and added ability to reverse sort on
30874	  a value.
30875	* api/omenquire.cc: Enquire::get_description() now includes output of
30876	  Enquire::Internal::get_description().
30877
30878Thu Apr 07 13:55:56 BST 2005  Olly Betts <olly@survex.com>
30879
30880	* HACKING: Fixed a typo.
30881
30882Thu Apr 07 13:37:02 BST 2005  Olly Betts <olly@survex.com>
30883
30884	* backends/quartz/btree.cc,backends/quartz/btree.h,
30885	  bin/quartzcompact.cc: The "fuller compaction" code needs changes
30886	  to btree.h which I'd failed to check in.  Also document --fuller
30887	  in 'quartzcompact --help'.
30888
30889Thu Apr 07 03:35:36 BST 2005  Olly Betts <olly@survex.com>
30890
30891	* bin/quartzcompact.cc: Added "fuller compaction" mode, which ignores
30892	  the usual "at least 4 items per block" rule.
30893
30894Thu Apr 07 03:28:32 BST 2005  Olly Betts <olly@survex.com>
30895
30896	* PLATFORMS: Added success result for GCC 3.2.3 on FreeBSD 4.8; fixed
30897	  a typo.
30898
30899Wed Apr 06 23:04:15 BST 2005  Olly Betts <olly@survex.com>
30900
30901	* queryparser/queryparser.lemony: Added FIXME comment.
30902
30903Wed Apr 06 22:52:53 BST 2005  Olly Betts <olly@survex.com>
30904
30905	* ./: Removed ylwrap from svn:ignore.
30906
30907Tue Apr 05 22:34:16 BST 2005  Olly Betts <olly@survex.com>
30908
30909	* queryparser/queryparsertest.cc,queryparser/Makefile.am,
30910	  tests/Makefile.am: Moved queryparsertest into tests/.
30911
30912Tue Apr 05 22:15:05 BST 2005  Olly Betts <olly@survex.com>
30913
30914	* examples/: Updated svn:ignore property.
30915
30916Tue Apr 05 21:34:13 BST 2005  Olly Betts <olly@survex.com>
30917
30918	* queryparser/Makefile.am,configure.ac,extra/xapian/queryparser.h,
30919	  extra/,include/Makefile.am,Makefile.am: Move extra/ to queryparser/;
30920	  Merge extra/xapian/ into include/xapian/.
30921
30922Tue Apr 05 16:37:32 BST 2005  Olly Betts <olly@survex.com>
30923
30924	* m4/xapian.m4: Fix m4 quoting (argh!)
30925
30926Tue Apr 05 16:28:06 BST 2005  Olly Betts <olly@survex.com>
30927
30928	* m4/xapian.m4: Fix XO_LIB_XAPIAN to trim off any _svn6789 from
30929	  XAPIAN_VERSION.
30930
30931Tue Apr 05 16:17:31 BST 2005  Olly Betts <olly@survex.com>
30932
30933	* configure.ac: Fix m4 quoting.
30934
30935Tue Apr 05 15:16:38 BST 2005  Olly Betts <olly@survex.com>
30936
30937	* configure.ac: #define VERSION in version.h shouldn't include any
30938	  _svn6789 suffix.
30939
30940Tue Apr 05 13:28:23 BST 2005  Olly Betts <olly@survex.com>
30941
30942	* configure.ac: Snapshot generator now appends _svn6789 or similar to
30943	  the version string, so take that into account when finding REVISION.
30944
30945Tue Apr 05 12:55:52 BST 2005  Olly Betts <olly@survex.com>
30946
30947	* ChangeLog.examples,Makefile.am,examples/ChangeLog: Move
30948	  xapian-examples ChangeLog to ChangeLog.examples in the top-level
30949	  and include in the tarball.
30950
30951Tue Apr 05 02:18:08 BST 2005  Olly Betts <olly@survex.com>
30952
30953	* examples/dir_contents,examples/README: Converted xapian-examples
30954	  README into a dir_contents file.
30955
30956Tue Apr 05 02:12:31 BST 2005  Olly Betts <olly@survex.com>
30957
30958	* docs/overview.html,docs/install.html,configure.ac,Makefile.am,
30959	  xapian.spec.in,examples/Makefile.am: Moved xapian-examples module
30960	  to examples subdirectory of xapian-core.
30961
30962Tue Apr 05 00:37:05 BST 2005  Olly Betts <olly@survex.com>
30963
30964	* m4/.cvsignore,debian/.cvsignore,matcher/.cvsignore,docs/.cvsignore,
30965	  tests/.cvsignore,bin/.cvsignore,.cvsignore,autoconf/.cvsignore,
30966	  extra/.cvsignore,include/xapian/.cvsignore,include/.cvsignore,
30967	  net/.cvsignore,common/.cvsignore,testsuite/.cvsignore,
30968	  getopt/.cvsignore,languages/.cvsignore,api/.cvsignore,
30969	  backends/inmemory/.cvsignore,backends/muscat36/.cvsignore,
30970	  backends/net/.cvsignore,backends/quartz/.cvsignore,
30971	  backends/multi/.cvsignore,backends/.cvsignore: Remove .cvsignore
30972	  files, as they're not used by SVN.
30973
30974Thu Mar 10 01:48:20 GMT 2005  Olly Betts <olly@survex.com>
30975
30976	* testsuite/backendmanager.cc,testsuite/index_utils.cc,
30977	  testsuite/index_utils.h: Rewrite of index_utils code, removing
30978	  unused and unusual features.
30979	* tests/testdata/: Cleaned up data for apitest now that paragraphs
30980	  don't have the odd minimum number of lines!
30981	* tests/testdata/apitest_space.txt: New index_utils code has C-like
30982	  \ escapes for control characters rather than ^ escapes.
30983
30984Wed Mar 09 22:04:08 GMT 2005  Olly Betts <olly@survex.com>
30985
30986	* common/utils.h: Added C_isxdigit and C_isnotxdigit.
30987
30988Wed Mar 09 15:22:35 GMT 2005  Olly Betts <olly@survex.com>
30989
30990	* testsuite/index_utils.cc: Fixed ^x to actually decode hex values
30991	  correctly.
30992
30993Tue Mar 08 16:57:25 GMT 2005  Olly Betts <olly@survex.com>
30994
30995	* matcher/multimatch.cc: Minor code tidy.
30996
30997Tue Mar 08 15:48:38 GMT 2005  Olly Betts <olly@survex.com>
30998
30999	* api/omenquire.cc,docs/matcherdesign.html,include/xapian/enquire.h,
31000	  matcher/multimatch.cc,tests/api_db.cc: Removed sort_bands support.
31001
31002Tue Mar 08 04:13:03 GMT 2005  Olly Betts <olly@survex.com>
31003
31004	* bin/quartzcompact.cc: Fixed to add items for all tables in key order
31005	  which produces results around 40% more compact (previously in the
31006	  merge case, this was only happening for the postlist table).
31007
31008Tue Mar 08 03:30:06 GMT 2005  Olly Betts <olly@survex.com>
31009
31010	* testsuite/btreecheck.cc: Make default check output fit on a single
31011	  line (at least for many databases).
31012
31013Tue Mar 08 02:34:41 GMT 2005  Olly Betts <olly@survex.com>
31014
31015	* matcher/multimatch.cc: Fix warning from newer versions of GCC.
31016
31017Sat Mar 05 00:25:07 GMT 2005  Olly Betts <olly@survex.com>
31018
31019	* api/omenquire.cc,common/omenquireinternal.h,include/xapian/enquire.h,
31020	  matcher/multimatch.cc,tests/api_db.cc: Fixed Xapian::RSet to have
31021	  the same "it's a handle" copy semantics as most of the other
31022	  classes.
31023
31024Sat Mar 05 00:23:47 GMT 2005  Olly Betts <olly@survex.com>
31025
31026	* testsuite/testsuite.h: Fixed TEST_EQUAL_DOUBLE to use DBL_EPSILON
31027	  correctly.
31028
31029Fri Mar 04 21:06:38 GMT 2005  Olly Betts <olly@survex.com>
31030
31031	* tests/testdata/etext.txt: Stripped carriage returns.
31032
31033Fri Mar 04 21:04:25 GMT 2005  Olly Betts <olly@survex.com>
31034
31035	* PLATFORMS: Assorted updates.
31036
31037Thu Mar 03 01:17:07 GMT 2005  Olly Betts <olly@survex.com>
31038
31039	* bin/quartzcompact.cc: Fixed to allow compacting a single database.
31040	  Fixed handling of very last term when merging postlists.
31041
31042Wed Mar 02 03:18:30 GMT 2005  Olly Betts <olly@survex.com>
31043
31044	* backends/quartz/quartz_values.cc: Values are stored in sorted order
31045	  so we can stop unpacking the list once we get to one after the one
31046	  we're looking for.
31047
31048Wed Mar 02 02:59:23 GMT 2005  Olly Betts <olly@survex.com>
31049
31050	* bin/quartzcheck.cc: Now checks the structure of all the tables, not
31051	  just the postlist table, and cross-checks doclen values between
31052	  termlist and postlist tables.  Recognises "--help" option.  Should
31053	  now continue after an error (typically it would crash before), and
31054	  counts the number of errors found.  Now exits with non-zero status
31055	  if any errors were found.
31056
31057Tue Mar 01 18:48:25 GMT 2005  Olly Betts <olly@survex.com>
31058
31059	* xapian.spec.in: '/usr/share' -> '%{_datadir}'.
31060
31061Tue Mar 01 16:21:07 GMT 2005  Olly Betts <olly@survex.com>
31062
31063	* tests/api_db.cc: Fixed warning from Sun's C++ compiler.
31064
31065Tue Mar 01 02:02:15 GMT 2005  Olly Betts <olly@survex.com>
31066
31067	* bin/quartzcompact.cc: Extended to allow merging several quartz
31068	  databases to produce a single compact quartz database.  This
31069	  allows for faster building - simple index in chunks, then merge
31070	  the chunks.
31071
31072Tue Mar 01 00:08:12 GMT 2005  Olly Betts <olly@survex.com>
31073
31074	* xapian.spec.in: Put the .so in the -devel package (it's only useful
31075	  for linking to - the .so.* files are all that's needed at runtime).
31076
31077Tue Mar 01 00:05:25 GMT 2005  Olly Betts <olly@survex.com>
31078
31079	* Makefile.am,xapian-config.in,xapian.spec.in,extra/.cvsignore,
31080	  extra/Makefile.am: Eliminated the extra library for the queryparser
31081	  - it's tiny compared to the main library and having it around just
31082	  complicates things.
31083
31084Mon Feb 28 23:52:19 GMT 2005  Olly Betts <olly@survex.com>
31085
31086	* tests/api_anydb.cc: More set_length() changes.
31087
31088Mon Feb 28 20:31:13 GMT 2005  Olly Betts <olly@survex.com>
31089
31090	* net/socketclient.cc,net/socketserver.cc,api/omenquire.cc,
31091	  api/omquery.cc,api/omqueryinternal.cc,common/,
31092	  include/xapian/enquire.h,include/xapian/query.h,matcher/:
31093	  Remove Query::set_length() in favour of an optional length
31094	  parameter to Enquire::set_query().
31095
31096Mon Feb 28 15:32:32 GMT 2005  Olly Betts <olly@survex.com>
31097
31098	* api/omqueryinternal.cc,common/Makefile.am,common/deleter_vector.h:
31099	  Removed deleter_vector as it's no longer used anywhere.
31100
31101Mon Feb 28 15:27:42 GMT 2005  Olly Betts <olly@survex.com>
31102
31103	* api/omquery.cc,api/omqueryinternal.cc,include/xapian/query.h,
31104	  matcher/localmatch.cc,tests/api_anydb.cc,tests/api_nodb.cc:
31105	  Eliminated Query::set_elite_set_size().
31106
31107Mon Feb 28 15:15:45 GMT 2005  Olly Betts <olly@survex.com>
31108
31109	* HACKING: Note how to disable use of VALGRIND on the make check
31110	  command line, or when using runtest directly.
31111
31112Mon Feb 28 13:36:07 GMT 2005  Olly Betts <olly@survex.com>
31113
31114	* common/omqueryinternal.h: Removed out-of-date commented out version
31115	  of Xapian::Query::Internal.
31116
31117Mon Feb 28 13:07:42 GMT 2005  Olly Betts <olly@survex.com>
31118
31119	* backends/quartz/quartz_alltermslist.cc,tests/api_db.cc: Updated (C)
31120	  dates for changes earlier this year.
31121
31122Mon Feb 28 13:04:41 GMT 2005  Olly Betts <olly@survex.com>
31123
31124	* api/omquery.cc,api/omqueryinternal.cc,include/xapian/query.h,
31125	  matcher/localmatch.cc,matcher/localmatch.h,tests/api_anydb.cc,
31126	  tests/api_nodb.cc,tests/api_posdb.cc: Eliminated Query::set_window
31127	  in favour of an optional parameter to the constructor, with the aim
31128	  of making Query objects immutable once constructed.
31129
31130Mon Feb 28 12:32:26 GMT 2005  Olly Betts <olly@survex.com>
31131
31132	* extra/queryparser.lemony: Updated 2 uses of Query::set_window().
31133
31134Mon Feb 28 04:43:20 GMT 2005  Olly Betts <olly@survex.com>
31135
31136	* api/omquery.cc,api/omqueryinternal.cc,common/socketcommon.h,
31137	  include/xapian/query.h,matcher/,tests/api_anydb.cc:
31138	  Removed OP_WEIGHT_CUTOFF, since it doesn't actually seem to
31139	  add useful functionality over using Enquire::set_cutoff().
31140
31141Mon Feb 28 04:31:58 GMT 2005  Olly Betts <olly@survex.com>
31142
31143	* matcher/weightcutoffpostlist.cc: Fix updating of docid in
31144	  WeightCutoffPostList - the current code works, but can end up doing
31145	  lots (potentially millions) of pointless loop iterations.
31146
31147Mon Feb 28 02:57:29 GMT 2005  Olly Betts <olly@survex.com>
31148
31149	* docs/queryparser.html: Note that + and - work on phrases and
31150	  bracketed expressions.
31151
31152Fri Feb 25 17:06:23 GMT 2005  Olly Betts <olly@survex.com>
31153
31154	* backends/quartz/quartz_alltermslist.cc: Fix skip_to on an allterms
31155	  TermIterator to set the current term when the skip_to-ed term is
31156	  in the database.
31157	* tests/api_db.cc: Add regression test for this (allterms5).
31158
31159Wed Feb 23 19:07:30 GMT 2005  Olly Betts <olly@survex.com>
31160
31161	* configure.ac: Suppress 2 Intel C++ warnings which we can't easily
31162	  code around, and enable -Werror automatically with
31163	  --enable-maintainer-mode.
31164	* configure.ac: Check that the C++ compiler can actually link a
31165	  program.  AC_LANG_CXX doesn't, and if it can't find a C++ compiler
31166	  it'll just return "g++" which just leads to a later configure
31167	  test failing in a confusing way.
31168
31169Tue Feb 22 13:39:07 GMT 2005  Olly Betts <olly@survex.com>
31170
31171	* include/xapian/enquire.h: Improved documentation comments.
31172	* api/omenquire.cc,include/xapian/enquire.h: MSet::max_size() (which
31173	  only exists so that MSet is an STL compiler) now returns
31174	  MSet::size() and is inlined from the header.
31175	* include/xapian/enquire.h: Added ESet::max_size() (for STL
31176	  compatibility).
31177
31178Tue Feb 22 00:18:33 GMT 2005  Olly Betts <olly@survex.com>
31179
31180	* configure.ac: corrected "none known for yes" or "none known for no"
31181	  to "none known for g++-3.2" or similar.
31182	* configure.ac: autoconf identifies Intel's C++ compiler as GCC, so
31183	  probe for which it actually is.
31184
31185Mon Feb 21 21:54:29 GMT 2005  Olly Betts <olly@survex.com>
31186
31187	* PLATFORMS: Updated.
31188
31189Mon Feb 21 16:06:32 GMT 2005  Olly Betts <olly@survex.com>
31190
31191	* PLATFORMS: Added success report for Intel C++ 8.1 on ia64 Linux
31192	  (and also GCC 3.2.3 on ia64 Linux).
31193
31194Mon Feb 21 05:33:46 GMT 2005  Olly Betts <olly@survex.com>
31195
31196	* backends/multi/: Don't delare methods in headers if they're virtual
31197	  or large.
31198
31199Mon Feb 21 04:11:23 GMT 2005  Olly Betts <olly@survex.com>
31200
31201	* backends/inmemory/inmemory_database.cc,
31202	  backends/inmemory/inmemory_database.h: Don't delare methods in
31203	  headers if they're virtual or large.
31204
31205Sun Feb 20 21:13:40 GMT 2005  Olly Betts <olly@survex.com>
31206
31207	* common/multimatch.h: Removed unused "class SocketServer;".
31208
31209Sun Feb 20 19:47:01 GMT 2005  Olly Betts <olly@survex.com>
31210
31211	* net/socketserver.cc: Fixed typo in debug code.
31212
31213Sat Feb 19 18:44:17 GMT 2005  Olly Betts <olly@survex.com>
31214
31215	* PLATFORMS: Added minimal testcase which fails to compile with
31216	  Compaq's C++ compiler (cxx).
31217
31218Sat Feb 19 04:23:51 GMT 2005  Olly Betts <olly@survex.com>
31219
31220	* backends/quartz/btree.cc,backends/quartz/btree.h: Change
31221	  Btree::find_in_block to take a bool indicating if this is a leaf
31222	  block rather than an offset to subtract when it is.
31223
31224Fri Feb 18 04:27:16 GMT 2005  Olly Betts <olly@survex.com>
31225
31226	* HACKING: Added better description of how reference-counted API
31227	  classes are structured.
31228	* include/xapian/postingiterator.h,include/xapian/termiterator.h:
31229	  More (and better) documentation comments.
31230
31231Fri Feb 18 03:05:40 GMT 2005  Olly Betts <olly@survex.com>
31232
31233	* backends/quartz/btree.cc: Made full compaction a tiny bit more
31234	  compact.  Improved compaction by a few % in non-full case.
31235	  Tighter bound on amount of memory to reserve to read the tag
31236	  into.
31237
31238Fri Feb 18 00:47:41 GMT 2005  Olly Betts <olly@survex.com>
31239
31240	* api/omenquire.cc: Removed duplicate "#include <xapian/enquire.h>".
31241
31242Thu Feb 17 01:33:01 GMT 2005  Olly Betts <olly@survex.com>
31243
31244	* extra/queryparser_internal.h: Further Sun C++ fixes.
31245
31246Wed Feb 16 05:32:40 GMT 2005  Olly Betts <olly@survex.com>
31247
31248	* extra/queryparser.lemony: Attempted fix for Sun's C++ compiler.
31249
31250Tue Feb 15 02:10:35 GMT 2005  Olly Betts <olly@survex.com>
31251
31252	* extra/queryparser.cc,extra/queryparser.lemony,
31253	  extra/queryparser_internal.h: Fixed namespace stuff to keep Sun's C++
31254	  compiler happy.
31255
31256Mon Feb 14 21:21:08 GMT 2005  Olly Betts <olly@survex.com>
31257
31258	* api/vectortermlist.h: Workaround a shortcoming in Sun's C++
31259	  compiler.
31260
31261Mon Feb 14 21:16:05 GMT 2005  Olly Betts <olly@survex.com>
31262
31263	* PLATFORMS: Results from upgraded sourceforge x86_64 box.
31264
31265Mon Feb 14 18:36:40 GMT 2005  Olly Betts <olly@survex.com>
31266
31267	* extra/xapian/queryparser.h: Fixed compilation error.
31268
31269Mon Feb 14 18:00:12 GMT 2005  Olly Betts <olly@survex.com>
31270
31271	* extra/xapian/queryparser.h: Added backward compatibility wrapper for
31272	  old version of QueryParser::set_stemming_options().
31273
31274Mon Feb 14 17:50:47 GMT 2005  Olly Betts <olly@survex.com>
31275
31276	* extra/xapian/queryparser.h: Added dummy QueryParser::set_database()
31277	  (currently it ignores the parameter).
31278
31279Mon Feb 14 15:34:13 GMT 2005  Olly Betts <olly@survex.com>
31280
31281	* extra/lemon.c: C90, not C99!
31282
31283Mon Feb 14 15:20:11 GMT 2005  Olly Betts <olly@survex.com>
31284
31285	* extra/lemon.c: C, not C++.
31286
31287Mon Feb 14 05:49:50 GMT 2005  Olly Betts <olly@survex.com>
31288
31289	* extra/: Tweak lemon so we can avoid generating files in builddir
31290	  in a VPATH build.
31291
31292Mon Feb 14 02:44:17 GMT 2005  Olly Betts <olly@survex.com>
31293
31294	* extra/Makefile.am: Update to reflect lempar.c -> queryparser.lt.
31295
31296Mon Feb 14 02:25:53 GMT 2005  Olly Betts <olly@survex.com>
31297
31298	* extra/lempar.c,extra/queryparser.lt: Rename lemon template to .lt
31299	  which is more sensible than calling it lempar.c and should work
31300	  with VPATH builds.
31301
31302Mon Feb 14 02:12:51 GMT 2005  Olly Betts <olly@survex.com>
31303
31304	* extra/Makefile.am: Fixes for VPATH builds.
31305
31306Mon Feb 14 01:43:59 GMT 2005  Olly Betts <olly@survex.com>
31307
31308	* configure.ac: Need to AC_SUBST(CC_FOR_BUILD).
31309
31310Mon Feb 14 00:19:45 GMT 2005  Olly Betts <olly@survex.com>
31311
31312	* extra/Makefile.am: Added dependency for building queryparser.h.
31313
31314Sun Feb 13 23:30:02 GMT 2005  Olly Betts <olly@survex.com>
31315
31316	* extra/queryparser.cc,extra/queryparser_internal.h,
31317	  extra/xapian/queryparser.h: Fixed to compile with GCC 3.3.
31318
31319Sun Feb 13 23:09:15 GMT 2005  Olly Betts <olly@survex.com>
31320
31321	* configure.ac: Enhanced valgrind test to (a) see if --tool=memcheck
31322	  is needed and (b) see if valgrind actually works (we don't want to
31323	  try to use an x86 valgrind on an x86_64 box).
31324
31325Mon Jan 17 03:21:29 GMT 2005  Olly Betts <olly@survex.com>
31326
31327	* api/vectortermlist.h,extra/,extra/xapian/queryparser.h: Rewritten
31328	  QueryParser class.  Uses Lemon instead of Bison to generate the
31329	  parser, which enables us to stop using static data, so this class
31330	  is at last reentrant.  It now uses a PIMPL style with reference
31331	  counted internals like most of the other Xapian classes.  And
31332	  direct access to member variables has gone, which unfortunately
31333	  forces an API change (bug #39).  The rewrite also supports more
31334	  features than the original did.
31335	* HACKING,configure.ac: No longer need Bison.
31336	* configure.ac: Need CC_FOR_BUILD to compile Lemon with.
31337
31338Mon Jan 17 02:40:40 GMT 2005  Olly Betts <olly@survex.com>
31339
31340	* PLATFORMS: IRIX + SGI C++ now compiles with just two warnings -
31341	  unused variables in Snowball generated code.
31342
31343Sun Jan 16 03:19:56 GMT 2005  Olly Betts <olly@survex.com>
31344
31345	* xapian.spec.in: Don't say "%makeinstall" in a comment since rpm
31346	  tries to expand it and explodes.
31347
31348Sat Jan 15 03:30:33 GMT 2005  Olly Betts <olly@survex.com>
31349
31350	* docs/Makefile.am: Clearer rules for making Postscript doxygen docs.
31351
31352Sat Jan 15 02:45:19 GMT 2005  Olly Betts <olly@survex.com>
31353
31354	* HACKING: Note that '#include <limits>' isn't supported by GCC 2.95,
31355	  and other assorted minor tweaks.
31356
31357Sat Jan 08 16:09:10 GMT 2005  Olly Betts <olly@survex.com>
31358
31359	* api/maptermlist.h,backends/inmemory/inmemory_database.h,
31360	  backends/quartz/quartz_postlist.h,common/,matcher/localmatch.h,
31361	  matcher/mergepostlist.h,matcher/phrasepostlist.h,net/progclient.cc:
31362	  Fixes for SGI C++ warnings.
31363
31364Fri Jan  7 13:02:49 GMT 2005  Richard Boulton <richard@tartarus.org>
31365
31366	* common/positionlist.h: Correct out-of-date documentation comment.
31367
31368Tue Jan 04 03:05:26 GMT 2005  Olly Betts <olly@survex.com>
31369
31370	* matcher/multimatch.cc: Removed unnecessary class declaration.
31371
31372Tue Jan 04 03:02:02 GMT 2005  Olly Betts <olly@survex.com>
31373
31374	* configure.ac: Automatically enable ANSI C++ mode for SGI's compiler
31375	  with '-LANG:std'; check that any automatically determined flags
31376	  for ANSI C++ mode actually allow us to compile a trivial program
31377	  - if they don't it probably means the compiler isn't the one we
31378	  were expecting, but one installed with the same name, so we now
31379	  drop the flags in this case.
31380
31381Thu Dec 30 00:50:58 GMT 2004  Olly Betts <olly@survex.com>
31382
31383	* extra/queryparser.yy: QueryParser::parse_query() was failing to
31384	  clear termlist and unstem.
31385
31386Fri Dec 24 00:07:28 GMT 2004  Olly Betts <olly@survex.com>
31387
31388	* PLATFORMS: Updated from tinderbox.
31389
31390Thu Dec 23 21:13:46 GMT 2004  Olly Betts <olly@survex.com>
31391
31392	* backends/quartz/btree.cc: Fixed GCC compilation warning.
31393
31394Thu Dec 23 17:22:15 GMT 2004  Olly Betts <olly@survex.com>
31395
31396	* INSTALL,README: Updated.
31397	* README: Don't quote chunks of the GPL - just refer people to the
31398	  full text in COPYING.
31399
31400Thu Dec 23 16:55:03 GMT 2004  Olly Betts <olly@survex.com>
31401
31402	* NEWS,PLATFORMS,configure.ac: Updated for 0.8.5 release.
31403
31404Tue Dec 21 13:26:55 GMT 2004  Olly Betts <olly@survex.com>
31405
31406	* docs/quickstart.html: Improved wording.
31407
31408Tue Dec 21 13:03:06 GMT 2004  Olly Betts <olly@survex.com>
31409
31410	* HACKING: Updated to reflect extra jobs which cvs-tag-release now
31411	  does.
31412
31413Mon Dec 20 16:25:21 GMT 2004  Olly Betts <olly@survex.com>
31414
31415	* bin/Makefile.am: quartzcompact now uses getopt, so need to link
31416	  it in our version to build on non-glibc platforms.
31417
31418Mon Dec 20 16:23:28 GMT 2004  Olly Betts <olly@survex.com>
31419
31420	* backends/quartz/btree.cc: Added comment noting why we can't
31421	  truncate separating keys at higher levels.
31422
31423Thu Dec 16 14:46:28 GMT 2004  Olly Betts <olly@survex.com>
31424
31425	* HACKING: Fixed a typo, and improved wording.
31426
31427Mon Dec 13 02:52:52 GMT 2004  Olly Betts <olly@survex.com>
31428
31429	* backends/multi/multi_postlist.cc: Updated (C) date.
31430
31431Mon Dec 13 02:50:44 GMT 2004  Olly Betts <olly@survex.com>
31432
31433	* languages/: Added missing '#include <config.h>' to .cc files
31434	  (probably harmless, but it should be included as the first thing any
31435	  source file does).
31436
31437Mon Dec 13 02:21:28 GMT 2004  Olly Betts <olly@survex.com>
31438
31439	* bin/quartzdump.cc: Mark the long options as const.
31440
31441Mon Dec 13 02:20:08 GMT 2004  Olly Betts <olly@survex.com>
31442
31443	* bin/quartzcompact.cc: Tables sizes will always be a whole number of
31444	  Kbytes, since the blocksize is, so report the size in K.  Also
31445	  report the change in size as well as the before and after sizes.
31446
31447Mon Dec 13 02:11:59 GMT 2004  Olly Betts <olly@survex.com>
31448
31449	* common/netutils.cc: Added missing '#include <config.h>' (probably
31450	  harmless, but it should be included as the first thing any source
31451	  file does).
31452
31453Mon Dec 13 01:39:53 GMT 2004  Olly Betts <olly@survex.com>
31454
31455	* backends/quartz/btree.cc,backends/quartz/btree.h: Renamed
31456	  Btree::compress() to Btree::compact() for consistency with
31457	  "full_compaction" and "quartzcompact".  Also, "compress" is
31458	  confusing since use "compact" and we use that term in the zlib
31459	  patch.
31460	* backends/quartz/btree.cc: When full_compaction is enabled, don't
31461	  fill the last few bytes of a block if that would mean we needed
31462	  an extra item and the overhead for that item would use up more
31463	  of the next block than we save.  This reduces the table size
31464	  after full compaction by up to 0.2% in my tests!
31465
31466Mon Dec 13 01:39:02 GMT 2004  Olly Betts <olly@survex.com>
31467
31468	* backends/multi/multi_postlist.cc: Fixed to build with AssertParanoid
31469	  enabled.
31470
31471Mon Dec 13 00:41:28 GMT 2004  Olly Betts <olly@survex.com>
31472
31473	* bin/quartzcompact.cc: Added missing '#include <config.h>' so that
31474	  largefile support is enabled and we report compression statistics
31475	  for tables > 2G.
31476	* bin/quartzcompact.cc: Added --no-full / -n option to disable full
31477	  compaction.  This may be useful if you want to update the database
31478	  after compacting it (need to test to see if this option is actually
31479	  useful).
31480
31481Sun Dec 12 21:26:27 GMT 2004  Olly Betts <olly@survex.com>
31482
31483	* xapian-config.in: Previous attempted fix to --libs output was wrong
31484	  - made it actually work.
31485
31486Sun Dec 12 21:24:44 GMT 2004  Olly Betts <olly@survex.com>
31487
31488	* xapian.spec.in: %makeinstall puts the wrong paths in the .la files
31489	  so use "make DESTDIR=... install" instead.
31490
31491Wed Dec 08 15:59:44 GMT 2004  Olly Betts <olly@survex.com>
31492
31493	* NEWS: Bumped the 0.8.4 release date.
31494
31495Wed Dec 08 15:32:46 GMT 2004  Olly Betts <olly@survex.com>
31496
31497	* xapian-config.in: Make sure that --libs output doesn't include
31498	  libxapian.la (from libxapianqueryparser.la's dependencies).
31499
31500Tue Dec 07 18:18:26 GMT 2004  Olly Betts <olly@survex.com>
31501
31502	* backends/quartz/quartz_log.cc: Fixed to compile on mingw.
31503
31504Tue Dec 07 15:57:44 GMT 2004  Olly Betts <olly@survex.com>
31505
31506	* NEWS: Updated.
31507	* api/omdatabase.cc,backends/database.cc,bin/omtcpsrv.cc,
31508	  common/database.h,docs/,include/xapian/database.h,tests/api_db.cc:
31509	  Added constructors to Database and WritableDatabase which fulfil the
31510	  role that the Auto::open() factory functions currently do.
31511	  Auto::open() is now deprecated.
31512	* api/,backends/inmemory/inmemory_database.cc,
31513	  backends/quartz/quartz_database.cc,backends/quartz/quartz_postlist.h,
31514	  common/expandweight.h,common/stats.h,include/xapian.h:
31515	  #include <xapian.h> no longer pulls in xapian/output.h - this
31516	  removes the external ability to write a Xapian object to an
31517	  ostream directly, as it's little used and potentially dangerous
31518	  ('cout << mset[i];' will compile, but you almost certainly meant
31519	  'cout << *mset[i];').  You can get the old effect by writing
31520	  'cout << obj->get_description();' instead of 'cout << obj;'.
31521	  Adjusted all the library sources which relied on xapian/output.h
31522	  pulling in various other xapian/ headers.
31523	* backends/muscat36/da_database.cc,backends/muscat36/db_database.cc:
31524	  Debug output tweaks.
31525	* common/emptypostlist.h,matcher/mergepostlist.cc,matcher/multimatch.cc:
31526	  Added EmptyPostList::get_maxweight() which always returns 0, so you
31527	  no longer need to explicitly set a weighting scheme on an
31528	  EmptyPostList.
31529	* common/omdebug.h: Only include omstringstream.h if
31530	  XAPIAN_DEBUG_VERBOSE is in effect.
31531	* extra/Makefile.am: queryparsertest needs to link to libxapian.la
31532	  explicitly.
31533	* net/progclient.cc: Whitespace tweak.
31534	* testsuite/: Eliminated barely used sources indexer.h,
31535	  textfile_indexer.h, and textfile_indexer.cc.
31536	* testsuite/backendmanager.cc: Removed unused functions
31537	  make_strvec() and index_file_to_database().
31538
31539Wed Dec 01 07:15:46 GMT 2004  Olly Betts <olly@survex.com>
31540
31541	* PLATFORMS: SF CF x86_64 machine no longer needs --disable-shared.
31542
31543Tue Nov 30 21:53:33 GMT 2004  Olly Betts <olly@survex.com>
31544
31545	* NEWS,PLATFORMS,configure.ac: Updated for 0.8.4 release.
31546
31547Tue Nov 30 03:07:43 GMT 2004  Olly Betts <olly@survex.com>
31548
31549	* configure.ac,backends/database.cc,backends/quartz/bcursor.cc,
31550	  backends/quartz/quartz_database.cc,
31551	  backends/quartz/quartz_postlist.cc,common/omassert.h,
31552	  common/omdebug.cc,common/omdebug.h,docs/doxygen_full_conf.in,
31553	  matcher/localmatch.cc,matcher/multimatch.cc,matcher/stats.cc,
31554	  tests/apitest.cc,tests/btreetest.cc,testsuite/backendmanager.cc,
31555	  testsuite/backendmanager.h,testsuite/testsuite.cc: Rename all the
31556	  MUS_xxx defines to XAPIAN_xxx.
31557
31558Tue Nov 30 02:36:33 GMT 2004  Olly Betts <olly@survex.com>
31559
31560	* configure.ac,backends/quartz/btree.cc: Get configure to probe for
31561	  the prototypes (if any) needed for pread and pwrite.
31562
31563Tue Nov 30 01:09:26 GMT 2004  Olly Betts <olly@survex.com>
31564
31565	* backends/quartz/btree.cc: Instead of trying to coax pread/pwrite
31566	  prototypes out of the system headers, let's try just providing our
31567	  own!
31568
31569Mon Nov 29 19:51:13 GMT 2004  Olly Betts <olly@survex.com>
31570
31571	* extra/Makefile.am: Moved -no-undefined to the right place, plus we
31572	  also need to pass @ldflags@ and ../libxapian.la in
31573	  libxapianqueryparser_la_LIBADD.
31574
31575Mon Nov 29 18:28:57 GMT 2004  Olly Betts <olly@survex.com>
31576
31577	* AUTHORS: Updated.
31578
31579Mon Nov 29 18:27:12 GMT 2004  Olly Betts <olly@survex.com>
31580
31581	* extra/Makefile.am: Added -no-undefined to
31582	  libxapianqueryparser_la_LDFLAGS so it builds on mingw.
31583
31584Mon Nov 29 17:46:54 GMT 2004  Olly Betts <olly@survex.com>
31585
31586	* tests/Makefile.am: Don't try to run "runtest" as a test - it just
31587	  needs to be a dependency of the tests.
31588
31589Sat Nov 27 02:58:28 GMT 2004  Olly Betts <olly@survex.com>
31590
31591	* backends/inmemory/dir_contents: Trimmed whitespace.
31592
31593Sat Nov 27 02:05:51 GMT 2004  Olly Betts <olly@survex.com>
31594
31595	* NEWS: Updated ready for 0.8.4 release.
31596
31597Sat Nov 27 02:03:40 GMT 2004  Olly Betts <olly@survex.com>
31598
31599	* tests/Makefile.am: Added a dependency so "make check" regenerates
31600	  runtest if necessary.
31601
31602Sat Nov 27 02:02:58 GMT 2004  Olly Betts <olly@survex.com>
31603
31604	* AUTHORS: Updated.
31605
31606Sat Nov 27 01:59:18 GMT 2004  Olly Betts <olly@survex.com>
31607
31608	* README: Minor tweak.
31609
31610Sat Nov 27 01:58:53 GMT 2004  Olly Betts <olly@survex.com>
31611
31612	* configure.ac: Improved a couple of comments.
31613
31614Sat Nov 27 01:42:32 GMT 2004  Olly Betts <olly@survex.com>
31615
31616	* docs/: Trimmed trailing whitespace.
31617
31618Sat Nov 27 01:41:33 GMT 2004  Olly Betts <olly@survex.com>
31619
31620	* docs/stemming.html: Reworded text from BrightStation times which
31621	  talked about "the open source release".
31622
31623Fri Nov 26 17:32:55 GMT 2004  Olly Betts <olly@survex.com>
31624
31625	* docs/indexerquickstart.html: Removed dead documentation.
31626
31627Fri Nov 26 17:11:19 GMT 2004  Olly Betts <olly@survex.com>
31628
31629	* PLATFORMS: Updated with new cygwin report.
31630
31631Fri Nov 26 17:07:21 GMT 2004  Olly Betts <olly@survex.com>
31632
31633	* tests/api_anydb.cc,tests/api_nodb.cc,docs/bm25.html,
31634	  include/xapian/enquire.h,matcher/bm25weight.cc: Renamed BM25
31635	  parameters to match standard naming in papers and elsewhere
31636	  (A->k3, B->k1, C->k2, D->b), eliminated the extra factor of 2
31637	  which our C had, and reordered the parameters to k1, k2, k3.
31638	  This is an incompatible API change for BM25Weight(), so if
31639	  you are using custom parameters for BM25 you'll need to
31640	  update your code.
31641
31642Fri Nov 26 15:20:16 GMT 2004  Olly Betts <olly@survex.com>
31643
31644	* tests/runtest.in: Allow VALGRIND environmental variable to override
31645	  the value we got from configure.
31646
31647Fri Nov 26 03:50:36 GMT 2004  Olly Betts <olly@survex.com>
31648
31649	* matcher/bm25weight.cc,matcher/tradweight.cc: termfreq is always
31650	  exact for matching (we only approximate it for query expansion)
31651	  so replace code to work around bad approximations with Assert() to
31652	  make sure this never happens.
31653
31654Fri Nov 26 00:19:22 GMT 2004  Olly Betts <olly@survex.com>
31655
31656	* matcher/expandweight.cc,matcher/tradweight.cc: If we estimate the
31657	  term frequency, ensure it has a sane value (>= r and <= N - R + r)
31658	  rather than bodging around the problem later on.
31659
31660Thu Nov 25 01:29:36 GMT 2004  Olly Betts <olly@survex.com>
31661
31662	* backends/quartz/quartz_database.cc: Fixed recent cygwin change to
31663	  actually compile.
31664
31665Thu Nov 25 01:06:03 GMT 2004  Olly Betts <olly@survex.com>
31666
31667	* bin/quartzcompact.cc: Added --help and --version; Check that the
31668	  source path and desitination path aren't the same; Report each table
31669	  name when we start compacting it, and some simple stats on the
31670	  compaction achieved when we finish.
31671
31672Tue Nov 23 16:19:09 GMT 2004  Olly Betts <olly@survex.com>
31673
31674	* configure.ac: Fixed m4 quoting problem.
31675
31676Tue Nov 23 12:47:54 GMT 2004  Olly Betts <olly@survex.com>
31677
31678	* configure.ac: Fix the test for GCC3 used to turn on -Werror with
31679	  --enable-maintainer-mode.
31680
31681Mon Nov 22 03:08:10 GMT 2004  Olly Betts <olly@survex.com>
31682
31683	* PLATFORMS: Assorted updates.
31684
31685Mon Nov 22 02:15:22 GMT 2004  Olly Betts <olly@survex.com>
31686
31687	* tests/quartztest.cc: Test with DB_CREATE_OR_OPEN in writelock1.
31688
31689Mon Nov 22 01:37:13 GMT 2004  Olly Betts <olly@survex.com>
31690
31691	* common/utils.cc: define NOMINMAX as a cleaner way to prevent
31692	  windows.h from polluting the namespace and colliding with ANSI C++.
31693
31694Sat Nov 20 14:36:43 GMT 2004  Olly Betts <olly@survex.com>
31695
31696	* tests/runtest.in: --logfile-fd was renamed to --log-fd in valgrind
31697	  2.1.2 with no support for the old option name, so we must probe
31698	  to decide which to use.
31699
31700Fri Nov 19 13:18:43 GMT 2004  Olly Betts <olly@survex.com>
31701
31702	* backends/quartz/bcursor.cc,backends/quartz/bcursor.h: Eliminated
31703	  Bcursor::get_tag() - it's an internal method only used from one
31704	  other method, and it now just a trivial wrapper around
31705	  Btree::read_tag().
31706
31707Fri Nov 19 04:20:39 GMT 2004  Olly Betts <olly@survex.com>
31708
31709	* backends/quartz/bcursor.cc,backends/quartz/btree.cc,
31710	  backends/quartz/btree.h: Factored out near identical code from
31711	  Btree::find_tag() and Bcursor::get_tag() into Btree::read_tag().
31712
31713Thu Nov 18 03:27:52 GMT 2004  Olly Betts <olly@survex.com>
31714
31715	* backends/quartz/btree.cc: Applied the Quartz "DANGEROUS" patch, but
31716	  disabled for now.  This way it won't keep being broken by changes
31717	  to the code.
31718
31719Tue Nov 16 04:29:25 GMT 2004  Olly Betts <olly@survex.com>
31720
31721	* backends/quartz/btree.cc: Ah, it's __sun__/__sun/sun, not
31722	  __solaris__ (at least for x86 Solaris 9).
31723
31724Tue Nov 16 02:56:44 GMT 2004  Olly Betts <olly@survex.com>
31725
31726	* backends/quartz/btree.cc: Solaris defines __solaris__ not
31727	  __SOLARIS__.
31728
31729Mon Nov 15 12:40:38 GMT 2004  Olly Betts <olly@survex.com>
31730
31731	* tests/api_db.cc: Added new test userweight1 to test user defined
31732	  matching schemes.
31733
31734Sun Nov 14 05:20:34 GMT 2004  Olly Betts <olly@survex.com>
31735
31736	* backends/quartz/quartz_metafile.cc,
31737	  backends/quartz/quartz_metafile.h: Removed unused
31738	  QuartzMetaFile::erase() method.
31739
31740Sun Nov 14 04:55:05 GMT 2004  Olly Betts <olly@survex.com>
31741
31742	* backends/quartz/quartz_database.cc: For cygwin, use the underlying
31743	  MoveFile API call for locking, as link() doesn't work on FAT
31744	  partitions.  And don't rely on HAVE_LINK to control whether we
31745	  use link() otherwise - if the configure test somehow misfires, a
31746	  compilation error is better than using rename() on Unix as that
31747	  would cause a second writer to smash the lock of the first.
31748
31749Thu Nov 11 06:58:41 GMT 2004  Olly Betts <olly@survex.com>
31750
31751	* backends/quartz/btree.cc: Removed superfluous statement.
31752
31753Tue Nov 09 23:50:10 GMT 2004  Olly Betts <olly@survex.com>
31754
31755	* backends/quartz/btree.cc: Need to include sys/types.h to define
31756	  ssize_t, size_t, and off_t before we prototype pread and pwrite
31757	  for OSF.
31758
31759Tue Nov 09 22:39:00 GMT 2004  Olly Betts <olly@survex.com>
31760
31761	* backends/quartz/btree.cc: Tweaked the pread/pwrite mess to try to
31762	  get it to work on OSF and x86 Solaris while not breaking it
31763	  elsewhere.
31764
31765Tue Nov 09 19:29:37 GMT 2004  Olly Betts <olly@survex.com>
31766
31767	* backends/quartz/btree.cc,backends/quartz/btree.h: More refactoring.
31768
31769Tue Nov 09 17:13:10 GMT 2004  Olly Betts <olly@survex.com>
31770
31771	* backends/quartz/: More refactoring.  Also rearranged the contents
31772	  of the quartz and btree headers, eliminating btree_types.h in the
31773	  process.
31774
31775Tue Nov 09 16:47:13 GMT 2004  Olly Betts <olly@survex.com>
31776
31777	* backends/quartz/quartz_metafile.cc: Using fdcloser is less clear in
31778	  trivial cases.
31779
31780Tue Nov 09 16:38:47 GMT 2004  Olly Betts <olly@survex.com>
31781
31782	* backends/quartz/quartz_database.cc: Close the fd of the lock file
31783	  before trying to rename it on Windows.
31784
31785Tue Nov 09 07:58:02 GMT 2004  Olly Betts <olly@survex.com>
31786
31787	* backends/quartz/btree.cc,backends/quartz/btree.h,
31788	  backends/quartz/btree_util.h: More refactoring.
31789
31790Tue Nov 09 03:24:59 GMT 2004  Olly Betts <olly@survex.com>
31791
31792	* xapian-config.in: Added --swigflags option for use with SWIG.
31793
31794Mon Nov 08 22:54:55 GMT 2004  Olly Betts <olly@survex.com>
31795
31796	* configure.ac,xapian-config.in: If flags are needed to select ANSI
31797	  mode with the current compiler, then make xapian-config --cxxflags
31798	  include them so that Xapian users don't have to jump through the
31799	  same hoops we do.
31800
31801Mon Nov 08 04:49:21 GMT 2004  Olly Betts <olly@survex.com>
31802
31803	* backends/inmemory/inmemory_database.cc,
31804	  backends/inmemory/inmemory_database.h,backends/muscat36/,
31805	  backends/net/net_database.cc,backends/quartz/quartz_database.cc,
31806	  backends/quartz/quartz_database.h,common/database.h,
31807	  common/net_database.h,matcher/localmatch.cc: If a database contains
31808	  no positional information, change NEAR and PHRASE queries into AND
31809	  queries (as otherwise they'd return no matches at all) (bug#56).
31810	* tests/api_wrdb.cc: Added feature test phraseorneartoand1.
31811
31812Mon Nov 08 04:09:04 GMT 2004  Olly Betts <olly@survex.com>
31813
31814	* configure.ac,backends/quartz/btree.cc: Improved what we do to
31815	  turn on pread and pwrite declarations in unistd.h so that it works
31816	  on OSF and doesn't need the HAVE_GLIBC test, yet still works on
31817	  OpenBSD.
31818
31819Mon Nov 08 03:55:51 GMT 2004  Olly Betts <olly@survex.com>
31820
31821	* backends/quartz/,testsuite/btreecheck.cc: More refactoring.
31822
31823Sun Nov 07 20:42:32 GMT 2004  Olly Betts <olly@survex.com>
31824
31825	* configure.ac: One more tweak.
31826
31827Sun Nov 07 18:18:19 GMT 2004  Olly Betts <olly@survex.com>
31828
31829	* configure.ac,include/xapian/version.h.in: Another tweak to hopefully
31830	  get version.h generation to work everywhere.
31831
31832Sun Nov 07 15:01:23 GMT 2004  Olly Betts <olly@survex.com>
31833
31834	* configure.ac,include/xapian/version.h.in: Terminating lines with 'N'
31835	  makes Sun's C++ unhappy.  Try ',' instead.
31836
31837Sun Nov 07 03:54:42 GMT 2004  Olly Betts <olly@survex.com>
31838
31839	* tests/api_nodb.cc: Added test_weight1 which tests the built-in
31840	  Xapian::Weight subclasses (bug#8).
31841
31842Sun Nov 07 03:36:19 GMT 2004  Olly Betts <olly@survex.com>
31843
31844	* backends/quartz/btree.cc,backends/quartz/btree_util.h,
31845	  testsuite/btreecheck.cc: More refactoring.
31846
31847Sun Nov 07 03:33:24 GMT 2004  Olly Betts <olly@survex.com>
31848
31849	* matcher/bm25weight.cc,matcher/tradweight.cc: Fixed definitions to
31850	  match declarations after recent change.
31851
31852Sun Nov 07 02:33:50 GMT 2004  Olly Betts <olly@survex.com>
31853
31854	* configure.ac: Noted LIBRARY_VERSION_INFO which 0.8.4 will get.
31855
31856Sun Nov 07 02:28:38 GMT 2004  Olly Betts <olly@survex.com>
31857
31858	* include/xapian/enquire.h: BoolWeight::unserialise() returns
31859	  BoolWeight*, etc.  BoolWeight::clone() returns BoolWeight *.
31860
31861Sun Nov 07 02:24:17 GMT 2004  Olly Betts <olly@survex.com>
31862
31863	* HACKING: Note that C++ style casts are preferable to C style casts;
31864	  Improve wording in a few places.
31865
31866Sun Nov 07 01:05:58 GMT 2004  Olly Betts <olly@survex.com>
31867
31868	* backends/quartz/btree.cc,backends/quartz/btree_util.h,
31869	  testsuite/btreecheck.cc: Moved set_block_given_by()
31870	  and block_given_by() into Item class.
31871
31872Sat Nov 06 21:16:15 GMT 2004  Olly Betts <olly@survex.com>
31873
31874	* configure.ac,include/xapian/version.h.in: Fix generation of
31875	  version.h to work with aCC -E which concatenates adjacent literal
31876	  strings.
31877
31878Sat Nov 06 20:58:00 GMT 2004  Olly Betts <olly@survex.com>
31879
31880	* backends/quartz/,testsuite/btreecheck.cc: Started to refactor the
31881	  Btree manager by introducing Item and Key classes which take care
31882	  of handling the on-disk format.
31883
31884Sat Nov 06 15:40:05 GMT 2004  Olly Betts <olly@survex.com>
31885
31886	* xapian-config.in,m4/xapian.m4: Pass across ac_top_srcdir and use it
31887	  if provided to say "configure.ac" or "configure.in" rather than
31888	  "configure.in (or configure.ac)" in the "Add AC_PROG_LIBTOOL"
31889	  error message.
31890
31891Sat Nov 06 14:49:05 GMT 2004  Olly Betts <olly@survex.com>
31892
31893	* configure.ac: Updated comment - we now find SOURCEDOC in 2 goes (as
31894	  there are no longer any C sources).
31895
31896Sat Nov 06 14:43:16 GMT 2004  Olly Betts <olly@survex.com>
31897
31898	* configure.ac: Oops, STLPORT_CXXFLAGS *is* used (in xapian-config.in)
31899	  so revert the change which removes it.
31900
31901Sat Nov 06 13:37:23 GMT 2004  Olly Betts <olly@survex.com>
31902
31903	* include/xapian/enquire.h,matcher/bm25weight.cc,
31904	  matcher/tradweight.cc: Move virtual methods of BM25Weight and
31905	  TradWeight out of the header.
31906
31907Sat Nov 06 13:19:32 GMT 2004  Olly Betts <olly@survex.com>
31908
31909	* configure.ac,include/xapian/version.h.in: Another rework of how
31910	  include/xapian/version.h is generated - this time to make it work
31911	  with Sun's C++ compiler again; XAPIAN_VERSION is now a string;
31912	  Define XAPIAN_REVISION (which is 4 for version 0.8.4).
31913
31914Sat Nov 06 04:22:57 GMT 2004  Olly Betts <olly@survex.com>
31915
31916	* configure.ac: Don't AC_SUBST(STLPORT_CXXFLAGS) as it is never used
31917	  that way (it's included in AM_CXXFLAGS).
31918
31919Sat Nov 06 01:03:53 GMT 2004  Olly Betts <olly@survex.com>
31920
31921	* testsuite/testsuite.h: Removed incorrect comment about how STRINGIZE
31922	  is used.
31923
31924Fri Nov 05 14:41:59 GMT 2004  Olly Betts <olly@survex.com>
31925
31926	* include/xapian/database.h: Removed a default parameter value from one
31927	  variant of open_db so that there's only one candidate for
31928	  open_db(string).
31929
31930Fri Nov 05 14:40:38 GMT 2004  Olly Betts <olly@survex.com>
31931
31932	* backends/database.cc: Renamed parameter from keys to values to
31933	  reflect current external naming.
31934
31935Fri Nov 05 14:38:07 GMT 2004  Olly Betts <olly@survex.com>
31936
31937	* include/xapian/version.h.in,configure.ac: Fixed generation of
31938	  include/xapian/version.h to work with aCC.
31939
31940Thu Nov 04 12:17:50 GMT 2004  Olly Betts <olly@survex.com>
31941
31942	* configure.ac: Try "-std strict_ansi" for Compaq C++.
31943
31944Thu Nov 04 11:22:52 GMT 2004  Olly Betts <olly@survex.com>
31945
31946	* configure.ac: Fourth argument to AC_CHECK_HEADERS must be non-empty
31947	  to make a difference.
31948
31949Thu Nov 04 10:21:25 GMT 2004  Olly Betts <olly@survex.com>
31950
31951	* configure.ac: Found clean fix for inttypes.h problem (previous bodge
31952	  didn't work anyway).
31953
31954Thu Nov 04 01:18:55 GMT 2004  Olly Betts <olly@survex.com>
31955
31956	* configure.ac: Eliminated use of \( \) in sed expression as it
31957	  appears to cause problems on HP-UX.
31958
31959Thu Nov 04 00:54:11 GMT 2004  Olly Betts <olly@survex.com>
31960
31961	* configure.ac: Added icky workaround to Compaq C++ oddness - cc can
31962	  find inttypes.h but cxx can't.
31963
31964Wed Nov 03 23:58:48 GMT 2004  Olly Betts <olly@survex.com>
31965
31966	* api/omenquire.cc,common/multimatch.h,matcher/multimatch.cc,
31967	  net/socketserver.cc: Tweaked to compile with Compaq C++.
31968
31969Wed Nov 03 22:55:04 GMT 2004  Olly Betts <olly@survex.com>
31970
31971	* configure.ac: Need to put flags to select ANSI C++ mode in CXXFLAGS
31972	  not AM_CXXFLAGS.
31973
31974Wed Nov 03 22:27:08 GMT 2004  Olly Betts <olly@survex.com>
31975
31976	* api/omenquire.cc: Fixed typo.
31977
31978Wed Nov 03 21:58:53 GMT 2004  Olly Betts <olly@survex.com>
31979
31980	* api/omenquire.cc: Added explicit cast to try to help Compaq C++
31981	  build.
31982
31983Wed Nov 03 21:38:29 GMT 2004  Olly Betts <olly@survex.com>
31984
31985	* configure.ac: Probe for C++ compiler switches for ANSI mode as early
31986	  as possible.  With Compaq's C++, we need -D__USE_STD_IOSTREAM to
31987	  successfully #include <streambuf>.
31988
31989Wed Nov 03 21:07:43 GMT 2004  Olly Betts <olly@survex.com>
31990
31991	* configure.ac: Fixed snprintf configure test.
31992
31993Wed Nov 03 19:37:32 GMT 2004  Olly Betts <olly@survex.com>
31994
31995	* common/utils.cc: Fixed typo.
31996
31997Wed Nov 03 19:27:22 GMT 2004  Olly Betts <olly@survex.com>
31998
31999	* configure.ac,common/utils.cc: Improved snprintf checking.
32000
32001Wed Nov 03 15:43:54 GMT 2004  Olly Betts <olly@survex.com>
32002
32003	* getopt/getopt.cc: Fixed to compile when not using glibc.
32004
32005Wed Nov 03 14:55:29 GMT 2004  Olly Betts <olly@survex.com>
32006
32007	* bin/omtcpsrv.cc,bin/quartzdump.cc,common/Makefile.am,common/getopt.h,
32008	  common/gnu_getopt.h,getopt/,testsuite/testsuite.cc: Major overhaul
32009	  of getopt use.  Move from getopt(), getopt_long(), getopt_long_only()
32010	  to gnu_getopt(), etc so we don't need to dance around avoiding
32011	  clashes with getopt() stuff in system headers.  The new gnu_getopt.h
32012	  header is cruft free and hopefully won't trip up assorted compilers
32013	  or platforms.
32014
32015Wed Nov 03 14:53:39 GMT 2004  Olly Betts <olly@survex.com>
32016
32017	* tests/Makefile.am: quartztest doesn't use getopt directly, so no
32018	  need to link it.
32019
32020Wed Nov 03 12:56:56 GMT 2004  Olly Betts <olly@survex.com>
32021
32022	* tests/stemtest.cc: Prune unused #includes.
32023
32024Wed Nov 03 03:47:46 GMT 2004  Olly Betts <olly@survex.com>
32025
32026	* getopt/getopt.cc: Defining _NO_PROTO is a really bad idea for C++
32027	  code!
32028
32029Wed Nov 03 03:34:06 GMT 2004  Olly Betts <olly@survex.com>
32030
32031	* configure.ac: Removed AC_HEADER_STDC - Compaq's C++ compiler can't
32032	  find inttypes.h, but their C compiler can!
32033
32034Wed Nov 03 02:48:04 GMT 2004  Olly Betts <olly@survex.com>
32035
32036	* net/tcpclient.cc,net/tcpserver.cc: Use SOCKLEN_T for the type we
32037	  need to pass to various socket calls, since HPUX defines socklen_t
32038	  yet wants int in those calls.
32039
32040Wed Nov 03 02:43:26 GMT 2004  Olly Betts <olly@survex.com>
32041
32042	* autoconf/type_socklen_t.m4,matcher/networkmatch.cc,net/: If
32043	  __WIN32__ is defined, we want winsock2.h instead of sys/socket.h.
32044	  Mingw doesn't seem to even have the latter, so I think previously
32045	  we've been compiling by picking one up from somewhere random!
32046
32047Wed Nov 03 01:10:01 GMT 2004  Olly Betts <olly@survex.com>
32048
32049	* autoconf/type_socklen_t.m4: Rewritten to work with HPUX which
32050	  helpfully defines socklen_t but doesn't use it!
32051
32052Tue Nov 02 21:29:40 GMT 2004  Olly Betts <olly@survex.com>
32053
32054	* getopt/getopt.cc: Fixes for Compaq C++.
32055
32056Tue Nov 02 18:51:43 GMT 2004  Olly Betts <olly@survex.com>
32057
32058	* getopt/getopt.cc: Protect getopt definition for possible getopt
32059	  macro declared in getopt.h.
32060
32061Tue Nov 02 16:52:21 GMT 2004  Olly Betts <olly@survex.com>
32062
32063	* configure.ac: AM_CONFIG_HEADER -> AC_CONFIG_HEADERS; removed
32064	  commented out AC_LANG_SAVE and AC_LANG_RESTORE.
32065
32066Tue Nov 02 15:56:02 GMT 2004  Olly Betts <olly@survex.com>
32067
32068	* configure.ac: # comments -> dnl comments.
32069
32070Tue Nov 02 15:54:46 GMT 2004  Olly Betts <olly@survex.com>
32071
32072	* configure.ac: $GCC -> $GXX; $CC -> $CXX.
32073
32074Tue Nov 02 15:38:21 GMT 2004  Olly Betts <olly@survex.com>
32075
32076	* configure.ac,docs/Makefile.am: Removed SOURCEDOC_C_SRC.
32077
32078Tue Nov 02 06:51:39 GMT 2004  Olly Betts <olly@survex.com>
32079
32080	* getopt/getopt.cc,getopt/getopt1.cc: Fixed function declarations to
32081	  not use K&R C syntax.
32082
32083Tue Nov 02 05:31:57 GMT 2004  Olly Betts <olly@survex.com>
32084
32085	* getopt/getopt.cc: Make _getopt_internal extern "C" too.
32086
32087Tue Nov 02 04:43:08 GMT 2004  Olly Betts <olly@survex.com>
32088
32089	* Makefile.am,configure.ac,HACKING,PLATFORMS,backends/muscat36/,
32090	  getopt/Makefile.am,getopt/getopt.cc,getopt/getopt1.cc,languages/:
32091	  Change the few C sources to be C++.  This way we don't need to
32092	  worry about configure choosing a mismatching pair of compilers,
32093	  or about whether configure tests with the C compiler don't apply
32094	  to the C++ compiler, or vice versa.
32095
32096Tue Nov 02 04:31:49 GMT 2004  Olly Betts <olly@survex.com>
32097
32098	* backends/muscat36/: More C casts converted to C++ casts.
32099
32100Tue Nov 02 04:28:07 GMT 2004  Olly Betts <olly@survex.com>
32101
32102	* matcher/bm25weight.cc,matcher/tradweight.cc: More C casts converted
32103	  to C++ casts.
32104
32105Tue Nov 02 03:22:52 GMT 2004  Olly Betts <olly@survex.com>
32106
32107	* backends/muscat36/: Removed unused test harness sources.
32108
32109Tue Nov 02 02:44:34 GMT 2004  Olly Betts <olly@survex.com>
32110
32111	* languages/pool.c,languages/pool.h: Removed unused sources.
32112
32113Tue Nov 02 01:51:30 GMT 2004  Olly Betts <olly@survex.com>
32114
32115	* configure.ac: AC_TYPE_SIZE_T causes problems with Compaq C++ when it
32116	  fails to spot size_t (which is there) and the "#define size_t
32117	  unsigned long" it adds to config.h breaks "using std::size_t;".
32118	  Also removed AC_C_CONST as I don't believe that's needed either
32119	  in a largely C++ library.  Both of these have been in configure.in
32120	  since the very first version so I suspect autoscan decided we wanted
32121	  them.
32122
32123Mon Nov 01 05:44:02 GMT 2004  Olly Betts <olly@survex.com>
32124
32125	* matcher/multimatch.cc: Fixed compilation problem on alpha Linux.
32126
32127Mon Nov 01 03:16:36 GMT 2004  Olly Betts <olly@survex.com>
32128
32129	* api/omqueryinternal.cc,api/omstem.cc,
32130	  backends/inmemory/inmemory_database.h,
32131	  backends/multi/multi_termlist.h,backends/quartz/,
32132	  extra/queryparser.yy,matcher/,net/tcpserver.cc,tests/api_anydb.cc,
32133	  tests/api_db.cc,tests/quartztest.cc,testsuite/backendmanager.cc,
32134	  testsuite/btreecheck.cc,testsuite/testsuite.cc: Changed C style
32135	  casts to C++ style.  The syntax is ugly, but they do make the intent
32136	  clearer which is a good thing.
32137
32138Mon Nov 01 02:56:31 GMT 2004  Olly Betts <olly@survex.com>
32139
32140	* configure.ac: Select ANSI iostream implementation for Compaq C++.
32141
32142Mon Nov 01 02:41:58 GMT 2004  Olly Betts <olly@survex.com>
32143
32144	* configure.ac: Compaq's C++ compiler doesn't know snprintf, yet their
32145	  C compiler does.  Let's try running *all* the configure checks with
32146	  the C++ compiler, since that's what we compile most code with.
32147
32148Mon Nov 01 01:12:43 GMT 2004  Olly Betts <olly@survex.com>
32149
32150	* common/netutils.cc: Fixed to compile.
32151
32152Mon Nov 01 01:06:13 GMT 2004  Olly Betts <olly@survex.com>
32153
32154	* common/Makefile.am,common/netutils.cc,common/netutils.h:
32155	  encode_tname() and decode_tname() aren't really sensible candidates
32156	  for inlining so move them out of a header.
32157
32158Sun Oct 31 15:34:18 GMT 2004  Olly Betts <olly@survex.com>
32159
32160	* configure.ac: Turn on -AA when compiling with HP's aCC.
32161
32162Sun Oct 31 15:10:02 GMT 2004  Olly Betts <olly@survex.com>
32163
32164	* testsuite/testutils.cc: Fixed mset_range_is_same() and
32165	  mset_range_is_same_weights() which were only comparing the
32166	  first items in the range.  Luckily the tests still all pass
32167	  so this wasn't hiding any bugs.
32168
32169Sat Oct 30 19:15:48 BST 2004  Olly Betts <olly@survex.com>
32170
32171	* configure.ac: Disable pread/pwrite on HP-UX as they don't work when
32172	  LFS in enabled, and we definitely want LFS.
32173
32174Sat Oct 30 16:42:24 BST 2004  Olly Betts <olly@survex.com>
32175
32176	* backends/quartz/bcursor.cc: Fix Bcursor::del() which didn't always
32177	  leave the cursor on the next item like it should.
32178	* backends/quartz/quartz_postlist.cc: If we're removing a posting
32179	  list entirely, often there will only be one chunk, so avoid
32180	  creating a Bcursor in this case.
32181
32182Sat Oct 30 16:55:19 BST 2004  Olly Betts <olly@survex.com>
32183
32184	* languages/header.h: Removed unused #define MAXINT and MININT which
32185	  were clashing with some header on HP-UX.
32186
32187Sat Oct 30 07:09:33 BST 2004  Olly Betts <olly@survex.com>
32188
32189	* docs/bm25.html,docs/intro_ir.html: Reworked to talk about Xapian
32190	  rather than Muscat.  Also improved the appearance of the formulae.
32191
32192Sat Oct 30 06:07:14 BST 2004  Olly Betts <olly@survex.com>
32193
32194	* backends/quartz/btree.cc: Btree::read_block - debug log the value
32195	  of p, not the irrelevant contents of the block it points to.
32196
32197Fri Oct 29 22:37:31 BST 2004  Olly Betts <olly@survex.com>
32198
32199	* backends/quartz/quartz_postlist.cc: Improved comments.
32200
32201Fri Oct 29 05:10:02 BST 2004  Olly Betts <olly@survex.com>
32202
32203	* backends/quartz/btree.cc: Fixed ultra-obscure bug in the code which
32204	  finds a key suitable to discriminating between two blocks in a
32205	  B-tree branch (discovered by reading the code).  Comparing the keys
32206	  didn't consider the length of the second, so it is possible the code
32207	  would miscompare.  But in reality this is extremely unlikely to
32208	  happen, and even then would probably just mean that the
32209	  discriminating key wouldn't be as short as it could be.
32210
32211Fri Oct 29 04:12:09 BST 2004  Olly Betts <olly@survex.com>
32212
32213	* backends/quartz/btree.cc: Simplified Btree::compare_keys() by
32214	  removing the last case which was dead code as it was covered by
32215	  an earlier case.
32216
32217Wed Oct 27 21:17:12 BST 2004  Olly Betts <olly@survex.com>
32218
32219	* HACKING,tests/runtest.in:
32220	  Enhanced runtest to allow it to run test programs under valgrind
32221	  and other tools (gdb was already supported).
32222	* testsuite/testsuite.cc: Point the user to the runtest script if
32223	  srcdir can't be guessed.  And no longer look for the test program
32224	  in the tests subdirectory of the current directory.
32225	* common/omdebug.cc: Removed compatibility code for checking
32226	  OM_DEBUG_FILE and OM_DEBUG_TYPES.
32227	* HACKING: Document that %% in XAPIAN_DEBUG_LOG is substituted with
32228	  the process-id, and that setting XAPIAN_DEBUG_FLAGS to -1 enables
32229	  all debug messages.
32230	* HACKING: Valgrind now supports x86 FreeBSD and PowerPC Linux.
32231	* HACKING: Removed mentions of long-dead configure options
32232	  --enable-profiling, --enable-purify and --enable-insure.
32233
32234Wed Oct 27 21:16:10 BST 2004  Olly Betts <olly@survex.com>
32235
32236	* include/xapian/enquire.h: Document parameters of
32237	  Enquire::register_match_decider().
32238
32239Wed Oct 27 21:14:32 BST 2004  Olly Betts <olly@survex.com>
32240
32241	* PLATFORMS: Updated.
32242
32243Wed Oct 13 20:21:38 BST 2004  Olly Betts <olly@survex.com>
32244
32245	* backends/quartz/btree.cc,backends/quartz/btree.h: Revert the
32246	  previous change as runtime sized arrays are a g++ extension.
32247	  Calling new and delete on every call to add_item() is probably
32248	  unwise.
32249
32250Tue Oct 12 23:40:36 BST 2004  Olly Betts <olly@survex.com>
32251
32252	* backends/quartz/btree.cc,backends/quartz/btree.h: split_p is only
32253	  used by Btree::add_item(), so make it a temporary in that method
32254	  rather than a class member variable which we need to take care to
32255	  allocate and deallocate.
32256
32257Mon Oct 11 16:32:10 BST 2004  Olly Betts <olly@survex.com>
32258
32259	* tests/btreetest.cc: Fix memory leaks in test_cursor1.
32260
32261Mon Oct 11 02:24:50 BST 2004  Olly Betts <olly@survex.com>
32262
32263	* docs/quartzdesign.html: Use 5 tables in the example for how we keep
32264	  revisions in step, since we use 5 tables in quartz.
32265
32266Thu Oct 07 22:51:28 BST 2004  Olly Betts <olly@survex.com>
32267
32268	* backends/quartz/btree.cc: An interrupted update could cause any
32269	  further updates to fail with "New revision too low" because the
32270	  new revision was being calculated incorrectly - fixed.
32271
32272Wed Oct 06 15:42:31 BST 2004  Olly Betts <olly@survex.com>
32273
32274	* backends/quartz/btree.cc,include/xapian/database.h: Check that any
32275	  user specified block size is a power of 2.  And if the block size
32276	  passed is invalid, use the default of 8192 rather than throwing an
32277	  exception.
32278
32279Wed Oct 06 12:19:39 BST 2004  Olly Betts <olly@survex.com>
32280
32281	* PLATFORMS: Updated from tinderbox.
32282
32283Wed Oct 06 01:10:46 BST 2004  Olly Betts <olly@survex.com>
32284
32285	* backends/quartz/btree.cc,backends/quartz/quartz_document.cc,
32286	  matcher/multimatch.cc,common/multimatch.h: Fix some warnings
32287	  from Sun's C++ compiler.
32288
32289Thu Sep 30 22:16:37 BST 2004  Olly Betts <olly@survex.com>
32290
32291	* common/utils.cc,common/utils.h: Fixes for win32 and sun's c++
32292	  compiler.
32293
32294Thu Sep 30 18:24:20 BST 2004  Olly Betts <olly@survex.com>
32295
32296	* common/utils.h,extra/queryparser.yy: Fixed bug which caused
32297	  misparsing of certain prefixed queries, introduced by C_isXXXXX
32298	  change.
32299
32300Thu Sep 30 11:09:17 BST 2004  Olly Betts <olly@survex.com>
32301
32302	* tests/api_anydb.cc: Modified version of changequery1 fails - the
32303	  fix is tricky, so just make it SKIP for now.
32304
32305Wed Sep 29 21:33:29 BST 2004  Olly Betts <olly@survex.com>
32306
32307	* extra/Makefile.am: Fixed to work when srcdir != builddir.
32308
32309Wed Sep 29 18:52:04 BST 2004  Olly Betts <olly@survex.com>
32310
32311	* PLATFORMS,docs/Makefile.am: Workaround odd latex problem.
32312
32313Wed Sep 29 17:10:00 BST 2004  Olly Betts <olly@survex.com>
32314
32315	* configure.ac,docs/doxygen_api_conf.in,docs/doxygen_full_conf.in:
32316	  Updated doxygen conf files for doxygen 1.3.8.
32317
32318Wed Sep 29 16:52:53 BST 2004  Olly Betts <olly@survex.com>
32319
32320	* common/utils.cc,common/utils.h,extra/Makefile.am,
32321	  extra/queryparser.yy,tests/api_anydb.cc,testsuite/index_utils.cc:
32322	  Provide our own C_isalpha(), etc replacements for isalpha(), etc
32323	  which always work in the C locale and avoid signed char problems.
32324
32325Tue Sep 28 00:04:11 BST 2004  Olly Betts <olly@survex.com>
32326
32327	* common/utils.cc,common/utils.h: rmdir() isn't a sensible candidate
32328	  for inlining so move it out of the header.
32329
32330Mon Sep 27 17:33:23 BST 2004  Olly Betts <olly@survex.com>
32331
32332	* extra/queryparser.yy: Be smarter about when to add a ':' when adding
32333	  a term prefix.
32334
32335Mon Sep 27 16:01:37 BST 2004  Olly Betts <olly@survex.com>
32336
32337	* docs/scalability.html: Added note warning about benchmarking from
32338	  cold.
32339
32340Mon Sep 27 15:20:13 BST 2004  Olly Betts <olly@survex.com>
32341
32342	* HACKING: Note that we use doxygen 1.3.8 for snapshots and releases;
32343	  Note that --enable-maintainer-mode now automatically enables -Werror
32344	  with GCC 3.0 or newer.
32345
32346Wed Sep 22 16:49:20 BST 2004  Olly Betts <olly@survex.com>
32347
32348	* matcher/: Pruned unneeded #include-s and other tidying, some
32349	  enabled by the previous change.
32350
32351Wed Sep 22 14:04:27 BST 2004  Olly Betts <olly@survex.com>
32352
32353	* common/positionlist.h,matcher/: Moved all of the implementations
32354	  of the XXXPostList classes from the .h files into the .cc files.
32355	  All the methods are virtual, so we aren't going to gain anything
32356	  from being able to inline them.
32357
32358Wed Sep 22 02:58:59 BST 2004  Olly Betts <olly@survex.com>
32359
32360	* configure.ac: Automatically add -Werror to CFLAGS and CXXFLAGS if
32361	  maintainer mode is enabled and we're using GCC3 or newer.  Don't
32362	  do this for older GCCs as GCC 2.95 issues spurious warnings.
32363
32364Wed Sep 22 02:41:41 BST 2004  Olly Betts <olly@survex.com>
32365
32366	* backends/quartz/quartz_record.cc,backends/quartz/quartz_utils.h:
32367	  Introduced CASSERT_TYPE_UNSIGNED to replace the common use of
32368	  CASSERT to assert at compile time that a type is unsigned.
32369
32370Tue Sep 21 15:58:05 BST 2004  Olly Betts <olly@survex.com>
32371
32372	* PLATFORMS: Removed reports from versions prior to 0.7.0.  So much
32373	  has changed that these are of little value.
32374
32375Mon Sep 20 15:24:27 BST 2004  Olly Betts <olly@survex.com>
32376
32377	* NEWS,PLATFORMS,configure.ac: Version 0.8.3.
32378
32379Mon Sep 20 15:13:34 BST 2004  Olly Betts <olly@survex.com>
32380
32381	* AUTHORS: Updated.
32382
32383Mon Sep 20 14:26:35 BST 2004  Olly Betts <olly@survex.com>
32384
32385	* xapian.spec.in: Removed reference to xapian-examples' createdatabase
32386	  (which is no longer in xapian-examples).
32387
32388Mon Sep 20 13:06:59 BST 2004  Olly Betts <olly@survex.com>
32389
32390	* xapian.spec.in: Updated version from Fabrice Colin (incorporating
32391	  changes from Alan Cox's RPM spec files): split off libs into a
32392	  separate package to allow 32 and 64 bit versions to be installed
32393	  concurrently; include binaries from xapian-examples; updated source
32394	  URLs.
32395
32396Mon Sep 20 03:25:44 BST 2004  Olly Betts <olly@survex.com>
32397
32398	* tests/api_anydb.cc: Added regression test for previous bug (test
32399	  checkatleast1).
32400
32401Mon Sep 20 03:16:14 BST 2004  Olly Betts <olly@survex.com>
32402
32403	* matcher/multimatch.cc: Fixed segfault with check_at_least when there
32404	  were no matches.
32405
32406Sun Sep 19 17:54:52 BST 2004  Olly Betts <olly@survex.com>
32407
32408	* api/omenquire.cc,common/omdebug.cc: Fixed to compile with debug
32409	  tracing enabled.
32410
32411Sat Sep 18 19:02:54 BST 2004  Olly Betts <olly@survex.com>
32412
32413	* tests/api_db.cc: Updated missed use of omprogsrv to xapian-progsrv.
32414
32415Tue Sep 14 18:09:19 BST 2004  Olly Betts <olly@survex.com>
32416
32417	* xapian.spec.in,bin/.cvsignore,bin/Makefile.am,debian/control.in,
32418	  debian/xapian-tools.install,docs/remote.html,tests/remotetest.cc,
32419	  testsuite/backendmanager.cc: Rename omtcpsrv to xapian-tcpsrv and
32420	  omprogsrv to xapian-progsrv.
32421
32422Tue Sep 14 16:25:06 BST 2004  Olly Betts <olly@survex.com>
32423
32424	* xapian.spec.in: Fixed mangled URL in last checkin.
32425
32426Tue Sep 14 15:35:00 BST 2004  Olly Betts <olly@survex.com>
32427
32428	* xapian.spec.in: Updated URL for tarball.
32429
32430Tue Sep 14 02:49:34 BST 2004  Olly Betts <olly@survex.com>
32431
32432	* HACKING: Updated the "how to do a release" tasklist.
32433
32434Mon Sep 13 03:19:47 BST 2004  Olly Betts <olly@survex.com>
32435
32436	* NEWS,PLATFORMS,configure.ac: Version 0.8.2.
32437
32438Sat Sep 11 16:39:08 BST 2004  Olly Betts <olly@survex.com>
32439
32440	* include/xapian/version.h.in: GCC 3.1 reported the wrong value for
32441	  __GXX_ABI_VERSION (100 not 101) so check 3.0 and 3.1 by version
32442	  number, keeping the __GXX_ABI_VERSION check for newer versions.
32443
32444Sat Sep 11 02:57:48 BST 2004  Olly Betts <olly@survex.com>
32445
32446	* backends/quartz/bcursor.cc: Fixed and reenabled Bcursor::prev()
32447	  (not currently used, but it will be useful for running posting
32448	  lists backwards!)
32449
32450Fri Sep 10 13:13:51 BST 2004  Olly Betts <olly@survex.com>
32451
32452	* tests/Makefile.am: Need to ship test data for new test.
32453
32454Thu Sep 09 21:58:37 BST 2004  Olly Betts <olly@survex.com>
32455
32456	* tests/api_db.cc: Extended feature test sortrel1 to check interaction
32457	  with Enquire::set_sort_forward(false).
32458
32459Thu Sep 09 21:46:12 BST 2004  Olly Betts <olly@survex.com>
32460
32461	* api/omenquire.cc,common/multimatch.h,common/omenquireinternal.h,
32462	  include/xapian/enquire.h,matcher/multimatch.cc,net/socketserver.cc,
32463	  tests/api_db.cc,tests/testdata/apitest_sortrel.txt: You can now
32464	  specify to sort by value, then relevance, then docid instead of
32465	  by value then docid.
32466
32467Thu Sep 09 19:30:07 BST 2004  Olly Betts <olly@survex.com>
32468
32469	* docs/todo.xml: Removed unused file - todo entries are now in
32470	  bugzilla.
32471
32472Thu Sep 09 13:11:52 BST 2004  Olly Betts <olly@survex.com>
32473
32474	* api/omenquire.cc,common/multimatch.h,common/omenquireinternal.h,
32475	  include/xapian/enquire.h,matcher/multimatch.cc,net/socketserver.cc:
32476	  Added optional "checkatleast" parameter to Enquire::get_mset()
32477	  which allows Omega's MIN_HITS functionality to be implemented
32478	  in the matcher (a bit more efficient).
32479
32480Thu Sep 09 04:18:32 BST 2004  Olly Betts <olly@survex.com>
32481
32482	* NEWS: Updated.
32483
32484Thu Sep 09 03:39:52 BST 2004  Olly Betts <olly@survex.com>
32485
32486	* PLATFORMS: Updated from the tinderbox.  Sun's C++ compiler can
32487	  now build Xapian on sparc!
32488
32489Thu Sep 09 02:19:43 BST 2004  Olly Betts <olly@survex.com>
32490
32491	* tests/api_wrdb.cc: Added feature test for
32492	  WritableDatabase::replace_document() and delete_document() with
32493	  a unique term (apitest:uniqueterm1.
32494	* backends/inmemory/inmemory_alltermslist.cc,
32495	  backends/inmemory/inmemory_database.cc,
32496	  backends/inmemory/inmemory_database.h:
32497	  Fixed bugs thrown up by the new test.
32498
32499Wed Sep 08 19:45:37 BST 2004  Olly Betts <olly@survex.com>
32500
32501	* HACKING: Updated details of Solaris open workaround.
32502
32503Wed Sep 08 19:42:15 BST 2004  Olly Betts <olly@survex.com>
32504
32505	* common/utils.h,backends/quartz/btree.cc,
32506	  backends/quartz/quartz_database.cc,backends/quartz/quartz_log.cc:
32507	  New version of the Solaris open dance - now we always pass in
32508	  const char * for the filename, and we don't need the dance on
32509	  new versions, so only dance if open is defined.
32510
32511Wed Sep 08 16:26:15 BST 2004  Olly Betts <olly@survex.com>
32512
32513	* api/omquery.cc,include/xapian/query.h: Renamed Query::is_empty()
32514	  to Query::empty() for consistency.  Keep Query::is_empty() for
32515	  now as a deprecated alias.
32516
32517Wed Sep 08 16:24:44 BST 2004  Olly Betts <olly@survex.com>
32518
32519	* tests/api_wrdb.cc: replace_doc -> replace_doc1; added new test
32520	  replace_doc2 to test using replace_doc to add a document with
32521	  a specified docid.
32522
32523Wed Sep 08 16:23:50 BST 2004  Olly Betts <olly@survex.com>
32524
32525	* backends/inmemory/inmemory_database.h: Removed unused member
32526	  variable "indexing".
32527
32528Wed Sep 08 16:14:47 BST 2004  Olly Betts <olly@survex.com>
32529
32530	* backends/quartz/quartz_database.cc: If replace_document() is used
32531	  to add a document with did greater than lastdocid, raise lastdocid
32532	  so future calls to add_document() won't clash.
32533
32534Wed Sep 08 16:13:51 BST 2004  Olly Betts <olly@survex.com>
32535
32536	* backends/inmemory/inmemory_database.cc: Fixed bug
32537	  Database::replace_document() to work with a document id greater
32538	  than lastdocid.
32539
32540Wed Sep 08 05:10:01 BST 2004  Olly Betts <olly@survex.com>
32541
32542	* common/utils.h: The latest fcntl.h dance causes a compile error on
32543	  mingw, so don't use it there.
32544
32545Wed Sep 08 03:38:20 BST 2004  Olly Betts <olly@survex.com>
32546
32547	* common/utils.h: Use a namespace as an extra step in the Sun fcntl
32548	  open64 dance.
32549
32550Tue Sep 07 02:33:50 BST 2004  Olly Betts <olly@survex.com>
32551
32552	* tests/test.da: Another cruft file removed.
32553
32554Tue Sep 07 02:21:49 BST 2004  Olly Betts <olly@survex.com>
32555
32556	* tests/btreetest.cc,tests/quartztest.cc: Moved overwrite1 from
32557	  quartztest to btreetest.  Added const in a few places.
32558
32559Tue Sep 07 02:07:43 BST 2004  Olly Betts <olly@survex.com>
32560
32561	* tests/quartztest.cc: Removed overwrite2 test.  Digging back in CVS
32562	  it's been disabled since the day after it added.  After all this
32563	  time it's hard to guess exactly what it was intended to test, so
32564	  just removing it seems simplest.  We already have overwrite1 to test
32565	  getting DatabaseModifiedError.
32566
32567Tue Sep 07 01:52:25 BST 2004  Olly Betts <olly@survex.com>
32568
32569	* tests/btreetest.cc: Cleaned up paths to temporary Btrees.
32570
32571Mon Sep 06 17:51:27 BST 2004  Olly Betts <olly@survex.com>
32572
32573	* tests/btreetest.cc,tests/quartztest.cc: Now that QuartzTable,
32574	  QuartzDiskTable, QuartzBufferedTable, QuartzCursor,
32575	  QuartzDiskCursor, and QuartzBufferedCursor are gone, move
32576	  quartztest tests which now just use Btree and Bcursor to btreetest.
32577	  This is more logical and should help make quartztest less of a
32578	  monster to compile.
32579
32580Mon Sep 06 12:47:47 BST 2004  Olly Betts <olly@survex.com>
32581
32582	* tests/Makefile.am: Ship testdata/apitest_allterms4.txt.
32583
32584Mon Sep 06 02:46:32 BST 2004  Olly Betts <olly@survex.com>
32585
32586	* tests/quartztest.cc: Xapian::Database will create the directory for
32587	  the database so there's no need to create it ourselves.
32588
32589Mon Sep 06 02:40:57 BST 2004  Olly Betts <olly@survex.com>
32590
32591	* tests/,tests/testdata/apitest_allterms4.txt: Split off tests which
32592	  require a writable database backend and tests which should work with
32593	  any database backend from api_db.cc as it was getting rather large.
32594	  Fixed simplequery2 to work with backends which don't return the
32595	  document length (such as the muscat36 backends).  Fixed allterms4
32596	  to work with muscat36 backends.
32597
32598Mon Sep 06 02:39:29 BST 2004  Olly Betts <olly@survex.com>
32599
32600	* backends/muscat36/da_database.cc,backends/muscat36/db_database.cc:
32601	  Fixed to compile now that internal_end_session() has gone.
32602
32603Mon Sep 06 00:59:36 BST 2004  Olly Betts <olly@survex.com>
32604
32605	* tests/runtest.in: Added support for running gdb on a test program,
32606	  automatically sorting out srcdir and libtool.
32607
32608Mon Sep 06 00:49:11 BST 2004  Olly Betts <olly@survex.com>
32609
32610	* tests/apitest_parser.pm: Removed long unused file.
32611
32612Sun Sep 05 22:53:27 BST 2004  Olly Betts <olly@survex.com>
32613
32614	* include/xapian/enquire.h: Tweaked documentation comment to stop
32615	  doxygen parsing a hyphen as a single entry bullet point list.
32616
32617Sun Sep 05 20:20:01 BST 2004  Olly Betts <olly@survex.com>
32618
32619	* testsuite/backendmanager.h: Added missing "std::" so code will
32620	  compile with GCC >= 3.
32621
32622Sun Sep 05 13:54:58 BST 2004  Olly Betts <olly@survex.com>
32623
32624	* testsuite/backendmanager.h: Removed superfluous "BackendManager::".
32625
32626Sun Sep 05 01:54:49 BST 2004  Olly Betts <olly@survex.com>
32627
32628	* common/utils.cc,common/utils.h: Removed now unused files_exist()
32629	  function.
32630
32631Sun Sep 05 01:50:35 BST 2004  Olly Betts <olly@survex.com>
32632
32633	* tests/api_db.cc,tests/apitest.cc,tests/apitest.h,
32634	  testsuite/backendmanager.cc,testsuite/backendmanager.h:
32635	  Cleaned up BackendManager by removing complications only required
32636	  by absentfile1 test, which can be implemented more directly anyway.
32637
32638Sun Sep 05 01:33:16 BST 2004  Olly Betts <olly@survex.com>
32639
32640	* tests/quartztest.cc: Cleaned up rather odd code which is a hangover
32641	  from when keys and tags weren't simply C++ strings.
32642
32643Sat Sep 04 12:35:12 BST 2004  Olly Betts <olly@survex.com>
32644
32645	* HACKING: Updated details of which autotools we require.
32646
32647Fri Sep 03 17:51:59 BST 2004  Olly Betts <olly@survex.com>
32648
32649	* configure.ac: Require autoconf 2.59.  Noted LIBRARY_VERSION_INFO
32650	  which 0.8.2 will probably have.
32651	* Makefile.am: Require automake 1.8.5.
32652
32653Fri Sep 03 16:40:11 BST 2004  Olly Betts <olly@survex.com>
32654
32655	* PLATFORMS: Updated with results from tinderbox.
32656
32657Fri Sep 03 14:34:00 BST 2004  Olly Betts <olly@survex.com>
32658
32659	* autoconf/definedir.m4,autoconf/rjb_find_stlport.m4: Quote macro
32660	  names to fix warning from newer aclocal.  Removed comments about
32661	  future autodetection of stlport, as the user will always need to
32662	  decide between the STL supplied with the compiler and stlport.
32663
32664Thu Sep 02 17:55:33 BST 2004  Olly Betts <olly@survex.com>
32665
32666	* matcher/andpostlist.cc: Initialise lmax and rmax to 0.  Hopefully
32667	  this will fix SIGFPE on apitest's qterminfo2 on alpha linux.
32668
32669Thu Sep 02 14:50:20 BST 2004  Olly Betts <olly@survex.com>
32670
32671	* backends/quartz/quartz_database.cc: Not storing the document length
32672	  and last docid on every add means that the magic key won't always
32673	  exists when there are records and
32674	  QuartzWritableDatabase::get_doccount() is sometimes off by one.  Fix
32675	  crudely for now by making sure that the magic key does always exist.
32676	  Longer term the magic key probably should be in the postlist table
32677	  but that's an incompatible change.
32678
32679Wed Sep 01 16:15:23 BST 2004  Olly Betts <olly@survex.com>
32680
32681	* backends/quartz/: Change QuartzWritableDatabase to store the total
32682	  document length and the last docid itself rather than tallying added
32683	  and removed document length and writing the last docid back every
32684	  time a document is added.  This gives cleaner code and a small
32685	  performance win.  Removed XAPIAN_FLUSH_THRESHOLD_LENGTH as we no
32686	  longer tally the length changes, and made the default flush
32687	  threshold 10000 documents (was 1000).
32688
32689Wed Sep 01 14:21:19 BST 2004  Olly Betts <olly@survex.com>
32690
32691	* backends/quartz/btree.cc: Turn on previously commented-out code to
32692	  make the first key null for blocks more than 1 away from the leaves.
32693	  It saves disk space for a tiny CPU and RAM cost so is bound to be
32694	  a win overall.
32695
32696Tue Aug 31 13:55:58 BST 2004  Olly Betts <olly@survex.com>
32697
32698	* backends/quartz/btree.cc,backends/quartz/btree.h,
32699	  backends/quartz/btree_util.h: Merged Btree::make_index_item() into
32700	  Btree::enter_key().
32701
32702Tue Aug 31 01:07:19 BST 2004  Olly Betts <olly@survex.com>
32703
32704	* NEWS: Updated in preparation for a release.
32705
32706Tue Aug 31 00:53:35 BST 2004  Olly Betts <olly@survex.com>
32707
32708	* backends/quartz/btree.cc: Short-cutting Btree::cancel causes
32709	  problems so disable that for the time being at least.
32710
32711Fri Aug 27 13:09:56 BST 2004  Olly Betts <olly@survex.com>
32712
32713	* testsuite/btreecheck.cc: Fixed %% to % (presumably a hangover from
32714	  converting printf to cout).
32715
32716Thu Aug 26 18:11:50 BST 2004  Olly Betts <olly@survex.com>
32717
32718	* backends/quartz/quartz_postlist.cc: Reduce quartz postlist chunk
32719	  threshold from 2048 to 2000 so that chunks won't get split by the
32720	  Btree.
32721
32722Thu Aug 26 18:10:27 BST 2004  Olly Betts <olly@survex.com>
32723
32724	* backends/quartz/quartz_record.cc: Throw DocNotFoundError if we
32725	  try to delete a record which doesn't exist.
32726
32727Thu Aug 26 17:18:56 BST 2004  Olly Betts <olly@survex.com>
32728
32729	* configure.ac: Don't define DATADIR - we no longer use it and clashes
32730	  with more recent mingw headers.
32731
32732Wed Aug 25 22:47:06 BST 2004  Olly Betts <olly@survex.com>
32733
32734	* docs/quartzdesign.html: Started section on quartzcompact.
32735
32736Wed Aug 25 22:45:48 BST 2004  Olly Betts <olly@survex.com>
32737
32738	* api/omdatabase.cc,include/xapian/database.h: Changed new
32739	  WritableDatabase::replace_document(term, doc) method to return
32740	  the docid which the document was given.
32741
32742Tue Aug 24 13:45:52 BST 2004  Olly Betts <olly@survex.com>
32743
32744	* api/omenquire.cc,include/xapian/enquire.h: Added new ESet methods
32745	  swap(), back() and operator[].
32746	* include/xapian/enquire.h: Added documentation comments for
32747	  MSet methods size(), empty(), swap(), begin(), end(), back().
32748	* include/xapian/enquire.h: Removed bogus documentation saying
32749	  that some Enquire methods can throw DatabaseOpeningError.
32750
32751Tue Aug 24 10:24:30 BST 2004  Olly Betts <olly@survex.com>
32752
32753	* HACKING: Noted automake 1.8 may be problematic.  Tweaked list of
32754	  release tasks.
32755
32756Tue Aug 24 10:16:38 BST 2004  Olly Betts <olly@survex.com>
32757
32758	* matcher/multimatch.cc: If a matchdecider is specified and no matches
32759	  are requested, the lower bound on the number of matches must be 0
32760	  (since the matchdecider could reject all the matches).
32761
32762Mon Aug 23 23:03:12 BST 2004  Olly Betts <olly@survex.com>
32763
32764	* backends/quartz/btree.cc: Improved the "Db block overwritten"
32765	  message.  The DatabaseCorruptError version now suggests multiple
32766	  writers may be the cause, while the DatabaseModifiedError version
32767	  uses less alarming wording and says to call Database::reopen().
32768
32769Sun Aug 22 14:07:35 BST 2004  Olly Betts <olly@survex.com>
32770
32771	* indexer/: Removed the old XML-based indexer framework.  It's not
32772	  worked for ages, and nobody seems interested in ressurecting it.
32773	  If anyone ever is, they can fetch it back from CVS, but otherwise
32774	  it's just bulking up CVS checkouts.
32775
32776Sun Aug 22 13:02:25 BST 2004  Olly Betts <olly@survex.com>
32777
32778	* Makefile.am,configure.ac,extra/Makefile.am: Moved the older library
32779	  version information into configure.ac.
32780
32781Sun Aug 22 12:58:21 BST 2004  Olly Betts <olly@survex.com>
32782
32783	* HACKING,configure.in,configure.ac,backends/Makefile.am,
32784	  docs/Makefile.am: Renamed configure.in to configure.ac.
32785
32786Sun Aug 22 12:47:43 BST 2004  Olly Betts <olly@survex.com>
32787
32788	* xapian-config.in: Add "(or configure.ac)" in message telling the
32789	  user to add a line to their configure.in.
32790
32791Sun Aug 22 11:38:55 BST 2004  Olly Betts <olly@survex.com>
32792
32793	* backends/quartz/btree.cc,backends/quartz/btree_util.h: Adjusted
32794	  some Asserts to check c is within blocksize rather than
32795	  65536.  Added a FIXME for those which can't be trivially changed.
32796
32797Sun Aug 22 10:56:56 BST 2004  Olly Betts <olly@survex.com>
32798
32799	* backends/quartz/quartz_database.cc: No need to force a flush on
32800	  QuartzWritableDatabase::open_document() (the document will read
32801	  things lazily from the database, and that may trigger a forced
32802	  flush).
32803	* backends/quartz/quartz_database.cc,
32804	  backends/quartz/quartz_database.h: Eliminated
32805	  QuartzDatabase::open_post_list_internal() and
32806	  QuartzDatabase::open_term_list_internal().
32807
32808Sun Aug 22 01:33:05 BST 2004  Olly Betts <olly@survex.com>
32809
32810	* backends/quartz/quartz_database.cc,backends/quartz/quartz_record.cc,
32811	  backends/quartz/quartz_record.h: WritableDatabase::get_avlength()
32812	  no longer forces pending changes to be flushed.  This means you can
32813	  now search a modified WritableDatabase without causing a flush
32814	  unless the search includes a term whose postlist has pending
32815	  modifications.
32816
32817Fri Aug 20 20:03:59 BST 2004  Olly Betts <olly@survex.com>
32818
32819	* backends/quartz/btree_util.h,common/,docs/overview.html,
32820	  docs/quickstart.html,include/xapian/enquire.h,
32821	  matcher/branchpostlist.h,matcher/multimatch.cc,tests/api_db.cc:
32822	  Corrected multiple occurrences of "an Xapian::XXX" to "a Xapian::XXX"
32823	  (presumably these all resulted from replacing "Om" with "Xapian::").
32824
32825Fri Aug 20 17:38:15 BST 2004  Olly Betts <olly@survex.com>
32826
32827	* backends/quartz/,bin/quartzcheck.cc,bin/quartzcompact.cc,
32828	  bin/quartzdump.cc,tests/btreetest.cc,tests/quartztest.cc:
32829	  Merged QuartzCursor into Bcursor.
32830
32831Fri Aug 20 13:43:04 BST 2004  Olly Betts <olly@survex.com>
32832
32833	* NEWS,backends/quartz/: Fixed the problem with "lazy tag reading"
32834	  in QuartzCursor and reenable that code.  The problem was with
32835	  deleting the current key, so added QuartzCursor::del() which
32836	  deletes the current key, leaving the cursor on the next item.
32837
32838Fri Aug 20 13:04:33 BST 2004  Olly Betts <olly@survex.com>
32839
32840	* tests/api_db.cc: Reenabled test allterms2, but with the iterator
32841	  copying parts removed - TermIterator is an input_iterator so
32842	  that part was invalid.
32843
32844Thu Aug 19 19:19:48 BST 2004  Olly Betts <olly@survex.com>
32845
32846	* NEWS: Updated from recent ChangeLog entries.
32847
32848Thu Aug 19 14:09:28 BST 2004  Olly Betts <olly@survex.com>
32849
32850	* tests/api_db.cc: Added regression test for bug #37.
32851
32852Thu Aug 19 13:31:37 BST 2004  Olly Betts <olly@survex.com>
32853
32854	* matcher/localmatch.cc: Fixed problems handling termweights in
32855	  queries with the same term repeated (bug #37).
32856
32857Thu Aug 19 13:22:12 BST 2004  Olly Betts <olly@survex.com>
32858
32859	* backends/quartz/quartz_table.cc: Disable the "lazy tag reading" in
32860	  QuartzCursor for the time being - it seems to cause problems.
32861
32862Thu Aug 19 12:58:10 BST 2004  Olly Betts <olly@survex.com>
32863
32864	* bin/quartzcheck.cc,bin/quartzdump.cc: Added calls to
32865	  QuartzCursor::read_tag().
32866
32867Thu Aug 19 12:56:53 BST 2004  Olly Betts <olly@survex.com>
32868
32869	* matcher/multimatch.cc: Removed superfluous clear() of a map.
32870
32871Thu Aug 19 12:56:08 BST 2004  Olly Betts <olly@survex.com>
32872
32873	* tests/api_db.cc: Corrected a comment - a pure boolean query has all
32874	  weights set to 0, not 1.
32875
32876Mon Aug 16 15:41:33 BST 2004  Olly Betts <olly@survex.com>
32877
32878	* docs/: Removed unused and very out of date class diagrams in dia
32879	  format.  Doxygen generates similar but up-to-date diagrams
32880	  automatically anyway.
32881
32882Mon Aug 16 15:27:30 BST 2004  Olly Betts <olly@survex.com>
32883
32884	* xapian.spec.in,debian/libxapianVERSION-dev.install,
32885	  extra/.cvsignore,extra/Makefile.am,extra/omparsequery.h,
32886	  include/Makefile.am,include/om/.cvsignore,include/om/dir_contents,
32887	  include/om/om.h,m4/xapian.m4: Removed the compatibility layer which
32888	  allowed programs written against the pre-0.7.0 API to be compiled.
32889
32890Mon Aug 16 15:08:08 BST 2004  Olly Betts <olly@survex.com>
32891
32892	* backends/quartz/quartz_table.cc: Fixed QuartzCursor::find()
32893	  to work again after the last change.
32894
32895Mon Aug 16 14:43:08 BST 2004  Olly Betts <olly@survex.com>
32896
32897	* backends/quartz/,tests/quartztest.cc: QuartzCursor no longer
32898	  automatically reads the tag - you have to call read_tag() to
32899	  get it read.  This speeds up iterator over all the terms in
32900	  a database.  Also commented out QuartzCursor::prev as it's
32901	  unused and untested (at least in its latest form).
32902
32903Mon Aug 16 12:39:56 BST 2004  Olly Betts <olly@survex.com>
32904
32905	* backends/quartz/btree_types.h: Made Bcursor.rewrite bool rather than
32906	  int.
32907
32908Mon Aug 16 12:35:07 BST 2004  Olly Betts <olly@survex.com>
32909
32910	* backends/quartz/btree.cc,backends/quartz/btree.h: Calculate and
32911	  store the latest revision number, rather than storing the other
32912	  one and working out which is newer every time we're asked.
32913
32914Mon Aug 16 12:32:59 BST 2004  Olly Betts <olly@survex.com>
32915
32916	* docs/install.html: We haven't "only [...] UNIX" for ages, so don't
32917	  claim we are.  We use libtool as well as autoconf and automake.
32918	  Link to the CVS snapshots.  And also mention downloading omega.
32919
32920Mon Aug 16 12:20:04 BST 2004  Olly Betts <olly@survex.com>
32921
32922	* docs/index.html: exaplains -> explains.
32923
32924Mon Aug 16 12:18:34 BST 2004  Olly Betts <olly@survex.com>
32925
32926	* docs/overview.html: Removed references to "our company" (meaning
32927	  BrightStation) and to the now defunct special parameters which
32928	  the inmemory backend accepted to cause deliberate errors for
32929	  testing.
32930
32931Sun Aug 15 23:48:20 BST 2004  Olly Betts <olly@survex.com>
32932
32933	* tests/btreetest.cc: item_count -> get_entry_count(); revision_number
32934	  -> get_open_revision_number().
32935
32936Sun Aug 15 23:15:34 BST 2004  Olly Betts <olly@survex.com>
32937
32938	* backends/Makefile.am,backends/inmemory/Makefile.am: Fixed to compile
32939	  with --disable-inmemory (bug #33).
32940
32941Sat Aug 14 18:56:06 BST 2004  Olly Betts <olly@survex.com>
32942
32943	* Makefile.am: Improved library versioning comment.
32944
32945Sat Aug 14 18:55:17 BST 2004  Olly Betts <olly@survex.com>
32946
32947	* docs/overview.html: Fixed om_queryop to Xapian::Query::op, and added
32948	  missing OP_* codes to the list.
32949
32950Sat Aug 14 17:44:39 BST 2004  Olly Betts <olly@survex.com>
32951
32952	* backends/quartz/bcursor.h,backends/quartz/btree.cc,
32953	  backends/quartz/btree.h,bin/quartzcompact.cc,docs/quartzdesign.html:
32954	  Updated quartz design docs to reflect recent changes.  Also pulled
32955	  out the Btree and Bcursor API docs and slotted them in as doxygen
32956	  documentation comments - this way they're much more likely to
32957	  be kept up-to-date.
32958
32959Sat Aug 14 15:59:07 BST 2004  Olly Betts <olly@survex.com>
32960
32961	* backends/quartz/btree.cc,backends/quartz/btree.h: Removed unused
32962	  Btree default ctor.
32963
32964Sat Aug 14 15:45:28 BST 2004  Olly Betts <olly@survex.com>
32965
32966	* backends/quartz/btree.cc,backends/quartz/btree.h: Don't redundantly
32967	  store next_revision - it's always just revision_number + 1.
32968
32969Sat Aug 14 15:30:30 BST 2004  Olly Betts <olly@survex.com>
32970
32971	* backends/quartz/btree.cc: Implemented Btree::cancel directly rather
32972	  than closing and reopening the Btree.
32973
32974Sat Aug 14 14:46:43 BST 2004  Olly Betts <olly@survex.com>
32975
32976	* backends/quartz/,bin/quartzcheck.cc,bin/quartzcompact.cc,
32977	  bin/quartzdump.cc,tests/btreetest.cc,tests/quartztest.cc,
32978	  testsuite/btreecheck.cc,testsuite/btreecheck.h: Eliminated
32979	  QuartzTable which had become just a thin wrapper around Btree.
32980
32981Fri Aug 13 19:19:02 BST 2004  Olly Betts <olly@survex.com>
32982
32983	* backends/quartz/quartz_postlist.cc:
32984	  QuartzPostList::move_to_chunk_containing now calls next_chunk if
32985	  required, rather than forcing the caller to do the fix-up.
32986
32987Fri Aug 13 17:54:53 BST 2004  Olly Betts <olly@survex.com>
32988
32989	* backends/quartz/quartz_database.cc,
32990	  backends/quartz/quartz_database.h: Added tunable flush thresholds
32991	  - set XAPIAN_FLUSH_THRESHOLD=5000 to flush every 5000 documents
32992	  or XAPIAN_FLUSH_THRESHOLD_LENGTH=1000000 to flush every 1000000
32993	  total change in document length.  Set both to flush whichever is
32994	  reached first.  Set neither and the default is to flush every
32995	  1000 documents as before.
32996
32997Fri Aug 13 15:54:21 BST 2004  Olly Betts <olly@survex.com>
32998
32999	* backends/quartz/: Removed no-longer-used Btree::erase and
33000	  QuartzTable::erase methods.
33001
33002Fri Aug 13 15:37:15 BST 2004  Olly Betts <olly@survex.com>
33003
33004	* backends/quartz/btree.cc,backends/quartz/quartz_database.cc:
33005	  Changed Btree::create() to remove any pre-existing alternate base
33006	  file, so we no longer need to call Btree::erase before
33007	  Btree::create.
33008
33009Fri Aug 13 15:37:15 BST 2004  Olly Betts <olly@survex.com>
33010
33011	* NEWS: Updated with changes since last release.
33012
33013Fri Aug 13 15:36:04 BST 2004  Olly Betts <olly@survex.com>
33014
33015	* tests/api_posdb.cc,tests/quartztest.cc: Reworked quartztest's
33016	  positionlist1 into a generic api test as apitest's poslist3.
33017
33018Thu Aug 12 16:26:42 BST 2004  Olly Betts <olly@survex.com>
33019
33020	* backends/quartz/quartz_table.cc,backends/quartz/quartz_table.h,
33021	  bin/quartzcheck.cc,bin/quartzdump.cc: QuartzCursor now has a
33022	  Bcursor member, rather than an AutoPtr<Bcursor> member.
33023
33024Thu Aug 12 14:13:37 BST 2004  Olly Betts <olly@survex.com>
33025
33026	* tests/btreetest.cc: Fixed up in line with the recent refactoring.
33027
33028Thu Aug 12 13:23:31 BST 2004  Olly Betts <olly@survex.com>
33029
33030	* m4/xapian.m4: XO_LIB_XAPIAN now AC_SUBSTs XAPIAN_VERSION.
33031
33032Thu Aug 12 13:21:36 BST 2004  Olly Betts <olly@survex.com>
33033
33034	* backends/quartz/,tests/quartztest.cc: Refactored, replacing
33035	  Quartz*Manager with Quartz*Table.
33036
33037Thu Aug 12 02:00:58 BST 2004  Olly Betts <olly@survex.com>
33038
33039	* backends/quartz/: Merged QuartzTableManager into QuartzDatabase.
33040
33041Wed Aug 11 23:40:34 BST 2004  Olly Betts <olly@survex.com>
33042
33043	* backends/quartz/quartz_database.cc,backends/quartz/quartz_database.h:
33044	  Eliminated buffered_tables member of QuartzWritableDatabase.
33045
33046Wed Aug 11 21:26:35 BST 2004  Olly Betts <olly@survex.com>
33047
33048	* backends/inmemory/inmemory_database.cc,
33049	  backends/quartz/quartz_database.cc,backends/quartz/quartz_database.h,
33050	  docs/todo.xml: WritableDatabase::replace_document can now be used
33051	  to add a document with a specific docid (to allow keeping docids
33052	  in sync with numeric UIDs from another system).
33053
33054Wed Aug 11 20:09:15 BST 2004  Olly Betts <olly@survex.com>
33055
33056	* api/omdatabase.cc,include/xapian/database.h: Added replace_document
33057	  and delete_document variants which take a unique id term name rather
33058	  than a document id.
33059	* include/xapian/database.h: Better documentation for replace_document
33060	  and delete_document.
33061
33062Wed Aug 11 16:15:10 BST 2004  Olly Betts <olly@survex.com>
33063
33064	* backends/quartz/,bin/quartzcheck.cc,bin/quartzdump.cc,
33065	  tests/quartztest.cc: Eliminated QuartzBufferedTable.
33066
33067Wed Jun 30 20:34:08 BST 2004  Olly Betts <olly@survex.com>
33068
33069	* NEWS: Fixed an unwrapped line.
33070
33071Wed Jun 30 20:32:31 BST 2004  Olly Betts <olly@survex.com>
33072
33073	* HACKING: Added note about the cvs-tag-release script.
33074
33075Wed Jun 30 19:05:45 BST 2004  Olly Betts <olly@survex.com>
33076
33077	* HACKING,NEWS,PLATFORMS,configure.in: Version 0.8.1.
33078
33079Wed Jun 30 14:23:20 BST 2004  Olly Betts <olly@survex.com>
33080
33081	* AUTHORS,PLATFORMS: Updated.
33082
33083Tue Jun 29 23:24:59 BST 2004  Olly Betts <olly@survex.com>
33084
33085	* tests/api_nodb.cc: Make emptyquery1 check that Query("") causes an
33086	  InvalidArgumentError exception.
33087
33088Tue Jun 29 17:29:03 BST 2004  Richard Boulton <richard@tartarus.org>
33089
33090	* Makefile.am: Remove Debian files from distribution tarballs,
33091	  since there will often be multiple patch releases for each
33092	  release.  Debian files will be available from an apt repository
33093	  in future.
33094
33095Mon Jun 28 01:29:00 BST 2004  Olly Betts <olly@survex.com>
33096
33097	* NEWS: Mostly updated for 0.8.1 release.
33098
33099Sun Jun 27 23:37:01 BST 2004  Olly Betts <olly@survex.com>
33100
33101	* backends/quartz/quartz_postlist.cc: Fixed bug in postlist merging.
33102
33103Sat Jun 26 00:51:04 BST 2004  Olly Betts <olly@survex.com>
33104
33105	* AUTHORS: Add Malcolm Baldridge (helped fix a problem with building
33106	  the PHP bindings with newer versions of SWIG and PHP).
33107
33108Fri Jun 26 00:29:10 BST 2004  Olly Betts <olly@survex.com>
33109
33110	* HACKING,api/ompositionlistiterator.cc,api/ompostlistiterator.cc,
33111	  api/omtermlistiterator.cc,include/xapian/: MSetIterator and
33112	  ESetIterator are now bidirectional iterators (rather than
33113	  just input iterators);  Fixed post-increment forms of
33114	  PostingIterator, TermIterator, PositionIterator, and ValueIterator
33115	  so that *i++ works (as it must for them to be true input iterators).
33116
33117Thu Jun 24 18:03:46 BST 2004  Olly Betts <olly@survex.com>
33118
33119	* PLATFORMS: Added success report for Slackware Linux 9.1.
33120
33121Mon Jun 21 16:33:16 BST 2004  Olly Betts <olly@survex.com>
33122
33123	* backends/quartz/quartz_postlist.cc: Corrected -> to . so code
33124	  compiles with debug enabled.
33125
33126Mon Jun 21 03:25:24 BST 2004  Olly Betts <olly@survex.com>
33127
33128	* backends/quartz/btree.cc: Eliminated two calls to abort() - throw
33129	  exceptions instead.
33130
33131Mon Jun 21 03:21:14 BST 2004  Olly Betts <olly@survex.com>
33132
33133	* backends/quartz/quartz_postlist.cc: Finish backing out incorrect
33134	  change from "Fri May 07 03:16:29 BST 2004" - failed to change two
33135	  lines back before.
33136
33137Fri Jun 18 16:48:10 BST 2004  Richard Boulton <richard@tartarus.org>
33138
33139	* configure.in: Fix typo (STLPORT_CXXLAGS -> STLPORT_CXXFLAGS)
33140
33141Thu Jun 17 03:46:32 BST 2004  Olly Betts <olly@survex.com>
33142
33143	* backends/quartz/quartz_database.cc: Cleaned up code to track
33144	  add vs delete vs modify of a posting list entry since we now
33145	  force a flush if an entry is about to be retouched.
33146
33147Thu Jun 17 03:44:21 BST 2004  Olly Betts <olly@survex.com>
33148
33149	* backends/quartz/quartz_postlist.cc: Back out incorrect change from
33150	  "Fri May 07 03:16:29 BST 2004".  We do need to call get_or_make_tag
33151	  in this case because we're modifying the tag.
33152
33153Wed Jun 16 15:40:21 BST 2004  Olly Betts <olly@survex.com>
33154
33155	* backends/inmemory/inmemory_database.h: Implemented get_lastdocid()
33156	  for InMemory backend.
33157
33158Wed Jun 16 02:39:41 BST 2004  Olly Betts <olly@survex.com>
33159
33160	* configure.in: Note the value of LIBRARY_VERSION_INFO which 0.8.1
33161	  would get if it were released now.
33162
33163Wed Jun 16 02:39:11 BST 2004  Robert Pollak <robert.pollak@fabasoft.com>
33164
33165	* api/omdatabase.cc, include/xapian/database.h,
33166	  backends/database.cc, common/database.h,
33167	  backends/quartz/quartz_database.cc, backends/quartz/quartz_database.h,
33168	  backends/quartz/quartz_record.cc, backends/quartz/quartz_record.h:
33169	  New method Database::get_lastdocid for re-synchronizing an old
33170	  quartz index.
33171
33172Wed Jun 16 02:05:07 BST 2004  Richard Boulton <richard@tartarus.org>
33173
33174	* matcher/multimatch.cc: When collapsing, keep track of the number
33175	  of collapses performed, and use this information to modify the
33176	  bounds and estimate of the number of matches.
33177	* tests/api_db.cc: Added tests for this.
33178	* include/xapian/enquire.h: Update documentation comments for
33179	  MSet::get_matches_*() functions to make clear that collapsing and
33180	  cutoffs are taken into account.  (Previously, the most likely
33181	  interpretation of the comments was that they wouldn't be taken
33182	  into account, but the implementation was that percentage cutoffs
33183	  were taken into account.)  Due to this ambiguity, I think it is
33184	  reasonable to say this isn't an API change.
33185
33186Wed Jun 16 01:55:29 BST 2004  Olly Betts <olly@survex.com>
33187
33188	* matcher/multimatch.cc: Rearranged code so that the behaviour can
33189	  be easily seen to be unchanged, but so that it's closer to the
33190	  result of applying Richard's patch for bug #31.
33191
33192Wed Jun 16 01:27:09 BST 2004  Olly Betts <olly@survex.com>
33193
33194	* matcher/multimatch.cc: Trimmed extra whitespace.
33195
33196Tue Jun 15 15:40:11 BST 2004  Olly Betts <olly@survex.com>
33197
33198	* backends/quartz/quartz_postlist.cc: Fixed PostlistChunkReader to
33199	  take a copy of the postlist data being read to avoid problems with
33200	  reading data from a string that's been deleted.
33201
33202Tue Jun 15 15:26:54 BST 2004  Olly Betts <olly@survex.com>
33203
33204	* HACKING: Updated the list of tasks required for a new release.
33205
33206Tue Jun 15 15:24:04 BST 2004  Olly Betts <olly@survex.com>
33207
33208	* Makefile.am,configure.in,extra/Makefile.am: Unify the shlib version
33209	  numbers (the small benefit of tracking them individually makes it
33210	  hard to justify the extra work required, and having one version
33211	  simplifies debian packaging too).
33212
33213Tue Jun 15 14:52:36 BST 2004  Robert Pollak <robert.pollak@fabasoft.com>
33214
33215	* extra/xapian/queryparser.h: Fixed memory leaked upon QueryParser
33216	  destruction.
33217
33218Fri Jun 11 02:18:35 BST 2004  Olly Betts <olly@survex.com>
33219
33220	* backends/quartz/quartz_postlist.cc: Refactored a loop.
33221
33222Fri Jun 11 02:17:05 BST 2004  Olly Betts <olly@survex.com>
33223
33224	* backends/quartz/quartz_postlist.cc: Fixed bug which meant we
33225	  sometimes failed to remove a posting when deleting or replacing
33226	  a document.
33227
33228Fri Jun 11 02:16:16 BST 2004  Olly Betts <olly@survex.com>
33229
33230	* backends/quartz/quartz_postlist.cc,
33231	  backends/quartz/quartz_postlist.h: Merged move_to() into skip_to().
33232
33233Fri Jun 11 02:14:56 BST 2004  Olly Betts <olly@survex.com>
33234
33235	* backends/quartz/quartz_postlist.cc: Fixed typo in comment.
33236
33237Thu May 27 15:41:45 BST 2004  Olly Betts <olly@survex.com>
33238
33239	* backends/quartz/btree.cc,backends/quartz/btree.h: Eliminated the
33240	  split cursor - we only actually need a single block buffer to
33241	  handle splitting blocks.
33242
33243Wed May 26 04:02:18 BST 2004  Olly Betts <olly@survex.com>
33244
33245	* include/om/om.h,include/xapian/errortypes.h: Removed several unused
33246	  Xapian::Error subclasses (these were used by the indexer framework
33247	  which we decided was a failed experiment).
33248
33249Wed May 26 01:54:13 BST 2004  Olly Betts <olly@survex.com>
33250
33251	* backends/quartz/btree.cc,backends/quartz/btree.h: More DEBUGCALL
33252	  tracing added; split_root now uses level member rather than a
33253	  parameter.
33254
33255Sun May 23 00:56:41 BST 2004  Olly Betts <olly@survex.com>
33256
33257	* backends/quartz/btree.cc,backends/quartz/btree.h: Merge split_off()
33258	  into add_item().
33259
33260Sat May 22 01:28:58 BST 2004  Olly Betts <olly@survex.com>
33261
33262	* backends/quartz/btree.cc: Another DEBUGCALL.
33263	* backends/quartz/quartz_table.h: Improved comments.
33264
33265Fri May 21 23:17:01 BST 2004  Olly Betts <olly@survex.com>
33266
33267	* backends/quartz/btree.cc: Removed unnecessary assignment which is
33268	  a hangover from the shared level code we removed long ago.
33269
33270Fri May 21 20:31:56 BST 2004  Olly Betts <olly@survex.com>
33271
33272	* backends/quartz/,docs/quartzdesign.html,testsuite/btreecheck.cc:
33273	  Removed overwritten flag (unused as we throw an exception anyway).
33274	  If Btree is writable, throw DatabaseCorruptError if we detect
33275	  overwritten.  Make use of bool return types consistent.  Removed
33276	  documentation of Btree error codes (the error codes themselves
33277	  were removed a month ago).
33278
33279Thu May 20 03:50:46 BST 2004  Olly Betts <olly@survex.com>
33280
33281	* include/xapian/database.h: Remove references to sessions in doxygen
33282	  comments.
33283
33284Thu May 20 03:44:28 BST 2004  Olly Betts <olly@survex.com>
33285
33286	* api/omdatabase.cc,backends/database.cc,
33287	  backends/inmemory/inmemory_database.cc,
33288	  backends/inmemory/inmemory_database.h,
33289	  backends/muscat36/da_database.h,backends/muscat36/db_database.h,
33290	  backends/net/net_database.cc,backends/quartz/quartz_database.cc,
33291	  backends/quartz/quartz_database.h,common/database.h,
33292	  common/net_database.h: Clean up the backend interface.
33293
33294Thu May 20 03:18:30 BST 2004  Olly Betts <olly@survex.com>
33295
33296	* backends/database.cc,backends/inmemory/inmemory_database.cc,
33297	  backends/inmemory/inmemory_database.h,backends/muscat36/,
33298	  backends/net/net_database.cc,backends/quartz/quartz_database.cc,
33299	  backends/quartz/quartz_database.h,common/database.h:
33300	  Stripped out the session machinery - all that is actually required
33301	  is to ensure that any unflushed changes are flushed when the dtor
33302	  runs.
33303
33304Mon May 17 01:04:17 BST 2004  Olly Betts <olly@survex.com>
33305
33306	* backends/quartz/btree.cc,backends/quartz/btree.h,
33307	  backends/quartz/btree_types.h: Reworked split_p and split_n
33308	  members of Cursor into a separate C_split cursor.  This
33309	  reduces the memory overhead of each Bcursor (and hence each
33310	  QuartzPostList).
33311
33312Sat May 15 01:29:40 BST 2004  Olly Betts <olly@survex.com>
33313
33314	* docs/quickstart.html: Corrected lingering reference to "om.h" and
33315	  note that we need <iostream>.
33316	* docs/quickstartindex.cc.html,docs/quickstartexpand.cc.html,
33317	  docs/quickstartsearch.cc.html: Add <iostream>.
33318	* AUTHORS: Add John Ward for pointing out the above problems.
33319
33320Fri May 14 00:59:51 BST 2004  Olly Betts <olly@survex.com>
33321
33322	* HACKING: Added the start of a list of subtasks when doing a release.
33323	  Currently it's always me that does this, but it may not always be
33324	  and anyhow it'll help me to have a list to run through.
33325
33326Fri May 14 00:59:21 BST 2004  Olly Betts <olly@survex.com>
33327
33328	* docs/todo.xml: Updated.
33329
33330Thu May 13 17:14:18 BST 2004  Olly Betts <olly@survex.com>
33331
33332	* extra/queryparser.yy: When stripping non-alphanums prior to
33333	  reparsing, keep dots ('.').
33334	* extra/queryparsertest.cc: Pruned near-duplicate queryparsertest
33335	  testcases.
33336
33337Thu May 13 12:09:19 BST 2004  Olly Betts <olly@survex.com>
33338
33339	* docs/quartzdesign.html: "interger" -> "integer".
33340
33341Thu May 13 11:20:44 BST 2004  Olly Betts <olly@survex.com>
33342
33343	* Makefile.am: Removed bogus extra line added by last change.
33344
33345Thu May 13 11:11:31 BST 2004  Olly Betts <olly@survex.com>
33346
33347	* configure.in,Makefile.am,autoconf/.cvsignore,autoconf/Makefile.am,
33348	  m4/.cvsignore,m4/Makefile.am: Removed trivial m4/Makefile.am and
33349	  and autoconf/Makefile.am and do the work from the top level
33350	  Makefile.am instead.  It's easy to see the structure this way, and
33351	  it also removes a couple of recursive make invocations.
33352
33353Thu May 13 09:32:22 BST 2004  Olly Betts <olly@survex.com>
33354
33355	* backends/quartz/btree.cc,backends/quartz/btree.h: Added DEBUGCALL
33356	  tracing;  Stripped out C_ parameters where they are always the
33357	  internal cursor C.
33358
33359Thu May 13 00:05:45 BST 2004  Olly Betts <olly@survex.com>
33360
33361	* extra/queryparser.yy,extra/queryparsertest.cc: If we fail to parse
33362	  a query, try stripping out non-alphanumerics and reparsing.
33363
33364Wed May 12 14:32:54 BST 2004  Olly Betts <olly@survex.com>
33365
33366	* common/omtime.h: Corrected file description.
33367
33368Wed May 12 02:08:44 BST 2004  Olly Betts <olly@survex.com>
33369
33370	* backends/quartz/btree.cc: Fixed typos in comment.
33371
33372Tue May 11 20:55:56 BST 2004  Olly Betts <olly@survex.com>
33373
33374	* xapian-config.in: Added comment saying why we filter out
33375	  -I/usr/include; Removed no longer used "optarg" stuff; Added licence
33376	  boilerplate text (with (C) dates mined from CVS).
33377
33378Tue May 11 13:42:38 BST 2004  Olly Betts <olly@survex.com>
33379
33380	* backends/quartz/bcursor.cc,backends/quartz/btree.cc: Added lots
33381	  of assertions.
33382
33383Tue May 11 09:29:51 BST 2004  Richard Boulton <richard@tartarus.org>
33384
33385	* debian/: Added basic Debian packaging.
33386
33387Mon May 10 17:17:45 BST 2004  Olly Betts <olly@survex.com>
33388
33389	* docs/quartzdsign.html: Corrected various pieces of out of date
33390	  information.
33391
33392Mon May 10 01:30:35 BST 2004  Olly Betts <olly@survex.com>
33393
33394	* backends/quartz/btree.h: Removed unused forward declaration of
33395	  class BtreeCheck.
33396
33397Mon May 10 01:30:24 BST 2004  Olly Betts <olly@survex.com>
33398
33399	* backends/quartz/btree.cc: Fixed typo.
33400
33401Sat May 08 20:14:40 BST 2004  Olly Betts <olly@survex.com>
33402
33403	* backends/quartz/: Pruned some #include-s which were unused, or could
33404	  be replaced by forward class declarations.
33405
33406Fri May 07 14:38:10 BST 2004  Olly Betts <olly@survex.com>
33407
33408	* backends/quartz/quartz_postlist.cc: Slight efficiency tweak to the
33409	  "deleting the whole posting list" case.
33410
33411Fri May 07 03:16:29 BST 2004  Olly Betts <olly@survex.com>
33412
33413	* backends/quartz/quartz_postlist.cc: Removed another unnecessary use
33414	  of QuartzBufferedTable::get_or_make_tag().
33415
33416Fri May 07 02:56:22 BST 2004  Olly Betts <olly@survex.com>
33417
33418	* backends/quartz/btree.cc: Initialise prev_ptr and next_ptr at open
33419	  time for a writable Btree.
33420
33421Fri May 07 02:46:53 BST 2004  Olly Betts <olly@survex.com>
33422
33423	* backends/quartz/quartz_postlist.cc: Remove unneeded call to
33424	  QuartzBufferedTable::get_or_make_tag() in a case when we're using a
33425	  cursor which has already fetched the tag.
33426
33427Thu May 06 23:30:12 BST 2004  Olly Betts <olly@survex.com>
33428
33429	* backends/quartz/btree.cc: Improved a comment.
33430
33431Thu May 06 22:20:43 BST 2004  Olly Betts <olly@survex.com>
33432
33433	* backends/quartz/btree.cc: Added a few more assertions.
33434
33435Thu May 06 02:25:33 BST 2004  Olly Betts <olly@survex.com>
33436
33437	* backends/quartz/quartz_positionlist.cc,
33438	  backends/quartz/quartz_utils.h: Added SON_OF_QUARTZ define to
33439	  disable incompatible changes to database formats by default, and
33440	  use it to control the docid encoding for keys such that we're always
33441	  inserting at the end of the table when added new documents.
33442
33443Thu May 06 02:23:02 BST 2004  Olly Betts <olly@survex.com>
33444
33445	* backends/quartz/quartz_postlist.cc: Improved a FIXME comment.
33446
33447Thu May 06 00:32:17 BST 2004  Olly Betts <olly@survex.com>
33448
33449	* extra/queryparsertest.cc: Added test case for `term NOT "a phrase'.
33450
33451Thu May 06 00:28:32 BST 2004  Olly Betts <olly@survex.com>
33452
33453	* common/omdebug.cc,common/omdebug.h: Renamed OmTimer class used
33454	  internally by the --enable-debug=profile code to
33455	  Xapian::Internal::Timer.
33456
33457Wed May 05 13:59:47 BST 2004  Olly Betts <olly@survex.com>
33458
33459	* docs/scalability.html: Reworded to remove use of first person.
33460
33461Mon May 03 21:42:05 BST 2004  Olly Betts <olly@survex.com>
33462
33463	* Makefile.am: Improved wording of a FIXME comment.
33464
33465Sun May 02 10:18:55 BST 2004  Olly Betts <olly@survex.com>
33466
33467	* backends/quartz/btree.cc: Improved a couple of comments.
33468
33469Sat May 01 04:42:43 BST 2004  Olly Betts <olly@survex.com>
33470
33471	* backends/quartz/btree.cc,backends/quartz/btree.h,
33472	  backends/quartz/quartz_table.cc: Reopening the readonly version
33473	  of a writable Btree is now more efficient.
33474
33475Sat May 01 01:41:24 BST 2004  Olly Betts <olly@survex.com>
33476
33477	* PLATFORMS: Added up-to-date success reports for x86-openbsd and
33478	  x86-solaris.
33479
33480Fri Apr 30 04:05:15 BST 2004  Olly Betts <olly@survex.com>
33481
33482	* backends/quartz/: Don't delete and reload the Btree_base just after
33483	  saving it - instead reuse the existing Btree_base object.
33484
33485Fri Apr 30 02:41:50 BST 2004  Olly Betts <olly@survex.com>
33486
33487	* backends/quartz/btree.cc: Clean up new code in Btree::commit()
33488	  from last change.
33489
33490Thu Apr 29 22:41:05 BST 2004  Olly Betts <olly@survex.com>
33491
33492	* backends/quartz/btree.cc,backends/quartz/quartz_table.cc: Don't
33493	  close and reopen the database table file descriptors every time
33494	  we flush changes.
33495
33496Thu Apr 29 22:40:36 BST 2004  Olly Betts <olly@survex.com>
33497
33498	* docs/quartzdesign.html: Improved wording in a couple of places.
33499
33500Thu Apr 29 16:50:45 BST 2004  Olly Betts <olly@survex.com>
33501
33502	* backends/quartz/bcursor.cc: Removed references to Btree::error
33503	  from debug code since Btree::error was removed a week ago.
33504
33505Tue Apr 27 20:46:25 BST 2004  Olly Betts <olly@survex.com>
33506
33507	* backends/quartz/btree.cc,configure.in: Added configure test for
33508	  glibc, because otherwise we need to include a header before we
33509	  can check for glibc in order to define something we should be
33510	  defining before we include any headers!
33511
33512Tue Apr 27 17:45:51 BST 2004  Olly Betts <olly@survex.com>
33513
33514	* backends/quartz/btree.cc: Only defined _XOPEN_SOURCE if __GLIBC__
33515	  is defined.  OpenBSD seems to do the opposite to Linux and *disable*
33516	  pread and pwrite if this is defined!
33517
33518Tue Apr 27 14:35:47 BST 2004  Olly Betts <olly@survex.com>
33519
33520	* api/omenquire.cc,tests/api_db.cc: Need to adjust index by firstitem
33521	  when indexing into items (bug#28).
33522
33523Mon Apr 26 23:45:15 BST 2004  Olly Betts <olly@survex.com>
33524
33525	* PLATFORMS: Successfully built with gcc-3.5-20040327 snapshot on x86
33526	  linux.
33527
33528Fri Apr 23 11:26:07 BST 2004  Olly Betts <olly@survex.com>
33529
33530	* PLATFORMS: Successfully built and tested on arm linux.
33531
33532Fri Apr 23 11:24:23 BST 2004  Olly Betts <olly@survex.com>
33533
33534	* tests/remotetest.cc: Use 127.0.0.1 instead of localhost so that
33535	  tcpmatch1 doesn't fail just because the network setup is broken.
33536
33537Thu Apr 22 00:54:58 BST 2004  Olly Betts <olly@survex.com>
33538
33539	* backends/quartz/: Stripped out Btree_errors as it's almost
33540	  totally unused now.  Fixed up the last few uses.
33541	* backends/quartz/quartz_table.cc: Fixed another case where read
33542	  and write Btrees should share fds.
33543
33544Wed Apr 21 02:51:08 BST 2004  Olly Betts <olly@survex.com>
33545
33546	* backends/quartz/btree.cc: Check the return value of
33547	  fdatasync()/fsync()/_commit() and raise an error.  They aren't
33548	  likely to fail harmlessly.
33549
33550Wed Apr 21 02:45:28 BST 2004  Olly Betts <olly@survex.com>
33551
33552	* backends/quartz/btree.cc,backends/quartz/btree.h,
33553	  backends/quartz/quartz_table.cc: Share file descriptors between
33554	  the read and write Btree objects so that a quartz WritableDatabase
33555	  now uses 5 fds rather than 10.
33556
33557Wed Apr 21 02:37:38 BST 2004  Olly Betts <olly@survex.com>
33558
33559	* docs/scalability.html: Removed the reference to the Quartz update
33560	  bottleneck "currently being addressed for Xapian 0.8" as it's now
33561	  been addressed!
33562
33563Wed Apr 21 00:24:08 BST 2004  Olly Betts <olly@survex.com>
33564
33565	* backends/quartz/btree.cc: Corrected a comment.
33566
33567Mon Apr 19 14:42:06 BST 2004  Olly Betts <olly@survex.com>
33568
33569	* NEWS: Final update for 0.8.0.
33570
33571Mon Apr 19 14:02:33 BST 2004  Olly Betts <olly@survex.com>
33572
33573	* AUTHORS: Added people who've contributed build reports for the
33574	  PLATFORMS file.
33575
33576Mon Apr 19 14:01:38 BST 2004  Olly Betts <olly@survex.com>
33577
33578	* PLATFORMS: More updates from tinderbox and elsewhere.
33579
33580Sat Apr 17 02:24:11 BST 2004  Olly Betts <olly@survex.com>
33581
33582	* PLATFORMS: Lots of updates from tinderbox and mailing list.
33583
33584Sat Apr 17 00:13:26 BST 2004  Olly Betts <olly@survex.com>
33585
33586	* HACKING: Added notes about using "using", and pointers to a couple
33587	  of useful C++ web resources.
33588
33589Mon Apr 12 00:56:04 BST 2004  Olly Betts <olly@survex.com>
33590
33591	* Makefile.am,NEWS,configure.in,extra/Makefile.am: Version 0.8.0.
33592
33593Mon Apr 12 00:31:15 BST 2004  Olly Betts <olly@survex.com>
33594
33595	* NEWS: Updated for 0.8.0.
33596
33597Sun Apr 11 21:18:47 BST 2004  Olly Betts <olly@survex.com>
33598
33599	* extra/queryparser.yy,extra/queryparsertest.cc: Don't use a raw term
33600	  for a term which starts with a digit.
33601
33602Sat Apr 10 17:20:23 BST 2004  Olly Betts <olly@survex.com>
33603
33604	* AUTHORS: "Open Muscat" not "OmSee"; Updated the list of contributors
33605	  (more work needed...)
33606
33607Sat Apr 10 16:41:28 BST 2004  Olly Betts <olly@survex.com>
33608
33609	* m4/xapian.m4: Make XO_LIB_XAPIAN with no arguments do what most
33610	  users will want: check for Xapian and fail if it's not found,
33611	  or AC_SUBST XAPIAN_CXXFLAGS and XAPIAN_LIBS if it is.  Those
33612	  will unusual needs can supply one or both arguments as at
33613	  present.
33614
33615Sat Apr 10 15:00:28 BST 2004  Olly Betts <olly@survex.com>
33616
33617	* docs/todo.xml: Updated.
33618
33619Sat Apr 10 00:32:07 BST 2004  Olly Betts <olly@survex.com>
33620
33621	* PLATFORMS: Added success report for GCC 3.4 (prerelease).
33622
33623Sat Apr 10 00:27:58 BST 2004  Olly Betts <olly@survex.com>
33624
33625	* extra/xapian/queryparser.h: Added doxygen documentation comments.
33626
33627Sat Apr 10 00:23:13 BST 2004  Olly Betts <olly@survex.com>
33628
33629	* testsuite/testsuite.cc: Removed a now superfluous line.
33630
33631Sat Apr 10 00:21:15 BST 2004  Olly Betts <olly@survex.com>
33632
33633	* testsuite/testsuite.cc: Give a more accurate message if valgrind
33634	  spots a test doing something dodgy (e.g. free() of memory allocated
33635	  with new).
33636
33637Thu Apr 08 17:22:20 BST 2004  Olly Betts <olly@survex.com>
33638
33639	* net/.cvsignore: No longer need to ignore readquery.cc.
33640
33641Thu Apr 08 17:19:43 BST 2004  Olly Betts <olly@survex.com>
33642
33643	* include/xapian/base.h: Note in doxygen comment why the ref_count
33644	  is mutable.
33645
33646Thu Apr 08 15:33:16 BST 2004  Olly Betts <olly@survex.com>
33647
33648	* testsuite/testsuite.cc: valgrinding code needs errno.h too.
33649
33650Thu Apr 08 15:28:44 BST 2004  Olly Betts <olly@survex.com>
33651
33652	* include/xapian/enquire.h: Make Xapian::Weight::Weight() protected
33653	  rather than private as we want to be able to call it from derived
33654	  classes (GCC 3.4 flags this, other compilers seem to miss it).
33655
33656Tue Apr 06 03:32:39 BST 2004  Olly Betts <olly@survex.com>
33657
33658	* net/omerr_string.cc,include/xapian/error.h,
33659	  include/xapian/errortypes.h,include/xapian/output.h:
33660	  Fixed some doxygen warnings.
33661
33662Mon Apr 05 17:21:06 BST 2004  Olly Betts <olly@survex.com>
33663
33664	* README: There never was an Omsee release - the last BrightStation
33665	  release was "OpenMuscat 0.4.1".
33666
33667Mon Apr 05 17:19:38 BST 2004  Olly Betts <olly@survex.com>
33668
33669	* backends/quartz/quartz_database.cc,
33670	  backends/quartz/quartz_database.h: Make the flush criterion 1000
33671	  documents changed (added, removed, or replaced) as that seems to
33672	  perform much better over a wide variety of document sizes.
33673
33674Thu Apr 01 01:04:17 BST 2004  Olly Betts <olly@survex.com>
33675
33676	* tests/quartztest.cc: Fixed temporary directory used (a slash was
33677	  missing).
33678
33679Thu Apr 01 00:39:59 BST 2004  Olly Betts <olly@survex.com>
33680
33681	* docs/todo.xml: Updated.
33682
33683Fri Mar 26 22:33:30 GMT 2004  Olly Betts <olly@survex.com>
33684
33685	* backends/quartz/quartz_database.cc: Fix problems with termfreq and
33686	  collfreq in postlist getting out of step when a recently modified
33687	  or deleted document is deleted or remodified.
33688
33689Fri Mar 26 12:31:24 GMT 2004  Olly Betts <olly@survex.com>
33690
33691	* configure.in: Fixed check for --enable-runtime-pseudo-reloc.
33692
33693Fri Mar 26 12:31:00 GMT 2004  Olly Betts <olly@survex.com>
33694
33695	* bin/Makefile.am: Removed spurious "-lz" from quartzdump_LDADD.
33696
33697Thu Mar 25 00:22:13 GMT 2004  Olly Betts <olly@survex.com>
33698
33699	* bin/quartzcheck.cc: Check the structure with the postlist Btree
33700	  as well as the Btree structures themselves.
33701
33702Sun Mar 21 00:00:59 GMT 2004  Olly Betts <olly@survex.com>
33703
33704	* backends/quartz/quartz_table_manager.cc: Fix for building on mingw.
33705
33706Sat Mar 20 23:04:27 GMT 2004  Olly Betts <olly@survex.com>
33707
33708	* include/xapian/positioniterator.h,include/xapian/postingiterator.h:
33709	  Add doxygen comments in front of PostingIterator and
33710	  PositionListIterator classes so that doxygen pulls out the
33711	  existing documentation for their methods.
33712
33713Sat Mar 20 16:23:13 GMT 2004  Olly Betts <olly@survex.com>
33714
33715	* configure.in,backends/quartz/quartz_table_manager.cc,common/utils.h:
33716	  Added configure test for link() to avoid infinite loop on mingw!
33717
33718Thu Mar 18 12:20:18 GMT 2004  Olly Betts <olly@survex.com>
33719
33720	* configure.in: Improved the --enable-runtime-pseudo-reloc check.
33721
33722Thu Mar 18 00:45:15 GMT 2004  Olly Betts <olly@survex.com>
33723
33724	* bin/Makefile.am,tests/Makefile.am: Pass the magic mingw/cygwin flag
33725	  when linking the programs in bin and tests.
33726
33727Thu Mar 18 00:33:22 GMT 2004  Olly Betts <olly@survex.com>
33728
33729	* configure.in,xapian-config.in: mingw and cygwin both need
33730	  -Wl,--enable-runtime-pseudo-reloc passing when linking.
33731	  Arrange for xapian-config to include this, and check that
33732	  the ld installed is a new enough version (or at least that
33733	  it was at configure time).
33734
33735Tue Mar 16 01:40:43 GMT 2004  Olly Betts <olly@survex.com>
33736
33737	* docs/matcherdesign.html: Merged in more details from a message I
33738	  sent to the mailing list.
33739
33740Mon Mar 15 20:39:21 GMT 2004  Olly Betts <olly@survex.com>
33741
33742	* tests/quartztest.cc: Fail the test if there's still a directory after
33743	  rmdir(), or there isn't a directory after mkdir().  Close a
33744	  QuartzDatabase or QuartzWritableDatabase before trying to overwrite
33745	  it - cygwin doesn't allow use to delete open/locked files...
33746
33747Mon Mar 15 20:38:11 GMT 2004  Olly Betts <olly@survex.com>
33748
33749	* backends/database.cc: Database::Internal::Internal::keep_alive()
33750	  should be Database::Internal::keep_alive().
33751
33752Mon Mar 15 17:20:58 GMT 2004  Olly Betts <olly@survex.com>
33753
33754	* include/xapian/base.h: Returning a void result makes SGI's compiler
33755	  complain - don't!
33756
33757Mon Mar 15 14:34:44 GMT 2004  Olly Betts <olly@survex.com>
33758
33759	* common/omdebug.cc: Only use O_SYNC (on the debug log) if we have it.
33760
33761Sun Mar 14 17:48:52 GMT 2004  Olly Betts <olly@survex.com>
33762
33763	* tests/runtest.in: Mark with @configure_input@.
33764
33765Thu Mar 11 23:53:43 GMT 2004  Olly Betts <olly@survex.com>
33766
33767	* common/database.h,common/termlist.h,include/xapian/database.h,
33768	  include/xapian/enquire.h: Attempted fixes for warnings given by
33769	  SGI's MIPSpro C++ compiler.
33770
33771Thu Mar 11 23:51:10 GMT 2004  Olly Betts <olly@survex.com>
33772
33773	* configure.in: GCC 2.95 supported -Wno-long-long and is our minimum
33774	  recommended version, so unconditionally use -Wno-long-long with
33775	  GCC, and don't test for it on other compilers (the test incorrectly
33776	  decided to use it with SGI's compiler leading to a warning for
33777	  every file compiled).
33778
33779Thu Mar 11 17:29:24 GMT 2004  Olly Betts <olly@survex.com>
33780
33781	* docs/intro_ir.html: Added a link to "Information Retrieval"
33782	  by Keith v.R. which can be read on his website!
33783
33784Thu Mar 11 17:12:35 GMT 2004  Olly Betts <olly@survex.com>
33785
33786	* PLATFORMS: Added IRIX success reports from Jim Lynch.
33787
33788Thu Mar 11 12:17:21 GMT 2004  Olly Betts <olly@survex.com>
33789
33790	* backends/quartz/quartz_database.cc: Fixes for Sun C++'s fussy
33791	  template matching.
33792
33793Thu Mar 11 12:12:46 GMT 2004  Olly Betts <olly@survex.com>
33794
33795	* include/xapian/enquire.h: Another friend fix for Sun's C++.
33796
33797Thu Mar 11 01:56:19 GMT 2004  Olly Betts <olly@survex.com>
33798
33799	* include/xapian/query.h: Another fix for Sun's C++.
33800
33801Tue Mar 09 21:02:08 GMT 2004  Olly Betts <olly@survex.com>
33802
33803	* include/xapian/document.h: string -> std::string.
33804
33805Tue Mar 09 19:04:48 GMT 2004  Olly Betts <olly@survex.com>
33806
33807	* api/omdocument.cc,common/document.h,include/xapian/document.h,
33808	  tests/api_db.cc,tests/api_posdb.cc: Renamed
33809	  Xapian::Document::add_term_nopos to Xapian::Document::add_term
33810	  (with forwarding wrapper method for compatibility with existing
33811	  code).
33812
33813Sat Mar 06 02:32:58 GMT 2004  Olly Betts <olly@survex.com>
33814
33815	* docs/: Updated the quickstart tutorial and removed the warning
33816	  that "this document isn't up to date".
33817
33818Sat Mar 06 01:56:17 GMT 2004  Olly Betts <olly@survex.com>
33819
33820	* api/omenquire.cc: Another tweak for Sun's C++ compiler.
33821
33822Sat Mar 06 01:31:29 GMT 2004  Olly Betts <olly@survex.com>
33823
33824	* common/omenquireinternal.h: Tweaked friend class declarations a
33825	  bit so Sun's C++ compiler can cope.
33826
33827Thu Mar 04 23:58:17 GMT 2004  Olly Betts <olly@survex.com>
33828
33829	* PLATFORMS: Updated with results from the tinderbox.
33830
33831Thu Mar 04 23:29:28 GMT 2004  Olly Betts <olly@survex.com>
33832
33833	* tests/btreetest.cc,tests/quartztest.cc: NetBSD mkdir() doesn't cope
33834	  with a trailing / on the path - fixed our code to cope with this.
33835
33836Wed Mar 03 19:14:09 GMT 2004  Olly Betts <olly@survex.com>
33837
33838	* docs/todo.xml: Updated.
33839
33840Fri Feb 13 23:56:44 GMT 2004  Olly Betts <olly@survex.com>
33841
33842	* api/omquery.cc,tests/api_nodb.cc: Throw error when an empty query is
33843	  used to build in the binary operator Query ctor.  Added regression
33844	  test.
33845
33846Fri Feb 13 15:08:09 GMT 2004  Olly Betts <olly@survex.com>
33847
33848	* HACKING: XAPIAN_DEBUG_TYPES should be XAPIAN_DEBUG_FLAGS.
33849
33850Sat Feb 07 14:26:54 GMT 2004  Olly Betts <olly@survex.com>
33851
33852	* docs/queryparser.html: Grammar fixes.
33853
33854Fri Jan 16 02:06:53 GMT 2004  Olly Betts <olly@survex.com>
33855
33856	* backends/quartz/quartz_postlist.cc: Fixed bug flagged up by deldoc4.
33857
33858Thu Jan 15 01:00:48 GMT 2004  Olly Betts <olly@survex.com>
33859
33860	* backends/quartz/quartz_termlist.cc: Use Xapian::doccount instead of
33861	  unsigned int in set_entries().
33862
33863Thu Jan 15 00:56:47 GMT 2004  Olly Betts <olly@survex.com>
33864
33865	* backends/quartz/btree.cc,backends/quartz/btree.h,
33866	  testsuite/btreecheck.cc: Made some static functions into static
33867	  member functions of Btree so we can avoid duplicating code in
33868	  btreecheck.cc.  Also tweaked compare_keys to use memcmp and
33869	  special case when the keys are the same length (each of these
33870	  changes gives a very small speed gain).
33871
33872Thu Jan 15 00:54:47 GMT 2004  Olly Betts <olly@survex.com>
33873
33874	* api/maptermlist.h: Removed a FIXME which already had been fixed.
33875	  Removed a couple of asserts from a function which should never be
33876	  called (and so had `Assert(false)' anyway).
33877
33878Mon Jan 12 00:32:37 GMT 2004  Olly Betts <olly@survex.com>
33879
33880	* bin/quartzdump.cc: Backslash escape space and backslash in output
33881	  rather than hex encoding them; renamed start-term and end-term to
33882	  start-key and end-key; removed rather pointless "Calling next"
33883	  message; if there's an error, write it to stderr not stdout, and
33884	  exit with return code 1.
33885
33886Sun Jan 11 03:23:17 GMT 2004  Olly Betts <olly@survex.com>
33887
33888	* backends/quartz/quartz_termlist.cc: When possible, pack the wdf into
33889	  the same byte as the reuse length - doing so typically makes the
33890	  termlist 14% smaller!  This change is backward compatible.
33891
33892Sat Jan 10 03:04:22 GMT 2004  Olly Betts <olly@survex.com>
33893
33894	* backends/quartz/quartz_postlist.cc: Fixed bug in new postlist
33895	  chunking code.
33896
33897Sat Jan 10 00:45:04 GMT 2004  Olly Betts <olly@survex.com>
33898
33899	* backends/quartz/quartz_termlist.cc: Removed unused
33900	  OLD_TERMLIST_FORMAT code.
33901
33902Fri Jan 09 21:54:34 GMT 2004  Olly Betts <olly@survex.com>
33903
33904	* backends/quartz/quartz_postlist.cc: Fix incorrect code which just
33905	  happens to build and work with GCC 2.95.
33906
33907Fri Jan 09 14:40:00 GMT 2004  Olly Betts <olly@survex.com>
33908
33909	* backends/quartz/quartz_postlist.cc: Tidied the initial call to
33910	  get_chunk() out of the merge loop (gives ~4% speedup!)
33911
33912Fri Jan 09 01:31:05 GMT 2004  Olly Betts <olly@survex.com>
33913
33914	* backends/quartz/quartz_postlist.cc: Implement chunking of postlists
33915	  once again.
33916
33917Thu Jan 08 21:06:37 GMT 2004  Olly Betts <olly@survex.com>
33918
33919	* backends/quartz/quartz_postlist.cc: Shortcut the very common case
33920	  of appending to a posting list (which happens when we're just
33921	  adding new documents).  Declare small helper functions as "inline".
33922
33923Wed Jan 07 23:21:59 GMT 2004  Olly Betts <olly@survex.com>
33924
33925	* backends/quartz/quartz_database.cc: Set threshold for flushing to
33926	  a saner value for the value we are now using.
33927	* backends/quartz/: Use freq_deltas to update the stats in the first
33928	  chunk of each postlist.
33929
33930Mon Jan 05 16:00:07 GMT 2004  Olly Betts <olly@survex.com>
33931
33932	* include/xapian/enquire.h: Made the TradWeight constructor explicit.
33933	  This is technically an API change as before you could pass a
33934	  double where a Xapian::Weight was required - now you must pass
33935	  Xapian::TradWeight(2.0) instead of 2.0.  That seems desirable, and
33936	  it's unlikely any existing code will be affected.
33937
33938Mon Jan 05 15:08:26 GMT 2004  Olly Betts <olly@survex.com>
33939
33940	* include/xapian/: Added "explicit" qualifier to internal ctors
33941	  which take a single parameter.
33942
33943Mon Jan 05 15:04:12 GMT 2004  Olly Betts <olly@survex.com>
33944
33945	* include/xapian/base.h: Assigning a normal pointer to a RefCntPtr no
33946	  longer creates a temporary RefCntPtr from it.
33947
33948Thu Dec 25 05:49:03 GMT 2003  Olly Betts <olly@survex.com>
33949
33950	* backends/quartz/quartz_postlist.cc: Changed to merge a batch of
33951	  changes into a posting list in one pass.
33952
33953Thu Dec 25 05:48:09 GMT 2003  Olly Betts <olly@survex.com>
33954
33955	* docs/quartzdesign.html: Some minor improvements.
33956
33957Thu Dec 25 05:39:57 GMT 2003  Olly Betts <olly@survex.com>
33958
33959	* tests/api_db.cc: Check returned docids are the expected values in a
33960	  couple more cases.  Improved wording of a comment.
33961
33962Thu Dec 25 05:38:43 GMT 2003  Olly Betts <olly@survex.com>
33963
33964	* backends/quartz/quartz_utils.h: Updated explanation of string
33965	  encoding.
33966
33967Thu Dec 25 05:37:36 GMT 2003  Olly Betts <olly@survex.com>
33968
33969	* backends/quartz/quartz_values.cc: Fixed problem with dereferencing
33970	  a pointer to the end of a string in debug output.
33971
33972Sun Dec 21 23:35:49 GMT 2003  Olly Betts <olly@survex.com>
33973
33974	* backends/quartz/quartz_postlist.cc: Refactor recently relocated code
33975	  to reduce duplication.
33976
33977Sun Dec 21 21:44:07 GMT 2003  Olly Betts <olly@survex.com>
33978
33979	* backends/quartz/quartz_postlist.cc: Renamed
33980	  skip_and_check_tname_in_key() to check_tname_in_key() as it doesn't
33981	  do any sort of skipping!
33982
33983Sun Dec 21 14:54:49 GMT 2003  Olly Betts <olly@survex.com>
33984
33985	* backends/quartz/quartz_postlist.cc,backends/quartz/quartz_postlist.h,
33986	  tests/quartztest.cc: Subsumed QuartzPostList::add_entry and
33987	  QuartzPostList::delete_entry into QuartzPostList::merge_changes.
33988
33989Sun Dec 21 03:21:42 GMT 2003  Olly Betts <olly@survex.com>
33990
33991	* backends/quartz/quartz_database.cc,
33992	  backends/quartz/quartz_postlist.cc,
33993	  backends/quartz/quartz_postlist.h: Move merging on postlist changes
33994	  into QuartzPostList in preparation for an efficient
33995	  reimplementation.
33996
33997Sun Dec 21 01:47:07 GMT 2003  Olly Betts <olly@survex.com>
33998
33999	* backends/quartz/quartz_postlist.h,
34000	  backends/quartz/quartz_table_entries.h: Fixed typos and incorrect
34001	  comments.
34002
34003Sat Dec 20 22:11:26 GMT 2003  Olly Betts <olly@survex.com>
34004
34005	* backends/quartz/: Removed several needless inclusions of
34006	  quartz_table_entries.h.
34007
34008Sat Dec 20 16:31:46 GMT 2003  Olly Betts <olly@survex.com>
34009
34010	* backends/quartz/,docs/quartzdesign.html: Removed all the quartz
34011	  lexicon code and docs.  It's been disabled for ages, and we've
34012	  not missed it.
34013
34014Sat Dec 20 01:21:47 GMT 2003  Olly Betts <olly@survex.com>
34015
34016	* backends/quartz/quartz_database.h: Added doxygen comments for the
34017	  QuartzWritableDatabase members we use to buffer changes.
34018
34019Sat Dec 20 01:19:10 GMT 2003  Olly Betts <olly@survex.com>
34020
34021	* backends/quartz/quartz_database.cc: Trigger autoflush on
34022	  totlen_added + totlen_removed rather than specially tracking the
34023	  number of document add/delete/replace operations.
34024
34025Fri Dec 19 22:51:26 GMT 2003  Olly Betts <olly@survex.com>
34026
34027	* backends/quartz/: Buffer up changes to the postlists and apply them
34028	  all at once (at present they're applied inefficiently, but this is
34029	  change enables us to apply them with an efficient merge).
34030	* tests/api_db.cc,tests/quartztest.cc: Added a couple of tests, and
34031	  commented out some test lines which fail in debug builds.
34032
34033Sun Dec 14 03:38:55 GMT 2003  Olly Betts <olly@survex.com>
34034
34035	* common/omdebug.cc: Open debug log with flag O_WRONLY so that we can
34036	  actually write to it!
34037
34038Mon Dec 08 01:53:24 GMT 2003  Olly Betts <olly@survex.com>
34039
34040	* HACKING: Update to mention that building from CVS requires
34041	  ./configure --enable-maintainer-mode (or use bootstrap).
34042
34043Mon Dec 01 19:03:00 GMT 2003  Olly Betts <olly@survex.com>
34044
34045	* configure.in: Fixed the "fixed" valgrind test.
34046
34047Sun Nov 30 23:42:52 GMT 2003  Olly Betts <olly@survex.com>
34048
34049	* configure.in,testsuite/testsuite.cc: Fix test for valgrind - it
34050	  wasn't working correctly when valgrind was installed but was too
34051	  a version to support VALGRIND_COUNT_ERRORS and VALGRIND_COUNT_LEAKS.
34052
34053Wed Nov 26 16:31:19 GMT 2003  Olly Betts <olly@survex.com>
34054
34055	* Makefile.am,extra/Makefile.am: Updated libtool -version-info
34056	  parameters for 0.7.5.
34057
34058Wed Nov 26 15:32:45 GMT 2003  Olly Betts <olly@survex.com>
34059
34060	* NEWS,PLATFORMS,configure.in: Version 0.7.5.
34061
34062Wed Nov 26 15:31:56 GMT 2003  Olly Betts <olly@survex.com>
34063
34064	* extra/queryparser.yy: Special case stemming language "none".
34065
34066Tue Nov 25 04:37:50 GMT 2003  Olly Betts <olly@survex.com>
34067
34068	* api/ompositionlistiterator.cc,api/ompostlistiterator.cc,
34069	  include/xapian/positioniterator.h,include/xapian/postingiterator.h,
34070	  tests/api_db.cc: Added missing default ctors for PostingIterator and
34071	  PositionIterator classes; fixed PositionIterator assignment operator.
34072
34073Tue Nov 25 03:40:11 GMT 2003  Olly Betts <olly@survex.com>
34074
34075	* tests/btreetest.cc: Fixed 2 compiler warnings.
34076
34077Tue Nov 25 02:47:16 GMT 2003  Olly Betts <olly@survex.com>
34078
34079	* common/,include/xapian/: Fixed incorrect doxygen comments which
34080	  resulted in some missing text in the collated API and internal
34081	  classes documentation.
34082
34083Fri Nov 21 03:23:57 GMT 2003  Olly Betts <olly@survex.com>
34084
34085	* Makefile.am,include/xapian/termiterator.h,api/omtermlistiterator.cc:
34086	  TermIterator::TermIterator() fix which actually works!
34087
34088Fri Nov 21 01:14:23 GMT 2003  Olly Betts <olly@survex.com>
34089
34090	* HACKING,configure.in,docs/Makefile.am,extra/Makefile.am: Change to
34091	  using AM_MAINTAINER_MODE.  If you're doing development work on
34092	  Xapian, you should configure with "--enable-maintainer-mode" and
34093	  ideally use GNU make.
34094
34095Fri Nov 21 01:13:25 GMT 2003  Olly Betts <olly@survex.com>
34096
34097	* include/xapian/termiterator.h,tests/api_nodb.cc: Added TermIterator
34098	  default ctor which had disappeared somehow.  Added regression test.
34099
34100Thu Nov 20 03:19:37 GMT 2003  Olly Betts <olly@survex.com>
34101
34102	* configure.in: Fixed test for fdatasync to work (I suspect a change
34103	  in a recent autoconf broke it as it relied on autoconf internal
34104	  naming).
34105
34106Tue Nov 18 17:53:29 GMT 2003  Olly Betts <olly@survex.com>
34107
34108	* extra/Makefile.am: Tweaked workaround for FreeBSD make in VPATH
34109	  builds.
34110
34111Tue Nov 18 17:53:01 GMT 2003  Olly Betts <olly@survex.com>
34112
34113	* extra/queryparsertest.cc: Added another testcase.
34114
34115Tue Nov 18 17:37:20 GMT 2003  Olly Betts <olly@survex.com>
34116
34117	* docs/: Added first cut of documentation for Xapian::QueryParser
34118	  query syntax.
34119	* docs/scalability.html: Fixed typo.
34120
34121Fri Oct 31 18:17:13 GMT 2003  Olly Betts <olly@survex.com>
34122
34123	* extra/queryparser.yy,extra/queryparsertest.cc: Added support for
34124	  term prefixes on phrases and expressions (e.g. author:(twain OR poe)
34125	  subject:"space flight").
34126
34127Tue Oct 28 15:03:01 GMT 2003  Olly Betts <olly@survex.com>
34128
34129	* api/omenquire.cc: Added FIXME comment.
34130
34131Tue Oct 28 15:01:14 GMT 2003  Olly Betts <olly@survex.com>
34132
34133	* docs/todo.xml: Removed Java from list of language bindings we'd
34134	  like to support, as we should have up-to-date Java bindings soon.
34135
34136Sun Oct 26 20:18:24 GMT 2003  Olly Betts <olly@survex.com>
34137
34138	* bin/quartzcompact.cc: Fix the name that the meta file gets copied
34139	  to (was /path/to/dbdirmeta rather than /path/to/dbdir/meta).
34140
34141Tue Oct 21 22:26:51 BST 2003  Olly Betts <olly@survex.com>
34142
34143	* extra/Makefile.am: Backed out previous change - the original rule
34144	  does work, but the build machine had a generated file which stopped
34145	  the symlink being generated.
34146
34147Tue Oct 21 22:14:22 BST 2003  Olly Betts <olly@survex.com>
34148
34149	* extra/Makefile.am: Tweaked rule to symlink queryparser.cc.
34150
34151Tue Oct 21 17:31:10 BST 2003  Olly Betts <olly@survex.com>
34152
34153	* extra/Makefile.am: Added rule to symlink queryparser.cc from source
34154	  tree to build tree - otherwise FreeBSD's make insists on
34155	  regenerating it...
34156
34157Wed Oct 08 14:04:44 BST 2003  Olly Betts <olly@survex.com>
34158
34159	* backends/quartz/.cvsignore,tests/Makefile.am,testsuite/.cvsignore:
34160	  Updated to reflect move of libbtreecheck.la from backends/quartz
34161	  to testsuite.
34162
34163Wed Oct 08 13:22:08 BST 2003  Olly Betts <olly@survex.com>
34164
34165	* backends/quartz/btree.cc: Don't pass mode argument to open when we
34166	  aren't specifying O_CREAT.
34167
34168Thu Oct 02 15:29:38 BST 2003  Olly Betts <olly@survex.com>
34169
34170	* NEWS: Another entry for omega for 0.7.4.
34171
34172Thu Oct 02 14:57:25 BST 2003  Olly Betts <olly@survex.com>
34173
34174	* configure.in,extra/Makefile.am: Version 0.7.4.
34175
34176Thu Oct 02 14:56:36 BST 2003  Olly Betts <olly@survex.com>
34177
34178	* HACKING: Improved wording in a few places.
34179
34180Thu Oct 02 14:39:49 BST 2003  Olly Betts <olly@survex.com>
34181
34182	* NEWS: Updated.
34183
34184Thu Oct 02 13:35:46 BST 2003  Olly Betts <olly@survex.com>
34185
34186	* xapian.spec.in: Don't hardcode the shared library versioning info.
34187
34188Wed Oct 01 13:51:15 BST 2003  Olly Betts <olly@survex.com>
34189
34190	* PLATFORMS: Updated - Solaris 8 + Sun Workshop C++ doesn't actually
34191	  pass "make check" (I forgot the tinderbox builds omega before "make
34192	  check").
34193
34194Tue Sep 30 21:39:20 BST 2003  Olly Betts <olly@survex.com>
34195
34196	* configure.in: Another stab at fixing the test for -lsocket.
34197
34198Tue Sep 30 18:29:31 BST 2003  Olly Betts <olly@survex.com>
34199
34200	* configure.in: Quote arguments to test in a couple of places.
34201
34202Tue Sep 30 11:20:09 BST 2003  Olly Betts <olly@survex.com>
34203
34204	* configure.in: Fixed test for -lsocket.
34205
34206Tue Sep 30 10:17:09 BST 2003  Olly Betts <olly@survex.com>
34207
34208	* PLATFORMS: Updated - Solaris 8 + Sun Workshop C++ builds and passes
34209	  "make check" (but Omega fails to build).
34210
34211Mon Sep 29 00:41:19 BST 2003  Olly Betts <olly@survex.com>
34212
34213	* configure.in: Fixed dependency libs for libxapian.
34214
34215Sun Sep 28 23:55:49 BST 2003  Olly Betts <olly@survex.com>
34216
34217	* Makefile.am,backends/quartz/Makefile.am,
34218	  backends/quartz/btreecheck.cc,backends/quartz/btreecheck.h,
34219	  bin/Makefile.am,testsuite/Makefile.am,testsuite/btreecheck.cc,
34220	  testsuite/btreecheck.h: libbtreecheck.la now has an explicit
34221	  dependency on libxapian.la.
34222
34223Sun Sep 28 17:29:55 BST 2003  Olly Betts <olly@survex.com>
34224
34225	* Makefile.am,configure.in: Tell libtool about any libraries which
34226	  libxapian needs to depend on.
34227
34228Fri Sep 26 09:39:29 BST 2003  Olly Betts <olly@survex.com>
34229
34230	* bin/Makefile.am: Swap order of libbtreecheck.la and libxapian.la
34231	  when linking quartzcheck to see if that gets it to work with
34232	  Sun's CC.
34233
34234Thu Sep 25 17:25:17 BST 2003  Olly Betts <olly@survex.com>
34235
34236	* xapian-config.in: Fixed stupid mistake in previous check-in.
34237
34238Thu Sep 25 16:50:00 BST 2003  Olly Betts <olly@survex.com>
34239
34240	* xapian-config.in: Link with libxapianqueryparser before libxapian,
34241	  since that's the dependency order.
34242
34243Thu Sep 25 16:43:20 BST 2003  Olly Betts <olly@survex.com>
34244
34245	* include/om/om.h: Updated comment about why we `#include <iostream>'.
34246
34247Thu Sep 25 13:13:37 BST 2003  Olly Betts <olly@survex.com>
34248
34249	* api/omqueryinternal.cc,backends/database.cc,common/omdebug.cc,
34250	  common/omstringstream.h,include/xapian/output.h: Removed or replaced
34251	  uses of <iostream> and <iosfwd> - we don't need or want the library
34252	  to pull in cin and friends.
34253
34254Thu Sep 25 13:12:31 BST 2003  Olly Betts <olly@survex.com>
34255
34256	* Makefile.am: Improved several comments.
34257
34258Thu Sep 25 11:57:03 BST 2003  Olly Betts <olly@survex.com>
34259
34260	* api/omqueryinternal.cc: Removed `#include <iostream>' left over from
34261	  debugging; changed to `using namespace std;'.
34262
34263Mon Sep 15 00:41:10 BST 2003  Olly Betts <olly@survex.com>
34264
34265	* extra/queryparser.yy: Fixed to build with Sun's C++ compiler.
34266
34267Thu Sep 11 03:35:29 BST 2003  Olly Betts <olly@survex.com>
34268
34269	* dummy.c,dummy.cc,Makefile.am: Change the default file to be C++ so
34270	  that automake tells libtool that this is a C++ library.
34271	* Makefile.am: Pass -no-undefined to libtool so that it will build
34272	  a DLL on MS Windows.
34273
34274Wed Sep 10 02:53:46 BST 2003  Olly Betts <olly@survex.com>
34275
34276	* docs/scalability.html: Fixed oops (32GB should be 32TB);  Added
34277	  note about Linux 2.4 and ext2 filesize limits.
34278
34279Tue Sep 09 03:36:05 BST 2003  Olly Betts <olly@survex.com>
34280
34281	* backends/quartz/quartz_database.cc: don't start the document's
34282	  TermIterator from scratch on every iteration in replace_document().
34283	  Should be a small performance win.
34284
34285Sun Sep 07 22:17:27 BST 2003  Olly Betts <olly@survex.com>
34286
34287	* configure.in: Fixed check for socketpair - we were automatically
34288	  disabling the remote backend on platforms where socketpair is
34289	  in libsocket (such as Solaris).
34290
34291Sun Sep 07 19:56:57 BST 2003  Olly Betts <olly@survex.com>
34292
34293	* PLATFORMS: Added success report for cygwin from Eric B. Ridge.
34294
34295Sun Sep 07 03:53:48 BST 2003  Olly Betts <olly@survex.com>
34296
34297	* testsuite/testsuite.cc: Also need to rerun test if it "probably
34298	  leaked".
34299
34300Sun Sep 07 03:51:37 BST 2003  Olly Betts <olly@survex.com>
34301
34302	* tests/api_db.cc: Use x & (x - 1) trick to check for x being a power
34303	  of 2, rather than an elaborate loop with shifting; use Xapian::docid
34304	  rather than "int" and "unsigned int".
34305
34306Sun Sep 07 02:24:06 BST 2003  Olly Betts <olly@survex.com>
34307
34308	* api/omenquire.cc: Fixed small memory leak if
34309	  Xapian::Enquire::set_query() is called more than once.
34310
34311Sun Sep 07 02:12:47 BST 2003  Olly Betts <olly@survex.com>
34312
34313	* common/omenquireinternal.h,include/xapian/enquire.h: Fixed
34314	  Xapian::ESet to have reference counted internals
34315	* Makefile.am: bumped libxapian version-info to 1:0:0 because of this.
34316
34317Sun Sep 07 02:09:50 BST 2003  Olly Betts <olly@survex.com>
34318
34319	* testsuite/testsuite.cc: Delete any buffered test output before
34320	  asking valgrind to check for leaks, as otherwise the buffered
34321	  output may be reported as a leak; also fixed |= to != in several
34322	  places - a cosmetic bug which lead to extra newlines after test
34323	  output.
34324
34325Sun Sep 07 00:09:32 BST 2003  Olly Betts <olly@survex.com>
34326
34327	* testsuite/testsuite.cc: Actually open temporary file for valgrind
34328	  to log to.
34329
34330Sat Sep 06 20:50:58 BST 2003  Olly Betts <olly@survex.com>
34331
34332	* configure.in,testsuite/testsuite.cc: Fixed up detection of valgrind
34333	  and testsuite code to use it.
34334
34335Sat Sep 06 20:48:17 BST 2003  Olly Betts <olly@survex.com>
34336
34337	* tests/btreetest.cc: Reinstated non-superfluous `/'s which I had
34338	  overeagerly removed!
34339
34340Sat Sep 06 17:28:00 BST 2003  Olly Betts <olly@survex.com>
34341
34342	* matcher/Makefile.am: Ship networkmatch.cc even if "make dist" is run
34343	  from a tree with the remote backend disabled.
34344
34345Thu Aug 28 00:01:22 BST 2003  Olly Betts <olly@survex.com>
34346
34347	* tests/btreetest.cc: Removed superfluous `/'s from constructed paths.
34348
34349Fri Aug 15 15:12:24 BST 2003  Olly Betts <olly@survex.com>
34350
34351	* PLATFORMS: Updated with current testsuite results for mingw build.
34352
34353Fri Aug 15 15:10:59 BST 2003  Olly Betts <olly@survex.com>
34354
34355	* backends/quartz/btree.cc: Use O_BINARY for database I/O if it
34356	  exists.
34357
34358Fri Aug 15 15:10:30 BST 2003  Olly Betts <olly@survex.com>
34359
34360	* common/utils.h: mkdir() only takes one argument on mingw.
34361
34362Fri Aug 15 01:26:22 BST 2003  Olly Betts <olly@survex.com>
34363
34364	* common/utils.h,testsuite/backendmanager.cc: Touch file using
34365	  open() rather than system().
34366
34367Fri Aug 15 01:06:06 BST 2003  Olly Betts <olly@survex.com>
34368
34369	* common/utils.h: Fixed parameter name of system from "filename" to
34370	  "command" (cosmetic change).
34371
34372Thu Aug 14 22:31:23 BST 2003  Olly Betts <olly@survex.com>
34373
34374	* net/progclient.cc: Tidied a little.
34375
34376Tue Aug 12 12:50:19 BST 2003  Olly Betts <olly@survex.com>
34377
34378	* backends/quartz/quartz_database.cc: Pass 0 for the lexicon/postlist
34379	  table when creating a termlist just to find the doc length.
34380
34381Tue Aug 12 02:08:50 BST 2003  Olly Betts <olly@survex.com>
34382
34383	* api/maptermlist.h,api/omdocument.cc,common/documentterm.h:
34384	  Removed unused OmDocumentTerm::termfreq member variable.
34385
34386Tue Aug 12 00:53:02 BST 2003  Olly Betts <olly@survex.com>
34387
34388	* api/omdocument.cc,common/documentterm.h: OmDocumentTerm ctor now
34389	  takes wdf, and replaced set_wdf() with inc_wdf() and dec_wdf().
34390
34391Mon Aug 11 16:11:26 BST 2003  Olly Betts <olly@survex.com>
34392
34393	* backends/quartz/quartz_table_entries.cc: Removed rather unnecessary
34394	  use of const_cast.
34395
34396Mon Aug 11 16:11:05 BST 2003  Olly Betts <olly@survex.com>
34397
34398	* backends/quartz/quartz_table.cc: Removed unused variable.
34399
34400Mon Aug 11 16:09:57 BST 2003  Olly Betts <olly@survex.com>
34401
34402	* backends/quartz/quartz_postlist.cc: Fixed typo in comment.
34403
34404Mon Aug 11 15:51:20 BST 2003  Olly Betts <olly@survex.com>
34405
34406	* tests/quartztest.cc: adddoc2 now checks that there weren't any extra
34407	  values created.
34408
34409Mon Aug 11 12:55:49 BST 2003  Olly Betts <olly@survex.com>
34410
34411	* configure.in: Sorted out tests for gethostbyname and gethostbyaddr
34412	  using standard autoconf macros.
34413
34414Mon Aug 11 12:05:13 BST 2003  Olly Betts <olly@survex.com>
34415
34416	* common/match.h,matcher/: Removed unused open_document() method from
34417	  SubMatch and derived classes; calls made by the matcher to
34418	  Document::Internal::open_document() now use the lazy flag provided
34419	  for precisely this purpose, but apparently never used - this should
34420	  give quite a speed boost to any matcher options which use values
34421	  (e.g. sort, collapse).
34422
34423Sun Aug 10 02:25:59 BST 2003  Olly Betts <olly@survex.com>
34424
34425	* PLATFORMS: Out of curiosity, I tried to build with a Linux->DJGPP
34426	  cross-compiler I had to hand.  It built (just had to disable the
34427	  remote backend if socketpair isn't found and add the workaround for
34428	  not having snprintf).
34429
34430Sun Aug 10 01:38:17 BST 2003  Olly Betts <olly@survex.com>
34431
34432	* common/utils.cc: Fixed to compile if snprintf isn't available.
34433
34434Sun Aug 10 01:37:44 BST 2003  Olly Betts <olly@survex.com>
34435
34436	* backends/quartz/btree.cc: Fixed "initialisation reordered" warning.
34437
34438Sun Aug 10 01:26:58 BST 2003  Olly Betts <olly@survex.com>
34439
34440	* acinclude.m4: Updated in line with previous change.
34441
34442Sun Aug 10 01:00:08 BST 2003  Olly Betts <olly@survex.com>
34443
34444	* configure.in: If fork is found, but socketpair isn't, automatically
34445	  disable the remote backend rather than configure dying with an
34446	  error.
34447	* autoconf/: Removed various unused autoconf macros.
34448
34449Sat Aug 09 23:57:44 BST 2003  Olly Betts <olly@survex.com>
34450
34451	* backends/quartz/btree.h: Made "overwritten" protected.
34452
34453Sat Aug 09 23:45:26 BST 2003  Olly Betts <olly@survex.com>
34454
34455	* docs/quartzdesign.html: Wrapped an overlong line.
34456
34457Sat Aug 09 23:31:30 BST 2003  Olly Betts <olly@survex.com>
34458
34459	* backends/quartz/btree.cc,backends/quartz/btree.h,
34460	  backends/quartz/quartz_table.cc,docs/quartzdesign.html:
34461	  Improved class Btree's encapsulation.
34462
34463Sat Aug 09 22:30:13 BST 2003  Olly Betts <olly@survex.com>
34464
34465	* NEWS: Fixed a few typos.
34466
34467Sat Aug 09 22:29:52 BST 2003  Olly Betts <olly@survex.com>
34468
34469	* PLATFORMS: Updated with results from the Tinderbox.
34470
34471Sat Aug 09 22:19:12 BST 2003  Fabrice Colin
34472
34473	* xapian.spec.in: Updated RPM packaging to reflect changes in 0.7.3.
34474
34475Fri Aug 08 01:38:40 BST 2003  Olly Betts <olly@survex.com>
34476
34477	* Makefile.am,configure.in,extra/Makefile.am: Version 0.7.3.
34478
34479Fri Aug 08 01:35:04 BST 2003  Olly Betts <olly@survex.com>
34480
34481	* NEWS: Updated.
34482
34483Fri Aug 08 01:34:29 BST 2003  Olly Betts <olly@survex.com>
34484
34485	* PLATFORMS: Updated with more tinderbox results.
34486
34487Wed Aug 06 16:27:34 BST 2003  Olly Betts <olly@survex.com>
34488
34489	* HACKING: Noted that libtool 1.5 is the first version to actually
34490	  support linking C++ libraries properly.
34491
34492Wed Aug 06 16:25:15 BST 2003  Olly Betts <olly@survex.com>
34493
34494	* api/omenquire.cc,net/socketcommon.cc,common/omenquireinternal.h:
34495	  Moved rset serialisation into a method of RSet::Internal, so
34496	  omrset_to_string() is now just glue code.  This eliminates the
34497	  need for it to be a friend of RSet::Internal which Sun's C++
34498	  compiler didn't seem to be able to cope with.
34499
34500Wed Aug 06 01:57:11 BST 2003  Olly Betts <olly@survex.com>
34501
34502	* api/omenquire.cc: Applied patch from Olivier Galibert to fix
34503	  MSetIterator::get_document() when get_mset() was called with
34504	  first != 0.
34505	* tests/api_db.cc: Added regression test (msetiterator3).
34506
34507Mon Aug 04 12:40:25 BST 2003  Olly Betts <olly@survex.com>
34508
34509	* languages/Makefile.am: Fixed compilation for compilers other than
34510	  GCC.
34511
34512Wed Jul 30 17:03:14 BST 2003  Olly Betts <olly@survex.com>
34513
34514	* common/getopt.h: Another try - the previous one failed on FreeBSD.
34515
34516Wed Jul 30 15:07:58 BST 2003  Olly Betts <olly@survex.com>
34517
34518	* common/getopt.h: Another iteration of the getopt C++ prototype fix
34519	  as the previous one failed on Solaris.
34520
34521Wed Jul 30 02:38:47 BST 2003  Olly Betts <olly@survex.com>
34522
34523	* testsuite/backendmanager.cc: Fixed breakage caused by remotetest
34524	  cleanup.
34525
34526Tue Jul 29 13:22:20 BST 2003  Olly Betts <olly@survex.com>
34527
34528	* tests/remotetest.cc: Cleaned up uses of
34529	  BackendManager::get_database() to pass a string rather than a vector
34530	  with one string in.
34531
34532Tue Jul 29 11:58:21 BST 2003  Olly Betts <olly@survex.com>
34533
34534	* testsuite/testutils.cc: Added output of const vector<unsigned int>
34535	  for platforms which use our internal stringstream implementation.
34536
34537Tue Jul 29 11:42:54 BST 2003  Olly Betts <olly@survex.com>
34538
34539	* PLATFORMS: Updated with results from the tinderbox.
34540
34541Tue Jul 29 01:21:53 BST 2003  Olly Betts <olly@survex.com>
34542
34543	* testsuite/testsuite.cc,testsuite/testsuite.h: Only use \r in test
34544	  output if the output is a tty.
34545
34546Mon Jul 28 23:56:10 BST 2003  Olly Betts <olly@survex.com>
34547
34548	* xapian-config.in: Fixed fix of --cxxflags for uninstalled VPATH
34549	  builds.
34550
34551Mon Jul 28 23:37:15 BST 2003  Olly Betts <olly@survex.com>
34552
34553	* testsuite/backendmanager.cc: Increased default timeout used by
34554	  tests running on the remote backend from 10 seconds to 5 minutes
34555	  to avoid tests failing just because the machine running them is
34556	  slow and/or busy.
34557
34558Mon Jul 28 15:41:12 BST 2003  Olly Betts <olly@survex.com>
34559
34560	* testsuite/testutils.h: Fixed check for broken exception handling
34561	  - we were getting "Xapian::" prefixed to one version and not on the
34562	  other.
34563
34564Mon Jul 28 15:34:54 BST 2003  Olly Betts <olly@survex.com>
34565
34566	* tests/runtest.in: Set srcdir if it isn't already to make it easy
34567	  to manually run test programs from a VPATH build.
34568
34569Mon Jul 28 10:38:04 BST 2003  Olly Betts <olly@survex.com>
34570
34571	* xapian-config.in: Fixed --cxxflags for uninstalled VPATH builds.
34572
34573Mon Jul 28 10:37:17 BST 2003  Olly Betts <olly@survex.com>
34574
34575	* PLATFORMS: Updated FreeBSD success report.
34576
34577Sun Jul 27 16:01:25 BST 2003  Olly Betts <olly@survex.com>
34578
34579	* configure.in: Explicitly remove include/xapian/version.h from
34580	  APIDOC_SRC to avoid us trying to run doxygen unnecessarily.
34581
34582Sun Jul 27 14:31:36 BST 2003  Olly Betts <olly@survex.com>
34583
34584	* docs/todo.xml: Assorted updates.
34585
34586Sun Jul 27 13:02:36 BST 2003  Olly Betts <olly@survex.com>
34587
34588	* extra/.cvsignore: We still create libomqueryparser.la for backward
34589	  compatibility.
34590
34591Sun Jul 27 04:56:40 BST 2003  Olly Betts <olly@survex.com>
34592
34593	* xapian-config.in,m4/xapian.m4: Added --from-xo-lib-xapian option
34594	  to xapian-config for use by XO_LIB_XAPIAN to allow us to give a
34595	  more helpful error message if asked to link an uninstalled
34596	  libxapian.
34597
34598Sun Jul 27 04:46:48 BST 2003  Olly Betts <olly@survex.com>
34599
34600	* xapian-config.in: Fixed --cxxflags in non-installed case.
34601	  Tidied up --help output and error messages.
34602
34603Sun Jul 27 01:40:39 BST 2003  Olly Betts <olly@survex.com>
34604
34605	* tests/api_db.cc: Check termfreq in allterms4.
34606
34607Sun Jul 27 01:39:57 BST 2003  Olly Betts <olly@survex.com>
34608
34609	* extra/queryparsertest.cc: Fixed for relocated queryparser.h.
34610
34611Sun Jul 27 00:59:56 BST 2003  Olly Betts <olly@survex.com>
34612
34613	* .cvsignore,backends/quartz/.cvsignore,extra/.cvsignore: Updated.
34614
34615Sun Jul 27 00:19:11 BST 2003  Olly Betts <olly@survex.com>
34616
34617	* tests/Makefile.am: Oops, failed to remove btreecheck.cc reference
34618	  in previous check-in.
34619
34620Sat Jul 26 23:36:01 BST 2003  Olly Betts <olly@survex.com>
34621
34622	* backends/quartz/Makefile.am,bin/Makefile.am,tests/Makefile.am:
34623	  Hopefully fixed "make dist" in VPATH builds.
34624
34625Sat Jul 26 22:58:27 BST 2003  Olly Betts <olly@survex.com>
34626
34627	* backends/quartz/Makefile.am: Need to distribute btreecheck.cc.
34628
34629Sat Jul 26 20:05:47 BST 2003  Olly Betts <olly@survex.com>
34630
34631	* xapian-config.in,extra/Makefile.am,extra/queryparser.h,
34632	  extra/queryparser.yy,extra/xapian/queryparser.h: Sorted out
34633	  xapian-config so it handles using QueryParser too.
34634
34635Sat Jul 26 19:03:04 BST 2003  Olly Betts <olly@survex.com>
34636
34637	* xapian-config.in: Updated logic in --libs and --cxxflags in line
34638	  with recent change in --ltlibs.
34639
34640Sat Jul 26 18:31:11 BST 2003  Olly Betts <olly@survex.com>
34641
34642	* xapian-config.in: Reworked logic for finding libxapian.la in
34643	  --ltlibs - it may not yet exist in the non-installed case.
34644	* m4/xapian.m4: Don't pass --libs when checking if xapian-config
34645	  works as it will fail in the non-installed case.
34646
34647Sat Jul 26 01:25:46 BST 2003  Olly Betts <olly@survex.com>
34648
34649	* NEWS: Updated.
34650
34651Fri Jul 25 10:20:18 BST 2003  Olly Betts <olly@survex.com>
34652
34653	* NEWS: Updated in preparation for 0.7.3 release.
34654
34655Thu Jul 24 23:20:14 BST 2003  Olly Betts <olly@survex.com>
34656
34657	* backends/quartz/quartz_alltermslist.cc,
34658	  backends/quartz/quartz_alltermslist.h,tests/api_db.cc:
34659	  Fixed allterms TermIterator to not give duplicate terms with a
34660	  quartz database when a posting list is chunked; added regression
34661	  test (allterms4).
34662
34663Mon Jul 21 15:06:59 BST 2003  Richard Boulton <richard@tartarus.org>
34664
34665	* include/xapian/enquire.h: Fix incorrect documentation comment
34666	  for Enquire::set_set_forward().  (Looked like a cut&paste error)
34667
34668Mon Jul 21 01:10:55 BST 2003  Olly Betts <olly@survex.com>
34669
34670	* docs/install.html,m4/xapian.m4: Added XO_LIB_XAPIAN to replace
34671	  OM_PATH_XAPIAN.  XO_LIB_XAPIAN will automagically enable use of
34672	  "xapian-config --ltlibs" if A[CM]_PROG_LIBTOOL is used in
34673	  configure.in.
34674
34675Sun Jul 20 16:00:43 BST 2003  Olly Betts <olly@survex.com>
34676
34677	* .cvsignore,Makefile.am,configure.in,xapian-config.in,
34678	  xapian-config.nodep.in: Reworked xapian-config so that it
34679	  now supports linking with libtool - using libtool means that the
34680	  run-time library path is set and that you can now link with an
34681	  uninstalled libxapian.  Also xapian-config will now work
34682	  once configure is run, rather than only after "make all".
34683
34684Thu Jul 17 01:42:47 BST 2003  Olly Betts <olly@survex.com>
34685
34686	* backends/quartz/bcursor.cc,backends/quartz/btree.cc: Check for
34687	  EINTR when reading or writing blocks and retry the operation.
34688
34689Thu Jul 17 00:56:35 BST 2003  Olly Betts <olly@survex.com>
34690
34691	* COPYING: Updated FSF address, and reinstated missing section: "How
34692	  to Apply These Terms to Your New Programs"
34693
34694Thu Jul 17 00:48:40 BST 2003  Olly Betts <olly@survex.com>
34695
34696	* HACKING,bootstrap: Removed bootstrap in favour of top-level
34697	  bootstrap.
34698
34699Mon Jul 14 23:36:14 BST 2003  Olly Betts <olly@survex.com>
34700
34701	* PLATFORMS: Updated some linux results: RH7.3 on x86, and Debian on
34702	  alpha and arm.
34703
34704Mon Jul 14 23:33:17 BST 2003  Olly Betts <olly@survex.com>
34705
34706	* configure.in,Makefile.am,extra/Makefile.am: Added versioning
34707	  information to libxapian and libomqueryparser.
34708
34709Mon Jul 14 23:32:15 BST 2003  Olly Betts <olly@survex.com>
34710
34711	* bin/quartzdump.cc,testsuite/testsuite.cc: Added long option support
34712	  to quartzdump, and to the testsuite programs.
34713
34714Mon Jul 14 22:45:53 BST 2003  Olly Betts <olly@survex.com>
34715
34716	* tests/internaltest.cc: Changed test exception1 to actually test
34717	  something (hopefully what was originally intended!)
34718
34719Mon Jul 14 17:15:28 BST 2003  Olly Betts <olly@survex.com>
34720
34721	* common/getopt.h: #include <stdlib.h> before defining getopt as a
34722	  macro - hopefully that'll avoid problems with clobbering prototypes
34723	  of getopt() in system headers.
34724
34725Sat Jul 12 09:15:26 BST 2003  Olly Betts <olly@survex.com>
34726
34727	* bin/quartzcompact.cc: Need stdio.h for rename().
34728
34729Sat Jul 12 01:11:54 BST 2003  Olly Betts <olly@survex.com>
34730
34731	* HACKING: Noted another reason why libtool 1.5 is needed.
34732
34733Sat Jul 12 01:11:08 BST 2003  Olly Betts <olly@survex.com>
34734
34735	* docs/mkdoc.pl: Don't choke on a comment at the end of the
34736	  DIST_SUBDIRS line in a Makefile.am.
34737
34738Fri Jul 11 22:00:36 BST 2003  Olly Betts <olly@survex.com>
34739
34740	* HACKING: Added note about additional tools needed for building a
34741	  distribution.
34742
34743Fri Jul 11 15:13:08 BST 2003  Olly Betts <olly@survex.com>
34744
34745	* NEWS,PLATFORMS,configure.in: Version 0.7.2.
34746
34747Fri Jul 11 12:36:18 BST 2003  Olly Betts <olly@survex.com>
34748
34749	* NEWS: Updated in preparation for 0.7.2.
34750
34751Fri Jul 11 12:12:40 BST 2003  Olly Betts <olly@survex.com>
34752
34753	* configure.in: Fixed test for snprintf.
34754
34755Fri Jul 11 09:37:14 BST 2003  Olly Betts <olly@survex.com>
34756
34757	* testsuite/testsuite.cc: Fixed dereference of a NULL pointer which
34758	  was happening when a test threw an unexpected exception.
34759
34760Fri Jul 11 09:31:40 BST 2003  Olly Betts <olly@survex.com>
34761
34762	* testsuite/backendmanager.cc: Backed out incorrect hunk of previous
34763	  patch which was causing test failures.
34764
34765Fri Jul 11 01:48:21 BST 2003  Olly Betts <olly@survex.com>
34766
34767	* backends/quartz/quartz_table_manager.cc,tests/quartztest.cc,
34768	  testsuite/backendmanager.cc: Tidying up around directory creation.
34769
34770Fri Jul 11 00:57:12 BST 2003  Olly Betts <olly@survex.com>
34771
34772	* include/xapian/database.h: Document that the directory is created.
34773
34774Fri Jul 11 00:53:59 BST 2003  Olly Betts <olly@survex.com>
34775
34776	* backends/quartz/quartz_table_manager.cc: When asked to create a
34777	  quartz database, try to create the directory if it doesn't already
34778	  exist.  Then we don't have to do it in every single Xapian program
34779	  which wants to create a database...
34780
34781Fri Jul 11 00:36:00 BST 2003  Olly Betts <olly@survex.com>
34782
34783	* common/getopt.h: Removed space between \ and newline.
34784
34785Fri Jul 11 00:32:40 BST 2003  Olly Betts <olly@survex.com>
34786
34787	* PLATFORMS: Added MacOS X 10.2 success report.
34788
34789Thu Jul 10 20:05:58 BST 2003  Olly Betts <olly@survex.com>
34790
34791	* common/getopt.h: Fixed to work better with C++ compilers on
34792	  non-glibc platforms.
34793
34794Thu Jul 10 19:21:00 BST 2003  Olly Betts <olly@survex.com>
34795
34796	* backends/quartz/btree.cc: Modified setting of _XOPEN_SOURCE to
34797	  actually work!
34798
34799Thu Jul 10 19:19:30 BST 2003  Olly Betts <olly@survex.com>
34800
34801	* backends/quartz/btree.cc: Defined _XOPEN_SOURCE=500 for GLIBC
34802	  so we get pread() and pwrite().
34803
34804Thu Jul 10 00:28:25 BST 2003  Olly Betts <olly@survex.com>
34805
34806	* HACKING,Makefile.am,configure.in,bindings/.cvsignore,
34807	  bindings/Makefile.am,bindings/dir_contents,bindings/guile/.cvsignore,
34808	  bindings/guile/Makefile.am,bindings/php4/.cvsignore,
34809	  bindings/php4/ABOUT,bindings/php4/Makefile.am,bindings/python/,
34810	  bindings/swig/,bindings/tcl8/.cvsignore,bindings/tcl8/Makefile.am,
34811	  docs/todo.xml: Removed bindings - they'll shortly reappear in a
34812	  separate module named xapian-bindings.
34813
34814Thu Jul 10 00:03:04 BST 2003  Olly Betts <olly@survex.com>
34815
34816	* bindings/swig/om_util_perl5.i: Removed.
34817
34818Wed Jul 09 15:35:56 BST 2003  Olly Betts <olly@survex.com>
34819
34820	* bindings/guile/Makefile.am,bindings/php4/Makefile.am,
34821	  bindings/python/Makefile.am,bindings/swig/,
34822	  bindings/tcl8/Makefile.am: Removed omtypes.i and merged omstem.i
34823	  into xapian.i; added forward declaration for upwrapped classes
34824	  to xapian.i.
34825
34826Wed Jul 09 15:34:11 BST 2003  Olly Betts <olly@survex.com>
34827
34828	* bindings/java/,bindings/java/com/muscat/om/,bindings/java/native/:
34829	  Removed old Java bindings - we'll do them using SWIG instead.
34830
34831Wed Jul 09 14:51:51 BST 2003  Olly Betts <olly@survex.com>
34832
34833	* bindings/php4/Makefile.am,bindings/php4/xapian/.cvsignore: More
34834	  work on the php4 bindings.
34835
34836Wed Jul 09 03:00:17 BST 2003  Olly Betts <olly@survex.com>
34837
34838	* bindings/guile/Makefile.am,bindings/python/Makefile.am,
34839	  bindings/tcl8/Makefile.am: Worked towards getting guile and tcl8
34840	  bindings up-to-date.
34841	* bindings/php4/.cvsignore: Ignore the whole xapian subdirectory.
34842
34843Wed Jul 09 02:37:12 BST 2003  Olly Betts <olly@survex.com>
34844
34845	* bindings/perl5/: Removed remaining files.
34846
34847Wed Jul 09 02:30:55 BST 2003  Olly Betts <olly@survex.com>
34848
34849	* configure.in,bindings/Makefile.am,bindings/php4/Makefile.am:
34850	  Working towards getting the php4 bindings functional again.
34851
34852Wed Jul 09 01:27:39 BST 2003  Olly Betts <olly@survex.com>
34853
34854	* bindings/swig/om_util_php4.i: om_termname -> std::string.
34855
34856Wed Jul 09 01:25:11 BST 2003  Olly Betts <olly@survex.com>
34857
34858	* docs/overview.html,include/xapian/base.h,include/xapian/database.h:
34859	  Improvements to doxygen-generated documentation.
34860
34861Wed Jul 09 01:23:55 BST 2003  Olly Betts <olly@survex.com>
34862
34863	* configure.in,docs/todo.xml: Added check for SWIG version (require
34864	  at least 1.3.14).
34865
34866Tue Jul  8 20:59:08 2003  James Aylett  <james@tartarus.org>
34867
34868	* common/utils.h: missing #include <ctype.h>
34869
34870Tue Jul  8 18:06:23 2003  James Aylett  <james@tartarus.org>
34871
34872	* bindings/swig/xapian.i: over-enthusiastic automatic
34873	  conversion of termname to std::string
34874
34875Tue Jul 08 17:45:16 BST 2003  Olly Betts <olly@survex.com>
34876
34877	* common/utils.h: Improved mingw implementation of rmdir().
34878
34879Tue Jul 08 17:43:21 BST 2003  Olly Betts <olly@survex.com>
34880
34881	* NEWS,PLATFORMS,configure.in: Version 0.7.1.
34882
34883Sun Jul 06 21:35:08 BST 2003  Olly Betts <olly@survex.com>
34884
34885	* backends/quartz/btree.cc: Minor tweak.
34886
34887Sun Jul 06 21:34:30 BST 2003  Olly Betts <olly@survex.com>
34888
34889	* common/utils.h: Compile fixes for mingw.
34890
34891Sun Jul 06 17:59:26 BST 2003  Olly Betts <olly@survex.com>
34892
34893	* docs/scalability.html: Fixed typo.
34894
34895Sun Jul 06 13:02:09 BST 2003  Olly Betts <olly@survex.com>
34896
34897	* docs/scalability.html: Fixed typo.
34898
34899Sun Jul 06 12:56:08 BST 2003  Olly Betts <olly@survex.com>
34900
34901	* docs/Makefile.am,docs/index.html,docs/scalability.html: Added new
34902	  document on Xapian's scalability.
34903
34904Sun Jul 06 12:15:34 BST 2003  Olly Betts <olly@survex.com>
34905
34906	* backends/quartz/: Made quartz block count unsigned, which should
34907	  nearly double the size of database for a given block size.
34908
34909Sun Jul 06 11:47:46 BST 2003  Olly Betts <olly@survex.com>
34910
34911	* backends/quartz/: Use BLK_UNUSED rather than literal -1.
34912
34913Sun Jul 06 11:47:14 BST 2003  Olly Betts <olly@survex.com>
34914
34915	* common/utils.h: Fixed last check-in to compile.
34916
34917Sun Jul 06 11:01:03 BST 2003  Olly Betts <olly@survex.com>
34918
34919	* common/utils.h,tests/btreetest.cc,tests/quartztest.cc,
34920	  testsuite/backendmanager.cc: Replaced system("rm -rf ...") with
34921	  rmdir() function and added two ms windows implementations for
34922	  Sam to try.
34923
34924Sat Jul 05 10:37:35 BST 2003  Olly Betts <olly@survex.com>
34925
34926	* getopt/getopt.c: Suppress "unused variable" warnings from getopt.c.
34927
34928Sat Jul 05 02:21:11 BST 2003  Olly Betts <olly@survex.com>
34929
34930	* docs/todo.xml: Updated.
34931
34932Sat Jul 05 02:09:06 BST 2003  Olly Betts <olly@survex.com>
34933
34934	* configure.in,backends/quartz/btree.cc: Use pread() and pwrite() if
34935	  available - this avoids one syscall per block read/write.
34936
34937Fri Jul 04 22:05:14 BST 2003  Olly Betts <olly@survex.com>
34938
34939	* PLATFORMS: Added results from building 0.7.0 on my Linux dev box.
34940
34941Fri Jul 04 18:52:07 BST 2003  Olly Betts <olly@survex.com>
34942
34943	* extra/Makefile.am: Distribute symboltab.h.
34944
34945Fri Jul 04 18:04:53 BST 2003  Olly Betts <olly@survex.com>
34946
34947	* common/Makefile.am: Distribute documentterm.h.
34948
34949Fri Jul 04 15:30:28 BST 2003  Olly Betts <olly@survex.com>
34950
34951	* configure.in: Disabled guile, tcl8, and php4 here as well as in
34952	  bindings/Makefile.am.
34953
34954Fri Jul  4 11:27:53 2003  James Aylett  <james@tartarus.org>
34955
34956	* bindings/Makefile.am: change commenting so mkdoc.pl doesn't
34957	  choke
34958
34959Fri Jul  4 10:51:04 2003  James Aylett  <james@tartarus.org>
34960
34961	* bootstrap: add missing ';;' as case pattern delimiter
34962
34963Thu Jul 03 23:46:14 BST 2003  Olly Betts <olly@survex.com>
34964
34965	* bindings/Makefile.am,bindings/python/Makefile.am: Fixed to work with
34966	  "make dist".
34967
34968Thu Jul 03 23:29:06 BST 2003  Olly Betts <olly@survex.com>
34969
34970	* NEWS,PLATFORMS,configure.in: Version 0.7.0.
34971
34972Thu Jul 03 22:57:22 BST 2003  Olly Betts <olly@survex.com>
34973
34974	* PLATFORMS: Updated (Linux GCC 2.95 and Linux to mingw cross).
34975
34976Thu Jul 03 22:55:54 BST 2003  Olly Betts <olly@survex.com>
34977
34978	* extra/queryparser.yy,extra/queryparsertest.cc: Allow more than one
34979	  adjacent phrase generating character.
34980
34981Thu Jul 03 22:12:18 BST 2003  Olly Betts <olly@survex.com>
34982
34983	* extra/queryparser.yy,extra/queryparsertest.cc: Always ignore phrase
34984	  generating characters at start and end of query.
34985
34986Thu Jul 03 21:02:10 BST 2003  Olly Betts <olly@survex.com>
34987
34988	* extra/Makefile.am: Fixed for mingw compile.
34989
34990Thu Jul 03 19:24:50 BST 2003  Olly Betts <olly@survex.com>
34991
34992	* buildall,docs/OMAims: Removed unwanted old files.
34993
34994Thu Jul 03 19:18:41 BST 2003  Olly Betts <olly@survex.com>
34995
34996	* backends/quartz/runquartztest: Obsolete, so removed.
34997
34998Thu Jul 03 01:26:03 BST 2003  Olly Betts <olly@survex.com>
34999
35000	* common/omenquireinternal.h: Fix for building with GCC 3.3.
35001
35002Thu Jul 03 01:02:54 BST 2003  Olly Betts <olly@survex.com>
35003
35004	* NEWS: Updated.
35005
35006Wed Jul 02 22:18:07 BST 2003  Olly Betts <olly@survex.com>
35007
35008	* backends/quartz/bcursor.cc,backends/quartz/bcursor.h:
35009	  Made Bcursor::get_key(string * key) const.
35010
35011Wed Jul 02 21:51:43 BST 2003  Olly Betts <olly@survex.com>
35012
35013	* backends/quartz/: Workaround for shared_level problem turns out to
35014	  be arguably the better approach, so made it permanent and tidied up
35015	  code.
35016
35017Mon Jun 23 21:39:50 BST 2003  Olly Betts <olly@survex.com>
35018
35019	* NEWS: Updated in preparation for 0.7.0 release.
35020
35021Mon Jun 23 21:18:23 BST 2003  Olly Betts <olly@survex.com>
35022
35023	* extra/omparsequery.h: Corrected include protection token comment on
35024	  #endif to match that used in the #ifdef.
35025
35026Mon Jun 23 21:10:33 BST 2003  Olly Betts <olly@survex.com>
35027
35028	* bootstrap: Check for Bison 1.875 which doesn't work with Xapian.
35029
35030Mon Jun 23 21:08:35 BST 2003  Olly Betts <olly@survex.com>
35031
35032	* HACKING: Automake 1.7 works reliably with Xapian; CFLAGS=-Werror can
35033	  now be used as we suppress the warnings from the Snowball generated
35034	  C code.
35035
35036Mon Jun 23 16:55:54 BST 2003  Olly Betts <olly@survex.com>
35037
35038	* api/,backends/inmemory/inmemory_database.cc,
35039	  backends/inmemory/inmemory_database.h,backends/quartz/,
35040	  bindings/swig/om_util_python.i,bindings/swig/xapian.i,common/,
35041	  include/Makefile.am,include/xapian.h,include/om/om.h,include/xapian/,
35042	  matcher/localmatch.h,matcher/phrasepostlist.h,tests/api_db.cc,
35043	  tests/api_posdb.cc,tests/quartztest.cc:
35044	  Xapian::Xapian::PostListIterator -> Xapian::PostingIterator;
35045	  Xapian::PositionListIterator -> Xapian::PositionIterator;
35046	  xapian/postlistiterator.h -> xapian/postingiterator.h;
35047	  xapian/positionlistiterator.h -> xapian/positioniterator.h.
35048
35049Mon Jun 23 15:31:30 BST 2003  Olly Betts <olly@survex.com>
35050
35051	* backends/database.cc,backends/inmemory/inmemory_database.h,
35052	  backends/muscat36/,backends/quartz/,bindings/python/Makefile.am,
35053	  bindings/swig/om_util.i,bindings/swig/omstem.i,docs/quickstart.html,
35054	  docs/todo.xml,include/xapian/database.h,include/xapian/enquire.h,
35055	  include/xapian/errortypes.h,tests/api_db.cc,tests/quartztest.cc,
35056	  testsuite/backendmanager.cc,testsuite/textfile_indexer.cc:
35057	  Xapian::OpeningError renamed to Xapian::DatabaseOpeningError.
35058	* include/om/om.h: OmOpeningError now maps to
35059	  Xapian::DatabaseOpeningError.
35060
35061Mon Jun 23 01:44:45 BST 2003  Olly Betts <olly@survex.com>
35062
35063	* api/,backends/inmemory/inmemory_database.cc,
35064	  backends/muscat36/da_database.cc,backends/muscat36/db_database.cc,
35065	  backends/net/net_database.cc,backends/net/net_termlist.cc,
35066	  backends/net/net_termlist.h,backends/quartz/,bin/omprogsrv.cc,
35067	  bin/quartzdump.cc,common/,include/xapian/error.h,
35068	  include/xapian/errorhandler.h,matcher/emptymatch.h,net/,
35069	  tests/quartztest.cc,tests/stemtest.cc,testsuite/testsuite.cc,
35070	  testsuite/textfile_indexer.cc: Use '#include <...>' for headers
35071	  in include/.
35072
35073Thu Jun 19 17:55:07 BST 2003  Olly Betts <olly@survex.com>
35074
35075	* common/netserver.h,common/socketserver.h,matcher/localmatch.cc,
35076	  matcher/multimatch.cc,net/socketserver.cc: Removed unused header
35077	  inclusion; pass Stats and Xapian::Database by const reference, not
35078	  value.
35079
35080Thu Jun 19 14:50:49 BST 2003  Olly Betts <olly@survex.com>
35081
35082	* extra/queryparser.yy,extra/symboltab.h: Force control characters to
35083	  spaces; Added note that accent normalisation is perhaps done at the
35084	  wrong time...
35085
35086Thu Jun 19 14:40:36 BST 2003  Olly Betts <olly@survex.com>
35087
35088	* extra/queryparsertest.cc: Added test for control characters.
35089
35090Thu Jun 19 14:31:12 BST 2003  Olly Betts <olly@survex.com>
35091
35092	* extra/queryparsertest.cc: Added checks for weird whitespace in
35093	  queries.
35094
35095Wed Jun 18 19:02:14 BST 2003  Olly Betts <olly@survex.com>
35096
35097	* extra/queryparser.yy: Reworked parsing of boolean operators to
35098	  improve error reporting.
35099	* extra/queryparsertest.cc: Added 2 more testcases and fixed to better
35100	  handle tests for expected errors.
35101
35102Wed Jun 18 19:00:55 BST 2003  Olly Betts <olly@survex.com>
35103
35104	* extra/queryparser.yy: Trim leading and trailing whitespace before
35105	  attempting to parse the query.
35106
35107Wed Jun 18 17:58:56 BST 2003  Olly Betts <olly@survex.com>
35108
35109	* extra/queryparser.yy: `using namespace Xapian;'
35110
35111Fri Jun 06 01:33:33 BST 2003  Olly Betts <olly@survex.com>
35112
35113	* docs/quartzdesign.html: Commented out the section on the Lexicon,
35114	  which we no longer use.
35115
35116Thu Jun 05 22:40:21 BST 2003  Olly Betts <olly@survex.com>
35117
35118	* bindings/python/.cvsignore,bindings/python/Makefile.am,
35119	  bindings/python/dothemake.txt,bindings/swig/om_util_python.i:
35120	  Cleaned up building of python bindings by making better use of
35121	  automake.
35122
35123Thu Jun 05 22:17:40 BST 2003  Olly Betts <olly@survex.com>
35124
35125	* languages/Makefile.am: Reenable standard warnings apart from the
35126	  -Wunused.
35127
35128Thu Jun 05 20:21:08 BST 2003  Olly Betts <olly@survex.com>
35129
35130	* api/omqueryinternal.cc: Fixed a couple of problems with the new
35131	  query serialisation.
35132
35133Thu Jun 05 17:55:21 BST 2003  Olly Betts <olly@survex.com>
35134
35135	* HACKING,configure.in: Flex is no longer used, so removed configure
35136	  tests and note in HACKING.
35137
35138Thu Jun 05 17:53:30 BST 2003  Olly Betts <olly@survex.com>
35139
35140	* tests/remotetest.cc: In test netexpand1, use TEST() rather than
35141	  Assert() so that the check is made in non-debug builds too.
35142
35143Thu Jun 05 17:52:17 BST 2003  Olly Betts <olly@survex.com>
35144
35145	* api/omqueryinternal.cc,common/socketcommon.h,docs/todo.xml,
35146	  include/xapian/query.h,net/: Reworked query serialisation so that
35147	  the code is now all in api/omqueryinternal.cc.  Serialisation is
35148	  now rather more compact and no longer relies on flex for parsing.
35149
35150Thu Jun 05 17:45:00 BST 2003  Olly Betts <olly@survex.com>
35151
35152	* bin/Makefile.am: omprogsrv depends on libtest.la, so it need to be
35153	  in check_PROGRAMS.
35154
35155Thu Jun 05 17:09:10 BST 2003  Olly Betts <olly@survex.com>
35156
35157	* Makefile.am: Moved bindings after extra in SUBDIRS - the bindings
35158	  wrap Xapian::QueryParser so they need to be built after it.
35159
35160Thu Jun 05 01:28:01 BST 2003  Olly Betts <olly@survex.com>
35161
35162	* bindings/python/Makefile.am: Use $(SWIG) (as detected by configure).
35163
35164Thu Jun 05 00:46:16 BST 2003  Olly Betts <olly@survex.com>
35165
35166	* configure.in,bindings/Makefile.am,bindings/python/Makefile.am:
35167	  Check for python and find the correct paths for building python
35168	  bindings; Added dependencies for building _xapian.so.
35169
35170Wed Jun  4 17:19:37 2003  James Aylett  <james@tartarus.org>
35171
35172	* configure.in, Makefile.am, bindings: build system will build
35173	  bindings as part of normal build process.  No longer build
35174	  Perl or Java bindings; for Perl, use Search::Xapian; Java will
35175	  be replaced with SWIG-based bindings.
35176
35177	* bindings: bindings now use Xapian:: namespace names rather than
35178	  the old Om* ones. Almost all of the API should now be wrapped.
35179
35180Wed Jun 04 02:52:38 BST 2003  Olly Betts <olly@survex.com>
35181
35182	* docs/overview.html: Added start of "Design Principles" section.
35183	* docs/todo.xml: Added a couple more items.
35184
35185Wed Jun 04 02:51:56 BST 2003  Olly Betts <olly@survex.com>
35186
35187	* Makefile.am: Build testsuite later - it now doesn't need to be built
35188	  until just before tests.
35189
35190Wed Jun 04 02:43:08 BST 2003  Olly Betts <olly@survex.com>
35191
35192	* backends/muscat36/: Split up spec into comments in the appropriate
35193	  header files; fixed to build after recent Om -> Xapian changes.
35194
35195Wed Jun 04 01:56:46 BST 2003  Olly Betts <olly@survex.com>
35196
35197	* HACKING: Bison 1.75 and 1.875a both checked with parsequery.yy
35198	  - no problems found.
35199
35200Mon Jun 02 20:14:22 BST 2003  Olly Betts <olly@survex.com>
35201
35202	* ChangeLog.0: Fixed 2 typos.
35203
35204Mon Jun 02 20:09:01 BST 2003  Olly Betts <olly@survex.com>
35205
35206	* NEWS: Updated in preparation for 0.7.0 release.
35207
35208Mon Jun 02 16:25:18 BST 2003  Olly Betts <olly@survex.com>
35209
35210	* configure.in: Fix m4 quoting so that MINOR_VERSION is set correctly.
35211
35212Mon Jun  2 15:22:30 2003  James Aylett  <james@tartarus.org>
35213
35214	* bindings/swig/xapian.i: move QueryParser wrapping to use
35215	  the new namespace location, and fix include so it can work
35216	  out of the build directory rather than just the installed
35217	  library
35218
35219Mon Jun 02 14:15:14 BST 2003  Olly Betts <olly@survex.com>
35220
35221	* Makefile.am,configure.in,bindings/Makefile.am,docs/todo.xml:
35222	  Added --enable-bindings to configure - if this is specified and
35223	  swig is detected, try to build the language bindings.
35224
35225Mon Jun 02 12:46:18 BST 2003  Olly Betts <olly@survex.com>
35226
35227	* backends/database.cc: Fixed parsing of port number in remote stub
35228	  databases.
35229
35230Sat May 31 15:03:47 BST 2003  James Aylett  <james@tartarus.org>
35231
35232	* bindings/swig: update so can build Python bindings against
35233	  latest Xapian; untested, and other languages are likely to
35234	  fail
35235
35236Fri May 30 02:59:48 BST 2003  Olly Betts <olly@survex.com>
35237
35238	* extra/queryparser.yy,extra/queryparsertest.cc: Embedded '.' is
35239	  now a phrase maker; Ignore `""' in query; Ignore ')' at start
35240	  of query.
35241
35242Fri May 30 01:22:49 BST 2003  Olly Betts <olly@survex.com>
35243
35244	* extra/queryparsertest.cc: Added another 405 queries which fail to
35245	  parse (courtesy of Arjen van der Meijden).
35246
35247Thu May 29 19:08:28 BST 2003  Olly Betts <olly@survex.com>
35248
35249	* docs/todo.xml,extra/queryparsertest.cc: Extracted two more
35250	  queryparser testcases which need fixing from the old todo list.
35251
35252Thu May 29 17:14:04 BST 2003  Olly Betts <olly@survex.com>
35253
35254	* extra/queryparser.yy,extra/queryparsertest.cc: A phrasemaker isn't
35255	  a phrasemaker unless it's preceded by an alphanumeric, "+", or "-";
35256	  If a single term is in (), ignore the ().
35257
35258Thu May 29 16:45:39 BST 2003  Olly Betts <olly@survex.com>
35259
35260	* extra/queryparser.yy,extra/queryparsertest.cc: Improved handling
35261	  of various odd queries encountered in real life applications.
35262
35263Thu May 29 01:50:51 BST 2003  Olly Betts <olly@survex.com>
35264
35265	* docs/todo.xml: Updated more.
35266
35267Thu May 29 01:26:50 BST 2003  Olly Betts <olly@survex.com>
35268
35269	* api/,backends/database.cc,backends/inmemory/,backends/multi/,
35270	  backends/muscat36/,backends/net/,backends/quartz/,common/,
35271	  docs/overview.html,docs/quickstart.html,
35272	  docs/quickstartexpand.cc.html,extra/queryparser.yy,include/om/om.h,
35273	  include/xapian/,matcher/,net/,tests/api_db.cc,tests/api_posdb.cc,
35274	  tests/quartztest.cc,testsuite/: Converted remaining om_xxx types
35275	  to Xapian::xxx.
35276
35277Wed May 28 23:06:18 BST 2003  Olly Betts <olly@survex.com>
35278
35279	* docs/todo.xml: Updated.
35280
35281Wed May 28 22:59:17 BST 2003  Olly Betts <olly@survex.com>
35282
35283	* tests/api_db.cc: Spelling correction: accross -> across.
35284
35285Wed May 28 20:24:32 BST 2003  Olly Betts <olly@survex.com>
35286
35287	* extra/: OmQueryParser -> Xapian::QueryParser, etc.
35288
35289Wed May 28 20:03:48 BST 2003  Olly Betts <olly@survex.com>
35290
35291	* api/omdocument.cc: Removed include of defunct header
35292	  modifieddocument.h.
35293
35294Wed May 28 20:00:56 BST 2003  Olly Betts <olly@survex.com>
35295
35296	* api/maptermlist.h,api/omdocument.cc,api/omvalueiterator.cc,
35297	  backends/inmemory/inmemory_document.cc,
35298	  backends/inmemory/inmemory_document.h,backends/muscat36/,
35299	  backends/net/net_document.cc,backends/net/net_document.h,
35300	  backends/quartz/quartz_document.cc,backends/quartz/quartz_document.h,
35301	  common/Makefile.am,common/document.h,common/modifieddocument.h,
35302	  include/xapian/document.h,tests/api_db.cc: Fixed bug in refactored
35303	  Xapian::Document when modifying a copy.  Added regression test.
35304
35305Wed May 28 19:23:26 BST 2003  Olly Betts <olly@survex.com>
35306
35307	* common/omenquireinternal.h,include/xapian/database.h,
35308	  include/xapian/enquire.h,include/xapian/query.h: Where possible,
35309	  declare classes rather than including headers (in public headers).
35310
35311Wed May 28 17:32:14 BST 2003  Olly Betts <olly@survex.com>
35312
35313	* include/xapian/document.h: Just declare "class TermIterator;" rather
35314	  than including <xapian/termiterator.h>.
35315
35316Tue May 27 16:59:34 BST 2003  Olly Betts <olly@survex.com>
35317
35318	* common/progserver.h,common/socketserver.h,net/socketserver.cc:
35319	  Reduced needless header inclusion.
35320
35321Tue May 27 16:53:40 BST 2003  Olly Betts <olly@survex.com>
35322
35323	* bin/omprogsrv.cc,tests/api_db.cc: Use variable name "dbs" in
35324	  preference to "dbgrp".  OmDatabaseGroup hasn't existed for
35325	  years!
35326
35327Tue May 27 16:51:30 BST 2003  Olly Betts <olly@survex.com>
35328
35329	* Makefile.am: Fixed typo: "bin" should be "net" in remote_subdirs.
35330
35331Tue May 27 02:43:32 BST 2003  Olly Betts <olly@survex.com>
35332
35333	* backends/quartz/Makefile.am: Removed -I referencing testsuite
35334	  directory.
35335
35336Tue May 27 02:39:43 BST 2003  Olly Betts <olly@survex.com>
35337
35338	* backends/quartz/,docs/tests.html,tests/: Moved quartztest and
35339	  btreetest to tests/ directory.
35340
35341Tue May 27 02:03:07 BST 2003  Olly Betts <olly@survex.com>
35342
35343	* Makefile.am,configure.in,xapian.spec.in,backends/quartz/,bin/,
35344	  docs/remote.html,netprogs/,tests/api_db.cc,tests/remotetest.cc,
35345	  testsuite/backendmanager.cc,testsuite/testsuite.cc: Sorted out
35346	  the source tree structure so that programs which aren't tests which
35347	  were previously built by "make check" are now be built by "make".
35348
35349Tue May 27 01:01:40 BST 2003  Olly Betts <olly@survex.com>
35350
35351	* autoconf/dir_contents,backends/dir_contents,
35352	  backends/inmemory/dir_contents,backends/multi/dir_contents,
35353	  backends/muscat36/dir_contents,backends/net/dir_contents,
35354	  backends/quartz/dir_contents,bindings/dir_contents,
35355	  common/dir_contents,docs/dir_contents,include/om/dir_contents,
35356	  include/xapian/dir_contents,include/dir_contents,
35357	  indexer/dir_contents,indexer/indexgraph/dir_contents,
35358	  languages/dir_contents,m4/dir_contents,tests/dir_contents:
35359	  Updated all the dir_contents files - many were out-of-date.
35360
35361Tue May 27 00:42:54 BST 2003  Olly Betts <olly@survex.com>
35362
35363	* Makefile.am: Filter any .la files out of dependency_libs.
35364
35365Tue May 27 00:11:18 BST 2003  Olly Betts <olly@survex.com>
35366
35367	* netprogs/.cvsignore,netprogs/Makefile.am,netprogs/nettest.cc,
35368	  tests/.cvsignore,tests/Makefile.am,tests/remotetest.cc:
35369	  netprogs/nettest -> tests/remotetest.
35370
35371Mon May 26 23:49:49 BST 2003  Olly Betts <olly@survex.com>
35372
35373	* netprogs/nettest.cc: Removed test tcpclient1 - the functionality it
35374	  tests is also tested by tcpmatch1, and it introduces dependencies on
35375	  internal headers.
35376
35377Mon May 26 22:00:01 BST 2003  Olly Betts <olly@survex.com>
35378
35379	* backends/quartz/quartz_table_manager.cc: Give a better error message
35380	  if asked to open a pre-0.6 Quartz database.
35381
35382Mon May 26 20:43:21 BST 2003  Olly Betts <olly@survex.com>
35383
35384	* HACKING,Makefile.am,backends/Makefile.am,docs/mkdoc.pl,
35385	  net/Makefile.am: Fixed to never leave partial files in place of the
35386	  expected output if a build is interrupted.
35387
35388Mon May 26 16:50:59 BST 2003  Olly Betts <olly@survex.com>
35389
35390	* HACKING: Added note adapted from an old email noting why compile-time
35391	  options are generally best avoided.
35392
35393Mon May 26 12:03:29 BST 2003  Olly Betts <olly@survex.com>
35394
35395	* testsuite/backendmanager.cc,testsuite/textfile_indexer.cc: Corrected
35396	  odd uses of std::string::erase() (instead of `str = str.erase(n, m)'
35397	  just use `str.erase(n,m)').
35398
35399Sun May 25 22:59:44 BST 2003  Olly Betts <olly@survex.com>
35400
35401	* PLATFORMS: Updated.
35402
35403Sun May 25 22:58:28 BST 2003  Olly Betts <olly@survex.com>
35404
35405	* languages/Makefile.am: Suppress "unused" warnings in Snowball
35406	  generated C code.
35407
35408Sun May 25 21:43:34 BST 2003  Olly Betts <olly@survex.com>
35409
35410	* api/omtermlistiterator.cc: Removed iostream.h include left over from
35411	  debugging.
35412
35413Sun May 25 12:27:11 BST 2003  Olly Betts <olly@survex.com>
35414
35415	* docs/,extra/omparsequery.h,extra/parsequery.yy,include/Makefile.am,
35416	  include/xapian.h,include/om/om.h,tests/,testsuite/backendmanager.cc,
35417	  testsuite/backendmanager.h,testsuite/testutils.h: Created xapian.h
35418	  header and changed everything to use it.
35419
35420Sat May 24 23:35:46 BST 2003  Olly Betts <olly@survex.com>
35421
35422	* api/,backends/inmemory/inmemory_database.cc,
35423	  backends/inmemory/inmemory_document.h,
35424	  backends/quartz/quartz_database.cc,backends/quartz/quartztest.cc,
35425	  common/,include/Makefile.am,include/om/om.h,
35426	  include/om/omvalueiterator.h,include/xapian/,
35427	  testsuite/backendmanager.cc: OmValueIterator -> Xapian::ValueIterator
35428	  etc.
35429
35430Fri May 23 15:32:29 BST 2003  Olly Betts <olly@survex.com>
35431
35432	* api/,backends/database.cc,backends/inmemory/,backends/muscat36/,
35433	  backends/net/net_database.cc,backends/net/net_document.cc,
35434	  backends/net/net_document.h,backends/quartz/,common/,docs/,
35435	  include/Makefile.am,include/om/om.h,include/om/omdocument.h,
35436	  include/om/omvalueiterator.h,include/xapian/,indexer/omindexer.h,
35437	  matcher/,net/,netprogs/nettest.cc,tests/api_db.cc,tests/api_posdb.cc,
35438	  tests/internaltest.cc,testsuite/: OmDocument -> Xapian::Document, etc.
35439	* include/Makefile.am: Fixed library headers to install in xapian and
35440	  om subdirectories as they should.
35441
35442Fri May 23 15:31:05 BST 2003  Olly Betts <olly@survex.com>
35443
35444	* backends/quartz/btree.cc: Consistently use int4 for block number -
35445	  it really should be unsigned and this is a first step.
35446
35447Mon May 19 13:20:46 BST 2003  Olly Betts <olly@survex.com>
35448
35449	* configure.in: Create include/xapian if it doesn't exist so that
35450	  VPATH builds work.
35451
35452Mon May 19 13:17:16 BST 2003  Olly Betts <olly@survex.com>
35453
35454	* Makefile.am: Disabled exported symbol regex for now.
35455
35456Tue May 13 05:08:54 BST 2003  Olly Betts <olly@survex.com>
35457
35458	* api/,backends/database.cc,backends/dir_contents,backends/inmemory/,
35459	  backends/multi/,backends/muscat36/,backends/net/,backends/quartz/,
35460	  common/,docs/,extra/omparsequery.h,include/,matcher/,net/,netprogs/,
35461	  tests/: OmDatabase -> Xapian::Database, etc.
35462
35463Tue May 13 05:07:41 BST 2003  Olly Betts <olly@survex.com>
35464
35465	* NEWS: Corrected spelling: "maintainance" to "maintenance".
35466
35467Tue May 13 00:40:47 BST 2003  Olly Betts <olly@survex.com>
35468
35469	* ChangeLog.0,NEWS,backends/inmemory/inmemory_database.h,
35470	  backends/muscat36/da_database.h,backends/muscat36/db_database.h,
35471	  backends/quartz/quartz_postlist.h,
35472	  indexer/indexgraph/omstopwordnode.cc: Spelling correction:
35473	  "occurence" should be "occurrence".
35474
35475Mon May 12 22:39:27 BST 2003  Olly Betts <olly@survex.com>
35476
35477	* api/ompositionlistiteratorinternal.h,
35478	  include/om/ompositionlistiterator.h: Removed unused files.
35479
35480Mon May 12 20:51:03 BST 2003  Olly Betts <olly@survex.com>
35481
35482	* api/omdatabaseinternal.cc,backends/database.cc: Moved database
35483	  factory functions from api to backends.
35484
35485Fri May 09 04:02:29 BST 2003  Olly Betts <olly@survex.com>
35486
35487	* common/expandweight.h: Removed cruft.
35488
35489Fri May 09 03:50:36 BST 2003  Olly Betts <olly@survex.com>
35490
35491	* common/rset.h: Removed unused RSetI ctor variant.
35492
35493Fri May 09 02:00:03 BST 2003  Olly Betts <olly@survex.com>
35494
35495	* api/omenquire.cc,common/,docs/overview.html,include/om/om.h,
35496	  include/xapian/enquire.h,include/xapian/output.h,matcher/,
35497	  net/socketclient.cc,net/socketcommon.cc,net/socketserver.cc,
35498	  netprogs/nettest.cc,tests/api_db.cc: OmRSet -> Xapian::RSet.
35499
35500Fri May 09 01:06:32 BST 2003  Olly Betts <olly@survex.com>
35501
35502	* api/omenquire.cc: Fixed MSet::Internal::get_description() to include
35503	  class name.
35504
35505Fri May 09 01:04:12 BST 2003  Olly Betts <olly@survex.com>
35506
35507	* common/rset.h,matcher/expand.cc,matcher/rset.cc: RSetI now uses
35508	  set<Xapian::docid> (as OmRSet::Internal) rather than
35509	  vector<RSetItem>.
35510
35511Fri May 09 00:41:20 BST 2003  Olly Betts <olly@survex.com>
35512
35513	* api/omenquire.cc,common/,docs/quickstartexpand.cc.html,matcher/:
35514	  RSet internal class renamed to RSetI to aid upcoming OmRSet ->
35515	  Xapian::RSet change.  RSetI looks like it can be eliminated
35516	  later.
35517
35518Thu May 08 23:54:44 BST 2003  Olly Betts <olly@survex.com>
35519
35520	* tests/: Removed make_dbgrp() helper function from apitest as it
35521	  makes the test code less clear without making it easier to write.
35522
35523Thu May 08 01:24:53 BST 2003  Olly Betts <olly@survex.com>
35524
35525	* api/ompostlistiterator.cc,docs/overview.html,tests/api_db.cc:
35526	  Fixed OmWeight and OmMatchDecider in comments, docs, and
35527	  testsuite.
35528
35529Thu May 08 01:16:30 BST 2003  Olly Betts <olly@survex.com>
35530
35531	* api/omenquire.cc,backends/multi/multi_postlist.h,common/,
35532	  include/om/om.h,include/xapian/enquire.h,matcher/,
35533	  net/socketclient.cc,net/socketserver.cc: OmMatchDecider ->
35534	  Xapian::MatchDecider; OmWeight -> Xapian::Weight; BoolWeight,
35535	  TradWeight, BM25Weight -> Xapian::.
35536
35537Wed May 07 23:06:47 BST 2003  Olly Betts <olly@survex.com>
35538
35539	* backends/quartz/btreetest.cc,backends/quartz/quartztest.cc,
35540	  configure.in,netprogs/nettest.cc,tests/,testsuite/: Minor overhaul
35541	  of testsuite.
35542
35543Wed May 07 17:54:34 BST 2003  Olly Betts <olly@survex.com>
35544
35545	* backends/,common/document.h,matcher/Makefile.am,matcher/document.cc:
35546	  Removed do_ wrappers for Document methods get_value(),
35547	  get_all_values() and get_data().  The wrappers used to perform
35548	  thread locking, but now they're just pointless overhead.
35549
35550Wed May 07 17:24:00 BST 2003  Olly Betts <olly@survex.com>
35551
35552	* HACKING: Started section of API structure.
35553
35554Wed May 07 02:16:03 BST 2003  Olly Betts <olly@survex.com>
35555
35556	* api/omenquire.cc,common/expand.h,common/omenquireinternal.h,
35557	  common/omstringstream.h,docs/quickstart.html,include/om/om.h,
35558	  include/xapian/enquire.h,include/xapian/output.h,matcher/expand.cc,
35559	  matcher/multimatch.cc,net/socketcommon.cc,netprogs/nettest.cc,
35560	  tests/api_db.cc,testsuite/testutils.cc: OmMSet -> Xapian::MSet,
35561	  similarly for OmMSetIterator, OmESet, and OmESetIterator.
35562
35563Tue May 06 19:31:42 BST 2003  Olly Betts <olly@survex.com>
35564
35565	* include/xapian/query.h: New file I failed to checkin on Friday.
35566
35567Tue May 06 14:16:41 BST 2003  Olly Betts <olly@survex.com>
35568
35569	* HACKING,configure.in,tests/.cvsignore,tests/Makefile.am,
35570	  tests/runtest.in,testsuite/testsuite.cc: Sorted out autodetection
35571	  of valgrind for running testsuite.
35572	* HACKING: Added note about how to run gdb on dynamically linked
35573	  binaries built using libtool.
35574	* HACKING: Recommend libtool 1.5 as in 1.4.2 libtool --mode=execute
35575	  doesn't seem to handle programs with arguments.
35576
35577Tue May 06 00:25:03 BST 2003  Olly Betts <olly@survex.com>
35578
35579	* PLATFORMS: Updated.
35580
35581Fri May 02 16:58:15 BST 2003  Olly Betts <olly@survex.com>
35582
35583	* configure.in: Improved check that LEX is flex - it will now accept
35584	  "flex" with a path and/or prefix.
35585
35586Fri May 02 16:12:46 BST 2003  Olly Betts <olly@survex.com>
35587
35588	* api/,common/,include/,matcher/,net/,netprogs/nettest.cc,
35589	  netprogs/omtcpsrv.cc,tests/api_db.cc,tests/api_posdb.cc,
35590	  testsuite/testutils.cc,testsuite/testutils.h: OmEnquire ->
35591	  Xapian::Enquire, OmQuery -> Xapian::Query, etc.
35592
35593Fri May 02 03:14:28 BST 2003  Olly Betts <olly@survex.com>
35594
35595	* tests/internaltest.cc: Reenabled tests for leak checking and fixed
35596	  them up to work with valgrind.
35597
35598Fri May 02 02:14:28 BST 2003  Olly Betts <olly@survex.com>
35599
35600	* testsuite/testsuite.cc,testsuite/testsuite.h: If a testsuite program
35601	  is run using "valgrind --logfile-fd=255 ./footest" then the harness
35602	  will show valgrind's output for tests which fail because valgrind
35603	  spotted errors or leaks (untested under valgrind).
35604
35605Thu May 01 21:25:01 BST 2003  Olly Betts <olly@survex.com>
35606
35607	* api/omenquire.cc,api/omquery.cc,api/omqueryinternal.cc,common/,
35608	  docs/overview.html,docs/quickstart.html,extra/omparsequery.h,
35609	  extra/parsequery.yy,extra/parsequerytest.cc,include/,matcher/,
35610	  net/,netprogs/nettest.cc,tests/api_db.cc,tests/api_nodb.cc,
35611	  tests/api_posdb.cc: OmQuery -> Xapian::Query, etc.  For now
35612	  I've had to expose Xapian::Query::Internal in xapian/query.h
35613	  which isn't ideal.
35614
35615Wed Apr 30 20:37:27 BST 2003  Olly Betts <olly@survex.com>
35616
35617	* api/omenquire.cc,common/omenquireinternal.h,include/:
35618	  typedefs om_* -> Xapian::*, but not changed all internal uses yet.
35619
35620Wed Apr 30 03:51:52 BST 2003  Olly Betts <olly@survex.com>
35621
35622	* api/,backends/,common/,extra/omparsequery.h,extra/parsequery.yy,
35623	  include/,matcher/localmatch.h,matcher/orpostlist.h,tests/api_db.cc:
35624	  OmPostListIterator -> Xapian::PostListIterator, etc.
35625
35626Wed Apr 30 02:13:31 BST 2003  Olly Betts <olly@survex.com>
35627
35628	* docs/matcherdesign.html,include/om/omenquire.h: Merged docs
35629	  discussing OmMSetIterator::get_collapse_count() into the doxygen
35630	  documentation comments - they're docs aimed at the API user so
35631	  really don't belong in the internal matcher design docs.
35632
35633Wed Apr 30 01:08:39 BST 2003  Olly Betts <olly@survex.com>
35634
35635	* .cvsignore: Added config.guess.
35636
35637Tue Apr 29 21:08:40 BST 2003  Olly Betts <olly@survex.com>
35638
35639	* include/om/om.h,include/xapian/base.h,include/xapian/error.h,
35640	  include/xapian/errorhandler.h,include/xapian/expanddecider.h,
35641	  include/xapian/positionlistiterator.h,include/xapian/stem.h,
35642	  include/xapian/termiterator.h: OM_HGUARD_* -> XAPIAN_INCLUDED_*.
35643
35644Tue Apr 29 20:37:01 BST 2003  Olly Betts <olly@survex.com>
35645
35646	* api/,backends/,common/,include/,indexer/omnodeinstanceiterator.h,
35647	  indexer/ompaditerator.h,net/readquery.h,testsuite/indexer.h:
35648	  om/omoutput.h -> xapian/output.h; om/omtypes.h -> xapian/types.h.
35649
35650Tue Apr 29 18:28:27 BST 2003  Olly Betts <olly@survex.com>
35651
35652	* api/,backends/,common/,include/,matcher/,net/socketserver.cc,tests/,
35653	  testsuite/backendmanager.cc,testsuite/testsuite.cc: OmTermIterator
35654	  -> Xapian::TermIterator, etc.
35655
35656Tue Apr 29 17:39:34 BST 2003  Olly Betts <olly@survex.com>
35657
35658	* common/omdebug.cc: Setting XAPIAN_DEBUG_LOG caused an exception
35659	  (with GCC 3.0 at least) unless the value contained %% - fixed.
35660
35661Tue Apr 29 14:29:36 BST 2003  Olly Betts <olly@survex.com>
35662
35663	* api/ompositionlistiterator.cc: Fixed to compile in debug mode.
35664
35665Tue Apr 29 01:06:02 BST 2003  Olly Betts <olly@survex.com>
35666
35667	* xapian.spec.in: Removed %changelog - it hasn't been reliably updated
35668	  and only really makes sense when the packaging is done by a third
35669	  party anyway.
35670
35671Tue Apr 29 01:03:20 BST 2003  Fabrice Colin
35672
35673	* xapian.spec.in: Fixed packaging of docs.
35674
35675Tue Apr 29 00:33:21 BST 2003  Olly Betts <olly@survex.com>
35676
35677	* HACKING,testsuite/testsuite.cc,testsuite/testsuite.h: valgrind is
35678	  now mostly hooked into the testsuite.
35679	* HACKING: Bison 1.875 doesn't work but Bison 1.875a probably does;
35680	  suggest CXXFLAGS=-Werror, not CFLAGS.
35681
35682Tue Apr 29 00:14:00 BST 2003  Olly Betts <olly@survex.com>
35683
35684	* INSTALL: Updated.
35685
35686Wed Apr 23 14:31:51 BST 2003  Olly Betts <olly@survex.com>
35687
35688	* api/omtermlistiterator.cc,api/omtermlistiteratorinternal.h,
35689	  api/omvalueiteratorinternal.h,backends/inmemory/inmemory_database.cc,
35690	  backends/inmemory/inmemory_positionlist.cc,
35691	  common/inmemory_positionlist.h: Added InMemoryPositionList ctor
35692	  which takes the positions data to avoid needing to construct and
35693	  immediately call set_data().
35694
35695Wed Apr 23 14:14:34 BST 2003  Olly Betts <olly@survex.com>
35696
35697	* api/,backends/,common/,include/,matcher/: OmPositionListIterator
35698	  -> Xapian::PositionListIterator, etc.
35699
35700Wed Apr 23 13:47:49 BST 2003  Olly Betts <olly@survex.com>
35701
35702	* xapian.spec.in: Minor tweaks.
35703
35704Sun Apr 20 22:55:04 BST 2003  Olly Betts <olly@survex.com>
35705
35706	* extra/omparsequery.h,include/xapian/stem.h,tests/api_db.cc,
35707	  tests/api_nodb.cc,tests/api_posdb.cc,testsuite/backendmanager.cc:
35708	  OmStem -> Xapian::Stem; OmExpandDecider -> Xapian::ExpandDecider.
35709
35710Sun Apr 20 22:52:42 BST 2003  Olly Betts <olly@survex.com>
35711
35712	* configure.in,api/omenquire.cc,common/expand.h,
35713	  common/omenquireinternal.h,docs/overview.html,include/,
35714	  matcher/expand.cc,tests/api_db.cc: OmExpandDecider ->
35715	  Xapian::ExpandDecider, etc.
35716
35717Sun Apr 20 22:42:32 BST 2003  Olly Betts <olly@survex.com>
35718
35719	* PLATFORMS,api/,backends/,common/,docs/,include/,matcher/,net/,
35720	  netprogs/,tests/,testsuite/: OmError -> Xapian::Error, etc.
35721
35722Fri Apr 18 22:40:31 BST 2003  Sam Liddicott <sam@liddicott.com>
35723
35724	* matcher/multimatch.cc: Fixed so that it updates the OmMSetItem in
35725	  the MSet with the collapse_count from the OmMSetItem twin in
35726	  collapse_tab or we lose collapse_count if newer collapsing hits are
35727	  less relevant than the hits they collapse over.  I think we need
35728	  collapse_tab maybe to keep a reference to the item in the mset?  But
35729	  this works for now.
35730	* xapian.spec.in: Fixed to also install include/xapian stuff
35731
35732Fri Apr 18 19:17:56 BST 2003  Olly Betts <olly@survex.com>
35733
35734	* configure.in,include/Makefile.am,include/om/.cvsignore,
35735	  include/om/Makefile.am,include/om/om.h,include/om/om.h.in,
35736	  include/xapian/.cvsignore,include/xapian/Makefile.am,
35737	  include/xapian/dir_contents,include/xapian/version.h.in:
35738	  C++ ABI version checking is now done by xapian/version.h.
35739
35740Fri Apr 18 17:57:21 BST 2003  Olly Betts <olly@survex.com>
35741
35742	* configure.in,api/omstem.cc,include/Makefile.am,include/om/om.h.in,
35743	  include/om/omstem.h,include/xapian/.cvsignore,
35744	  include/xapian/Makefile.am,include/xapian/base.h,
35745	  include/xapian/stem.h: Reworked OmStem to use reference counted
35746	  internals; renamed OmStem to Xapian::Stem and added a #define for
35747	  compatibility with existing code.
35748
35749Fri Apr 18 17:02:56 BST 2003  Olly Betts <olly@survex.com>
35750
35751	* api/,backends/,common/,docs/overview.html,docs/quickstart.html,
35752	  docs/quickstartexpand.cc.html,extra/,include/om/,matcher/,net/,
35753	  tests/,testsuite/: Use std::string instead of typedef-ing it as
35754	  om_termname.  The typedef doesn't really buy us anything.  Keep
35755	  a typedef for compatibility with existing code for now.
35756
35757Fri Apr 18 16:12:32 BST 2003  Olly Betts <olly@survex.com>
35758
35759	* PLATFORMS: GCC 3.2.2 on Redhat 7.1 works with CXXFLAGS=-Werror
35760
35761Thu Apr 10 20:05:27 BST 2003  Olly Betts <olly@survex.com>
35762
35763	* common/Makefile.am,common/indexer.h,testsuite/Makefile.am,
35764	  testsuite/indexer.h: Moved indexer.h from common to testsuite
35765	  and altered it to use iosfwd instead of iostream and to
35766	  declare OmDocument as a class instead of include omdocument.h.
35767
35768Thu Apr 10 18:55:55 BST 2003  Olly Betts <olly@survex.com>
35769
35770	* xapian-config.nodep.in: Removed --prefix and --exec-prefix - you
35771	  can't reliably install Xapian with a different prefix to the one
35772	  it was configured with, yet these options give the impression you
35773	  can.
35774
35775Thu Apr 10 18:53:53 BST 2003  Olly Betts <olly@survex.com>
35776
35777	* .cvsignore: Added config.sub.
35778
35779Thu Apr 10 02:41:50 BST 2003  Olly Betts <olly@survex.com>
35780
35781	* NEWS,configure.in: Updated for 0.6.5 release.
35782
35783Thu Apr 10 02:29:12 BST 2003  Olly Betts <olly@survex.com>
35784
35785	* docs/doxygen_api_footer.html_tmpl,docs/doxygen_full_footer.html_tmpl,
35786	  docs/overview.html: Use http://www.doxygen.org/ as URL for doxygen.
35787	* docs/overview.html: Fixed bad link to our own website!
35788
35789Thu Apr 10 02:12:00 BST 2003  Olly Betts <olly@survex.com>
35790
35791	* Makefile.am,backends/Makefile.am,backends/net/.cvsignore,
35792	  backends/net/Makefile.am,netprogs/.cvsignore: Renamed libnetdb.la
35793	  to libremote.la, and LIB_REMOTE1 to LIBNET_LA.
35794
35795Thu Apr 10 02:08:24 BST 2003  Olly Betts <olly@survex.com>
35796
35797	* PLATFORMS: Updated mingw notes to reflect the change to
35798	  automatically disable the remote backend when fork() isn't
35799	  available.
35800
35801Thu Apr 10 01:56:34 BST 2003  Olly Betts <olly@survex.com>
35802
35803	* docs/mkdoc.pl: Fixed to only look at directories listed in
35804	  DIST_SUBDIRS.
35805
35806Thu Apr 10 00:23:28 BST 2003  Olly Betts <olly@survex.com>
35807
35808	* configure.in: Automatically disable the remote backend if we don't
35809	  have fork() since the remote backend requires it in several places;
35810	  AM_CONDITIONAL ENABLE_SHARED isn't used anywhere so commented it
35811	  out.
35812
35813Wed Apr 09 22:48:20 BST 2003  Olly Betts <olly@survex.com>
35814
35815	* NEWS: Updated with recent changes.
35816
35817Wed Apr 09 22:43:31 BST 2003  Olly Betts <olly@survex.com>
35818
35819	* docs/remote_protocol.html: Talk about Server/Client rather than
35820	  ProgServer/ProgClient; reworked first paragraph.
35821
35822Wed Apr 09 13:23:05 BST 2003  Olly Betts <olly@survex.com>
35823
35824	* docs/Makefile.am: Install docs in /usr/share/doc/xapian-core to be
35825	  FHS compliant.
35826	* xapian.spec.in: Package quartzcheck and quartzcompact too; sorted
35827	  out docs so they all install in the right place.
35828
35829Wed Apr 09 01:16:11 BST 2003  Olly Betts <olly@survex.com>
35830
35831	* configure.in,backends/quartz/quartz_log.cc,
35832	  backends/quartz/quartz_table_manager.cc,common/omdebug.cc,
35833	  common/omdebug.h: Don't use HAVE_GETPID - if it's not set we assume
35834	  GetCurrentProcessId() works, so it's cleaner to test with
35835	  #ifdef WIN32 instead.
35836
35837Tue Apr 08 19:56:57 BST 2003  Olly Betts <olly@survex.com>
35838
35839	* PLATFORMS: Updated with the results of many test builds.
35840
35841Tue Apr 08 19:55:15 BST 2003  Olly Betts <olly@survex.com>
35842
35843	* configure.in,backends/quartz/Makefile.am,backends/quartz/btree.cc,
35844	  netprogs/nettest.cc,common/getopt.h,common/omtime.h,common/utils.cc,
35845	  common/utils.h,tests/Makefile.am,tests/api_db.cc: Now builds with
35846	  Linux to mingw cross-compiler.
35847	* tests/Makefile.am: don't include findheaders.pl in the tarball -
35848	  it's no longer used.
35849	* tests/internaltest.cc: removed "#include <dlfcn.h>" and disabled
35850	  code which used to use it.
35851	* testsuite/backendmanager.cc,testsuite/backendmanager.h: fixed to
35852	  work if any backends are disabled.
35853
35854Tue Apr 08 16:09:11 BST 2003  Olly Betts <olly@survex.com>
35855
35856	* backends/quartz/btree.cc,backends/quartz/quartz_log.cc,
35857	  backends/quartz/quartz_table_manager.cc,testsuite/testsuite.cc:
35858	  Some fixes for building with Linux to mingw cross-compiler.
35859
35860Tue Apr 08 02:26:51 BST 2003  Olly Betts <olly@survex.com>
35861
35862	* backends/quartz/btreetest.cc: If we don't have <sstream> and so are
35863	  using our own stringstream implementation, we can't pass it as an
35864	  ostream reference so BtreeCheck::check() can't be run in btreetest.
35865	  This is only an issue on old compilers (for GCC <= 2.95.2 it seems)
35866	  so just disable the checking in that case - it's probably not worth
35867	  the effort of trying to make our stringstream a subclass of ostream.
35868
35869Tue Apr 08 01:20:36 BST 2003  Olly Betts <olly@survex.com>
35870
35871	* testsuite/testsuite.cc: Updated unfinished hooks to use valgrind in
35872	  the test harness.
35873
35874Fri Apr 04 03:12:27 BST 2003  Olly Betts <olly@survex.com>
35875
35876	* api/omenquire.cc,api/omstem.cc,common/omdebug.cc: Fixed to compile
35877	  when configure-d with --enable-debug-verbose --enable-debug=full.
35878
35879Fri Apr 04 03:10:53 BST 2003  Olly Betts <olly@survex.com>
35880
35881	* common/omstringstream.h: Removed unused code for writing
35882	  vector<string> to our own implementation of om_ostringstream.
35883
35884Fri Apr 04 03:08:35 BST 2003  Olly Betts <olly@survex.com>
35885
35886	* api/ompostlistiterator.cc: Use "using namespace std;"; replaced
35887	  gratuitous use of om_ostringstream.
35888
35889Fri Apr 04 03:07:05 BST 2003  Olly Betts <olly@survex.com>
35890
35891	* tests/api_nodb.cc: Use "using namespace std;"; removed stray cout
35892	  debug line.
35893
35894Wed Apr 02 16:54:50 BST 2003  Olly Betts <olly@survex.com>
35895
35896	* tests/internaltest.cc: More Sun C++ fixes.
35897	* PLATFORMS: Updated.
35898
35899Wed Apr 02 16:39:48 BST 2003  Olly Betts <olly@survex.com>
35900
35901	* tests/api_db.cc,net/tcpserver.cc,common/tcpserver.h: More Sun C++
35902	  fettling.
35903
35904Wed Apr 02 15:42:54 BST 2003  Olly Betts <olly@survex.com>
35905
35906	* matcher/emptymatch.h,tests/api_db.cc: More fixes for Sun C++.
35907
35908Wed Apr 02 15:13:58 BST 2003  Olly Betts <olly@survex.com>
35909
35910	* api/omenquire.cc,api/omqueryinternal.cc,
35911	  backends/inmemory/inmemory_database.h,common/document.h,
35912	  common/netclient.h,common/netserver.h,common/networkstats.h,
35913	  common/omlinebuf.h,common/stats.h,include/om/omerror.h,
35914	  include/om/omerrorhandler.h,indexer/indexgraph/nodetest.cc,
35915	  indexer/indexgraph/omindexerbuilder.cc,
35916	  indexer/indexgraph/omindexerinternal.h,
35917	  indexer/indexgraph/omstopwordnode.cc,
35918	  indexer/indexgraph/regexcommon.h,indexer/indexgraph/toposort.h,
35919	  tests/api_db.cc,tests/api_nodb.cc,testsuite/backendmanager.h:
35920	  More fixes for Sun C++; removed many superfluous ";" after "}".
35921
35922Wed Apr 02 03:45:42 BST 2003  Olly Betts <olly@survex.com>
35923
35924	* api/omdocument.cc,api/omenquire.cc,api/omtermlistiteratorinternal.h,
35925	  backends/inmemory/inmemory_database.h,backends/quartz/btree.cc,
35926	  backends/quartz/btree.h,common/alltermslist.h,common/expandweight.h,
35927	  common/getopt.h,common/utils.h,include/om/omenquire.h,
35928	  matcher/expandweight.cc,matcher/multimatch.cc,
35929	  testsuite/backendmanager.h: Resolved various issues so that
35930	  libxapian now builds with Sun's C++ compiler.  However
35931	  libomqueryparser and the test programs don't yet.
35932
35933Tue Apr 01 02:52:57 BST 2003  Olly Betts <olly@survex.com>
35934
35935	* backends/quartz/quartz_types.h: use "unsigned int" rather than
35936	  "unsigned long int" so that quartz_tablesize_t matches om_doccount
35937	  on 64 bit machines.
35938
35939Mon Mar 31 19:34:54 BST 2003  Olly Betts <olly@survex.com>
35940
35941	* AUTHORS,xapian.spec.in: Merged in changes to RPM packaging from
35942	  Fabrice Colin and reworked further.
35943
35944Fri Mar 28 20:04:04 GMT 2003  Olly Betts <olly@survex.com>
35945
35946	* NEWS: Updated.
35947
35948Fri Mar 28 19:53:59 GMT 2003  Olly Betts <olly@survex.com>
35949
35950	* README: Removed out-of-date sourceforge references; tidied up
35951	  wording in places.
35952
35953Fri Mar 28 19:52:11 GMT 2003  Olly Betts <olly@survex.com>
35954
35955	* HACKING: Removed out-of-date sourceforge references; tidied up
35956	  wording in places; docs/tests.txt is now docs/tests.html .
35957
35958Fri Mar 28 17:35:15 GMT 2003  Olly Betts <olly@survex.com>
35959
35960	* NEWS: Wrote most of the entries for the next release.
35961
35962Fri Mar 28 17:34:57 GMT 2003  Olly Betts <olly@survex.com>
35963
35964	* docs/todo.xml: Updated.
35965
35966Thu Mar 27 05:42:41 GMT 2003  Olly Betts <olly@survex.com>
35967
35968	* .cvsignore,Makefile.am,configure.in,docs/.cvsignore,docs/Makefile.am,
35969	  docs/index.html,docs/todo2html.pl: removed machinery to generate
35970	  TODO, TODO.release, docs/todo.html, and docs/todo-release.html from
35971	  docs/todo.xml - bug and todo items will be tracked in bugzilla
35972	  instead.
35973
35974Thu Mar 27 05:25:12 GMT 2003  Olly Betts <olly@survex.com>
35975
35976	* docs/todo.xml: Removed completed items and those already fed into
35977	  bugzilla.
35978
35979Thu Mar 27 05:17:05 GMT 2003  Olly Betts <olly@survex.com>
35980
35981	* api/omstem.cc,include/om/omstem.h: Added default OmStem ctor,
35982	  and "none" language.  Both of these give a stemmer object which
35983	  leaves terms unchanged which should allow for simpler logic
35984	  in programs using Xapian.  The default ctor also removes the
35985	  need to mess with pointers in some cases.
35986
35987Thu Mar 27 04:52:27 GMT 2003  Olly Betts <olly@survex.com>
35988
35989	* NEWS: Started to prepare for next release.
35990
35991Thu Mar 27 04:49:52 GMT 2003  Olly Betts <olly@survex.com>
35992
35993	* include/om/omenquire.h,include/om/omerror.h: Improved documentation
35994	  comments.
35995
35996Thu Mar 27 01:09:04 GMT 2003  Olly Betts <olly@survex.com>
35997
35998	* docs/todo.xml,tests/api_db.cc: Added regression test for Quartz
35999	  bug which caused problems with long terms on machines with signed
36000	  chars.
36001
36002Wed Mar 26 20:30:18 GMT 2003  Olly Betts <olly@survex.com>
36003
36004	* matcher/multimatch.cc: fixed interaction of collapsing and
36005	  sort_bands == 1.
36006
36007Wed Mar 26 01:04:30 GMT 2003  Olly Betts <olly@survex.com>
36008
36009	* matcher/multimatch.cc: Fixed sort_bands == 1 bug which would
36010	  incorrectly reject many documents with a low score.
36011
36012Thu Mar 06 13:04:06 GMT 2003  Sam Liddicott <sam.liddicott@orange.co.uk>
36013
36014	* docs/matcherdesign.html: Add writeup about document collapsing.
36015
36016Thu Mar 06 11:32:05 GMT 2003  Sam Liddicott <sam.liddicott@orange.co.uk>
36017
36018	* Add collapse_count threshold checking to ensure that most
36019	  relevant collapsed-away hit is more relevant than threshold
36020	  (if specified)
36021
36022Mon Mar 03 14:04:56 GMT 2003  Olly Betts <olly@survex.com>
36023
36024	* docs/quartzdesign.html: Corrected 2kB to 2KB.
36025
36026Fri Feb 28 10:11:04 GMT 2003  Sam Liddicott <sam.liddicott@orange.co.uk>
36027
36028	* Add get_collapse_count() to OmMSetIterator
36029	* Add collapse_count to OmMSetItem
36030	* Add collapse_count tracking to get_mset()
36031
36032Thu Feb 27 15:28:08 GMT 2003  Olly Betts <olly@survex.com>
36033
36034	* common/match.h,common/multimatch.h,matcher/multimatch.cc: Optimise
36035	  the common sort_bands == 1 case better.
36036	* tests/api_db.cc: sortbands2 now tests 1 sortband as well as 10.
36037
36038Wed Feb 26 09:58:01 GMT 2003  Sam Liddicott <sam.liddicott@orange.co.uk>
36039
36040	* bootstrap: Fix success message when building in non-src dir
36041	  as configure is written to the src dir.
36042
36043Mon Feb 24 10:33:52 GMT 2003  Olly Betts <olly@survex.com>
36044
36045	* matcher/multimatch.cc: Disabled (for now) sort_bands
36046	  optimisation which is misbehaving.  Fixed forward ordered boolean
36047	  optimisation broken by last check-in.
36048	* tests/api_db.cc: Added test_sortbands2 based on James' test code.
36049
36050Sun Feb 23 20:28:47 GMT 2003  Olly Betts <olly@survex.com>
36051
36052	* matcher/multimatch.cc: Fixed problem with sort_bands when asking
36053	  for an m-set which didn't start with the first match.
36054
36055Sun Jan 05 22:20:33 GMT 2003  Olly Betts <olly@survex.com>
36056
36057	* testsuite/index_utils.cc: Handling of ^x was just downright wrong
36058	  due to a typo.
36059
36060Sun Jan 05 22:19:56 GMT 2003  Olly Betts <olly@survex.com>
36061
36062	* backends/quartz/.cvsignore: Ignore quartzcompact binary.
36063
36064Sun Jan 05 22:18:57 GMT 2003  Olly Betts <olly@survex.com>
36065
36066	* extra/parsequerytest.cc: Fixed to build with GCC 2.95.
36067
36068Tue Dec 24 20:21:03 GMT 2002  Olly Betts <olly@survex.com>
36069
36070	* NEWS: Added omega 0.6.4 changes.
36071
36072Tue Dec 24 19:53:10 GMT 2002  Olly Betts <olly@survex.com>
36073
36074	* NEWS,PLATFORMS,configure.in: Version 0.6.4.
36075
36076Tue Dec 24 19:29:27 GMT 2002  Olly Betts <olly@survex.com>
36077
36078	* backends/quartz/quartz_database.cc,backends/quartz/quartz_table.cc:
36079	  Don't bother checking is position_list is empty - just delete it and
36080	  let the layer below handle not having anything to delete.
36081	* backends/quartz/quartz_termlist.cc,docs/todo.xml: Fixed unpacking
36082	  of termlist on platforms where char is signed.
36083
36084Tue Dec 24 05:48:06 GMT 2002  Olly Betts <olly@survex.com>
36085
36086	* backends/quartz/quartz_database.cc: Fixed double setting of position
36087	  list when updating a document with term position information.  The
36088	  behaviour before was correct, just inefficient.
36089
36090Mon Dec 23 04:44:46 GMT 2002  Olly Betts <olly@survex.com>
36091
36092	* docs/todo.xml: Updated.
36093
36094Mon Dec 23 03:22:19 GMT 2002  Olly Betts <olly@survex.com>
36095
36096	* extra/parsequery.yy: If a stemmed form with a "." is in the query,
36097	  include the "." on the form in the unstem multimap.
36098
36099Sun Dec 22 21:44:06 GMT 2002  Olly Betts <olly@survex.com>
36100
36101	* extra/omparsequery.h,extra/parsequery.yy,extra/parsequerytest.cc:
36102	  Added support for searching probabilistic fields (using
36103	  <field>:<term>).
36104
36105Sat Dec 21 01:38:59 GMT 2002  Olly Betts <olly@survex.com>
36106
36107	* configure.in: Don't include "om.h" in APIDOC_SRC, otherwise
36108	  people building from source will need to regenerate the source
36109	  docs which will require them to have doxygen installed.
36110
36111Fri Dec 20 15:39:51 GMT 2002  James Aylett  <james@tartarus.org>
36112
36113	* Bindings build using SWIG 1.3.14u-20020706-1222, with very
36114	  basic functionality tested with the Python target.
36115
36116Fri Dec 20 12:38:26 GMT 2002  James Aylett  <tartarus@users.sourceforge.net>
36117
36118	* Tidied up some bindings-related issues, including changes to
36119	  the Python bindings to work with Python 2.2. This probably won't
36120	  compile as it stands, but it's disabled anyway.
36121
36122Sun Dec 15 18:23:42 GMT 2002  Olly Betts <olly@survex.com>
36123
36124	* api/omdatabase.cc,backends/muscat36/da_database.cc,
36125	  backends/muscat36/db_database.cc,matcher/phrasepostlist.cc:
36126	  Muscat 3.6 DA and DB databases don't have word position information.
36127	  Instead of throwing an exception when this information is requested,
36128	  return an empty position list (i.e. behave as a quartz database with
36129	  no position information would).
36130
36131Sun Dec 15 03:08:28 GMT 2002  Olly Betts <olly@survex.com>
36132
36133	* backends/muscat36/: DADatabase and DBDatabase ctors need to public
36134	  so that they can called from the database factory functions.
36135	* api/omenquire.cc,backends/muscat36/,backends/quartz/btree.cc,
36136	  tests/api_db.cc: Fixed compilation warnings.
36137
36138Sat Dec 14 23:02:55 GMT 2002  Olly Betts <olly@survex.com>
36139
36140	* docs/quartzdesign.html,docs/todo.xml: Updated.
36141
36142Sat Dec 14 22:57:41 GMT 2002  Olly Betts <olly@survex.com>
36143
36144	* backends/quartz/Makefile.am,backends/quartz/quartzcheck.cc,
36145	  backends/quartz/quartzcompact.cc,backends/quartz/quartzdump.cc:
36146	  Enhanced quartzcheck to check all the btrees in a quartz database
36147	  if passed a directory name.  It also default to "v" rather than
36148	  "+" which is more appropriate for an end user checking if tables
36149	  in a non-trivial sized database are corrupt.  Added quartzcompact
36150	  utility to make a copy of a quartz database with full compaction
36151	  turned on - this results in a smaller database which is faster to
36152	  search.  The next update will result in a lot of block splitting
36153	  though (since all blocks are as full as possible).
36154
36155Sat Dec 14 16:28:11 GMT 2002  Olly Betts <olly@survex.com>
36156
36157	* NEWS: Updated for 0.6.3 release.
36158
36159Sat Dec 14 04:28:16 GMT 2002  Olly Betts <olly@survex.com>
36160
36161	* PLATFORMS,configure.in: Version 0.6.3.
36162
36163Sat Dec 14 03:54:08 GMT 2002  Olly Betts <olly@survex.com>
36164
36165	* extra/omparsequery.h,extra/parsequery.yy: Create an "unstem" multimap
36166	  so users can convert the stemmed terms back into their query
36167	  representation.
36168
36169Sat Dec 14 03:48:27 GMT 2002  Olly Betts <olly@survex.com>
36170
36171	* docs/todo.xml: Updated.
36172
36173Sat Dec 14 02:37:41 GMT 2002  Olly Betts <olly@survex.com>
36174
36175	* docs/todo.xml: Updated.
36176
36177Sat Dec 14 02:26:29 GMT 2002  Olly Betts <olly@survex.com>
36178
36179	* docs/remote_protocol.html,net/socketclient.cc,net/socketserver.cc:
36180	  Updated remote protocol description.
36181
36182Sat Dec 14 02:05:59 GMT 2002  Olly Betts <olly@survex.com>
36183
36184	* docs/: Updated.
36185
36186Fri Dec 13 23:43:23 GMT 2002  Olly Betts <olly@survex.com>
36187
36188	* include/om/om.h.in: Removed bogus // in the middle of a comment.
36189
36190Fri Dec 13 22:17:41 GMT 2002  Olly Betts <olly@survex.com>
36191
36192	* configure.in,testsuite/testsuite.cc: Added hooks for using valgrind
36193	  to find leaks in the test suite.  Just need to sort out suitable
36194	  hooks in valgrind now!
36195
36196Fri Dec 13 19:57:23 GMT 2002  Olly Betts <olly@survex.com>
36197
36198	* docs/: OmSettings removal updates.
36199
36200Fri Dec 13 19:44:23 GMT 2002  Olly Betts <olly@survex.com>
36201
36202	* bindings/: Made a start updating bindings for OmSettings removal.
36203
36204Fri Dec 13 19:13:36 GMT 2002  Olly Betts <olly@survex.com>
36205
36206	* api/omenquire.cc,common/omenquireinternal.h,include/om/omenquire.h,
36207	  net/socketclient.cc,tests/api_db.cc: Finished removal of OmSettings
36208	  - all tests now pass once more!
36209
36210Fri Dec 13 16:35:12 GMT 2002  Olly Betts <olly@survex.com>
36211
36212	* api/,backends/quartz/quartz_table_manager.h,common/,docs/,include/,
36213	  matcher/,net/,tests/internaltest.cc: Removed last use of OmSettings.
36214	  Just a check-point check in - the code compiles, but doesn't pass
36215	  tests yet.
36216
36217Fri Dec 13 12:53:01 GMT 2002  Olly Betts <olly@survex.com>
36218
36219	* netprogs/nettest.cc: Updated disabled code to use new database
36220	  factory functions; Added "using namespace std;".
36221
36222Thu Dec 12 23:52:32 GMT 2002  Olly Betts <olly@survex.com>
36223
36224	* docs/todo.xml: Tidied my desk and converted lots of scraps of paper
36225	  to todo entries.
36226
36227Thu Dec 12 16:43:22 GMT 2002  Olly Betts <olly@survex.com>
36228
36229	* backends/quartz/btree.cc: Added workaround for shared_level problem;
36230	  Improved error reporting.
36231
36232Thu Dec 12 01:05:00 GMT 2002  Olly Betts <olly@survex.com>
36233
36234	* docs/overview.html: Updated docs on stub databases.
36235
36236Wed Dec 11 20:49:11 GMT 2002  Olly Betts <olly@survex.com>
36237
36238	* api/omdatabaseinternal.cc,include/om/omdatabase.h,tests/api_db.cc:
36239	  Reimplemented stub databases in the new scheme of things.
36240	* backends/inmemory/: fully disabled inmemory_errornext and
36241	  inmemory_abortnext code.
36242
36243Tue Dec 10 13:47:44 GMT 2002  Olly Betts <olly@survex.com>
36244
36245	* HACKING: Added note that Bison 1.50 seems to work with Xapian's
36246	  .yy files.
36247
36248Mon Dec 09 20:13:00 GMT 2002  Olly Betts <olly@survex.com>
36249
36250	* api/omenquire.cc,common/omenquireinternal.h,docs/todo.xml,
36251	  include/om/omenquire.h,tests/api_db.cc: OmEnquire::get_eset()
36252	  now takes a flags argument of bit constants |-ed together
36253	  instead of 2 bools.
36254
36255Mon Dec 09 12:52:38 GMT 2002  Olly Betts <olly@survex.com>
36256
36257	* backends/quartz/btree.cc,backends/quartz/btree.h: Applied patch
36258	  from Martin Porter with better fix for sequential addition bug.
36259
36260Mon Dec 09 09:57:42 GMT 2002  Olly Betts <olly@survex.com>
36261
36262	* docs/todo.xml: Updated.
36263
36264Mon Dec 09 07:32:46 GMT 2002  Olly Betts <olly@survex.com>
36265
36266	* backends/quartz/quartztest.cc: Corrected name of database used
36267	  by test adddoc2 (was using testdb_adddoc1!)
36268
36269Mon Dec 09 05:10:09 GMT 2002  Olly Betts <olly@survex.com>
36270
36271	* backends/quartz/quartz_postlist.cc,backends/quartz/quartz_table.cc:
36272	  More fettling.
36273
36274Mon Dec 09 04:48:39 GMT 2002  Olly Betts <olly@survex.com>
36275
36276	* backends/quartz/: Minor code fettle.
36277
36278Mon Dec 09 03:32:11 GMT 2002  Olly Betts <olly@survex.com>
36279
36280	* backends/quartz/quartz_postlist.cc: Gratuitous layout fettling.
36281
36282Mon Dec 09 03:30:27 GMT 2002  Olly Betts <olly@survex.com>
36283
36284	* docs/quartzdesign.html: Improved wording and punctuation in 3
36285	  places.
36286
36287Mon Dec 09 03:25:09 GMT 2002  Olly Betts <olly@survex.com>
36288
36289	* common/,docs/todo.xml,include/om/omenquire.h,matcher/,
36290	  net/socketclient.cc,net/socketserver.cc,netprogs/omprogsrv.cc,
36291	  netprogs/omtcpsrv.cc: Fixed the remote backend to handle non-default
36292	  weighting schemes.  You can now even implement your own weighting
36293	  scheme and use it with the remote backend provided you register it
36294	  with SocketServer at runtime.
36295
36296Sat Dec 07 21:18:39 GMT 2002  Olly Betts <olly@survex.com>
36297
36298	* PLATFORMS: Updated.
36299
36300Sat Dec 07 21:09:52 GMT 2002  Olly Betts <olly@survex.com>
36301
36302	* NEWS,PLATFORMS,configure.in: Version 0.6.2.
36303
36304Sat Dec 07 20:24:46 GMT 2002  Olly Betts <olly@survex.com>
36305
36306	* NEWS: Updated.
36307
36308Sat Dec 07 20:21:41 GMT 2002  Olly Betts <olly@survex.com>
36309
36310	* docs/quickstart.html: Fixed parameters passed to OmQuartz__open().
36311
36312Sat Dec 07 20:17:42 GMT 2002  Olly Betts <olly@survex.com>
36313
36314	* backends/quartz/quartztest.cc: Fixed parameters passed to
36315	  OmQuartz__open().
36316
36317Sat Dec 07 16:41:25 GMT 2002  Olly Betts <olly@survex.com>
36318
36319	* docs/tests.html,testsuite/testsuite.cc: The testsuite won't install
36320	  its signal handler if XAPIAN_SIG_DFL is set.
36321
36322Sat Dec 07 16:39:01 GMT 2002  Olly Betts <olly@survex.com>
36323
36324	* HACKING: OM_DEBUG_XXX -> XAPIAN_DEBUG_YYY.
36325
36326Sat Dec 07 04:48:37 GMT 2002  Olly Betts <olly@survex.com>
36327
36328	* backends/quartz/btree.cc: max_item_size wasn't being set due to
36329	  some over-zealous code pruning.  It was defaulting to 0, and
36330	  was causing the code to write off the end of allocated memory
36331	  blocks.
36332
36333Sat Dec 07 03:22:05 GMT 2002  Olly Betts <olly@survex.com>
36334
36335	* backends/inmemory/,matcher/multimatch.cc: Minor code tidying.
36336	* backends/quartz/btree.cc: Added Assert in Btree::add() to detect
36337	  running off end of buffer.
36338
36339Sat Dec 07 03:20:52 GMT 2002  Olly Betts <olly@survex.com>
36340
36341	* matcher/localmatch.cc: fixed handling of wtscheme() - we were
36342	  trying to use it for the extra weights, and then double
36343	  deleting it!
36344
36345Fri Dec 06 23:05:22 GMT 2002  Olly Betts <olly@survex.com>
36346
36347	* api/omstem.cc,backends/quartz/,common/omdebug.cc,common/utils.h,
36348	  matcher/tradweight.cc,net/socketcommon.cc,net/tcpclient.cc,
36349	  tests/api_db.cc: Fixed to build with configure --enable-debug=full.
36350
36351Fri Dec 06 23:01:08 GMT 2002  Olly Betts <olly@survex.com>
36352
36353	* common/omdebug.cc,common/omdebug.h: Fixed permissions on newly
36354	  created log file (was getting 000!); Simplified class internals;
36355	  Renamed env vars: OM_DEBUG_FILE is now XAPIAN_DEBUG_LOG,
36356	  OM_DEBUG_TYPES is now XAPIAN_DEBUG_FLAGS (old versions still work
36357	  for now).
36358
36359Fri Dec 06 22:58:57 GMT 2002  Olly Betts <olly@survex.com>
36360
36361	* testsuite/testsuite.cc: Fixed so running "gdb .libs/apitest"
36362	  finds srcdir (for an in-tree build at least).
36363
36364Fri Dec 06 03:51:35 GMT 2002  Olly Betts <olly@survex.com>
36365
36366	* common/,include/om/omenquire.h,matcher/localmatch.h,matcher/rset.cc,
36367	  matcher/stats.cc: Fixed to compile with GCC 3.0.
36368
36369Thu Dec 05 23:28:29 GMT 2002  Olly Betts <olly@survex.com>
36370
36371	* include/om/omdatabase.h: Added missing "std::".
36372
36373Thu Dec 05 23:27:57 GMT 2002  Olly Betts <olly@survex.com>
36374
36375	* docs/remote.html: Updated from OmSettings to factory functions.
36376
36377Thu Dec 05 23:26:42 GMT 2002  Olly Betts <olly@survex.com>
36378
36379	* PLATFORMS: ixion is actually Linux 2.2.
36380
36381Thu Dec 05 04:32:40 GMT 2002  Olly Betts <olly@survex.com>
36382
36383	* testsuite/backendmanager.cc: Fixed BackendManager::do_getdb_quartz()
36384	  and do_getwritedb_quartz() to work correctly and so resolved some
36385	  test failures.
36386
36387Wed Dec 04 03:35:12 GMT 2002  Olly Betts <olly@survex.com>
36388
36389	* api/omdatabaseinternal.cc,backends/quartz/,docs/todo.xml,
36390	  include/om/omdatabase.h: Replace create and allow_overwrite
36391	  boolean flags with OM_DB_XXX constants.  And we now support
36392	  OM_DB_CREATE_OR_OPEN which is a common action to want to
36393	  perform, but was fiddly to achieve before.
36394
36395Tue Dec 03 23:59:30 GMT 2002  Olly Betts <olly@survex.com>
36396
36397	* docs/todo.xml: Updated.
36398
36399Tue Dec 03 23:26:27 GMT 2002  Olly Betts <olly@survex.com>
36400
36401	* api/omenquire.cc,backends/quartz/quartz_postlist.h,common/,
36402	  docs/omsettings,docs/todo.xml,include/om/omenquire.h,matcher/,
36403	  net/socketcommon.cc,net/socketserver.cc,tests/api_db.cc,
36404	  tests/api_posdb.cc: Weighting schemes are now specified by passing
36405	  in a weighting object, rather than via OmSetttings.  The weight
36406	  class can be sub-classed by the library user to allow them to
36407	  specify their own weighting scheme).  Everything works apart
36408	  from the remote backend where the weighting scheme type and
36409	  parameters aren't passed across the link.
36410
36411Mon Dec 02 20:12:31 GMT 2002  Olly Betts <olly@survex.com>
36412
36413	* NEWS: Updated with changes since 0.6.1.
36414
36415Mon Dec 02 19:44:37 GMT 2002  Olly Betts <olly@survex.com>
36416
36417	* api/ompostlistiterator.cc,backends/multi/multi_postlist.h,
36418	  common/irweight.h,common/leafpostlist.h,matcher/: IRWeight
36419	  renamed to OmWeight in preparation for making it externally
36420	  visible.
36421
36422Mon Dec 02 18:10:55 GMT 2002  Olly Betts <olly@survex.com>
36423
36424	* matcher/bm25weight.cc,matcher/irweight.cc,matcher/tradweight.cc,
36425	  matcher/tradweight.h: Started to rework weighting scheme code.
36426
36427Mon Dec 02 17:36:21 GMT 2002  Olly Betts <olly@survex.com>
36428
36429	* api/omdatabaseinternal.cc,backends/quartz/quartz_table_manager.cc:
36430	  Tidying up after the recent backend reworking.
36431
36432Mon Dec 02 03:59:39 GMT 2002  Olly Betts <olly@survex.com>
36433
36434	* matcher/: Changed BoolWeight ctor not to take an OmSettings
36435	  parameter which is simply ignored.
36436
36437Mon Dec 02 01:35:41 GMT 2002  Olly Betts <olly@survex.com>
36438
36439	* include/om/omdatabase.h: Added documentation comments for all of
36440	  the database factory functions.
36441
36442Sun Dec 01 21:45:49 GMT 2002  Olly Betts <olly@survex.com>
36443
36444	* include/om: Added \file documentation comments so doxygen
36445	  extracts documentation for functions too.
36446	* docs/: Made a start on updating for the new database factory
36447	  functions.
36448
36449Sun Dec 01 15:38:10 GMT 2002  Olly Betts <olly@survex.com>
36450
36451	* api/,backends/,common/,docs/omsettings,docs/todo.xml,
36452	  include/om/omdatabase.h,netprogs/,tests/,testsuite/backendmanager.cc,
36453	  testsuite/backendmanager.h: No longer use OmSettings to specify
36454	  parameters for constructing databases.  Instead there's a factory
36455	  function for each database type - temporary naming scheme is
36456	  OmXxx__open(), mostly because it's easy to grep for later.  At
36457	  present stub databases and the machinery in InMemory to allow
36458	  the multierrhandler1 test aren't working.  Everything else should
36459	  be.
36460
36461Thu Nov 28 20:15:47 GMT 2002  Olly Betts <olly@survex.com>
36462
36463	* api/omenquire.cc,common/omenquireinternal.h,docs/omsettings,
36464	  docs/overview.html,include/om/omenquire.h,tests/api_db.cc:
36465	  No longer use OmSettings in OmEnquire::get_eset(); fixed
36466	  reversed sense of use_query_terms (and fixed reversed sense
36467	  test in apitest which meant this wasn't spotted).
36468
36469Thu Nov 28 20:14:54 GMT 2002  Olly Betts <olly@survex.com>
36470
36471	* docs/index.html: Link to annotated class lists in doxygen generated
36472	  documentation rather than rather empty index page.
36473
36474Thu Nov 28 02:23:33 GMT 2002  Olly Betts <olly@survex.com>
36475
36476	* configure.in,NEWS: Version 0.6.1.
36477
36478Thu Nov 28 01:38:05 GMT 2002  Olly Betts <olly@survex.com>
36479
36480	* PLATFORMS: Updated.
36481
36482Thu Nov 28 01:33:25 GMT 2002  Olly Betts <olly@survex.com>
36483
36484	* backends/quartz/: Fixed to compile with GCC 3.0.
36485
36486Thu Nov 28 01:32:31 GMT 2002  Olly Betts <olly@survex.com>
36487
36488	* PLATFORMS: Updated with test results from 0.5.4 release.
36489
36490Wed Nov 27 22:11:38 GMT 2002  Olly Betts <olly@survex.com>
36491
36492	* backends/quartz/btree.h: fixed "public:" bodge added during
36493	  factoring-out of BtreeCheck.
36494
36495Wed Nov 27 05:01:14 GMT 2002  Olly Betts <olly@survex.com>
36496
36497	* NEWS,PLATFORMS,configure.in: Updated for 0.6.0 release.
36498
36499Wed Nov 27 05:00:39 GMT 2002  Olly Betts <olly@survex.com>
36500
36501	* AUTHORS,HACKING: Removed or replaced sourceforge.net URLs.
36502
36503Wed Nov 27 04:58:29 GMT 2002  Olly Betts <olly@survex.com>
36504
36505	* docs/quartzdesign.html: Reworded "under development" warning;
36506	  Updated Btree::check(), which is now BtreeCheck::check().
36507
36508Wed Nov 27 01:36:26 GMT 2002  Olly Betts <olly@survex.com>
36509
36510	* backends/quartz/btreecheck.cc,backends/quartz/btreecheck.h,
36511	  backends/quartz/btreetest.cc: Tidied up BtreeCheck - btreetest now
36512	  sends check output to tout so it's only displayed if the check fails
36513	  (or btreetest is run with -v).
36514
36515Tue Nov 26 19:47:24 GMT 2002  Olly Betts <olly@survex.com>
36516
36517	* backends/quartz/: Split the btree checking code out into a separate
36518	  file, so it's not linked in when we don't need it.
36519
36520Tue Nov 26 05:47:32 GMT 2002  Olly Betts <olly@survex.com>
36521
36522	* backends/quartz/btree.cc: Suppress all output from a successful
36523	  Btree::Check() is no options are specified, so that btreetest
36524	  generates clean output when all tests pass.
36525
36526Tue Nov 19 02:08:30 GMT 2002  Olly Betts <olly@survex.com>
36527
36528	* NEWS: Updated.
36529
36530Tue Nov 19 01:46:35 GMT 2002  Olly Betts <olly@survex.com>
36531
36532	* backends/quartz/btree.cc,backends/quartz/btree.h,
36533	  backends/quartz/btreetest.cc,backends/quartz/quartztest.cc,
36534	  docs/quartzdesign.html: Quartz B-tree minimum blocksize is
36535	  now 2048 bytes (as was in fact documented already).  This
36536	  means the max term length is now always 252 bytes.
36537
36538Mon Nov 18 22:16:57 GMT 2002  Olly Betts <olly@survex.com>
36539
36540	* api/omenquire.cc,matcher/expand.cc,matcher/expandweight.cc:
36541	  Bit of an expand tidy up.
36542
36543Mon Nov 18 19:49:09 GMT 2002  Olly Betts <olly@survex.com>
36544
36545	* backends/quartz/quartz_termlist.cc: I'd put the new termlist stuff
36546	  in the disabled branch of a "#ifdef" so it wasn't being used!  Fixed
36547	  this and made it actually compile as an encore.
36548
36549Mon Nov 18 02:51:55 GMT 2002  Olly Betts <olly@survex.com>
36550
36551	* docs/todo.xml: Retargetted 0.6 tasks for 0.7 or 0.8; updated a few
36552	  entries.
36553
36554Mon Nov 18 02:28:55 GMT 2002  Olly Betts <olly@survex.com>
36555
36556	* docs/quartzdesign.html,backends/quartz/: We can just store the term
36557	  name raw in position list key, since we know its length from the key
36558	  length; tweaked storing of deltas to store (delta - 1) as 0 is
36559	  invalid.
36560
36561Mon Nov 18 00:47:54 GMT 2002  Olly Betts <olly@survex.com>
36562
36563	* backends/quartz/quartz_termlist.cc: First cut of compressed term
36564	  lists.
36565
36566Sun Nov 17 20:19:23 GMT 2002  Olly Betts <olly@survex.com>
36567
36568	* backends/quartz/quartz_lexicon.cc,backends/quartz/quartz_values.cc:
36569	  Use new pack_uint_last() and unpack_uint_last() where appropriate.
36570
36571Sun Nov 17 20:03:24 GMT 2002  Olly Betts <olly@survex.com>
36572
36573	* backends/quartz/quartz_record.cc,backends/quartz/quartz_utils.h:
36574	  Added a more compact integer packing for the last integer in
36575	  a key or tag.
36576
36577Sun Nov 17 18:54:05 GMT 2002  Olly Betts <olly@survex.com>
36578
36579	* backends/quartz/btree.cc,backends/quartz/btree.h: more
36580	  int -> bool changes.
36581	* backends/quartz/btree_base.cc: Clarified comments.
36582
36583Sun Nov 17 14:19:30 GMT 2002  Olly Betts <olly@survex.com>
36584
36585	* docs/quartzdesign.html: Updated to reflect removal of Btree_item.
36586
36587Sun Nov 17 14:12:12 GMT 2002  Olly Betts <olly@survex.com>
36588
36589	* backends/quartz/: Eliminate Btree_item - wherever it's used we
36590	  only actually want the tag or key, so it's cleaner and clearer
36591	  to just pass a pointer to a string.
36592
36593Sun Nov 17 13:34:08 GMT 2002  Olly Betts <olly@survex.com>
36594
36595	* backends/quartz/,docs/quartzdesign.html: Quartz mini-overhaul:
36596	  Removed Btree::Bcursor_create() and just made Bcursor's ctor
36597	  public - now you can just create a Bcursor on the stack rather
36598	  than being forced to use AutoPtr; removed valid_handle - the
36599	  code is clearer without it; sys_close now inlined from header;
36600	  changed int/char to bool where appropriate; changed some methods
36601	  which now always throw on error to return void not bool; moved
36602	  quartztest's test_btree1 to btreetest as test_simple1; changed
36603	  a few remaining uses of "struct Btree" to just plain "Btree";
36604	  brought the btree docs in quartzdesign.html up-to-date, apart
36605	  from the error handling section.
36606
36607Sat Nov 16 01:45:28 GMT 2002  Olly Betts <olly@survex.com>
36608
36609	* backends/inmemory/inmemory_database.cc,
36610	  backends/inmemory/inmemory_database.h,
36611	  backends/quartz/quartz_table.cc: Tidying up odds and ends.
36612
36613Fri Nov 15 17:46:38 GMT 2002  Olly Betts <olly@survex.com>
36614
36615	* NEWS: Updated ready for 0.6.0 with changes made so far.
36616
36617Fri Nov 15 17:06:58 GMT 2002  Olly Betts <olly@survex.com>
36618
36619	* testsuite/testsuite.cc: Avoid double debug output if we get a
36620	  signal inside the testsuite code itself.
36621
36622Fri Nov 15 17:00:15 GMT 2002  Olly Betts <olly@survex.com>
36623
36624	* backends/quartz/btree_api.txt,docs/Makefile.am,docs/index.html,
36625	  docs/quartzdesign.html,docs/remote_protocol.html,
36626	  net/README_progprotocol.txt: Converted Btree API documentation
36627	  to HTML and add it to the quartz design document; converted the
36628	  (seriously out of date) remote protocol document to HTML, moved it
36629	  into docs/, and linked it in.
36630
36631Fri Nov 15 13:05:06 GMT 2002  Olly Betts <olly@survex.com>
36632
36633	* backends/quartz/quartz_record.cc,backends/quartz/quartz_utils.h,
36634	  docs/quartzdesign.html: Changed encoding of keys for quartz record
36635	  and termlist tables.
36636
36637Fri Nov 15 12:54:39 GMT 2002  Olly Betts <olly@survex.com>
36638
36639	* backends/quartz/quartz_table_entries.cc: Fixed
36640	  QuartzTableEntries::empty() which would never return true before.
36641
36642Fri Nov 15 03:08:49 GMT 2002  Olly Betts <olly@survex.com>
36643
36644	* backends/quartz/btree_api.txt: Fixed typos.
36645
36646Fri Nov 15 03:06:41 GMT 2002  Olly Betts <olly@survex.com>
36647
36648	* backends/quartz/quartztest.cc,backends/quartz/btreetest.cc:
36649	  added another test (btreetest: emptykey1) and added extra
36650	  checks to existing tests.
36651
36652Thu Nov 14 01:59:06 GMT 2002  Olly Betts <olly@survex.com>
36653
36654	* matcher/multimatch.cc,tests/api_db.cc,docs/todo.xml:
36655	  match_sort_bands code fettled, and added regression test for the
36656	  >100% problem (test_sortbands1).
36657
36658Tue Nov 12 00:00:44 GMT 2002  Olly Betts <olly@survex.com>
36659
36660	* backends/inmemory/inmemory_database.h,backends/quartz/,
36661	  include/om/omtypes.h: Pushed average length calc down into
36662	  QuartzRecordManager; removed unnecessary types om_totlength
36663	  and om_termid.
36664
36665Mon Nov 11 18:10:23 GMT 2002  Olly Betts <olly@survex.com>
36666
36667	* docs/index.html: Fixed broken link.
36668
36669Mon Nov 11 18:07:41 GMT 2002  Olly Betts <olly@survex.com>
36670
36671	* backends/quartz/,docs/quartzdesign.html: Store next free docid
36672	  and total doc length in the same tag in QuartzRecord.
36673
36674Wed Nov 06 22:38:40 GMT 2002  Olly Betts <olly@survex.com>
36675
36676	* backends/quartz/quartz_database.cc,backends/quartz/quartz_database.h:
36677	  Eliminated QuartzDatabase::get_doccount_internal() and
36678	  QuartzDatabase::get_avlength_internal() - now the thread
36679	  locking code has gone, the indirection serves no purpose.
36680
36681Wed Nov 06 17:50:12 GMT 2002  Olly Betts <olly@survex.com>
36682
36683	* backends/quartz/: Removed QuartzBufferedTable::write() (unused and
36684	  unimplemented), and merged QuartzBufferedTable::write_internal()
36685	  into QuartzBufferedTable::write_internal().
36686
36687Wed Nov 06 01:56:41 GMT 2002  Olly Betts <olly@survex.com>
36688
36689	* backends/quartz/: disable quartz lexicon table unless USE_LEXICON
36690	  is defined.
36691
36692Wed Nov 06 01:54:30 GMT 2002  Olly Betts <olly@survex.com>
36693
36694	* docs/overview.html: Corrected link to API docs on website.
36695
36696Mon Nov 04 02:35:22 GMT 2002  Olly Betts <olly@survex.com>
36697
36698	* include/om/omerror.h,net/omerr_string.cc,netprogs/omprogsrv.cc,
36699	  netprogs/omtcpsrv.cc,testsuite/testsuite.cc: don't use typeid().
36700
36701Mon Nov 04 01:31:47 GMT 2002  Olly Betts <olly@survex.com>
36702
36703	* testsuite/testsuite.cc: Catch by const reference.
36704
36705Mon Nov 04 01:18:53 GMT 2002  Olly Betts <olly@survex.com>
36706
36707	* HACKING: Added note about use of various C++ features.  Also
36708	  tidied up various odds and ends.
36709
36710Sun Nov 03 22:59:34 GMT 2002  Olly Betts <olly@survex.com>
36711
36712	* api/omdatabaseinternal.cc: Eliminated entirely superfluous use of
36713	  dynamic_cast.
36714
36715Sun Nov 03 22:46:34 GMT 2002  Olly Betts <olly@survex.com>
36716
36717	* matcher/multimatch.cc,common/database.h,common/net_database.h:
36718	  Replace Database::is_network() with Database::as_networkdatabase()
36719	  which returns a pointer or NULL.  This eliminates the need to use
36720	  dynamic_cast in MultiMatch.
36721
36722Wed Oct 23 05:24:14 BST 2002  Olly Betts <olly@survex.com>
36723
36724	* docs/todo.xml: Resolved TODO entry by consulting Stroustrup
36725	  (it is safe to throw and catch an exception in a destructor,
36726	  even when that destructor is being called during a stack unwind
36727	  caused by an exception being thrown).
36728
36729Wed Oct 16 20:05:39 BST 2002  Olly Betts <olly@survex.com>
36730
36731	* backends/quartz/btreetest.cc: Suppress (most) output from
36732	  Btree::check unless verbose (-v) is enabled.
36733
36734Mon Oct 14 15:13:18 BST 2002  Olly Betts <olly@survex.com>
36735
36736	* testsuite/testsuite.cc: Fixed compilation problem with std:: on
36737	  GCC 3.2.
36738
36739Mon Oct 14 15:07:03 BST 2002  Olly Betts <olly@survex.com>
36740
36741	* api/omstem.cc: French and Finnish stemmers were switched!
36742
36743Mon Oct 14 02:49:12 BST 2002  Olly Betts <olly@survex.com>
36744
36745	* backends/quartz/quartz_utils.h: change sort preserving packing for
36746	  strings.  This one does better provided the strings being packed
36747	  don't contain many zero bytes (which is true of the termnames which
36748	  we pack with this).
36749
36750Mon Oct 14 02:45:20 BST 2002  Olly Betts <olly@survex.com>
36751
36752	* tests/stemtest.cc: Updated to reflect new naming of stemming test
36753	  data.
36754
36755Sun Oct 13 17:06:26 BST 2002  Olly Betts <olly@survex.com>
36756
36757	* docs/todo.xml: Updated.
36758
36759Sun Oct 13 16:40:24 BST 2002  Olly Betts <olly@survex.com>
36760
36761	* api/omstem.cc,backends/quartz/,common/,extra/omparsequery.h,matcher/,
36762	  net/socketclient.cc: Added private copy ctors and assignment
36763	  operators to classes with pointer members (which shouldn't be
36764	  copied).
36765
36766Sun Oct 13 15:12:40 BST 2002  Olly Betts <olly@survex.com>
36767
36768	* docs/todo.xml: Updated.
36769
36770Sun Oct 13 02:33:57 BST 2002  Olly Betts <olly@survex.com>
36771
36772	* .cvsignore: Added install-sh.
36773
36774Sun Oct 13 02:16:31 BST 2002  Olly Betts <olly@survex.com>
36775
36776	* backends/quartz/{quartz_lexicon.cc,quartz_lexicon.h}: key to lexicon
36777	  is now simply the termname - no need to encode the length there too
36778	  since the Btree knows how long the key is.
36779	* backends/quartz/{quartz_table_manager.cc,quartz_values.cc}: finished
36780	  the terminology change from "attribute" to "value" (including
36781	  renaming the btree files, which is why it wasn't done before).
36782
36783Sun Oct 13 02:09:00 BST 2002  Olly Betts <olly@survex.com>
36784
36785	* tests/api_db.cc: Snowball stems "this" to "this" rather than "thi",
36786	  so update apitest source to reflect this.
36787
36788Sun Oct 13 01:03:04 BST 2002  Olly Betts <olly@survex.com>
36789
36790	* configure.in: Removed references to languages/*/Makefile.
36791
36792Sun Oct 13 00:50:01 BST 2002  Olly Betts <olly@survex.com>
36793
36794	* docs/indexerquickstart.html,docs/quartzdesign.html: Updated.
36795
36796Sat Oct 12 23:34:52 BST 2002  Olly Betts <olly@survex.com>
36797
36798	* languages/{api.c,api.h,header.h,utilities.c}: 4 new files.
36799
36800Sat Oct 12 23:29:50 BST 2002  Olly Betts <olly@survex.com>
36801
36802	* languages/: removed all the old .cvsignore files.
36803
36804Sat Oct 12 22:34:01 BST 2002  Olly Betts <olly@survex.com>
36805
36806	* api/omstem.cc,docs/stemming.html,docs/todo.xml,languages/: Replaced
36807	  our stemmers with those from Snowball.  Note that these give better
36808	  results, but this also means that existing databases won't work
36809	  quite correctly if they contain stemmed terms.
36810
36811Sat Oct 12 17:17:26 BST 2002  Olly Betts <olly@survex.com>
36812
36813	* configure.in,NEWS: Version 0.5.3.
36814
36815Sat Oct 12 16:49:50 BST 2002  Olly Betts <olly@survex.com>
36816
36817	* PLATFORMS,api/omvalueiteratorinternal.h,extra/parsequery.yy,
36818	  include/om/omdocument.h: Fixed std:: namespace issues to
36819	  allow compilation with GCC 3 once again.
36820
36821Sat Oct 12 15:43:22 BST 2002  Olly Betts <olly@survex.com>
36822
36823	* docs/todo.xml: Updated.
36824
36825Fri Oct 11 02:14:47 BST 2002  Olly Betts <olly@survex.com>
36826
36827	* backends/quartz/Makefile.am: Include test data for btreetest
36828	  in distribution tarball.
36829
36830Fri Oct 11 01:43:03 BST 2002  Olly Betts <olly@survex.com>
36831
36832	* backends/quartz/{z_note,z_sequence,z_Cversion/,z_make/,z_test/}:
36833	  Removed all the unused old C btree stuff.
36834
36835Thu Oct 10 17:32:10 BST 2002  Olly Betts <olly@survex.com>
36836
36837	* backends/quartz/{btree.cc,btree.h}: More Btree tidying.
36838
36839Thu Oct 10 17:14:28 BST 2002  Olly Betts <olly@survex.com>
36840
36841	* backends/quartz/{bcursor.cc,btree.cc,btree.h}: Btree::prev* and
36842	  Btree::next* are no longer static methods.
36843	* backends/quartz/btree.h: Tweaked comments so doxygen will
36844	  understand them.
36845
36846Thu Oct 10 16:12:29 BST 2002  Olly Betts <olly@survex.com>
36847
36848	* backends/quartz/quartz_postlist.cc: return docids rather
36849	  than passing in a pointer to fill in.
36850
36851Thu Oct 10 16:08:22 BST 2002  Olly Betts <olly@survex.com>
36852
36853	* backends/quartz/quartzcheck.cc: Fixed #include-d files;
36854	  Example in usage message now uses the directory where
36855	  omega looks for its database by default.
36856
36857Thu Oct 10 15:25:10 BST 2002  Olly Betts <olly@survex.com>
36858
36859	* backends/quartz/btree.cc,backends/quartz/btree.h: More comment
36860	  improvements; Removed superfluous Cursor parameter from
36861	  Btree::add_kt() - it always gets passed the C member of Btree
36862	  which we have available anyway.
36863
36864Thu Oct 10 14:49:11 BST 2002  Olly Betts <olly@survex.com>
36865
36866	* backends/quartz/btree.cc: Removed "struct" from in front of
36867	  Btree and Cursor; Updated and reformatted many comments.
36868
36869Thu Oct 10 03:45:56 BST 2002  Olly Betts <olly@survex.com>
36870
36871	* testsuite/backendmanager.cc: Reworded comment to make it clearer.
36872
36873Thu Oct 10 03:29:52 BST 2002  Olly Betts <olly@survex.com>
36874
36875	* docs/todo.xml: Updated.
36876
36877Wed Oct 09 14:05:07 BST 2002  Olly Betts <olly@survex.com>
36878
36879	* backends/quartz/{quartz_alltermslist.cc,quartz_alltermslist.h,
36880	  quartz_database.cc}: Implemented
36881	  QuartzAllTermsList::get_approx_size().
36882
36883Wed Oct 09 10:46:42 BST 2002  Olly Betts <olly@survex.com>
36884
36885	* extra/omparsequery.h,include/om/omvalueiterator.h: Don't use
36886	  "using std::foo;" in externally visible headers.
36887
36888Wed Oct 09 10:26:05 BST 2002  Olly Betts <olly@survex.com>
36889
36890	* extra/omparsequery.h: fixed unused parameter warning.
36891
36892Tue Oct 08 20:32:46 BST 2002  Olly Betts <olly@survex.com>
36893
36894	* tests/stemtest.cc: Added missing space to output.
36895
36896Tue Oct 08 20:10:35 BST 2002  Olly Betts <olly@survex.com>
36897
36898	* With GCC, add warning flags "-Wall -W" rather than "-Wall -Wunused"
36899	  (-Wall implies -Wunused anyway).  Fixed all the warnings this throws
36900	  up, except in languages/ (that code is to be replaced with Snowball
36901	  soon).
36902
36903Tue Oct 08 19:57:03 BST 2002  Olly Betts <olly@survex.com>
36904
36905	* testsuite/: Disable colour test output if stdout isn't a terminal;
36906	  reworked check for broken exception handling as the previous
36907	  version never seemed to fire; added "using" for all the things
36908	  we want from std::; improved how signal handlers are set and
36909	  unset; report exception class for exceptions derived from OmError
36910	  rather than a blanket "OMEXCEPT"; added private copy ctor and
36911	  assignment to test_driver to prevent copying.
36912
36913Tue Oct 08 19:53:02 BST 2002  Olly Betts <olly@survex.com>
36914
36915	* include/om/Makefile.am: remove include/om/om.h on "make distclean",
36916	  not "make clean".  Otherwise "./configure ; make clean ; make"
36917	  fails which is wrong.
36918
36919Sun Oct 06 18:37:39 BST 2002  Olly Betts <olly@survex.com>
36920
36921	* PLATFORMS: Updated.
36922	* docs/: Removed Martin's paper - background information for stemmers
36923	  is best left to the Snowball documentation.
36924
36925Sat Oct 05 20:31:55 BST 2002  Olly Betts <olly@survex.com>
36926
36927	* NEWS,configure.in: 0.5.2 release.
36928
36929Sat Oct 05 03:01:49 BST 2002  Olly Betts <olly@survex.com>
36930
36931	* PLATFORMS: Updated.
36932
36933Sat Oct 05 02:09:35 BST 2002  Olly Betts <olly@survex.com>
36934
36935	* docs/todo.xml: Updated.
36936
36937Fri Oct 04 22:34:12 BST 2002  Olly Betts <olly@survex.com>
36938
36939	* PLATFORMS,testsuite/testutils.h: Code to spot mishandled exceptions
36940	  doesn't always work - noted this in PLATFORMS, and tweaked the code
36941	  a little.
36942
36943Fri Oct 04 19:08:08 BST 2002  Olly Betts <olly@survex.com>
36944
36945	* backends/quartz/.cvsignore: Added quartzcheck.
36946
36947Fri Oct 04 18:24:55 BST 2002  Olly Betts <olly@survex.com>
36948
36949	* docs/: converted all text docs to HTML (except omsettings which will
36950	  has odd markup (LaTeX?) and will probably soon be obsolete anyway).
36951	* docs/todo.xml: updated.
36952
36953Fri Oct 04 17:18:33 BST 2002  Olly Betts <olly@survex.com>
36954
36955	* net/socketcommon.cc: Fixed handling of timeouts in the past.
36956
36957Fri Oct 04 13:51:39 BST 2002  Olly Betts <olly@survex.com>
36958
36959	* PLATFORMS,testsuite/testutils.h: Use typeid() to spot when GCC 2.95
36960	  mishandles an exception, and don't count this as a test failure.
36961
36962Fri Oct 04 03:59:29 BST 2002  Olly Betts <olly@survex.com>
36963
36964	* api/omdatabaseinternal.cc,backends/multi/multi_termlist.h,
36965	  matcher/multimatch.cc,matcher/networkmatch.cc,matcher/networkmatch.h:
36966	  pulled uses of dynamic_cast<> to higher up in the code.
36967
36968Fri Oct 04 03:53:44 BST 2002  Olly Betts <olly@survex.com>
36969
36970	* PLATFORMS,backends/quartz/{btree.cc,quartz_metafile.cc}: Fixed quartz
36971	  problems on platforms where sizeof(long) != 4.
36972	* PLATFORMS: Updated in the light of investigations into test failures
36973	  on x86 Redhat Linux - only multierrhandler1 with the remote backend
36974	  is actually a problem.
36975
36976Wed Oct 02 16:32:48 BST 2002  Olly Betts <olly@survex.com>
36977
36978	* NEWS: Updated for 0.5.1 release.
36979
36980Wed Oct 02 16:01:50 BST 2002  Olly Betts <olly@survex.com>
36981
36982	* PLATFORMS,configure.in: 0.5.1 release.
36983
36984Tue Oct 01 13:34:24 BST 2002  Olly Betts <olly@survex.com>
36985
36986	* docs/: tweaked navigation links in index.html; converted bm25
36987	  text document to HTML and linked it in; added todo entry to
36988	  locate the "illusion of control" paper.
36989
36990Tue Oct 01 12:48:41 BST 2002  Olly Betts <olly@survex.com>
36991
36992	* docs/: renamed intro.html to install.html, and userman.html to
36993	  overview.html; changed navbar on index.html.
36994
36995Tue Oct 01 12:37:20 BST 2002  Olly Betts <olly@survex.com>
36996
36997	* bootstrap: fixed adding of directory with xapian.m4 in to
36998	  ACLOCAL_FLAGS; added trap to tell user if bootstrapping failed.
36999
37000Tue Oct 01 12:33:38 BST 2002  Olly Betts <olly@survex.com>
37001
37002	* HACKING,Makefile.am,bootstrap,buildall,xapian.spec.in,
37003	  autoconf/dir_contents,docs/todo.xml: Added bootstrap script as a
37004	  replacement for buildall (buildall left in place for now until
37005	  bootstrap receives wider testing).
37006
37007Tue Oct 01 12:19:32 BST 2002  Olly Betts <olly@survex.com>
37008
37009	* HACKING,Makefile.am,configure.in,PLATFORMS: require automake 1.6.3
37010	  (and hence autoconf 2.54) to fix problem building tests/internaltest
37011	  with Solaris make.
37012
37013Mon Sep 30 20:30:42 BST 2002  Olly Betts <olly@survex.com>
37014
37015	* PLATFORMS: Improved wording about bogus OMEXCEPT failures);
37016	  Added results for OpenBSD 3.0 and Solaris 8 on x86 (both work).
37017
37018Mon Sep 30 20:25:03 BST 2002  Olly Betts <olly@survex.com>
37019
37020	* docs/: Pruned .cvsignore; removed cvs.html (link to CVS info
37021	  on website directly); removed using_stemmers.html - those
37022	  wishing to use the C API to the stemmers ought to look at
37023	  Snowball instead; include HTML versions of quickstart*.cc
37024	  in tarballs; improved wording in various places.
37025
37026Mon Sep 23 19:33:31 BST 2002  Olly Betts <olly@survex.com>
37027
37028	* net/Makefile.am: Fixed building of readquery.cc from readquery.ll.
37029
37030Sun Sep 22 03:57:20 BST 2002  Olly Betts <olly@survex.com>
37031
37032	* PLATFORMS: Updated.
37033
37034Fri Sep 20 15:09:25 BST 2002  Olly Betts <olly@survex.com>
37035
37036	* PLATFORMS: Added note about bogus OMEXCEPT test failures with
37037	  GCC 2.95.
37038
37039Fri Sep 20 01:36:35 BST 2002  Olly Betts <olly@survex.com>
37040
37041	* NEWS,PLATFORMS,configure.in: 0.5.0 release!
37042
37043Fri Sep 20 01:01:52 BST 2002  Olly Betts <olly@survex.com>
37044
37045	* Makefile.am: Perl module we need to process todo.xml is XML::Parser
37046	  not XML, so corrected error message.
37047	* configure.in: Commented out MSG_WARN() when Perl modules XML::Parser
37048	  or Text::Format aren't found.  In a release tarball, this only
37049	  matters if you modify docs/todo.xml, and the warning message(s) may
37050	  alarm those building the software.
37051
37052Thu Sep 19 00:57:23 BST 2002  Olly Betts <olly@survex.com>
37053
37054	* .cvsignore: Added depcomp, missing, mkinstalldirs.
37055
37056Thu Sep 19 00:49:01 BST 2002  Olly Betts <olly@survex.com>
37057
37058	* HACKING: Added note about safe way to generate files in make rules.
37059
37060Thu Sep 19 00:45:51 BST 2002  Olly Betts <olly@survex.com>
37061
37062	* PLATFORMS: Tested on Solaris 7 with GCC 2.95.3 (works) and Solaris 8
37063	  Sun Workshop C++ compiler (fails to compile).
37064
37065Thu Sep 19 00:41:53 BST 2002  Olly Betts <olly@survex.com>
37066
37067	* ar-wrapper-solaris,ltconfig,Makefile.am: libtool 1.4 doesn't use
37068	  ltconfig, and that's the only thing that uses ar-wrapper-solaris,
37069	  so removed both.  Fairly sure the problem they address was fixed
37070	  in libtool so time ago.  Xapian doesn't build with Sun's C++
37071	  compiler at the moment anyway, so it's moot for the release.
37072
37073Thu Sep 19 00:26:37 BST 2002  Olly Betts <olly@survex.com>
37074
37075	* docs/todo2html.pl: Handle release "*" specially - it indicates
37076	  tasks to be done for each release.
37077
37078Thu Sep 19 00:05:40 BST 2002  Olly Betts <olly@survex.com>
37079
37080	* configure.in,include/om/om.h.in: Tweaked how generation of om.h
37081	  works to avoid problems with Sun's C++ compiler.
37082
37083Wed Sep 18 19:21:47 BST 2002  Olly Betts <olly@survex.com>
37084
37085	* net/Makefile.am,net/readquery.ll: #include <config.h>
37086	  must be included before any other headers, but that seems to be
37087	  impossible to arrange in lex/flex so we use echo and cat in the
37088	  Makefile to arrange this.
37089
37090Wed Sep 18 17:35:00 BST 2002  Olly Betts <olly@survex.com>
37091
37092	* include/om/Makefile.am: We want to install om/om.h, but not
37093	  distribute it or people with a different compiler to whoever
37094	  ran "make dist" will get the "ABI mismatch" error.
37095
37096Wed Sep 18 13:16:14 BST 2002  Richard Boulton <richard@tartarus.org>
37097
37098	* docs/.cvsignore: Add docs/doxygen_full_warnings.
37099	* include/om/.cvsignore: Add include/om/om.h.
37100
37101Wed Sep 18 11:06:12 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37102
37103	* include/om/Makefile.am: We really should install om/om.h, or
37104	  applications can't build against us.
37105
37106Wed Sep 18 05:10:24 BST 2002  Richard Boulton <richard@tartarus.org>
37107
37108	* docs/doxygen_{api,full}_header.html_tmpl: Remove meta robots tag -
37109	  why shouldn't this be indexed?  Now the omega I set up pointing
37110	  at copies of this should actually index something.
37111
37112Wed Sep 18 04:52:20 BST 2002  Olly Betts <olly@survex.com>
37113
37114	* configure.in: Merged two sed invocations into one - we don't want
37115	  configure to run any slower than it has to.
37116
37117Wed Sep 18 04:17:58 BST 2002  Richard Boulton <richard@tartarus.org>
37118
37119	* configure.in: Don't put confdefs.h into SOURCEDOC_H_SRC - this
37120	  file only exists during the configure run.  Fixes failure of
37121	  "make doxygen_docs" in docs/
37122
37123Tue Sep 17 13:07:39 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37124
37125	* Updated PLATFORMS file.
37126
37127Mon Sep 16 19:40:02 BST 2002  Olly Betts <olly@survex.com>
37128
37129	* docs/todo.xml: Updated.
37130
37131Mon Sep 16 18:09:29 BST 2002  Olly Betts <olly@survex.com>
37132
37133	* tests/api_db.cc: don't run consistency1 test on the remote backend
37134	  - it's particularly slow with that, and testing it there doesn't
37135	  actually improve the test coverage really.
37136
37137Mon Sep 16 17:15:46 BST 2002  Olly Betts <olly@survex.com>
37138
37139	* configure.in,docs/Makefile.am: Added workaround for pattern length
37140	  limits in Solaris sed.
37141
37142Mon Sep 16 17:13:20 BST 2002  Olly Betts <olly@survex.com>
37143
37144	* include/om/om.h.in: Added explanatory comments for developers.
37145
37146Mon Sep 16 14:22:48 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37147
37148	* om/om.h needs to be in CLEANFILES or make distcheck fails
37149
37150Mon Sep 16 13:37:04 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37151
37152	* Now om/om.h is built from om/om.h.in, it may be in the build
37153	  directly. Consequently, we need to add that to the include path
37154	  for VPATH builds. Plus (also for VPATH), om/om.h needs to be
37155	  output after AC_OUTPUT, because otherwise the destination
37156	  directory may not exist.
37157
37158Mon Sep 16 04:19:54 BST 2002  Olly Betts <olly@survex.com>
37159
37160	* configure.in,docs/todo.xml,include/om/Makefile.am,include/om/om.h,
37161	  include/om/om.h.in: When building the library with GCC, generate
37162	  include/om/om.h with preprocessor code to check that any version
37163	  of GCC used to build applications has a matching C++ ABI.
37164
37165	  This means that users get a nice explanatory error message rather
37166	  than a confusing link failure (or worse a program which builds
37167	  but crashes).  Another benefit is that the check happens near the
37168	  start of compilation of the first source file which uses Xapian
37169	  in the user's application, rather than during the first attempt
37170	  to link with Xapian.
37171
37172Sun Sep 15 01:42:19 BST 2002  Olly Betts <olly@survex.com>
37173
37174	* net/tcpserver.cc: Solved std mystery - "using namespace std;" was
37175	  inside a #ifdef which wasn't enabled!
37176
37177Sun Sep 15 01:21:34 BST 2002  Richard Boulton <richard@tartarus.org>
37178
37179	* tests/tcpserver.cc: Hacky fix to compile with gcc-3.2 snapshot in
37180	  Debian unstable - add a FIXME to work out why this is needed.
37181	* todo: add entry about checking ABI versions using
37182	  __GXX_ABI_VERSION macro.
37183
37184Sat Sep 14 22:39:11 BST 2002  Olly Betts <olly@survex.com>
37185
37186	* configure.in,tests/Makefile.am,tests/internaltest.cc: It turns out
37187	  that internaltest *does* need -fno-access-control, so put it back.
37188	  Not quite sure how I missed this.  Changed to skip refcnt tests
37189	  when -fno-access-control isn't available (rather than omitting them
37190	  entirely).
37191
37192	* tests/api_db.cc: Fixed compile problem.
37193
37194Sat Sep 14 21:44:34 BST 2002  Olly Betts <olly@survex.com>
37195
37196	* internaltest: doesn't actually need -fno-access-control these
37197	  days, so removed it and the configure tests for it.
37198
37199	* stemtest: recoded to be all in C++ and removed use of intermediate
37200	  files for random data tests - now runs ~15% faster; no longer need
37201	  HAVE_PERL so removed from configure.
37202
37203	* apitest: use C++ streams rather than stdio; stubdb1 now cleans up
37204	  the temporary file it creates.
37205
37206Sat Sep 14 12:54:52 BST 2002  Olly Betts <olly@survex.com>
37207
37208	* docs/Makefile.am: fix "mv apidoc/latex/refman.ps avidoc.ps" which
37209	  fails after recent change.
37210
37211Sat Sep 14 11:15:33 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37212
37213	* Renamed simple* programs in quickstart docs to quickstart* to
37214	  avoid confusion with the simple* programs in xapian-examples.
37215	  (Thanks to Alex Bowley for pointing out the confusion.)
37216
37217Sat Sep 14 10:00:35 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37218
37219	* configure.in: returned AC_CONDITIONAL for HAVE_PERL
37220
37221Sat Sep 14 09:29:08 BST 2002  Richard Boulton <richard@tartarus.org>
37222
37223	* buildall: change to srcdir before testing for necessary tools
37224	  so that scripts which guess which autotools version to use have more
37225	  information available to guess with: for example, the Debian
37226	  autoconf version guessing script looks for "configure.ac" as a sign
37227	  that autoconf 2.50+ is required.
37228
37229Sat Sep 14 02:50:23 BST 2002  Olly Betts <olly@survex.com>
37230
37231	* docs/distributed.txt,docs/quartzdesign.html,docs/todo.xml: assorted
37232	  documentation updates.
37233
37234Sat Sep 14 02:10:12 BST 2002  Olly Betts <olly@survex.com>
37235
37236	* PLATFORMS: removed note about VPATH problems.
37237
37238Sat Sep 14 02:02:58 BST 2002  Olly Betts <olly@survex.com>
37239
37240	* btree.cc,btree.h: rearranged Btree::del() so control flow is clearer.
37241
37242Sat Sep 14 01:56:44 BST 2002  Olly Betts <olly@survex.com>
37243
37244	* HACKING,docs/Makefile.am: added evil hack to allow VPATH builds to
37245	  work with BSD make.
37246
37247Wed Sep 11 11:29:07 BST 2002  Olly Betts <olly@survex.com>
37248
37249	* backends/database_builder.cc: Quartz is fairly mature - change
37250	  comment which suggests that the btree names will change.
37251
37252Wed Sep 11 11:13:43 BST 2002  Olly Betts <olly@survex.com>
37253
37254	* configure.in: Don't double quote `$MISSING foo' as autoconf adds them
37255	* docs/Makefile.am: Use `test a = b' rather than `test a == b'
37256
37257Tue Sep 10 14:50:16 BST 2002  Olly Betts <olly@survex.com>
37258
37259	* configure.in: tweaked test for perl modules - stderr is now
37260	  fully suppressed on sh (which behaves slightly differently to bash).
37261
37262Tue Sep 10 14:27:15 BST 2002  Richard Boulton <richard@tartarus.org>
37263
37264	* backend_manager.cc: Fix stub database code so that it doesn't use
37265	  the gnu extension "getline()".
37266
37267Tue Sep 10 13:51:20 BST 2002  Olly Betts <olly@survex.com>
37268
37269	* quartz_table.cc: don't form tag when we just want to check if a
37270	  key is present before calling Btree::del().  Working out why
37271	  we can't call Btree::del() would still be worthwhile though.
37272
37273Tue Sep 10 13:02:04 BST 2002  Olly Betts <olly@survex.com>
37274
37275	* quartztest.cc: removed unused #include-s; describe valid options
37276	  in usage message.
37277
37278Tue Sep 10 02:07:29 BST 2002  Olly Betts <olly@survex.com>
37279
37280	* remote backend: implemented term_exists() and get_termfreq();
37281	  added test to check they work.
37282
37283Mon Sep  9 12:59:15 BST 2002  Richard Boulton <richard@tartarus.org>
37284
37285	* Add stub databases: if backend type is auto, and auto_dir points
37286	  to a file, read in settings from the file (overwriting the
37287	  existing ones), and then use them to open the database.
37288	  This allows, for example, omega to open a remote database by
37289	  putting in a stub database file in the omega directory.
37290	  Updated documentation for opening databases in userman.html.
37291	* apitest: Added test for stub databases.
37292
37293Mon Sep 09 02:26:36 BST 2002  Olly Betts <olly@survex.com>
37294
37295	* Documentation updates: move suggested books into intro_ir.html
37296	  and added URL for citeseer reference Richard posted to mailing
37297	  list recently; clarified wording in a couple of places.
37298
37299Sat Sep  7 12:52:12 2002  James Aylett  <tartarus@users.sourceforge.net>
37300
37301	* docs: fixed references to OmDocumentContents (now OmDocument)
37302	  which had clearly been broken for a while. Also fixed get_data()
37303	  and set_data() example usage so it reflects reality (I hope).
37304
37305Wed Sep 04 22:46:17 BST 2002  Olly Betts <olly@survex.com>
37306
37307	* Corrected min_item.wt to min_wt in two assertions.
37308
37309Thu Aug 15 11:42:20 BST 2002  Richard Boulton <richard@tartarus.org>
37310
37311	* buildall: Only add the directory derived from xapian-config
37312	  to ACLOCAL_FLAGS if it actually exists.
37313
37314Mon Aug 12 01:13:55 BST 2002  Richard Boulton <richard@tartarus.org>
37315
37316	* quartz_table.cc: Check that a key exists before calling
37317	  Btree::del() - there seems to be a bug in the btree code
37318	  causing a failure when deleting keys if they don't exist.
37319	  This work around appears to make things work correctly, but
37320	  won't be terribly efficient.
37321
37322Mon Aug 12 00:09:21 BST 2002  Richard Boulton <richard@tartarus.org>
37323
37324	* quartz_table_manager.cc: When unable to apply modifications,
37325	  call cancel on the buffered table after reopening disk table
37326	  at old revision - otherwise, the entry count gets messed up.
37327	* quartz_table.cc, quartz_database.cc: Improve debugging and
37328	  error reporting: I'm trying to work out why the failure Olly
37329	  reported is occurring.
37330
37331Sat Aug 10 15:12:42 2002  James Aylett  <tartarus@users.sourceforge.net>
37332
37333	* Fixed missing include in quartzcheck.cc
37334
37335Sat Aug 10 14:57:17 2002  James Aylett  <tartarus@users.sourceforge.net>
37336
37337	* Fixed typo in quartzcheck.cc
37338
37339Tue Jul 23 22:12:34 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37340
37341	* Added a note to the effect that the indexgraph stuff isn't
37342	  really considered useful to the HTML document introducing it.
37343
37344Tue Jul 23 22:09:39 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37345
37346	* Added some comments in quartztest test_create1(), in case anyone
37347	  else who didn't write it needs to understand it.
37348
37349	* Added Olly as an active participant to the AUTHORS file :)
37350
37351Tue Jul 23 21:59:50 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37352
37353	* Reworded quickstart document so it does not refer to the example
37354	  code (it was never actually in sync).
37355
37356Mon Jul 22 14:07:18 BST 2002  Sam Liddicott <sam@ananova.com>
37357
37358	* Forgot to actually add the quartzcheck.cc file last time
37359
37360Mon Jul 22 13:28:09 BST 2002  Sam Liddicott <sam@ananova.com>
37361
37362	* Add buildprereq to package
37363	  Add quartzcheck which runs btree::check to backends
37364
37365Tue Jul 16 09:44:56 BST 2002  Sam Liddicott <sam@ananova.com>
37366
37367	* Fix banding problem; bands are now based on the percentage
37368	  not the weight, and using integer maths to avoid problems
37369	  with ceil() rounding up supposed integers which are really
37370	  slightly larger due to precision errors
37371
37372Thu Jul 11 00:16:22 BST 2002  Olly Betts <olly@survex.com>
37373
37374	* configure.in, docs/Makefile.am: configure fixes for Solaris - clear
37375	  cached result for fdatasync since it may be wrong if we decide we
37376	  need to link librt; split SOURCEDOC_SRC into two to avoid hitting
37377	  4096 char line length in Solaris sed.
37378
37379Tue Jul 09 17:47:31 BST 2002  Olly Betts <olly@survex.com>
37380
37381	* PLATFORMS, tests/Makefile.am: improved internaltest.cc automake rules
37382	  - they should now work in VPATH builds with Solaris make.
37383
37384Tue Jul 09 03:30:41 BST 2002  Olly Betts <olly@survex.com>
37385
37386	* configure.in, docs/Makefile.am: Fixed up apidoc and sourcedoc
37387	  dependencies so that they work correctly in VPATH builds.  Also
37388	  only use portable find arguments to generate SOURCEDOC_SRC.
37389
37390Sat Jul 06 13:53:27 BST 2002  Olly Betts <olly@survex.com>
37391
37392	* xapian.spec.in: Updated in preparation for release.
37393
37394Sat Jul 06 13:04:45 BST 2002  Olly Betts <olly@survex.com>
37395
37396	* docs/Makefile.am: Run latex twice to get forward references resolved.
37397
37398Fri Jul 05 18:23:08 BST 2002  Olly Betts <olly@survex.com>
37399
37400	* matcher/multimatch.cc: better (perhaps even completely correct) fix
37401	  for sorting into bands.
37402
37403	* matcer/localmatch.cc: removed entirely bogus comment from over-eager
37404	  cut-and-paste.
37405
37406	* tests/api_db.cc: added otherwise pointless statement to deldoc3
37407	  which seems to fix occasional miscompilation by GCC 2.95.
37408
37409Fri Jul 05 16:37:12 BST 2002  Olly Betts <olly@survex.com>
37410
37411	* docs/Makefile.am: "make dist" now fails if dot (part of graphviz)
37412	  isn't installed.
37413
37414Fri Jul 05 08:54:33 BST 2002  Sam Liddicott <sam@ananova.com>
37415
37416	* bindings/: removed some typemap hacks as swig has better typemaps now
37417
37418Fri Jul 05 08:46:06 BST 2002  Sam Liddicott <sam@ananova.com>
37419
37420	* matcher/multimatch.cc: Quick hack to stop 100% being in a band all on
37421	  its own.  The real problem is that bands need to include the integer
37422	  at the upper end of the range, rather than the lower end.
37423
37424Thu Jul 04 16:23:52 BST 2002  Olly Betts <olly@survex.com>
37425
37426	* docs/mkdoc.pl: Fixed to work in VPATH builds.
37427
37428Thu Jul 04 12:42:06 BST 2002  Olly Betts <olly@survex.com>
37429
37430	* configure.in, docs/Makefile.am: use "missing" to give more helpful
37431	  errors when we don't find tools we need.
37432
37433Wed Jul 03 12:39:15 BST 2002  Olly Betts <olly@survex.com>
37434
37435	* NEWS: incorporated recent changes into provisional version.
37436
37437	* docs/: sorted out make rules for running doxygen; don't tell doxygen
37438	  to build man pages which we aren't using.
37439
37440Tue Jul 02 16:36:54 BST 2002  Olly Betts <olly@survex.com>
37441
37442	* docs/: run through ispell; fixed OM_MOP to OmQuery::OP; other
37443	  corrections.
37444
37445Fri Jun 28 02:59:49 BST 2002  Olly Betts <olly@survex.com>
37446
37447	* Backend "auto" now works when creating an OmWritableDatabase which
37448	  doesn't already exist - it'll pick a backend which supports writing
37449	  and is compiled in (currently this means quartz).
37450
37451Thu Jun 27 20:31:13 BST 2002  Richard Boulton <richard@tartarus.org>
37452
37453	* backends/quartz/btreetest.cc (sequent1): Add regression test for
37454	  recently fixed bug with sequential addition.
37455	* backends/quartz/z_data/ordnum[+-]: Data files for new test.
37456
37457Thu Jun 27 13:13:37 BST 2002  Olly Betts <olly@survex.com>
37458
37459	* Documentation fettling: removed docs/Notes and
37460	  docs/coding_policy.txt moving relevant content into HACKING,
37461	  common/postlist.h, docs/todo.xml, and include/om/omtypes.h; install
37462	  docs as PostScript rather than DVI; include text docs in tarball and
37463	  install them; "make dist" will now fail if a tool needed to build
37464	  docs is missing; removed last vestiges of Doc++ support;
37465	  doc/Makefile no longer uses include (include isn't portable);
37466	  improved doc/tests.txt.
37467
37468Thu Jun 27 12:10:37 BST 2002  Olly Betts <olly@survex.com>
37469
37470	* apitest: doesn't directly use anything from utils.h, so don't
37471	  #include it.
37472
37473Thu Jun 27 12:05:53 BST 2002  Olly Betts <olly@survex.com>
37474
37475	* Removed includetest - it was useful early in development, but isn't
37476	  really now.
37477
37478Wed Jun 26 22:09:57 BST 2002  Olly Betts <olly@survex.com>
37479
37480	* apitest: deldoc2 and deldoc3 now pass when the library is compiled
37481	  with --enable-debug.
37482
37483Wed Jun 26 19:35:56 BST 2002  Olly Betts <olly@survex.com>
37484
37485	* Removed code which causes quartztest to fail with an --enable-debug
37486	  build.
37487
37488Wed Jun 26 13:55:11 BST 2002  Olly Betts <olly@survex.com>
37489
37490	* todo.xml: added note to fix 100% being in its own sort band.
37491
37492Wed Jun 26 13:46:02 BST 2002  Richard Boulton <richard@tartarus.org>
37493
37494	* btree.cc: Fix splitting of blocks in sequential mode to ensure
37495	  that split happens no earlier than the midpoint.
37496
37497Wed Jun 26 12:32:47 BST 2002  Richard Boulton <richard@tartarus.org>
37498
37499	* btree.cc: Asserts to check that add_item in sequential mode
37500	  when splitting a block is not trying to add to the wrong block,
37501	  or to add to a new block which is not empty (or containing more
37502	  than one item).
37503
37504Tue Jun 25 17:53:19 BST 2002  Olly Betts <olly@survex.com>
37505
37506	* Assert that the value of c is sane in GETINT1, etc.
37507
37508Tue Jun 25 16:30:09 BST 2002  Olly Betts <olly@survex.com>
37509
37510	* btreetest.cc: use C++ IO rather than C stdio; removed commented out
37511	  LFSinsertdelete1 test (it was never written and a test suite which
37512	  creates 2G files is probably a bit too resource hungry).
37513
37514Tue Jun 25 13:56:01 BST 2002  Olly Betts <olly@survex.com>
37515
37516	* btree/quartz: More use of const pointers; more use of C++ strings.
37517
37518Wed Jun 19 08:56:00 BST 2002  Sam Liddicott <sam@ananova.com>
37519
37520	* Fixed spec file to build for prefix=/usr not just install there
37521
37522Fri Jun 14 16:35:04 BST 2002  Olly Betts <olly@survex.com>
37523
37524	* docs/todo.xml: added 4 new tasks.
37525
37526Fri Jun 14 16:33:08 BST 2002  Olly Betts <olly@survex.com>
37527
37528	* backends/quartz/quartz_database.cc: Cosmetic changes.
37529
37530Wed Jun 12 16:31:11 BST 2002  Olly Betts <olly@survex.com>
37531
37532	* QuartzDbKey, QuartzDbTag: just use a string instead of a string
37533	  wrapped in a structure.  We've stopped inflicting this on external
37534	  developers (OmData, OmKey/OmValue) so why inflict it on ourselves?
37535
37536Wed Jun 12 12:26:04 BST 2002  Olly Betts <olly@survex.com>
37537
37538	* Btree_item: use C++ strings rather than trying to reimplement them.
37539
37540	* Fix a few warnings about unused parameters.
37541
37542Wed Jun 12 02:53:16 BST 2002  Olly Betts <olly@survex.com>
37543
37544	* Btree_full_compaction, Btree_close: removed - they just wrap methods
37545	  of Btree.
37546
37547Wed Jun 12 02:28:30 BST 2002  Olly Betts <olly@survex.com>
37548
37549	* Btree_item_create and Btree_item_lose subsumed into Btree_item
37550	  and ~Btree_item.
37551
37552	* Pass C++ strings rather than const char * into various Btree open
37553	  methods.
37554
37555	* Removed pointless wrapper functions for Btree open methods.
37556
37557	* Btree_quit removed (just use delete directly).
37558
37559	* Btree_create removed (just use Btree::create directly).
37560
37561Wed Jun 12 00:48:52 BST 2002  Olly Betts <olly@survex.com>
37562
37563	* form_key is now a method of Btree; more passing of strings rather
37564	  than pointer/length pairs); buffer overrun check added to btreetest.
37565
37566Tue Jun 11 18:04:08 BST 2002  Olly Betts <olly@survex.com>
37567
37568	* More C++ like interfaces (e.g. bool returns, strings rather than
37569	  pointer/length pairs).
37570
37571Tue Jun 11 16:40:08 BST 2002  Richard Boulton <richard@tartarus.org>
37572
37573	* quartz/btree.cc: Fix so that it compiles when BTREE_FULL_DEBUG is on,
37574	  and added a couple of Assert()s.
37575
37576Tue Jun 11 13:09:39 BST 2002  Olly Betts <olly@survex.com>
37577
37578	* Removed a number of btree functions which were simply wrappers for
37579	  calling methods on their first parameter, and most of which weren't
37580	  even used!
37581
37582	* btree_api.txt: updated to better reflect the object-ized API.
37583
37584Tue Jun 11 02:01:53 BST 2002  Olly Betts <olly@survex.com>
37585
37586	* Btree::make_index_item(): Added check for buffer overflow.
37587
37588Tue Jun 11 01:49:51 BST 2002  Olly Betts <olly@survex.com>
37589
37590	* Still more...
37591
37592Tue Jun 11 01:08:03 BST 2002  Olly Betts <olly@survex.com>
37593
37594	* More btree and quartz tidying.
37595
37596Mon Jun 10 20:33:24 BST 2002  Olly Betts <olly@survex.com>
37597
37598	* btree.cc,btree.h: cleaned up further.
37599
37600Mon Jun 10 15:54:49 BST 2002  Olly Betts <olly@survex.com>
37601
37602	* Further btree and quartz cleanups.
37603
37604Mon Jun 10 14:46:00 BST 2002  Olly Betts <olly@survex.com>
37605
37606	* Fixed typo in recent quartzdump change.
37607
37608Mon Jun 10 13:20:20 BST 2002  Olly Betts <olly@survex.com>
37609
37610	* Quartz clean-ups - especially QuartzTermList.
37611
37612Mon Jun 10 12:18:40 BST 2002  Olly Betts <olly@survex.com>
37613
37614	* Bcursor_create made a method of class Btree as suggested by a FIXME.
37615
37616Mon Jun 10 01:57:53 BST 2002  Olly Betts <olly@survex.com>
37617
37618	* More btree fixes and tidying.  Fixed bug introduced by typo in
37619	  previous change which causes tests to fail.
37620
37621Sun Jun 09 17:50:28 BST 2002  Olly Betts <olly@survex.com>
37622
37623	* btree_util.h: use inlines rather than macros.
37624
37625	* Fix CompileTimeAssert() to avoid potential clashes.
37626
37627Sun Jun 09 12:46:25 BST 2002  Olly Betts <olly@survex.com>
37628
37629	* btree.cc,btree.h: fixed bug caused by local variable masking member
37630	  variable with same name.  Tidied up a lot.
37631
37632Wed Jun  5 12:22:57 BST 2002  Sam Liddicott <sam@ananova.com>
37633
37634	* Fix OmQuery::op enum handling.
37635
37636Mon May 27 14:28:06 BST 2002  Sam Liddicott <sam@ananova.com>
37637
37638	* Add crash-protected next() to OmMSetIterator
37639
37640	* Add ->valid() method to iterator which returns FALSE if
37641	  the iterator has reached the end
37642
37643	* Added namespace fixes for latest cvs swig to be released next month
37644
37645Fri May 24 15:28:18 BST 2002  Sam Liddicott <sam@ananova.com>
37646
37647	* Took out the string typemaps as swig now has them in stl.i
37648
37649	* Added om_percent to omtypes.i - I wonder if we might just
37650	  read omtypes.h instead, as swig can
37651
37652	* Added OmMSetIterator and made changes to OmMSet
37653
37654Fri May 24 11:46:50 BST 2002  Sam Liddicott <sam@ananova.com>
37655
37656	* Now support get_matching_terms via swig
37657	  I'm not sure how to generally map iterators to php but in
37658	  cases where we know only a small number of items exist
37659	  to be iterated over it makes sense to return them as a
37660	  php array
37661
37662Tue May 21 15:28:40 BST 2002  Richard Boulton <richard@tartarus.org>
37663
37664	* multi_postlist.cc (get_doclength):  Get the document length from
37665	  the appropriate sub-postlist, rather than from the database.
37666	  This causes a huge speedup in some cases, since it avoids having
37667	  to go to the termlist database for every document considered for
37668	  an mset to get the document length.
37669	  Added an AssertParanoid to check that the value from the postlist
37670	  is the same as that from the database.
37671	  This problem was noticed because "delve -v" was running several
37672	  orders of magnitude slower than without -v - it is now of
37673	  comparable speed.
37674
37675Tue May 21 15:27:37 BST 2002  Richard Boulton <richard@tartarus.org>
37676
37677	* quartz_values.cc: Small fixes to enable it to compile with debug
37678	  turned on.
37679
37680Fri May 17 14:52:45 BST 2002  Olly Betts <olly@survex.com>
37681
37682	* OmQueryParser::set_database() method added.
37683
37684	* Added disabled code to search for a keyword used in the query.
37685
37686	* Added ' and * to the list of "phrase making characters".
37687
37688	* To make a phrase, a phrase-maker must be followed by an alphanumeric
37689	  rather than just a non-space.
37690
37691Fri May 17 14:49:54 BST 2002  Olly Betts <olly@survex.com>
37692
37693	* INSTALL: GCC 3.1 release version works, so noted this.
37694
37695	* HACKING: Added note about warning-free compilation being desirable
37696	  and suggesting using "./configure CFLAGS=-Werror" to promote this.
37697
37698	* NEWS: Minor updates.
37699
37700Thu May 16 16:57:42 BST 2002  Olly Betts <olly@survex.com>
37701
37702	* Minor tweaks to get a warning-less compile with GCC 3.1.
37703
37704Thu May 16 13:36:19 BST 2002  Sam Liddicott <sam@ananova.com>
37705
37706	* Clean up the spec file
37707
37708Thu May 16 12:20:09 BST 2002  Olly Betts <olly@survex.com>
37709
37710	* Documented match_sort_key.
37711
37712Thu May 16 10:42:47 BST 2002  Sam Liddicott <sam@ananova.com>
37713
37714	* A few quick tips from Olly, now the tarfile name and version no.
37715	  stuff comes from autoconf so the spec file won't need tweaking
37716	  each time the version number changes
37717
37718Wed May 15 15:48:42 BST 2002  Sam Liddicott <sam@ananova.com>
37719
37720	* This can build RPM packages.
37721	  Get the make-dist tarball and do:
37722	  rpm -ta xapian-core-0.4.1-cvs.tar.gz
37723	  and it will make source and binary rpms
37724	  It doesn't build bindings packages yet but this will come when I
37725	  build them
37726
37727Wed May 15 13:27:21 BST 2002  Richard Boulton <richard@tartarus.org>
37728
37729	* buildall: Allow use of automake 1.6.1 and later, and CVS
37730	  automake (versions 1.6[a-z])
37731
37732Wed May 15 11:40:58 BST 2002  Sam Liddicott <sam@ananova.com>
37733
37734	* SWIG cvs (php4) now writes all output files to the same directory as
37735	  the main output file, so need for hacks to move these, also no more
37736	  clobbering our source files when building in the checkout dir
37737
37738Tue May 14 21:54:02 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37739
37740	* Updated PLATFORMS file.
37741
37742Tue May 14 16:48:07 BST 2002  Olly Betts <olly@survex.com>
37743
37744	* Removed multiple-include protection from config.h - if it's
37745	  included more than once it's now a bug and we want to know!
37746
37747Tue May 14 15:25:05 BST 2002  Olly Betts <olly@survex.com>
37748
37749	* OmQueryParser: parse acronyms as a single term (so "E.T." -> "ET"
37750	  and "N.A.T.O" -> "NATO").
37751
37752Tue May 14 15:23:20 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37753
37754	* Fixed config.h includes: source definition (ie not header) files
37755	  #include <config.h> as their first action.
37756
37757Tue May 14 14:47:00 BST 2002  Olly Betts <olly@survex.com>
37758
37759	* Updated todo.
37760
37761	* extra/parsequery.yy: Fettled indentation.
37762
37763Tue May 14 13:14:51 BST 2002  Olly Betts <olly@survex.com>
37764
37765	* Added test case for new "embedded &" rule, and fix problem bug it
37766	  revealed.
37767
37768Tue May 14 13:10:33 BST 2002  Olly Betts <olly@survex.com>
37769
37770	* OmQueryParser: Parse <word>&<word> as a single term (e.g. AT&T,
37771	  M&S, A&P).
37772
37773Tue May 14 11:50:03 BST 2002  Olly Betts <olly@survex.com>
37774
37775	* When including config.h, always specify it as <config.h>, not
37776	  "config.h", and always do it first.  Both are recommended by
37777	  the autoconf documentation.
37778
37779Mon May 13 17:17:13 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37780
37781	* missing fallback rule all-local in docs/Makefile.am was failing
37782	  the build on Solaris
37783
37784Mon May 13 15:50:31 BST 2002  Sam Liddicott <sam@ananova.com>
37785
37786	* Use new %extends notation for swig.
37787
37788	* Update for new omValue usage
37789
37790	* Add omqueryparser support
37791
37792Mon May 13 15:12:30 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37793
37794	* shipped getopt will now build in absence of system getopt
37795
37796Mon May 13 15:09:17 BST 2002  Olly Betts <olly@survex.com>
37797
37798	* configure.in: Moved AH_TOP/AH_BOTTOM to more logical place.
37799
37800	* docs/todo.xml: Updated.
37801
37802Mon May 13 14:13:27 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37803
37804	* added getopt to DIST_SUBDIRS so distributions work
37805
37806Fri May 10 14:54:06 BST 2002  Olly Betts <olly@survex.com>
37807
37808	* getopt/: Checked in files I missed last time.
37809
37810Fri May 10 14:35:52 BST 2002  Olly Betts <olly@survex.com>
37811
37812	* Make sure GNU getopt is linked to everything which might need it so
37813	  we build in non-glibc environments.
37814
37815Fri May 10 13:42:59 BST 2002  Olly Betts <olly@survex.com>
37816
37817	* Replaced second match_sort_key optimisation with one which is
37818	  faster and not flawed.
37819
37820Thu May 09 18:27:30 BST 2002  Olly Betts <olly@survex.com>
37821
37822	* match_sort_key now runs at a sensible speed (approx. 20x speed
37823	  up on my test case).
37824
37825Thu May 09 16:58:11 BST 2002  Olly Betts <olly@survex.com>
37826
37827	* Added another optimisation for match_sort_key - my test case
37828	  is now 25% faster (still slow though).
37829
37830Thu May 09 11:57:59 BST 2002  Olly Betts <olly@survex.com>
37831
37832	* NEWS, PLATFORMS, README: Updated to something approximating what we
37833	  want for a release.
37834
37835	* docs/todo.xml: Updated.
37836
37837Thu May 09 10:57:59 BST 2002  Olly Betts <olly@survex.com>
37838
37839	* Removed references to match_max_or_terms (which was replaced
37840	  by OmQuery::OP_ELITE_SET long, long ago).
37841
37842Wed May 08 17:38:50 BST 2002  Olly Betts <olly@survex.com>
37843
37844	* Improved api documentation comments.
37845
37846Wed May 08 17:09:14 BST 2002  Olly Betts <olly@survex.com>
37847
37848	* Include findheaders.pl in tarball.
37849
37850Wed May 08 16:09:14 BST 2002  Olly Betts <olly@survex.com>
37851
37852	* Killed off acconfig.h.
37853
37854Wed May 08 15:53:11 BST 2002  Olly Betts <olly@survex.com>
37855
37856	* Added autom4te-*.cache to .cvsignore.
37857
37858Wed May 08 15:50:56 BST 2002  Olly Betts <olly@survex.com>
37859
37860	* Rebuild docs on "make", not just "make dist" or "make install".
37861
37862Wed May 08 15:07:01 BST 2002  Olly Betts <olly@survex.com>
37863
37864	* Added workaround for problems with <fcntl.h> on Solaris when LFS
37865	  is enabled.
37866
37867Wed May 08 13:44:10 BST 2002  Olly Betts <olly@survex.com>
37868
37869	* Matcher can now sort on a key.  Can be rather slow at present...
37870
37871Wed May 08 13:15:21 BST 2002  Olly Betts <olly@survex.com>
37872
37873	* Updated todo.
37874
37875Wed May 08 12:22:53 BST 2002  Olly Betts <olly@survex.com>
37876
37877	* Removed ltmain.sh-s from CVS.
37878
37879Wed May 08 12:21:32 BST 2002  Olly Betts <olly@survex.com>
37880
37881	* buildall: run libtoolize; stripped out unnecessary stuff.
37882
37883Wed May 08 09:44:45 BST 2002  Olly Betts <olly@survex.com>
37884
37885	* matcher/msetpostlist.cc: Removed bogus comment cut and pasted from
37886	  matcher/mergepostlist.cc.
37887
37888Tue May 07 17:51:57 BST 2002  Olly Betts <olly@survex.com>
37889
37890	* It's "m4_include", not "m4include".
37891
37892Tue May 07 17:52:36 BST 2002  Olly Betts <olly@survex.com>
37893
37894	* Added autoconf/type_socklen_t macro.
37895
37896Tue May 07 16:50:20 BST 2002  Olly Betts <olly@survex.com>
37897
37898	* Now require autoconf 2.50, which allows us to clean up some of the
37899	  more unpleasant parts of the build system.
37900
37901Tue May 07 14:55:37 BST 2002  Olly Betts <olly@survex.com>
37902
37903	* Added "match_sort_bands" option to sort results within relevance
37904	  bands.  Currently the sort within each band is by document id, which
37905	  isn't really very useful.  The plan is to allow sorting by a key.
37906
37907Tue May 07 14:54:12 BST 2002  Olly Betts <olly@survex.com>
37908
37909	* Sorted out tests/findheaders.pl wrt last change.
37910
37911Tue May 07 13:12:23 BST 2002  Olly Betts <olly@survex.com>
37912
37913	* Run perl scripts from Makefiles explicitly with $(PERL) rather than
37914	  having them as generated files in AC_OUTPUT.
37915
37916Mon May  6 16:04:37 2002  James Aylett  <tartarus@users.sourceforge.net>
37917
37918	* Distribution fixes: make clean should now clear up all
37919	  required files.
37920
37921Mon May  6 14:42:46 2002  James Aylett  <tartarus@users.sourceforge.net>
37922
37923	* Don't include dlfcn.h since we don't use it (and doesn't exist
37924	  on some target platforms).
37925
37926Mon May  6 14:07:24 2002  James Aylett  <tartarus@users.sourceforge.net>
37927
37928	* Minor documentation corrections.
37929
37930Fri May 03 18:14:14 BST 2002  Olly Betts <olly@survex.com>
37931
37932	* Changed autoconf/automake project name to xapian-core, and updated
37933	  the documentation to reflect this.
37934
37935	* Disabled the bindings from being included in distribution tarballs.
37936
37937Fri May 03 18:13:43 BST 2002  Olly Betts <olly@survex.com>
37938
37939	* Updated todo list.
37940
37941Fri May  3 18:02:06 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37942
37943	* Overloading ambiguity resolutions for linux/alpha build on CF
37944
37945Fri May 03 17:13:36 BST 2002  Olly Betts <olly@survex.com>
37946
37947	* buildall: Don't run configure or make; removed --no-make and --quiet.
37948
37949Fri May  3 16:52:01 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37950
37951	* tests/testdata/etext.txt needs to be included in the distribution
37952
37953Fri May 03 16:18:38 BST 2002  Olly Betts <olly@survex.com>
37954
37955	* Removed OmValue in favour of simply using a string (analogous to
37956	  recent OmData change).
37957
37958Fri May 03 14:52:04 BST 2002  Olly Betts <olly@survex.com>
37959
37960	* Removed unused om_docname typedef.
37961
37962Fri May 03 14:42:31 BST 2002  Olly Betts <olly@survex.com>
37963
37964	* Terminology change - a "key" (in the OmKey sense) is now a "value".
37965
37966Fri May  3 14:31:57 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
37967
37968	* Fixed up todo list and HTML generation script to cope with
37969	  items without an assigned priority.
37970
37971Fri May 03 14:29:58 BST 2002  Olly Betts <olly@survex.com>
37972
37973	* It's HACKING (not INSTALL) that has details of developer tools.
37974
37975Thu May 02 15:57:48 BST 2002  Olly Betts <olly@survex.com>
37976
37977	* Removed OmData - just return and take a string instead.
37978
37979Thu May 02 14:40:21 BST 2002  Olly Betts <olly@survex.com>
37980
37981	* docs/.cvsignore: updated.
37982
37983Thu May 02 14:38:36 BST 2002  Olly Betts <olly@survex.com>
37984
37985	* Removed assorted references to pthread locking; updated HACKING.
37986
37987Thu May 02 14:15:47 BST 2002  Olly Betts <olly@survex.com>
37988
37989	* Stripped out OmBatchEnquire stuff, as it's unlikely to get sorted
37990	  out any time soon, and it can be extracted from CVS when someone
37991	  wants it.
37992
37993Thu May 02 13:50:04 BST 2002  Olly Betts <olly@survex.com>
37994
37995	* Check for bison >= 1.35 in buildall.
37996
37997Wed May 01 17:39:57 BST 2002  Olly Betts <olly@survex.com>
37998
37999	* Removed lingering references to Omsee and OpenMuscat.
38000
38001Wed May 01 16:34:13 BST 2002  Olly Betts <olly@survex.com>
38002
38003	* Removed unused methods from NetClient (read_data and write_data).
38004
38005Wed May 01 14:01:12 BST 2002  Olly Betts <olly@survex.com>
38006
38007	* Added test consistency1 to check matcher optimisations don't
38008	  result in inconsistent results (i.e. that same matches and
38009	  weights are returned regardless of size of mset asked for).
38010
38011Wed May 01 11:48:10 BST 2002  Olly Betts <olly@survex.com>
38012
38013	* Fixed mismatched tags in todo.xml.
38014
38015Wed May 01 11:46:42 BST 2002  Olly Betts <olly@survex.com>
38016
38017	* Updated todo.
38018
38019Wed May 01 11:40:47 BST 2002  Olly Betts <olly@survex.com>
38020
38021	* Corrected configure warning message - it's XML::Parser not XML.
38022
38023Wed May 01 11:34:49 BST 2002  Olly Betts <olly@survex.com>
38024
38025	* Tweaks to get queryparser building cleanly.
38026
38027Tue Apr 30 17:44:48 BST 2002  Olly Betts <olly@survex.com>
38028
38029	* Updated query parser in extra from the updated one in omega,
38030	  and fettled it to cope better with multiple instantiations
38031	  (though it's a long way from being reentrant at the moment).
38032
38033Tue Apr 30 11:03:44 BST 2002  Olly Betts <olly@survex.com>
38034
38035	* Updated todo.
38036
38037Mon Apr 29 19:28:04 BST 2002  Olly Betts <olly@survex.com>
38038
38039	* More string.c_str() tidying.
38040
38041Mon Apr 29 17:41:33 BST 2002  Olly Betts <olly@survex.com>
38042
38043	* Tidied up some uses of string.c_str().
38044
38045	* Cleaned up todo list.
38046
38047Mon Apr 29 16:08:21 BST 2002  Olly Betts <olly@survex.com>
38048
38049	* Updated buildall to check various tools have the required version
38050	  numbers.
38051
38052Mon Apr 29 15:58:57 BST 2002  Olly Betts <olly@survex.com>
38053
38054	* Tweaked use of HAVE_STREAMBUF
38055
38056Fri Apr 26 14:41:09 BST 2002  Sam Liddicott <sam@ananova.com>
38057
38058	* Swig is now modified so it can build config.m4 and Makefile.in
38059	  for php modules so I removed these from bindings/php4
38060
38061Tue Apr 23 18:21:03 BST 2002  Olly Betts <olly@survex.com>
38062
38063	* Tried compiling with GCC 3.1 prerelease snapshot and fixed various
38064	  STL-related warnings (mostly uses of istrstream).
38065
38066	* Fixed usage of AM_CFLAGS and AM_CXXFLAGS.
38067
38068Tue Apr 23 15:48:36 BST 2002  Olly Betts <olly@survex.com>
38069
38070	* Updated buildall (and had to tweak it again, sigh).
38071
38072Tue Apr 23 14:21:01 BST 2002  Sam Liddicott <sam@ananova.com>
38073
38074	* Added typemap conversion to generate OmSettings from php hash
38075	* Changed order of classes in interface file
38076
38077Tue Apr 23 14:20:05 BST 2002  Olly Betts <olly@survex.com>
38078
38079	* Revamped xapian-config and xapian.m4.  Important change - it's now
38080	  "xapian-config --cxxflags" and XAPIAN_CXXFLAGS, not --cflags and
38081	  _CFLAGS.
38082
38083Mon Apr 22 17:58:56 BST 2002  Olly Betts <olly@survex.com>
38084
38085	* Removed leak checker.
38086
38087Mon Apr 22 13:40:01 BST 2002  Olly Betts <olly@survex.com>
38088
38089	* Tiny code tweak.
38090
38091Mon Apr 22 13:11:32 BST 2002  Olly Betts <olly@survex.com>
38092
38093	* Write debug log using unbuffered IO and O_APPEND which should prevent
38094	  the log file becoming garbled when used from applications which use
38095	  Xapian objects in multiple threads.
38096
38097Mon Apr 22 12:19:18 BST 2002  Olly Betts <olly@survex.com>
38098
38099	* Updated copyright notices for last change.
38100
38101Mon Apr 22 11:20:28 BST 2002  Olly Betts <olly@survex.com>
38102
38103	* Removed thread locks.
38104
38105Fri Apr 19 17:38:23 BST 2002  Olly Betts <olly@survex.com>
38106
38107	* Removed completed tasks from todo list.
38108
38109Fri Apr 19 17:26:23 BST 2002  Olly Betts <olly@survex.com>
38110
38111	* Removed placeholder code for OmQuery::OP_PERCENT_CUTOFF - it's
38112	  actually impossible to implement since we started rescaling
38113	  percentages so that 100% is attainable.
38114
38115Fri Apr 19 16:42:42 BST 2002  Olly Betts <olly@survex.com>
38116
38117	* Tracked down and fixed the bug in the quartz backend which was making
38118	  test poslist2 fail.
38119
38120Fri Apr 19 16:06:39 BST 2002  Olly Betts <olly@survex.com>
38121
38122	* Fixed some compilation problems which I somehow failed to notice
38123	  before the last check-in.
38124
38125Fri Apr 19 15:04:13 BST 2002  Olly Betts <olly@survex.com>
38126
38127	* Added more RETURN(...) wrappers.
38128
38129Fri Apr 19 14:46:19 BST 2002  Olly Betts <olly@survex.com>
38130
38131	* Added more DEBUGCALL tracing to quartz.
38132
38133Fri Apr 19 13:29:57 BST 2002  Olly Betts <olly@survex.com>
38134
38135	* Minor tweaks to quartz_database.cc.
38136
38137Fri Apr 19 13:07:50 BST 2002  Olly Betts <olly@survex.com>
38138
38139	* Moved test poslist1 into correct place and renamed it to poslist2
38140	  since there's already a poslist1...
38141
38142Fri Apr 19 11:19:15 BST 2002  Olly Betts <olly@survex.com>
38143
38144	* poslist1 (when actually run!) reveals that Quartz fails to throw
38145	  errors in this case.  Disabled test for now, as I can't see why it
38146	  fails to throw...
38147
38148Thu Apr 18 17:44:56 BST 2002  Olly Betts <olly@survex.com>
38149
38150	* Added poslist1 test as suggested by a TODO entry.
38151
38152Thu Apr 18 14:17:24 BST 2002  Olly Betts <olly@survex.com>
38153
38154	* buildall: Removed search for GNU make (as of automake
38155	  1.5 it's not needed for automake and we aim to have portable
38156	  makefiles).  Made buildall more portable.
38157
38158Thu Apr 18 14:16:18 BST 2002  Olly Betts <olly@survex.com>
38159
38160	* xapian-config.nodep is a generated file, so don't look for it in
38161	  srcdir.
38162
38163Thu Apr 18 12:45:04 BST 2002  Olly Betts <olly@survex.com>
38164
38165	* Added bindings/php4/xapian/.cvsignore.
38166
38167Thu Apr 18 12:36:53 BST 2002  Olly Betts <olly@survex.com>
38168
38169	* Minor tweaks to "Makefile" section in HACKING.
38170
38171Thu Apr 18 12:26:21 BST 2002  Olly Betts <olly@survex.com>
38172
38173	* Yet more Makefile portability fixes; added section to HACKING
38174	  summarising my recent experiences.
38175
38176Thu Apr 18 11:26:37 BST 2002  Olly Betts <olly@survex.com>
38177
38178	* Corrected the sense of the test in the previous check-in.
38179
38180Thu Apr 18 11:08:04 BST 2002  Olly Betts <olly@survex.com>
38181
38182	* Use case instead of echo/sed to replace dirname.
38183
38184Thu Apr 18 10:19:01 BST 2002  Olly Betts <olly@survex.com>
38185
38186	* Another Makefile portability tweak.
38187
38188Wed Apr 17 16:07:02 BST 2002  Olly Betts <olly@survex.com>
38189
38190	* bindings/php4/Makefile.am: Fixed a couple of problems with
38191	  recent changes.
38192
38193Wed Apr 17 15:32:44 BST 2002  Olly Betts <olly@survex.com>
38194
38195	* Makefile portability improvements.
38196
38197Wed Apr 17 14:29:21 BST 2002  Olly Betts <olly@survex.com>
38198
38199	* Replaced uses of GNU make specific features with more portable
38200	  ones.
38201
38202Wed Apr 17 12:43:07 BST 2002  Olly Betts <olly@survex.com>
38203
38204	* Update todo list.
38205
38206Wed Apr 17 12:41:03 BST 2002  Olly Betts <olly@survex.com>
38207
38208	* Removed BrightStation's logo from the documentation.
38209
38210Wed Apr 17 12:27:07 BST 2002  Olly Betts <olly@survex.com>
38211
38212	* xapian-config: Removed --uninst support - it's very hard to make it
38213	  work reliably and we're better off directing our efforts towards
38214	  improving the library than trying to get it working and keep it
38215	  working.
38216
38217Wed Apr 17 10:39:02 BST 2002  Olly Betts <olly@survex.com>
38218
38219	* Fixed btreetest code to use new names "ord+" and "ord-" for
38220	  datafiles; disabled LFSinsertdelete1 test as it's exactly the
38221	  same as insertdelete1 (despite the comment above which suggests
38222	  it tests files >2G).
38223
38224Mon Apr 15 17:14:22 BST 2002  Olly Betts <olly@survex.com>
38225
38226	* Fix a few OmDatabase::InternalInterface uses I'd somehow missed.
38227
38228Mon Apr 15 16:08:20 BST 2002  Olly Betts <olly@survex.com>
38229
38230	* Mark internal classes as @internal for doxygen; removed all uses
38231	  of OmDatabase::InternalInterface as it's no longer needed.
38232
38233Mon Apr 15 15:42:47 BST 2002  Olly Betts <olly@survex.com>
38234
38235	* Updated TODO list.
38236
38237Mon Apr 15 2002  Sam Liddicott <sam@ananova.com>
38238
38239	* Hacked around bindings and bindings/php to remove some SWIG
38240	  workarounds.  SWIG cvs + some new non-committed patches is need still.
38241
38242Mon Apr 15 12:12:05 BST 2002  Olly Betts <olly@survex.com>
38243
38244	* stemtest: getopt fix.
38245
38246	* stemtest.pl.in: output now: less verbose by default and coloured.
38247
38248Mon Apr 15 11:18:58 BST 2002  Olly Betts <olly@survex.com>
38249
38250	* Updated HACKING to say that automake 1.5 is required, and note that
38251	  automake 1.6.1 is better than 1.6.
38252
38253Sat Apr 13 20:35:51 2002  James Aylett  <tartarus@users.sourceforge.net>
38254
38255	* Fixed stemtest getopt usage so it works again.
38256
38257Sat Apr 13 20:20:52 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
38258
38259	* Fixed omtcpsrv getopt usage so it works again.
38260
38261Fri Apr 12 16:24:06 BST 2002  Olly Betts <olly@survex.com>
38262
38263	* Require automake 1.5.
38264
38265Fri Apr 12 12:11:57 BST 2002  Olly Betts <olly@survex.com>
38266
38267	* omtcpsrv: Namespace fixes.
38268
38269Fri Apr 12 12:25:42 BST 2002  Olly Betts <olly@survex.com>
38270
38271	* Fixed everything to use getopt rather than icky handparsing of
38272	  options.
38273
38274Fri Apr 12 11:26:57 BST 2002  Olly Betts <olly@survex.com>
38275
38276	* Removed delve - it's going to be an example program.
38277
38278Thu Apr 11 18:09:35 BST 2002  Olly Betts <olly@survex.com>
38279
38280	* Command line argument improvements - added FIXMEs where getopt
38281	  should be used.
38282
38283Thu Apr 11 17:01:44 BST 2002  Richard Boulton <richard@tartarus.org>
38284
38285	* Fixes to work with automake 1.6.1.
38286	  I recommend using 1.6.1 rather than 1.6, since this fixes many
38287	  bugs in 1.6.  I havn't tested with 1.6 recently, but it is likely
38288	  to report problems.
38289
38290Thu Apr 11 17:25:37 BST 2002  Olly Betts <olly@survex.com>
38291
38292	* Use GNU getopt.
38293
38294Thu Apr 11 15:06:15 BST 2002  Olly Betts <olly@survex.com>
38295
38296	* Updated to recommend automake 1.5, noting problem with automake 1.4
38297	  and that we'll probably soon insist on 1.5, and later autoconf 2.50.
38298	  Also added notes on recommended and usable GCC versions.
38299
38300Thu Apr 11 14:23:44 BST 2002  Olly Betts <olly@survex.com>
38301
38302	* Cleaning up build system.
38303
38304Thu Apr 11 13:18:23 BST 2002  Olly Betts <olly@survex.com>
38305
38306	* Use AndPostList with boolean weights on the RHS instead of
38307	  FilterPostList - this appears to fix a bug, but I suspect it's
38308	  actually just moving it around.  Will investigate later.
38309
38310Thu Apr 11 10:11:11 BST 2002  Olly Betts <olly@survex.com>
38311
38312	* Sorted out automake for php4 bindings.
38313
38314Wed Apr 10 14:44:50 BST 2002  Olly Betts <olly@survex.com>
38315
38316	* Removed a superfluous DEBUGLINE.
38317
38318Tue Apr  9 19:02:09 BST 2002  Richard Boulton <richard@tartarus.org>
38319
38320	* Fix some DEBUGLINE() macros in the matcher which had
38321	  the first parameter missing.
38322
38323Tue Apr 09 17:50:44 BST 2002  Olly Betts <olly@survex.com>
38324
38325	* Removed stray bit of debug code.
38326
38327Tue Apr 09 17:05:09 BST 2002  Olly Betts <olly@survex.com>
38328
38329	* More debug tracing added.
38330
38331Tue Apr 09 10:48:42 BST 2002  Olly Betts <olly@survex.com>
38332
38333	* Disabled pthread support by default.
38334
38335Sat Apr  6 20:45:21 2002  James Aylett  <tartarus@users.sourceforge.net>
38336
38337	* Reordered some output generation in configure so it won't
38338	  complain about directories not existing. (I don't understand
38339	  what the problem is, but this does fix it.)
38340
38341Sat Apr 06 20:27:57 BST 2002  Olly Betts <olly@survex.com>
38342
38343	* Moved a few lingering traces of XML indexer stuff to indexer
38344	  subdirectory.
38345
38346Sat Apr 06 17:37:02 BST 2002  Olly Betts <olly@survex.com>
38347
38348	* Removed -pedantic (read the gcc docs - it's doesn't turn on
38349	  useful warnings) and fixed all the remaining compilation
38350	  warnings in a non-debug build.
38351
38352Fri Apr 05 10:21:28 BST 2002  Olly Betts <olly@survex.com>
38353
38354	* Removed --enable-profiling, --enable-purify, and --enable-insure.
38355	  They don't do anything which can't be achieved by passing
38356	  environment variables and switches to configure (now documented
38357	  in HACKING).  Adding a separate switch for every profiling and
38358	  code-quality tool out there isn't a sensible approach.
38359
38360Thu Apr 04 20:37:12 BST 2002  Olly Betts <olly@survex.com>
38361
38362	* Updated .cvsignore files.
38363
38364Thu Apr 04 20:25:41 BST 2002  Olly Betts <olly@survex.com>
38365
38366	* PTHREAD_CFLAGS was only being used for compiling C, not C++, which
38367	  was causing builds to fail unless threading was disabled.  This
38368	  problem has been there a long time, but until recently was hidden
38369	  by the check for fdatasync erroneously linking in -lrt which pulls
38370	  in pthreads anyway (at least this is the situation on Linux).
38371
38372Thu Apr 04 20:06:00 BST 2002  Olly Betts <olly@survex.com>
38373
38374	* Removed XML indexer stuff from the main xapian library.  All the
38375	  removed bits are now in the indexer subdirectory, ready to be
38376	  reassembled into a supplementary library.
38377
38378Thu Apr 04 15:43:43 BST 2002  Olly Betts <olly@survex.com>
38379
38380	* More debug tracing in the matcher.
38381
38382Thu Apr 04 14:17:10 BST 2002  Olly Betts <olly@survex.com>
38383
38384	* Added debug tracing to most of the matcher.
38385
38386Thu Mar 28 17:21:16 GMT 2002  Olly Betts <olly@survex.com>
38387
38388	* Give up trying to make internals private or protected in the
38389	  header files in include - the consequences are just too ugly, and
38390	  it's clear enough that they shouldn't be messed with except by the
38391	  library itself.
38392
38393Wed Mar 27 10:24:26 GMT 2002  Olly Betts <olly@survex.com>
38394
38395	* Don't add "-lrt" to the link line unless it's actually needed for
38396	  fdatasync().
38397
38398Wed Mar 27 10:11:09 GMT 2002  Olly Betts <olly@survex.com>
38399
38400	* Fixed two problems in the matcher which were respectively causing
38401	  problems with boolean filters, and with situations where OR or
38402	  ANDMAYBE decayed to AND.
38403
38404Fri Jan 11 18:00:44 GMT 2002  James Aylett  <tartarus@users.sourceforge.net>
38405
38406	* Various build fixes for libxml2: define CHAR as needed,
38407	  --enable-validation (off by default), check for and discard
38408	  'blank' text/cdata nodes as we encounter them
38409
38410Fri Jan 11 15:40:50 GMT 2002  Sam Liddicott <sam@ananova.com>
38411
38412	* Added Large File Support in the same way it was added to GNU tar.
38413	  (If it's good enough for them...)
38414	  This is by means of autoconf/ac_sys_largefile which I'm told is
38415	  built in to later versions of autoconf, and may possibly give us
38416	  trouble redefining it for those versions...  But we'll see about
38417	  that when/if it happens.
38418
38419	  It seems to work fine here on some DB's which I had to stop growing
38420	  cos they got too big; I'm now past the 2G boundary with no problems
38421
38422	  I guess we should still add overflow detection for 2^31 blocks.
38423	  Ideas?
38424
38425	  I need some help on the btreetest.cc as I haven't yet worked out
38426	  what it does; so while I've added a test, it doesn't yet test
38427	  what it says it does.  I have changed btreetest.cc so you can
38428	  tell it where to dump the test DB
38429
38430Fri Dec 21 17:48:09 GMT 2001  Olly Betts <olly@survex.com>
38431
38432	* Fixed halflife calculation in OmBiasFunctor.
38433
38434Fri Dec 21 15:24:58 GMT 2001  Olly Betts <olly@survex.com>
38435
38436	* Added a temporary API to allow use of OmBiasFunctor.
38437
38438Fri Dec 21 12:58:23 GMT 2001  Olly Betts <olly@survex.com>
38439
38440	* Disable conversion of OR to AND/ANDMAYBE in matcher tree - there's
38441	  a bug which sometimes manifests when there's a date filter and a
38442	  threshold cutoff in omega, and results in just one match when there
38443	  should be more.  I don't believe the bug is actually in OrPostList
38444	  but I've been tracking it for 4 days without success and turning off
38445	  this optimisation seems to stop it occurring so will have to do for
38446	  now.
38447
38448Thu Dec 20 17:41:04 GMT 2001  Olly Betts <olly@survex.com>
38449
38450	* matcher/multimatch.cc: added more percent_cutoff assertions.
38451
38452Thu Dec 20 13:41:41 GMT 2001  Olly Betts <olly@survex.com>
38453
38454	* Fixed incorrectly classified debug message; fixed compiler warning;
38455	  more comments about matches_* with a percent_cutoff.
38456
38457Thu Dec 20 13:09:51 GMT 2001  Olly Betts <olly@survex.com>
38458
38459	* Better OmPostListIterator::get_description() (call get_description
38460	  on internal->postlist).
38461
38462Thu Dec 20 12:42:55 GMT 2001  Olly Betts <olly@survex.com>
38463
38464	* Fixed assorted problems with omtcpsrv and co from recent change.
38465
38466Thu Dec 20 10:41:57 GMT 2001  Richard Boulton <richard@tartarus.org>
38467
38468	* In ./configure --help, correctly report muscat36 backend as
38469	  defaulting to off.
38470
38471Thu Dec 20 10:36:18 GMT 2001  Olly Betts <olly@survex.com>
38472
38473	* Don't delete internal in ~OmWritableDatabase - ~OmDatabase
38474	  does that for us (internal was zeroed after delete, so this
38475	  was probably harmless)
38476
38477	* Tweaked OmEnquire::get_description() and
38478	  OmPostListIterator::get_description() to do less - there's a
38479	  debug related bug somewhere and get_description() should be a
38480	  non-intrusive method...
38481
38482Thu Dec 20 10:32:56 GMT 2001  Richard Boulton <richard@tartarus.org>
38483
38484	* Fix a couple of misquoted messages in configure.in.
38485
38486Tue Dec 18 23:22:00 2001  James Aylett  <tartarus@users.sourceforge.net>
38487
38488	* Use xapian.org where appropriate in documentation references
38489
38490Tue Dec 18 14:32:32 2001  James Aylett  <tartarus@users.sourceforge.net>
38491
38492	* Use xapian.org not sourceforge for schemas
38493
38494Mon Dec 17 18:47:08 GMT 2001  Olly Betts <olly@survex.com>
38495
38496	* Cured problems with string('x') caused by overzealous search
38497	  and replace on my part.
38498
38499Mon Dec 17 16:44:31 GMT 2001  Olly Betts <olly@survex.com>
38500
38501	* Improved matches_estimated when a percent_cutoff is in effect.
38502
38503Sun Dec 16 18:09:28 GMT 2001  Olly Betts <olly@survex.com>
38504
38505	* You can now register a match decider functor by name with an
38506	  OmEnquire object.  It's not yet used for anything though.
38507
38508Sun Dec 16 17:31:08 GMT 2001  Olly Betts <olly@survex.com>
38509
38510	* omtcpsrv: simplified arguments - just list database directories and
38511	  they'll be opened with the auto backend.  Removed --im as it didn't
38512	  work as advertised and nobody's noticed (as actually implemented it
38513	  was useless).
38514
38515Sat Dec 15 14:10:32 GMT 2001  Olly Betts <olly@survex.com>
38516
38517	* Minor update to todo.xml.
38518
38519Sat Dec 15 13:43:47 GMT 2001  Olly Betts <olly@survex.com>
38520
38521	* More fettling of OmBiasFunctor stuff - still not ready for use yet...
38522
38523Tue Dec 11 13:06:08 GMT 2001  Olly Betts <olly@survex.com>
38524
38525	* Don't work out probabilistic weights for boolean bits of the query
38526	  (rhs of FILTER and AND_NOT) which fixes incorrect percentage weights
38527	  in filtered queries.
38528
38529Tue Dec 11 12:26:44 GMT 2001  Olly Betts <olly@survex.com>
38530
38531	* Added test singlesubq1 to keep an eye on can_replace_by_single_subq.
38532
38533Mon Dec 10 16:58:21 GMT 2001  Olly Betts <olly@survex.com>
38534
38535	* can_replace_by_single_subq shouldn't return true for OP_ELITE_SET
38536	  since you can't call set_elite_set_size() on an arbitrary subquery.
38537
38538Thu Dec  6 15:02:05 GMT 2001  Richard Boulton <richard@tartarus.org>
38539
38540	* (omqueryinternal.cc, omtermlistiteratorinternal.h)
38541	  Fix some compiler warnings (when compiling with no debug) due
38542	  to methods which should return a value but simply contain
38543	  "Assert(false);".  Throw an exception in such methods instead
38544	  (after the Assert).
38545
38546Mon Dec 03 11:20:42 GMT 2001  Olly Betts <olly@survex.com>
38547
38548	* New BiasPostList - not yet enabled as it needs more work.
38549
38550Mon Dec 03 11:16:44 GMT 2001  Olly Betts <olly@survex.com>
38551
38552	* quartzdump: give syntax error if no tables specified.
38553
38554Thu Nov 29 14:10:43 GMT 2001  Olly Betts <olly@survex.com>
38555
38556	* ExtraWeightPostlist wasn't handling prune correctly.
38557
38558Thu Nov 22 13:46:59 GMT 2001  Olly Betts <olly@survex.com>
38559
38560	* Fixed segfault when percentage_cutoff emptied the proto-mset.
38561
38562Thu Nov 22 12:27:49 GMT 2001  Olly Betts <olly@survex.com>
38563
38564	* Enhanced test emptyquery1.
38565
38566Fri Nov 16 15:32:09 GMT 2001  Olly Betts <olly@survex.com>
38567
38568	* Added OmQuery::is_empty() method.
38569
38570Thu Nov 15 15:36:07 GMT 2001  Olly Betts <olly@survex.com>
38571
38572	* Updated todo list.
38573
38574Thu Nov 15 13:03:05 GMT 2001  Olly Betts <olly@survex.com>
38575
38576	* Fixed percent_cutoff problems.
38577
38578Wed Nov 14 12:05:44 GMT 2001  Olly Betts <olly@survex.com>
38579
38580	* Empty OmQuery() now matches no documents (rather than causing an
38581	  exception).
38582
38583Thu Nov 08 18:23:21 GMT 2001  Olly Betts <olly@survex.com>
38584
38585	* SIGSTKFLT isn't portable, so added #ifdef checks for it.
38586
38587Wed Nov 07 15:34:29 GMT 2001  Olly Betts <olly@survex.com>
38588
38589	* Fixed 2 GCC 3.0 warnings in muscat36 backend.
38590
38591Wed Nov 07 14:21:47 GMT 2001  Olly Betts <olly@survex.com>
38592
38593	* Made doc counts returned from percentage cutoff matches more
38594	  accurate.
38595
38596Wed Nov 07 12:30:32 GMT 2001  Olly Betts <olly@survex.com>
38597
38598	* GCC 3.0 fixes.
38599
38600Tue Nov 06 11:16:42 GMT 2001  Olly Betts <olly@survex.com>
38601
38602	* Matcher now calculates percentages like Omega does (or did as I'm
38603	  about to remove that code from Omega), rather than as a percentage
38604	  of the theoretical maximum possible weight.  The old way generally
38605	  gives disappointingly low values, and by pushing the percentage
38606	  code down into the matcher, it can be used to optimise the query.
38607
38608Tue Nov 06 11:13:06 GMT 2001  Olly Betts <olly@survex.com>
38609
38610	* Quick fix for problems with null OmQuery-s.
38611
38612Mon Nov 05 15:52:55 GMT 2001  Olly Betts <olly@survex.com>
38613
38614	* Added signal handling to testsuite - if a testcase generates a
38615	  signal it is caught and reported, then the testsuite continues
38616	  with further testcases.
38617
38618Wed Oct 31 14:26:59 GMT 2001  Olly Betts <olly@survex.com>
38619
38620	* Removed needless complications in matcher when a weight threshold
38621	  has been set.
38622
38623Tue Oct 30 16:50:46 GMT 2001  Olly Betts <olly@survex.com>
38624
38625	* Removed superfluous lines from configure.in; fixed warning from
38626	  automake 1.5.
38627
38628Mon Oct 29 11:54:36 GMT 2001  Olly Betts <olly@survex.com>
38629
38630	* Changed matcher to form proto-mset using a min-heap (as described
38631	  in "Managing Gigabytes", 2nd ed., pp 211-213).  Compared to the
38632	  previous "nth-element" approach, this uses about half the memory,
38633	  allows the min-weight based matcher optimisations to work sooner,
38634	  and should be inherently faster (not yet benchmarked though).  The
38635	  code's slightly simpler too.
38636
38637Mon Oct 29 11:53:38 GMT 2001  Olly Betts <olly@survex.com>
38638
38639	* Fixed remote backend to pass match_cutoff setting across.
38640
38641Fri Oct 26 13:43:08 BST 2001  Olly Betts <olly@survex.com>
38642
38643	* Reserve size needed for mset vector.
38644
38645Thu Oct 25 18:00:54 BST 2001  Olly Betts <olly@survex.com>
38646
38647	* Fixed a couple of stray references to the old sleepycat backend.
38648
38649Tue Oct 23 18:19:32 BST 2001  Olly Betts <olly@survex.com>
38650
38651	* More cleaning up of MultiMatch.
38652
38653Tue Oct 23 16:14:27 BST 2001  Olly Betts <olly@survex.com>
38654
38655	* Removed RemotePostList - it was an experimental idea which proved
38656	  to be too slow even on a fast network.  Cleaned up code where hooks
38657	  were bodged in for it.
38658
38659Tue Oct 23 13:27:12 2001  James Aylett  <tartarus@users.sourceforge.net>
38660
38661	* Added documentation of the test system (albeit brief). Also
38662	  mentioned the autotools book in HACKING.
38663
38664Tue Oct 23 12:07:59 BST 2001  Olly Betts <olly@survex.com>
38665
38666	* Updated .cvsignore files.
38667
38668Tue Oct 23 11:29:47 BST 2001  Olly Betts <olly@survex.com>
38669
38670	* Code tidying while investigating sporadic fails from quartztest.
38671
38672Mon Oct 22 17:42:30 BST 2001  Olly Betts <olly@survex.com>
38673
38674	* Minor fettles to quartztest: fixed warnings, whitespace tidying,
38675	  use mkdir(...) rather than system("mkdir ...")
38676
38677Mon Oct 22 16:41:12 2001  James Aylett  <tartarus@users.sourceforge.net>
38678
38679	* Renamed project to Xapian.
38680
38681Mon Oct 22 14:22:00 BST 2001  Olly Betts <olly@survex.com>
38682
38683	* Fixed non-ISO C++ code so Xapian will compile under GCC 3.0
38684	  (and also RedHat's "GCC 2.96").
38685
38686Mon Oct 22 11:21:45 2001  James Aylett  <tartarus@users.sourceforge.net>
38687
38688	* Altered omseek-config and the AC m4 macro to make uninst
38689	  executables link to the right version of the library
38690
38691Mon Oct 22 10:38:20 2001  James Aylett  <tartarus@users.sourceforge.net>
38692
38693	* Minor fixes to enable build (and test) under Solaris.
38694
38695Fri Jun 22 13:24:59 2001  Sam Liddicott <sam@ananova.com>
38696
38697	* Added some explicit type casts in xmlindexer and quartz backend
38698	  to help gcc2.96 compile.
38699
38700Thu Jun 21 11:05:31 2001  James Aylett  <tartarus@users.sourceforge.net>
38701
38702	* HACKING updated to (a) remove inaccurate statements about
38703	  copyright assignment, and (b) talk about developer write
38704	  access to CVS.
38705
38706Mon Jun 11 13:24:43 2001  James Aylett  <tartarus@users.sourceforge.net>
38707
38708	* pthread support detected using an automake macro. Should
38709	  be more portable as a result.
38710
38711	* We need GNU make: buildall now tries to find it.
38712
38713Mon Jun 11 12:07:00 2001  Hein Ragas <hragas@users.sourceforge.net>
38714
38715	* Modified QuartzWritableDatabase::do_add_document and
38716	  QuartzWritableDatabase::do_replace_document to leave the PositionList
38717	  empty for a term with no positions associated with it.
38718
38719Mon May 29 12:17:00 2001  Hein Ragas <hragas@users.sourceforge.net>
38720
38721	* Modified QuartzPostList::add_entry to allow for adding of entries
38722	  in the middle of the postlist, not only at the end.
38723
38724Mon May 28 12:00:00 2001  Hein Ragas <hragas@users.sourceforge.net>
38725
38726	* Fixed a bug in replace_document for Quartz, added a test to
38727	  ensure proper working of the fix.
38728
38729Fri Apr 27 15:16:10 2001  James Aylett  <tartarus@users.sourceforge.net>
38730
38731	* Project name change to Omseek.
38732
38733Wed Apr 11 09:06:37 BST 2001 Chris Emerson <chris.emerson@omsee.com>
38734
38735	* Implemented deleting of items from postlists, and added some
38736	  tests to check that it works properly.
38737
38738	* Fixed a potential memory leak in QuartzPostList if an exception
38739	  was thrown from the constructor.
38740
38741	* BackendManager now sets the quartz_logfile setting, to make
38742	  the logs available from the testsuite.
38743
38744	* Added mention of quartz_logfile to docs/omsettings
38745
38746	* Removed a bad assert from InMemoryDatabase::get_doclength()
38747
38748Mon Apr  9 21:48:18 BST 2001 Chris Emerson <chris.emerson@omsee.com>
38749
38750	* Added #include <cmath> to testutils.cc
38751
38752Fri Mar 30 17:37:24 BST 2001 Olly Betts
38753
38754	* Added extra/.cvsignore
38755
38756Fri Mar 30 17:22:13 BST 2001 Olly Betts
38757
38758	* Disabled allocation checking of new[] and delete[] since some STL
38759	  implementations use them which leads to leaks being reported where
38760	  none exist.  This is addressable longer term...
38761
38762Thu Mar 29 19:05:46 BST 2001  Richard Boulton <richard.boulton@omsee.com>
38763
38764	* Add "extra" directory to om source tree, to hold extra libraries
38765	  for use with omsee, which aren't part of the core.
38766
38767	* Put a query parser into "extra".  This is roughly the parser
38768	  from omega.  Needs some work: in particular, it needs to be
38769	  made reentrant.
38770
38771	* Added extra/ directory to top level Makefile.am and configure.in.
38772	  Added AC_PROG_YACC to Makefile.am
38773
38774	* Add includes of required header files to omquery.h.
38775
38776Wed Mar 28 17:15:22 BST 2001  Richard Boulton <richard.boulton@omsee.com>
38777
38778	* Modifications to OmQuery.  Remove the isbool flag: there is
38779	  no longer any need for the concept of a "pure boolean query".
38780	  The same effect as was obtained by setting isbool can be
38781	  obtained by setting the match_weighting_scheme parameter to
38782	  bool.
38783
38784	* Also, undefined queries may no longer be used when
38785	  building up composite queries; the correct behaviour for this
38786	  is hard to define and implement and harder to document, and
38787	  removing this removes lots of special case code.
38788
38789	* Updated network query passing code.
38790
38791	* Remove special cases for bool weighting in localmatch and irweight.
38792
38793	* Updated omsettings docs.  Updated comments in omsetting.h.
38794
38795	* Updated todo.xml
38796
38797	* Incremented network protocol version.
38798
38799	* Added test_emptyop1, which checks what happens when an attempt is
38800	  made to use an empty list of subqueries to build up a query, and
38801	  then use the query.
38802
38803	* Remove test_boolsubq1: no such thing as a boolean query now, so
38804	  no need to test what happens when one is used.
38805
38806	* Updated testsuite to use "match_weighting_scheme" setting, rather
38807	  than calling OmQuery::set_bool().
38808
38809Wed Mar 28 15:05:46 BST 2001 Chris Emerson <chris.emerson@omsee.com>
38810
38811	* Fixes to InMemoryDatabase:
38812	  + do_open_post_list returns an EmptyPostList rather than an
38813	    assertion error if the term doesn't exist
38814	  + Fixed doccount(), which wasn't decrementing on delete_doc()
38815	  + Remove terms from the database when they have no more postings.
38816	  + Implement collection frequencies, and run collfreq tests for
38817	    inmemory.
38818
38819Wed Mar 28 14:24:38 BST 2001  Richard Boulton <richard.boulton@omsee.com>
38820
38821	* Set elite set size to max(10, sqrt(number of subqueries)) by
38822	  default.  This is rather more useful than the old default of 0.
38823
38824Wed Mar 28 10:25:35 BST 2001 Chris Emerson <chris.emerson@omsee.com>
38825
38826	* QuartzDatabase now implements replace_document(), and
38827	  delete_document() now removes keys/attributes as well.
38828	  However, postlist entries are not yet correctly removed,
38829	  so this will cause problems.
38830
38831	* Added a test for deleting/replacing documents, which passes.
38832
38833Tue Mar 27 17:31:58 BST 2001 Chris Emerson <chris.emerson@omsee.com>
38834
38835	* QuartzAttributes now has a method to delete a document's
38836	  attributes, and QuartzRecordManager has a replace_ method.
38837	  (But the code which uses these isn't in this commit).
38838
38839Thu Mar 22 15:58:08 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38840
38841	* Change definition of OmQuery::is_defined(), so that elite set
38842	  queries are undefined until a size is specified for the set.
38843
38844Wed Mar 21 14:29:04 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
38845
38846	* Implemented delete_document and replace_document in inmemory
38847	  database.
38848
38849Wed Mar 21 12:39:13 GMT 2001 Olly Betts
38850
38851	* Tweak to docs/quickstart.html.
38852
38853Wed Mar 21 02:50:19 GMT 2001 Olly Betts
38854
38855	* Entirely removed sleepcat backend and all references to it.
38856
38857	* Disable muscat36 backend by default.
38858
38859Tue Mar 20 18:47:12 GMT 2001 Olly Betts
38860
38861	* open_document() now takes a lazy flag - if not set we need to check
38862	  that the docid given actually exists.
38863
38864	* heavy_duty flag now a bool instead of an int.
38865
38866Mon Mar 19 19:16:34 GMT 2001 Olly Betts
38867
38868	* Added test getdoc1 to check exceptions are thrown for out-of-range
38869	  docids (currently they aren't for quartz and muscat36 backends).
38870
38871Mon Mar 19 17:17:31 GMT 2001 Olly Betts
38872
38873	* New simpler implementation of leak detection in testsuite.
38874	  Currently doesn't support malloc/calloc/realloc/free.
38875
38876Mon Mar 19 16:46:16 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38877
38878	* Further small modification to omsee-config: will now look in
38879	  .libs subdirectories, too.
38880
38881Mon Mar 19 15:57:18 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38882
38883	* Update omsee-config to work when a prefix is specified that
38884	  points directly to the directory with the library, rather than
38885	  expecting the library to be in a subdir "libs/".  (libs/ is
38886	  still used if it exists).
38887
38888	* Update omsee.m4, to use omsee-config even when using an
38889	  uninstalled version of omsee.  This in turn fixes problems using
38890	  uninstalled versions of omsee with STLport.
38891
38892Fri Mar 16 18:14:52 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38893
38894	* Updated licenses, to include year 2001.
38895
38896Fri Mar 16 15:40:49 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38897
38898	* Fix up small bug in quartztest causing it to fail for lack of an
38899	  expected exception.  Initialise values in quartz_positionlist.cc
38900	  when position list is not present.
38901
38902Thu Mar 15 17:40:38 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38903
38904	* Make timeout absolute, rather than cumulative, when fetching
38905	  multiple documents from database: if two nodes fail, the total
38906	  timeout should still be that specified, not twice it.
38907
38908	* Make the timeout set by SocketClient::set_query() get reset
38909	  correctly if an exception happens (which used to prevent
38910	  SocketClient::get_mset() ever getting called).
38911
38912Thu Mar 15 17:06:51 GMT 2001 Olly Betts
38913
38914	* Oops, checked in too much - backing out the wrong stuff.
38915
38916Thu Mar 15 16:30:14 GMT 2001 Olly Betts
38917
38918	* Include autoconf/definedir.m4 in tarball.
38919
38920Thu Mar 15 16:06:02 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38921
38922	* Updated network protocol number to reflect change adding
38923	  OP_ELITE_SET.
38924
38925Thu Mar 15 15:31:35 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38926
38927	* QuartzPositionList should no longer complain if positional
38928	  information isn't available for a particular term / document
38929	  combination.
38930
38931	* Updated todo.
38932
38933Thu Mar 15 13:55:53 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38934
38935	* Removed OmDocument::set_wdf() and OmDocument::add_term().
38936	  Replaced with OmDocument::add_term_nopos(), which adds a term
38937	  without specifying positional information, taking an optional
38938	  wdfinc parameter.  Updated testsuite correspondingly.
38939
38940Thu Mar 15 13:14:10 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38941
38942	* Update TODO
38943
38944Wed Mar 14 17:51:40 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38945
38946	* Added new operator OP_ELITE_SET, which replaces match_max_or_terms
38947	  option.  Can now specify exactly which terms to apply max_or_terms
38948	  to.  max_or_terms is obsolete: an error will be thrown if an
38949	  attempt is made to use it.
38950
38951Wed Mar 14 15:56:20 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38952
38953	* Added test for and implementation of multiple XOR queries.
38954
38955	* Fix small bugs with get_termfreq_est() for xor and andnot
38956	  postlists.
38957
38958Mon Mar  5 16:08:01 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
38959
38960	* Catch exceptions within the loop in SocketServer - exceptions
38961	  should normally not kill the server.  This means that that a
38962	  client still works after eg an OmDocNotFoundError, which was
38963	  causing problems before.
38964
38965Fri Mar  2 18:15:47 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38966
38967	* Add a new query operator, OP_WEIGHT_CUTOFF, which returns only
38968	  those documents from a query which have a weight greater than a
38969	  specified cutoff value.  Also added OP_PERCENT_CUTOFF, but this
38970	  is not yet implemented.
38971
38972	* Added test of new cutoff function, cutoff2.
38973
38974	* Updated network protocol to pass new queries.  Increased protocol
38975	  version number (to 10).
38976
38977	* Added set_cutoff() function to OmQuery, to set cutoff parameter.
38978
38979	* Updated TODO.
38980
38981	* Remove unused member "PostList * postlist" of LocalSubMatch.
38982
38983Thu Mar  1 12:04:53 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38984
38985	* Updates to HACKING.
38986
38987Wed Feb 28 18:42:47 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
38988
38989	* Fixes to neaten up configure output, and to test for the Perl
38990	  Text::Format module, thanks to James Aylett (patch slightly
38991	  modified, so if it doesn't work it's probably my fault).
38992
38993	* configure.in checks for presence of ftime() and gettimeofday()
38994
38995	* Added OmTime, a class to deal with times to an accuracy of
38996	  microseconds, or whatever the best accuracy the system supports
38997	  is.
38998
38999	* Use OmTime in network code instead of time(NULL).
39000
39001Wed Feb 28 14:23:11 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39002
39003	* Merge common code from OmSocketLineBuf::wait_for_data() and
39004	  OmSocketLineBuf::do_readline() into
39005	  OmSocketLineBuf::attempt_to_read(), and thus fix bug in
39006	  wait_for_data() when 0 bytes returned from read().
39007
39008Tue Feb 27 18:40:33 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39009
39010	* Fixes to remote matcher code to cope better with failure of
39011	  submatchers:
39012	  - Timeout for all submatches now correctly start at same time.
39013
39014	* Added more extensive testing of above code, involving adding
39015	  new parameters to inmemory to cause abort()s at various stages of
39016	  the match.
39017
39018	* Remove obsolete (and unused) method
39019	  SocketServer::read_global_stats()
39020
39021	* Errors are now generated from strings by using omerrortypes.h with
39022	  suitable #defines before including it.  Updated todo accordingly.
39023
39024	* Extend scope of try{} clause in socketserver, so that
39025	  SocketServerFinished exception never escapes.
39026
39027	* Default timeout in progserver increased to 30000.
39028
39029	* Default timeout in tcpserver increased to 15000.
39030
39031Mon Feb 26 23:51:23 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39032
39033	* Split query generation into stages: make new query, add subqueries,
39034	  then finalise.  Add private methods to OmQuery reflecting this, and
39035	  convert constructors into template methods, allowing any iterator
39036	  to be used for constructing queries.  Removed reference to
39037	  <vector> from omquery.h
39038
39039	* Add omqueryinternal.cc, containing implementation of query
39040	  internals. (surprise!)
39041
39042	* OmQuery::Internal now has some helper functions to determine the
39043	  properties of each particular query.  These should be converted
39044	  into a lookup table, and the remaining hard-coded properties (for
39045	  AND_MAYBE, AND_NOT and FILTER) factored out.
39046
39047	* window property removed from constructor.  This can now be set by a
39048	  separate call, to "OmQuery::set_window()"
39049
39050	* Added a deleter_vector class, to store subquery pointers in a more
39051	  exception-safe way.
39052
39053	* Represent undefined queries by the new OP_UNDEF operation, rather
39054	  than a dedicated flag - cleaned up some logic.
39055
39056	* Some modifications to XOR handling: should now behave like OR and
39057	  AND - doesn't need to be binary.  (*untested*)
39058
39059	* Fixes to serialisation code in socketcommon.cc to work with new
39060	  OmQuery::Internals - this should really be done in
39061	  OmQuery::Internal.
39062
39063	* One tiny fix in tcpclient.cc - an &fdset was missed for exception
39064	  conditions in a select() call.
39065
39066	* Testsuite modified and expanded to check changes to OmQuery.
39067
39068Mon Feb 26 18:20:16 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39069
39070	* Fixed some compiler warnings reported by James Aylett.
39071
39072Mon Feb 26 14:27:09 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39073
39074	* Avoid waiting for a timeout when closing a SocketClient.
39075
39076Fri Feb 23 14:38:09 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39077
39078	* Updated todo.xml
39079
39080Thu Feb 22 18:14:41 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39081
39082	* OmRegexFilterNode has an output for non-matching strings as
39083	  well as matching.  "out" output renamed to "matching".
39084
39085Thu Feb 22 16:56:33 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39086
39087	* Fixed a bug in the fetch() bits: requesting documents at the
39088	  same time from different OmMSet instances could cause a
39089	  document to disappear from the cache at the wrong moment.
39090
39091Thu Feb 22 15:39:49 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39092
39093	* Updated todo.
39094
39095Thu Feb 22 12:14:12 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39096
39097	* Some small changes in quartz to improve exception safety and
39098	  error checking.
39099
39100	* Remove unwanted OmExpandWeight::get_expand_k() method.
39101
39102Wed Feb 21 19:02:44 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39103
39104	* Overhauled the OmMSet::fetch() etc. methods.  Documents are
39105	  requested when fetch() is called, but are only fetched (all
39106	  at once) when the first get_document() is called.
39107
39108Wed Feb 21 19:30:20 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39109
39110	* Add an errorhandler member to MultiMatch, and remove it from
39111	  various calls which used to pass it about.
39112
39113	* Add an EmptyMatch object, which always returns an emptypostlist.
39114
39115	* Implement errorhandlers at start of query for initially down
39116	  nodes.  Improve test for errorhandlers to cover many more cases.
39117
39118	* Add many debug messages to error handling code.
39119
39120Wed Feb 21 14:33:50 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39121
39122	* Use a deque<> directly instead of a queue, due to conflict
39123	  with Solaris headers.
39124
39125	* Split the collect_doc loop into a separate function
39126
39127	* SocketClient should be more robust against request_doc() being
39128	  used without collect_doc().
39129
39130Tue Feb 20 18:01:13 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39131
39132	* SocketClient implements a queue/cache system which means that
39133	  collect_doc() doesn't need to be called in the same order as
39134	  request_doc().
39135
39136Mon Feb 19 15:43:49 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39137
39138	* Converted btree code to use new/delete instead of [mc]alloc/free.
39139
39140Mon Feb 19 13:52:23 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39141
39142	* Added new test collapsekey2 designed to work with muscat36
39143	  databases, which have different key handling.  Added two new
39144	  categories of tests to cope with this.
39145
39146	* Adjusted BackendManager's key generation, and updated
39147	  test_specialterms1() accordingly.
39148
39149Fri Feb 16 17:26:59 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39150
39151	* Implemented a test for keep-alives
39152
39153	* Added "-tNNNN" option to omprogsrv to pass a timeout value in.
39154
39155	* Added get_network_database() in apitest to set the timeout.
39156
39157Fri Feb 16 16:13:47 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39158
39159	* Incremented the remote protocol version, since a new message
39160	  type has been added.
39161
39162Fri Feb 16 15:55:31 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39163
39164	* Added an OmDatabase keep_alive() method to gently prod any
39165	  remote databases.  Applications can use it to avoid the remote
39166	  servers timing out between queries.  Not properly tested yet...
39167
39168Thu Feb 15 19:05:24 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39169
39170	* The remote server now supports a separate timeout used while
39171	  idle, rather than actually servicing a request from the client.
39172	  Options --idle-timeout and --active-timeout added to omtcpsrv,
39173	  and --timeout sets both timeouts.
39174
39175	* Added a documentation comment or two.
39176
39177Wed Feb 14 18:43:00 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39178
39179	* In Muscat3.6 backends, don't read the key from the keyfile unless
39180	  keyno is 0.
39181
39182Tue Feb 13 13:57:34 GMT 2001 Andy MacFarlane <andym@omsee.com>
39183
39184	* Added parameter expand_k in omsettings in order to change
39185	  value of weighting in expand process.
39186
39187Tue Feb 13 13:25:45 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39188
39189	* Network timeouts now apply to write() operations as well
39190	  as read().
39191
39192	* SocketLineBuf::do_writeline() now correctly deals with EAGAIN.
39193
39194	* SocketServer has new method writeline() which handles write
39195	  access to the OmLineBuf.
39196
39197Mon Feb 12 12:35:41 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39198
39199	* Make OmPositionListIterators and any other appropriate iterators
39200	  (postlist, termlist) have a default constructor allowing them to
39201	  be declared uninitialised.
39202
39203Mon Feb 12 10:51:41 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39204
39205	* Updated todo.xml
39206
39207Thu Feb  8 17:59:44 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39208
39209	* Moved omnodepad.h from include/om to indexer/indexgraph/
39210
39211	* Updated todo.xml
39212
39213Thu Feb  8 17:35:45 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39214
39215	* Updated todo.xml
39216
39217Thu Feb  8 17:00:02 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39218
39219	* Quartz now has a metafile which for now has a magic string
39220	  and a version number.
39221
39222	* sys_open_to_read() and delete_file() exported from btree.cc.
39223	  The latter was renamed to sys_unlink_if_exists().
39224
39225	* Include btree_types.h from btree_util.h
39226
39227Wed Feb  7 17:33:00 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39228
39229	* Fix to InMemory databases: terms can be added even if they
39230	  don't have any positions.  (Was causing adddoc2 to fail).
39231
39232Tue Feb  6 18:06:13 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39233
39234	* Rename OmMSet::fetch_items() to fetch().  Add an overloaded
39235	  fetch() method taking a single iterator, to fetch a single item.
39236
39237	* Fix some documentation comments.
39238
39239Mon Feb  5 19:16:45 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39240
39241	* Update TODO
39242
39243Mon Feb  5 19:12:39 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39244
39245	* Test behaviour of OmDocument methods add_term(), set_wdf(),
39246	  remove_posting() and remove_term().  Fails for inmemory databases.
39247
39248Mon Feb  5 17:46:16 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39249
39250	* Modified the behaviour of timeouts during a match.  Internally,
39251	  an absolute timeout time is set from start_match().  Now remote
39252	  nodes should timeout at NOW + remote_timeout, rather than
39253	  waiting remote_timeout milliseconds for each read().  Needs
39254	  some more testing.
39255
39256Mon Feb  5 17:21:52 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39257
39258	* Fix a missing #include in socketcommon.h
39259
39260Mon Feb  5 17:15:46 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39261
39262	* Sort generated todo lists.
39263
39264Fri Feb  2 17:44:54 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39265
39266	* Add an OmDocument::add_term() method.
39267
39268	* Remove an unwanted check that wdf's are greater than 0: wdf of 0
39269	  _is_ allowed.
39270
39271Fri Feb  2 15:04:08 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39272
39273	* Hopefully, a fix for segfaults/assertions when network errors
39274	  happen halfway through a match, when handled by OmErrorHandler
39275	  objects: give the place-holder EmptyTermLists weighting objects.
39276
39277Thu Feb  1 19:03:10 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39278
39279	* Fixes to OmDocument interface: add parameters specifying the
39280	  changes to be made to the wdf to add_posting and remove_posting,
39281	  properly implement remove_posting and remove_term, including
39282	  throwing of exceptions, and add a set_wdf() method to set the wdf
39283	  to an absolute value.  Corresponding modifications to
39284	  OmDocumentTerm.
39285
39286	* Fix commented out errorhandler code in multimatch.cc, so it still
39287	  compiles.
39288
39289	* Add a check to avoid division by zero in bm25weight.cc
39290
39291Thu Feb  1 15:59:30 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39292
39293	* Add a missed #include to omqueryinternal.h
39294
39295Thu Feb  1 14:44:04 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39296
39297	* Add some error handler code, with a "#if 0"ed out comment,
39298	  to multimatch.cc
39299
39300Wed Jan 31 15:45:16 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39301
39302	* Remote servers should close down more gracefully when the
39303	  client closes down in the middle of a request.
39304
39305Tue Jan 30 16:52:05 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39306
39307	* Removed unneeded #includes of STL headers from API headers.
39308
39309	* All #includes of files which are not installed use "" rather than
39310	  <>.  This means all #includes of OM files except for those which
39311	  are in example programs (and hence might be compiled against the
39312	  installed library).  "" search paths are a superset of <> search
39313	  paths: hence this should ensure that the om headers work however
39314	  they are used.
39315
39316	* Moved supplied OmExpandDecider subclasses into
39317	  include/om/omexpanddecider.h
39318
39319	* Remove om_termname_list from API: not used except by code which
39320	  displays it, and in testsuite.
39321
39322Tue Jan 30 12:45:22 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39323
39324	* Removed #include <vector> from omstem.h
39325
39326Tue Jan 30 11:09:29 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39327
39328	* OmStem::get_available_languages() now returns a string
39329	  rather than a vector.  Languages are space-separated.
39330	  Updated apitest.
39331
39332	* Added definition of RTLD_DEFAULT to internaltest.cc
39333
39334Mon Jan 29 16:11:15 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39335
39336	* OmIndexerMessage's copy-on-write slightly more careful.
39337
39338	* Improved debugging in OmIndexerNode
39339
39340	* Fixed a bug in the termlistadd node - it tried to append to a
39341	  non-vector.
39342
39343Fri Jan 26 16:21:09 GMT 2001 Olly Betts
39344
39345	* indexerxml.cc: Removed some dead code.
39346
39347Fri Jan 26 16:11:13 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39348
39349	* Added omindexerdescinternal.h to the Makefile
39350
39351Fri Jan 26 15:50:32 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39352
39353	* Move OmQuery definition into a separate header file.
39354
39355Fri Jan 26 15:46:42 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39356
39357	* Move OmQuery::OP_LEAF out of public visibility, by taking it out
39358	  of the enum, making it a static const member of OmQuery::Internal,
39359	  and introducing an OmQuery::Internal::op_t to store query
39360	  operators in internally.  We lose the ability for the compiler to
39361	  warn us if we forget to check for a particular operator in a
39362	  switch statement, but this can't really be avoided.
39363
39364Fri Jan 26 13:49:33 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39365
39366	* Added get_output_{node,pad} to OmIndexerDesc
39367
39368	* Implemented and testes OmNodeInstanceIterator
39369
39370	* Implemented OmIndexerBuilder::build_from_desc, which somehow
39371	  hadn't been.  indextest now uses it.
39372
39373Thu Jan 25 18:47:08 GMT 2001 Olly Betts
39374
39375	* Fixed various .cvsignore files (omus -> omsee, and
39376	  bindings/java/.cvsignore which seemed to have been copied from
39377	  the top level one at some point).
39378
39379	* Fixed bug in OrPostList when used in a pure boolean context
39380	  (uninitialised variables).
39381
39382	* tests/internaltest.cc: removed unused reference to getopt.h.
39383
39384	* tests/stemtest.pl.in: removed lots of bogus semicolons after
39385	  closing braces.
39386
39387Thu Jan 25 17:53:08 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39388
39389	* Turn debugging messages (OM_DEBUG_TYPES) off by default.
39390
39391	* Add todo items for release to pages generated for website.
39392
39393Thu Jan 25 15:11:14 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39394
39395	* Add a couple of documentation comments: we need many more of
39396	  these.  No method, and certainly no class, in the API should be
39397	  without an explanatory comment (not least so that they're
39398	  accessible from the doxygen browser).
39399
39400Thu Jan 25 14:51:55 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39401
39402	* Hide the internals of OmIndexerDesc, and adding member functions
39403	  to do all the necessary operations (not all yet implemented).
39404
39405	* Indexer internals mostly deal with OmIndexerDesc::Internal
39406
39407	* Removed '#include <vector>' from omindexerdesc.h
39408
39409Thu Jan 25 13:45:49 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39410
39411	* When setting up an RSet, allow documents to be referenced by
39412	  OmMSetIterator, for convenience.
39413
39414	* Allow OmMSetIterators and OmESetIterators to be created without
39415	  initialising, also for convenience.
39416
39417	* Include CFLAGS for STLPORT in the flags produced by omsee-config.
39418
39419	* Change several more missed "omus"s to omsee.
39420
39421Thu Jan 25 13:50:06 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
39422
39423	* Changed a mention of libomus in netprogs/Makefile.am to libomsee
39424
39425Thu Jan 25 12:33:46 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39426
39427	* Build only the API docs when making dist / install.  Full source
39428	  docs only get built if explicitly asked for.
39429
39430Thu Jan 25 11:36:39 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
39431
39432	* Project name changed to Omsee.
39433
39434	  Ramifications from a technical viewpoint are:
39435
39436	  - library name changed from libomus.* to libomsee.*
39437	  - libomus-config renamed to omsee-config
39438	  - Autoconf macro file libomus.m4 renamed to omsee.m4,
39439	    macro name OM_PATH_LIBOMUS changed to OM_PATH_OMSEE
39440	    and macro now defines OMSEE_CFLAGS and OMSEE_LIBS rather
39441	    than LIBOMUS_CFLAGS and LIBOMUS_LIBS.  configure arguments
39442	    changed name, also.
39443
39444Wed Jan 24 15:57:10 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39445
39446	* Improve test of OmMSetIterators equality comparisons.
39447
39448	* Update TODO
39449
39450Wed Jan 24 15:11:11 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39451
39452	* Renamed OmNodeConnection to OmNodePad.  The old name was
39453	  confusing.
39454
39455	* Added OmPadIterator, and OmNodeDescriptor::{in,out}puts_{begin,end}.
39456	  Also implemented OmNodeDescriptor::get_type()
39457
39458	* Added output function for OmPadIterator
39459
39460	* Added test for OmPadIterators
39461
39462Tue Jan 23 19:01:29 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39463
39464	* Remove OmBatchEnquire from system: it may return at a later date,
39465	  but for now it is simply out of date and a maintenance liability,
39466	  and gives no significant advantage.  Code now exists in
39467	  ombatchenquire.h in CVS, but is not part of build process.
39468
39469	* Make OmEnquire and OmMSet have reference counted internals: this
39470	  introduces a further layer of indirection, but tidies up things
39471	  greatly.
39472
39473	* Remove get_docs() and get_doc() methods from OmEnquire.
39474	  get_doc(docid) is catered for by OmDatabase::get_document(docid).
39475	  Added OmMSetIterator::get_document() to replace get_doc on a
39476	  MSetIterator.  Added OmMSet::fetch_items() to replace get_docs():
39477	  it prefetches the documents (or just those specified by some
39478	  MSetIterators into a cache in the Mset).
39479
39480	* OmMSet internals now have a reference to the creating OmEnquire
39481	  object: this is set up after the mset returns from the matcher.
39482	  If the reference is null, the Mset was created standalone, and
39483	  get_doc methods will fail.
39484
39485	* OmMSetIterators now have a reference to the MSet, instead of a
39486	  percent_factor stored.  This allows the percent_factor to be
39487	  lazily calculated, and also allows get_doc to work.
39488
39489	* Add get_rank() method to OmMSetIterators.
39490
39491	* Improve introspection on OmDocument, and fix a bug with assignment
39492	  of OmDocument (wasn't assigning most of the internals).
39493
39494	* Add a missing std:: on a string in omstopwordnode.
39495
39496	* Fixed several documentation comments.
39497
39498	* Add some more debugging to quartz.
39499
39500	* Update TODO.
39501
39502	* Add test_fetchdocs1 to apitest.  Disable test_batchquery1.
39503
39504	* Remove sign comparison error in VectorTermList.
39505
39506Tue Jan 23 16:24:04 GMT 2001 Olly Betts
39507
39508	* No longer compile with -ansi under gcc - it causes problems by
39509	  preventing Linux system headers defining various functions we need.
39510
39511	* testsuite/testsuite.cc: when reporting exceptions, display
39512	  exception's errno value if set.
39513
39514Tue Jan 23 15:13:58 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39515
39516	* Killed OmIndexerBuilder::NodeType.  Now use OmNodeDescriptor
39517	  in its place, getting rid of another vector usage in the API.
39518
39519	* OmNodeDescriptor adjusted for its new role: internals are
39520	  refcounted, and some query as well as setting functions.
39521
39522	* Cast the fourth argument to getsockopt() to void *.  On Solaris
39523	  that argument is char *.
39524
39525Tue Jan 23 11:24:13 GMT 2001 Olly Betts
39526
39527	* Tiny tweak to da_document.cc.
39528
39529Fri Jan 19 18:36:15 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39530
39531	* Removed get/set vector methods from OmSettings
39532
39533	* Remote/prog arguments now passed in a string separated be spaces,
39534	  not a vector.
39535
39536	* split_words() moved from netutils.h to utils.{h,cc}
39537
39538	* Some unnecessary #include <vector> lines removed from API headers
39539
39540	* Removed get_config_vector() from OmIndexerNode
39541
39542	* OmConstantNode no longer handles vector values, and
39543	  OmStopWordNode and OmSelectItemsNode use space-separated
39544	  values instead.
39545
39546Thu Jan 18 17:31:55 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39547
39548	* Removed mentions of std::vector from OmIndexerMessage, and
39549	  updated the relevant bits.
39550
39551	* Fixed a bug with the copy-on-write parts of OmIndexerMessage.
39552
39553Thu Jan 18 17:09:43 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39554
39555	* Fix to btreetest.cc: shouldn't fail if test data files are not
39556	  available.
39557
39558	* Fix to multimatch.cc: clamp hits values to number of documents
39559	  matched after collapsing and match functors, rather than before.
39560
39561Thu Jan 18 14:13:21 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39562
39563	* Fix error messages thrown by quartz when a database doesn't exist /
39564	  already exists and isn't to be overwritten.
39565
39566	* Make quartz clean up an old database directory, if
39567	  database_allow_overwrite is specified, so that old base files don't
39568	  confuse things.
39569
39570Wed Jan 17 18:18:50 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39571
39572	* Added all used toplevel directories to DIST_SUBDIRS
39573
39574Wed Jan 17 18:13:50 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39575
39576	* Martin committed changes to btree.cc which should fix some random
39577	  problems experienced with quartz.
39578
39579	* Added in a test framework for the btree code, which exhibited the
39580	  bug fixed by martin until updating to his fixed version.
39581
39582Wed Jan 17 16:10:02 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39583
39584	* Moved the socklen_t definition so that tcpclient.cc could see
39585	  it.
39586
39587Tue Jan 16 20:35:18 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39588
39589	* Fix creation of quartz databases in backendmanager: all tests should
39590	  now pass.
39591
39592Tue Jan 16 20:28:46 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39593
39594	* Fix quartztest so that the tables / databases get created.
39595	  Implement new test "create1" to check that creation of databases
39596	  works as specified.
39597
39598	* Fix test for whether we are allowed to overwrite a database.
39599
39600	* Implement much better logging from quartz when making new databases.
39601
39602	* Clean up an error message from btree.cc
39603
39604Tue Jan 16 19:24:49 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39605
39606	* Don't display messages about allocation failures in the first
39607	  iteration: if the failures go away when repeating, we're not
39608	  interested.
39609
39610Tue Jan 16 18:28:03 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39611
39612	* Add two new OmSettings, for use when opening databases:
39613	  database_create and database_allow_overwrite.  The idea is that
39614	  databases will only be created if database_create is specified,
39615	  and that when they are being created an exception will be thrown
39616	  if there's an existing database unless database_allow_overwrite
39617	  is specified.
39618
39619	* Implemented database_create and database_allow_overwrite for
39620	  Quartz, which is the only relevant type for now.  Note that this
39621	  breaks the testsuite, quite badly.
39622
39623	* Add OmDatabaseCreateError, which is thrown when creating a database
39624	  fails.
39625
39626Tue Jan 16 17:08:47 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39627
39628	* Fixed a typo in -ldl detection
39629
39630Tue Jan 16 15:15:30 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39631
39632	* Remove OmNeedRecoveryError, and quartz's quartz_perform_recovery
39633	  parameter.  Quartz now always performs recovery if needed: there
39634	  is no need for this added complication.
39635
39636	* Update TODO
39637
39638Tue Jan 16 14:25:03 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39639
39640	* Changed references to SIGCLD to SIGCHLD as it's more portable.
39641
39642Tue Jan 16 14:02:34 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39643
39644	* Added check for whether -ldl is necessary.
39645
39646Tue Jan 16 11:51:25 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39647
39648	* Added compatibility bits for early libxml1 versions.
39649
39650Mon Jan 15 18:18:01 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39651
39652	* Removed use of hstrerror, which isn't portable.
39653
39654Mon Jan 15 18:02:42 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39655
39656	* Fix assertion which was the wrong way round in multimatch.cc
39657
39658Mon Jan 15 17:46:13 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39659
39660	* Fix initialisation of Btree_base::sequential when creating database.
39661
39662Mon Jan 15 15:43:46 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39663
39664	* Renamed some uses of XML node structure for libxml2 compatibility.
39665
39666Mon Jan 15 15:35:50 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39667
39668	* Add some fixes to sequential access to btrees from Martin.
39669
39670Mon Jan 15 12:23:02 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39671
39672	* Set matches_* to the known value of the number of hits if we have
39673	  been unable to return as many hits as were requested, and therefore
39674	  know the exact number.
39675
39676	* Update test_matches1() to check this works correctly.  Passes.
39677
39678Fri Jan 12 17:45:27 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39679
39680	* Implement get_doclength() for QuartzDatabase
39681
39682	* Remove unused parameter from QuartzRecordManager::add_record()
39683
39684Fri Jan 12 17:14:16 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39685
39686	* Fixed MultiAllTermsList, which had stopped working.
39687
39688Fri Jan 12 15:32:34 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39689
39690	* Add test to apitest (postlist6) that doclengths got from postlists
39691	  are the same as those from databases.  Fails for Quartz for the
39692	  moment.
39693
39694	* Add test to quartztest (disktable3) to try and bring out a bug in
39695	  adding to tables.
39696
39697Fri Jan 12 15:20:09 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39698
39699	* Fix STLport macro so that it will accept an STLport installation
39700	  with foo/include/stlport and foo/lib instead of foo/stlport and
39701	  foo/lib.
39702
39703Fri Jan 12 14:04:37 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39704
39705	* Fixed buglet in configure.in which produced a bogus warning
39706	  about regex libraries.
39707
39708	* Added an AC_MSG_RESULT corresponding to an AC_MSG_CHECKING
39709	  for the libxml flags
39710
39711Fri Jan 12 13:18:07 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
39712
39713	* Fixed skip_to() in QuartzAllTermsList
39714
39715Fri Jan 12 12:52:57 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39716
39717	* Turn debugging off in btree.cc: accidentally committed a version
39718	  with lots of verbose debugging on.
39719
39720Fri Jan 12 11:16:17 GMT 2001 Olly Betts
39721
39722	* glibc 2.2 needs `#define _GNU_SOURCE' to give us RTLD_NEXT.
39723
39724	* C++ comments changed to C comments in malloccheck.c.
39725
39726Thu Jan 11 16:42:07 GMT 2001 Olly Betts
39727
39728	* Removed unnecessary `#include "alltermslist.h"' from
39729	  d[ab]_database.h.
39730
39731Wed Jan 10 14:28:10 GMT 2001 Olly Betts
39732
39733	* Updated various .cvsignore files.
39734
39735Tue Jan 09 19:03:12 GMT 2001 Olly Betts
39736
39737	* Tidied up dead code from OmAllTermIterator.
39738
39739Tue Jan 09 18:41:21 GMT 2001 Olly Betts
39740
39741	* OmAllTermsIterator merged into OmTermIterator.
39742
39743	* When iterating over all terms, skip_to() doesn't set at_end()
39744	  when it skips off the end.  Fixed except for quartz and added
39745	  regression test (allterms3).
39746
39747Tue Jan  9 18:14:04 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39748
39749	* Add some extra debugging code into btree code in quartz.
39750
39751Tue Jan  9 17:22:12 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39752
39753	* Make skip_to() work (ie, do nothing) on OmTermIterators, when the
39754	  term iterator is at_end() already.
39755
39756Tue Jan  9 13:32:08 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39757
39758	* Updates to make the quartzdump utility more useful.
39759
39760	* Added new test to test cursor behaviour in quartz.
39761
39762Tue Jan  9 11:31:26 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39763
39764	* Remove an item from TODO
39765
39766Tue Jan  9 10:27:35 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39767
39768	* Add a missing \ in tests/Makefile.am
39769
39770Mon Jan  8 19:03:42 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39771
39772	* Increment format number in quartz/btree_base.cc.  This isn't
39773	  actually due to a change in the btree format, but to ensure that
39774	  some databases which were causing problems are rebuilt.
39775
39776	  We need to add quartz format numbers, separate from the btree format
39777	  numbers, to check this kind of thing.
39778
39779Mon Jan  8 15:13:04 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39780
39781	* Add some debugging, and fix a test data file.
39782
39783Mon Jan  8 13:49:50 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39784
39785	* Fix failure to initialise OmMSet::Internal::have_percent_factor.
39786
39787Thu Jan  4 17:21:24 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39788
39789	* Add new test for a postlist with many documents, designed to fail
39790	  and exhibit the bug andy has found.  So far doesn't fail.
39791
39792Wed Jan  3 19:30:30 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39793
39794	* Add get_percent method to OmMSetIterator.  Untested.
39795
39796	* Add om_percent type to om_types.
39797
39798	* Add test of sort order of terms in get_matching_terms.
39799
39800Tue Jan  2 15:05:53 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
39801
39802	* Move documentation of parameters for OmSettings out of omsettings.h
39803	  and into docs/.  Not in distribution at the moment: it is awaiting
39804	  placement into a permanent home (I think the user manual is the
39805	  correct place).
39806
39807	* Add a bm25weight_min_normlen parameter: this specifies a cutoff
39808	  on the minimum value that can be used for a normalised document
39809	  length: smaller values will be forced up to this cutoff.  This
39810	  prevents very small documents getting a huge bonus weight.
39811
39812Wed Dec 20 16:54:41 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39813
39814	* Fix warning in QuartzTable
39815
39816Wed Dec 20 15:13:05 GMT 2000 Olly Betts
39817
39818	* OmTermListIterator merged into OmTermIterator.
39819
39820	* Added OmRSet::contains() - checks if an RSet contains a given
39821	  docid.
39822
39823	* Methods returning `const om_termname' now just return
39824	  `om_termname'.
39825
39826Tue Dec 19 16:55:02 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39827
39828	* Implemented AllTermsIterator for DA and Multi databases.
39829	  Added a test which actually uses a multidatabase, but
39830	  disabled it as it currently fails for both Quartz and DA.
39831
39832Tue Dec 19 12:14:05 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39833
39834	* Adjusted TODO
39835
39836Tue Dec 19 20:06:43 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39837
39838	* Escaping for termnames in remote database communication modified
39839	  to use only characters in range 33 to 126.  Should now work on all
39840	  architectures.
39841
39842	* Increased OM_SOCKET_PROTOCOL_VERSION to 8.
39843
39844Mon Dec 18 17:23:48 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39845
39846	* Added "match_cutoff" option to get_mset OmSettings.
39847
39848	* Added test for "match_cutoff" to apitest.
39849
39850	* Updated todo.xml
39851
39852Mon Dec 18 17:19:40 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39853
39854	* Implemented opening positionlists from inmemory databases.  Added
39855	  a testcase as well, which is run for quartz and inmemory.
39856
39857Mon Dec 18 15:48:16 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39858
39859	* Implemented AllTermsIterator for quartz.  Interaction with
39860	  QuartzPostList needs to be cleaned up.
39861
39862	* Added new functions [un]pack_string_preserving_sort(), which
39863	  pack a string in a way which preserves sort order.  Added a
39864	  testcase to quartztest.
39865
39866	* Now use [un]pack_string_preserving_order() on postlist keys, so
39867	  that we can get at terms in sorted order.  (And get_tname_from_key()
39868	  added to separate out the term-unpacking as well as the packing)
39869
39870	* Enabled test_allterms1 in apitest, but put it in a group of
39871	  tests only run for inmemory and quartz.  This should be extended
39872	  to other backends.
39873
39874Mon Dec 18 14:33:42 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39875
39876	* Implemented tests of msetiterator and esetiterator copying and
39877	  assignment.
39878
39879	* Fix segfault when assigning to [me]setiterator to end.
39880
39881	* Updated todo.xml
39882
39883Mon Dec 18 13:52:53 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39884
39885	* Move creation of first key in a quartz postlist into a named
39886	  function (was scattered through the code).
39887
39888Mon Dec 18 11:19:53 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39889
39890	* Update todo.xml
39891
39892Mon Dec 18 10:47:42 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39893
39894	* Remove const from reverse_iterators in api_db.cc, so get around
39895	  brokenness of egcs 1.1.2
39896
39897Mon Dec 18 09:41:54 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39898
39899	* Added apitest_space.txt to the Makefile.am
39900
39901Sun Dec 17 16:15:03 GMT 2000 Olly Betts
39902
39903	* Replaced all API uses of om_termname_list with OmTermIterator.
39904
39905Fri Dec 15 18:54:10 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39906
39907	* Implemented OmAllTermsIterator interface in API.  It works for
39908	  inmemory - the rest haven't been implemented yet.  The test
39909	  is commented out.
39910
39911Fri Dec 15 15:47:53 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39912
39913	* Updated TODO.
39914
39915	* database returns positionlists as AutoPtrs; this neatens some of
39916	  the code from the previous changelog entry, and makes explicit the
39917	  ownership of the pointer.  postlists and termlists should be
39918	  AutoPtrs, likewise.
39919
39920Fri Dec 15 14:59:41 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39921
39922	* Make OmPositionListIterators retrieved from OmPostListIterators
39923	  valid indefinitely (were only valid until OmPostListIterator was
39924	  moved).  This makes them consistent with OmPositionListIterators
39925	  retrieved from OmDatabases.
39926
39927	* Renamed PostList::get_position_list() to read_position_list.
39928	  Added PostList::open_position_list() which opens a new positionlist
39929	  and returns it as an AutoPtr.
39930
39931Fri Dec 15 13:09:51 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39932
39933	* Make TODO.release file, containing TODO items for next release.
39934
39935Fri Dec 15 12:06:42 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39936
39937	* QuartzDatabases now autoflush after 1000 changes.
39938
39939Fri Dec 15 11:40:37 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39940
39941	* Fix segfault in quartz_table
39942
39943Fri Dec 15 11:23:15 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39944
39945	* Removed begin/end_session() from quartztest
39946
39947Thu Dec 14 19:19:40 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39948
39949	* Done todo item: For writable databases, make the behaviour currently
39950	  obtained by calling begin_session() and later end_session() the
39951	  default behaviour.  If users want the changes to be applied
39952	  immediately following a change, they should call flush().
39953
39954Thu Dec 14 17:48:27 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39955
39956	* Fix problem with recalc_maxweight() not being called before a
39957	  get_maxweight() in multimatch.cc if a node prunes at the top level,
39958	  since recalculate_w_max wasn't being checked at this point.
39959	  Introduced helper function getorrecalc_maxweight() to tidy this up.
39960
39961	* Tidy up Asserts in common/netutils.h.
39962
39963Thu Dec 14 17:11:17 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39964
39965	* Adjusted todo.xml
39966
39967Thu Dec 14 16:21:27 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39968
39969	* Removed handling of OmDatabaseModifiedError in the API - it's
39970	  up to the users to know what to do.  Disabled quartzoverwrite2
39971	  as it's now inappropriate.
39972
39973	* Added OmDatabase::reopen() to help them do so.
39974
39975	* Adjusted todo.xml
39976
39977Thu Dec 14 14:38:39 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39978
39979	* Added another quoting regression test.
39980
39981Thu Dec 14 14:36:53 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39982
39983	* Fixed the quoting _again_, since it broke with backslashes.
39984
39985Thu Dec 14 12:49:58 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
39986
39987	* Fix problems with recalculation of maxweight in postlists, causing
39988	  AssertParanoid at multimatch.cc:393.  When a prune was happening,
39989	  recalc_maxweight flag was not always being set, because some
39990	  {next,skip_to}_handling_prune() methods weren't being passed the
39991	  matcher, and a default argument of 0 was being used.  I've now
39992	  removed the default argument and pass the matcher always.
39993
39994	  Sometimes the recalc could perhaps be avoided, but this is
39995	  certainly safer for now.
39996
39997Thu Dec 14 12:30:02 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
39998
39999	* Sleepcat is now disabled by default.
40000
40001	* Fixed a problem with tabs not being quoted in the remote case.  All
40002	  control characters are now quoted.  Incremented the protocol ver
40003	  number.
40004
40005Thu Dec 14 11:54:17 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40006
40007	* Added regression test to check that all characters can be
40008	  are safe to exist in document keys.
40009
40010	* Fixed OmDebug so that it can display messages containing zero bytes
40011	  (use fwrite instead for fprintf)
40012
40013Wed Dec 13 18:43:40 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40014
40015	* Add regression tests to apitest to check that OmMSet and OmESet
40016	  begin() and end() iterators compare equal if the mset is empty.
40017	  Fix matchfunctor used in test_matchfunctor1 so that it works for
40018	  Muscat3.6 databases.
40019
40020Wed Dec 13 18:35:05 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40021
40022	* Fixed bugs in OmMSet and OmESet iterators: begin() when the set
40023	  was empty produced an invalid iterator, and the assignment
40024	  operators would have failed when end iterators were involved.
40025
40026	* Added a check in test_matchfunctor1() that the mset returned is
40027	  not empty.
40028
40029Wed Dec 13 18:18:09 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40030
40031	* Turn off tests involving terms with newlines or zero bytes in terms
40032	  with Muscat3.6 backends; these can't be expected to work.
40033
40034Wed Dec 13 18:06:29 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40035
40036	* Uncommented the code in pctcutoff1 - test now passes.
40037
40038Wed Dec 13 17:53:19 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40039
40040	* Fix: m36_key_file parameter wasn't being set with DA flimsy
40041	  databases (thanks to Mark Hagger).
40042
40043	* indextest.cc changed to use "\n" instead of endl - compiles
40044	  with STLport again.
40045
40046Wed Dec 13 17:27:17 GMT 2000 Olly Betts
40047
40048	* OmMSet is now an STL compatible container.
40049
40050	* Om*Iterator::difference_type was unsigned - now signed.
40051
40052	* net/readquery.ll: fixed compiler warning.
40053
40054	* Remote backend was defaulting to collapse on key 0.
40055
40056Wed Dec 13 16:48:49 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40057
40058	* Add handling of DatabaseModified to OmEnquire::get_mset()
40059
40060Wed Dec 13 16:28:47 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40061
40062	* Escape zero bytes in the network protocol, since these were
40063	  breaking things when being passed across as part of keys.
40064
40065	* Add test of having zero bytes in the collapse keys.
40066
40067	* In testsuite, only display the context of errors if there is one
40068	  present.
40069
40070Wed Dec 13 14:44:46 GMT 2000 Olly Betts
40071
40072	* Implemented OmMSet::operator[]().
40073
40074Wed Dec 13 14:30:57 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40075
40076	* Added support for handling overwritten database conditions.
40077	  Currently works for OmDocument::get_{data,key}().
40078
40079Wed Dec 13 13:20:45 GMT 2000 Olly Betts
40080
40081	* Elaborated API hitlist in todo.xml.
40082
40083Wed Dec 13 12:28:18 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40084
40085	* Fix to BackendManager to stop it removing tables prematurely.
40086
40087Wed Dec 13 11:49:53 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40088
40089	* Apply the stemmer to query terms used in spaceterms1.  (Not doing
40090	  so caused the test to fail spuriously on local databases, since the
40091	  terms are stemmed at index time).  The test still fails with da and
40092	  db databases.
40093
40094	* Fixed a problem when stats were unpacked from the network stream,
40095	  where term names were not correctly unquoted.  This led to double
40096	  quoting of global statistics.
40097
40098Wed Dec 13 02:49:05 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40099
40100	* Implement copy and assignment methods for OmPositionListIterator.
40101
40102Wed Dec 13 02:37:14 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40103
40104	* ESet and MSet iterators now cope with being copied / assigned when
40105	  the internals are null.
40106
40107	* Added copy method to OmPositionListIterator interface.  No
40108	  implementation for this yet though, or for the already existing
40109	  assignment method.
40110
40111	* Added a couple of easy items to the todo list to check regarding
40112	  iterators.
40113
40114Wed Dec 13 02:19:50 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40115
40116	* Fix small bug in mset_range_is_same{,_weights}()
40117
40118Wed Dec 13 02:07:59 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40119
40120	* And add copy and assignment for OmESet, similarly.
40121
40122Wed Dec 13 01:58:38 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40123
40124	* Add copy and assignment operators to OmMSet so that the internals
40125	  get copied (rather than just the pointer to them).  Really want a
40126	  small internals class, holding a refcount to the real internals, or
40127	  else to use refcntptrs for the members of OmMSet::Internal which are
40128	  potentially large (eg, items)
40129
40130Wed Dec 13 01:05:44 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40131
40132	* Add Asserts to api/omdatabaseinternal.cc to ensure that there is at
40133	  least one database present when opening termlists, etc.  This should
40134	  really be done by throwing errors.
40135
40136	* Add destructor to OmMSet, deleting internals.
40137
40138	* Implement getting positionlists from QuartzDatabases.
40139
40140	* Fix bug in copy constructor of OmDocument::Internal - some fields
40141	  were not being copied.
40142
40143	* Fix api_db.cc so it compiles: code referring to mset by subscripting
40144	  temporarily commented out.
40145
40146Tue Dec 12 20:05:10 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40147
40148	* Fix bug with truncation of intermediate keys in btrees.
40149
40150Tue Dec 12 18:33:12 GMT 2000 Olly Betts
40151
40152	* OmMSet::get_docs() now takes sane parameters.
40153
40154	* Various test programs updated to nearly work with new OmMSet
40155	  interface.
40156
40157Tue Dec 12 17:18:33 GMT 2000 Olly Betts
40158
40159	* Finished cleaning up OmMSet; updated TODO to reflect this.
40160
40161Tue Dec 12 17:16:02 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40162
40163	* Fix bug with sorting keys in btrees.
40164
40165	* Various fixes to quartzdump.
40166
40167Tue Dec 12 15:40:28 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40168
40169	* Nettest compiles with new OmMSet interface.
40170
40171Tue Dec 12 15:09:14 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40172
40173	* Fixed an endless loop in QuartzWritableDatabase::do_delete_document.
40174
40175Tue Dec 12 15:07:39 GMT 2000 Olly Betts
40176
40177	* OmMSetItem replaced by OmMSetIterator.
40178
40179	* Added OmESet::empty().
40180
40181	* Fixed == on OmESetIterator.
40182
40183Tue Dec 12 14:16:57 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40184
40185	* Renamed arguments to compare_keys()
40186
40187Tue Dec 12 12:05:24 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40188
40189	* Added quartzdump utility to dump the contents of a quartz table.
40190
40191Tue Dec 12 10:54:44 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40192
40193	* Added constructors and destructor to OmRSet.
40194
40195Mon Dec 11 16:32:07 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40196
40197	* Remove caching of average length in OmDatabaseInternal, was breaking
40198	  asking for the average length of a database which was being
40199	  modified.
40200
40201Mon Dec 11 16:03:46 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40202
40203	* If no documents in database, don't divide by zero in
40204	  omdatabaseinternal.cc
40205
40206	* If a document object doesn't come from the database, when iterating
40207	  through its termlist don't open postlists from the nonexistent
40208	  database; open them from the DocumentTerm objects in the document
40209	  instead.
40210
40211	* Remove old unused and undefined method
40212	  OmDocument::Internal::add_posting()
40213
40214Mon Dec 11 13:53:18 GMT 2000 Olly Betts
40215
40216	* omenquire.h: Removed superfluous declaration of OmMSetCmp.
40217
40218Mon Dec 11 13:38:12 GMT 2000 Olly Betts
40219
40220	* Updated TODO list.
40221
40222Mon Dec 11 13:24:45 GMT 2000 Olly Betts
40223
40224	* OmRSet internals encapsulated.
40225
40226Mon Dec 11 12:42:02 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40227
40228	* OmIndexerMessage::get_element and ...::operator[] now have
40229	  non-const versions.  Fixes const-warning in omstemmernode.cc.
40230
40231Mon Dec 11 12:17:32 GMT 2000 Olly Betts
40232
40233	* Better typedef-s for Om*Iterator::difference_type.
40234
40235Sun Dec 10 17:51:41 GMT 2000 Olly Betts
40236
40237	* Corrected various typedef-s for Om*Iterator.
40238
40239Sun Dec 10 17:28:59 GMT 2000 Olly Betts
40240
40241	* Updated TODO to reflect OmESet being cleaned up.
40242
40243	* Term position argument to OmDocument::add_posting() is now
40244	  optional (as it was for OmDocumentContents).
40245
40246Sun Dec 10 16:55:17 GMT 2000 Olly Betts
40247
40248	* OmESetItem is dead - long live OmESetIterator!
40249
40250	* net/socketclient.cc: fixed compiler warning.
40251
40252	* net/socketserver.cc: fixed compiler warning.
40253
40254Sun Dec 10 13:29:15 GMT 2000 Olly Betts
40255
40256	* Started to encapsulate OmESet/OmESetItem interface.  Interface is
40257	  close, but currently implementation is exposed in omenquire.h.
40258
40259	* apitest wasn't running puncterms1 or spaceterms1 - fixed.
40260
40261Sun Dec 10 11:34:39 GMT 2000 Olly Betts
40262
40263	* om/autoptr.h -> autoptr.h in lots of places.
40264
40265Fri Dec  8 17:20:04 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40266
40267	* Updated indextest to not use AutoPtr<OmIndexer>
40268
40269Fri Dec  8 17:14:09 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40270
40271	* Oops - removed one too many #include "autoptr.h"
40272
40273Fri Dec 08 16:50:42 GMT 2000 Olly Betts
40274
40275	* Updated TODO.
40276
40277Fri Dec  8 16:44:26 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40278
40279	* IndexerBuilder now returns OmIndexer objects instead of
40280	  AutoPtr<OmIndexer>.  OmIndexer's internals are reference
40281	  counted.
40282
40283	* Moved autoptr.h from include/om to common/, since it's no
40284	  longer used in the API.
40285
40286Fri Dec  8 16:22:48 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40287
40288	* Fixed omstemmer node bug and made debug slightly more verbose
40289	  in indextest.cc.
40290
40291Fri Dec  8 16:13:36 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40292
40293	* Added a test for OmIndexerMessage to indextest
40294
40295	* Added output operator for OmIndexerMessage
40296
40297	* Fixed a bug introduced into omvectorsplit node
40298
40299	* Changed couts in indextest.cc to touts.
40300
40301Fri Dec 08 14:53:24 GMT 2000 Olly Betts
40302
40303	* quartztest: removed OmDocumentTerm reference so that it'll
40304	  compile (tests fail though).
40305
40306Fri Dec  8 14:42:46 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40307
40308	* OmIndexerMessage is now a class by itself, replacing OmIndexerData
40309	  and the typedef to AutoPtr<OmindexerData>.  It's now a copy-on-write
40310	  object.
40311
40312	* The indexer stuff all changed.
40313
40314Fri Dec 08 14:24:02 GMT 2000 Olly Betts
40315
40316	* omindexdoc.{cc,h}: no longer used so removed.
40317
40318	* Pushed OmDocumentTerm from API level into the internals of the
40319	  library.
40320
40321	* Updated TODO.
40322
40323Fri Dec 08 12:08:49 GMT 2000 Olly Betts
40324
40325	* delve: if just given a database (or list of databases), report the
40326	  number of documents and average document length.
40327
40328Thu Dec  7 20:39:24 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40329
40330	* Fix bug: Om*Iterators which were created over empty lists didn't
40331	  have null internals, causing them not to compare equal to end
40332	  iterators.
40333
40334	* Added many asserts to iterator code.
40335
40336Thu Dec  7 20:02:43 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40337
40338	* Removed OmTermListIteratorMap - OmTermListIterator can now be
40339	  across either a map or an actual termlist.
40340
40341	* Om*Iterator classes all now delete internals when reaching end,
40342	  freeing resources sooner and making the comparison operators much
40343	  simpler.
40344
40345Thu Dec  7 18:33:03 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40346
40347	* Updates to TODO
40348
40349Thu Dec  7 18:32:39 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40350
40351	* Implementation of write locks for Quartz
40352
40353Thu Dec  7 18:28:55 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40354
40355	* Fix to backendmanager which doesn't return writable databases
40356	  unnecessarily (which breaks things when there are write locks)
40357
40358Thu Dec  7 18:25:50 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40359
40360	* Added test for Quartz write locks
40361
40362Thu Dec  7 17:56:19 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40363
40364	* Add OmDocument::set_data() method which takes a string, instead of
40365	  an OmData object.  This allows, implicitly, use of const char *'s
40366	  as well.
40367
40368	* Further fixes to quartztest.  It now compiles (though I've not
40369	  tried linking it yet...)  :)
40370
40371Thu Dec  7 17:49:50 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40372
40373	* Fixed omkeylistiterator return types.
40374
40375Thu Dec  7 17:27:57 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40376
40377	* Moved get_document() from OmWritableDatabase to OmDatabase.
40378
40379	* Added -> operator to OmKeyListIterator.  Fixed return values
40380	  and constness of Om*Iterator::operator *() methods.
40381
40382	* Some fixes to quartztest.cc, but not enough to get it compiling.
40383
40384Thu Dec 07 16:21:28 GMT 2000 Olly Betts
40385
40386	* Some work on getting quartztest working.
40387
40388Thu Dec 07 16:10:00 GMT 2000 Olly Betts
40389
40390	* The library now builds, but "make check" still fails.
40391
40392Thu Dec  7 15:39:19 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40393
40394	* Fixes to testsuite/index_utils.cc to not segfault.
40395
40396Thu Dec  7 14:31:56 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40397
40398	* Fixes to api_db.cc so that it compiles.
40399
40400Wed Dec  6 18:50:48 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40401
40402	* Add test for terms with spaces, newlines, zero bytes, or
40403	  backslashes.
40404
40405	* Updates to TODO
40406
40407Wed Dec 06 18:18:16 GMT 2000 Olly Betts
40408
40409	* Woohoo!  Now builds with just --disable-indexer!
40410	  (still doesn't pass any tests).
40411
40412Wed Dec 06 17:24:19 GMT 2000 Olly Betts
40413
40414	* Minor fix.  Now builds with --disable-indexer
40415	  --disable-quartz-backend (but doesn't pass any tests).
40416
40417Wed Dec 06 16:35:34 GMT 2000 Olly Betts
40418
40419	* Fixed up lots of build errors.
40420
40421Wed Dec 06 14:56:59 GMT 2000 Olly Betts
40422
40423	* Begin the long job of replacing OmDocumentContents with
40424	  OmDocument.  Won't currently build - expect the tree to be broken
40425	  for a few days.  As usual, if you want a working build, use the
40426	  "snapshot_latest" tag.
40427
40428Wed Dec  6 12:03:44 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40429
40430	* Backed out yesterday's overwritten-handling stuff.
40431
40432Wed Dec  6 11:36:55 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40433
40434	* Increase sleep in tcpclient1 to 3 (did tcpmatch1 last time, duh!)
40435
40436Tue Dec  5 17:13:38 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40437
40438	* QuartzDocument now has a QuartzTableManager pointer rather than
40439	  two QuartzTable pointers.
40440
40441	* QuartzDatabase::do_get_document_internal() copes with Btree
40442	  overwritten conditions.
40443
40444	* QuartzDocument methods cope with Btree overwritten conditions
40445
40446	* New method QuartzTableManager::reopen_tables_because_overwritten()
40447	  for helping with the above.
40448
40449	* New test in quartztest for testing overwritten problems from the
40450	  API rather than just internally to Quartz.
40451
40452	* Fixed a typo in omsettings.h comment (quartz_dir used to refer to
40453	  a sleepycat database)
40454
40455Tue Dec  5 16:53:46 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40456
40457	* Update todo.
40458
40459	* Fix undesirable assert in stats.h
40460
40461Tue Dec  5 15:41:40 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40462
40463	* Replace OmMSet::docs_considered with
40464	  OmMSet::matches_{lower_bound,estimated,upper_bound}, giving more
40465	  useful information.
40466
40467	* PostLists now have get_termfreq_{min,est,max}(), instead of
40468	  get_termfreq(), so the postlist tree can be used to calculate
40469	  the matches_* values for the mset.  Implemented for all the
40470	  postlist subclasses.
40471
40472	  LeafPostList's still has a virtual get_termfreq() method,
40473	  and implements get_termfreq_* in terms of it, so database postlists
40474	  don't need to be modified.
40475
40476	* Passing of MSets across network modified to pass the new
40477	  information.
40478
40479	* PendingMSet uses the values from the mset to return the values
40480	  of get_termfreq_*().  This assumes that recalc_maxweight has been
40481	  called first, which is has been.
40482
40483	* Muscat36 databases get_termfreq() methods fixed to use a
40484	  LeafPostList rather than a PostList.
40485
40486	* Renamed test docs_considered1 to matches1, and add several
40487	  more cases to it.
40488
40489Tue Dec 05 15:38:27 GMT 2000 Olly Betts
40490
40491	* Added tests/testdata/apitest_punc.txt to distribution.
40492
40493Tue Dec 05 15:07:26 GMT 2000 Olly Betts
40494
40495	* Oops, failed to add new file `tests/testdata/apitest_punc.txt'
40496	  with last check-in.
40497
40498Tue Dec 05 14:34:04 GMT 2000 Olly Betts
40499
40500	* OmTermListIterator implemented for an OmDocument with terms stored
40501	  in a map rather than coming from a Document.
40502
40503	* Fixes to remote protocol so solve problems with terms with
40504	  punctuation in (regression test punc_terms1).
40505
40506Mon Dec  4 15:02:53 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40507
40508	* Makefile tweak in docs/
40509
40510Mon Dec 04 14:13:05 GMT 2000 Olly Betts
40511
40512	* More OmDocument work.
40513
40514Mon Dec  4 11:43:46 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40515
40516	* Renamed OmMSet::mbound to docs_considered.
40517
40518Mon Dec  4 10:11:11 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40519
40520	* Added some more std:: prefixes for STLport.
40521
40522Fri Dec  1 17:45:01 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40523
40524	* Increase the sleep after the server is started by tcpclient1 to 3
40525	  seconds so that the server is more likely to have started when
40526	  then test ran.  This seems to be what was causing the test to
40527	  randomly fail.  Really, we want a better solution to this (such as
40528	  the server picking a port and writing it out on stdout once it is
40529	  listening.)
40530
40531Fri Dec  1 17:27:02 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40532
40533	* Swapped the ports used by tcpclient1 and tcpmatch1 to see if the
40534	  random failures follow suit.
40535
40536Fri Dec  1 17:21:07 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40537
40538	* Another minor fix to work with STLport.
40539
40540Fri Dec  1 17:01:02 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40541
40542	* Add std::'s and similar to fix compilation with STLport.
40543
40544	* Fix bug in expander due to nth_element being called on the wrong
40545	  element.  This is the counterpoint of the bug fixed on Nov 24th
40546	  with the matcher.
40547
40548Fri Dec  1 16:30:26 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40549
40550	* Minor tweaks in error strings.
40551
40552Fri Dec 01 12:57:59 GMT 2000 Olly Betts
40553
40554	* Corrected erroneous documentation comment.
40555
40556Thu Nov 30 18:50:16 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40557
40558	* OmSettings no longer throws exceptions internally (at the cost of
40559	  slightly more code duplication).
40560
40561Thu Nov 30 18:05:39 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40562
40563	* Add a few std::'s to strings which had been missed.
40564
40565Thu Nov 30 16:41:11 GMT 2000 Olly Betts
40566
40567	* OmDocument::Internal now knows its OmDatabase.
40568
40569Thu Nov 30 16:40:33 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40570
40571	* Add context to network errors thrown from OmSocketLineBuf.
40572
40573Thu Nov 30 16:21:47 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40574
40575	* Added a quartz test for largish bitmaps.
40576
40577	* Fixed the code so that the above test would pass.
40578
40579Thu Nov 30 16:10:37 GMT 2000 Olly Betts
40580
40581	* OmDocument::add_posting() pretty much done.
40582
40583Thu Nov 30 15:51:46 GMT 2000 Olly Betts
40584
40585	* More work on OmDocument::add_posting().
40586
40587	* Added OmTermListIterator::positionlist_begin() and
40588	  OmTermListIterator::positionlist_end().
40589
40590Thu Nov 30 14:16:28 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40591
40592	* Fixed a prototype bug introduced with the last commit.
40593
40594Thu Nov 30 13:23:14 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40595
40596	* Bcursor::find_key now more const-correct.
40597
40598	* Bcursor_create now returns an AutoPtr.  The resultant changes
40599	  fixed a memory leak.
40600
40601	* New exception: OmDatabaseModifiedError.  Thrown when an open
40602	  revision of a table is no longer valid due to multiple updates.
40603
40604	* quartzoverwrite1 test re-enabled, and passes.
40605
40606Thu Nov 30 13:23:27 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40607
40608	* nettest now uses quartz backend: should always run all tests now
40609	  (apart from tcpdead1, which doesn't work).
40610
40611Wed Nov 29 19:46:22 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40612
40613	* In testsuite, report the context of Om exceptions as well as their
40614	  type and message.
40615
40616Wed Nov 29 18:30:10 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40617
40618	* Add "remote_connect_timeout" parameter to be supplied when opening
40619	  a remote database, to specify a separate timeout for the connect
40620	  operation to that used once the connection has been opened.
40621
40622	* Add setting of the context of errors thrown by tcpclient or
40623	  progclient, so that the node which failed can be determined.
40624
40625Wed Nov 29 17:50:03 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40626
40627	* Reworked Btree_base::read() a bit so that it's hopefully more
40628	  readable.
40629
40630	* Hopefully fixed a bug when the bitmap approaches 1k.
40631
40632	* Fix to catch problems re-opening databases after an apply in
40633	  Quartz.
40634
40635Wed Nov 29 17:30:26 GMT 2000 Olly Betts
40636
40637	* Added OmDocument::termlist_begin() and OmDocument::termlist_end()
40638
40639Wed Nov 29 16:53:13 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40640
40641	* Comment out quartzoverwrite1 test so that it doesn't cause problems
40642	  for other developers.
40643
40644Wed Nov 29 16:27:19 GMT 2000 Olly Betts
40645
40646	* docid now in Document class rather than subclasses.
40647
40648Wed Nov 29 14:54:13 GMT 2000 Olly Betts
40649
40650	* leafdocument.cc renamed to document.cc
40651
40652	* Document class now has a pointer to the associated Database class
40653	  so we can open termlists, etc.
40654
40655Wed Nov 29 14:03:43 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40656
40657	* Add quartztest to test for case when a database block gets
40658	  overwritten.  Currently, this fails because an exception doesn't
40659	  get thrown when it should.
40660
40661Wed Nov 29 13:18:24 GMT 2000 Olly Betts
40662
40663	* LeafDocument class renamed to Document.
40664
40665Wed Nov 29 12:35:49 GMT 2000 Olly Betts
40666
40667	* Added OmDocument::remove_posting(), OmDocument::remove_term(),
40668	  and OmDocument::clear_terms()
40669
40670Wed Nov 29 12:31:22 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40671
40672	* Added another revision number in the middle of the base file,
40673	  before the bitmap.  Also now check that there isn't any extra
40674	  data at the end after we finish reading it.  Incremented the
40675	  database format.
40676
40677Wed Nov 29 11:55:03 GMT 2000 Olly Betts
40678
40679	* Added OmDocument::remove_key() and OmDocument::clear_keys()
40680
40681Tue Nov 28 18:34:57 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40682
40683	* Btree bitmap now merged with base - one object, one file.
40684
40685Tue Nov 28 17:13:56 GMT 2000 Olly Betts
40686
40687	* Added OmDocument::set_data()
40688
40689Tue Nov 28 16:47:06 GMT 2000 Olly Betts
40690
40691	* Started to alter OmDocument to be a general purpose document class
40692	  which includes the functionality currently in OmDocumentContents.
40693
40694Tue Nov 28 15:08:38 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40695
40696	* Added OmSplitOnCharsNode, which does a subset of OmRegexSplitNode
40697	  but less slowly.
40698
40699	* Modified RegexSplit node and regexcommon so that less copying
40700	  of strings is needed.
40701
40702Tue Nov 28 13:42:41 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
40703
40704	* Moved the Btree's bitmap into a separate object.
40705
40706Tue Nov 28 13:06:36 GMT 2000 Olly Betts
40707
40708	* Eliminated OmDocumentParams.
40709
40710	* Removed unnecessary mutex from OmDocument::Internal.
40711
40712Mon Nov 27 18:45:27 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40713
40714	* Implement get_position_list() on databases.  Untested.  Also needs
40715	  some work to make consistent with open_position_list() on posting
40716	  lists: see todo list.
40717
40718Mon Nov 27 18:29:00 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40719
40720	* Change #define LEVEL ... to #define GET_LEVEL ... in btree_util.h:
40721	  fixes problem reported by includetest
40722
40723Mon Nov 27 18:20:42 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40724
40725	* Added a set of modifications to the todo.xml.  Also, add a
40726	  "release" field, recording the release that the work must be
40727	  performed by.
40728
40729Mon Nov 27 18:08:35 GMT 2000 Olly Betts
40730
40731	* A RefCntPtr now copes with being assigned to itself (used to
40732	  delete the underlying object if the reference count was 1).  Added
40733	  regression test (refcnt2).
40734
40735	* Now overwrite pointer inside RefCntPtr before deleting the pointed
40736	  to object so there's no window where another thread can access the
40737	  pointer and get the just-deleted object.
40738
40739Mon Nov 27 14:36:59 GMT 2000 Olly Betts
40740
40741	* OmError class now optionally stores an errno value.
40742
40743Mon Nov 27 13:04:18 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40744
40745	* Quartztest builds its test databases in a subdirectory, which
40746	  is now in .cvsignore, so we shouldn't get cvs complaining about
40747	  so many unknown files any more.
40748
40749Mon Nov 27 12:53:16 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40750
40751	* Another TODO item.
40752
40753Mon Nov 27 12:15:53 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40754
40755	* Added a couple of new items to the todo list.
40756
40757Fri Nov 24 19:23:56 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40758
40759	* Quartztests now deletes all old tables, so that database formats
40760	  don't cause problems.
40761
40762Fri Nov 24 19:03:59 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40763
40764	* Added std:: prefix to lots of strings which didn't have it.
40765	  I've probably added some where they shouldn't be: there were rather
40766	  a lot of cases of this.
40767
40768Fri Nov 24 18:27:06 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40769
40770	* Major bug fix!  When removing elements, matcher was performing
40771	  nth_element() on the first element to be thrown away, rather than
40772	  the lowest element to keep.  This meant that, after throwing away
40773	  low scoring items, items.back() was a random item rather than the
40774	  lowest scoring item.  This caused the min weight for getting into
40775	  the mset to go up faster than it should have done, and generally
40776	  broke everything.
40777
40778	  It will be interesting to compare evaluation measures before and
40779	  after this fix.
40780
40781Fri Nov 24 15:34:17 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
40782
40783	* Declare this to be version 0.4.1
40784