1This ChangeLog file is no longer maintained - see the git repo history for
2more recent changes: https://xapian.org/bleeding
3
4Fri Sep 25 07:27:51 GMT 2015  Olly Betts <olly@survex.com>
5
6	* NEWS: Update.
7
8Fri Sep 25 07:10:03 GMT 2015  Olly Betts <olly@survex.com>
9
10	* net/length.cc,net/length.h: Provide overloads for unsigned, unsigned
11	  long, and unsigned long long, rather than uint32_t and uint64_t -
12	  this avoids overload resolution failing when we pass a type which
13	  isn't one which uint32_t or uint64_t is a typedef to.  (see #385)
14
15Fri Sep 25 07:08:42 GMT 2015  Olly Betts <olly@survex.com>
16
17	* api/,backends/remote/net_postlist.cc,
18	  backends/remote/remote-database.cc,common/serialise.h,net/: Split
19	  decode_length() into versions which decode a 32 vs 64 bit value,
20	  and which check that there's at least the decoded length in bytes
21	  in the source data.  (Fixes #678 and helps #385)
22
23Fri Sep 25 04:48:27 GMT 2015  Olly Betts <olly@survex.com>
24
25	* common/socket_utils.cc: Change C-style cast to reinterpret_cast.
26
27Fri Sep 25 04:38:49 GMT 2015  Olly Betts <olly@survex.com>
28
29	* docs/stemming.rst: Update snowball website link to snowballstem.org.
30
31Sun Aug 30 04:43:49 GMT 2015  Olly Betts <olly@survex.com>
32
33	* docs/remote_protocol.rst: Markup tweak.
34
35Fri Sep 25 04:27:46 GMT 2015  Olly Betts <olly@survex.com>
36
37	* backends/remote/remote-database.cc: Improve error when the client and
38	  server remote protocol versions aren't compatible.
39
40Fri Sep 25 04:23:38 GMT 2015  Olly Betts <olly@survex.com>
41
42	* docs/: Strip out "quickstart" examples which are out of date and
43	  rather redundant with the "simple" examples.
44
45Fri Sep 25 04:21:03 GMT 2015  Olly Betts <olly@survex.com>
46
47	* pkgconfig/xapian-core.pc.in: Fix library name in .pc file to say
48	  "xapian" not "xapian-core".  Reported by Eric Lindblad to the
49	  xapian-devel list.
50
51Fri Sep 25 04:18:08 GMT 2015  Olly Betts <olly@survex.com>
52
53	* backends/chert/chert_compact.cc: Need <unistd.h> for unlink() on
54	  FreeBSD, reported by Germán M. Bravo via github PR 72.
55
56Fri Sep 25 04:14:53 GMT 2015  Olly Betts <olly@survex.com>
57
58	* tests/harness/testutils.cc,tests/harness/testutils.h: Use
59	  'Xapian::docid' instead of 'unsigned int' so that things work with
60	  64 bit docids (see #385).
61
62Fri Sep 25 01:16:32 GMT 2015  Olly Betts <olly@survex.com>
63
64	* common/safeunistd.h,configure.ac: Don't provide our own
65	  implementation of sleep() under __WIN32__ if there's already one -
66	  mingw provides one, and in some situations it seems to clash with
67	  ours.  Reported to xapian-discuss by John Alveris.
68
69Fri Sep 25 01:13:59 GMT 2015  Olly Betts <olly@survex.com>
70
71	* net/remoteserver.cc: Check length of key in MSG_SETMETADATA.
72
73Fri Sep 25 00:05:00 GMT 2015  Olly Betts <olly@survex.com>
74
75	* examples/xapian-metadata.cc: Extend "list" subcommand to take
76	  optional key prefix.
77
78Fri Sep 25 00:03:37 GMT 2015  Olly Betts <olly@survex.com>
79
80	* common/remote-database.h: Correct doxygen comment for internal
81	  method.
82
83Fri Sep 25 00:02:06 GMT 2015  Olly Betts <olly@survex.com>
84
85	* examples/quest.cc: Prefer pre-increment ++.
86
87Fri Sep 25 00:01:23 GMT 2015  Olly Betts <olly@survex.com>
88
89	* tests/api_compact.cc,tests/api_posdb.cc: Remove unused variables.
90
91Thu Sep 24 23:31:12 GMT 2015  Olly Betts <olly@survex.com>
92
93	* languages/compiler/generator.c: Remove redundant assignment.
94
95Thu Sep 24 23:30:29 GMT 2015  Olly Betts <olly@survex.com>
96
97	* languages/compiler/generator.c: Remove extra "break;".
98
99Thu Sep 24 23:03:41 GMT 2015  Olly Betts <olly@survex.com>
100
101	* api/omdatabase.cc: Make Database::get_wdf_upper_bound("") return 0.
102	* tests/api_backend.cc: Fix testcase dbstats2 to not expect exact
103	  doclength upper bounds from multi- or remote- flint.
104
105Thu Sep 24 05:59:39 GMT 2015  Olly Betts <olly@survex.com>
106
107	* api/documentvaluelist.h,api/matchspy.cc,include/xapian/: Mark
108	  constructors taking a single argument as "explicit" to avoid
109	  unwanted implicit conversions.
110
111Thu Sep 24 05:47:19 GMT 2015  Olly Betts <olly@survex.com>
112
113	* tests/api_backend.cc: Tweak bounds checks in dbstats1 testcase
114	  - multi backends should give tight bounds.
115
116Thu Sep 24 12:02:31 GMT 2015  Olly Betts <olly@survex.com>
117
118	* examples/simpleexpand.cc,examples/simpleindex.cc,
119	  examples/simplesearch.cc: '#include <config.h>' in the examples, as
120	  when compiling with xlC on AIX, _LARGE_FILES gets defined by
121	  AC_SYS_LARGEFILE to enable large file support, and defining this
122	  changes the ABI of std::string, so it also needs to be defined when
123	  compiling code using Xapian.
124
125Mon Sep 14 00:40:28 GMT 2015  Olly Betts <olly@survex.com>
126
127	* net/tcpclient.cc: Add missing '#include <arpa/inet.h>' to htons().
128	  Seems to be implicitly included on most platforms, but Interix needs
129	  it.  Reported by Eric Lindblad on xapian-discuss.
130
131Wed Jun 03 03:12:25 GMT 2015  Olly Betts <olly@survex.com>
132
133	* tests/api_backend.cc: Fix to build when S_ISSOCK() isn't defined.
134
135Mon Jun 01 11:42:11 GMT 2015  Olly Betts <olly@survex.com>
136
137	* api/omdatabase.cc,tests/api_backend.cc: Fix
138	  Database::get_doclength_lower_bound() over multiple databases when
139	  some are empty or consist only of zero-length documents.  Previously
140	  this would report a lower bound of zero, now it reports the same
141	  lowest bound as a single database containing all the same documents.
142
143Mon Jun 01 11:36:39 GMT 2015  Olly Betts <olly@survex.com>
144
145	* backends/remote/remote-database.cc: Avoid divide by zero when
146	  getting the average length for an empty database.
147
148Mon Jun 01 11:34:23 GMT 2015  Olly Betts <olly@survex.com>
149
150	* tests/harness/testsuite.cc: If command line option --verbose/-v
151	  isn't specified, set the verbosity level from environmental variable
152	  VERBOSE.
153
154Mon Jun 01 11:33:19 GMT 2015  Olly Betts <olly@survex.com>
155
156	* tests/harness/testsuite.cc: Put handling for XAPIAN_TESTSUITE_OUTPUT
157	  environmental variable into its own block to contain the scope of
158	  the temporary variables.
159
160Mon Jun 01 11:29:25 GMT 2015  Olly Betts <olly@survex.com>
161
162	* common/serialise-double.cc: Prefer scalbn() to ldexp() where
163	  where possible, since the former doesn't ever set errno.
164
165Mon Jun 01 11:24:10 GMT 2015  Olly Betts <olly@survex.com>
166
167	* api/sortable-serialise.cc: Use scalbn() instead of ldexp() in
168	  sortable_unserialise(), as ldexp() can set errno, which it seems
169	  better to avoid doing.
170
171Fri May 29 07:47:46 GMT 2015  Olly Betts <olly@survex.com>
172
173	* tests/api_wrdb.cc: Revert disabling of part of adddoc5 for clang, as
174	  that should now work now the method in question isn't marked as
175	  XAPIAN_PURE_FUNCTION.
176
177Mon May 25 04:30:56 GMT 2015  Olly Betts <olly@survex.com>
178
179	* tests/harness/testsuite.h: Simplify FAIL_TEST and SKIP_TEST
180	  slightly.
181
182Mon May 25 04:30:03 GMT 2015  Olly Betts <olly@survex.com>
183
184	* tests/harness/backendmanager_remotetcp.cc: Don't leave an extra fd
185	  open when starting xapian-tcpsrv for remotetcp tests.
186
187Mon May 25 04:19:01 GMT 2015  Olly Betts <olly@survex.com>
188
189	* tests/harness/backendmanager_remotetcp.cc: Add spaces between literal
190	  strings and macros which expand to literal strings for C++11
191	  compatibility in __WIN32__-specific code.
192
193Thu May 21 11:13:29 GMT 2015  Olly Betts <olly@survex.com>
194
195	* configure.ac: Disable "<FUNCTION> is expected to return a value"
196	  warning from Sun's C++ compiler, as it fires even for functions we
197	  end in a "throw" statement.  Genuine instances will be caught by
198	  compilers with superior warning machinery.
199
200Wed May 20 14:40:55 GMT 2015  Olly Betts <olly@survex.com>
201
202	* NEWS: Final update for 1.2.21 (probably).
203
204Wed May 20 14:24:03 GMT 2015  Olly Betts <olly@survex.com>
205
206	* include/xapian/version_h.cc: If old and new __GXX_ABI_VERSION are
207	  both >= 1002 (which means GCC >= 3.4), then issue a warning about
208	  mismatching versions instead of an error.  The changes in these
209	  versions are bug fixes for corner cases, so there's a good chance of
210	  things working - e.g. building xapian-bindings with GCC 5.1 (which
211	  defaults to __GXX_ABI_VERSION 1008) against xapian-core built with
212	  GCC 4.9 (1002) seems to work OK.  A warning is still useful as a
213	  clue to what is going on if linking fails due to a missing symbol.
214
215Wed May 20 09:54:36 GMT 2015  Olly Betts <olly@survex.com>
216
217	* NEWS: Another update for 1.2.21.
218
219Wed May 20 01:49:18 GMT 2015  Olly Betts <olly@survex.com>
220
221	* api/matchspy.cc: Fix comparison function not to return true for two
222	  equal elements, which fixes matchspy4 test failure with clang and
223	  libc++.
224
225Tue May 19 11:58:01 GMT 2015  Olly Betts <olly@survex.com>
226
227	* backends/brass/brass_database.cc,backends/chert/chert_database.cc,
228	  backends/chert/chert_databasereplicator.cc,
229	  backends/inmemory/inmemory_database.h,weight/tradweight.cc: Fix
230	  compilations issues with Sun's C++ compiler (mostly missing library
231	  headers).
232
233Mon May 18 04:18:37 GMT 2015  Olly Betts <olly@survex.com>
234
235	* configure.ac: Arrange to pass command line option so that xlC
236	  actually fails to compile the test code for typeid() when RTTI isn't
237	  enabled.
238
239Sat May 16 12:08:17 GMT 2015  Olly Betts <olly@survex.com>
240
241	* common/socket_utils.cc: Fix casts on the 4th argument of
242	  setsockopt() so they compile on platforms which expect
243	  char * or const char * there.
244
245Sat May 16 11:02:13 GMT 2015  Olly Betts <olly@survex.com>
246
247	* common/socket_utils.cc: Don't include <sys/socket.h> under
248	  __WIN32__.
249
250Fri May 15 13:32:05 GMT 2015  Olly Betts <olly@survex.com>
251
252	* configure.ac: Enhance the probe for whether the test harness can use
253	  RTTI so that it works for xlC (which defaults to not generating
254	  RTTI).
255
256Fri May 15 11:16:18 GMT 2015  Olly Betts <olly@survex.com>
257
258	* common/io_utils.cc: Replace the code used on platforms without
259	  F_DUPFD with simpler code which actually compiles.
260
261Fri May 15 05:30:33 GMT 2015  Olly Betts <olly@survex.com>
262
263	* NEWS: Another update for 1.2.21.
264
265Fri May 15 05:19:27 GMT 2015  Olly Betts <olly@survex.com>
266
267	* pkgconfig/xapian-core.pc.in: Include @ldflags@ in pkg-config .pc
268	  file.
269
270Fri May 15 05:18:51 GMT 2015  Olly Betts <olly@survex.com>
271
272	* pkgconfig/xapian-core.pc.in: Fix include directory reported by
273	  pkg-config.
274
275Fri May 15 05:18:03 GMT 2015  Olly Betts <olly@survex.com>
276
277	* configure.ac,pkgconfig/xapian-core.pc.in,xapian-config.in: When
278	  compiling with xlC on AIX, _LARGE_FILES gets defined by
279	  AC_SYS_LARGEFILE to enable large file support, and defining this
280	  changes the ABI of std::string, so include it in xapian-config
281	  --cxxflags and the pkg-config equivalent.
282
283Fri May 15 05:13:30 GMT 2015  Olly Betts <olly@survex.com>
284
285	* tests/Makefile.am,tests/perftest/Makefile.mk: Use $(NO_INSTALL)
286	  rather than @NO_INSTALL@ to allow make-time overriding.
287
288Fri May 15 05:11:42 GMT 2015  Olly Betts <olly@survex.com>
289
290	* tests/soaktest/Makefile.mk: Use -no-fast-install instead of
291	  -no-install for linking soaktest on platforms where libtool issues
292	  a warning for -no-install, like we already do for all the other test
293	  programs.
294
295Fri May 15 05:11:03 GMT 2015  Olly Betts <olly@survex.com>
296
297	* examples/simpleexpand.cc,examples/simpleindex.cc,
298	  examples/simplesearch.cc: '#include <config.h>' in the examples, as
299	  when compiling with xlC on AIX, _LARGE_FILES gets defined by
300	  AC_SYS_LARGEFILE to enable large file support, and defining this
301	  changes the ABI of std::string, so it also needs to be defined when
302	  compiling code using Xapian.
303
304Fri May 15 04:57:27 GMT 2015  Olly Betts <olly@survex.com>
305
306	* common/io_utils.cc,common/io_utils.h: Fix build on platforms without
307	  O_CLOEXEC, broken by backporting change not to use fds < 3 for
308	  database tables.
309
310Thu May 14 14:47:43 GMT 2015  Olly Betts <olly@survex.com>
311
312	* NEWS,configure.ac: Update for 1.2.21.
313
314Thu May 14 06:57:16 GMT 2015  Olly Betts <olly@survex.com>
315
316	* NEWS: Update.
317
318Thu May 14 06:33:05 GMT 2015  Olly Betts <olly@survex.com>
319
320	* Makefile.am: Actually use $(NO_UNDEFINED).
321
322Thu May 14 06:30:33 GMT 2015  Olly Betts <olly@survex.com>
323
324	* configure.ac: Only pass -no-undefined when linking the library if
325	  it's actually required for the current platform.  Sun C++ doesn't
326	  link the C++ runtime libraries to shared objects, so the build
327	  fails with -no-undefined.
328
329Thu May 14 06:29:10 GMT 2015  Olly Betts <olly@survex.com>
330
331	* configure.ac: Add workaround for odd <cmath> issue with Sun C++.
332
333Thu May 14 06:24:18 GMT 2015  Olly Betts <olly@survex.com>
334
335	* HACKING: libtool 2.4.6 is now used for snapshots and releases.
336
337Thu May 14 05:17:24 GMT 2015  Olly Betts <olly@survex.com>
338
339	* backends/chert/chert_cursor.cc,backends/flint/flint_cursor.cc:
340	  Correct delete to delete [].
341
342Thu May 14 05:14:36 GMT 2015  Olly Betts <olly@survex.com>
343
344	* docs/deprecation.rst: Add deprecation of --preserve-nonduplicates
345	  which happened in 1.2.4.
346
347Thu May 14 05:12:24 GMT 2015  Olly Betts <olly@survex.com>
348
349	* api/keymaker.cc: Fix error compiling with Sun C++.
350
351Thu May 14 04:38:05 GMT 2015  Olly Betts <olly@survex.com>
352
353	* common/str.cc,matcher/multiandpostlist.cc,net/remoteconnection.cc,
354	  weight/: Fixes for errors when compiling with Sun C++.
355
356Thu May 14 04:16:05 GMT 2015  Olly Betts <olly@survex.com>
357
358	* common/getopt.cc,net/tcpserver.cc: Fix clang warnings on OS X.
359	  Reported by Germán M. Bravo.
360
361Thu May 14 03:44:06 GMT 2015  Olly Betts <olly@survex.com>
362
363	* bin/xapian-replicate.cc,common/socket_utils.cc,common/socket_utils.h,
364	  net/replicatetcpclient.cc,net/replicatetcpclient.h: Set SO_KEEPALIVE
365	  for xapian-replicate's connection to the master, and add command
366	  line option to allow setting socket-level timeouts (SO_RCVTIMEO and
367	  SO_SNDTIMEO) on platforms that support them.  Fixes #546, reported
368	  by nkvoll.
369
370Thu May 14 03:34:26 GMT 2015  Olly Betts <olly@survex.com>
371
372	* bin/xapian-replicate.cc: Fix connection timeout to be 10 seconds
373	  rather than 10000 seconds which is has been since 1.2.3.
374
375Thu May 14 03:15:32 GMT 2015  Olly Betts <olly@survex.com>
376
377	* backends/flint/flint_table.cc: Backport assertion fixes from chert
378	  to fix test failure of cursordelbug1 when assertions are enabled.
379
380Wed May 06 13:18:11 GMT 2015  Olly Betts <olly@survex.com>
381
382	* api/postlist.cc,api/postlist.h,common/remoteprotocol.h,matcher/,
383	  net/remoteconnection.cc,net/serialise.cc,tests/api_backend.cc: Fix
384	  sort by value when multiple databases are in use and one or more are
385	  remote.  This change necessitated a minor version bump in the remote
386	  protocol.  Fixes #674, reported by Dylan Griffith.
387
388Wed May 06 11:18:24 GMT 2015  Olly Betts <olly@survex.com>
389
390	* NEWS: Update.
391
392Wed May 06 10:00:49 GMT 2015  Olly Betts <olly@survex.com>
393
394	* backends/flint/flint_database.cc: Fix get_changeset_revisions() not
395	  to potentially read uninitialised data if a changeset file is
396	  truncated.  Adapted from equivalent change already backported for
397	  brass and chert.
398
399Wed May 06 07:22:23 GMT 2015  Olly Betts <olly@survex.com>
400
401	* configure.ac: Tweak comment to match xapian-omega's configure.
402
403Wed May 06 07:21:51 GMT 2015  Olly Betts <olly@survex.com>
404
405	* configure.ac: Set default value for AUTOM4TE before AC_OUTPUT so the
406	  default will actually get used.
407
408Wed May 06 07:21:04 GMT 2015  Olly Betts <olly@survex.com>
409
410	* configure.ac: Add explicit AC_CANONICAL_HOST.
411
412Wed May 06 05:32:46 GMT 2015  Olly Betts <olly@survex.com>
413
414	* api/matchspy.cc,tests/api_nodb.cc: Eliminate needless uses of
415	  AutoPtr.
416
417Wed May 06 05:31:13 GMT 2015  Olly Betts <olly@survex.com>
418
419	* backends/chert/chert_table.cc,backends/glass/glass_table.cc: Remove
420	  duplicate includes of "omassert.h".
421
422Wed May 06 05:30:05 GMT 2015  Olly Betts <olly@survex.com>
423
424	* configure.ac: OS X >= 10.4 apparently supports symbol visibility, so
425	  update comment.
426
427Wed May 06 05:29:15 GMT 2015  Olly Betts <olly@survex.com>
428
429	* xapian-config.in: Remove superfluous comment left over from code
430	  refactoring.
431
432Wed May 06 05:28:48 GMT 2015  Olly Betts <olly@survex.com>
433
434	* xapian-config.in: Fix the include directory reported by --swigflags
435	  for an installed copy to include the "/xapian-1.3" component for
436	  a development version.
437
438Wed May 06 05:27:37 GMT 2015  Olly Betts <olly@survex.com>
439
440	* backends/chert/chert_databasereplicator.cc: Use return value of
441	  get_message_chunk() rather than ignoring it and repeating the check
442	  in the caller.
443
444Wed May 06 05:24:52 GMT 2015  Olly Betts <olly@survex.com>
445
446	* api/replication.cc,backends/brass/,backends/chert/chert_database.cc,
447	  backends/chert/chert_table.cc,backends/chert/chert_version.cc,
448	  backends/flint/flint_database.cc,backends/flint/flint_table.cc,
449	  backends/flint/flint_version.cc,backends/remote/remote-database.cc,
450	  bin/,examples/copydatabase.cc,examples/quest.cc,
451	  examples/xapian-metadata.cc,net/tcpclient.cc,
452	  queryparser/queryparser.lemony,tests/harness/: Add spaces between
453	  literal strings and macros which expand to literal strings for C++11
454	  compatibility.
455
456Wed May 06 05:04:47 GMT 2015  Olly Betts <olly@survex.com>
457
458	* bin/xapian-tcpsrv.cc: Use STRINGIZE() to include defaults literally
459	  in string for --help.
460
461Wed May 06 05:00:38 GMT 2015  Olly Betts <olly@survex.com>
462
463	* HACKING: Update URL.
464
465Wed May 06 04:59:33 GMT 2015  Olly Betts <olly@survex.com>
466
467	* configure.ac,xapian-config.in: Rename ANSI_CXXFLAGS to ISO_CXXFLAGS
468	  and talk about ISO C++ in configure messages.
469
470Wed May 06 04:44:32 GMT 2015  Olly Betts <olly@survex.com>
471
472	* .gitignore: Adjust for m4 subdirectory to only match files which
473	  aren't in git.
474
475Wed May 06 04:37:28 GMT 2015  Olly Betts <olly@survex.com>
476
477	* xapian-config.in: Fix typo so cached result of test in
478	  is_uninstalled() is actually used on subsequent calls.  Fixes #676,
479	  reported (with patch) by Ryan Schmidt.
480
481Wed May 06 04:02:33 GMT 2015  Olly Betts <olly@survex.com>
482
483	* backends/chert/chert_database.cc,backends/glass/glass_database.cc:
484	  Fix get_changeset_revisions() not to potentially read uninitialised
485	  data if a changeset file is truncated.
486
487Wed May 06 04:00:20 GMT 2015  Olly Betts <olly@survex.com>
488
489	* matcher/exactphrasepostlist.cc: When matching an exact phrase, if a
490	  term doesn't occur where we want, we can advance "term 0" using
491	  skip_to() based on where the term does next occur rather than just
492	  calling next() on it.
493
494Wed May 06 03:54:52 GMT 2015  Olly Betts <olly@survex.com>
495
496	* matcher/nearpostlist.cc: Be lazier about opening PositionList
497	  objects, as that causes a read of all the data for that
498	  positionlist.
499
500Wed May 06 03:54:05 GMT 2015  Olly Betts <olly@survex.com>
501
502	* matcher/nearpostlist.cc: Make code for scanning window for duplicate
503	  positions a little clearer.
504
505Wed May 06 03:52:57 GMT 2015  Olly Betts <olly@survex.com>
506
507	* matcher/nearpostlist.cc: Fix "/*" within comment.
508
509Wed May 06 03:50:45 GMT 2015  Olly Betts <olly@survex.com>
510
511	* matcher/nearpostlist.cc,matcher/nearpostlist.h: Reimplement OP_NEAR
512	  check.  The new implementation consistently requires the terms to
513	  occur at different positions, and fixes some false negatives.
514	* tests/api_query.cc: Add regression tests as loosenear1.
515
516Tue May 05 23:27:19 GMT 2015  Olly Betts <olly@survex.com>
517
518	* matcher/phrasepostlist.cc,matcher/phrasepostlist.h: Reimplement
519	  OP_PHRASE check for loose phrases - the existing implementation was
520	  buggy, giving both false positives and false negatives in rare
521	  cases.  Fixes #653, reported by Jean-Francois Dockes.
522	* tests/api_query.cc: Add regression test loosephrase1.
523
524Tue May 05 23:24:21 GMT 2015  Olly Betts <olly@survex.com>
525
526	* api/queryinternal.cc,matcher/: Split NearPostList out into separate
527	  source file and header.
528
529Tue May 05 15:25:22 GMT 2015  Olly Betts <olly@survex.com>
530
531	* bin/xapian-progsrv.cc: Fix comment typo.
532
533Tue May 05 15:23:48 GMT 2015  Olly Betts <olly@survex.com>
534
535	* backends/flint/flint_cursor.cc,backends/flint/flint_table.cc,
536	  tests/api_backend.cc: Fix #675 for flint as well.
537
538Tue May 05 15:02:51 GMT 2015  Olly Betts <olly@survex.com>
539
540	* backends/brass/brass_cursor.cc,backends/brass/_table.cc,
541	  backends/chert/chert_cursor.cc,backends/chert/chert_table.cc:
542	  Potentially increment the cursor version on cancel() or when the
543	  database is reopened, and flag the current cursor version as used
544	  when a cursor is rebuilt.  Fixes #675, reported by Germán M. Bravo.
545	* tests/api_backend.cc: Add regression test cursorbug1 based on
546	  reproducer supplied by Germán.
547
548Tue May 05 14:26:01 GMT 2015  Olly Betts <olly@survex.com>
549
550	* common/errno_to_string.cc: Fix to build with Sun's C++ compiler.
551
552Tue May 05 14:24:24 GMT 2015  Olly Betts <olly@survex.com>
553
554	* configure.ac: Fix XAPIAN_TEST_CXXFLAGS macro to append to the
555	  existing value of the variable, not its name.
556
557Tue May 05 14:23:10 GMT 2015  Olly Betts <olly@survex.com>
558
559	* tests/api_wrdb.cc: Just #ifdef out the problematic part of the
560	  adddoc5 testcase for clang.
561
562Tue May 05 14:12:42 GMT 2015  Olly Betts <olly@survex.com>
563
564	* common/serialise-double.cc: Fix bug in recent fix.
565	* tests/unittest.cc: Extend serialise_double() to provide regression
566	  test.
567
568Tue May 05 14:08:58 GMT 2015  Olly Betts <olly@survex.com>
569
570	* common/serialise-double.cc: Add missing cast to unsigned char when
571	  we check if the value will fit in the double type.  On machines with
572	  IEEE-754 doubles (which is most current platforms), which change
573	  makes no difference as we're checking if the value cast to a double
574	  is > 255.<something> which is never the case.
575
576Tue May 05 14:05:14 GMT 2015  Olly Betts <olly@survex.com>
577
578	* common/serialise-double.cc: Avoid reading one byte past the end of
579	  the serialised value.  In practice this was harmless on most
580	  platforms, as dbl_max_mantissa is 255 for IEEE-754 format doubles,
581	  and at least GCC's std::string keeps the buffer nul-terminated.
582	  Reported by Germán M. Bravo in github PR#67.
583
584Tue May 05 14:01:03 GMT 2015  Olly Betts <olly@survex.com>
585
586	* backends/flint_lock.cc: If available, use F_DUPFD to dup to a file
587	  descriptor which is >= 2.
588
589Tue May 05 14:00:25 GMT 2015  Olly Betts <olly@survex.com>
590
591	* Makefile.am,docs/Makefile.am: Add missing quoting.
592
593Tue May 05 13:10:44 GMT 2015  Olly Betts <olly@survex.com>
594
595	* backends/chert/chert_table.cc,backends/glass/glass_table.cc,
596	  common/io_utils.cc,common/io_utils.h,tests/api_backend.cc:
597	  Avoid using fds < 3 for writable database tables, as it risks
598	  corruption is some code in the same process tries to write to stdout
599	  or stderr without realising it is closed.  (Partly addresses #651)
600
601Tue May 05 13:10:44 GMT 2015  Olly Betts <olly@survex.com>
602
603	* matcher/exactphrasepostlist.cc: Fixed reversed conditonal for
604	  picking the shorter position list for an exact phrase of two terms.
605	  The difference this fix makes isn't dramatic, but can be measured
606	  (at least with cachegrind).  Thanks to kbwt for spotting this.
607
608Tue May 05 13:06:13 GMT 2015  Olly Betts <olly@survex.com>
609
610	* backends/brass/brass_compact.cc,backends/flint/flint_compact.cc:
611	  Make sure we open all the tables of a database at the same revision
612	  when compacting for brass and flint too.  (Fixes #649)
613
614Tue May 05 12:52:17 GMT 2015  Olly Betts <olly@survex.com>
615
616	* backends/chert/chert_compact.cc: Make sure we open all the tables of
617	  a database at the same revision when compacting.  (Fixes #649)
618
619Tue May 05 12:48:01 GMT 2015  Olly Betts <olly@survex.com>
620
621	* examples/xapian-metadata.cc: Add 'list' subcommand to list all the
622	  metadata keys.
623
624Tue May 05 12:07:10 GMT 2015  Olly Betts <olly@survex.com>
625
626	* include/xapian/queryparser.h: Doxygen comment wording tweaks.
627
628Tue May 05 12:04:02 GMT 2015  Olly Betts <olly@survex.com>
629
630	* include/xapian/queryparser.h: Doxygen comment formatting tweaks.
631
632Tue May 05 11:48:57 GMT 2015  Olly Betts <olly@survex.com>
633
634	* queryparser/queryparser.lemony,tests/queryparsertest.cc: Extend the
635	  set of characters allowed in the start of a range to be anything
636	  except for '(' and characters <= ' '.  This better matches what's
637	  accepted for a range end (anything except for ')' and characters <=
638	  ' ').  Reported by Jani Nikula.
639
640Tue May 05 11:46:57 GMT 2015  Olly Betts <olly@survex.com>
641
642	* Backport change from trunk:
643	* bin/xapian-check.cc: Don't hard-code string length as number.
644
645Wed Mar 04 00:53:14 GMT 2015  Olly Betts <olly@survex.com>
646
647	* AUTHORS: Update for 1.2.20.
648
649Wed Mar 04 00:27:39 GMT 2015  Olly Betts <olly@survex.com>
650
651	* NEWS,configure.ac: Update for 1.2.20.
652
653Tue Mar 03 11:35:42 GMT 2015  Olly Betts <olly@survex.com>
654
655	* NEWS: Update.
656
657Fri Feb 13 10:47:52 GMT 2015  Olly Betts <olly@survex.com>
658
659	* backends/brass/brass_table.cc,backends/flint/flint_table.cc:
660	  mid_point() should never fail to find a split point, but just in
661	  case it does, return a usable answer.
662
663Wed Feb 11 22:44:35 GMT 2015  Olly Betts <olly@survex.com>
664
665	* backends/chert/chert_table.cc: mid_point() should never fail to find
666	  a split point, but just in case it does, return a usable answer.
667
668Sun Jan 25 23:48:34 GMT 2015  Olly Betts <olly@survex.com>
669
670	* configure.ac: Check for declaration of fdatasync() first, as OS X
671	  has a dummy implementation in the library which is not prototyped in
672	  any header.  Reported by Vlad Shablinsky.
673
674Sat Dec 13 02:48:10 GMT 2014  Olly Betts <olly@survex.com>
675
676	* api/error.cc,generate-exceptions,net/remoteconnection.h: On
677	  Windows, avoid defining EADDRINUSE, etc if they're already defined,
678	  and use WSAE* constants un-negated, as they start from a high value
679	  so won't collide with E* constants.
680
681Sat Jan 24 11:54:16 GMT 2015  Olly Betts <olly@survex.com>
682
683	* NEWS: Update.
684
685Fri Jan 23 12:53:50 GMT 2015  Olly Betts <olly@survex.com>
686
687	* backends/brass/brass_btreebase.cc,backends/brass/brass_table.cc,
688	  backends/chert/chert_table.cc,backends/flint/flint_btreebase.cc,
689	  backends/flint/flint_table.cc: Replace all uses of strerror in
690	  library code which weren't addressed by the backported commits.
691
692Fri Dec 19 22:30:39 GMT 2014  Olly Betts <olly@survex.com>
693
694	* common/errno_to_string.cc: Need stdlib.h under mingw.
695
696Fri Jan 09 04:38:03 GMT 2015  Olly Betts <olly@survex.com>
697
698	* common/debuglog.cc: Add '#include "errno_to_string.h"'.
699
700Wed Dec 17 02:30:14 GMT 2014  Olly Betts <olly@survex.com>
701
702	* api/error.cc,backends/chert/chert_btreebase.cc,
703	  backends/chert/chert_table.cc,backends/flint_lock.cc,
704	  backends/glass/glass_table.cc,common/,configure.ac,
705	  net/remoteconnection.cc: Add errno_to_string() function which is
706	  thread-safe where a suitable alternative to strerror() exists.
707
708Sat Dec 20 10:40:44 GMT 2014  Sébastien Debrard <sebastien.debrard@gmail.com>
709
710	* Makefile.am,configure.ac,pkgconfig/,xapian-core.spec.in: Generate a
711	  file for pkg-config.  (Fixes#540)
712
713Mon Jan 05 08:39:47 GMT 2015  Olly Betts <olly@survex.com>
714
715	* Makefile.am: Remove the generated .pc file on "make distclean".
716
717Wed Dec 17 02:59:54 GMT 2014  Olly Betts <olly@survex.com>
718
719	* configure.ac: Drop probe for gethostbyaddr() - we've not used it for
720	  over 8.5 years (since e33972a5).
721
722Tue Dec 16 06:54:32 GMT 2014  Olly Betts <olly@survex.com>
723
724	* configure.ac: Add missing m4 quoting.  Generated configure file is
725	  unchanged.
726
727Mon Jan 05 01:52:54 GMT 2015  Olly Betts <olly@survex.com>
728
729	* bin/xapian-check-brass.cc,bin/xapian-check-chert.cc: Cross-check the
730	  position and postlist tables and report positional data for
731	  non-existent documents.
732
733Tue Dec 23 21:26:49 GMT 2014  Olly Betts <olly@survex.com>
734
735	* backends/chert/chert_table.cc: More assertions about c.
736
737Tue Dec 23 04:26:38 GMT 2014  Olly Betts <olly@survex.com>
738
739	* backends/chert/chert_table.cc: Fix assertion to allow for c being
740	  DIR_START - D2 in leaf blocks.
741
742Tue Dec 23 04:01:54 GMT 2014  Olly Betts <olly@survex.com>
743
744	* backends/chert/chert_table.cc: Add more assertions that c has
745	  suitable values.
746
747Tue Dec 23 03:58:00 GMT 2014  Olly Betts <olly@survex.com>
748
749	* backends/chert/chert_table.cc: In enter_key(), we know the insertion
750	  point will be the position after the current cursor position, so
751	  there's no need to call find_in_block() to locate it.
752
753Tue Dec 23 03:11:12 GMT 2014  Olly Betts <olly@survex.com>
754
755	* backends/chert/chert_check.cc: Add check that dir_end is odd.
756
757Mon Dec 22 23:28:54 GMT 2014  Olly Betts <olly@survex.com>
758
759	* backends/chert/chert_table.cc: Document situations in which the
760	  cursor can be left pointing before DIR_START.
761
762Sun Dec 21 20:55:47 GMT 2014  Olly Betts <olly@survex.com>
763
764	* include/xapian/weight.h: Document the enum stat_flags values.
765
766Thu Dec 18 06:17:18 GMT 2014  Olly Betts <olly@survex.com>
767
768	* net/tcpclient.cc: Use POSIX O_NONBLOCK in preference to O_NDELAY
769	  which has different semantics on BSD and System V.
770
771Tue Dec 16 06:28:21 GMT 2014  Olly Betts <olly@survex.com>
772
773	* configure.ac: Don't check for strerror - it's specified by C89, and
774	  we weren't using the result of the check anyway.
775
776Tue Dec 16 03:59:39 UTC 2014  Sébastien Debrard <sebastien.debrard@gmail.com>
777
778	* api/omenquire.cc,backends/multi/multi_postlist.cc,
779	  tests/api_anydb.cc,tests/api_db.cc: Prefer ++x to x++.
780
781Tue Dec 16 03:50:41 GMT 2014  Olly Betts <olly@survex.com>
782
783	* configure.ac: Define MINGW_HAS_SECURE_API under mingw to get
784	  _putenv_s() declared in stdlib.h.
785
786Thu Dec 11 03:21:46 GMT 2014  Olly Betts <olly@survex.com>
787
788	* net/tcpserver.cc: Fix comment.
789
790Thu Dec 04 02:17:46 GMT 2014  Olly Betts <olly@survex.com>
791
792	* configure.ac: Fix detection of fdatasync(), which appears to have
793	  been broken practically forever - this means we've probably been
794	  using fsync() instead, which probably isn't a big additional
795	  overhead.
796
797Wed Dec 03 09:38:24 GMT 2014  Olly Betts <olly@survex.com>
798
799	* docs/Makefile.am: Quote png filenames we run through pngcrush to
800	  avoid problems if there's an oddly-named extra PNG file in the
801	  directory.
802
803Thu Nov 27 03:05:18 GMT 2014  Olly Betts <olly@survex.com>
804
805	* backends/flint_lock.cc: Use F_OFD_SETLK where available, which
806	  avoids having to fork() a child process to hold the lock.  This
807	  currently requires Linux kernel >= 3.15, but it has been submitted
808	  to POSIX so hopefully will be widely supported eventually.  Thanks
809	  to Austin Clements for pointing out this now exists.
810
811Wed Nov 26 03:29:28 GMT 2014  Olly Betts <olly@survex.com>
812
813	* docs/doxygen_source.conf.in: @MAKEINDEX@ isn't substituted, so just
814	  use literal 'makeindex'.
815
816Tue Nov 25 21:13:51 GMT 2014  Olly Betts <olly@survex.com>
817
818	* configure.ac: Update link to cygwin FAQ.
819
820Thu Dec 11 03:52:45 GMT 2014  Olly Betts <olly@survex.com>
821
822	* Backport change from trunk:
823	* docs/doxygen_api.conf.in,docs/doxygen_source.conf.in: Update to
824	  avoid warnings about obsolete tags from newer doxygen.
825
826Thu Dec 11 03:48:34 GMT 2014  Olly Betts <olly@survex.com>
827
828	* Backport change from trunk:
829	* configure.ac: Update link to cygwin FAQ.
830
831Thu Dec 11 03:42:42 GMT 2014  Olly Betts <olly@survex.com>
832
833	* Backport change from trunk:
834	* HACKING: Update details of building Xapian packages.
835
836Mon Nov 24 09:23:20 GMT 2014  Olly Betts <olly@survex.com>
837
838	* NEWS: Update.
839
840Mon Nov 24 06:17:32 GMT 2014  Olly Betts <olly@survex.com>
841
842	* Backport change from trunk:
843	* queryparser/lemon.c: Sync change from upstream: "In Lemon, when
844	  comparing the output to the *.h file to see if it has changed, make
845	  sure that the proposed new output and the preexisting output are the
846	  same size before deciding that they are the same".  Generated code
847	  is identical, but this will fix misbehaviour in a build from a
848	  non-clean tree if new tokens get appended to queryparser_token.h.
849
850Mon Nov 24 01:26:41 GMT 2014  Olly Betts <olly@survex.com>
851
852	* Backport change from trunk:
853	* matcher/exactphrasepostlist.cc: Straighten out confusing comments.
854
855Sun Nov 09 22:03:24 GMT 2014  Olly Betts <olly@survex.com>
856
857	* Backport change from trunk:
858	* docs/deprecation.rst: Fix typo.
859
860Sun Nov 09 22:02:36 GMT 2014  Olly Betts <olly@survex.com>
861
862	* Backport change from trunk:
863	* docs/replication.rst: Fix typo.
864
865Sun Nov 09 22:00:47 GMT 2014  Olly Betts <olly@survex.com>
866
867	* Backport change from trunk:
868	* docs/postingsource.rst: Use a modern class in postingsource example.
869	  (Noted by James Aylett)
870
871Mon Nov 03 22:27:26 GMT 2014  Olly Betts <olly@survex.com>
872
873	* NEWS: Fix typo.
874
875Tue Oct 21 00:32:49 GMT 2014  Olly Betts <olly@survex.com>
876
877	* NEWS,configure.ac: Update for 1.2.19.
878
879Mon Oct 20 10:49:23 GMT 2014  Olly Betts <olly@survex.com>
880
881	* NEWS: Update.
882
883Mon Oct 20 09:40:14 GMT 2014  Olly Betts <olly@survex.com>
884
885	* Backport change from trunk:
886	* matcher/phrasepostlist.cc,tests/api_backend.cc: If the anchor term
887	  for a phrase is the first or last, set the min or max to its
888	  position respectively.  Fixes the testcase in #657, but may not be
889	  a complete fix.
890
891Sun Oct 19 08:14:51 GMT 2014  Olly Betts <olly@survex.com>
892
893	* Backport change from trunk:
894	* matcher/exactphrasepostlist.cc: We never try to build an
895	  ExactPhrasePostList over 0 or 1 terms, so simply assert we don't,
896	  rather than having an explicit check for it in the code.
897
898Sun Oct 12 06:08:05 GMT 2014  Olly Betts <olly@survex.com>
899
900	* NEWS: Update.
901
902Fri Oct 10 11:18:43 GMT 2014  Olly Betts <olly@survex.com>
903
904	* Backport change from trunk:
905	* backends/chert/chert_btreebase.cc,backends/chert/chert_table.cc:
906	  Only full sync the final base file written.
907
908Fri Oct 10 03:20:03 GMT 2014  Olly Betts <olly@survex.com>
909
910	* Backport change from trunk:
911	* common/debuglog.h: Suppress unused typedef warnings from debugging
912	  logging macros, which occur in functions which always exit via
913	  throwing an exception.
914
915Thu Oct 09 23:01:37 GMT 2014  Olly Betts <olly@survex.com>
916
917	* backends/brass/brass_database.cc,
918	  backends/brass/brass_spellingwordslist.cc,
919	  backends/chert/chert_database.cc,
920	  backends/chert/chert_spellingwordslist.cc,matcher/mergepostlist.cc:
921	  Fix mismatched return type in debug logging annotations so that code
922	  compiles when configured with --enable-log.  These are already fixed
923	  on trunk.
924
925Thu Oct 09 22:59:34 GMT 2014  Olly Betts <olly@survex.com>
926
927	* Backport change from trunk:
928	* common/pretty.h: Fix debug logging code to compile with clang.
929	  (fixes #657, reported by Germán M. Bravo)
930
931Thu Oct 09 10:41:59 GMT 2014  Olly Betts <olly@survex.com>
932
933	* Backport change from trunk:
934	* tests/Makefile.am: Remove .replicatmp upon "make clean".
935
936Thu Oct 09 10:31:53 GMT 2014  Olly Betts <olly@survex.com>
937
938	* Backport change from trunk:
939	* docs/overview.rst: Add missing database path to example of using
940	  xapian-progsrv in a stub database file.
941
942Thu Oct 09 10:26:48 GMT 2014  Olly Betts <olly@survex.com>
943
944	* Backport change from trunk:
945	* tests/harness/fdtracker.cc: Fix code typo in recent change to skip
946	  apparent leaks of /dev/urandom.
947
948Sat Sep 06 02:11:02 GMT 2014  Olly Betts <olly@survex.com>
949
950	* Backport change from trunk:
951	* tests/harness/fdtracker.cc: Don't report apparent leaks of fds
952	  opened on /dev/urandom - at least on Linux, something in the C
953	  library seems to lazily open it, and the report of a possible leak
954	  followed by assurance that it's OK really is just noise we could
955	  do without.
956
957Fri Sep 05 15:11:46 GMT 2014  Olly Betts <olly@survex.com>
958
959	* Backport change from trunk:
960	* include/xapian/compactor.h: Fix formatting of doxygen comment.
961
962Fri Sep 05 15:10:17 GMT 2014  Olly Betts <olly@survex.com>
963
964	* Backport change from trunk:
965	* HACKING: freecode no longer accepts updates, so drop that item from
966	  the release checklist.
967
968Fri Sep 05 14:51:46 GMT 2014  Olly Betts <olly@survex.com>
969
970	* Backport change from trunk:
971	* api/,backends/brass/,backends/chert/,backends/dbfactory_remote.cc,
972	  matcher/mergepostlist.cc,matcher/remotesubmatch.cc,
973	  net/progclient.cc: Add missing RETURN() markup for debug logging,
974	  highlighted by warning from recent GCC.
975
976Fri Sep 05 14:34:26 GMT 2014  Olly Betts <olly@survex.com>
977
978	* Backport change from trunk:
979	* backends/dbfactory.cc: Fix incorrect return type in logging
980	  annotations for InMemory::open().
981
982Mon Aug 11 05:59:35 GMT 2014  Olly Betts <olly@survex.com>
983
984	* Backport change from trunk:
985	* configure.ac: For Sun's C++ compiler, pass -library=Crun separately
986	  since libtool looks for " -library=stlport4 " (with the spaces).
987	  (fixes#650)
988
989Mon Aug 11 05:55:54 GMT 2014  Olly Betts <olly@survex.com>
990
991	* Backport change from trunk:
992	* configure.ac: Rename XAPIAN_TEST_CXXFLAGS_ to XAPIAN_TEST_CXXFLAGS
993	  (since the latter is never used) and make it take a variable to
994	  add the flags to.  Also, fix it to restore CXXFLAGS correctly if
995	  the success case contains "break".
996
997Sat Aug 02 09:43:04 GMT 2014  Olly Betts <olly@survex.com>
998
999	* Backport change from trunk:
1000	* weight/bm25weight.cc: Improve BM25 upper bound in the case when our
1001	  wdf upper bound > our document length lower bound.  Thanks to
1002	  Craig Macdonald for pointing out this trick.
1003
1004Sat Aug 02 06:42:18 GMT 2014  Olly Betts <olly@survex.com>
1005
1006	* Backport change from trunk:
1007	* weight/bm25weight.cc: Pre-multiply termweight by (param_k1 + 1).
1008
1009Sun Jun 22 04:26:30 GMT 2014  Olly Betts <olly@survex.com>
1010
1011	* AUTHORS,NEWS,configure.ac: Update for 1.2.18.
1012
1013Sat Jun 21 07:24:47 GMT 2014  Olly Betts <olly@survex.com>
1014
1015	* Backport change from trunk:
1016	* docs/Makefile.am: Use $(MKDIR_P) instead of test -d || mkdir 3
1017	  times.
1018
1019Sat Jun 21 00:39:03 GMT 2014  Olly Betts <olly@survex.com>
1020
1021	* Backport change from trunk:
1022	* include/xapian/queryparser.h: Add the example of initializing
1023	  SimpleStopper using a file as a doccomment.
1024
1025Thu Jun 19 13:35:25 GMT 2014  Olly Betts <olly@survex.com>
1026
1027	* NEWS: Update.
1028
1029Tue Jun 17 11:21:16 GMT 2014  Olly Betts <olly@survex.com>
1030
1031	* Backport change from trunk:
1032	* include/xapian/queryparser.h: Improve the descriptions of the
1033	  stem_strategy values.  (Reported by "oilap" on #xapian)
1034
1035Tue Jun 17 11:09:32 GMT 2014  Olly Betts <olly@survex.com>
1036
1037	* Backport change from trunk:
1038	* matcher/extraweightpostlist.h: Add an assertion that get_sumextra()
1039	  returns a weight contribution which is <= the upper bound which
1040	  get_maxextra() returns.
1041
1042Tue Jun 17 06:48:19 GMT 2014  Olly Betts <olly@survex.com>
1043
1044	* Backport change from trunk:
1045	* api/leafpostlist.cc,matcher/synonympostlist.cc: Add assertions that
1046	  get_sumpart() returns a weight contribution which is <= the upper
1047	  bound which get_maxpart() returns.
1048
1049Tue Jun 17 05:32:00 GMT 2014  Olly Betts <olly@survex.com>
1050
1051	* Backport change from trunk:
1052	* examples/quest.cc: Fix ordering of "bm25" and "bool" in allegedly
1053	  sorted list, so that --weight bm25 and --weight bool work.
1054
1055Tue Jun 17 05:29:57 GMT 2014  Olly Betts <olly@survex.com>
1056
1057	* Backport change from trunk:
1058	* examples/quest.cc: Rework the weight name lookup to use a table like
1059	  the other lookups.  Change the weight names not to include "weight".
1060
1061Tue Jun 17 05:28:06 GMT 2014  Olly Betts <olly@survex.com>
1062
1063	* Backport change from trunk:
1064	* examples/quest.cc: Add --weight option to allow the weighting scheme
1065	  to be specified.
1066
1067Tue Jun 17 03:58:23 GMT 2014  Olly Betts <olly@survex.com>
1068
1069	* Backport change from trunk:
1070	* HACKING: Replace a link to the outdated autotools "goat book" with a
1071	  link to the "Portable Shell" chapter of the autoconf manual.
1072
1073Mon Jun 02 11:56:41 GMT 2014  Olly Betts <olly@survex.com>
1074
1075	* NEWS: Update.
1076
1077Thu May 29 11:22:25 GMT 2014  Olly Betts <olly@survex.com>
1078
1079	* tests/api_backend.cc: Ensure the test WritableDatabase object gets
1080	  destroyed before we delete its directory, so the testcase works on
1081	  __WIN32__ (on trunk we already do this).  (Fixes #643, reported by
1082	  Chris Olds)
1083
1084Fri May 23 13:34:47 GMT 2014  Olly Betts <olly@survex.com>
1085
1086	* Backport change from trunk:
1087	* HACKING: Add checking config/config.* are up to date to the
1088	  release checklist.
1089
1090Fri May 23 13:00:30 GMT 2014  Olly Betts <olly@survex.com>
1091
1092	* Backport change from trunk:
1093	* api/matchspy.cc: Pass std::string by const reference.
1094
1095Wed May 14 11:02:07 GMT 2014  Olly Betts <olly@survex.com>
1096
1097	* HACKING: Now bootstrapping with libtool 2.4.2 instead of 2.4.
1098
1099Mon May 05 10:34:37 GMT 2014  Olly Betts <olly@survex.com>
1100
1101	* include/xapian/base.h: Remove old, old comments talking about atomic
1102	  assignment and locking - since 0.5.0 we've adopted a "user locks"
1103	  policy.  This code has already been replaced on trunk, so this is
1104	  a 1.2 branch only change.  Reported by Jean-Francois Dockes.
1105
1106Fri May 02 06:24:24 GMT 2014  Olly Betts <olly@survex.com>
1107
1108	* Backport change from trunk:
1109	* matcher/valuestreamdocument.cc,matcher/valuestreamdocument.h: Put
1110	  the docid in the sub-database into the ValueStreamDocument object as
1111	  that's what Xapian::Document::get_docid() is documented to return.
1112	  (fixes#636, reported by Jeff Rand).
1113
1114Fri May 02 06:10:36 GMT 2014  Olly Betts <olly@survex.com>
1115
1116	* Backport change from trunk:
1117	* matcher/valuestreamdocument.cc: Use open_document(did, true) instead
1118	  of Database::get_document_lazily_().
1119
1120Fri May 02 05:53:21 GMT 2014  Olly Betts <olly@survex.com>
1121
1122	* Backport change from trunk:
1123	* backends/database.cc,backends/slowvaluelist.cc,
1124	  backends/slowvaluelist.h: Don't wrap the subdatabase object in a
1125	  Xapian::Database for SlowValueList, which mean we can just call
1126	  open_document(did, true) on it instead of having to use
1127	  Xapian::Database::get_document_lazily_().
1128
1129Wed Apr 30 05:35:28 GMT 2014  Olly Betts <olly@survex.com>
1130
1131	* NEWS: Update from ChangeLog.
1132
1133Wed Apr 30 03:38:44 GMT 2014  Olly Betts <olly@survex.com>
1134
1135	* Backport change from trunk:
1136	* api/omdatabase.cc: Explicitly '#include <algorithm>' for std::max(),
1137	  fixing build with VS2013.  (fixes#641)
1138
1139Mon Apr 14 07:22:59 GMT 2014  Olly Betts <olly@survex.com>
1140
1141	* Backport change from trunk:
1142	* examples/delve.cc: Prefer ++i to i++.
1143
1144Mon Apr 14 07:20:36 GMT 2014  Olly Betts <olly@survex.com>
1145
1146	* Backport change from trunk:
1147	* examples/delve.cc: Send errors to stderr not stdout.
1148
1149Mon Apr 14 07:16:21 GMT 2014  Olly Betts <olly@survex.com>
1150
1151	* Backport change from trunk:
1152	* examples/delve.cc: Add -A <prefix> option to list all terms with a
1153	  particular prefix.
1154
1155Sat Apr 12 11:30:54 GMT 2014  Olly Betts <olly@survex.com>
1156
1157	* Really backport change which was claimed as backported in 1.2.15,
1158	  but wasn't actually:
1159	* examples/delve.cc: If -v is specified more than once, show even more
1160	  info in some cases.
1161
1162Fri Apr 11 07:40:18 GMT 2014  Olly Betts <olly@survex.com>
1163
1164	* Backport change from trunk:
1165	* common/documentterm.h,api/omdocument.cc: Don't store the termname in
1166	  OmDocumentTerm - we were only using it in get_description() output
1167	  and an exception message.  Speeds up indexing etext.txt using
1168	  simpleindex by 0.4%, and should reduce memory usage a bit too.
1169	  (Change inspired by comments from Vishesh Handa on xapian-devel).
1170
1171Tue Mar 18 00:04:16 GMT 2014  Olly Betts <olly@survex.com>
1172
1173	* tests/queryparsertest.cc: Fix testcase for empty wildcard followed
1174	  by negation to enable FLAG_LOVEHATE so the negation is actually
1175	  parsed.  Fortunately the fixed testcase passes.  This testcase will
1176	  be fixed on trunk when the delayed wildcard expansion branch gets
1177	  merged.
1178
1179Fri Mar 14 11:47:39 GMT 2014  Olly Betts <olly@survex.com>
1180
1181	* NEWS: Update.
1182
1183Fri Mar 14 08:14:46 GMT 2014  Olly Betts <olly@survex.com>
1184
1185	* Backport change from trunk:
1186	* common/pack.h: Fix warnings with clang 5.0.
1187
1188Fri Mar 14 07:11:29 GMT 2014  Olly Betts <olly@survex.com>
1189
1190	* Backport change from trunk:
1191	* backends/brass/brass_positionlist.h,
1192	  backends/chert/chert_positionlist.h,
1193	  backends/flint/flint_positionlist.h: Remove next_internal() methods
1194	  which were declared but not defined or used (left-overs from flint).
1195	  Reported by "Hurricane Tong".
1196
1197Fri Mar 14 00:40:42 GMT 2014  Olly Betts <olly@survex.com>
1198
1199	* Backport change from trunk:
1200	* matcher/localsubmatch.cc,matcher/synonympostlist.cc,
1201	  matcher/synonympostlist.h: In SynonymPostList, avoid fetching the
1202	  doclength if the weighting scheme doesn't need it and the calculated
1203	  wdf for the synonym in <= doclength_lower_bound for the current
1204	  subdatabase.  (fixes #360)
1205
1206Thu Mar 13 06:41:39 GMT 2014  Olly Betts <olly@survex.com>
1207
1208	* Backport change from trunk:
1209	* examples/quest.cc: Add --default-op option.
1210
1211Thu Mar 13 06:35:26 GMT 2014  Olly Betts <olly@survex.com>
1212
1213	* Backport change from trunk:
1214	* examples/quest.cc: Whitespace tweak.
1215
1216Sun Feb 23 10:11:27 GMT 2014  Olly Betts <olly@survex.com>
1217
1218	* Backport change from trunk:
1219	* HACKING: Stop trying to explicitly list compilers which support
1220	  __builtin_expect (LLVM does too, others may as well).
1221
1222Sun Feb 23 10:10:43 GMT 2014  Olly Betts <olly@survex.com>
1223
1224	* Backport change from trunk:
1225	* tests/api_wrdb.cc: Expand crashrecovery1 to check that the expected
1226	  base files exist and ones which shouldn't exist don't.
1227
1228Sun Feb 23 10:05:28 GMT 2014  Olly Betts <olly@survex.com>
1229
1230	* Backport change from trunk:
1231	* HACKING: makeindex is now in Debian package texlive-binaries.
1232
1233Sun Feb 23 10:04:19 GMT 2014  Olly Betts <olly@survex.com>
1234
1235	* Backport change from trunk:
1236	* docs/sorting.rst: Fix incorrect parameter types in Xapian::Weight
1237	  subclass example.
1238
1239Sun Feb 23 09:57:46 GMT 2014  Olly Betts <olly@survex.com>
1240
1241	* Backport change from trunk:
1242	* tests/api_replicate.cc: Move comment to in front of the function it
1243	  is actually talking about.
1244
1245Sun Feb 23 09:54:49 GMT 2014  Olly Betts <olly@survex.com>
1246
1247	* Backport change from trunk:
1248	* xapian-config.in: Add some missing shell quoting identified by
1249	  shellcheck.
1250
1251Sun Feb 23 09:48:25 GMT 2014  Olly Betts <olly@survex.com>
1252
1253	* Backport change from trunk:
1254	* docs/quickstart.rst: Split --cxxflags and --libs for portability
1255	  (noted by "Hurricane Tong" on xapian-devel).
1256
1257Sun Feb 23 09:46:58 GMT 2014  Olly Betts <olly@survex.com>
1258
1259	* Backport change from trunk:
1260	* docs/glossary.rst: Add definition of "collection frequency".
1261
1262Tue Jan 28 23:47:21 GMT 2014  Olly Betts <olly@survex.com>
1263
1264	* NEWS,configure.ac: Update for 1.2.17.
1265
1266Tue Jan 28 22:48:33 GMT 2014  Olly Betts <olly@survex.com>
1267
1268	* Backport change from trunk:
1269	* configure.ac: Sun C++ seems to explicitly need Crun now.
1270
1271Tue Jan 28 22:23:07 GMT 2014  Olly Betts <olly@survex.com>
1272
1273	* Backport change from trunk:
1274	* configure.ac: Fix checks for Sun C++.
1275
1276Tue Jan 28 22:16:13 GMT 2014  Olly Betts <olly@survex.com>
1277
1278	* Backport change from trunk:
1279	* configure.ac: Improve handling of Sun's C++ compiler - trick libtool
1280	  into not adding -library=Cstd, and prefer -library=stdcxx4 if
1281	  supported.
1282
1283Tue Jan 28 22:13:30 GMT 2014  Olly Betts <olly@survex.com>
1284
1285	* Backport change from trunk:
1286	* configure.ac: Add XAPIAN_TEST_CXXFLAGS macro, and use it to check
1287	  the flags to cxx actually work.
1288
1289Tue Jan 28 22:10:51 GMT 2014  Olly Betts <olly@survex.com>
1290
1291	* Backport changes from trunk:
1292	* configure.ac: Apply missing functional part of previous change.
1293	* configure.ac: Avoid using grep -e as /usr/bin/grep on Solaris
1294	  doesn't support it.
1295
1296Tue Jan 28 08:31:04 GMT 2014  Olly Betts <olly@survex.com>
1297
1298	* Backport change from trunk:
1299	* include/xapian/valueiterator.h: Protect the check() method in
1300	  our API which takes one argument from OS X SDK's check() macro.
1301
1302Tue Jan 28 07:15:48 GMT 2014  Olly Betts <olly@survex.com>
1303
1304	* Backport change from trunk:
1305	* net/progclient.cc: Fix xlC warning.
1306
1307Mon Jan 06 08:09:14 GMT 2014  Olly Betts <olly@survex.com>
1308
1309	* Backport change from trunk:
1310	* backends/brass/brass_table.cc,backends/chert/chert_table.cc,
1311	  backends/flint/flint_table.cc: Validate dir_end when reading a
1312	  block.  (fixes #592)
1313
1314Fri Jan 03 21:56:51 GMT 2014  Olly Betts <olly@survex.com>
1315
1316	* NEWS: Update.
1317
1318Wed Jan 01 03:53:47 GMT 2014  Olly Betts <olly@survex.com>
1319
1320	* Backport change from trunk:
1321	* docs/Makefile.am: Fix handling of MAINTAINER_NO_DOCS.
1322
1323Mon Dec 30 05:38:00 GMT 2013  Olly Betts <olly@survex.com>
1324
1325	* Backport change from trunk:
1326	* docs/postingsource.rst: Clarify a couple of points (reported by
1327	  "vHanda" on IRC).
1328
1329Mon Dec 30 05:36:50 GMT 2013  Olly Betts <olly@survex.com>
1330
1331	* Backport change from trunk:
1332	* tests/api_unicode.cc: Add regression test for incorrect results
1333	  from Unicode::tolower() for 4 code points (U+01C5, U+01C8, U+01CB,
1334	  U+01F2) with Xapian 1.2.16 and earlier.
1335
1336Mon Dec 30 05:08:23 GMT 2013  Olly Betts <olly@survex.com>
1337
1338	* Backport changes from trunk:
1339	* HACKING: Note that Tcl is now needed to generate
1340	  unicode/unicode-data.cc.
1341	* tests/api_unicode.cc: Add a tests that additions and changes in
1342	  Unicode > 5.2 aren't active.
1343	* unicode/Makefile.mk,unicode/uniParse.tcl: Adjust to not need a
1344	  symlink.  Give the generated file a new name, since the "tcl" prefix
1345	  doesn't make much sense here, and it avoids issues with
1346	  transitioning from a file in version control to one which is
1347	  generated.
1348	* unicode/: Add the source data file and scripts to generate
1349	  tclUniData.cc.
1350
1351Tue Dec 24 22:40:04 GMT 2013  Olly Betts <olly@survex.com>
1352
1353	* tests/api_backend.cc: Fix apitest to build when brass, chert or
1354	  flint are disabled.
1355
1356Tue Dec 24 02:15:16 GMT 2013  Olly Betts <olly@survex.com>
1357
1358	* Backport changes from trunk:
1359	* tests/Makefile.am,tests/perftest/Makefile.mk: Actually use
1360	  @NO_INSTALL@.
1361	* configure.ac: Use -no-fast-install on platforms where -no-install
1362	  causes libtool to emit a warning.
1363
1364Mon Dec 23 02:20:37 GMT 2013  Olly Betts <olly@survex.com>
1365
1366	* Backport change from trunk:
1367	* include/xapian/enquire.h: Note that 1.2.17 is required for the
1368	  correct sense of the reverse parameter to Enquire methods
1369	  set_sort_by_relevance_then_value() and
1370	  set_sort_by_relevance_then_key().
1371
1372Fri Dec 20 06:48:49 GMT 2013  Olly Betts <olly@survex.com>
1373
1374	* NEWS: Update.
1375
1376Thu Dec 19 09:23:01 GMT 2013  Olly Betts <olly@survex.com>
1377
1378	* Backport change from trunk:
1379	* docs/deprecation.rst: Update example version to a more recent one.
1380
1381Thu Dec 19 09:22:17 GMT 2013  Olly Betts <olly@survex.com>
1382
1383	* Backport change from trunk:
1384	* tests/harness/backendmanager_multi.cc: Fix comment typo.
1385
1386Thu Dec 19 09:18:50 GMT 2013  Olly Betts <olly@survex.com>
1387
1388	* Backport change from trunk:
1389	* backends/brass/brass_table.cc,backends/chert/chert_table.cc,
1390	  backends/flint/flint_table.cc,tests/api_backend.cc: Fix handling of
1391	  invalid block sizes - the size gets fixed as documented, but the
1392	  uncorrected size was passed to the base file.  Also, abort() was
1393	  called on 0.
1394
1395Thu Dec 19 08:50:33 GMT 2013  Olly Betts <olly@survex.com>
1396
1397	* Backport change from trunk:
1398	* tests/runtest.in: Report if a test is being run under eatmydata,
1399	  like we do for running under valgrind.
1400
1401Thu Dec 19 08:47:05 GMT 2013  Olly Betts <olly@survex.com>
1402
1403	* Backport change from trunk:
1404	* backends/brass/brass_version.h,backends/chert/chert_version.h,
1405	  backends/flint/flint_version.h: Comment out unused set_uuid() and
1406	  set_uuid_string() methods - they may be useful in future, but we
1407	  aren't currently using them.  Also make set_uuid() take a const
1408	  pointer.
1409
1410Thu Dec 19 08:41:02 GMT 2013  Olly Betts <olly@survex.com>
1411
1412	* Backport change from trunk:
1413	* HACKING,configure.ac,tests/runtest.in: Automatically probe for and
1414	  hook in eatmydata to the testsuite using the wrapper script it now
1415	  includes.
1416
1417Thu Dec 19 08:22:16 GMT 2013  Olly Betts <olly@survex.com>
1418
1419	* Backport change from trunk:
1420	* HACKING: Update website update info.
1421
1422Mon Dec 16 10:40:12 GMT 2013  Olly Betts <olly@survex.com>
1423
1424	* Backport change from trunk:
1425	* matcher/msetcmp.cc: Fix sense of reverse parameter to
1426	  Enquire::set_sort_by_relevance_then_value.  Reported by "boomboo" on
1427	  IRC.
1428	* tests/api_db.cc: Fix testcase sortrel1.
1429
1430Mon Dec 16 09:34:14 GMT 2013  Olly Betts <olly@survex.com>
1431
1432	* Backport change from trunk:
1433	* configure.ac: Improve reporting of GCC version.
1434
1435Fri Dec 13 08:45:00 GMT 2013  Olly Betts <olly@survex.com>
1436
1437	* Backport change from trunk:
1438	* weight/bm25weight.cc: Fix case where (k1 == 0 || b == 0) but k2 != 0.
1439	  Reported by "boomboo" on IRC.
1440	* tests/api_weight.cc: Add regression test bm25weight5.
1441
1442Fri Dec 13 08:28:48 GMT 2013  Olly Betts <olly@survex.com>
1443
1444	* AUTHORS: Update missed from 1.2.16.
1445
1446Wed Dec 04 05:14:35 GMT 2013  Olly Betts <olly@survex.com>
1447
1448	* Backport change from trunk:
1449	* docs/Makefile.am: doxygen no longer generates any GIF files, so
1450	  stop trying to ship or install them.
1451
1452Wed Dec 04 02:53:35 GMT 2013  Olly Betts <olly@survex.com>
1453
1454	* NEWS,docs/doxygen_api.conf.in: Use doxygen 1.8.5 to generate
1455	  docs for releases.
1456
1457Wed Dec 04 02:22:55 GMT 2013  Olly Betts <olly@survex.com>
1458
1459	* NEWS,include/xapian/enquire.h,include/xapian/keymaker.h:
1460	  Improve how descriptions of deprecated features appear in the API
1461	  documentation.
1462
1463Tue Dec 03 23:08:06 GMT 2013  Olly Betts <olly@survex.com>
1464
1465	* NEWS: Final update for 1.2.16.
1466
1467Tue Dec 03 23:04:16 GMT 2013  Olly Betts <olly@survex.com>
1468
1469	* Backport change from trunk:
1470	* configure.ac: Clarify version of MSVCRT which we require for mingw.
1471
1472Sat Nov 30 03:16:44 GMT 2013  Olly Betts <olly@survex.com>
1473
1474	* backends/flint/flint_values.cc: Fix -Wcast-qual warning from GCC 4.7
1475	  when configured with --enable-log.
1476
1477Fri Nov 29 20:18:48 GMT 2013  Olly Betts <olly@survex.com>
1478
1479	* net/tcpclient.cc,net/tcpserver.cc: Fix not to include <sys/socket.h>
1480	  under __WIN32__.
1481
1482Fri Nov 29 04:23:56 GMT 2013  Olly Betts <olly@survex.com>
1483
1484	* Backport changes from trunk:
1485	* configure.ac: Report GCC version.
1486	* configure.ac: Fix typo in previous commit.
1487
1488Fri Nov 29 01:08:12 GMT 2013  Olly Betts <olly@survex.com>
1489
1490	* configure.ac: Update for 1.2.16.
1491
1492Thu Nov 28 06:06:45 GMT 2013  Olly Betts <olly@survex.com>
1493
1494	* NEWS: Update from ChangeLog.
1495
1496Wed Nov 27 08:17:49 GMT 2013  Olly Betts <olly@survex.com>
1497
1498	* Backport change from chert:
1499	* backends/flint/flint_table.cc: Check if the block we want is in the
1500	  internal cursor for a read-only table too - it isn't needed for
1501	  correctness in this case, but it is more efficient not to reload a
1502	  block which we already have.
1503
1504Wed Nov 27 08:08:17 GMT 2013  Olly Betts <olly@survex.com>
1505
1506	* Backport change from trunk:
1507	* Backport change from brass:
1508	* backends/chert/chert_table.cc: Check if the block we want is in the
1509	  internal cursor for a read-only table too - it isn't needed for
1510	  correctness in this case, but it is more efficient not to reload a
1511	  block which we already have.
1512
1513Wed Nov 27 08:05:25 GMT 2013  Olly Betts <olly@survex.com>
1514
1515	* Backport change from trunk:
1516	* backends/brass/brass_table.cc: Check if the block we want is in the
1517	  internal cursor for a read-only table too - it isn't needed for
1518	  correctness in this case, but it is more efficient not to reload a
1519	  block which we already have.
1520
1521Wed Nov 27 03:08:30 GMT 2013  Olly Betts <olly@survex.com>
1522
1523	* Backport change from trunk:
1524	* queryparser/queryparser.lemony: Minor tweak to structuring of tests
1525	  in check_infix().
1526
1527Wed Nov 27 02:53:52 GMT 2013  Olly Betts <olly@survex.com>
1528
1529	* Backport change from trunk:
1530	* backends/brass/brass_table.cc,backends/chert/chert_table.cc,
1531	  backends/flint/flint_table.cc: Add check for the database being
1532	  closed in read_block(), which fixes pythontest.py testcase
1533	  valuemods.
1534
1535Wed Nov 27 02:28:06 GMT 2013  Olly Betts <olly@survex.com>
1536
1537	* Backport change from trunk:
1538	* backends/brass/brass_values.cc,backends/brass/brass_values.h,
1539	  backends/chert/chert_values.cc,backends/chert/chert_values.h: Reuse
1540	  a cursor for reading values from valuestreams rather than creating
1541	  a new one each time.  This can dramatically reduce the number of
1542	  blocks redundantly reread when sorting by value.  The rereads will
1543	  generally get served from VM cache, but there's still an overhead
1544	  to that.
1545
1546Wed Nov 27 02:12:42 GMT 2013  Olly Betts <olly@survex.com>
1547
1548	* Backport change from trunk:
1549	* examples/quest.cc: Add --check-at-least option to quest.
1550
1551Wed Nov 27 02:07:45 GMT 2013  Olly Betts <olly@survex.com>
1552
1553	* Backport changes from trunk:
1554	* configure.ac,tests/soaktest/soaktest.cc: If srandom() and random()
1555	  aren't available, use srand() and rand() instead.
1556	* common/safewindows.h: Define WINVER to 0x0500 if not otherwise set,
1557	  so we get new interfaces like MEMORYSTATUSEX under mingw.
1558	* tests/harness/backendmanager_remotetcp.cc: Need cstdlib for free
1559	  under mingw.
1560	* configure.ac,tests/api_replicate.cc,tests/queryparsertest.cc,
1561	  tests/termgentest.cc: Probe for _putenv_s() in configure as mingw
1562	  doesn't provide it.
1563	* configure.ac: Don't unset CC as it's used by libtool under mingw.
1564
1565Wed Nov 27 01:29:37 GMT 2013  Olly Betts <olly@survex.com>
1566
1567	* Backport change from trunk:
1568	* net/tcpserver.cc: Fix mingw build error.
1569
1570Wed Nov 27 01:04:36 GMT 2013  Olly Betts <olly@survex.com>
1571
1572	* Backport change from trunk:
1573	* common/omassert.h: Suppress "unused local typedef" warnings from
1574	  GCC 4.8.
1575
1576Wed Nov 27 00:58:30 GMT 2013  Olly Betts <olly@survex.com>
1577
1578	* Backport change from trunk:
1579	* common/omassert.h: If the compiler supports C++11, use
1580	  static_assert to implement CompileTimeAssert.
1581
1582Wed Nov 27 00:38:58 GMT 2013  Olly Betts <olly@survex.com>
1583
1584	* Backport change from trunk:
1585	* net/tcpclient.cc: Fix mingw build errors.
1586
1587Thu Oct 31 12:52:27 GMT 2013  Olly Betts <olly@survex.com>
1588
1589	* Backport change from trunk:
1590	* common/win32_uuid.cc: Fix mingw compiler warning.
1591
1592Thu Oct 31 12:39:03 GMT 2013  Olly Betts <olly@survex.com>
1593
1594	* Backport change from trunk:
1595	* backends/flint_lock.cc: Under cygwin, use cygwin_conv_path() if
1596	  using a new enough cygwin version, rather than the now deprecated
1597	  cygwin_conv_to_win32_path().  Reported by "Haroogan" on the
1598	  xapian-devel mailing list.
1599
1600Thu Oct 31 12:30:29 GMT 2013  Olly Betts <olly@survex.com>
1601
1602	* NEWS: Update.
1603
1604Mon Oct 21 22:58:50 GMT 2013  Olly Betts <olly@survex.com>
1605
1606	* Backport change from trunk:
1607	* configure.ac: Simplify test for uuid_unparse_lower().  (see #626)
1608
1609Mon Oct 21 22:08:13 GMT 2013  Olly Betts <olly@survex.com>
1610
1611	* Backport change from trunk:
1612	* Makefile.am,configure.ac: Split XAPIAN_LIBS out of XAPIAN_LDFLAGS.
1613	  (fixes#626)
1614
1615Mon Oct 21 20:00:35 GMT 2013  Olly Betts <olly@survex.com>
1616
1617	* Backport change from trunk:
1618	* include/xapian/enquire.h,include/xapian/unicode.h: Mark internal
1619	  methods which are public for implementation convenience as
1620	  "@private" for doxygen where they weren't already.
1621
1622Fri Oct 11 10:05:58 GMT 2013  Olly Betts <olly@survex.com>
1623
1624	* Backport change from trunk:
1625	* tests/zlib-vg.c: Fix two warnings when compiled with clang.
1626
1627Mon Oct 07 07:10:48 GMT 2013  Olly Betts <olly@survex.com>
1628
1629	* NEWS: Update from ChangeLog.
1630
1631Mon Oct 07 01:07:00 GMT 2013  Olly Betts <olly@survex.com>
1632
1633	* Backport change from trunk:
1634	* configure.ac: Enable -fshow-column for GCC - things like vim's
1635	  quickfix mode will then jump to the appropriate column for a
1636	  compiler error or warning, not just the appropriate line.
1637
1638Fri Oct 04 08:58:04 GMT 2013  Olly Betts <olly@survex.com>
1639
1640	* Backport change from trunk:
1641	* backends/brass/brass_check.cc,backends/chert/chert_check.cc,
1642	  backends/flint/flint_check.cc: Fix xapian-check to report block
1643	  numbers correctly for links within the B-tree.
1644
1645Fri Oct 04 06:55:01 GMT 2013  Olly Betts <olly@survex.com>
1646
1647	* bin/xapian-check-chert.cc,bin/xapian-check-brass.cc,
1648	  bin/xapian-check-flint.cc: If the METAINFO key is missing, only
1649	  report it once per table.
1650
1651Fri Oct 04 06:33:25 GMT 2013  Olly Betts <olly@survex.com>
1652
1653	* Backport change from trunk:
1654	* queryparser/queryparser.lemony: Fix comment typo.
1655
1656Fri Oct 04 06:30:42 GMT 2013  Olly Betts <olly@survex.com>
1657
1658	* Backport change from trunk:
1659	* .gitignore,xapian-core.spec.in: Update two references to .tar.gz
1660	  files.
1661
1662Fri Oct 04 06:29:14 GMT 2013  Olly Betts <olly@survex.com>
1663
1664	* Backport change from trunk:
1665	* docs/install.rst: Fix typo (bogus extra 'and');
1666
1667Fri Oct 04 06:27:39 GMT 2013  Olly Betts <olly@survex.com>
1668
1669	* Backport change from trunk:
1670	* configure.ac,docs/install.rst: Compress source tarballs with xz
1671	  instead of gzip.
1672
1673Sun Sep 29 16:44:46 GMT 2013  Olly Betts <olly@survex.com>
1674
1675	* Backport change from trunk:
1676	* backends/brass/,backends/chert/,backends/flint,backends/dbcheck.cc:
1677	  Fix database consistency checking to always open all the tables at
1678	  the same revision, which could lead to false errors being reported
1679	  after a commit interrupted by the process being killed or the
1680	  machine crashing.  Reported by Joey Hess in
1681	  http://bugs.debian.org/724610
1682
1683Sun Sep 22 07:35:42 GMT 2013  Olly Betts <olly@survex.com>
1684
1685	* NEWS: Update for changes since 1.2.15.
1686
1687Fri Sep 20 09:21:37 GMT 2013  Olly Betts <olly@survex.com>
1688
1689	* Backport change from trunk:
1690	* include/xapian/unicode.h: Document how Utf8Iterator handles invalid
1691	  UTF-8.
1692
1693Fri Sep 20 09:09:11 GMT 2013  Olly Betts <olly@survex.com>
1694
1695	* Backport change from trunk:
1696	* tests/queryparsertest.cc: Add test coverage for explicit synonym of
1697	  a term with a prefix (e.g. ~foo:search).
1698
1699Mon Sep 16 11:50:28 GMT 2013  Olly Betts <olly@survex.com>
1700
1701	* Backport changes from trunk:
1702	* api/valueiterator.cc,tests/api_backend.cc: Don't segfault is
1703	  skip_to() or check() are called on a ValueIterator which is already
1704	  at_end().
1705	* api/ompositionlistiterator.cc,api/ompostlistiterator.cc,
1706	  tests/api_backend.cc: Don't segfault if skip_to() is called on an
1707	  iterator which is already at_end().  Reported by David Bremner.
1708
1709Mon Sep 16 11:28:17 GMT 2013  Olly Betts <olly@survex.com>
1710
1711	* Backport changes from trunk:
1712	* tests/queryparsertest.cc: Fix previous change to compile.
1713	* tests/queryparsertest.cc: Change qp_scale1 to time 5 repetitions of
1714	  the large query to help average out variations.
1715
1716Mon Sep 16 10:59:02 GMT 2013  Olly Betts <olly@survex.com>
1717
1718	* tests/api_serialise.cc: Fix up bad application of recent backport to
1719	  this file.
1720
1721Mon Sep 16 10:48:05 GMT 2013  Olly Betts <olly@survex.com>
1722
1723	* Backport change from trunk:
1724	* tests/harness/testsuite.cc,tests/harness/testsuite.h: If
1725	  -v/--verbose is specified more than once, show the diagnostic output
1726	  for passing tests as well as failing/skipped ones.
1727
1728Mon Sep 16 10:22:53 GMT 2013  Olly Betts <olly@survex.com>
1729
1730	* Backport change from trunk:
1731	* api/matchspy.cc: Fix get_description() to work on a
1732	  ValueCountMatchSpy with NULL internals - fixes matchspy5 testcase
1733	  with remote backends when configured with --enable-log.
1734	* api/matchspy.cc: Add assertions that internal is non-NULL before
1735	  using it.
1736	* include/xapian/matchspy.h: If internal is NULL, make
1737	  ValueCountMatchSpy::get_total() return 0 rather than dereferencing
1738	  NULL.
1739
1740Mon Sep 02 09:39:34 GMT 2013  Olly Betts <olly@survex.com>
1741
1742	* Backport change from trunk:
1743	* backends/dbfactory.cc: Fix 'unused label' warning when chert backend
1744	  is disabled.
1745
1746Mon Sep 02 09:20:35 GMT 2013  Olly Betts <olly@survex.com>
1747
1748	* Backport change from trunk:
1749	* tests/api_serialise.cc: Remove code from registry* testcases which
1750	  tries to test the consequences of throwing an exception from a
1751	  destructor - it's complex to ensure we don't leak memory while doing
1752	  this (it seems GCC doesn't release the object in this case, but
1753	  clang does), and it's generally frowned upon, plus C++11 makes
1754	  destructors noexcept by default.
1755
1756Mon Sep 02 08:08:57 GMT 2013  Olly Betts <olly@survex.com>
1757
1758	* Backport change from trunk:
1759	* tests/Makefile.am: Fix to actually removed cached databases before
1760	  "make check".
1761
1762Sun Sep 01 09:06:53 GMT 2013  Olly Betts <olly@survex.com>
1763
1764	* Backport change from trunk:
1765	* common/safeuuid.h: Make a few tweaks to support AIX.
1766
1767Sun Sep 01 09:02:09 GMT 2013  Olly Betts <olly@survex.com>
1768
1769	* Backport change from trunk:
1770	* common/safeuuid.h: Remove bogus take-address-of from uuid handling
1771	  code for netbsd and openbsd.
1772
1773Sun Sep 01 08:59:03 GMT 2013  Olly Betts <olly@survex.com>
1774
1775	* Backport change from trunk:
1776	* common/safeuuid.h: Add missing '#include <cstdlib>' and qualify free
1777	  with std.
1778
1779Sun Sep 01 08:48:43 GMT 2013  Olly Betts <olly@survex.com>
1780
1781	* Backport change from trunk:
1782	* api/error.cc,common/Makefile.mk,common/safenetdb.h,net/tcpclient.cc,
1783	  net/tcpserver.cc: AIX needs _USE_IRS defined for hstrerror, so
1784	  create safenetdb.h to take care of that.
1785
1786Sun Sep 01 08:44:46 GMT 2013  Olly Betts <olly@survex.com>
1787
1788	* Backport change from trunk:
1789	* matcher/andmaybepostlist.cc,matcher/multiandpostlist.h: Fix
1790	  assertion failure for when an OrPostList decays to an AndPostList
1791	  - the ordering of the subqueries by estimated termfreq may not be
1792	  the same as it was when the OrPostList was constructed, as the
1793	  subqueries may themselves have decayed.  Reported by Michel
1794	  Pelletier.
1795
1796Sun Sep 01 06:29:20 GMT 2013  Olly Betts <olly@survex.com>
1797
1798	* Backport change from trunk:
1799	* m4-macros/xapian-1.3.m4: Handle empty or unset XAPIAN_CONFIG
1800	  correctly.
1801
1802Fri Aug 30 08:32:55 GMT 2013  Olly Betts <olly@survex.com>
1803
1804	* Backport change from trunk:
1805	* configure.ac,m4-macros/xapian-1.3.m4: Fix stripping of _git suffix
1806	  from snapshot versions not to relying of sed having support for \|
1807	  as it doesn't on OS X.
1808
1809Fri Jul 12 08:18:15 GMT 2013  Olly Betts <olly@survex.com>
1810
1811	* Backport change from trunk:
1812	* m4-macros/xapian-1.3.m4: XO_LIB_XAPIAN now handles the user
1813	  specifying a relative path in XAPIAN_CONFIG, e.g.: "./configure
1814	  XAPIAN_CONFIG=../xapian-core/xapian-config"
1815
1816Thu Jul 11 13:02:51 GMT 2013  Olly Betts <olly@survex.com>
1817
1818	* Backport change from trunk:
1819	* m4-macros/xapian-1.3.m4: Fix comment typo.
1820
1821Thu Jul 11 12:37:51 GMT 2013  Olly Betts <olly@survex.com>
1822
1823	* Backport change from trunk:
1824	* configure.ac: clang doesn't support -Wstrict-null-sentinel or
1825	  -Wlogical-op, so don't pass it these options.
1826
1827Thu Jul 11 12:28:02 GMT 2013  Olly Betts <olly@survex.com>
1828
1829	* Backport change from trunk:
1830	* backends/brass/brass_compact.cc,backends/chert/chert_compact.cc:
1831	  Fix failure when built with -D_GLIBCXX_DEBUG - we were modifying
1832	  the top() element of a heap before calling pop(), such that the
1833	  heap comparison operation (which is called when -D_GLIBCXX_DEBUG
1834	  is on to verify the heap is valid) would read off the end of the
1835	  data.  In a normal build, this issue would likely never manifest.
1836
1837Thu Jul 11 11:48:22 GMT 2013  Olly Betts <olly@survex.com>
1838
1839	* Backport change from trunk:
1840	* preautoreconf: Remove needless use of perl prototype.
1841
1842Thu Jul 11 11:45:15 GMT 2013  Olly Betts <olly@survex.com>
1843
1844	* Backport change from trunk:
1845	* configure.ac: When generating ABI compatibility checks in
1846	  xapian/version.h, pass $CXXFLAGS and $CPPFLAGS to $CXXCPP as they
1847	  could contain options which affect the ABI (such as -fabi-version
1848	  for GCC).  (Fixes #622)
1849
1850Thu Jul 11 11:37:19 GMT 2013  Olly Betts <olly@survex.com>
1851
1852	* Backport change from trunk:
1853	* common/win32_uuid.cc: Microsoft GUIDs in binary form have reversed
1854	  byte order in the first three components compared to standard UUIDs,
1855	  so the same database would report a different UUID on Windows to
1856	  on other platforms.  With this fix, the UUIDs of existing databases
1857	  will appear to change on Windows (except in rare "palindronic" cases).
1858
1859Thu Jul 11 11:35:14 GMT 2013  Olly Betts <olly@survex.com>
1860
1861	* Backport change from trunk:
1862	* docs/overview.rst: Correct documentation for stub files specifying
1863	  "prog" remote databases.
1864
1865Thu Jul 11 11:17:34 GMT 2013  Olly Betts <olly@survex.com>
1866
1867	* Backport change from trunk:
1868	* HACKING,INSTALL,Makefile.am,README,docs/Makefile.am,docs/install.rst,
1869	  docs/stemming.rst,languages/Makefile.mk,queryparser/Makefile.mk,
1870	  tests/Makefile.am,tests/perftest/perftest.cc: SVN -> git.
1871
1872Thu Jul 11 03:39:49 GMT 2013  Olly Betts <olly@survex.com>
1873
1874	* bin/xapian-chert-update.cc: Documented alias --blocksize for -b has
1875	  never actually been supported, so just drop mentions of it from
1876	  --help and the man page.
1877
1878Thu Jul 11 03:36:57 GMT 2013  Olly Betts <olly@survex.com>
1879
1880	* bin/xapian-chert-update.cc: Fix -b to work rather than always
1881	  segfaulting (reported in http://bugs.debian.org/716484).
1882
1883Thu Jul 11 03:32:37 GMT 2013  Olly Betts <olly@survex.com>
1884
1885	* Backport changes from trunk:
1886	* backends/chert/chert_dbcheck.cc: Code tweak for clarity.
1887	* backends/chert/chert_dbcheck.cc: Fix database check that first docid
1888	  in each doclength chunk is more than the last docid in the previous
1889	  chunk - previously this didn't actually work.
1890	* common/bitstream.h: Fix database check not to falsely report
1891	  "position table: Junk after position data" whenever there are 7
1892	  unused bits (7 is OK, *more* than 7 isn't).
1893
1894Mon May 27 00:02:54 GMT 2013  Olly Betts <olly@survex.com>
1895
1896	* Backport change from trunk:
1897	* m4-macros/xapian-1.3.m4: Adjust XO_LIB_XAPIAN to strip _gitNNN
1898	  suffix from snapshot versions.
1899
1900Sat May 25 07:30:26 GMT 2013  Olly Betts <olly@survex.com>
1901
1902	* Backport changes from trunk:
1903	* configure.ac: Handle git snapshot naming when calculating REVISION.
1904	* configure.ac: Simplify previous change.
1905
1906Sat May 25 07:03:34 GMT 2013  Olly Betts <olly@survex.com>
1907
1908	* Backport change from trunk:
1909	* backends/brass/brass_version.cc,backends/chert/chert_version.cc:
1910	  Remove unused '#include <cstdio>'.
1911
1912Wed May 01 05:14:16 GMT 2013  Olly Betts <olly@survex.com>
1913
1914	* Backport change from trunk:
1915	* include/xapian.h: Add catch for Wt defining a macro called slots,
1916	  like we already do for Qt.
1917
1918Mon Apr 29 11:27:54 GMT 2013  Olly Betts <olly@survex.com>
1919
1920	* Backport change from trunk:
1921	* docs/remote_protocol.rst: Correct error in documentation of
1922	  REPLY_DOCDATA message.
1923
1924Sun Apr 28 09:08:23 GMT 2013  Olly Betts <olly@survex.com>
1925
1926	* Backport change from trunk:
1927	* include/xapian/version_h.cc: Fix typo in doc comment.
1928
1929Tue Apr 16 23:07:10 GMT 2013  Olly Betts <olly@survex.com>
1930
1931	* NEWS,configure.ac: Update for 1.2.15.
1932
1933Tue Apr 16 10:10:30 GMT 2013  Olly Betts <olly@survex.com>
1934
1935	* NEWS: Update from ChangeLog.
1936
1937Tue Apr 16 06:27:59 GMT 2013  Olly Betts <olly@survex.com>
1938
1939	* Backport change from trunk:
1940	* backends/brass/brass_version.cc,backends/chert/chert_version.cc,
1941	  backends/flint/flint_version.cc: Call io_sync() on the version file
1942	  when we create it.
1943
1944Mon Apr 15 09:09:17 GMT 2013  Olly Betts <olly@survex.com>
1945
1946	* Backport change from trunk:
1947	* bin/xapian-delve.cc: If -v is specified more than once, show even
1948	  more info in some cases.
1949
1950Wed Apr 10 08:11:36 GMT 2013  Olly Betts <olly@survex.com>
1951
1952	* Backport change from trunk:
1953	* m4-macros/xapian.m4: XO_LIB_XAPIAN now handles the user
1954	  specifying XAPIAN_CONFIG without a path - e.g.: "./configure
1955	  XAPIAN_CONFIG=xapian-config-1.3"
1956
1957Tue Apr 02 10:25:43 GMT 2013  Olly Betts <olly@survex.com>
1958
1959	* queryparser/lemon.c: Fix lemon pointer truncation bug, which
1960	  probably affects WIN64.
1961
1962Wed Mar 27 08:51:22 GMT 2013  Olly Betts <olly@survex.com>
1963
1964	* Backport change from trunk:
1965	* queryparser/queryparser.lemony: std::less provides a total order over
1966	  pointers, so we can just use that to implement
1967	  filter_group_id::operator<() - we only need a consistent order so we
1968	  can use it as the key to a std::map.
1969
1970Tue Mar 26 09:54:44 GMT 2013  Olly Betts <olly@survex.com>
1971
1972	* Backport change from trunk:
1973	* backends/brass/brass_table.cc,backends/chert/chert_table.cc,
1974	  common/pretty.h: Avoid needlessly casting away const-ness in
1975	  debug logging.
1976
1977Tue Mar 26 08:00:44 GMT 2013  Olly Betts <olly@survex.com>
1978
1979	* Backport change from trunk:
1980	* api/registry.cc: No need to explicitly default initialise std::map
1981	  members or the base class.
1982
1983Tue Mar 26 01:31:08 GMT 2013  Olly Betts <olly@survex.com>
1984
1985	* Backport changes from trunk:
1986	* queryparser/cjk-tokenizer.cc,queryparser/termgenerator_internal.cc,
1987	  tests/termgentest.cc: Some CJK codepoints are also punctuation and
1988	  hence not word characters, and should not really be used as fodder
1989	  for generating N-grams.  Also fixes a pre-existing bug where every
1990	  second sequence of N-grammable CJK characters in the text failed to
1991	  generate the first 2-gram.
1992	* tests/queryparsertest.cc: Add test coverage for change to
1993	  QueryParser CJK handling in previous commit.
1994
1995Mon Mar 25 11:10:26 GMT 2013  Olly Betts <olly@survex.com>
1996
1997	* matcher/multiandpostlist.cc,matcher/multixorpostlist.cc: Fix to
1998	  build when configured with --enable-log.
1999
2000Thu Mar 14 23:21:10 GMT 2013  Olly Betts <olly@survex.com>
2001
2002	* AUTHORS: Update for 1.2.14.
2003
2004Thu Mar 14 22:36:40 GMT 2013  Olly Betts <olly@survex.com>
2005
2006	* NEWS,configure.ac: Update for 1.2.14.
2007
2008Thu Mar 14 12:26:45 GMT 2013  Olly Betts <olly@survex.com>
2009
2010	* Backport change from trunk:
2011	* tests/api_anydb.cc: Added tradweight4 testcase to test TradWeight
2012	  with an RSet for weighting documents.
2013
2014Thu Mar 14 12:20:00 GMT 2013  Olly Betts <olly@survex.com>
2015
2016	* Backport change from trunk:
2017	* HACKING: gs package has been replaced by ghostscript package in
2018	  current Debian and Ubuntu releases.
2019
2020Fri Mar 08 08:50:56 GMT 2013  Olly Betts <olly@survex.com>
2021
2022	* backends/flint/flint_compact.cc: Apply same fix for flint.
2023
2024Fri Mar 08 08:25:47 GMT 2013  Olly Betts <olly@survex.com>
2025
2026	* Backport change from trunk:
2027	* backends/brass/brass_compact.cc,backends/chert/chert_compact.cc: Fix
2028	  multipass compaction not to damage document values, and to merge the
2029	  database stats correctly.  (fixes #615)
2030	* tests/api_compact.cc: Add regression test compactmultipass1.
2031
2032Thu Mar 07 09:39:14 GMT 2013  Olly Betts <olly@survex.com>
2033
2034	* NEWS: Update from ChangeLog.
2035
2036Sat Feb 16 08:14:04 GMT 2013  Olly Betts <olly@survex.com>
2037
2038	* Backport change from trunk:
2039	* matcher/selectpostlist.cc,matcher/selectpostlist.h: Check document
2040	  matches weight threshold before checking positional information,
2041	  which speeds up slow phrase searches (tweaked version of
2042	  positional-query-weight-check-first.patch from #394).
2043
2044Sat Feb 16 02:30:35 GMT 2013  Olly Betts <olly@survex.com>
2045
2046	* Backport change from trunk:
2047	* tests/api_stem.cc: Extend stem2 to ensure description of the stemmer
2048	  isn't the same as the description of Stem("none").  Fix description
2049	  of testcase stemlangs2.
2050
2051Sat Feb 16 02:15:30 GMT 2013  Olly Betts <olly@survex.com>
2052
2053	* Backport change from trunk:
2054	* HACKING: Update link to new home of autotools tutorial.
2055
2056Sat Feb 16 02:10:53 GMT 2013  Olly Betts <olly@survex.com>
2057
2058	* Backport change from trunk:
2059	* api/omenquire.cc: Don't cache documents retrieved by
2060	  MSet::get_document() unless they were requested with fetch().  This
2061	  avoids using a lot of memory when many MSet entries are retrieved.
2062	  (Fixes #604)
2063
2064Fri Feb 15 07:36:50 GMT 2013  Olly Betts <olly@survex.com>
2065
2066	* Backport change from trunk:
2067	* common/realtime.h: Fix RealTime::sleep() to calculate the delta to
2068	  the time we want to sleep to the right way round.  Previously we
2069	  wouldn't sleep if we were before the deadline, but would sleep if
2070	  the deadline had already passed (and by the amount the deadline had
2071	  passed)!  And on Windows, fix the sleep to be for the delta rather
2072	  than 43+ years (the time elapsed since the start of 1970).  (Fixes
2073	  #472)
2074
2075Fri Feb 15 07:33:47 GMT 2013  Olly Betts <olly@survex.com>
2076
2077	* matcher/queryoptimiser.cc: Need <functional> for mem_fun().
2078
2079Fri Feb 15 07:31:21 GMT 2013  Olly Betts <olly@survex.com>
2080
2081	* Backport change from trunk:
2082	* tests/harness/testsuite.cc: Don't provide explicit template types to
2083	  make_pair - it isn't useful, and breaks with C++11.  Fixes build
2084	  error with MSVC2012.
2085
2086Mon Jan 28 01:51:01 GMT 2013  Olly Betts <olly@survex.com>
2087
2088	* Backport change from trunk:
2089	* examples/quest.cc: Fix to build with Sun Studio 12 compiler.
2090	  (ticket#611)
2091
2092Mon Jan 28 01:47:47 GMT 2013  Olly Betts <olly@survex.com>
2093
2094	* NEWS: Fix some typos in older entries.
2095
2096Wed Jan 09 11:31:52 GMT 2013  Olly Betts <olly@survex.com>
2097
2098	* AUTHORS: Update for 1.2.13.
2099
2100Wed Jan 09 11:13:34 GMT 2013  Olly Betts <olly@survex.com>
2101
2102	* NEWS,configure.ac: Updated for 1.2.13.
2103
2104Wed Jan 09 07:40:06 GMT 2013  Olly Betts <olly@survex.com>
2105
2106	* NEWS: Format new entries.
2107
2108Tue Jan 08 10:10:43 GMT 2013  Olly Betts <olly@survex.com>
2109
2110	* NEWS: Update from ChangeLog.
2111
2112Tue Jan 08 09:14:54 GMT 2013  Olly Betts <olly@survex.com>
2113
2114	* Backport change from trunk:
2115	* configure.ac: Expand comment about DJGPP.
2116
2117Tue Jan 08 09:13:51 GMT 2013  Olly Betts <olly@survex.com>
2118
2119	* Backport change from trunk:
2120	* configure.ac: Update comment - we've supported the prog backend on
2121	  Windows for more than 5 years now!
2122
2123Tue Jan 08 09:05:56 GMT 2013  Olly Betts <olly@survex.com>
2124
2125	* backends/brass/brass_database.cc,backends/chert/chert_database.cc,
2126	  backends/flint/flint_database.cc,net/remoteconnection.cc,
2127	  tests/api_replicate.cc: Pass O_BINARY when opening replication
2128	  related files in some places where we weren't before, which will
2129	  probably help solve bugs such as #472.  Changes are roughly
2130	  equivalent in effect to r16961 and r16962 on trunk, but done in a
2131	  very different way to be less invasive.
2132
2133Mon Jan 07 11:48:41 GMT 2013  Olly Betts <olly@survex.com>
2134
2135	* Backport change from trunk:
2136	* backends/remote/remote-database.cc: Make the UnimplementedError for a
2137	  MatchSpy which doesn't implement name() clearer that it's this
2138	  particular subclass which can't be used remotely, not all MatchSpy
2139	  objects.
2140
2141Mon Jan 07 11:46:54 GMT 2013  Olly Betts <olly@survex.com>
2142
2143	* Backport change from trunk:
2144	* configure.ac: Use user-specified LIBS for configure tests, which is
2145	  what's expected, and provides a way for the user to tell configure
2146	  where to find library functions which configure can't find for
2147	  itself.
2148
2149Mon Jan 07 10:56:18 GMT 2013  Olly Betts <olly@survex.com>
2150
2151	* bin/Makefile.mk: Fix srcdir != builddir build (broken by INCLUDES
2152	  to AM_CPPFLAGS change).
2153
2154Mon Jan 07 10:38:02 GMT 2013  Olly Betts <olly@survex.com>
2155
2156	* Backport change from trunk:
2157	* backends/brass/brass_databasereplicator.cc,
2158	  backends/chert/chert_databasereplicator.cc: Simplify how we open the
2159	  .DB file on the replication slave to just call open() once with
2160	  O_CREAT, rather than once without, than stat() if that fails, and
2161	  then again with O_CREAT|O_TRUNC if stat() doesn't show an ordinary
2162	  file exists.
2163
2164Mon Jan 07 10:31:44 GMT 2013  Olly Betts <olly@survex.com>
2165
2166	* Backport change from trunk:
2167	* api/compactor.cc,common/,languages/compiler/syswords2.h,
2168	  tests/api_compact.cc: Remove extra blank lines at end of files.
2169
2170Mon Jan 07 10:26:56 GMT 2013  Olly Betts <olly@survex.com>
2171
2172	* Backport change from trunk:
2173	* backends/brass/brass_database.cc,backends/chert/chert_database.cc:
2174	  Fix "if (fd > 0)" tests to be "if (fd >= 0)" in code related to
2175	  replication.  In practice this is unlikely to actually have caused
2176	  problems in real world cases.
2177
2178Mon Jan 07 10:20:02 GMT 2013  Olly Betts <olly@survex.com>
2179
2180	* Backport changes from trunk:
2181	* Makefile.am,languages/Makefile.mk,queryparser/Makefile.mk,
2182	  tests/Makefile.am: In automake, INCLUDES is now deprecated in favour
2183	  of AM_CPPFLAGS so update to use the latter.
2184	* bin/Makefile.mk: INCLUDES is always used, AM_CPPFLAGS
2185	  isn't if there are per-executable CPPFLAGS, so add AM_CPPFLAGS
2186	  explicitly when we use per-executable CPPFLAGS.
2187
2188Mon Jan 07 09:08:01 GMT 2013  Olly Betts <olly@survex.com>
2189
2190	* Backport changes from trunk:
2191	* examples/quest.cc: Add --flags command line option to allow setting
2192	  arbitrary QueryParser flags.
2193	* examples/quest.cc: Need <algorithm> for lower_bound().
2194	* examples/quest.cc: Align option descriptions in --help output, and
2195	  make the initial letter of such descriptions consistently lowercase.
2196
2197Mon Jan 07 08:52:14 GMT 2013  Olly Betts <olly@survex.com>
2198
2199	* Backport change from trunk:
2200	* api/valuerangeproc.cc: Move 3 declarations to where we first use the
2201	  variables.
2202
2203Mon Jan 07 08:46:00 GMT 2013  Olly Betts <olly@survex.com>
2204
2205	* Backport change from trunk:
2206	* matcher/multimatch.cc: We no longer use the highest weighted
2207	  MSet entry to calculate percentages, so stop searching for it.
2208	  (Spotted by cppcheck)
2209
2210Mon Jan 07 08:28:36 GMT 2013  Olly Betts <olly@survex.com>
2211
2212	* Backport change from trunk:
2213	* backends/brass/brass_compact.cc,backends/chert/chert_compact.cc:
2214	  Remove unused variables (spotted by cppcheck).
2215
2216Mon Jan 07 08:23:56 GMT 2013  Olly Betts <olly@survex.com>
2217
2218	* Backport change from trunk:
2219	* api/maptermlist.h,api/matchspy.cc,api/omdatabase.cc,
2220	  backends/inmemory/inmemory_database.cc,
2221	  backends/inmemory/inmemory_positionlist.cc,
2222	  backends/multi/multi_postlist.cc,backends/remote/net_termlist.cc,
2223	  bin/xapian-delve.cc,matcher/exactphrasepostlist.cc,
2224	  matcher/mergepostlist.cc,matcher/phrasepostlist.cc,
2225	  tests/harness/backendmanager.cc: Prefer ++i to i++.
2226
2227Fri Jan 04 05:41:41 GMT 2013  Olly Betts <olly@survex.com>
2228
2229	* Backport changes from trunk:
2230	* HACKING,Makefile.am: With lcov 1.10, we no longer need any of our
2231	  hacky workarounds, so make this a requirement and simplify the rules
2232	  in the makefile.
2233	* Makefile.am: Pass -f to lcov, which should avoid the need for the
2234	  patch we've been applying to lcov.
2235
2236Fri Jan 04 03:54:07 GMT 2013  Olly Betts <olly@survex.com>
2237
2238	* Backport change from trunk:
2239	* docs/quickstart.rst: Fix seriously outdated statement that Xapian
2240	  doesn't create the database directory - that changed in 0.7.2
2241	  (release 2003-07-11), pointed out by aarsh on #xapian.
2242
2243Thu Dec 20 22:55:34 GMT 2012  Olly Betts <olly@survex.com>
2244
2245	* Backport change from trunk:
2246	* configure.ac: socketpair() needs -lnetwork on Haiku.
2247
2248Sun Dec 09 22:55:30 GMT 2012  Olly Betts <olly@survex.com>
2249
2250	* Backport change from trunk:
2251	* backends/flint_lock.cc: Close excess file handles before we get the
2252	  fcntl() lock, just in case one of those file handles is open on the
2253	  lock file.
2254	* tests/api_backend.cc: Add regression test lockfilealreadyopen1.
2255
2256Sun Dec 09 22:46:10 GMT 2012  Olly Betts <olly@survex.com>
2257
2258	* Backport change from trunk:
2259	* common/closefrom.cc,configure.ac: On platforms with the F_MAXFD
2260	  fcntl but without closefrom(), we were failing to close the highest
2261	  numbered open fd in our closefrom() replacement.  We now also work
2262	  around valgrind not hiding some extra fds it has open, but then
2263	  complaining if we try to close them.
2264
2265Sun Dec 09 22:33:48 GMT 2012  Olly Betts <olly@survex.com>
2266
2267	* Backport change from trunk:
2268	* tests/harness/testsuite.cc: When reporting valgrind error, skip any
2269	  warnings.
2270
2271Sun Dec 09 22:14:21 GMT 2012  Olly Betts <olly@survex.com>
2272
2273	* NEWS: Update from ChangeLog.
2274
2275Thu Nov 22 09:54:46 GMT 2012  Olly Betts <olly@survex.com>
2276
2277	* Backport changes from trunk:
2278	* tests/api_anydb.cc: msetweights1 makes multidb1 and multidb2
2279	  redundant, so remove them.
2280	* tests/api_backend.cc: Extend msetweights1 to test the case where
2281	  only even docids match, so in the multi_* case, only docids from
2282	  one subdatabase match.
2283	* tests/api_backend.cc: Add testcase msetweights1 which checks we
2284	  get the weights we expect for a two term query.
2285
2286Thu Nov 22 09:47:57 GMT 2012  Olly Betts <olly@survex.com>
2287
2288	* Backport change from trunk:
2289	* queryparser/termgenerator.cc: TermGenerator internal member can
2290	  never be NULL, so drop NULL test.
2291
2292Thu Nov 22 09:42:35 GMT 2012  Olly Betts <olly@survex.com>
2293
2294	* Backport change from trunk:
2295	* tests/harness/testsuite.cc: Remove compatibility code for valgrind <
2296	  3.3.0, since we reject such old versions at configure time.
2297
2298Thu Nov 22 09:38:33 GMT 2012  Olly Betts <olly@survex.com>
2299
2300	* Backport change from trunk:
2301	* tests/api_weight.cc: New testcase checkstatsweight1 which checks a
2302	  weight subclass gets the correct values for all the stats.
2303
2304Thu Nov 22 09:33:22 GMT 2012  Olly Betts <olly@survex.com>
2305
2306	* Backport change from trunk:
2307	* queryparser/queryparser.lemony: Improve a couple of comments.
2308
2309Thu Nov 22 09:27:56 GMT 2012  Olly Betts <olly@survex.com>
2310
2311	* Backport change from trunk:
2312	* queryparser/queryparser.lemony: Implicitly close any unclosed brackets
2313	  at the end of the query string.  Patch from Sehaj Singh Kalra.
2314	* tests/queryparsertest.cc: Adjust existing testcases and feature tests.
2315
2316Thu Nov 22 09:05:00 GMT 2012  Olly Betts <olly@survex.com>
2317
2318	* Backport changes from trunk:
2319	* tests/api_query.cc: Add testcase xor3 to ensure that XOR handles all
2320	  remaining subqueries running out at the same time.
2321	* tests/api_query.cc: One test here does need a backend, and it seems
2322	  a more useful category, so drop the "don't need a backend" part from
2323	  the @brief documentation comment.
2324
2325Thu Nov 22 08:56:25 GMT 2012  Olly Betts <olly@survex.com>
2326
2327	* Backport change from trunk:
2328	* matcher/multimatch.cc: Fix calculation of 0.0/0.0 in some cases.
2329	  This then got used as a minimum weight, but it seems this gives -nan
2330	  (at least on x86-64 Linux) so it may have been harmless in practice.
2331
2332Thu Nov 22 08:50:00 GMT 2012  Olly Betts <olly@survex.com>
2333
2334	* Backport change from trunk:
2335	* tests/api_anydb.cc: Eliminate workarounds for egcs 1.1.2 (certainly
2336	  we no longer support a compiler that old, but maybe some newer
2337	  compilers have the same issue, so I've rewritten the code to iterate
2338	  backwards over one MSet, which is a useful feature to have coverage
2339	  for).
2340
2341Thu Nov 22 08:45:39 GMT 2012  Olly Betts <olly@survex.com>
2342
2343	* Backport change from trunk:
2344	* tests/api_anydb.cc: Fix reversebool1 and reversebool2 to actually
2345	  use the result when they check an MSetIterator against end().
2346
2347Thu Nov 22 08:39:21 GMT 2012  Olly Betts <olly@survex.com>
2348
2349	* Backport changes from trunk:
2350	* bin/xapian-replicate.cc: Add --quiet option to xapian-replicate, and
2351	  be a little more verbose by default.
2352	* bin/xapian-replicate.cc: xapian-replicate --force-copy now only
2353	  forces a single copy, and then attempts to replicate incrementally.
2354	* bin/xapian-replicate.cc: Tweak code layout.
2355	* net/remoteconnection.cc: Allow files > 32G to be be copied by
2356	  replication.
2357
2358Thu Nov 22 08:13:51 GMT 2012  Olly Betts <olly@survex.com>
2359
2360	* Backport change from trunk:
2361	* tests/api_replicate.cc: Pass 'true' or 'false' for 'bool' parameter,
2362	  not '0' or '1' (especially confusing as the two previous parameters
2363	  were integers which were often 0 or 1...)
2364
2365Wed Nov 21 04:58:58 GMT 2012  Olly Betts <olly@survex.com>
2366
2367	* NEWS: Update from ChangeLog.
2368
2369Tue Nov 13 10:07:19 GMT 2012  Olly Betts <olly@survex.com>
2370
2371	* Backport change from trunk:
2372	* bin/xapian-replicate.cc,net/replicatetcpclient.cc,
2373	  net/replicatetcpclient.h: Add --full-copy option to xapian-replicate.
2374	* tests/api_replicate.cc: New testcase replicate6 which tests the same
2375	  code path used by 'xapian-replicate --full-copy'.
2376
2377Tue Nov 13 09:45:23 GMT 2012  Olly Betts <olly@survex.com>
2378
2379	* Backport change from trunk:
2380	* tests/api_replicate.cc: Use '++' instead of '+= 1'.  Drop superfluous
2381	  'return;' at end of function returning void.
2382
2383Tue Nov 13 09:38:16 GMT 2012  Olly Betts <olly@survex.com>
2384
2385	* Backport change from trunk:
2386	* tests/harness/unixcmds.cc: Tweak to avoid default initialisation of
2387	  string.
2388
2389Tue Nov 13 03:51:01 GMT 2012  Olly Betts <olly@survex.com>
2390
2391	* Backport change from trunk:
2392	* include/xapian/unicode.h: GCC 4.6.3 doesn't optimise the asr idiom
2393	  either.  Add links to the PR I filed and the GCC documentation that
2394	  signed right shift does sign extension.
2395
2396Sat Nov 10 08:51:00 GMT 2012  Olly Betts <olly@survex.com>
2397
2398	* Backport change from trunk:
2399	* api/leafpostlist.cc,matcher/multiandpostlist.cc: Improved fix for
2400	  #590 - count all matching LeafPostList objects with a Weight object
2401	  rather than trying to prune at the MultiAndPostList level based on
2402	  max_wt (if wdf is always zero for a term, BM25 gives max_wt of 0,
2403	  which leads to us never counting that subquery.
2404	* tests/api_percentages.cc: Add regression test topercent7.
2405
2406Sat Nov 10 08:12:33 GMT 2012  Olly Betts <olly@survex.com>
2407
2408	* Backport change from trunk:
2409	* tests/api_percentages.cc: Note bug number in regression test for
2410	  #590.
2411
2412Thu Nov 08 01:10:54 GMT 2012  Olly Betts <olly@survex.com>
2413
2414	* HACKING: Update automake version used for bootstrapping snapshots
2415	  and releases from 1.11.1 to 1.11.6, to fix security issue in "make
2416	  distcheck".
2417
2418Thu Nov 08 00:08:30 GMT 2012  Olly Betts <olly@survex.com>
2419
2420	* NEWS: Update from ChangeLog.
2421
2422Sat Oct 13 12:05:46 GMT 2012  Olly Betts <olly@survex.com>
2423
2424	* Backport change from trunk:
2425	* include/xapian/queryparser.h: Fix documentation comment typos:
2426	  "covert" -> "convert".
2427
2428Sat Oct 13 11:57:36 GMT 2012  Olly Betts <olly@survex.com>
2429
2430	* Backport change from trunk:
2431	* include/xapian/queryparser.h: Add extra DateValueRangeProcessor
2432	  constructor overloaded form so that in DateValueRangeProcessor(1,
2433	  "date:"), the const char * gets interpreted as std::string rather
2434	  than bool.
2435	* tests/queryparsertest.cc: Add regression test.
2436
2437Sat Oct 13 11:33:27 GMT 2012  Olly Betts <olly@survex.com>
2438
2439	* Backport change from trunk:
2440	* HACKING: Try to make it clearer we're looking for a dual-licence
2441	  on submitted patches.
2442
2443Sat Oct 13 11:30:42 GMT 2012  Olly Betts <olly@survex.com>
2444
2445	* Backport change from trunk:
2446	* common/Makefile.mk,common/append_filename_arg.h,
2447	  tests/harness/unixcmds.cc: Split out append_filename_argument() into
2448	  its own file so it can be used elsewhere.
2449
2450Sat Oct 13 11:23:37 GMT 2012  Olly Betts <olly@survex.com>
2451
2452	* Backport changes from trunk:
2453	* tests/harness/unixcmds.cc: Escape filenames on POSIX platforms by
2454	  wrapping in single quotes and specially handling single quotes in
2455	  the filename - previously newlines in filenames got eaten by the
2456	  shell.
2457	* tests/harness/unixcmds.cc: Protect filenames which start with '-' on
2458	  MS Windows like we already do on other platforms.  The built-in
2459	  commands generally only interpret '/' as the character introducing a
2460	  command line option (which we already convert to '\'), but many
2461	  ported programs understand '-' too/instead.
2462
2463Sat Oct 13 08:55:28 GMT 2012  Olly Betts <olly@survex.com>
2464
2465	* Backport change from trunk:
2466	* queryparser/termgenerator_internal.cc: Remove "FIXME: Add API to
2467	  allow control of how stemming is used?", as we have now added such
2468	  an API.
2469
2470Sat Oct 13 08:17:20 GMT 2012  Olly Betts <olly@survex.com>
2471
2472	* Backport change from trunk:
2473	* include/xapian/termgenerator.h,queryparser/termgenerator.cc,
2474	  queryparser/termgenerator_internal.cc,
2475	  queryparser/termgenerator_internal.h,tests/termgentest.cc: Add new
2476	  method TermGenerator::set_max_word_length() to allow this limit to
2477	  be adjusted by the user.
2478
2479Sat Oct 13 07:37:17 GMT 2012  Olly Betts <olly@survex.com>
2480
2481	* Backport change from trunk:
2482	* include/xapian/enquire.h: Clarify that the "reverse" parameter of
2483	  set_sort_by_relevance_then_value() and
2484	  set_sort_by_relevance_then_key() only affects the ordering of the
2485	  value/key part of the sort.
2486
2487Sat Oct 13 07:18:19 GMT 2012  Olly Betts <olly@survex.com>
2488
2489	* Backport change from trunk:
2490	* matcher/multimatch.cc: Remove duplicate import
2491
2492Sat Oct 13 07:11:40 GMT 2012  Olly Betts <olly@survex.com>
2493
2494	* Backport change from trunk:
2495	* common/debuglog.cc: Preserve errno over debug logging calls, so they
2496	  can safely be added to code which expects errno not to change.
2497
2498Sat Oct 13 06:27:31 GMT 2012  Olly Betts <olly@survex.com>
2499
2500	* Backport change from trunk:
2501	* tests/harness/testsuite.cc: Add safeunistd.h unconditionally for
2502	  isatty, required by GCC 4.7
2503
2504Sat Oct 13 03:09:48 GMT 2012  Olly Betts <olly@survex.com>
2505
2506	* Backport change from trunk:
2507	* docs/valueranges.rst: Update documentation to reflect change in
2508	  Xapian 1.1.2 - DateValueRangeProcessor and StringValueRangeProcessor
2509	  now support a prefix or suffix.
2510
2511Wed Jun 27 12:51:25 GMT 2012  Olly Betts <olly@survex.com>
2512
2513	* configure.ac: Update the version too!
2514
2515Wed Jun 27 12:03:08 GMT 2012  Olly Betts <olly@survex.com>
2516
2517	* NEWS,configure.ac: Update for 1.2.12.
2518
2519Wed Jun 27 11:35:15 GMT 2012  Olly Betts <olly@survex.com>
2520
2521	* Backport change from trunk:
2522	* AUTHORS: Add GSoC students.
2523
2524Tue Jun 26 11:46:55 GMT 2012  Olly Betts <olly@survex.com>
2525
2526	* NEWS,configure.ac: Update for 1.2.11.
2527
2528Tue Jun 26 08:52:18 GMT 2012  Olly Betts <olly@survex.com>
2529
2530	* Backport change from trunk:
2531	* include/xapian.h: Add check for Qt headers being included before us
2532	  and defining 'slots' as a macro - if they are, give a clear error
2533	  advising how to work around this.
2534
2535Fri Jun 22 11:46:25 GMT 2012  Olly Betts <olly@survex.com>
2536
2537	* NEWS: Update from ChangeLog.
2538
2539Fri Jun 15 10:45:20 GMT 2012  Olly Betts <olly@survex.com>
2540
2541	* Backport change from trunk:
2542	* docs/admin_notes.rst: Correction - we don't "create a lock file", we
2543	  "lock a file".
2544
2545Thu Jun 14 14:08:48 GMT 2012  Olly Betts <olly@survex.com>
2546
2547	* Backport change from trunk:
2548	* tests/api_replicate.cc: Make sure XAPIAN_MAX_CHANGESETS gets unset
2549	  after testcases which set it, so further testcases don't waste time
2550	  generating changesets.
2551
2552Thu Jun 14 13:54:29 GMT 2012  Olly Betts <olly@survex.com>
2553
2554	* Backport change from trunk:
2555	* docs/replication.rst: The value of XAPIAN_MAX_CHANGESETS does now
2556	  actually determine how many changesets we keep.
2557
2558Thu Jun 14 13:40:18 GMT 2012  Olly Betts <olly@survex.com>
2559
2560	* Backport change from trunk:
2561	* configure.ac: Force link_all_deplibs_CXX=no for Solaris.
2562
2563Thu Jun 14 13:13:16 GMT 2012  Olly Betts <olly@survex.com>
2564
2565	* Backport change from trunk:
2566	* xapian-config.in: Don't interpret a missing .la file as meaning that
2567	  we only have static libraries.
2568
2569Thu Jun 14 13:01:40 GMT 2012  Olly Betts <olly@survex.com>
2570
2571	* backends/flint/flint_btreebase.cc,backends/flint/flint_btreebase.h:
2572	  Remove unused copy constructors for FlintTable_base.
2573
2574Thu Jun 14 12:14:46 GMT 2012  Olly Betts <olly@survex.com>
2575
2576	* Backport change from trunk:
2577	* backends/brass/brass_table.cc,backends/brass/brass_table.h: We don't
2578	  need the workaround for existing tables which were built with a 32
2579	  bit item count for brass, since that bug was fixed in 1.1.4, which
2580	  is the same version which brass was added in.
2581
2582Thu Jun 14 11:35:50 GMT 2012  Olly Betts <olly@survex.com>
2583
2584	* Backport change from trunk:
2585	* backends/brass/brass_btreebase.cc,backends/brass/brass_btreebase.h,
2586	  backends/chert/chert_btreebase.cc,backends/chert/chert_btreebase.h:
2587	  Remove unused copy constructors for BrassTable_base and
2588	  ChertTable_base.
2589
2590Thu Jun 14 11:24:03 GMT 2012  Olly Betts <olly@survex.com>
2591
2592	* Backport change from trunk:
2593	* configure.ac: Overhaul handling of compilers which pretend to be GCC,
2594	  using a simple "case" on the preprocessed output of '__INTEL_COMPILER
2595	  __clang__' to tell which is in use.  We now explicitly check for
2596	  clang, and only pass it warning flags it actually understands.  GCC
2597	  4.0 is now lumped in with 3.*, since we handle it exactly the same.
2598	  Enable -Wdouble-promotion for GCC >= 4.6.  Check for symbol
2599	  visibility support under any GCC-alike (which means we now run the
2600	  test with Intel's compiler).  Move the check for -Bsymbolic-functions
2601	  to be run for all compilers.
2602
2603Sat Jun 09 11:44:10 GMT 2012  Olly Betts <olly@survex.com>
2604
2605	* NEWS: Clean up new entries.
2606
2607Wed Jun 06 13:03:38 GMT 2012  Olly Betts <olly@survex.com>
2608
2609	* NEWS: Update from ChangeLog.
2610
2611Wed Jun 06 11:17:40 GMT 2012  Olly Betts <olly@survex.com>
2612
2613	* Backport change from trunk:
2614	* tests/queryparsertest.cc: Fix feature test added for STEM_ALL_Z.
2615
2616Wed Jun 06 11:09:25 GMT 2012  Olly Betts <olly@survex.com>
2617
2618	* Backport changes from trunk:
2619	* include/xapian/termgenerator.h,queryparser/termgenerator.cc,
2620	  queryparser/termgenerator_internal.cc,
2621	  queryparser/termgenerator_internal.h: Add
2622	  TermGenerator::set_stemming_strategy() method, with strategies which
2623	  correspond to those of QueryParser.  Based on patch from Sehaj Singh
2624	  Kalra, with some tweaks for adding term positions in more cases.
2625	  (Fixes ticket#563)
2626	* tests/termgentest.cc: Add test coverage for the new features.
2627	* include/xapian/queryparser.h: Add doc comment for stem_strategy
2628	  typedef.
2629	* include/xapian/queryparser.h,queryparser/queryparser.lemony:
2630	  Add new QueryParser::STEM_ALL_Z stemming strategy, which stems all
2631	  terms and adds a Z prefix.  (Patch from Sehaj Singh Kalra, fixes
2632	  ticket#562)
2633	* tests/queryparsertest.cc: Add test coverage for
2634	  QueryParser::STEM_ALL_Z.
2635
2636Wed Jun 06 10:54:55 GMT 2012  Olly Betts <olly@survex.com>
2637
2638	* Backport change from trunk:
2639	* backends/dbfactory.cc: Test if we fail to open a stub database file
2640	  in Xapian::Auto::open_stub() and throw an exception if so.
2641	* tests/api_backend.cc: Add regression test stubdb7.
2642
2643Wed Jun 06 10:52:30 GMT 2012  Olly Betts <olly@survex.com>
2644
2645	* Backport change from trunk:
2646	* docs/scalability.rst: Update gmane size, fix a typo, tweak wording.
2647
2648Wed Jun 06 10:43:05 GMT 2012  Olly Betts <olly@survex.com>
2649
2650	* Backport change from trunk:
2651	* tests/api_weight.cc: Add test that init() is now called for the
2652	  term-independent weight contribution.
2653
2654Wed Jun 06 10:39:23 GMT 2012  Olly Betts <olly@survex.com>
2655
2656	* Backport change from trunk:
2657	* tests/api_matchspy.cc: Use a cached generated database for matchspy2
2658	  and matchspy4.
2659
2660Wed Jun 06 10:37:03 GMT 2012  Olly Betts <olly@survex.com>
2661
2662	* Backport change from trunk:
2663	* weight/bm25weight.cc: Avoid use of undefined values when k1 or b are
2664	  zero.
2665
2666Wed Jun 06 10:33:11 GMT 2012  Olly Betts <olly@survex.com>
2667
2668	* Backport changes from trunk:
2669	* weight/bm25weight.cc: Fix use of uninitialised value found by new
2670	  bm25weight4 testcase.
2671	* tests/api_weight.cc: Add tests for BM25 parameter combinations where
2672	  doclen shouldn't affect the weights.
2673
2674Wed Jun 06 10:25:35 GMT 2012  Olly Betts <olly@survex.com>
2675
2676	* Backport change from trunk:
2677	* tests/.gitignore,tests/Makefile.am,tests/api_weight.cc: Add test
2678	  coverage for exception thrown if BM25Weight or TradWeight
2679	  unserialise() fails.
2680
2681Wed Jun 06 10:07:44 GMT 2012  Olly Betts <olly@survex.com>
2682
2683	* Backport change from trunk:
2684	* include/xapian/weight.h,weight/weight.cc: We were failing to call
2685	  init() for Weight objects providing the term-independent weight.
2686	  These now get called with init(0.0).
2687
2688Wed Jun 06 09:39:21 GMT 2012  Olly Betts <olly@survex.com>
2689
2690	* Backport change from trunk:
2691	* include/xapian/weight.h: Remove duplicate "need_stat(WDF);" calls,
2692	  accidentally added by merge of opsynonym branch in r12609.
2693
2694Tue Jun 05 13:04:57 GMT 2012  Olly Betts <olly@survex.com>
2695
2696	* Backport change from trunk:
2697	* weight/tradweight.cc: BM25Weight -> TradWeight in exception message.
2698
2699Tue Jun 05 12:43:46 GMT 2012  Olly Betts <olly@survex.com>
2700
2701	* Backport change from trunk:
2702	* tests/harness/testutils.cc,tests/harness/testutils.h: Remove unused
2703	  test helper mset_range_is_same_percents() (thanks, lcov!)
2704
2705Tue Jun 05 12:34:15 GMT 2012  Olly Betts <olly@survex.com>
2706
2707	* Backport change from trunk:
2708	* configure.ac,tests/runsrv.in: In the testsuite, only run remote
2709	  servers under valgrind if x87 FP instructions are in use.
2710
2711Tue Jun 05 12:12:54 GMT 2012  Olly Betts <olly@survex.com>
2712
2713	* Backport change from trunk:
2714	* backends/flint_lock.h: Mark FlintLock::throw_databaselockerror() as
2715	  XAPIAN_NORETURN.
2716
2717Tue Jun 05 12:07:54 GMT 2012  Olly Betts <olly@survex.com>
2718
2719	* Backport change from trunk:
2720	* include/xapian/weight.h: Fix documentation comment typo ("k1" ->
2721	  "k").
2722
2723Tue Jun 05 12:01:40 GMT 2012  Olly Betts <olly@survex.com>
2724
2725	* Backport change from trunk:
2726	* tests/runsrv.in: Add explanation of why we have this script.
2727
2728Tue Jun 05 11:58:47 GMT 2012  Olly Betts <olly@survex.com>
2729
2730	* Backport change from trunk:
2731	* tests/Makefile.am: Pass -ldl last when compiling zlib-vg.so, as that
2732	  seems to be needed on Ubuntu 12.04.
2733
2734Tue Jun 05 11:50:35 GMT 2012  Olly Betts <olly@survex.com>
2735
2736	* backends/inmemory/inmemory_database.cc: Check if the database is
2737	  closed in metadata_keys_begin() for InMemory Databases.
2738	* Backport change from trunk:
2739	* tests/api_closedb.cc: We now test almost all methods of Database
2740	  and WritableDatabase after calling close().  (ticket#337)
2741
2742Tue Jun 05 11:38:39 GMT 2012  Olly Betts <olly@survex.com>
2743
2744	* tests/api_closedb.cc: In amended closedb1, allow for flint not
2745	  implementing get_value_freq(), get_value_lower_bound() and
2746	  get_value_upper_bound().
2747
2748Tue Jun 05 10:54:13 GMT 2012  Olly Betts <olly@survex.com>
2749
2750	* Backport change from trunk:
2751	* backends/brass/,backends/chert/: After closing the database, methods
2752	  which try to use the termlist would throw FeatureUnavailableError
2753	  with message "Database has no termlist", assuming that the termlist
2754	  table not being open meant it wasn't present.  Fix to check if the
2755	  postlist_table is open to determine which case we're in.
2756	* tests/api_closedb.cc: Improve test coverage for closed databases.
2757	  (ticket#337)
2758
2759Tue Jun 05 10:31:33 GMT 2012  Olly Betts <olly@survex.com>
2760
2761	* Backport changes from trunk:
2762	* HACKING: Update Debian/Ubuntu packaging instructions.
2763	* HACKING: freshmeat -> freecode.
2764
2765Wed May 30 01:12:06 GMT 2012  Olly Betts <olly@survex.com>
2766
2767	* Backport change from trunk:
2768	* backends/chert/chert_cursor.cc: Fix incorrect use of "delete" to
2769	  "delete []".  The type is POD, so I suspect this mistake didn't
2770	  actually cause any problems, and it only happens when a cursor
2771	  gets rebuilt because the B-tree has gained a level, so it's
2772	  a rather rare occurrence.
2773	* backends/brass/brass_cursor.cc,backends/flint/flint_cursor.cc: Make
2774	  the equivalent fix.
2775
2776Tue May 15 11:09:44 GMT 2012  Olly Betts <olly@survex.com>
2777
2778	* include/xapian/query.h: Fix Query ctor documentation comment - XOR
2779	  and ELITE_SET can both take any number of subqueries, not just
2780	  exactly two.
2781
2782Fri May 18 22:48:53 GMT 2012  Olly Betts <olly@survex.com>
2783
2784	* include/xapian/positioniterator.h,include/xapian/postingiterator.h,
2785	  include/xapian/termiterator.h: Backport missing documentation
2786	  comments for API operator++ and operator* methods.
2787
2788Wed May 09 11:47:04 GMT 2012  Olly Betts <olly@survex.com>
2789
2790	* AUTHORS: Update for people who contributed to 1.2.10.
2791
2792Wed May 09 10:41:57 GMT 2012  Olly Betts <olly@survex.com>
2793
2794	* NEWS,configure.ac: Update for 1.2.10.
2795
2796Wed May 09 08:09:10 GMT 2012  Olly Betts <olly@survex.com>
2797
2798	* NEWS: Update from ChangeLog.
2799
2800Tue May 08 07:28:11 GMT 2012  Olly Betts <olly@survex.com>
2801
2802	* Backport change from trunk:
2803	* weight/weightinternal.cc: Using AssertEq() on NULL doesn't compile,
2804	  at least with recent GCC.
2805
2806Tue May 08 07:20:55 GMT 2012  Olly Betts <olly@survex.com>
2807
2808	* Backport change from trunk:
2809	* tests/api_anydb.cc: Fix tradweight1 to test that TradWeight(0)
2810	  means that wdf and doc length don't affect the weight of a term.
2811
2812Tue May 08 07:16:29 GMT 2012  Olly Betts <olly@survex.com>
2813
2814	* Backport change from trunk:
2815	* HACKING: Update section on patches to mention git (git diff and git
2816	  format-patch), and using "-r" with normal diff, and also that
2817	  ptardiff offers a nice way to diff against an unpacked tarball.
2818
2819Tue May 08 07:03:46 GMT 2012  Olly Betts <olly@survex.com>
2820
2821	* Backport change from trunk:
2822	* backends/brass/brass_compact.cc,backends/chert/chert_compact.cc:
2823	  If the output database is empty, don't write a metainfo tag out.
2824	  Take care not to divide by zero when computing the percentage
2825	  size change for a table.
2826	* tests/api_compact.cc: Add new testcase compactempty1 to provide
2827	  regression tests.
2828
2829Tue May 08 06:53:35 GMT 2012  Olly Betts <olly@survex.com>
2830
2831	* Backport change from trunk:
2832	* include/xapian/weight.h: Fix switched lower and upper in doc comments
2833	  for Weight methods get_doclength_lower_bound() and
2834	  get_doclength_upper_bound().  Correct maximum to minimum in
2835	  get_doclength_lower_bound() comment and note that this excludes zero
2836	  length documents.  Fix "An lower" to "A lower".
2837
2838Tue May 08 06:29:38 GMT 2012  Olly Betts <olly@survex.com>
2839
2840	* Backport change from trunk:
2841	* tests/termgentest.cc: Add test coverage for discarding of terms > 64
2842	  bytes by TermGenerator.
2843
2844Wed Apr 25 11:28:29 GMT 2012  Olly Betts <olly@survex.com>
2845
2846	* Backport change from trunk:
2847	* include/xapian/database.h: Note when Database::close() was added.
2848
2849Mon Mar 26 05:13:24 GMT 2012  Olly Betts <olly@survex.com>
2850
2851	* Backport change from trunk:
2852	* matcher/multiandpostlist.cc: Don't count unweighted subqueries of
2853	  MultiAndPostList for percentage calculations, as OP_FILTER maps to
2854	  MultiAndPostList now.  (ticket#590)
2855	* tests/api_percentages.cc: Regression test topercent6.
2856
2857Mon Mar 12 23:19:56 GMT 2012  Olly Betts <olly@survex.com>
2858
2859	* docs/admin_notes.rst: Mention that postlist and termlist tables hold
2860	  value info too for chert.  Mention that xapian-chert-update was
2861	  removed in 1.3.0.  Mention that you need to use copydatabase from
2862	  1.2.x to convert flint to chert.  Trunk already has equivalent
2863	  changes.
2864
2865Thu Mar 08 13:35:48 GMT 2012  Olly Betts <olly@survex.com>
2866
2867	* Backport change from trunk:
2868	* docs/index.rst: Add link to new "getting started" guide.
2869
2870Thu Mar 08 02:05:19 GMT 2012  Olly Betts <olly@survex.com>
2871
2872	* NEWS,configure.ac: Update for 1.2.9.
2873
2874Tue Mar 06 11:07:44 GMT 2012  Olly Betts <olly@survex.com>
2875
2876	* Backport change from trunk:
2877	* matcher/: Fix issue with AND, OR, and XOR queries against a database
2878	  with no documents in it - this was causing a divide by zero, which led
2879	  to MSet::get_matches_estimated() reporting 2147483648 on i386.
2880	* tests/api_backend.cc: Add regression test emptydb1.
2881
2882Tue Mar 06 11:00:43 GMT 2012  Olly Betts <olly@survex.com>
2883
2884	* Backport change from trunk:
2885	* tests/harness/testsuite.cc: Address new warnings from GCC 4.6.
2886
2887Tue Mar 06 10:56:09 GMT 2012  Olly Betts <olly@survex.com>
2888
2889	* Backport change from trunk:
2890	* include/xapian/database.h: Improve documentation of Database::close()
2891	  and ~WritableDatabase().
2892
2893Wed Feb 29 10:33:28 GMT 2012  Olly Betts <olly@survex.com>
2894
2895	* NEWS: Update from ChangeLog.
2896
2897Wed Feb 29 10:25:18 GMT 2012  Olly Betts <olly@survex.com>
2898
2899	* Backport change from trunk:
2900	* include/xapian/matchspy.h,include/xapian/postingsource.h,
2901	  include/xapian/weight.h: Document that you can define a static
2902	  operator delete method in your subclass if deallocation needs to be
2903	  handled specially.  (Closes ticket#554)
2904
2905Mon Jan 23 12:39:44 GMT 2012  Olly Betts <olly@survex.com>
2906
2907	* NEWS: Update from ChangeLog.
2908
2909Sun Jan 22 06:21:08 GMT 2012  Olly Betts <olly@survex.com>
2910
2911	* Backport change from trunk:
2912	* net/remoteconnection.cc: Include "safesysstat.h" for fstat().
2913
2914Sat Jan 21 14:40:04 GMT 2012  Olly Betts <olly@survex.com>
2915
2916	* Backport change from trunk:
2917	* queryparser/queryparser.lemony: Fix FLAG_AUTO_SYNONYMS not to enable
2918	  auto multi-word synonyms too (but in a different way to trunk so as
2919	  to not break the ABI).
2920	* tests/queryparsertest.cc: Extend testcase qp_synonym1 to include a
2921	  regression test for this bug.
2922
2923Sat Jan 21 14:24:45 GMT 2012  Olly Betts <olly@survex.com>
2924
2925	* Backport change from trunk:
2926	* common/safesysstat.h: The S_ISDIR and S_ISREG macros for MSVC are
2927	  unlikely to work on other platforms (_S_IFMT vs S_IFMT, etc) so
2928	  split them.  Tweak a few comments.
2929
2930Sat Jan 21 14:19:35 GMT 2012  Olly Betts <olly@survex.com>
2931
2932	* Backport change from trunk:
2933	* tests/api_db.cc,tests/harness/backendmanager.cc: Add missing
2934	  explicit header includes, uncovered by compiling with STLport.
2935
2936Sat Jan 21 14:13:11 GMT 2012  Olly Betts <olly@survex.com>
2937
2938	* Backport changes from trunk:
2939	* INSTALL,configure.ac,m4/rjb_find_stlport.m4,xapian-config.in: Remove
2940	  configure's --with-stlport and --with-stlport-compiler options, as
2941	  they don't allow you to actually specify what you need (at least to
2942	  use the Debian STLport package), and instead document what to pass
2943	  to configure to enable building with STLport (though it seems to no
2944	  longer be actively maintained, and the debug mode (which is probably
2945	  the most interesting feature now) doesn't seem to work on Debian
2946	  stable).
2947	* HACKING: Update STLPort URL to point to the more active fork on
2948	  SourceForge.
2949
2950Sat Jan 21 14:03:09 GMT 2012  Olly Betts <olly@survex.com>
2951
2952	* Backport change from trunk:
2953	* HACKING: Recommend installing valgrind, ccache, and eatmydata.
2954
2955Sat Jan 21 13:27:52 GMT 2012  Olly Betts <olly@survex.com>
2956
2957	* Backport change from trunk:
2958	* HACKING: Make it clear "Building from SVN" applies to git too, and
2959	  mention that git-svn is needed when building from git.
2960
2961Thu Dec 22 12:50:41 GMT 2011  Olly Betts <olly@survex.com>
2962
2963	* Backport change from trunk:
2964	* languages/compiler/generator.c: Initialise variable which can
2965	  be used uninitialised.
2966
2967Thu Dec 22 12:21:10 GMT 2011  Olly Betts <olly@survex.com>
2968
2969	* Backport change from trunk:
2970	* bin/Makefile.mk: Link $(libxapian_la) after libbrasscheck.la and
2971	  libchertcheck.la to fix mingw build.  Probably closes ticket#567.
2972
2973Thu Dec 22 12:18:41 GMT 2011  Olly Betts <olly@survex.com>
2974
2975	* Backport changes from trunk:
2976	* include/xapian/query.h: Document that OP_ELITE_SET with non-term
2977	  subqueries might pick subqueries which don't match anything.
2978	  Closes ticket#49.
2979	* include/xapian/query.h: Improve documentation of OP_ELITE_SET.
2980
2981Thu Dec 22 12:16:44 GMT 2011  Olly Betts <olly@survex.com>
2982
2983	* Backport change from trunk:
2984	* include/xapian/errorhandler.h: Fix typo: 'APU' -> 'API'.
2985
2986Tue Dec 13 10:29:48 GMT 2011  Olly Betts <olly@survex.com>
2987
2988	* AUTHORS,NEWS,configure.ac: Update for 1.2.8.
2989
2990Mon Dec 12 13:23:29 GMT 2011  Olly Betts <olly@survex.com>
2991
2992	* Backport change from trunk:
2993	* tests/soaktest/soaktest.cc,tests/soaktest/soaktest.h,
2994	  tests/soaktest/soaktest_queries.cc: "boulton" -> "Boulton" in
2995	  copyright statements.
2996
2997Mon Dec 12 13:16:17 GMT 2011  Olly Betts <olly@survex.com>
2998
2999	* Backport change from trunk:
3000	* tests/soaktest/soaktest.cc: With Sun's compiler, random() and
3001	  srandom() aren't in <cstdlib> so we need to use <stdlib.h> instead.
3002
3003Fri Dec 09 08:11:18 GMT 2011  Olly Betts <olly@survex.com>
3004
3005	* Backport change from trunk:
3006	* include/xapian/types.h: Explicitly document which value slot numbers
3007	  are valid.  Fixes ticket#555.
3008
3009Mon Dec 05 15:29:06 GMT 2011  Olly Betts <olly@survex.com>
3010
3011	* Backport changes from trunk:
3012	* include/xapian/enquire.h: Add missing doxygen @param commands.
3013	* include/xapian/database.h,include/xapian/document.h: Add missing
3014	  doxygen @param commands.
3015	* include/xapian/queryparser.h: Address doxygen warnings.
3016	* include/xapian/postingsource.h: Document undocumented parameters,
3017	  fixing doxygen warnings.
3018	* include/xapian/queryparser.h: Escape < and > in doxygen comments.
3019	* include/xapian/enquire.h: Enquire::get_eset() doesn't take a min_wt
3020	  parameter, so remove @param documentation for it.
3021	* include/xapian/: Document lots of parameters, fixing doxygen
3022	  warnings.
3023	* generate-exceptions: Document all parameters to fix doxygen
3024	  warnings.
3025	* include/xapian/: Fix doxygen warnings.
3026	* include/xapian/queryparser.h: Document value parameter of
3027	  sortable_serialise() and sortable_unserialise().
3028	* include/xapian/document.h: Improve Document get_data() and set_data()
3029	  documentation comments.
3030
3031Mon Dec 05 15:08:53 GMT 2011  Olly Betts <olly@survex.com>
3032
3033	* Backport changes from trunk:
3034	* docs/overview.rst: Fix a few things which were out of date and
3035	  improve wording in various places.
3036	* docs/quickstart.rst: Fix some factual errors, and tweak .rst
3037	  source layout a little (":\n::\n" -> "::\n").
3038
3039Mon Dec 05 15:01:37 GMT 2011  Olly Betts <olly@survex.com>
3040
3041	* Backport change from trunk:
3042	* include/xapian/queryparser.h: List which flags FLAG_DEFAULT includes
3043	  in the doxygen documentation comments.
3044
3045Mon Dec 05 14:58:44 GMT 2011  Olly Betts <olly@survex.com>
3046
3047	* Backport changes from trunk:
3048	* docs/quickstart.rst: Fix indentation of example code.
3049	* docs/overview.rst: Fix typo in example code.
3050
3051Mon Dec 05 14:55:46 GMT 2011  Olly Betts <olly@survex.com>
3052
3053	* Backport change from trunk:
3054	* include/xapian/database.h: Note that commit() was new in 1.1.0.
3055
3056Mon Dec 05 14:39:23 GMT 2011  Olly Betts <olly@survex.com>
3057
3058	* Backport changes from trunk:
3059	* common/safesysselect.h: Fix typo (FDSET -> FD_SET).
3060	* common/safesysselect.h: Enhance to provide portability for __WIN32__
3061	  too.
3062	* net/remoteconnection.cc,net/tcpclient.cc: Update to make use of this.
3063	* common/safesysselect.h: Add wrapper around FD_SET() under __WIN32__
3064	  which casts the fd parameter to unsigned to avoid a warning on mingw.
3065	* net/tcpclient.cc: Remove __WIN32__-specific case here which was
3066	  working around this warning.
3067
3068Mon Dec 05 14:28:28 GMT 2011  Olly Betts <olly@survex.com>
3069
3070	* Backport change from trunk:
3071	* common/msvc_posix_wrapper.cc,common/safe.cc,net/tcpclient.cc:
3072	  Some fixes for warnings when cross-compiling with mingw; missing
3073	  includes to get declarations of functions in windows support
3074	  code, and change to use the windows SOCKET type to avoid a
3075	  signed/unsigned comparison warning in tcpclient.
3076
3077Mon Dec 05 13:59:19 GMT 2011  Olly Betts <olly@survex.com>
3078
3079	* Backport change from trunk:
3080	* include/xapian/database.h: Remove bogus paragraph in
3081	  replace_document() documentation comment, cut and pasted from
3082	  delete_document() documentation comment.  (Fixes bug#579)
3083
3084Wed Sep 14 05:05:36 GMT 2011  Olly Betts <olly@survex.com>
3085
3086	* Backport change from trunk:
3087	* docs/quickstart.rst: Correct link which was to
3088	  quickstartsearch.cc.html but should be to quickstartindex.cc.html.
3089
3090Wed Sep 14 05:02:10 GMT 2011  Olly Betts <olly@survex.com>
3091
3092	* Backport change from trunk:
3093	* backends/flint_lock.cc: Fix comment typo.
3094
3095Wed Sep 14 04:59:58 GMT 2011  Olly Betts <olly@survex.com>
3096
3097	* Backport change from trunk:
3098	* include/xapian/enquire.h: Clarify "sort by date" with BoolWeight
3099	  example.
3100
3101Tue Aug 30 13:56:21 GMT 2011  Olly Betts <olly@survex.com>
3102
3103	* Backport change from trunk:
3104	* docs/index.rst: Add link to apidoc.pdf.
3105
3106Wed Aug 24 14:25:21 GMT 2011  Olly Betts <olly@survex.com>
3107
3108	* Backport change from trunk:
3109	* queryparser/queryparser.lemony: Fix memory leak (caught by existing
3110	  testcase queryparser1 when run under valgrind).
3111
3112Wed Aug 24 14:13:24 GMT 2011  Olly Betts <olly@survex.com>
3113
3114	* Backport change from trunk:
3115	* queryparser/,tests/queryparsertest.cc,tests/termgentest.cc: Add
3116	  support for indexing and searching CJK text using n-grams.  Currently
3117	  this is only enabled if environmental variable XAPIAN_CJK_NGRAM is
3118	  set to a non-empty value.
3119
3120Wed Aug 10 06:09:39 GMT 2011  Olly Betts <olly@survex.com>
3121
3122	* NEWS: Finalise 1.2.7.
3123
3124Mon Aug 08 06:07:10 GMT 2011  Olly Betts <olly@survex.com>
3125
3126	* NEWS,configure.ac: Initial update for 1.2.7.
3127
3128Sat Aug 06 07:32:16 GMT 2011  Olly Betts <olly@survex.com>
3129
3130	* Backport change from trunk:
3131	* api/postingsource.cc,common/serialise.h,
3132	  include/xapian/postingsource.h: Fix new warnings from -Wshadow with
3133	  GCC 4.6.  These warnings are when a variable name "shadows" a
3134	  typename, which doesn't seem problematic in general, but the only
3135	  alternative seems to be to disable -Wshadow entirely, and it is
3136	  useful in other cases.
3137
3138Sat Aug 06 07:17:05 GMT 2011  Olly Betts <olly@survex.com>
3139
3140	* backends/dbfactory_remote.cc: Fix -Wshadow warnings from GCC 4.6.
3141
3142Sat Aug 06 06:32:15 GMT 2011  Olly Betts <olly@survex.com>
3143
3144	* Backport change from trunk:
3145	* include/xapian/termgenerator.h,
3146	  queryparser/termgenerator_internal.cc: Rename weight parameter to
3147	  wdf_inc, which much better describes what it does, and avoids a
3148	  -Wshadow warning with GCC 4.6.
3149
3150Sat Aug 06 06:26:54 GMT 2011  Olly Betts <olly@survex.com>
3151
3152	* Backport change from trunk:
3153	* api/registry.cc: Rename weight variable to weighting_scheme to avoid
3154	  -Wshadow warning.
3155
3156Sat Aug 06 06:16:47 GMT 2011  Olly Betts <olly@survex.com>
3157
3158	* Backport change from trunk:
3159	* configure.ac: -Wshadow gives bogus warnings with 4.0 (at least on Mac
3160	  OS X), so disable it for GCC < 4.1 (like the comments suggest we
3161	  already did!)
3162
3163Sat Aug 06 05:55:32 GMT 2011  Olly Betts <olly@survex.com>
3164
3165	* Backport change from trunk:
3166	* api/omdocument.cc,backends/brass/brass_database.cc,
3167	  backends/chert/chert_database.cc,backends/flint/flint_database.cc,
3168	  common/document.h: Document objects now track if term positions might
3169	  have been modified, so we can avoid having to consider them at all if
3170	  you take a document and add or remove a boolean filter term.  This
3171	  gives an 18% speedup for adding tags in notmuch.
3172
3173Sat Aug 06 04:32:56 GMT 2011  Olly Betts <olly@survex.com>
3174
3175	* Backport change from trunk:
3176	* docs/index.rst: Add links to Omega and bindings docs.
3177
3178Sat Aug 06 04:18:25 GMT 2011  Olly Betts <olly@survex.com>
3179
3180	* Backport change from trunk:
3181	* include/xapian/queryparser.h: Reword documentation of
3182	  add_boolean_prefix()'s exclusive parameter to talk about terms and
3183	  prefixes rather than values and fields (which was confusing since
3184	  "document value" has a particular meaning in Xapian).
3185
3186Sat Aug 06 04:16:38 GMT 2011  Olly Betts <olly@survex.com>
3187
3188	* Backport change from trunk:
3189	* bin/xapian-check.cc: Document in --help that checking a whole
3190	  database performs additional cross-checks between the tables.
3191
3192Sat Aug 06 04:14:51 GMT 2011  Olly Betts <olly@survex.com>
3193
3194	* Backport changes from trunk:
3195	* docs/facets.rst: Expand descriptions for indexing and finding
3196	  facets to hopefully be more helpful to newcomers.
3197	* docs/facets.rst: Fix example calls to add_matchspy() to be passed
3198	  pointers, and example call to get_termfreq().
3199
3200Sat Aug 06 03:14:45 GMT 2011  Olly Betts <olly@survex.com>
3201
3202	* Backport change from trunk:
3203	* tests/api_matchspy.cc: Remove checks for remote dbtype in matchspy2
3204	  and matchspy4 testcases - these were checking for values which would
3205	  never match, and the testcases should and do work with remote
3206	  backends.
3207
3208Fri Aug 05 15:26:07 GMT 2011  Olly Betts <olly@survex.com>
3209
3210	* common/pretty.h: Add Flint-related classes to fix build with
3211	  --enable-log.
3212
3213Fri Aug 05 15:21:26 GMT 2011  Olly Betts <olly@survex.com>
3214
3215	* Backport change from trunk:
3216	* include/xapian/database.h: Improve the documentation comment for
3217	  Database::close().  (ticket#504)
3218
3219Fri Aug 05 11:49:17 GMT 2011  Olly Betts <olly@survex.com>
3220
3221	* Backport changes from trunk:
3222	* common/pretty.h: Don't dereference a NULL pointer.
3223	* common/output.h,common/pretty.h: Fix invalid templates in pretty.h.
3224	* common/pretty.h: Fix template for pretty printing a std::list.
3225
3226Fri Aug 05 11:36:10 GMT 2011  Olly Betts <olly@survex.com>
3227
3228	* Backport change from trunk:
3229	* include/xapian/enquire.h: Fix doc comment typo which reversed the
3230	  intended sense.
3231
3232Fri Aug 05 11:30:13 GMT 2011  Olly Betts <olly@survex.com>
3233
3234	* Backport change from trunk:
3235	* api/omenquire.cc,common/omenquireinternal.h: Remove unused method
3236	  Enquire::Internal::register_match_decider().
3237
3238Wed Jun 22 16:41:57 GMT 2011  Olly Betts <olly@survex.com>
3239
3240	* Backport change from trunk:
3241	* common/databasereplicator.h,languages/steminternal.h,tests/harness/:
3242	  Remove inclusions of xapian/base.h from files which don't use
3243	  RefCntPtr or RefCntBase.
3244
3245Wed Jun 22 15:38:00 GMT 2011  Olly Betts <olly@survex.com>
3246
3247	* Backport change from trunk:
3248	* include/xapian/base.h: Remove unnecessary check for self-assignment
3249	  as it isn't a common case and the current code copes gracefully with
3250	  it anyway.
3251
3252Wed Jun 22 14:59:22 GMT 2011  Olly Betts <olly@survex.com>
3253
3254	* Backport change from trunk:
3255	* backends/brass/brass_postlist.cc,backends/brass/brass_postlist.h,
3256	  backends/chert/chert_postlist.cc,backends/chert/chert_postlist.h:
3257	  Reduce size of BrassPostList/ChertPostList objects by moving bool
3258	  members together (168->160 bytes for ChertPostList on x86-64 Linux).
3259
3260Wed Jun 22 14:20:48 GMT 2011  Olly Betts <olly@survex.com>
3261
3262	* Backport change from trunk:
3263	* tests/internaltest.cc: Fix typo in comment and verbose output.
3264
3265Wed Jun 22 14:18:31 GMT 2011  Olly Betts <olly@survex.com>
3266
3267	* Backport change from trunk:
3268	* common/pretty.h: Fix comment typo.
3269
3270Wed Jun 22 14:17:21 GMT 2011  Olly Betts <olly@survex.com>
3271
3272	* Backport change from trunk:
3273	* queryparser/queryparser.lemony,
3274	  queryparser/termgenerator_internal.cc: Fix warning from GCC 3.3.
3275
3276Wed Jun 22 13:34:14 GMT 2011  Olly Betts <olly@survex.com>
3277
3278	* Backport change from trunk:
3279	* api/,expand/ortermlist.cc,include/xapian/: Use TermIterator() instead
3280	  of TermIterator(NULL), and similarly for other Xapian iterator
3281	  classes.
3282
3283Wed Jun 22 12:49:25 GMT 2011  Olly Betts <olly@survex.com>
3284
3285	* Backport change from trunk:
3286	* tests/perftest/Makefile.mk: Make sure that perftest isn't run with
3287	  libeatmydata preloaded.
3288
3289Wed Jun 22 12:45:54 GMT 2011  Olly Betts <olly@survex.com>
3290
3291	* docs/deprecation.rst: Remove duplicate entry added in most recent
3292	  backport and fix tab to spaces.
3293
3294Wed Jun 22 12:35:57 GMT 2011  Olly Betts <olly@survex.com>
3295
3296	* Backport change from trunk:
3297	* docs/deprecation.rst: Add flush() -> commit().
3298
3299Wed Jun 22 12:27:37 GMT 2011  Olly Betts <olly@survex.com>
3300
3301	* Backport change from trunk:
3302	* README: Note licence is GPL *2+*.  Say "SVN/git".  Use trac URL for
3303	  wiki.
3304
3305Wed Jun 22 12:22:42 GMT 2011  Olly Betts <olly@survex.com>
3306
3307	* Backport change from trunk:
3308	* net/remoteserver.cc: Remove unnecessary call to reopen() - either we
3309	  just called it or we're a writable database and it doesn't do
3310	  anything.
3311
3312Wed Jun 22 11:42:32 GMT 2011  Olly Betts <olly@survex.com>
3313
3314	* Backport change from trunk:
3315	* xapian-core/backends/remote/remote-database.cc,
3316	  xapian-core/common/remote-database.h: Factor out the code to decode
3317	  the returned stats into a new apply_stats_update() method.
3318
3319Wed Jun 22 11:09:22 GMT 2011  Olly Betts <olly@survex.com>
3320
3321	* Backport change from trunk:
3322	* docs/remote_protocol.rst: Fixed typo which reversed the intended
3323	  sense.
3324
3325Wed Jun 22 11:05:51 GMT 2011  Olly Betts <olly@survex.com>
3326
3327	* Backport change from trunk:
3328	* configure.ac: Add unnecessary AC_LANG_SOURCE wrapper to shut up
3329	  autoconf warning.
3330
3331Wed Jun 22 10:57:55 GMT 2011  Olly Betts <olly@survex.com>
3332
3333	* Backport change from trunk:
3334	* tests/Makefile.am,tests/perftest/Makefile.mk,
3335	  tests/soaktest/Makefile.mk: Make the generated "*_all.h" depend on
3336	  the Makefile.am or Makefile.mk which contains the list of files it
3337	  is generated from so that it gets regenerated when a file is
3338	  removed from that list.
3339
3340Wed Jun 22 10:27:51 GMT 2011  Olly Betts <olly@survex.com>
3341
3342	* Backport change from trunk:
3343	* common/omenquireinternal.h: Remove a FIXME - caching the Document
3344	  object in MSetItem isn't a replacement for storing the sort_key
3345	  now that sort_keys can be computed.
3346
3347Wed Jun 22 10:20:04 GMT 2011  Olly Betts <olly@survex.com>
3348
3349	* Backport change from trunk:
3350	* docs/admin_notes.rst: Add note about xapian-chert-update.
3351
3352Wed Jun 22 10:14:14 GMT 2011  Olly Betts <olly@survex.com>
3353
3354	* Backport change from trunk:
3355	* bin/Makefile.mk: Remove lingering reference to quartz (rules to
3356	  generate man pages for quartzdump, etc).
3357
3358Sun Jun 12 11:54:45 GMT 2011  Olly Betts <olly@survex.com>
3359
3360	* NEWS: Final update for 1.2.6.
3361
3362Sat Jun 11 10:11:23 GMT 2011  Olly Betts <olly@survex.com>
3363
3364	* api/omdocument.cc: Update LOGCALL(MATCH, ...) to LOGCALL(DB, ...).
3365	  Convert LOGLINE() at start of method to LOGCALL().
3366
3367Sat Jun 11 09:57:00 GMT 2011  Olly Betts <olly@survex.com>
3368
3369	* api/omdatabase.cc: Remove self-assignment check from
3370	  Database::operator= since this is an uncommon code path and
3371	  RefCntPtr ensures that self-assignment of the internals is
3372	  safe.
3373
3374Sat Jun 11 08:48:10 GMT 2011  Olly Betts <olly@survex.com>
3375
3376	* api/omdatabase.cc,backends/brass/brass_cursor.h,
3377	  backends/chert/chert_cursor.h,backends/flint/flint_cursor.h,
3378	  backends/flint/flint_table.cc,backends/flint/flint_values.cc,
3379	  backends/inmemory/inmemory_database.cc,bin/xapian-check-brass.cc,
3380	  bin/xapian-check-chert.cc,bin/xapian-chert-update.cc,
3381	  matcher/queryoptimiser.cc,matcher/valuegepostlist.h: Use string() or
3382	  std::string() rather than "".
3383	* common/remoteconnection.h,net/tcpserver.cc: Use 2 parameter form of
3384	  Error subclass ctors when the context is "".
3385	* api/replication.cc,backends/flint/flint_database.cc,
3386	  common/remoteconnection.h,net/replicatetcpclient.cc,
3387	  net/replicatetcpserver.cc: Make context parameter of
3388	  RemoteConnection ctor optional.
3389	* common/leafpostlist.h: Say 'empty' rather than '""' in a
3390	  documentation comment.
3391	* examples/simpleindex.cc: Use '.resize(0)' rather than '= ""'.
3392
3393Sat Jun 11 07:01:41 GMT 2011  Olly Betts <olly@survex.com>
3394
3395	* api/,backends/brass/,backends/chert/,backends/flint/,
3396	  backends/remote/remote-database.cc,common/,include/xapian/,matcher/,
3397	  net/remoteserver.cc,net/serialise.cc: Consistently use "slot" in
3398	  variable names for value slots, rather than valueno, valno, valueid
3399	  or value.  The only exception remaining is a protected member of
3400	  Xapian::StringValueRangeProcessor since that's really part of the
3401	  public API.
3402
3403Fri Jun 10 11:55:45 GMT 2011  Olly Betts <olly@survex.com>
3404
3405	* NEWS,configure.ac: Update in preparation for 1.2.6.
3406
3407Fri Jun 10 09:05:38 GMT 2011  Olly Betts <olly@survex.com>
3408
3409	* examples/NEWS,examples/TODO: Remove files which are unused since the
3410	  examples were merged into xapian-core.
3411
3412Fri Jun 10 09:03:33 GMT 2011  Olly Betts <olly@survex.com>
3413
3414	* Makefile.am: Ship ChangeLog.0 in the tarball.
3415
3416Fri Jun 10 05:19:24 GMT 2011  Olly Betts <olly@survex.com>
3417
3418	* tests/Makefile.am: Actually include soaktest/Makefile.mk.
3419
3420Thu Jun 09 23:26:52 GMT 2011  Olly Betts <olly@survex.com>
3421
3422	* docs/doxygen_api.conf.in,docs/doxygen_source.conf.in: Define
3423	  XAPIAN_DEPRECATED_CLASS to empty for doxygen.
3424
3425Thu Jun 09 22:21:29 GMT 2011  Olly Betts <olly@survex.com>
3426
3427	* docs/overview.rst: Document "remote" in stub databases.
3428
3429Thu Jun 09 15:23:12 GMT 2011  Olly Betts <olly@survex.com>
3430
3431	* HACKING,docs/deprecation.rst,include/xapian/deprecated.h,
3432	  include/xapian/keymaker.h: Add XAPIAN_DEPRECATED_CLASS macro
3433	  for marking a class as deprecated, so we don't have to call
3434	  XAPIAN_DEPRECATED() with no parameters.
3435
3436Thu Jun 09 14:03:17 GMT 2011  Olly Betts <olly@survex.com>
3437
3438	* HACKING: Clarify wording about PATH.
3439
3440Thu Jun 09 13:04:53 GMT 2011  Olly Betts <olly@survex.com>
3441
3442	* docs/queryparser.rst,include/xapian/queryparser.h,
3443	  queryparser/queryparser.cc,queryparser/queryparser.lemony,
3444	  queryparser/queryparser_internal.h,tests/queryparsertest.cc: Add
3445	  QueryParser::set_max_wildcard_expansion() method to allow limiting
3446	  the number of terms a wildcard can expand to.  Implementation mostly
3447	  from a patch by Adam Sjøgren in ticket#350.
3448
3449Tue Jun 07 23:16:33 GMT 2011  Dan Colish <dcolish@gmail.com>
3450
3451	* backends/brass/brass_changesetapplier.h,
3452	  backends/chert/chert_changesetapplier.h,
3453	  backends/flint/flint_changesetapplier.h: Remove dead code
3454
3455Thu Jun 02 13:21:28 GMT 2011  Olly Betts <olly@survex.com>
3456
3457	* AUTHORS: Add recent bug reporters.
3458
3459Thu Jun 02 11:03:57 GMT 2011  Olly Betts <olly@survex.com>
3460
3461	* queryparser/queryparser.lemony: If default_op is OP_NEAR or
3462	  OP_PHRASE then disable stemming of the terms, since we don't index
3463	  positional information for stemmed terms by default.
3464	* tests/queryparsertest.cc: Adjust near1 and phrase1 to act as
3465	  regression tests for this fix.
3466
3467Thu Jun 02 02:58:58 GMT 2011  Olly Betts <olly@survex.com>
3468
3469	* backends/brass/brass_spelling.cc,backends/brass/brass_spelling.h,
3470	  backends/chert/chert_spelling.cc,backends/chert/chert_spelling.h,
3471	  backends/flint/flint_spelling.cc,backends/flint/flint_spelling.h:
3472	  Fix bug Nikita Smetanin spotted with adding a word which has the
3473	  same trigram in an even number of times.
3474	* tests/api_spelling.cc: Add regression test spell8.
3475
3476Wed Jun 01 14:11:38 GMT 2011  Olly Betts <olly@survex.com>
3477
3478	* backends/flint_lock.cc: Kill the child process which holds the lock
3479	  with SIGKILL as that can't be ignored, whereas SIGHUP can be in some
3480	  cases it seems.
3481
3482Wed Jun 01 12:12:14 GMT 2011  Olly Betts <olly@survex.com>
3483
3484	* docs/quickstartexpand.cc.html,docs/quickstartindex.cc.html,
3485	  docs/quickstartsearch.cc.html: Reinstate the old HTML versions
3486	  of these files.
3487
3488Wed Jun 01 12:09:55 GMT 2011  Olly Betts <olly@survex.com>
3489
3490	* docs/queryparser.rst,docs/remote_protocol.rst: Fix literal hard
3491	  spaces in input to just be spaces.
3492
3493Wed Jun 01 12:06:26 GMT 2011  Olly Betts <olly@survex.com>
3494
3495	* docs/quickstart.rst: Fix sub-heading run in to previous paragraph.
3496
3497Wed Jun 01 12:04:52 GMT 2011  Olly Betts <olly@survex.com>
3498
3499	* docs/remote.rst: Replace out-dated list of xapian-tcpsrv's command
3500	  line options with a reference to --help and the man page.  Tweak
3501	  wording in a few places.
3502
3503Wed Jun 01 11:54:37 GMT 2011  Olly Betts <olly@survex.com>
3504
3505	* docs/overview.rst: Change omrset to rset.  Remove some bogus `` left
3506	  over from fixing definition list formatting.
3507
3508Wed Jun 01 11:38:09 GMT 2011  Olly Betts <olly@survex.com>
3509
3510	* docs/stemming.rst: Comment out bogus claim that there are stopword
3511	  lists in xapian-data (the lack of stopword lists is already
3512	  ticket#269).
3513
3514Wed Jun 01 11:29:58 GMT 2011  Olly Betts <olly@survex.com>
3515
3516	* docs/matcherdesign.rst,docs/stemming.rst: Convert more arrows to
3517	  Unicode.
3518	* docs/stemming.rst: Fix some missing paragraph breaks.
3519
3520Wed Jun 01 11:18:25 GMT 2011  Olly Betts <olly@survex.com>
3521
3522	* docs/intro_ir.rst: Use Unicode right arrow.
3523
3524Wed Jun 01 10:38:27 GMT 2011  Olly Betts <olly@survex.com>
3525
3526	* docs/: Revert quickstart*.cc.html to being HTML rather than .rst as
3527	  the .rst version lose the syntax highlighting.  Update svn:ignore.
3528
3529Wed Jun 01 10:27:11 GMT 2011  Olly Betts <olly@survex.com>
3530
3531	* docs/intro_ir.rst: Sort out the remaining formatting issues.
3532
3533Wed Jun 01 08:05:05 GMT 2011  Olly Betts <olly@survex.com>
3534
3535	* docs/intro_ir.rst: More markup fixes.
3536
3537Wed Jun 01 06:16:56 GMT 2011  Olly Betts <olly@survex.com>
3538
3539	* docs/tests.rst: Use generated contents list instead of manual one.
3540
3541Wed Jun 01 06:16:13 GMT 2011  Olly Betts <olly@survex.com>
3542
3543	* docs/index.rst,docs/internals.rst: Centre links at top; Sort out
3544	  <hr> to be full width.
3545
3546Wed Jun 01 03:23:20 GMT 2011  Olly Betts <olly@survex.com>
3547
3548	* docs/bm25.rst: Sort out inline equations.
3549
3550Tue May 31 15:21:10 GMT 2011  Olly Betts <olly@survex.com>
3551
3552	* docs/spelling.rst: Add link to Omega documentation.
3553
3554Tue May 31 07:52:19 GMT 2011  Olly Betts <olly@survex.com>
3555
3556	* docs/overview.rst,docs/quickstart.rst,docs/remote_protocol.rst: More
3557	  .rst formatting fixes.
3558
3559Tue May 31 05:02:48 GMT 2011  Olly Betts <olly@survex.com>
3560
3561	* docs/overview.rst: More .rst fixes.
3562
3563Tue May 31 04:32:52 GMT 2011  Olly Betts <olly@survex.com>
3564
3565	* docs/: More .rst fixes.
3566
3567Tue May 31 04:11:27 GMT 2011  Olly Betts <olly@survex.com>
3568
3569	* docs/Makefile.am,docs/code_structure.rst: Revert code_structure.html
3570	  conversion - this file is generated by a script.
3571
3572Tue May 31 03:56:39 GMT 2011  Olly Betts <olly@survex.com>
3573
3574	* docs/install.rst,docs/stemming.rst,docs/tests.rst: Fix up some .rst
3575	  conversion issues.
3576
3577Tue May 31 03:36:49 GMT 2011  Dan Colish <dcolish@gmail.com>
3578
3579	* docs/remote_protocol.rst docs/quickstart.rst docs/remote.rst
3580	docs/internals.rst docs/scalability.rst
3581	docs/quickstartsearch.cc.rst
3582	docs/bm25.rst docs/install.rst docs/quickstartindex.cc.rst
3583	docs/index.rst docs/matcherdesign.rst docs/quickstartexpand.cc.rst
3584	docs/queryparser.rst docs/stemming.rst docs/intro_ir.rst
3585	docs/code_structure.rst docs/Makefile.am docs/tests.rst
3586	docs/overview.rst: Bulk port all remaining documentation to RST.
3587
3588Sun May 29 07:04:42 GMT 2011  Olly Betts <olly@survex.com>
3589
3590	* docs/postingsource.rst: Add PostingSource example.  (ticket#503)
3591
3592Sun May 29 05:19:40 GMT 2011  Olly Betts <olly@survex.com>
3593
3594	* include/xapian/database.h: Add @exception InvalidArgumentError for
3595	  Database::get_document() (ticket#542).
3596
3597Fri May 27 05:36:28 GMT 2011  Olly Betts <olly@survex.com>
3598
3599	* NEWS: Update from ChangeLog.
3600
3601Thu May 26 02:44:07 GMT 2011  Olly Betts <olly@survex.com>
3602
3603	* include/xapian/queryparser.h: FIXME:1.1.3 -> FIXME:1.3.
3604
3605Wed May 25 14:58:37 GMT 2011  Olly Betts <olly@survex.com>
3606
3607	* docs/queryparser.html: Document the precedence order of operators.
3608
3609Fri May 20 04:13:54 GMT 2011  Olly Betts <olly@survex.com>
3610
3611	* examples/simpleindex.cc: Add short description to usage message.
3612
3613Tue May 17 21:44:55 GMT 2011  Olly Betts <olly@survex.com>
3614
3615	* docs/scalability.html: Bring up-to-date.
3616
3617Wed May 11 01:34:34 GMT 2011  Olly Betts <olly@survex.com>
3618
3619	* AUTHORS: Add Scott Zhang for mingw fixes.
3620
3621Wed May 11 01:30:54 GMT 2011  Olly Betts <olly@survex.com>
3622
3623	* net/progclient.cc,net/tcpserver.cc: Need <cstdio> for sprintf on
3624	  __WIN32__ and cygwin.
3625
3626Wed May 11 01:22:07 GMT 2011  Olly Betts <olly@survex.com>
3627
3628	* configure.ac: Define __MSVCRT_VERSION__ to 0x0601 under mingw so
3629	  we get _ftime64().
3630
3631Wed May 11 01:19:14 GMT 2011  Olly Betts <olly@survex.com>
3632
3633	* common/closefrom.cc,common/closefrom.h: We don't need closefrom()
3634	  under __WIN32__ currently, so disable it there as it doesn't
3635	  compile under mingw.
3636
3637Mon May 09 20:13:17 GMT 2011  Olly Betts <olly@survex.com>
3638
3639	* examples/delve.cc: Report has_positions().
3640
3641Thu Apr 07 05:38:36 GMT 2011  Dan Colish <dcolish@gmail.com>
3642
3643	* matcher/phrasepostlist.cc, matcher/queryoptimiser.cc,
3644	  matcher/exactphrasepostlist.cc, matcher/exactphrasepostlist.h,
3645	  matcher/phrasepostlist.h: Remove temporary vector in queryoptimiser
3646	  and replace with iterators.
3647
3648Wed Apr 06 10:27:41 GMT 2011  Richard Boulton <richard@tartarus.org>
3649
3650	* docs/admin_notes.rst: Remove the word "also", which makes sense
3651	  when read in context of the previous section, but is confusing if
3652	  the paragraph is read standalone, and isn't necessary.
3653
3654Mon Apr 04 14:41:33 GMT 2011  Olly Betts <olly@survex.com>
3655
3656	* NEWS: Final update for 1.2.5.
3657
3658Mon Apr 04 14:06:56 GMT 2011  Olly Betts <olly@survex.com>
3659
3660	* backends/brass/brass_version.cc: Remove ? from comment - the brass
3661	  version change is definitely going to be in 1.2.5.
3662
3663Mon Apr 04 13:57:23 GMT 2011  Olly Betts <olly@survex.com>
3664
3665	* NEWS: Bump release date.
3666
3667Sat Mar 26 14:49:41 GMT 2011  Olly Betts <olly@survex.com>
3668
3669	* INSTALL: Fix typo in previous commit.
3670
3671Sat Mar 26 14:03:15 GMT 2011  Olly Betts <olly@survex.com>
3672
3673	* INSTALL: Note how to build for a non-default arch on a multi-arch
3674	  platform.
3675
3676Sat Mar 26 13:22:49 GMT 2011  Olly Betts <olly@survex.com>
3677
3678	* NEWS,configure.ac: Update for 1.2.5.
3679
3680Sat Mar 26 12:28:38 GMT 2011  Olly Betts <olly@survex.com>
3681
3682	* AUTHORS: Update.
3683
3684Sat Mar 26 10:33:19 GMT 2011  Olly Betts <olly@survex.com>
3685
3686	* backends/brass/brass_postlist.cc,backends/brass/brass_postlist.h,
3687	  backends/chert/chert_postlist.cc,backends/chert/chert_postlist.h,
3688	  backends/inmemory/inmemory_database.h: Address issues highlighted
3689	  by clang++ warnings.
3690
3691Fri Mar 25 05:36:41 GMT 2011  Olly Betts <olly@survex.com>
3692
3693	* docs/tests.html: Slight tweak to improve up-to-date-ness, but more
3694	  work would be useful.
3695
3696Fri Mar 25 05:30:56 GMT 2011  Olly Betts <olly@survex.com>
3697
3698	* docs/matcherdesign.html: Update - quite a bit has changed in the
3699	  matcher since this was last updated!
3700
3701Thu Mar 24 23:31:57 GMT 2011  Olly Betts <olly@survex.com>
3702
3703	* api/replication.cc,common/replication.h: Pass reader_close_time as
3704	  double everywhere, rather than truncating it to int.  Include
3705	  reader_close_time parameters in debug logging.  Document
3706	  reader_close_time in doxygen comments.
3707
3708Tue Mar 22 15:36:25 GMT 2011  Dan Colish <dcolish@gmail.com>
3709
3710	* backends/brass/brass_database.h:
3711	  Remove left over copyright.
3712
3713Tue Mar 22 04:54:12 GMT 2011  Dan Colish <dcolish@gmail.com>
3714
3715	* backends/brass/brass_btreebase.cc,backends/chert/chert_btreebase.cc,
3716	  backends/flint/flint_btreebase.cc:
3717	  Correct comments for which revision is packed when writing base files
3718
3719Tue Mar 22 03:18:19 GMT 2011  Dan Colish <dcolish@gmail.com>
3720
3721	* backends/brass/brass_database.cc,backends/chert/chert_database.cc,
3722	  backends/flint/flint_database.cc,include/xapian/database.h:
3723	  Remove FIXME and comments for DB_OVERWRITE.
3724
3725Tue Mar 22 01:18:38 GMT 2011  Dan Colish <dcolish@gmail.com>
3726
3727	* backends/brass/,backends/chert/chert_database.cc,
3728	  backends/flint/flint_database.cc,tests/api_replicate.cc:
3729	  Clean up changesets when replicating. Add test coverage for this
3730	  feature. Allow XAPIAN_MAX_CHANGESETS to be altered without reopening
3731	  the database. Closes Ticket #278.
3732
3733Mon Mar 21 01:50:41 GMT 2011  Olly Betts <olly@survex.com>
3734
3735	* docs/bm25.html: Add a link to the 1976 Robertson/Sparck Jones paper.
3736
3737Wed Mar 16 05:56:58 GMT 2011  Dan Colish <dcolish@gmail.com>
3738
3739	* bin/xapian-check-flint.cc: Initialize did and current_wdf to prevent
3740	  uninitalized usage and compiler warnings.
3741
3742Mon Mar 14 03:20:18 GMT 2011  Olly Betts <olly@survex.com>
3743
3744	* common/debuglog.cc,common/debuglog.h: Rename indent member to
3745	  indent_level so it doesn't clash with indent() method.
3746
3747Mon Mar 14 02:44:24 GMT 2011  Olly Betts <olly@survex.com>
3748
3749	* common/debuglog.cc,common/debuglog.h: Use an integer counter for the
3750	  indent rather than a std::string which we add/remove spaces to/from.
3751	  This is cleaner, but also there seems to be an issue with having a
3752	  std::string member in a global static object on OS X.
3753
3754Fri Mar 11 01:12:04 GMT 2011  Olly Betts <olly@survex.com>
3755
3756	* HACKING: Document using '{ }' rather than ';' for empty loop bodies.
3757
3758Fri Mar 11 01:02:47 GMT 2011  Olly Betts <olly@survex.com>
3759
3760	* HACKING: Remove bogus ; after method definition in code example.
3761
3762Fri Mar 11 00:07:22 GMT 2011  Olly Betts <olly@survex.com>
3763
3764	* backends/brass/brass_database.cc,backends/chert/chert_database.cc,
3765	  backends/flint/flint_database.cc: Factor out literal constant as
3766	  MAX_OPEN_RETRIES.
3767
3768Wed Mar 09 14:54:06 GMT 2011  Olly Betts <olly@survex.com>
3769
3770	* tests/api_anydb.cc: Improve the new testcases a bit.
3771
3772Wed Mar 09 14:11:59 GMT 2011  Olly Betts <olly@survex.com>
3773
3774	* api/omenquire.cc,common/esetinternal.h,common/omenquireinternal.h,
3775	  expand/esetinternal.cc,expand/expandweight.cc,
3776	  include/xapian/enquire.h,tests/api_anydb.cc: Enquire::get_eset() now
3777	  accepts a min_wt argument to allow the minimum wanted weight to be
3778	  specified.  Default is 0, which gives the previous behaviour.
3779
3780Wed Mar 09 00:00:25 GMT 2011  Olly Betts <olly@survex.com>
3781
3782	* include/xapian/termiterator.h: Fix misspelling in doc comment.
3783
3784Tue Mar 08 06:58:14 GMT 2011  Olly Betts <olly@survex.com>
3785
3786	* backends/brass/brass_table.cc,backends/brass/brass_table.h,
3787	  backends/chert/chert_table.cc,backends/chert/chert_table.h,
3788	  backends/flint/flint_table.cc,backends/flint/flint_table.h: Use
3789	  defined constant BLOCK_CAPACITY instead of hardcoded 4 (ticket#536).
3790
3791Tue Mar 08 05:56:42 GMT 2011  Olly Betts <olly@survex.com>
3792
3793	* backends/brass/brass_table.cc,backends/chert/chert_table.cc,
3794	  backends/flint/flint_table.cc: If we try to delete an old base file
3795	  and it isn't there, just continue rather than throwing an exception.
3796	  We wanted to get rid of it anyway, and it may be NFS issues telling
3797	  us the wrong thing.  In particular, DatabaseCoruptError was rather
3798	  a pessimistic assessment.
3799
3800Tue Mar 08 05:55:48 GMT 2011  Olly Betts <olly@survex.com>
3801
3802	* common/io_utils.h: Note that io_unlink() may return false when it
3803	  should have returned true on NFS.
3804
3805Sun Mar 06 23:25:47 GMT 2011  Olly Betts <olly@survex.com>
3806
3807	* common/io_utils.cc,common/io_utils.h: Add io_unlink().
3808	* backends/brass/brass_database.cc,backends/brass/brass_table.cc,
3809	  backends/chert/chert_database.cc,backends/chert/chert_table.cc,
3810	  backends/flint/flint_database.cc,backends/flint/flint_table.cc:
3811	  Use io_unlink() instead of sys_unlink_if_exists().
3812
3813Sun Mar 06 22:26:36 GMT 2011  Olly Betts <olly@survex.com>
3814
3815	* backends/brass/brass_database.cc,backends/chert/chert_database.cc,
3816	  backends/flint/flint_database.cc: If DANGEROUS mode is turned on,
3817	  then actually set the flag for this in replication changes files
3818	  (the reader will currently throw an exception, but that's better
3819	  than quietly handling them incorrectly).
3820
3821Sat Mar 05 12:58:31 GMT 2011  Olly Betts <olly@survex.com>
3822
3823	* NEWS: Update from ChangeLog.
3824
3825Sat Mar 05 12:49:16 GMT 2011  Olly Betts <olly@survex.com>
3826
3827	* NEWS: Fix a few typos.
3828
3829Sat Mar 05 06:19:25 GMT 2011  Olly Betts <olly@survex.com>
3830
3831	* NEWS: Fix typo in old entry.
3832
3833Sat Mar 05 06:16:41 GMT 2011  Olly Betts <olly@survex.com>
3834
3835	* common/remoteconnection.h: Internal doc comment improvements: Fix
3836	  typo, finish truncated sentence, wrap lines to 80 columns.
3837
3838Sat Mar 05 02:59:35 GMT 2011  Olly Betts <olly@survex.com>
3839
3840	* bin/xapian-replicate.cc: Make sure port number is specified.  Add
3841	  "(required)" after --host and --port in help.
3842
3843Sat Mar 05 02:50:04 GMT 2011  Olly Betts <olly@survex.com>
3844
3845	* docs/replication.rst: Mention new defaulting of -m.
3846
3847Sat Mar 05 02:44:37 GMT 2011  Olly Betts <olly@survex.com>
3848
3849	* bin/xapian-replicate.cc: If --master isn't specified, default to
3850	  DATABASE.
3851
3852Sat Mar 05 00:14:21 GMT 2011  Olly Betts <olly@survex.com>
3853
3854	* bin/xapian-replicate.cc: Give an error if the host isn't set, rather
3855	  than trying to connect to an empty hostname, which gives the error
3856	  "Couldn't resolve host  (Unknown server error)", which might confuse
3857	  if you fail to notice the double space and realise what it means.
3858
3859Fri Mar 04 17:20:13 GMT 2011  Richard Boulton <richard@tartarus.org>
3860
3861	* docs/replication.rst: Update documentation to make it clear that
3862	  users shouldn't try to create the destination directory for
3863	  replication themselves.
3864
3865Thu Mar 03 11:10:10 GMT 2011  Olly Betts <olly@survex.com>
3866
3867	* docs/intro_ir.html: Fix typo in author's name.
3868
3869Thu Mar 03 11:06:30 GMT 2011  Olly Betts <olly@survex.com>
3870
3871	* docs/intro_ir.html: Update link to a paper.  Update text about book
3872	  "to be published in 2008".
3873
3874Tue Mar 01 11:39:40 GMT 2011  Olly Betts <olly@survex.com>
3875
3876	* NEWS: Update from ChangeLog.
3877
3878Mon Feb 28 12:40:24 GMT 2011  Olly Betts <olly@survex.com>
3879
3880	* matcher/multimatch.cc: Avoid leaking postlist tree if an exception
3881	  is thrown during the match.
3882
3883Wed Feb 23 15:26:56 GMT 2011  Olly Betts <olly@survex.com>
3884
3885	* docs/Makefile.am,docs/index.html: Process collapsing.rst and link
3886	  it into the documentation.
3887
3888Wed Feb 23 15:22:06 GMT 2011  Olly Betts <olly@survex.com>
3889
3890	* docs/collapsing.rst: Add missing document (for some reason this file
3891	  was empty in SVN, but present in my tree under a different name, and
3892	  not checked in).
3893
3894Mon Feb 21 14:49:06 GMT 2011  Olly Betts <olly@survex.com>
3895
3896	* docs/deprecation.rst: Deprecate MSet.items and ESet.items.
3897
3898Mon Feb 21 14:06:21 GMT 2011  Olly Betts <olly@survex.com>
3899
3900	* backends/brass/brass_database.cc,backends/chert/chert_database.cc,
3901	  backends/flint/flint_database.cc,common/remoteconnection.h,
3902	  net/remoteconnection.cc: Pass a file descriptor to
3903	  RemoteConnection::send_file() to avoid a race between the caller
3904	  checking if a file exists and send_file() trying to open it to send
3905	  it.
3906
3907Mon Feb 21 13:50:06 GMT 2011  Olly Betts <olly@survex.com>
3908
3909	* queryparser/lemon.c: Fix issues detected by DACA cppcheck run on the
3910	  Debian archive.
3911
3912Mon Feb 21 13:30:55 GMT 2011  Olly Betts <olly@survex.com>
3913
3914	* tests/api_anydb.cc: Fix spaceterms1 which was never running one part
3915	  of the testcase (and had been that way for years).  Fix an
3916	  off-by-one error in the enabled code.
3917
3918Mon Feb 21 13:05:36 GMT 2011  Olly Betts <olly@survex.com>
3919
3920	* tests/api_backend.cc: Add some test coverage for
3921	  DatabaseModifiedError in get_mset().
3922
3923Mon Feb 21 12:03:35 GMT 2011  Olly Betts <olly@survex.com>
3924
3925	* NEWS: Fix typo in old entry.
3926
3927Mon Feb 21 11:36:07 GMT 2011  Olly Betts <olly@survex.com>
3928
3929	* examples/quest.cc: Report any spelling correction (requires the
3930	  database contains spelling data of course).
3931
3932Wed Feb 16 13:11:03 GMT 2011  Olly Betts <olly@survex.com>
3933
3934	* include/xapian/enquire.h: Add doxygen markup so alternative
3935	  overloaded forms of Enquire::get_mset() appear in the API
3936	  documentation.
3937
3938Wed Feb 09 14:24:57 GMT 2011  Olly Betts <olly@survex.com>
3939
3940	* docs/admin_notes.rst: Up to darte for 1.2.5.  Minor wording
3941	  improvements.  Mention copydatabase --no-renumber.
3942
3943Wed Feb 09 14:06:55 GMT 2011  Olly Betts <olly@survex.com>
3944
3945	* examples/copydatabase.cc: Add --no-renumber option.
3946
3947Tue Feb 01 11:17:58 GMT 2011  Olly Betts <olly@survex.com>
3948
3949	* configure.ac: -Wstrict-null-sentinel was added in GCC 4.0.1 so
3950	  doesn't work with GCC 4.0.0.  For simplicity, only enable it for
3951	  GCC >= 4.1.
3952
3953Tue Feb  1 08:22:52 GMT 2011  Olly Betts <olly@survex.com>
3954
3955	* docs/deprecation.rst: Add $set{spelling,true}.
3956
3957Thu Jan 20 14:52:53 GMT 2011  Olly Betts <olly@survex.com>
3958
3959	* backends/flint/flint_btreebase.cc,backends/flint/flint_btreebase.h,
3960	  backends/flint/flint_table.cc: Don't read the bitmaps from the base
3961	  files when opening a database for reading (cross-port of equivalent
3962	  change to chert).
3963
3964Thu Jan 20 14:37:10 GMT 2011  Olly Betts <olly@survex.com>
3965
3966	* backends/brass/brass_btreebase.cc,backends/brass/brass_btreebase.h,
3967	  backends/brass/brass_table.cc: Don't read the bitmaps from the base
3968	  files when opening a database for reading (cross-port of equivalent
3969	  change to chert).
3970
3971Thu Jan 20 14:21:10 GMT 2011  Olly Betts <olly@survex.com>
3972
3973	* backends/chert/chert_btreebase.cc,backends/chert/chert_btreebase.h,
3974	  backends/chert/chert_table.cc: Don't read the bitmaps from the base
3975	  files when opening a database for reading.
3976
3977Thu Jan 20 01:57:02 GMT 2011  Olly Betts <olly@survex.com>
3978
3979	* backends/brass/brass_database.cc: Optimise not to update doclength
3980	  when it hasn't changed (cross-port of equivalent change to chert).
3981
3982Thu Jan 20 01:36:51 GMT 2011  Olly Betts <olly@survex.com>
3983
3984	* backends/chert/chert_database.cc: Optimise not to update doclength
3985	  when it hasn't changed.
3986
3987Wed Jan 19 03:50:18 GMT 2011  Olly Betts <olly@survex.com>
3988
3989	* tests/api_compact.cc: Close ofstream objects used to write out stub
3990	  files for testing before we run the actual compaction, to avoid
3991	  issues on Microsoft Windows (ticket#525).
3992
3993Wed Jan 19 01:01:38 GMT 2011  Olly Betts <olly@survex.com>
3994
3995	* HACKING: Snapshots and releases are now bootstrapped with autoconf
3996	  2.68 and libtool 2.4.  Prune information about reasons for needing
3997	  really old autotools versions when there's a reason to need a newer
3998	  version anyway.
3999
4000Sat Jan 15 11:10:26 GMT 2011  Olly Betts <olly@survex.com>
4001
4002	* NEWS: Update from ChangeLog and 1.0.23.
4003
4004Sat Jan 15 10:28:10 GMT 2011  Olly Betts <olly@survex.com>
4005
4006	* bin/xapian-chert-update.cc: Fix to handle value slot entries in the
4007	  termlist table.
4008
4009Wed Jan 12 23:49:21 GMT 2011  Olly Betts <olly@survex.com>
4010
4011	* bin/xapian-chert-update.cc: Adjust keys for doclength chunks too.
4012
4013Wed Jan 12 13:37:30 GMT 2011  Olly Betts <olly@survex.com>
4014
4015	* AUTHORS,bin/xapian-chert-update.cc: Fix to also rewrite docids in
4016	  value chunk keys (reported by Luca Barbieri on xapian-discuss).
4017
4018Tue Jan 11 08:41:02 GMT 2011  Olly Betts <olly@survex.com>
4019
4020	* docs/deprecation.rst: Note removal of if idx in mset.
4021
4022Tue Jan 11 08:30:29 GMT 2011  Olly Betts <olly@survex.com>
4023
4024	* docs/deprecation.rst: PostingSource now offers a replacement for
4025	  Enquire::set_bias().
4026
4027Mon Jan 10 09:40:24 GMT 2011  Olly Betts <olly@survex.com>
4028
4029	* api/compactor.cc: Add missing header <ctime> for time() (ticket#530).
4030
4031Sun Jan 09 23:14:02 GMT 2011  Olly Betts <olly@survex.com>
4032
4033	* api/compactor.cc: Use msvc_posix_rename() under __WIN32__ to
4034	  atomically update stub file after compaction (ticket#525).
4035
4036Thu Dec 23 13:00:43 GMT 2010  Olly Betts <olly@survex.com>
4037
4038	* queryparser/queryparser.lemony: Whitespace consistency tweak.
4039
4040Thu Dec 23 11:01:26 GMT 2010  Olly Betts <olly@survex.com>
4041
4042	* queryparser/queryparser.lemony,tests/queryparsertest.cc: Handle
4043	  NEAR/<offset> and ADJ/<offset> where offset isn't an integer the same
4044	  way at the end of the query as in the middle.
4045
4046Tue Dec 21 10:28:08 GMT 2010  Olly Betts <olly@survex.com>
4047
4048	* net/tcpserver.cc: If we can't bind to the specified port because it
4049	  is a privileged one, exit with code 77 (EX_NOPERM) to make it easier
4050	  to automatically handle failure when starting the server from a
4051	  script.
4052
4053Tue Dec 21 07:43:52 GMT 2010  Olly Betts <olly@survex.com>
4054
4055	* docs/index.html: Add link to main website.
4056
4057Tue Dec 21 07:40:57 GMT 2010  Olly Betts <olly@survex.com>
4058
4059	* docs/index.html,docs/overview.html: Update links to wiki.xapian.org
4060	  to point to trac.xapian.org/wiki instead.
4061
4062Mon Dec 20 10:02:06 GMT 2010  Richard Boulton <richard@tartarus.org>
4063
4064	* docs/deprecation.rst: Add note about botched removal of python's
4065	  Enquire.get_matching_terms (now fully removed).
4066
4067Sun Dec 19 12:40:12 GMT 2010  Olly Betts <olly@survex.com>
4068
4069	* NEWS: Update release date.
4070
4071Sat Dec 18 13:17:52 GMT 2010  Olly Betts <olly@survex.com>
4072
4073	* NEWS,configure.ac: Update for 1.2.4.
4074
4075Wed Dec 15 11:56:22 GMT 2010  Olly Betts <olly@survex.com>
4076
4077	* NEWS: Update.
4078
4079Tue Dec 14 12:46:36 GMT 2010  Olly Betts <olly@survex.com>
4080
4081	* HACKING,tests/runtest.in: Add XAPIAN_TESTSUITE_LD_PRELOAD hook to
4082	  allow libeatmydata to easily be used when running the testsuite.
4083
4084Mon Dec 13 14:28:19 GMT 2010  Olly Betts <olly@survex.com>
4085
4086	* include/xapian/: Make it more explicitly clear that PostingIterator,
4087	  PositionIterator, and TermIterator's skip_to methods advance (and
4088	  hence shouldn't be expected to allow you to "rewind" the stream).
4089
4090Mon Dec 13 14:18:18 GMT 2010  Olly Betts <olly@survex.com>
4091
4092	* include/xapian/database.h: "network databases" -> "remote databases".
4093
4094Mon Dec 13 14:10:08 GMT 2010  Olly Betts <olly@survex.com>
4095
4096	* net/remoteserver.cc: If the message parameter only contains a
4097	  string then we can just use it as is.
4098
4099Mon Dec 13 13:34:30 GMT 2010  Olly Betts <olly@survex.com>
4100
4101	* backends/remote/remote-database.cc,common/remote-database.h,
4102	  common/remoteprotocol.h,common/remoteserver.h,
4103	  docs/remote_protocol.html,net/remoteserver.cc,tests/api_metadata.cc:
4104	  Add support for iterating metadata keys with the remote backend.
4105	  This change necessitated a minor version bump in the remote protocol.
4106
4107Sun Dec 12 12:24:48 GMT 2010  Olly Betts <olly@survex.com>
4108
4109	* weight/tradweight.cc: Fix calculation order to avoid inconsistent
4110	  weights due to rounding for TradWeight(0).
4111	* tests/api_backend.cc: Add regression test tradweight2.
4112
4113Sat Dec 11 11:38:32 GMT 2010  Olly Betts <olly@survex.com>
4114
4115	* AUTHORS: Update thanks list with bug reporters and patch submitters.
4116
4117Thu Dec 09 03:59:42 GMT 2010  Olly Betts <olly@survex.com>
4118
4119	* NEWS: Update from ChangeLog.
4120
4121Thu Dec 09 03:58:20 GMT 2010  Olly Betts <olly@survex.com>
4122
4123	* net/remoteconnection.cc: Add FIXME note about using sendfile() or
4124	  similar.
4125
4126Tue Dec 07 10:16:31 GMT 2010  Olly Betts <olly@survex.com>
4127
4128	* tests/queryparsertest.cc: Note 1.0.x version #515 was fixed in.
4129
4130Mon Dec 06 05:26:01 GMT 2010  Olly Betts <olly@survex.com>
4131
4132	* net/replicatetcpclient.cc: Rearrange loop to avoid duplicating code.
4133
4134Mon Dec 06 01:39:23 GMT 2010  Olly Betts <olly@survex.com>
4135
4136	* queryparser/queryparser.lemony: Fix typo so we test for OP_NEAR or
4137	  OP_PHRASE, not twice for OP_NEAR, which fixes a bug with not setting
4138	  the correct window size for default_op of OP_PHRASE in some cases.
4139	  Factor out the "is_positional(op)" test into an inlined function to
4140	  help avoid repeating this error.
4141	* tests/queryparsertest.cc: Add regression test coverage.
4142
4143Mon Dec 06 01:01:03 GMT 2010  Olly Betts <olly@survex.com>
4144
4145	* tests/queryparsertest.cc: Add coverage for OP_PHRASE as default_op.
4146
4147Sun Dec 05 12:35:32 GMT 2010  Olly Betts <olly@survex.com>
4148
4149	* weight/bm25weight.cc: Fix calculation order to avoid inconsistent
4150	  weights due to rounding when BM25Weight is used with certain
4151	  non-default parameter combinations.
4152	* tests/api_backend.cc: Add regression test bm25weight2.
4153
4154Sun Dec 05 12:10:36 GMT 2010  Olly Betts <olly@survex.com>
4155
4156	* backends/chert/chert_compact.cc: Add FIXME comment regarding
4157	  resolve_duplicate_metadata() getting called multiple times for the
4158	  same key in multipass mode.
4159
4160Sun Dec 05 12:09:32 GMT 2010  Olly Betts <olly@survex.com>
4161
4162	* include/xapian/compactor.h: Add documentation comments.
4163
4164Sun Dec 05 04:54:03 GMT 2010  Olly Betts <olly@survex.com>
4165
4166	* HACKING: Omega now wants libmagic-dev (though it's optional
4167	  currently).
4168
4169Wed Nov 17 10:56:10 GMT 2010  Olly Betts <olly@survex.com>
4170
4171	* examples/quest.cc: Add command line options to allow prefixes to
4172	  be specified for the QueryParser.
4173
4174Tue Nov 09 23:18:36 GMT 2010  Olly Betts <olly@survex.com>
4175
4176	* backends/brass/brass_compact.cc,backends/chert/chert_compact.cc,
4177	  backends/flint/flint_compact.cc: Fix access to empty priority_queue
4178	  while merging synonyms (found with _GLIBCXX_DEBUG).
4179
4180Tue Nov 09 03:23:49 GMT 2010  Olly Betts <olly@survex.com>
4181
4182	* HACKING: Drop list of platforms valgrind supports, as it takes
4183	  effort to keep up to date.  People can check valgrind.org for an
4184	  accurate list of currently supported platforms.
4185
4186Sun Nov 07 14:13:44 GMT 2010  Olly Betts <olly@survex.com>
4187
4188	* api/compactor.cc,backends/brass/brass_compact.cc,
4189	  backends/chert/chert_compact.cc,backends/flint/flint_compact.cc,
4190	  bin/xapian-compact.cc,include/xapian/compactor.h:
4191	  Compactor::resolve_duplicate_metadata() callback method is now passed
4192	  an array of std::string plus the array length, which allows for more
4193	  efficient merging that the series of pairwise merges which was
4194	  required before.
4195
4196Mon Nov 01 14:47:37 GMT 2010  Richard Boulton <richard@tartarus.org>
4197
4198	* matcher/multimatch.cc,matcher/multixorpostlist.cc,
4199	  matcher/multixorpostlist.h: Add debugging to print out the
4200	  postlist description after recalculation of maxweight, and to
4201	  MultiXorPostList methods.  Fix problem shown by soaktest where
4202	  the matcher was not told to recalculate the maxweight after a
4203	  MultiXorPostList child reached end, which was causing an
4204	  assertion failure in debug builds.  (This could also have been
4205	  causing some performance problems, but I have not measurements.)
4206
4207Mon Nov 01 10:34:30 GMT 2010  Richard Boulton <richard@tartarus.org>
4208
4209	* tests/soaktest/soaktest_queries.cc: Fix compilation: call c_str()
4210	  on argument to atoi, now that util.h no longer defines a string
4211	  wrapper.
4212
4213Sun Oct 31 10:51:12 GMT 2010  Olly Betts <olly@survex.com>
4214
4215	* queryparser/queryparser.lemony: Don't delete this in TermGroup, etc
4216	  until after we have successfully constructed the Query object to
4217	  return to avoid a double free in the Query construction throws an
4218	  exception.  Fixes ticket#515.
4219
4220Fri Oct 29 12:46:15 GMT 2010  Olly Betts <olly@survex.com>
4221
4222	* tests/api_backend.cc: Fix comment typo in previous commit.
4223
4224Fri Oct 29 12:32:47 GMT 2010  Olly Betts <olly@survex.com>
4225
4226	* matcher/multimatch.cc: Empty query now return MSet with firstitem
4227	  set correctly.
4228	* tests/api_backend.cc: Extend msetfirst2 to be a regression test for
4229	  this issue too.
4230
4231Fri Oct 29 12:13:51 GMT 2010  Olly Betts <olly@survex.com>
4232
4233	* api/omenquire.cc: If first is larger than get_doccount() then clamp
4234	  it to avid pointlessly trying to allocate far too much memory.
4235	* tests/api_backend.cc: Regression test msetfirst2.
4236
4237Thu Oct 21 09:38:44 GMT 2010  Richard Boulton <richard@tartarus.org>
4238
4239	* tests/Makefile.am: Add zlib-vg.c to distribution tarballs.
4240
4241Wed Oct 20 11:38:13 GMT 2010  Olly Betts <olly@survex.com>
4242
4243	* examples/delve.cc: Add '-z' option to count zero-length documents.
4244
4245Mon Oct 18 10:35:46 GMT 2010  Olly Betts <olly@survex.com>
4246
4247	* bin/xapian-compact.cc: Add --quiet/-q option to suppress progress
4248	  output.
4249
4250Thu Oct 14 03:51:02 GMT 2010  Olly Betts <olly@survex.com>
4251
4252	* tests/api_unicode.cc: Fix typo in previous change.
4253
4254Thu Oct 14 01:16:31 GMT 2010  Olly Betts <olly@survex.com>
4255
4256	* tests/api_unicode.cc: Expand tested cases to (hopefully) cover all
4257	  conditional combinations in unicode/utf8itor.cc.
4258
4259Mon Oct 11 11:46:30 GMT 2010  Olly Betts <olly@survex.com>
4260
4261	* Makefile.am: Remove xapian-config on "make distclean" rather than
4262	  "make clean", since configure builds it.  Never remove man pages
4263	  under "make clean".
4264
4265Mon Oct 11 11:41:32 GMT 2010  Olly Betts <olly@survex.com>
4266
4267	* tests/Makefile.am: Fix typo - CLEAN_FILES should be CLEANFILES.
4268	  This means that where zlib-vg.so is used, it now gets cleaned up.
4269
4270Sun Oct 10 11:00:31 GMT 2010  Olly Betts <olly@survex.com>
4271
4272	* Makefile.am: Fix so coverage-reconfigure-maintainer-mode adds
4273	  --enable-maintainer-mode rather than coverage-reconfigure!
4274
4275Sun Oct 10 10:45:38 GMT 2010  Olly Betts <olly@survex.com>
4276
4277	* Makefile.am: Factor out COVERAGE_CONFIGURE to make future changes
4278	  easier.
4279
4280Sun Oct 10 09:59:01 GMT 2010  Olly Betts <olly@survex.com>
4281
4282	* Makefile.am: Add coverage-reconfigure-maintainer-mode target which
4283	  is just like coverage-reconfigure except it also passes
4284	  --enable-maintainer-mode.
4285
4286Sun Oct 10 07:29:23 GMT 2010  Olly Betts <olly@survex.com>
4287
4288	* tests/api_nodb.cc: Check Stem("none") too.  Check
4289	  Stem("").get_description().  No need to check a bogus language name
4290	  here as stemlangs2 now does that.
4291
4292Sun Oct 10 07:22:41 GMT 2010  Olly Betts <olly@survex.com>
4293
4294	* tests/api_stem.cc: Test an invalid languages name with each possible
4295	  byte value at the start to improve coverage of the switch in
4296	  api/stem.cc.
4297
4298Sun Oct 10 06:14:42 GMT 2010  Olly Betts <olly@survex.com>
4299
4300	* unicode/utf8itor.cc: Correct comments and use bad_cont() in another
4301	  place (no change to code once inlining is taken into account).
4302
4303Sun Oct 10 06:11:05 GMT 2010  Olly Betts <olly@survex.com>
4304
4305	* tests/api_unicode.cc: Improve test coverage for
4306	  Utf8Iterator::calculate_sequence_length().
4307
4308Sun Oct 10 00:33:49 GMT 2010  Olly Betts <olly@survex.com>
4309
4310	* tests/api_unicode.cc: Tweak testcase utf8iterator2 to add coverage
4311	  for Utf8Iterator(const char *).
4312
4313Fri Oct 08 13:10:08 GMT 2010  Olly Betts <olly@survex.com>
4314
4315	* matcher/selectpostlist.cc,matcher/selectpostlist.h: Implement
4316	  SelectPostList::check() so that check() on OP_NEAR and OP_PHRASE
4317	  subqueries won't end up checking potentially huge numbers of
4318	  documents.
4319
4320Fri Oct 08 12:29:50 GMT 2010  Olly Betts <olly@survex.com>
4321
4322	* tests/api_backend.cc: Add testcase phrase3 to provide coverage for
4323	  SelectPostList::skip_to().
4324
4325Fri Oct 08 10:36:18 GMT 2010  Olly Betts <olly@survex.com>
4326
4327	* matcher/orpostlist.cc,matcher/orpostlist.h: Fix performance
4328	  regression in some cases caused by the introduction of
4329	  OrPostList::check().
4330
4331Thu Oct 07 03:53:11 GMT 2010  Olly Betts <olly@survex.com>
4332
4333	* tests/api_anydb.cc: Clear tout before each iteration in scaleweight1.
4334
4335Wed Oct 06 14:30:34 GMT 2010  Olly Betts <olly@survex.com>
4336
4337	* NEWS: Update from 1.0.22 and ChangeLog.
4338
4339Wed Oct 06 12:39:36 GMT 2010  Olly Betts <olly@survex.com>
4340
4341	* tests/queryparsertest.cc: Add two more testcases for having a phrase
4342	  generator between prefix and term.
4343
4344Wed Oct 06 12:37:32 GMT 2010  Olly Betts <olly@survex.com>
4345
4346	* include/xapian/matchspy.h,include/xapian/postingsource.h: Remove
4347	  "experimental" marker from PostingSource and ValueCountMatchSpy.
4348
4349Wed Oct 06 12:31:01 GMT 2010  Olly Betts <olly@survex.com>
4350
4351	* docs/index.html: Add links to replication and facets documents, and
4352	  fix typo in serialistion document link.
4353
4354Wed Oct 06 12:12:51 GMT 2010  Olly Betts <olly@survex.com>
4355
4356	* docs/Makefile.am,docs/categorisation.rst,docs/facets.rst: Change the
4357	  categorisation document to talk about facets, since that's the
4358	  terminology that seems to be most widely used these days, and
4359	  "categorisation" can also mean automatically assigning categories to
4360	  documents.  Fix up references to features which were removed or
4361	  changed during development.
4362
4363Wed Oct 06 12:11:21 GMT 2010  Olly Betts <olly@survex.com>
4364
4365	* docs/internals.html: Add link to replication protocol.
4366
4367Wed Oct 06 08:36:50 GMT 2010  Olly Betts <olly@survex.com>
4368
4369	* examples/simplesearch.cc: Fix cut and paste error in usage message.
4370
4371Wed Oct 06 00:12:40 GMT 2010  Olly Betts <olly@survex.com>
4372
4373	* api/emptypostlist.cc,matcher/queryoptimiser.cc: In the query
4374	  optimiser, use value range bounds to check for value ranges which
4375	  must be empty.
4376	* tests/api_opvalue.cc: Add testcase valuerange5 to check this
4377	  optimisation actually fires.
4378
4379Tue Oct 05 03:43:02 GMT 2010  Olly Betts <olly@survex.com>
4380
4381	* examples/simplesearch.cc: Fix cut-and-paste error - --version now
4382	  reports simplesearch not simpleexpand.
4383
4384Tue Oct 05 03:41:48 GMT 2010  Olly Betts <olly@survex.com>
4385
4386	* docs/categorisation.rst: Update to use the current ValueCountMatchSpy
4387	  API.
4388
4389Fri Oct 01 09:53:50 GMT 2010  Olly Betts <olly@survex.com>
4390
4391	* configure.ac: Simplify defaulting enable_documentation a little.
4392
4393Fri Oct 01 09:29:03 GMT 2010  Olly Betts <olly@survex.com>
4394
4395	* configure.ac: Default enable_sse to yes to fix build on x86.
4396
4397Fri Oct 01 09:10:34 GMT 2010  Olly Betts <olly@survex.com>
4398
4399	* configure.ac: Fix typo in SSE handling code which stopped it
4400	  defaulting as intended.
4401
4402Fri Oct 01 02:00:49 GMT 2010  Olly Betts <olly@survex.com>
4403
4404	* NEWS: Update from ChangeLog.
4405
4406Fri Oct 01 01:54:41 GMT 2010  Olly Betts <olly@survex.com>
4407
4408	* backends/Makefile.mk,backends/brass/brass_compact.cc,
4409	  backends/byte_length_strings.h,backends/chert/chert_compact.cc,
4410	  backends/flint/flint_compact.cc: Factor out 3 copies of
4411	  ByteLengthPrefixedStringItor and ByteLengthPrefixedStringItorGt into
4412	  their own file.
4413
4414Fri Oct 01 01:28:57 GMT 2010  Olly Betts <olly@survex.com>
4415
4416	* backends/Makefile.mk,backends/brass/brass_compact.cc,
4417	  backends/brass/brass_spelling.cc,backends/chert/chert_compact.cc,
4418	  backends/chert/chert_spelling.cc,backends/flint/flint_compact.cc,
4419	  backends/flint/flint_spelling.cc,
4420	  backends/prefix_compressed_strings.h: Factor out 6 copies of
4421	  PrefixCompressedStringItor and PrefixCompressedStringWriter and 3
4422	  copies of PrefixCompressedStringItorGt into their own file.
4423
4424Thu Sep 30 15:28:49 GMT 2010  Olly Betts <olly@survex.com>
4425
4426	* NEWS: Update from ChangeLog.
4427
4428Thu Sep 30 15:26:52 GMT 2010  Olly Betts <olly@survex.com>
4429
4430	* api/compactor.cc: Need utils.h for stat with a std::string argument.
4431
4432Thu Sep 30 15:23:50 GMT 2010  Olly Betts <olly@survex.com>
4433
4434	* tests/api_compact.cc: Remove unwanted check left over from cut and
4435	  pasting code from a previous testcase.
4436
4437Thu Sep 30 15:21:02 GMT 2010  Olly Betts <olly@survex.com>
4438
4439	* tests/api_compact.cc: Convert compaction tests to use the new API.
4440
4441Thu Sep 30 14:54:27 GMT 2010  Olly Betts <olly@survex.com>
4442
4443	* backends/brass/brass_compact.cc,backends/chert/chert_compact.cc,
4444	  backends/flint/flint_compact.cc: Correct filenames in @file doxygen
4445	  comments.
4446
4447Thu Sep 30 14:46:02 GMT 2010  Olly Betts <olly@survex.com>
4448
4449	* api/compactor.cc: Use the ChertVersion, etc classes to make sure that
4450	  the new database has a new UUID rather than creating a "donor"
4451	  database and then stealing its version/uuid file.
4452
4453Thu Sep 30 14:33:46 GMT 2010  Olly Betts <olly@survex.com>
4454
4455	* api/Makefile.mk,api/compactor.cc,backends/brass/Makefile.mk,
4456	  backends/brass/brass_compact.cc,backends/brass/brass_compact.h,
4457	  backends/chert/Makefile.mk,backends/chert/chert_compact.cc,
4458	  backends/chert/chert_compact.h,backends/flint/Makefile.mk,
4459	  backends/flint/flint_compact.cc,backends/flint/flint_compact.h,bin/,
4460	  include/Makefile.mk,include/xapian.h,include/xapian/compactor.h:
4461	  Convert compaction code into a Xapian::Compactor class, and make
4462	  xapian-compact a simple wrapper around this new class.  (ticket#175)
4463
4464Thu Sep 30 06:16:11 GMT 2010  Olly Betts <olly@survex.com>
4465
4466	* bin/: Eliminate uses of <iostream> in bin/xapian-compact-*.cc.
4467
4468Thu Sep 30 05:44:06 GMT 2010  Olly Betts <olly@survex.com>
4469
4470	* bin/xapian-compact-brass.cc,bin/xapian-compact-chert.cc,
4471	  bin/xapian-compact-flint.cc: Fix indentation of table data
4472	  arrays.
4473
4474Thu Sep 30 05:32:44 GMT 2010  Olly Betts <olly@survex.com>
4475
4476	* bin/xapian-compact-brass.cc,bin/xapian-compact-chert.cc: Only
4477	  skip producing an output table when there are only some inputs
4478	  for the termlist - for spellings and synonyms, we want to produce
4479	  an output in this case.
4480	* tests/api_compact.cc: Add regression test compactmissingtables1.
4481
4482Wed Sep 29 11:13:18 GMT 2010  Olly Betts <olly@survex.com>
4483
4484	* common/document.h: Initialise docid to 0 when creating a document
4485	  from scratch, as documented.
4486	* tests/api_none.cc: Add regression test document2.
4487	* include/xapian/document.h: Document that return value is unreliable
4488	  in this case prior to the next 1.0 and 1.2 releases.
4489
4490Wed Sep 29 07:06:10 GMT 2010  Olly Betts <olly@survex.com>
4491
4492	* configure.ac: FreeBSD and OpenBSD don't need explicit dependency
4493	  libraries, so set link_all_deplibs_CXX=no there.
4494
4495Wed Sep 29 07:04:20 GMT 2010  Olly Betts <olly@survex.com>
4496
4497	* xapian-config.in: Just check @link_all_deplibs_CXX@ which we adjust
4498	  in configure rather than duplicating configure's list of platforms
4499	  where explicit dependencies aren't required.
4500
4501Mon Sep 27 04:28:46 GMT 2010  Olly Betts <olly@survex.com>
4502
4503	* bin/xapian-compact.cc: Convert error messages to stdout/stderr to
4504	  exceptions, in preparation for turning this into an API class.
4505
4506Mon Sep 27 03:50:54 GMT 2010  Olly Betts <olly@survex.com>
4507
4508	* bin/xapian-compact.cc: Add support for compacting to a stub database,
4509	  which can be one of the inputs (for atomic update).
4510	* tests/api_compact.cc: Add testcases compactstub3 and compactstub4 as
4511	  feature tests for this.
4512
4513Mon Sep 27 03:50:00 GMT 2010  Olly Betts <olly@survex.com>
4514
4515	* tests/api_compact.cc: Suppress output from xapian-compact in
4516	  compactstub2 (which I'd disabled for debugging).
4517
4518Sun Sep 26 13:59:20 GMT 2010  Olly Betts <olly@survex.com>
4519
4520	* bin/xapian-compact.cc: Extend to work on stub database files too.
4521	* tests/api_compact.cc: Add feature test compactstub2.
4522
4523Sun Sep 26 13:28:45 GMT 2010  Olly Betts <olly@survex.com>
4524
4525	* bin/xapian-compact.cc: Inputs can now be stub database directories,
4526	  in which case the databases in the stub are used as inputs.
4527	* tests/api_compact.cc: Add feature test compactstub1.
4528
4529Sun Sep 26 11:11:49 GMT 2010  Olly Betts <olly@survex.com>
4530
4531	* xapian-config.in: Add --static option which makes other options
4532	  report values for static linking.
4533
4534Tue Sep 21 10:43:17 GMT 2010  Olly Betts <olly@survex.com>
4535
4536	* queryparser/queryparser.lemony,tests/queryparsertest.cc: Allow phrase
4537	  generators between a probabilistic prefix and the term itself.
4538
4539Thu Sep 09 11:18:47 GMT 2010  Olly Betts <olly@survex.com>
4540
4541	* INSTALL: Raise recommended GCC version from 3.3 to 4.1, since that's
4542	  the oldest we regularly test with.
4543
4544Thu Sep 09 11:14:03 GMT 2010  Olly Betts <olly@survex.com>
4545
4546	* HACKING: Debian etch was discontinued 6 months ago, so it's no longer
4547	  useful to document packages for developing Xapian on it.
4548
4549Thu Sep 09 03:15:00 GMT 2010  Olly Betts <olly@survex.com>
4550
4551	* docs/deprecation.rst: Actually write down our guidelines for
4552	  supporting other software.
4553
4554Thu Sep 09 00:20:16 GMT 2010  Olly Betts <olly@survex.com>
4555
4556	* docs/replication.rst: Adjust text to reflect conclusions about the
4557	  issues in ticket#434.
4558
4559Thu Sep 09 00:10:03 GMT 2010  Olly Betts <olly@survex.com>
4560
4561	* docs/replication.rst: Don't suggest using a symlink to switch between
4562	  databases - a stub database is much better.
4563
4564Thu Sep 09 00:07:02 GMT 2010  Olly Betts <olly@survex.com>
4565
4566	* docs/replication.rst: Assume xapian tools are installed on PATH not
4567	  in the current directory for example commands.
4568
4569Thu Sep 09 00:05:22 GMT 2010  Olly Betts <olly@survex.com>
4570
4571	* docs/replication.rst: Fix a typo.
4572
4573Mon Sep 06 07:10:02 GMT 2010  Olly Betts <olly@survex.com>
4574
4575	* configure.ac: Add support for --enable-sse=sse and --enable-sse=sse2
4576	  to allow control of which SSE instructions to use.
4577
4578Fri Sep 03 13:08:53 GMT 2010  Richard Boulton <richard@tartarus.org>
4579
4580	* bin/xapian-replicate.cc: If a fullcopy was attempted, but was not
4581	  put live, display an explanatory message (if verbose is true).
4582
4583Fri Sep 03 05:54:09 GMT 2010  Olly Betts <olly@survex.com>
4584
4585	* backends/chert/chert_modifiedpostlist.h,
4586	  backends/flint/flint_modifiedpostlist.h,tests/: Fixes required to
4587	  build on OpenBSD 4.5 with GCC 3.3.5.
4588
4589Tue Aug 31 14:37:44 GMT 2010  Olly Betts <olly@survex.com>
4590
4591	* include/xapian/queryparser.h: Document cases where FLAG_WILDCARD and
4592	  FLAG_PARTIAL aren't currently supported.
4593
4594Mon Aug 30 06:27:46 GMT 2010  Olly Betts <olly@survex.com>
4595
4596	* configure.ac: Actaully make autoconf 2.64 a hard minimum requirement
4597	  (as HACKING already documented).
4598	* HACKING,NEWS,configure.ac: autoconf 2.67 is now used to bootstrap.
4599
4600Mon Aug 30 06:26:03 GMT 2010  Olly Betts <olly@survex.com>
4601
4602	* NEWS: Update from ChangeLog.
4603
4604Mon Aug 30 06:04:13 GMT 2010  Olly Betts <olly@survex.com>
4605
4606	* configure.ac: Enable use of SSE maths on x86 by default with Sun's
4607	  compiler.
4608
4609Sat Aug 28 16:04:45 GMT 2010  Olly Betts <olly@survex.com>
4610
4611	* api/omdatabase.cc,include/xapian/queryparser.h,
4612	  tests/harness/backendmanager.h: None of the workarounds we have
4613	  which are conditional on __SUNPRO_CC are needed with Sun C++
4614	  version 5.8, so only enable them for older versions (which will
4615	  mean we can drop these workarounds with confidence once older
4616	  versions are dropped by Sun/Oracle, or once we can find out that
4617	  they have been - currently all I've managed to discover is that
4618	  version 5.0 reached "end of service life" in 6/2006).
4619
4620Sat Aug 28 15:33:14 GMT 2010  Olly Betts <olly@survex.com>
4621
4622	* configure.ac,tests/api_replicate.cc: Solaris < 10 doesn't have
4623	  setenv() so we have to use putenv() there.  And the value we set
4624	  XAPIAN_MAX_CHANGESETS to is always constant currently, so set it
4625	  using constant strings generated by a macro.
4626
4627Sat Aug 28 12:35:25 GMT 2010  Olly Betts <olly@survex.com>
4628
4629	* configure.ac: Beef up the test for whether -lm is required and add
4630	  a special case to force it to be for Sun's C++ compiler - there's
4631	  some interaction with libtool and/or shared objects which means
4632	  that the configure test doesn't think -lm is needed here when it
4633	  is.
4634
4635Sat Aug 28 10:59:11 GMT 2010  Olly Betts <olly@survex.com>
4636
4637	* api/matchspy.cc,common/const_database_wrapper.cc,net/tcpclient.cc,
4638	  tests/api_replicate.cc,tests/harness/backendmanager_remotetcp.cc,
4639	  tests/harness/testsuite.cc,tests/perftest/runprocess.cc,
4640	  unicode/utf8itor.cc: Fix to compile with Sun C++.
4641
4642Sat Aug 28 10:30:08 GMT 2010  Olly Betts <olly@survex.com>
4643
4644	* HACKING,PLATFORMS: Move PLATFORMS information to the wiki and replace
4645	  with a pointer.
4646
4647Sat Aug 28 03:15:47 GMT 2010  Olly Betts <olly@survex.com>
4648
4649	* matcher/queryoptimiser.cc: Need to avoid excess precision on m68k
4650	  when targetting models 68010, 68020, 68030 as well as 68000.
4651
4652Tue Aug 24 05:54:27 GMT 2010  Olly Betts <olly@survex.com>
4653
4654	* configure.ac: Update for 1.2.3.
4655
4656Tue Aug 24 05:52:47 GMT 2010  Olly Betts <olly@survex.com>
4657
4658	* NEWS: Update from ChangeLog.
4659
4660Mon Aug 16 16:46:19 GMT 2010  Olly Betts <olly@survex.com>
4661
4662	* common/closefrom.cc: Use /dev/fd on Mac OS X.
4663
4664Mon Aug 16 16:18:26 GMT 2010  Olly Betts <olly@survex.com>
4665
4666	* common/closefrom.cc: Need safeerrno.h and safeunistd.h on non-Linux
4667	  platforms too.
4668
4669Mon Aug 16 15:47:48 GMT 2010  Olly Betts <olly@survex.com>
4670
4671	* backends/flint_lock.cc,common/Makefile.mk,common/closefrom.cc,
4672	  common/closefrom.h,configure.ac,net/progclient.cc: Use closefrom()
4673	  if available, otherwise provide our own implementation (optimised
4674	  to some extent for many platforms).
4675
4676Sun Aug 15 12:43:04 GMT 2010  Olly Betts <olly@survex.com>
4677
4678	* AUTHORS: Update.
4679
4680Sun Aug 15 12:11:26 GMT 2010  Olly Betts <olly@survex.com>
4681
4682	* xapian-core.spec.in: Update BuildRequires to specify libuuid-devel
4683	  instead of e2fsprogs-devel.
4684
4685Sun Aug 15 11:30:05 GMT 2010  Olly Betts <olly@survex.com>
4686
4687	* HACKING,INSTALL,common/safeuuid.h,common/win32_uuid.cc,
4688	  common/win32_uuid.h,configure.ac: libuuid moved from e2fsprogs to
4689	  util-linux-ng about a year ago, so update documentation, comments,
4690	  and configure error messages to reflect this.  Issue reported by
4691	  David Jeske on xapian-devel list.
4692
4693Sun Aug 15 07:58:51 GMT 2010  Olly Betts <olly@survex.com>
4694
4695	* tests/harness/backendmanager_remotetcp.cc: Under __WIN32__, we need
4696	  <io.h> for _open_osfhandle() (ticket#495).
4697
4698Sun Aug 15 07:10:25 GMT 2010  Olly Betts <olly@survex.com>
4699
4700	* common/realtime.h: MSVC doesn't cope with a prototype at function
4701	  scope with a global namespace qualification (ticket#495).
4702
4703Wed Aug 04 10:44:08 GMT 2010  Olly Betts <olly@survex.com>
4704
4705	* backends/flint_lock.cc,backends/multi/multi_alltermslist.cc,
4706	  bin/xapian-chert-update.cc,queryparser/termgenerator.cc,
4707	  queryparser/termgenerator_internal.cc: Fix more incorrect @file
4708	  directives.
4709
4710Wed Aug 04 09:19:10 GMT 2010  Olly Betts <olly@survex.com>
4711
4712	* matcher/localsubmatch.h,queryparser/termgenerator_internal.h: Fix
4713	  incorrect @file doxygen directives.
4714
4715Tue Aug 03 14:42:56 GMT 2010  Olly Betts <olly@survex.com>
4716
4717	* tests/harness/fdtracker.h: Fix filename in @file.
4718
4719Tue Aug 03 14:32:45 GMT 2010  Olly Betts <olly@survex.com>
4720
4721	* common/contiguousalldocspostlist.h,common/unaligned.h: Fix include
4722	  guards to match header filename (cosmetic issues only).
4723
4724Mon Aug 02 12:38:59 GMT 2010  Olly Betts <olly@survex.com>
4725
4726	* backends/brass/brass_table.cc,backends/brass/brass_values.cc,
4727	  backends/chert/chert_table.cc,backends/chert/chert_values.cc,
4728	  backends/flint/flint_alldocspostlist.cc,
4729	  backends/remote/remote-document.cc,matcher/multimatch.cc,
4730	  matcher/remotesubmatch.cc,net/progclient.cc: Use new Literal()
4731	  feature in debug logging of function calls.
4732
4733Mon Aug 02 12:08:42 GMT 2010  Olly Betts <olly@survex.com>
4734
4735	* common/pretty.h: Add Literal() class to allow bypassing the pretty
4736	  printer for interspersing literal strings.
4737
4738Sun Aug 01 10:19:38 GMT 2010  Olly Betts <olly@survex.com>
4739
4740	* api/omdatabase.cc: Database::get_spelling_suggestion() will now
4741	  suggest a correction even if the passed word is in the dictionary,
4742	  provided the correction has at least the same frequency.  Partly
4743	  addresses #225.
4744	* queryparser/queryparser.lemony: Check spelling even if term is in
4745	  the database.
4746	* docs/spelling.rst: Update to reflect these changes.
4747	* tests/api_spelling.cc,tests/queryparsertest.cc: Add test coverage for
4748	  these changes.
4749
4750Tue Jul 27 15:24:56 GMT 2010  Tim Brody <tdb2@ecs.soton.ac.uk>
4751
4752	* xapian-core.spec.in: Add xapian-metadata and cmake related files to
4753	  RPM packaging.
4754
4755Thu Jul 22 07:13:12 GMT 2010  Olly Betts <olly@survex.com>
4756
4757	* net/remoteconnection.cc: Wrap line.
4758
4759Thu Jul 22 07:11:23 GMT 2010  Olly Betts <olly@survex.com>
4760
4761	* common/remoteserver.h,net/remoteserver.cc: Pass 1.0 for the end time
4762	  when relaying a NetworkTimeoutError, not RealTime::now() - any time
4763	  in the past will do, we just want the operation to time out if it
4764	  would block.  Removed related FIXME which is already resolved.
4765
4766Wed Jul 21 18:00:08 GMT 2010  Olly Betts <olly@survex.com>
4767
4768	* unicode/tclUniData.cc: Fix comment - this is Unicode 5.2 data, not
4769	  5.1.
4770
4771Thu Jul 15 13:45:05 GMT 2010  Olly Betts <olly@survex.com>
4772
4773	* common/realtime.h:Explicitly specify global namespace for
4774	  xapian_sleep_milliseconds prototype as MSVC seems to need this.
4775
4776Thu Jul 15 13:03:13 GMT 2010  Olly Betts <olly@survex.com>
4777
4778	* queryparser/queryparser.lemony: Fix handling of groups of terms which
4779	  are all stopwords - in situations where this causes a problem we now
4780	  disable stopword checks for such groups.  (ticket#245)
4781	* tests/queryparsertest.cc: Add regression testcases.
4782
4783Thu Jul 15 08:13:03 GMT 2010  Olly Betts <olly@survex.com>
4784
4785	* common/fileutils.cc: Fix reversed memcmp() test.
4786
4787Sun Jul 11 14:59:06 GMT 2010  Olly Betts <olly@survex.com>
4788
4789	* common/fileutils.cc: Factor out UNCW path check into a helper
4790	  function.
4791
4792Sun Jul 11 14:56:27 GMT 2010  Olly Betts <olly@survex.com>
4793
4794	* common/fileutils.cc,tests/Makefile.am,tests/unittest.cc: Move the
4795	  tests of resolve_relative_path() into a new "unittest" program so
4796	  they actually are run by "make check".  (ticket#243)
4797
4798Sun Jul 11 13:14:24 GMT 2010  Olly Betts <olly@survex.com>
4799
4800	* common/fileutils.cc: Support the \\?\ path syntax.
4801
4802Sat Jul 10 15:49:08 GMT 2010  Olly Betts <olly@survex.com>
4803
4804	* common/fileutils.cc,common/fileutils.h: Fix resolve_relative_path()
4805	  to handle UNC paths.
4806
4807Sat Jul 10 15:27:48 GMT 2010  Olly Betts <olly@survex.com>
4808
4809	* common/fileutils.cc: -D__WIN32__ on the g++ command line works for
4810	  testing on Linux, so no need to have that in the code.  Add a couple
4811	  of UNC path test cases which pass, and a commented-out one which
4812	  fails.
4813
4814Sat Jul 10 14:58:35 GMT 2010  Olly Betts <olly@survex.com>
4815
4816	* common/fileutils.cc,common/fileutils.h: We use these routines to
4817	  resolve a relative path (in a stub database file) in terms of a
4818	  second path (the filename of that file), so just instead a
4819	  routine to do exactly that, which is easier to code and more
4820	  efficient.  The new implementation fixes several bugs with
4821	  Microsoft Windows paths.  Some testcases (currently not used)
4822	  are now present in fileutils.cc (ticket#243).
4823	* backends/dbfactory.cc: Use the new API.
4824
4825Fri Jul 09 07:42:31 GMT 2010  Olly Betts <olly@survex.com>
4826
4827	* tests/perftest/perftest.cc: I missed a use of atoi() on std::string
4828	  but just call .cstr() on the string instead of dragging in utils.h.
4829
4830Fri Jul 09 04:39:40 GMT 2010  Olly Betts <olly@survex.com>
4831
4832	* common/utils.cc,common/utils.h: Remove unused std::string to const
4833	  char * wrappers for standard functions, and remove the only use of
4834	  rmdir()'s wrapper.
4835
4836Thu Jul 08 15:18:04 GMT 2010  Olly Betts <olly@survex.com>
4837
4838	* api/omenquire.cc: Xapian::ESet is a reference counted handle, so it
4839	  is efficient to return by value - remove FIXME which suggests we
4840	  should avoid doing so.
4841
4842Thu Jul 08 15:17:20 GMT 2010  Olly Betts <olly@survex.com>
4843
4844	* api/omqueryinternal.cc: Update FIXMEs - it's too late to fix stuff
4845	  in 1.1.x!
4846
4847Thu Jul 08 15:13:47 GMT 2010  Olly Betts <olly@survex.com>
4848
4849	* api/omenquire.cc: Remove FIXMEs about debug logging which have been
4850	  addressed by the fairly recent debug logging improvements.
4851
4852Thu Jul 08 15:07:07 GMT 2010  Olly Betts <olly@survex.com>
4853
4854	* api/keymaker.cc: Fix comment typos.
4855
4856Thu Jul 08 14:50:59 GMT 2010  Olly Betts <olly@survex.com>
4857
4858	* api/replication.cc,backends/brass/,backends/chert/,
4859	  backends/dbfactory_remote.cc,backends/flint/,
4860	  backends/remote/remote-database.cc,bin/xapian-progsrv.cc,
4861	  bin/xapian-tcpsrv.cc,common/,net/,tests/perftest/perftest.cc,
4862	  tests/perftest/perftest.h: Replace use of OmTime with a double
4863	  holding a count in seconds since the epoch.
4864
4865Thu Jul 08 12:35:40 GMT 2010  Olly Betts <olly@survex.com>
4866
4867	* net/tcpclient.cc: Retry select() if it fails with EINTR while waiting
4868	  for connect(), and discriminate cases with same failure message to
4869	  aid debugging.
4870
4871Thu Jul 08 05:09:18 GMT 2010  Olly Betts <olly@survex.com>
4872
4873	* queryparser/queryparser.lemony: Remove comment left over from the
4874	  "boolean exclusive" work.
4875
4876Wed Jul 07 13:18:17 GMT 2010  Olly Betts <olly@survex.com>
4877
4878	* include/xapian/types.h: Fix documentation comment for Xapian::timeout
4879	  type - it holds a time interval in milliseconds not microseconds
4880	  (the API docs for the methods which use it explicitly document this
4881	  correctly).
4882
4883Tue Jul 06 15:17:09 GMT 2010  Olly Betts <olly@survex.com>
4884
4885	* tests/queryparsertest.cc: Fix formatting.
4886
4887Tue Jul 06 14:13:03 GMT 2010  Olly Betts <olly@survex.com>
4888
4889	* tests/perftest/perftest.cc: Use str(OmTime::as_double()) rather than
4890	  trying to assemble a string of a floating point number from strings
4891	  of the sec and usec values.
4892
4893Tue Jul 06 14:03:30 GMT 2010  Olly Betts <olly@survex.com>
4894
4895	* common/debuglog.h,common/remote-database.h: Remove unused '#include
4896	  "omtime.h"'.
4897	* backends/remote/remote-database.cc: Add explicit '#include
4898	  "omtime.h"'.
4899
4900Mon Jul 05 11:40:42 GMT 2010  Olly Betts <olly@survex.com>
4901
4902	* queryparser/queryparser.lemony: Restore iterator to start of
4903	  where we tried to parse a range if we decide it might be a filter
4904	  term instead.  Clear the error if we decide it is a filter.
4905	* tests/queryparsertest.cc: Fix expected test output from
4906	  qp_value_range4 testcase.
4907
4908Mon Jul 05 06:46:16 GMT 2010  Olly Betts <olly@survex.com>
4909
4910	* queryparser/queryparser.lemony: Fix to be smarter about handling a
4911	  boolean filter term containing ".." in the presence of
4912	  valuerangeprocessors.
4913	* tests/queryparsertest.cc: Add regression test qp_value_range4.
4914
4915Mon Jul 05 04:10:08 GMT 2010  Olly Betts <olly@survex.com>
4916
4917	* queryparser/queryparser.lemony,queryparser/queryparser.lt: Clean up
4918	  how value ranges are handled to do the checking of the range in the
4919	  lexer, which then passes a single token (RANGE) to the parser
4920	  (instead of a RANGE_START token which is always followed by a
4921	  RANGE_END token).
4922
4923Fri Jul 02 12:32:37 GMT 2010  Olly Betts <olly@survex.com>
4924
4925	* configure.ac: Don't pass -mtune=generic unless GCC >= 4.2 is in use
4926	  (ticket#492).
4927
4928Wed Jun 30 10:54:15 GMT 2010  Olly Betts <olly@survex.com>
4929
4930	* backends/brass/brass_postlist.cc: Remove unnecessary NULL check.
4931	  Identified by Coverity's Scan.
4932	* backends/chert/chert_postlist.cc: Same change for chert.
4933
4934Tue Jun 29 12:17:16 GMT 2010  Olly Betts <olly@survex.com>
4935
4936	* backends/brass/brass_chunkedlisttable.h,
4937	  backends/chert/chert_chunkedlisttable.h: Remove unused files.
4938
4939Sun Jun 27 04:31:06 GMT 2010  Olly Betts <olly@survex.com>
4940
4941	* NEWS: Update for 1.2.2.
4942
4943Sun Jun 27 04:22:28 GMT 2010  Olly Betts <olly@survex.com>
4944
4945	* examples/delve.cc: Show the database's UUID.
4946
4947Sun Jun 27 03:30:16 GMT 2010  Olly Betts <olly@survex.com>
4948
4949	* NEWS.SKELETON: Add "tools" section.
4950
4951Sun Jun 27 03:03:57 GMT 2010  Olly Betts <olly@survex.com>
4952
4953	* configure.ac: Update for 1.2.2.
4954
4955Sat Jun 26 15:55:45 GMT 2010  Olly Betts <olly@survex.com>
4956
4957	* NEWS: Create from ChangeLog.
4958
4959Sat Jun 26 15:36:37 GMT 2010  Olly Betts <olly@survex.com>
4960
4961	* NEWS.SKELETON: Add template for NEWS entry.
4962
4963Sat Jun 26 11:09:03 GMT 2010  Olly Betts <olly@survex.com>
4964
4965	* backends/brass/brass_table.cc: Sync the table right after the base
4966	  file, which allows more time for the table changes to be written,
4967	  and doing the sync together may be more efficient with some Linux
4968	  kernel versions.
4969	* backends/chert/chert_table.cc: Same change for chert.
4970
4971Sat Jun 26 06:46:39 GMT 2010  Olly Betts <olly@survex.com>
4972
4973	* HACKING: Reorder the release checklist.
4974
4975Thu Jun 24 08:03:18 GMT 2010  Olly Betts <olly@survex.com>
4976
4977	  bin/xapian-check.cc: Don't try to check doclengths are consistent
4978	  between the postlist and termlist tables if it would use more than
4979	  1GB of memory, and handle std::bad_alloc or std::length_error.  This
4980	  issue affects sup users, as sup allocates docids such that they are
4981	  sparse and large docids can easily occur.
4982
4983Wed Jun 23 15:38:25 GMT 2010  Olly Betts <olly@survex.com>
4984
4985	* include/xapian/weight.h: Revert Xapian::Weight's copy ctor back
4986	  to protected as GCC 4.1 fails to compile subclasses when it is
4987	  private (this appears to be a compiler bug).
4988
4989Wed Jun 23 07:31:19 GMT 2010  Olly Betts <olly@survex.com>
4990
4991	* AUTHORS: Thank people who reported bugs fixed in 1.2.1.
4992
4993Wed Jun 23 06:52:54 GMT 2010  Olly Betts <olly@survex.com>
4994
4995	* xapian-core.spec.in: Update for 1.2.x - add e2fsprogs-devel to
4996	  BuildRequires and add new files.
4997
4998Wed Jun 23 05:00:34 GMT 2010  Olly Betts <olly@survex.com>
4999
5000	* HACKING: Wording tweak.
5001
5002Wed Jun 23 04:11:30 GMT 2010  Olly Betts <olly@survex.com>
5003
5004	* tests/harness/testsuite.cc: Need <cstdio> for sprintf().  Fixes
5005	  compilation error for some platforms and/or compilers (my guess would
5006	  be GCC 4.5 - it builds OK with GCC 4.4).  (ticket#489)
5007
5008Tue Jun 22 14:45:37 GMT 2010  Olly Betts <olly@survex.com>
5009
5010	* NEWS,configure.ac: Update for 1.2.1.
5011
5012Mon Jun 21 16:00:22 GMT 2010  Olly Betts <olly@survex.com>
5013
5014	* NEWS: Sync with 1.0.21 and update from ChangeLog.
5015
5016Mon Jun 21 15:15:50 GMT 2010  Olly Betts <olly@survex.com>
5017
5018	* tests/api_replicate.cc: Unix putenv() requires the buffer passed to
5019	  remain valid, as it stores it directly in the environment.  It's
5020	  unclear from MSDN if _putenv() does the same, but _putenv_s() must
5021	  allocate a copy since it needs to have an '=' in, so use that
5022	  instead.  It also has an interface much like setenv(), so the code
5023	  looks more similar.
5024
5025Mon Jun 21 06:07:42 GMT 2010  Olly Betts <olly@survex.com>
5026
5027	* queryparser/queryparser.cc: Add missing const.
5028
5029Mon Jun 21 05:21:32 GMT 2010  Olly Betts <olly@survex.com>
5030
5031	* queryparser/queryparser.cc: Update to match header ABI fix.
5032
5033Mon Jun 21 03:52:41 GMT 2010  Olly Betts <olly@survex.com>
5034
5035	* include/xapian/queryparser.h: QueryParser::add_boolean_prefix() now
5036	  uses two overloaded forms instead of a default parameter so that we
5037	  don't break the ABI.
5038
5039Fri Jun 18 16:56:59 GMT 2010  Olly Betts <olly@survex.com>
5040
5041	* AUTHORS: Add 1.0.21 bug reporters.
5042
5043Fri Jun 18 05:52:00 GMT 2010  Olly Betts <olly@survex.com>
5044
5045	* include/xapian/queryparser.h,queryparser/queryparser.cc,
5046	  queryparser/queryparser.lemony,queryparser/queryparser_internal.h:
5047	  Add new optional parameter to QueryParser::add_boolean_prefix() to
5048	  allow the user to indicate a prefix isn't "exclusive" and that
5049	  OP_AND should be used to combine multiple instances.  Fixes
5050	  ticket#402.  This change should also improve efficiency as it
5051	  avoids copying the lists of prefixes and compares them more
5052	  efficiently.
5053
5054Fri Jun 18 02:51:11 GMT 2010  Olly Betts <olly@survex.com>
5055
5056	* include/xapian/queryparser.h: Fix doccomment typo.
5057
5058Thu Jun 17 14:04:35 GMT 2010  Olly Betts <olly@survex.com>
5059
5060	* include/xapian/weight.h: Xapian::Weight's copy ctor is now
5061	  private rather than protected.  This is an API and ABI compatible
5062	  change since there's no definition so a subclass which tried to
5063	  access it before would fail to link.
5064
5065Thu Jun 17 13:00:47 GMT 2010  Olly Betts <olly@survex.com>
5066
5067	* queryparser/queryparser.lemony: Missing changes from previous commit.
5068
5069Thu Jun 17 11:37:30 GMT 2010  Olly Betts <olly@survex.com>
5070
5071	* api/valuerangeproc.cc: Add support for open-ended ranges
5072	  (ticket#480).
5073	* docs/queryparser.html,docs/valueranges.rst: Document.
5074	* tests/queryparsertest.cc: Add feature tests.
5075
5076Thu Jun 17 06:15:24 GMT 2010  Olly Betts <olly@survex.com>
5077
5078	* queryparser/queryparser.lemony: Switch out of IN_GROUP mode when we
5079	  emit a WILDCARD.  Fixeds bug#484.
5080	* tests/queryparsertest.cc: Add regression testcase to wildcard1.
5081
5082Thu Jun 17 02:42:16 GMT 2010  Olly Betts <olly@survex.com>
5083
5084	* tests/api_backend.cc: Rename failedadd1 to failedreplace1 as it's the
5085	  replace which fails really.  Add failedreplace2 which adds explicit
5086	  coverage for the case of a failed replace when the database isn't
5087	  empty to start with.
5088
5089Tue Jun 15 12:45:36 GMT 2010  Olly Betts <olly@survex.com>
5090
5091	* include/xapian/queryparser.h: Note in the description of
5092	  set_database() what the database is used for.
5093
5094Tue Jun 15 12:26:12 GMT 2010  Olly Betts <olly@survex.com>
5095
5096	* include/xapian/queryparser.h: Fix formatting of bullet list.
5097
5098Mon Jun 14 17:02:10 GMT 2010  Olly Betts <olly@survex.com>
5099
5100	* backends/brass/brass_table.cc,backends/chert/chert_table.cc,
5101	  backends/flint/flint_table.cc: cancel() now marks the Btree as
5102	  unmodified.
5103	* tests/api_backend.cc: Add regression test failedadd1.
5104
5105Sun Jun 13 16:07:49 GMT 2010  Olly Betts <olly@survex.com>
5106
5107	* common/Makefile.mk,common/safeuuid.h,configure.ac: Fix mingw build to
5108	  use __WIN32__ UUID API.
5109
5110Sun Jun 13 12:25:24 GMT 2010  Olly Betts <olly@survex.com>
5111
5112	* tests/perftest/freemem.cc: Fix whitespace to match Omega's version.
5113
5114Sun Jun 13 11:52:24 GMT 2010  Olly Betts <olly@survex.com>
5115
5116	* tests/perftest/freemem.cc: Merge in changes from omega's version.
5117	  Clean up whitespace issues.  Put the __WIN32__ case last, as we
5118	  tend to elsewhere (since most people reading the code probably
5119	  want to see the other version).
5120
5121Sun Jun 13 11:32:30 GMT 2010  Olly Betts <olly@survex.com>
5122
5123	* tests/perftest/perftest.cc: "MSWin32" isn't the OS name.  Also,
5124	  prefer += to build up a string.
5125
5126Sat Jun 12 09:31:28 GMT 2010  Olly Betts <olly@survex.com>
5127
5128	* tests/api_percentages.cc: Note that 1.0.x returned 4% for the top hit
5129	  in topercent5, so checking it gets at least 50% is a regression test
5130	  for that issue.
5131
5132Fri Jun 11 15:38:26 GMT 2010  Olly Betts <olly@survex.com>
5133
5134	* configure.ac: -march=pentium4 doesn't seem to give a measurable
5135	  speed-up or size reduction (from Richard's tests) and it carries a
5136	  small risk of introducing instructions which don't work on some
5137	  obscure CPU which implements SSE2, so drop it.
5138
5139Fri Jun 11 15:25:16 GMT 2010  Olly Betts <olly@survex.com>
5140
5141	* weight/bm25weight.cc: Stop forcing the wdf_max value to be at least
5142	  one in BM25Weight::get_maxpart() - this is no longer needed now we
5143	  calculate percentages based on the number of matching subqueries, and
5144	  it is more natural for a non-existent term to get zero weight (ditto
5145	  for a term which always has wdf = 0.
5146	* tests/api_anydb.cc: Change qterminfo1 to check that a non-existent
5147	  term gets zero weight (previously we checked that it got a non-zero
5148	  weight, but really we want to ensure that it contributes to
5149	  percentage calculations, which new test topercent5 now does).
5150
5151Fri Jun 11 15:19:29 GMT 2010  Olly Betts <olly@survex.com>
5152
5153	* tests/api_percentages.cc: Add topercent5 testcase which checks that
5154	  an OR search including an non-existent term doesn't get 100%, and
5155	  that the non-existent term doesn't score more than terms which do
5156	  exist.
5157
5158Fri Jun 11 14:15:07 GMT 2010  Olly Betts <olly@survex.com>
5159
5160	* matcher/queryoptimiser.cc: When using SSE FP instructions on x86 we
5161	  can disable the use of volatile since there are no excess precision
5162	  issues to work around.
5163
5164Fri Jun 11 08:21:04 GMT 2010  Olly Betts <olly@survex.com>
5165
5166	* configure.ac: Put SSE flags in AM_CXXFLAGS not CXXFLAGS.
5167
5168Fri Jun 11 07:08:01 GMT 2010  Olly Betts <olly@survex.com>
5169
5170	* configure.ac: Default to building with SSE FP instructions for x86.
5171	  This avoids issues with excess precision and it a bit faster too.
5172	  Should fix ticket#487.
5173
5174Thu Jun 10 15:15:33 GMT 2010  Olly Betts <olly@survex.com>
5175
5176	* NEWS: Update from ChangeLog.
5177
5178Thu Jun 10 15:00:12 GMT 2010  Olly Betts <olly@survex.com>
5179
5180	* HACKING: Capitalise "Fedora".
5181
5182Thu Jun 10 11:27:18 GMT 2010  Olly Betts <olly@survex.com>
5183
5184	* INSTALL: Reword UUID section - list platforms where we make use of
5185	  built-in APIs first, give the URL for e2fsprogs home page, and
5186	  give the package name for Debian and Ubuntu.
5187
5188Thu Jun 10 01:08:21 GMT 2010  Olly Betts <olly@survex.com>
5189
5190	* HACKING: libtool 2.2.10 used for snapshots and releases now.
5191
5192Thu Jun 10 00:21:49 GMT 2010  Olly Betts <olly@survex.com>
5193
5194	* configure.ac,include/xapian/version_h.cc,
5195	  include/xapian/visibility.h: We do need to have the visibility
5196	  annotations on for code compiling against the library, so substitute
5197	  the probed value of XAPIAN_ENABLE_VISIBILITY into <xapian/version.h>
5198	  so it is available.
5199
5200Wed Jun 09 11:31:14 GMT 2010  Olly Betts <olly@survex.com>
5201
5202	* INSTALL,configure.ac,include/xapian/visibility.h: Control use of
5203	  GCC's visibility support with defined(XAPIAN_ENABLE_VISIBILITY)
5204	  instead of !defined(XAPIAN_DISABLE_VISIBILITY), so it is only used
5205	  when building the library, not when building code which uses it.
5206	  Add check to configure that GCC actually supports visibility for
5207	  the platform being built for, which fixes compiler warnings with
5208	  platforms which don't (such as Mac OS X and mingw).
5209
5210Wed Jun 09 11:17:58 GMT 2010  Olly Betts <olly@survex.com>
5211
5212	* HACKING: "private", etc as "access specifiers", not "visibility
5213	  specifiers".
5214
5215Wed Jun 09 11:04:55 GMT 2010  Olly Betts <olly@survex.com>
5216
5217	* HACKING: Note flex and bison needed to build doxygen.
5218
5219Wed Jun 09 05:25:10 GMT 2010  Olly Betts <olly@survex.com>
5220
5221	* common/win32_uuid.cc: Fix signed/unsigned comparison warning on
5222	  mingw.
5223
5224Tue Jun 08 16:56:26 GMT 2010  Olly Betts <olly@survex.com>
5225
5226	* common/safewinsock2.h: Reword #error to avoid single quote which
5227	  gives compilation warning with some GCC 4.2.1 on mingw.
5228
5229Tue Jun 08 14:32:28 GMT 2010  Olly Betts <olly@survex.com>
5230
5231	* backends/brass/brass_check.h,backends/chert/chert_check.h,
5232	  backends/flint/flint_check.h: Remove mutable from std::ostream &
5233	  member - mutable doesn't make sense for a reference.
5234
5235Tue Jun 08 13:03:56 GMT 2010  Olly Betts <olly@survex.com>
5236
5237	* common/,matcher/,weight/weightinternal.cc: Replace the still rather
5238	  contorted mechanism for accumulating rel termfreqs for local
5239	  databases with a simpler mechanism which is more efficient in both
5240	  space and time.
5241
5242Mon Jun 07 16:31:24 GMT 2010  Olly Betts <olly@survex.com>
5243
5244	* api/maptermlist.h,api/matchspy.cc,api/termlist.cc,backends/brass/,
5245	  backends/chert/,backends/flint/,
5246	  backends/inmemory/inmemory_database.cc,
5247	  backends/inmemory/inmemory_database.h,
5248	  backends/multi/multi_termlist.cc,backends/multi/multi_termlist.h,
5249	  backends/remote/net_termlist.cc,backends/remote/net_termlist.h,
5250	  common/ortermlist.h,common/termlist.h,expand/ortermlist.cc: Remove
5251	  default OrTermList::skip_to() implementation and implement skip_to()
5252	  in each class instead, as this allows a slightly more efficient
5253	  implementation, and also avoids problems with calling skip_to() as
5254	  the first operation for the many subclasses which have a "started"
5255	  flag, which OrTermList::skip_to() won't set.
5256
5257Mon Jun 07 06:08:53 GMT 2010  Olly Betts <olly@survex.com>
5258
5259	* queryparser/queryparser.lemony: Rename TermList class to Terms to
5260	  avoid confusion with the TermList typedef used elsewhere.  Add
5261	  documentation comments for Terms and TermGroup classes.
5262
5263Mon Jun 07 02:18:05 GMT 2010  Olly Betts <olly@survex.com>
5264
5265	* backends/brass/: Switch to using io_utils instead of brass_io.
5266
5267Mon Jun 07 02:16:30 GMT 2010  Olly Betts <olly@survex.com>
5268
5269	* AUTHORS: Add Arvid Ephraim Picciani for help fixing bootstrap for
5270	  BusyBox sha1sum.
5271
5272Mon Jun 07 01:16:57 GMT 2010  Olly Betts <olly@survex.com>
5273
5274	* common/io_utils.cc: Whitespace tweak.
5275
5276Mon Jun 07 00:58:26 GMT 2010  Olly Betts <olly@survex.com>
5277
5278	* common/io_utils.h: Fix header guard macro name to follow convention.
5279
5280Sun Jun 06 15:07:55 GMT 2010  Olly Betts <olly@survex.com>
5281
5282	* HACKING,configure.ac: Upgrade to using libtool 2.2.8.
5283
5284Sun Jun 06 04:34:13 GMT 2010  Olly Betts <olly@survex.com>
5285
5286	* bin/Makefile.mk,configure.ac: Fix build failures with some
5287	  combinations of backends disabled (partially addresses ticket#361).
5288
5289Sat Jun 05 16:30:57 GMT 2010  Olly Betts <olly@survex.com>
5290
5291	* matcher/remotesubmatch.cc: Add missing parameter of
5292	  RemoteSubMatch::start_match() to debug logging.
5293
5294Sat Jun 05 15:03:56 GMT 2010  Olly Betts <olly@survex.com>
5295
5296	* matcher/queryoptimiser.h: Make QueryOptimiser::optimise_query()'s
5297	  argument const pointer, since we only pass it to do_subquery() which
5298	  takes a const pointer.
5299
5300Fri Jun 04 16:05:01 GMT 2010  Olly Betts <olly@survex.com>
5301
5302	* common/rset.h: Just keep a reference to the set<docid> from the
5303	  Xapian::RSet object rather than copying it (since we now only
5304	  create the RSetI object transiently, so the Xapian::RSet object
5305	  is definitely valid for its whole lifetime).
5306
5307Fri Jun 04 15:57:50 GMT 2010  Olly Betts <olly@survex.com>
5308
5309	* api/omenquire.cc,matcher/localmatch.cc,matcher/localmatch.h: Keep
5310	  a Xapian::RSet handle in the LocalSubMatch object and only create
5311	  an RSetI object briefly in LocalSubMatch::prepare_match().
5312
5313Fri Jun 04 15:36:45 GMT 2010  Olly Betts <olly@survex.com>
5314
5315	* common/pretty.h: RSetI objects are no longer passed as parameters
5316	  or return values, so we no longer need to handle them.
5317
5318Fri Jun 04 15:28:21 GMT 2010  Olly Betts <olly@survex.com>
5319
5320	* api/omenquire.cc,common/esetinternal.h,common/omenquireinternal.h,
5321	  common/rset.h,expand/esetinternal.cc,matcher/rset.cc: RSetI is used
5322	  when collating statistics prior to performing the match, and when
5323	  generating an ESet.  The second use is entirely unnecessary and just
5324	  ends up with us copying the std::set<Xapian::docid> from inside the
5325	  Xapian::RSet object, so eliminate it and just use the Xapian::RSet
5326	  object directly.  This allows RSetI to be simplified somewhat too.
5327
5328Fri Jun 04 14:22:38 GMT 2010  Olly Betts <olly@survex.com>
5329
5330	* tests/api_backend.cc: Make arrays static const.
5331
5332Fri Jun 04 13:25:20 GMT 2010  Olly Betts <olly@survex.com>
5333
5334	* backends/Makefile.mk: Note need to update include/xapian/version_h.cc
5335	  when adding a new backend.
5336	* AUTHORS: Thanks to Conrad Hoffmann for pointing this omission out.
5337
5338Thu Jun 03 15:01:44 GMT 2010  Richard Boulton <richard@tartarus.org>
5339
5340	* tests/soaktest/soaktest_queries.cc: Add missing include of str.h
5341
5342Thu Jun 03 12:09:35 GMT 2010  Richard Boulton <richard@tartarus.org>
5343
5344	* tests/Makefile.am: Fix building of zlib-vg.so in VPATH builds.
5345
5346Thu Jun 03 11:49:31 GMT 2010  Richard Boulton <richard@tartarus.org>
5347
5348	* matcher/orpostlist.cc,tests/api_backend.cc: Fix several bugs in
5349	  OrPostList::check() (introduced since 1.2.0).  Fixes ticket #485.
5350	  Specifically, we have to check a sub-postlist even if head=did,
5351	  because we need to know if that sub-postlist is valid.  Also, if
5352	  a sub-postlist is not valid, set its head to did+1, since we know
5353	  that we're no longer interested in matches before did, and this
5354	  allows the OrPostList to assume that the minimum docid of its
5355	  children is the current docid.
5356
5357Thu Jun 03 07:15:24 GMT 2010  Olly Betts <olly@survex.com>
5358
5359	* matcher/: Implement MultiXorPostList which returns correct weights
5360	  for XOR of more than 2 subqueries, and drop XorPostList completely.
5361	  (ticket#475)
5362	* tests/api_anydb.cc: Add regression test xor2.
5363
5364Thu Jun 03 04:38:56 GMT 2010  Olly Betts <olly@survex.com>
5365
5366	* tests/api_replicate.cc: Tweak loop end test to be a normal while.
5367
5368Thu Jun 03 01:22:20 GMT 2010  Olly Betts <olly@survex.com>
5369
5370	* tests/api_stem.cc: Note stem2's feature was backported to 1.0.21.
5371
5372Tue Jun 01 13:49:44 GMT 2010  Olly Betts <olly@survex.com>
5373
5374	* backends/brass/brass_database.cc,backends/brass/brass_termlist.cc,
5375	  backends/chert/chert_database.cc,backends/chert/chert_termlist.cc,
5376	  backends/flint/flint_database.cc,backends/flint/flint_document.cc,
5377	  backends/flint/flint_termlist.cc,matcher/: Fix LOGCALL_VOID uses
5378	  for ctors and dtors to be LOGCALL_CTOR and LOGCALL_DTOR respectively.
5379
5380Tue Jun 01 13:33:07 GMT 2010  Olly Betts <olly@survex.com>
5381
5382	* api/omdocument.cc: Use LOGCALL_VOID instead of LOGCALL with a void
5383	  return type.
5384
5385Tue Jun 01 13:08:02 GMT 2010  Olly Betts <olly@survex.com>
5386
5387	* matcher/multimatch.cc: The debug logging now copes with being passed
5388	  RSet* so remove special casing with ?:.
5389
5390Tue Jun 01 10:17:27 GMT 2010  Olly Betts <olly@survex.com>
5391
5392	* HACKING,configure.ac: Drop support for --enable-log=profile -
5393	  dedicated profiling tools are likely to return more useful results.
5394	* common/debuglog.cc,common/debuglog.h: Rename xapian_debuglogger__
5395	  global to xapian_debuglogger_ to avoid reserved __ in the name.
5396	* common/omdebug.cc,common/omdebug.h: Remove in favour of debuglog.h.
5397	* common/pretty.h: New PrettyOStream<> template class for pretty
5398	  printing types in debug logs (and eventually the testsuite).
5399	* api/,backends/brass/,backends/chert/,
5400	  backends/dbfactory_remote.cc,backends/flint/,
5401	  backends/inmemory/inmemory_database.cc,
5402	  backends/inmemory/inmemory_document.cc,
5403	  backends/inmemory/inmemory_positionlist.cc,
5404	  backends/multi/multi_postlist.cc,backends/multi/multi_termlist.cc,
5405	  common/,expand/esetinternal.cc,expand/expandweight.cc,
5406	  expand/ortermlist.cc,matcher/,net/progclient.cc,
5407	  net/remoteconnection.cc: Migrate all remaining uses of omdebug.h to
5408	  debuglog.h.  Write more parameters to the debug log.  Retire the
5409	  barely used APICALL category and use API instead (reflecting actual
5410	  current use).  Add new REPLICA category.  Fix names logged for ctors
5411	  and dtors which have "::" in the class name.
5412
5413Sun May 30 13:45:12 GMT 2010  Olly Betts <olly@survex.com>
5414
5415	* api/omenquire.cc: Remove bogus "Data::" from debug logging for two
5416	  methods.
5417
5418Sun May 30 08:49:22 GMT 2010  Olly Betts <olly@survex.com>
5419
5420	* include/xapian/stem.h,languages/stem.cc: Xapian::Stem now recognises
5421	  "nb" and "nn" as codes for the Norwegian stemmer.
5422	* tests/api_stem.cc: Add feature test stem2 to check that these new
5423	  codes work.
5424
5425Sat May 29 10:12:40 GMT 2010  Olly Betts <olly@survex.com>
5426
5427	* common/debuglog.h: Add overload of operator| which writes ", " and
5428	  then a value to std::ostream.
5429	* api/omdatabase.cc,api/replication.cc,
5430	  backends/brass/brass_alldocspostlist.cc,
5431	  backends/brass/brass_metadata.cc,backends/brass/brass_table.cc,
5432	  backends/chert/,backends/dbfactory.cc,
5433	  backends/flint/flint_alldocspostlist.cc,expand/esetinternal.cc,
5434	  expand/expandweight.cc,matcher/,net/remoteconnection.cc,
5435	  weight/bm25weight.cc,weight/weight.cc: Use this in LOGCALL uses to
5436	  make them shorter and more readable.
5437
5438Fri May 28 06:47:57 GMT 2010  Olly Betts <olly@survex.com>
5439
5440	* api/leafpostlist.cc,api/omdatabase.cc,backends/brass/brass_table.cc,
5441	  backends/chert/chert_table.cc,backends/dbfactory.cc,
5442	  backends/flint/flint_alldocspostlist.cc: Put LOGCALL macro use all on
5443	  one line so we can more easily mechanise use and update.
5444
5445Fri May 28 04:22:35 GMT 2010  Olly Betts <olly@survex.com>
5446
5447	* api/replication.cc,api/valueiterator.cc,
5448	  backends/brass/brass_alltermslist.cc,
5449	  backends/chert/chert_alltermslist.cc,backends/dbfactory.cc,
5450	  backends/inmemory/inmemory_document.cc,
5451	  backends/remote/remote-document.cc,matcher/synonympostlist.cc,
5452	  net/remoteconnection.cc,weight/bm25weight.cc: Use NO_ARGS instead of
5453	  "" and LOGCALL_VOID instead of LOGCALL with void return type.
5454
5455Fri May 28 04:12:35 GMT 2010  Olly Betts <olly@survex.com>
5456
5457	* matcher/valuerangepostlist.cc: Add missing inclusions of
5458	  "debuglog.h".
5459	* backends/brass/brass_metadata.h,backends/brass/brass_postlist.h,
5460	  backends/brass/brass_synonym.h,backends/chert/chert_metadata.h,
5461	  backends/chert/chert_postlist.h,backends/chert/chert_synonym.h,
5462	  backends/dbfactory_remote.cc,backends/flint/flint_metadata.h,
5463	  backends/flint/flint_synonym.h,common/database.h,common/rset.h:
5464	  Remove unused inclusions of "omassert.h" and "omdebug.h".
5465	* common/rset.h: Remove unused inclusion of "weightinternal.h".
5466	* api/omdatabase.cc,api/registry.cc,api/replication.cc,backends/brass/,
5467	  backends/chert/,backends/dbfactory.cc,backends/flint/: Add missing
5468	  explicit inclusions of "debuglog.h". Fix LOGCALL markup of ctors and
5469	  dtors.  Use LOGCALL instead of DEBUGCALL.
5470
5471Fri May 28 04:06:08 GMT 2010  Olly Betts <olly@survex.com>
5472
5473	* backends/flint/flint_alldocspostlist.h: Add missing explicit
5474	  inclusions of "autoptr.h", "flint_database.h", and forward
5475	  declaration of class FlintCursor.
5476
5477Fri May 28 03:52:40 GMT 2010  Olly Betts <olly@survex.com>
5478
5479	* common/const_database_wrapper.h,common/databasereplicator.h,
5480	  common/gnu_getopt.h: Add "(C)" to copyright statements for
5481	  consistency with other files.
5482
5483Fri May 28 03:45:26 GMT 2010  Olly Betts <olly@survex.com>
5484
5485	* queryparser/queryparser.lt: Include "debuglog.h" instead of
5486	  "omdebug.h".
5487
5488Fri May 28 03:45:03 GMT 2010  Olly Betts <olly@survex.com>
5489
5490	* queryparser/queryparser.cc: Remove unused inclusion of "omdebug.h".
5491
5492Fri May 28 03:40:50 GMT 2010  Olly Betts <olly@survex.com>
5493
5494	* expand/esetinternal.cc,matcher/localmatch.cc,matcher/multimatch.cc,
5495	  matcher/rset.cc: Add missing explicit inclusions of "omassert.h".
5496
5497Thu May 27 23:39:57 GMT 2010  Olly Betts <olly@survex.com>
5498
5499	* common/Makefile.mk,common/expand.h: Remove unused header.
5500
5501Thu May 27 06:45:27 GMT 2010  Olly Betts <olly@survex.com>
5502
5503	* include/xapian/stem.h: Update the list of languages that the
5504	  Xapian::Stem constructor recognises.
5505
5506Thu May 27 05:20:42 GMT 2010  Olly Betts <olly@survex.com>
5507
5508	* include/xapian/stem.h,languages/Makefile.mk,
5509	  languages/compiler/generator.c,languages/stem.cc,
5510	  languages/steminternal.cc,languages/steminternal.h,tests/Makefile.am,
5511	  tests/api_stem.cc: Add the ability to specify your own stemming
5512	  algorithm by subclassing Xapian::StemImplementation, mostly based on
5513	  patch from Evgeny Sizikov in ticket#448.
5514
5515Thu May 27 04:50:31 GMT 2010  Olly Betts <olly@survex.com>
5516
5517	* tests/api_opvalue.cc: Use TEST_REL() instead of tout and TEST() with
5518	  an inequality.
5519
5520Thu May 27 04:28:07 GMT 2010  Olly Betts <olly@survex.com>
5521
5522	* api/replication.cc,backends/databasereplicator.cc,common/debuglog.h,
5523	  common/omdebug.h,expand/esetinternal.cc,expand/ortermlist.cc,
5524	  matcher/,net/remoteconnection.cc: Partial mass conversion of files
5525	  from omdebug.h to debuglog.h (this takes care off all the files
5526	  without BSN copyright).
5527
5528Thu May 27 04:24:36 GMT 2010  Olly Betts <olly@survex.com>
5529
5530	* common/output.h: Use <ostream> not <fstream>.
5531
5532Thu May 27 04:09:25 GMT 2010  Olly Betts <olly@survex.com>
5533
5534	* matcher/orpostlist.cc: Prefer ++x to x += 1 for consistency.
5535
5536Wed May 26 13:32:20 GMT 2010  Olly Betts <olly@survex.com>
5537
5538	* matcher/exactphrasepostlist.cc: Separate (C) notice from @file
5539	  doccomment.
5540
5541Wed May 26 13:11:57 GMT 2010  Olly Betts <olly@survex.com>
5542
5543	* backends/flint/flint_postlist.cc,backends/flint/flint_postlist.h:
5544	  Move virtual method FlintPostList::get_doclength() definition out
5545	  of header, which also means the header no longer needs omdebug.h.
5546
5547Wed May 26 13:03:22 GMT 2010  Olly Betts <olly@survex.com>
5548
5549	* common/debuglog.h: Strip out commented out RETURN_VOID machinery.
5550	  This case is automatically handled provided LOGCALL_VOID is used.
5551
5552Wed May 26 12:33:04 GMT 2010  Olly Betts <olly@survex.com>
5553
5554	* common/debuglog.h: Don't check the category more than once in ctors
5555	  and dtors.  Don't convert the return value to a string in RETURN()
5556	  unless we want to log it.
5557
5558Wed May 26 02:33:00 GMT 2010  Olly Betts <olly@survex.com>
5559
5560	* tests/api_opvalue.cc: Convert file description to doccomment.
5561	  Remove unused headers and reorder remainder more standardly.
5562
5563Tue May 25 10:17:42 GMT 2010  Olly Betts <olly@survex.com>
5564
5565	* tests/api_backend.cc: Note ordecay1 and ordecay2 fixes now also in
5566	  1.0.21.  Whitespace tweak.
5567
5568Tue May 25 04:11:53 GMT 2010  Olly Betts <olly@survex.com>
5569
5570	* tests/api_backend.cc: make_ordecay1_db and make_ordecay2_db end up
5571	  looping over at least 4 billion values (or possibly infinitely) on
5572	  platforms where sizeof(long) == 8.  The two databases are very
5573	  similar and the latter one works for the former test, so use the
5574	  same db for both tests, and rewrite the generator to work
5575	  portably.
5576
5577Sun May 23 07:30:58 GMT 2010  Olly Betts <olly@survex.com>
5578
5579	* tests/api_backend.cc: Note XOR decay bug also fixed in 1.0.21.
5580
5581Sat May 22 13:31:38 GMT 2010  Olly Betts <olly@survex.com>
5582
5583	* configure.ac,tests/Makefile.am: Only try to build zlib-vg.so if we
5584	  are found a suitable valgrind installed (otherwise it's a waste of
5585	  effort to build it, and the build will fail without the valgrind
5586	  headers).
5587
5588Sat May 22 13:18:33 GMT 2010  Olly Betts <olly@survex.com>
5589
5590	* configure.ac,tests/Makefile.am,tests/runtest.in,tests/zlib-vg.c: zlib
5591	  can produce "uninitialised" output from "initialised" input - the
5592	  output does decode to the input, so this is presumably just some
5593	  unused bits in the output, so we use an LD_PRELOAD hack to get
5594	  valgrind to check the input is initialised and then tell it that the
5595	  output is initialised.
5596
5597Wed May 19 14:34:52 GMT 2010  Richard Boulton <richard@tartarus.org>
5598
5599	* matcher/andmaybepostlist.cc,matcher/andmaybepostlist.h,
5600	  matcher/orpostlist.cc: Fix a bug causing documents to be skipped
5601	  when OR decayed to AND_MAYBE, if the new RHS was behind the LHS
5602	  at the time of the decay.  Fixes #476.
5603	* tests/api_backend.cc: Add test case ordecay2 as a regression test
5604	  of this.  Also, remove some debug output in ordecay1, to speed it
5605	  up quite a bit.
5606
5607Wed May 19 11:48:07 GMT 2010  Richard Boulton <richard@tartarus.org>
5608
5609	* matcher/orpostlist.cc,tests/api_backend.cc: Fix a bug in the
5610	  decay from OR to AND: if the decay happened when the two
5611	  sub-postlists were on different docids, but the higher of those
5612	  docids actually occurred in both postlists, the higher docid
5613	  would be incorrectly skipped.  Add regression test ordecay1 to
5614	  test this.
5615
5616Wed May 19 10:36:55 GMT 2010  Richard Boulton <richard@tartarus.org>
5617
5618	* tests/api_backend.cc,tests/api_compact.cc,
5619	  tests/harness/testrunner.cc,tests/harness/testrunner.h: Add new
5620	  test backend selection flag "generated", to select only backends
5621	  which support generated test databases.
5622
5623Wed May 19 03:14:15 GMT 2010  Olly Betts <olly@survex.com>
5624
5625	* api/,backends/brass/,backends/chert/,
5626	  backends/contiguousalldocspostlist.cc,backends/flint/,
5627	  backends/inmemory/inmemory_database.cc,
5628	  backends/remote/remote-database.cc,backends/slowvaluelist.cc,
5629	  common/utils.h,expand/esetinternal.cc,matcher/phrasepostlist.cc,
5630	  net/remoteserver.cc,net/remotetcpclient.cc,
5631	  queryparser/termgenerator.cc,tests/,
5632	  tests/harness/backendmanager_multi.cc,
5633	  tests/harness/backendmanager_remote.cc,
5634	  tests/harness/backendmanager_remotetcp.cc,tests/internaltest.cc,
5635	  tests/perftest/perftest.cc,tests/perftest/perftest_matchdecider.cc,
5636	  tests/perftest/perftest_randomidx.cc,tests/queryparsertest.cc,
5637	  tests/termgentest.cc: Fully migrate from om_tostring() to str().
5638
5639Wed May 19 03:13:43 GMT 2010  Olly Betts <olly@survex.com>
5640
5641	* cmake/xapian-config-version.cmake,cmake/xapian-config.cmake: Remove
5642	  generated files from SVN.
5643
5644Wed May 19 02:59:47 GMT 2010  Olly Betts <olly@survex.com>
5645
5646	* bin/xapian-inspect.cc: Add misisng explicit '#include <utils.h>'.
5647
5648Tue May 18 14:24:03 GMT 2010  Olly Betts <olly@survex.com>
5649
5650	* bin/Makefile.mk,bin/xapian-check.cc,bin/xapian-compact.cc: Improve
5651	  building with flint, chert and/or brass disabled (partially addresses
5652	  ticket#361).
5653
5654Tue May 18 00:42:08 GMT 2010  Olly Betts <olly@survex.com>
5655
5656	* matcher/multimatch.cc: Fix warnings with --disable-backend-remote
5657	  (partially addresses ticket#361).
5658
5659Sat May 15 06:56:26 GMT 2010  Olly Betts <olly@survex.com>
5660
5661	* net/progclient.cc: Read the max fd with sysconf() instead of using
5662	  a hardcoded value of 256.  Work even if stdin and stdout have been
5663	  closed.
5664
5665Thu May 13 10:53:24 GMT 2010  Richard Boulton <richard@tartarus.org>
5666
5667	* matcher/orpostlist.cc: Correct some debugging lines.
5668
5669Thu May 13 09:57:12 GMT 2010  Richard Boulton <richard@tartarus.org>
5670
5671	* matcher/xorpostlist.cc,matcher/xorpostlist.h: Pass a minweight
5672	  value of 0 to children of XOR postlists, because we need to know
5673	  about all matching documents from the children even if they have
5674	  a low weight.
5675	* tests/api_backend.cc: Regression test for this: xordecay1.
5676
5677Thu May 13 08:47:22 GMT 2010  Richard Boulton <richard@tartarus.org>
5678
5679	* tests/soaktest/soaktest_queries.cc: Add more code comments,
5680	  increase the number of repetitions from 100 to 10000, remove
5681	  accidentally added semicolons after some braces, remove "return
5682	  false" at end of test which was added for debugging purposes,
5683	  clear tout before testing each query, and display the query
5684	  number, the query, and the msets in the event of failure.
5685
5686Tue May 11 10:16:05 GMT 2010  Richard Boulton <richard@tartarus.org>
5687
5688	* tests/soaktest/soaktest_queries.cc: Don't fail for empty result
5689	  sets.
5690
5691Tue May 11 10:13:08 GMT 2010  Richard Boulton <richard@tartarus.org>
5692
5693	* tests/soaktest/: Add a "soaktest" testsuite, intended to contain
5694	  long-running tests with random data.  Currently contains a single
5695	  test which builds and runs random queries, checking that the
5696	  results returned are consistent when asking for different result
5697	  ranges.
5698
5699Mon May 10 16:57:29 GMT 2010  Richard Boulton <richard@tartarus.org>
5700
5701	* tests/api_opvalue.cc: Add tests for OP_VALUE_RANGE to get
5702	  coverage of the skip_to() and check() methods of
5703	  ValueRangePostList.
5704
5705Mon May 10 16:51:14 GMT 2010  Richard Boulton <richard@tartarus.org>
5706
5707	* tests/api_opvalue.cc: Add a test to get coverage of
5708	  ValueGePostList::skip_to().
5709
5710Sun May 09 21:22:50 GMT 2010  Richard Boulton <richard@tartarus.org>
5711
5712	* tests/api_nodb.cc,tests/api_opvalue.cc: Move test "opvaluege1"
5713	  from api_nodb.cc to api_opvalue.cc, and rename to valuege3 for
5714	  consistency with other tests of OP_VALUE_GE.
5715
5716Sun May 09 21:19:43 GMT 2010  Richard Boulton <richard@tartarus.org>
5717
5718	* tests/Makefile.am,tests/api_anydb.cc,tests/api_opvalue.cc: Move
5719	  the tests for OP_VALUE_* query operators from api_anydb.cc to
5720	  api_opvalue.cc.  Remove copyright statements earlier than 2007,
5721	  since OP_VALUE_* wasn't added until 2007.
5722
5723Sun May 09 21:04:06 GMT 2010  Richard Boulton <richard@tartarus.org>
5724
5725	* matcher/valuegepostlist.cc: Initialise valuelist in check() if
5726	  necessary.
5727	* tests/api_anydb.cc: Add regression test for this.
5728
5729Thu May 06 15:03:43 GMT 2010  Richard Boulton <richard@tartarus.org>
5730
5731	* tests/api_replicate.cc: Add some extra debugging, to help
5732	  identify the problem with ticket #472.
5733
5734Thu May 06 13:38:25 GMT 2010  Olly Betts <olly@survex.com>
5735
5736	* common/safeuuid.h,configure.ac,INSTALL: Make use of built-in UUID API
5737	  on FreeBSD and NetBSD.  (ticket#470)
5738
5739Thu May 06 13:10:30 GMT 2010  Olly Betts <olly@survex.com>
5740
5741	* AUTHORS,Makefile.am,cmake/,configure.ac: Install files to make Xapian
5742	  easier to use with cmake.  Thanks to Sune Vuorela for providing the
5743	  desired output.
5744
5745Thu May 06 11:42:16 GMT 2010  Olly Betts <olly@survex.com>
5746
5747	* tests/harness/fdtracker.cc: Don't pass NULL to closedir().
5748
5749Thu May 06 11:19:41 GMT 2010  Olly Betts <olly@survex.com
5750
5751	* tests/api_anydb.cc: Test UUID is 36 characters long.
5752
5753Thu May 06 10:41:21 GMT 2010  Olly Betts <olly@survex.com>
5754
5755	* matcher/valuegepostlist.cc: Use "str.h" and str().
5756
5757Thu May 06 10:01:48 GMT 2010  Olly Betts <olly@survex.com>
5758
5759	* matcher/valuegepostlist.cc: Remove unused headers.
5760
5761Thu May 06 09:55:27 GMT 2010  Richard Boulton <richard@tartarus.org>
5762
5763	* matcher/valuegepostlist.cc,matcher/valuerangepostlist.cc:
5764	  Keep return value from valuelist->get_value() as a const string &
5765	  rather than a string - could be more efficient on some compilers,
5766	  though testing with gcc 4.1 revealed no difference.
5767
5768Thu May 06 09:49:12 GMT 2010  Richard Boulton <richard@tartarus.org>
5769
5770	* matcher/valuegepostlist.cc: "while(" -> "while (" in recent patch.
5771
5772Thu May 06 09:30:27 GMT 2010  Olly Betts <olly@survex.com>
5773
5774	* docs/replication.rst: Remove experimental warning.
5775
5776Thu May 06 05:05:57 GMT 2010  Olly Betts <olly@survex.com>
5777
5778	* matcher/valuerangepostlist.cc: Use "str.h" and str().
5779
5780Thu May 06 05:03:22 GMT 2010  Olly Betts <olly@survex.com>
5781
5782	* matcher/valuerangepostlist.cc: Remove '#include "leafpostlist.h"'
5783	  and '#include "document.h"' which are no longer used.
5784
5785Thu May 06 04:53:07 GMT 2010  Olly Betts <olly@survex.com>
5786
5787	* matcher/valuerangepostlist.cc: Remove '#include "autoptr.h"' which is
5788	  no longer required.
5789
5790Thu May 06 04:18:25 GMT 2010  Olly Betts <olly@survex.com>
5791
5792	* matcher/valuerangepostlist.cc: "while(" -> "while (" in recent patch.
5793
5794Wed May 05 16:44:17 GMT 2010  Richard Boulton <richard@tartarus.org>
5795
5796	* matcher/orpostlist.cc,matcher/orpostlist.h: Add
5797	  OrPostList::check() method, which calls check() on the
5798	  sub-postlists, rather than falling back to skip_to().  This is
5799	  particularly helpful when a sub-postlist is one for which
5800	  skip_to() can be significantly more expensive than check(), such
5801	  as a ValueRangePostList.  I've observed a speedup of 10 times for
5802	  such a subquery with this change.
5803
5804Wed May 05 16:34:30 GMT 2010  Richard Boulton <richard@tartarus.org>
5805
5806	* matcher/valuegepostlist.cc,matcher/valuerangepostlist.cc,
5807	  matcher/valuerangepostlist.h: Implement ValueRangePostList and
5808	  ValueGePostList using a ValueList streaming values for the value
5809	  slot of interest, rather than using an AllDocsPostList to get all
5810	  documents, using that to open temporary documents for each
5811	  document being considered, and then using that to get the value.
5812	  I've observed a speedup of more than 70 times for range queries
5813	  in a real-world situation with this change (a 29 second search
5814	  became a 0.4 second search). (ticket#432)
5815
5816Wed May 05 06:44:31 GMT 2010  Olly Betts <olly@survex.com>
5817
5818	* NEWS: Update from ChangeLog.
5819
5820Wed May 05 05:42:56 GMT 2010  Olly Betts <olly@survex.com>
5821
5822	* backends/brass/brass_cursor.cc,backends/chert/chert_cursor.cc,
5823	  backends/flint/flint_cursor.cc: If we have to rebuild the cursor
5824	  on next() because the table changed underneath us, we need to
5825	  advance it because find_entry() will put the cursor on the entry
5826	  we were already on, or the one before if the entry we were on
5827	  has been removed.  Bug uncovered by notmuch testsuite, but I'm
5828	  unable to reduce it to a sane testcase for our testsuite.
5829	  (Debian#579951)
5830
5831Tue May 04 19:38:31 GMT 2010  Richard Boulton <richard@tartarus.org>
5832
5833	* api/replication.cc,bin/xapian-replicate.cc,
5834	  common/replicatetcpclient.h,common/replication.h,
5835	  net/replicatetcpclient.cc,tests/api_replicate.cc: Fix a bug in
5836	  replication, which triggered when multiple modifications were
5837	  made to a database while a full copy of the database was in
5838	  progress.  In this situation, the client would fail to apply more
5839	  than one changeset before trying (and failing) to make the
5840	  database live, due to an incorrect assignment of the new revision
5841	  number to "offline_needed_revision" instead of
5842	  "offline_revision".  Also, replication now only sleeps for a
5843	  period (to allow reader to catch up) after a changeset has been
5844	  applied to a live database - previously, it would sleep
5845	  unnecessarily after a changeset had been applied to an offline
5846	  database.  Also, make the period for which replication sleeps in
5847	  this situation configurable with the "-r" command line option to
5848	  xapian-replicate.
5849	  A test for these changes will be committed to xapian-bindings
5850	  shortly.
5851
5852Sat May 01 15:25:48 GMT 2010  Olly Betts <olly@survex.com>
5853
5854	* Merge change accidentally committed to brass-btree branch:
5855	* tests/perftest/runprocess.cc: Use safesyswait.h, fixing build failure
5856	  on "make check" on FreeBSD.
5857
5858Fri Apr 30 12:33:25 GMT 2010  Richard Boulton <richard@tartarus.org>
5859
5860	* backends/brass/brass_databasereplicator.cc,
5861	  backends/chert/chert_databasereplicator.cc,
5862	  backends/flint/flint_databasereplicator.cc,tests/api_replicate.cc:
5863	  If a DB file doesn't exist when applying a changeset, try
5864	  creating it - this happens with lazy tables which aren't created
5865	  in the initial revision copied.  Add replicate4 test to check
5866	  that this works correctly with a lazily created position table.
5867	  Fixes ticket #468.
5868
5869Fri Apr 30 07:09:31 GMT 2010  Olly Betts <olly@survex.com>
5870
5871	* docs/deprecation.rst: Replication and PostingSource aren't
5872	  experimental in 1.2.x.
5873
5874Fri Apr 30 00:52:22 GMT 2010  Olly Betts <olly@survex.com>
5875
5876	* tests/harness/testsuite.cc: Fix typo in previous commit.
5877
5878Thu Apr 29 23:46:09 GMT 2010  Olly Betts <olly@survex.com>
5879
5880	* tests/harness/testsuite.cc: Check is SA_SIGINFO is defined before
5881	  using it as it isn't available everywhere.  Fixes FTBFS on GNU Hurd.
5882
5883Thu Apr 29 12:11:48 GMT 2010  Olly Betts <olly@survex.com>
5884
5885	* configure.ac: Install headers under PREFIX/include not
5886	  PREFIX/include/xapian.  This broke compiling code which didn't use
5887	  XO_LIB_XAPIAN or xapian-config.
5888
5889Wed Apr 28 12:05:23 GMT 2010  Olly Betts <olly@survex.com>
5890
5891	* Makefile.am,m4-macros/xapian-1.1.m4: Remove -1.1 suffix from
5892	  xapian-1.1.m4 and libxapian-1.1.la.
5893
5894Wed Apr 28 06:15:45 GMT 2010  Olly Betts <olly@survex.com>
5895
5896	* NEWS: Sync with 1.0.20.
5897	* NEWS,configure.ac: 1.2.0!
5898
5899Tue Apr 27 12:45:29 GMT 2010  Olly Betts <olly@survex.com>
5900
5901	* AUTHORS: Add bug reporter.
5902
5903Mon Apr 26 08:26:26 GMT 2010  Olly Betts <olly@survex.com>
5904
5905	* common/getopt.cc,common/gnu_getopt.h: On Cygwin, #include <getopt.h>
5906	  for declarations of optind, etc rather than providing our own
5907	  declarations.  Should fix warnings in Cygwin build reported by Reini
5908	  Urban on xapian-devel list.
5909
5910Mon Apr 26 06:27:07 GMT 2010  Olly Betts <olly@survex.com>
5911
5912	* common/getopt.cc,common/gnu_getopt.h: Revert previous 2
5913	  getopt-related patches.  The latest state was breaking on Solaris
5914	  which (contrary to what its man pages say) prototypes getopt() stuff
5915	  in stdlib.h.  This seems to be a rabbit hole we don't want to head
5916	  further down.
5917
5918Sat Apr 24 02:12:53 GMT 2010  Olly Betts <olly@survex.com>
5919
5920	* examples/delve.cc: Update --help output for -v to cover all terms
5921	  case.
5922
5923Sat Apr 24 01:58:00 GMT 2010  Olly Betts <olly@survex.com>
5924
5925	* examples/delve.cc: Add -a option to list all terms in a database.
5926
5927Sat Apr 24 01:51:01 GMT 2010  Olly Betts <olly@survex.com>
5928
5929	* examples/copydatabase.cc: Prefer string() to "" converted to string.
5930
5931Thu Apr 22 14:21:30 GMT 2010  Olly Betts <olly@survex.com>
5932
5933	* matcher/multimatch.cc: Fix bug related to ticket#464 (the previous
5934	  fix doesn't fix some similar cases).
5935	* tests/api_backend.cc: Add regression test msize2.
5936
5937Thu Apr 22 11:02:11 GMT 2010  Olly Betts <olly@survex.com>
5938
5939	* tests/: Hook up --abort-on-error fix for termgentest, stemtest,
5940	  queryparsertest, and internaltest.
5941
5942Thu Apr 22 06:06:53 GMT 2010  Olly Betts <olly@survex.com>
5943
5944	* HACKING: Add a hyphen.
5945
5946Wed Apr 21 11:16:50 GMT 2010  Olly Betts <olly@survex.com>
5947
5948	* tests/harness/testrunner.cc: Exit with status 1 not 0 if we caught an
5949	  exception from the harness itself.
5950
5951Wed Apr 21 11:11:10 GMT 2010  Olly Betts <olly@survex.com>
5952
5953	* tests/harness/testrunner.cc,tests/harness/testsuite.cc: Fix
5954	  --abort-on-error to actually work.
5955
5956Tue Apr 20 12:53:29 GMT 2010  Olly Betts <olly@survex.com>
5957
5958	* docs/deprecation.rst: Note how to disable deprecation warnings.
5959
5960Tue Apr 20 07:27:23 GMT 2010  Olly Betts <olly@survex.com>
5961
5962	* api/omenquire.cc,matcher/multimatch.cc: Fix incorrect estimate and
5963	  bounds on matches when sorting and collapsing in a particular case
5964	  (ticket#464).
5965	* tests/api_backend.cc: Add regression test msize1.
5966
5967Mon Apr 19 01:59:59 GMT 2010  Olly Betts <olly@survex.com>
5968
5969	* examples/delve.cc: Use strtoul() instead of atoi() to decode document
5970	  id and value slot numbers passed on the command line.  Report out of
5971	  range and invalid values.
5972
5973Sat Apr 17 09:17:25 GMT 2010  Olly Betts <olly@survex.com>
5974
5975	* common/getopt.cc,common/gnu_getopt.h: Fix getopt code to work on
5976	  platforms without GNU getopt but with getopt().
5977
5978Fri Apr 16 14:23:49 GMT 2010  Olly Betts <olly@survex.com>
5979
5980	* NEWS,configure.ac: Update for 1.1.5.
5981	* NEWS: Sync changes from 1.0.19.
5982
5983Fri Apr 16 12:29:14 GMT 2010  Olly Betts <olly@survex.com>
5984
5985	* tests/harness/testsuite.cc: Handle NULL in the const char * catch.
5986
5987Fri Apr 16 05:47:43 GMT 2010  Olly Betts <olly@survex.com>
5988
5989	* api/postingsource.cc: Fix wrapping.
5990
5991Thu Apr 15 09:07:40 GMT 2010  Richard Boulton <richard@tartarus.org>
5992
5993	* tests/api_replicate.cc: Use a fixed size buffer for copying a
5994	  file, rather than a dynamically sized buffer; avoids using the
5995	  GCC extension allowing dynamically sized arrays.
5996
5997Thu Apr 15 04:02:34 GMT 2010  Olly Betts <olly@survex.com>
5998
5999	* AUTHORS: Update with bug reporters.
6000
6001Thu Apr 15 00:30:45 GMT 2010  Olly Betts <olly@survex.com>
6002
6003	* include/xapian/termgenerator.h: Note how TermGenerator handles
6004	  stopwords.
6005
6006Wed Apr 14 23:41:55 GMT 2010  Olly Betts <olly@survex.com>
6007
6008	* common/getopt.cc,common/gnu_getopt.h: Put our optarg, etc in a
6009	  namespace and then pull them in to avoid linking to versions in the C
6010	  library.  Fixes warnings on Cygwin.
6011
6012Wed Apr 14 15:33:39 GMT 2010  Olly Betts <olly@survex.com>
6013
6014	* tests/api_backend.cc: Remove already fixed FIXME comment.
6015
6016Wed Apr 14 14:13:10 GMT 2010  Olly Betts <olly@survex.com>
6017
6018	* queryparser/queryparser.lemony: Use const reference to avoid a
6019	  needless handle copy.
6020
6021Wed Apr 14 14:00:21 GMT 2010  Olly Betts <olly@survex.com>
6022
6023	* backends/brass/brass_alltermslist.cc,
6024	  backends/brass/brass_alltermslist.h,
6025	  backends/chert/chert_alltermslist.cc,
6026	  backends/chert/chert_alltermslist.h,
6027	  backends/flint/flint_alltermslist.cc,
6028	  backends/flint/flint_alltermslist.h: Fix memory leak if Database
6029	  throws an exception in XXXAllTermsList constructor.  Fixes bug#462.
6030	* tests/api_backend.cc: Enable qpmemoryleak1 for non-remote backends as
6031	  a regression test for this fix.
6032
6033Tue Apr 13 12:38:08 GMT 2010  Olly Betts <olly@survex.com>
6034
6035	* backends/flint/flint_table.cc: Don't memcpy() a block to itself -
6036	  it's a waste of effort, and (probably) undefined behaviour (as a
6037	  block overlaps itself).
6038
6039Tue Apr 13 12:36:53 GMT 2010  Olly Betts <olly@survex.com>
6040
6041	* backends/brass/brass_table.cc,backends/chert/chert_table.cc: Don't
6042	  memcpy() a block to itself - it's a waste of effort, and (probably)
6043	  undefined behaviour (as a block overlaps itself).
6044
6045Tue Apr 13 08:38:40 GMT 2010  Olly Betts <olly@survex.com>
6046
6047	* queryparser/queryparser.lemony: Add a ParserHandler class to take
6048	  care of releasing the yyParser object.
6049
6050Tue Apr 13 07:49:33 GMT 2010  Olly Betts <olly@survex.com>
6051
6052	* common/autoptr.h: Fix comment typo.
6053
6054Tue Apr 13 07:47:40 GMT 2010  Olly Betts <olly@survex.com>
6055
6056	* api/replication.cc: "autoptr.h" not <autoptr.h> (it's an in-tree
6057	  header).
6058
6059Tue Apr 13 07:25:11 GMT 2010  Olly Betts <olly@survex.com>
6060
6061	* queryparser/queryparser.lemony: Fix leak of yyParser if an exception
6062	  is thrown during parsing.   Partly fixes ticket#462.
6063	* tests/api_backend.cc: Add regression test qpmemoryleak1.
6064
6065Tue Apr 13 01:37:08 GMT 2010  Olly Betts <olly@survex.com>
6066
6067	* common/utils.cc,common/utils.h: Revert change to make removedir()
6068	  recurse into subdirectories - it doesn't fix a bug, so isn't
6069	  appropriate when we're trying to get 1.2.0 out (backends don't
6070	  currently put files in subdirectories, which was the justification
6071	  in the commit message).
6072
6073Mon Apr 12 11:50:37 GMT 2010  Olly Betts <olly@survex.com>
6074
6075	* Backport change from brass:
6076	* backends/flint/: Fix to rebuild cursors if the table gains or loses a
6077	  level.  Fixes ticket#455.
6078
6079Mon Apr 12 09:29:39 GMT 2010  Olly Betts <olly@survex.com>
6080
6081	* Backport change from brass:
6082	* backends/chert/: Fix to rebuild cursors if the table gains or loses a
6083	  level.  Fixes ticket#455.
6084
6085Mon Apr 12 09:26:53 GMT 2010  Olly Betts <olly@survex.com>
6086
6087	* backends/brass/: Fix to rebuild cursors if the table gains or loses a
6088	  level.  Fixes ticket#455.
6089
6090Mon Apr 12 08:27:29 GMT 2010  Olly Betts <olly@survex.com>
6091
6092	* tests/api_none.cc: Work around compilation failure on OpenBSD.  Fixes
6093	  ticket#458.
6094
6095Fri Apr 02 04:03:04 GMT 2010  Olly Betts <olly@survex.com>
6096
6097	* m4-macros/xapian-1.1.m4: Give a more specific error message for the
6098	  cases where XAPIAN_CONFIG isn't found, is a directory, or isn't
6099	  executable.
6100
6101Thu Mar 25 14:43:57 GMT 2010  Olly Betts <olly@survex.com>
6102
6103	* tests/api_backend.cc: Add databasemodified1 testcase to provide some
6104	  test coverage for DatabaseModifiedError.
6105
6106Thu Mar 25 06:32:44 GMT 2010  Olly Betts <olly@survex.com>
6107
6108	* bin/xapian-check-flint.cc: Report docid for doclength mismatch.
6109
6110Thu Mar 25 06:23:26 GMT 2010  Olly Betts <olly@survex.com>
6111
6112	* bin/xapian-check-brass.cc,bin/xapian-check-chert.cc: Report docid for
6113	  doclength mismatch.
6114
6115Sat Mar 20 15:04:18 GMT 2010  Olly Betts <olly@survex.com>
6116
6117	* docs/spelling.rst: Add a note about removing automatically added
6118	  spelling dictionary entries.
6119
6120Sat Mar 20 09:30:44 GMT 2010  Olly Betts <olly@survex.com>
6121
6122	* docs/spelling.rst: Add section on indexing.  Move the "algorithm"
6123	  section to the end, as it is really just background information for
6124	  the curious.
6125
6126Wed Mar 17 01:33:39 GMT 2010  Olly Betts <olly@survex.com>
6127
6128	* INSTALL: Add a hyphen.
6129
6130Wed Mar 17 01:30:34 GMT 2010  Olly Betts <olly@survex.com>
6131
6132	* INSTALL: Correct description of --enable-assertions.  It does NOT
6133	  enable debugging symbols, and shouldn't control checks on bad data
6134	  passed to API calls (if it does anywhere, that's a bug).  Note that
6135	  Xapian will run more slowly with assertions on.
6136
6137Wed Mar 17 01:10:13 GMT 2010  Olly Betts <olly@survex.com>
6138
6139	* backends/brass/brass_values.cc: Put ValueUpdater in Brass namespace
6140	  to avoid cross-linking issues with ValueUpdater class in chert
6141	  (change taken from brass-btree branch).
6142
6143Sun Mar 14 10:05:36 GMT 2010  Olly Betts <olly@survex.com>
6144
6145	* Backport change from chert:
6146	* backends/flint/flint_database.cc,
6147	  backends/flint/flint_positionlist.cc,
6148	  backends/flint/flint_positionlist.h: When updating a document, rather
6149	  than decoding the old positions, comparing with the new, and then
6150	  encoding the new if different, we now just encode the new and then
6151	  compare the encoded forms.  (ticket#428)  This change also avoids
6152	  calling FlintPositionListTable::del() when we know the entry doesn't
6153	  already exist.
6154	* backends/flint/flint_positionlist.cc: Minor refactor to improve
6155	  code clarity and to only create std::string variable when it
6156	  is needed.
6157
6158Sun Mar 14 09:45:34 GMT 2010  Olly Betts <olly@survex.com>
6159
6160	* Backport change from brass:
6161	* backends/chert/chert_positionlist.cc: Minor refactor to improve
6162	  code clarity and to only create std::string variable when it
6163	  is needed.
6164
6165Sun Mar 14 09:29:54 GMT 2010  Olly Betts <olly@survex.com>
6166
6167	* backends/brass/brass_positionlist.cc: Minor refactor to improve
6168	  code clarity and to only create std::string variable when it
6169	  is needed.
6170
6171Sun Mar 14 07:37:03 GMT 2010  Olly Betts <olly@survex.com>
6172
6173	* api/replication.cc,tests/api_closedb.cc,tests/api_metadata.cc,
6174	  tests/internaltest.cc: Catch by const reference rather than just
6175	  reference, unless we actually need to modify the caught object.
6176
6177Sun Mar 14 06:45:11 GMT 2010  Olly Betts <olly@survex.com>
6178
6179	* api/replication.cc: Check live_db only has a single sub-database even
6180	  if we just lazily opened it.
6181
6182Sun Mar 14 05:00:21 GMT 2010  Olly Betts <olly@survex.com>
6183
6184	* backends/flint/flint_database.cc,
6185	  backends/flint/flint_databasereplicator.cc: Add missing explicit
6186	  '#include "str.h"'.
6187
6188Sat Mar 13 09:22:24 GMT 2010  Richard Boulton <richard@tartarus.org>
6189
6190	* tests/api_replicate.cc: Always use off_t to refer to the size of a
6191	  file: fixes warnings about comparting a signed value to an unsigned
6192	  value.
6193
6194Thu Mar 11 16:07:10 GMT 2010  Richard Boulton <richard@tartarus.org>
6195
6196	* api/replication.cc: Open the livedb lazily if it gets left in a
6197	  closed state (due to an exception when applying a changeset),
6198	  rather than reopening it straight away in an exception handler.
6199	  This requires the livedb to become a mutable member, but is safer
6200	  in the event that an exception is thrown by the WritableDatabase
6201	  constructor.
6202
6203Thu Mar 11 15:17:12 GMT 2010  Richard Boulton <richard@tartarus.org>
6204
6205	* tests/api_replicate.cc: Uncomment the rmtmpdir() at the end of
6206	  replicate3; it was accidentally committed debugging code.
6207
6208Thu Mar 11 13:03:57 GMT 2010  Richard Boulton <richard@tartarus.org>
6209
6210	* api/replication.cc: If an exception is thrown, mark that the
6211	  offline revision needed is unknown (represented by being empty);
6212	  ensures that a database isn't put live incorrectly in this case.
6213	  Also, actually read the message for REPL_REPLY_END_OF_CHANGES, so
6214	  that we get an error if the message is truncated.  Also, if an
6215	  attempt to apply a changeset to the live database fails with an
6216	  exception while the live database is closed, reopen the live
6217	  database before allowing the exception to propagate.
6218	* tests/api_replicate.cc: Split replicate() helper function into
6219	  two parts, to separate getting the changeset messages, and
6220	  applying them. Add replicate3 test, which checks that
6221	  replications which are provided with truncated messages raise
6222	  appropriate errors.
6223
6224Thu Mar 11 00:46:39 GMT 2010  Olly Betts <olly@survex.com>
6225
6226	* common/replicate_utils.cc: Avoid creating temporary string objects
6227	  to reduce bloat in compiled code.  Remove explicit std:: qualifiers.
6228
6229Thu Mar 11 00:38:00 GMT 2010  Olly Betts <olly@survex.com>
6230
6231	* common/replicate_utils.cc: The directory we're writing changesets
6232	  to will always exist, so no need to ensure it does.
6233
6234Thu Mar 11 00:10:19 GMT 2010  Olly Betts <olly@survex.com>
6235
6236	* backends/chert/chert_databasereplicator.cc,
6237	  backends/flint/flint_databasereplicator.cc: Fix calculation of end
6238	  pointer for changes file.  Since the merge, it has been off by
6239	  CONST_STRLEN(CHANGES_MAGIC_STRING).
6240
6241Wed Mar 10 23:59:38 GMT 2010  Olly Betts <olly@survex.com>
6242
6243	* backends/chert/chert_database.cc,
6244	  backends/chert/chert_databasereplicator.cc: Add missing explicit
6245	  '#include "str.h"'.
6246
6247Wed Mar 10 13:07:41 GMT 2010  Richard Boulton <richard@tartarus.org>
6248
6249	* common/Makefile.mk,common/replicate_utils.cc,
6250	  common/replicate_utils.h: Add some utility functions for
6251	  replication to create changeset files, and append content to
6252	  them, to avoid duplicating the code in each backend.
6253	* backends/chert/chert_database.cc,
6254	  backends/chert/chert_databasereplicator.cc,
6255	  backends/chert/chert_databasereplicator.h,
6256	  backends/flint/flint_database.cc,
6257	  backends/flint/flint_databasereplicator.cc,
6258	  backends/flint/flint_databasereplicator.h: Make the
6259	  DatabaseReplicator subclasses respect the XAPIAN_MAX_CHANGESETS
6260	  environment variable, such that they write the changesets they're
6261	  applying to disk if the value is non-zero.  Enables replication
6262	  from a replicated copy.
6263	* tests/api_replicate.cc: Refactor some common code, and add
6264	  replicate2, which tests replication from a replicated copy.  Skip
6265	  this test for brass, since brass doesn't support this.
6266
6267Wed Mar 10 12:11:41 GMT 2010  Richard Boulton <richard@tartarus.org>
6268
6269	* common/utils.cc,common/utils.h: Make removedir() recurse into
6270	  subdirectories; this ensures that replication works if backends
6271	  put some files in subdirectories of their replicas (eg, if the
6272	  replica is itself a replicated database).
6273
6274Wed Mar 10 12:07:40 GMT 2010  Richard Boulton <richard@tartarus.org>
6275
6276	* backends/chert/,backends/flint/,common/Makefile.mk,
6277	  common/io_utils.cc,common/io_utils.h: Refactor duplicated code
6278	  from {flint,chert}_io.{cc,h} into common/io_utils.{cc,h}.  Rename
6279	  flint_io_read() to io_read(); do similar for flint_io_write()
6280	  and flint_io_sync(), and for the chert versions.  Leave brass
6281	  alone to avoid conflicting with the new brass backend development
6282	  branch.
6283
6284Mon Mar 08 02:32:35 GMT 2010  Olly Betts <olly@survex.com>
6285
6286	* bin/xapian-check-chert.cc: Check that the doclen initial chunk
6287	  exists.
6288
6289Tue Mar 02 13:28:50 GMT 2010  Olly Betts <olly@survex.com>
6290
6291	* Backport change from brass:
6292	* backends/chert/chert_database.cc,
6293	  backends/chert/chert_positionlist.cc,
6294	  backends/chert/chert_positionlist.h: When updating a document, rather
6295	  than decoding the old positions, comparing with the new, and then
6296	  encoding the new if different, we now just encode the new and then
6297	  compare the encoded forms.  (ticket#428)  This change also avoids
6298	  calling ChertPositionListTable::del() when we know the entry doesn't
6299	  already exist.
6300
6301Tue Mar 02 04:00:22 GMT 2010  Olly Betts <olly@survex.com>
6302
6303	* tests/harness/testsuite.cc: Harness now catches const char *
6304	  exceptions explicitly so it can show their contents.
6305
6306Tue Mar 02 03:59:27 GMT 2010  Olly Betts <olly@survex.com>
6307
6308	* include/xapian/valueiterator.h: Comment tweak.
6309
6310Tue Mar 02 03:57:55 GMT 2010  Olly Betts <olly@survex.com>
6311
6312	* include/xapian/queryparser.h: Add missing forward declaration of
6313	  "class Database".
6314
6315Tue Mar 02 01:51:33 GMT 2010  Olly Betts <olly@survex.com>
6316
6317	* NEWS: Update partially from ChangeLog.
6318
6319Mon Mar 01 05:38:41 GMT 2010  Olly Betts <olly@survex.com>
6320
6321	* backends/brass/brass_database.cc,
6322	  backends/brass/brass_positionlist.cc,
6323	  backends/brass/brass_positionlist.h: When updating a document, rather
6324	  than decoding the old positions, comparing with the new, and then
6325	  encoding the new if different, we now just encode the new and then
6326	  compare the encoded forms.  (ticket#428)  This change also avoids
6327	  calling BrassPositionListTable::del() when we know the entry doesn't
6328	  already exist.
6329
6330Mon Mar 01 02:09:40 GMT 2010  Olly Betts <olly@survex.com>
6331
6332	* net/serialise.cc: Don't call Document::values_count() twice when we
6333	  can trivially avoid doing so.  Ditto for termlist_count() and
6334	  positionlist_count().
6335
6336Mon Mar 01 01:53:58 GMT 2010  Olly Betts <olly@survex.com>
6337
6338	* bin/: Rename tot_off to last_docid when it is actually holding the
6339	  last_docid value.
6340
6341Sun Feb 28 23:47:49 GMT 2010  Olly Betts <olly@survex.com>
6342
6343	* backends/flint/flint_table.cc: Whitespace tweak.
6344
6345Sun Feb 28 23:44:58 GMT 2010  Olly Betts <olly@survex.com>
6346
6347	* tests/dbcheck.cc: Tweak whitespace to match standard usage.  Catch
6348	  exceptions by const reference.
6349	* HACKING: Discuss why exceptions should be caught by const reference.
6350	  Tweak markup of blockquotes.
6351
6352Sun Feb 28 22:50:50 GMT 2010  Olly Betts <olly@survex.com>
6353
6354	* HACKING: Add note about "new SomePODType()" not being the same as
6355	  "new SomePODType".
6356
6357Sun Feb 28 22:29:31 GMT 2010  Olly Betts <olly@survex.com>
6358
6359	* HACKING: Quote ``cat`` and ``more``.
6360
6361Sun Feb 28 14:00:39 GMT 2010  Richard Boulton <richard@tartarus.org>
6362
6363	* tests/api_compact.cc: Clarify comment about regression test for
6364	  1.1.4, and remove a test line which is implicit in the following
6365	  dbcheck() line anyway.
6366
6367Sun Feb 28 11:07:33 GMT 2010  Olly Betts <olly@survex.com>
6368
6369	* tests/harness/fdtracker.cc,tests/harness/fdtracker.h: Add GPL
6370	  boilerplate and copyright notices which I failed to do before
6371	  committing these new files.
6372
6373Thu Feb 25 10:34:15 GMT 2010  Olly Betts <olly@survex.com>
6374
6375	* backends/chert/chert_table.cc,backends/flint/flint_table.cc:
6376	  Initialise z_stream members zalloc, zfree, and opaque with Z_NUL
6377	  rather than 0 cast to the appropriate type, as that's what the zlib
6378	  documentation says to do.  Add missing initialisation of opaque for
6379	  the inflate z_stream which the docs say is needed, though reading
6380	  the zlib code, isn't actually for current versions.
6381
6382Wed Feb 24 14:24:05 GMT 2010  Olly Betts <olly@survex.com>
6383
6384	* backends/remote/remote-database.cc: Fix indentation.
6385
6386Wed Feb 24 14:18:25 GMT 2010  Olly Betts <olly@survex.com>
6387
6388	* backends/remote/remote-database.cc,common/remote-database.h,
6389	  common/remoteprotocol.h,common/remoteserver.h,
6390	  docs/remote_protocol.html,net/remoteserver.cc,tests/api_spelling.cc:
6391	  Add remote backend support for WritableDatabase::add_spelling() and
6392	  WritableDatabase::remove_spelling().  This bumps the remote protocol
6393	  to version 35.0 (so both client and servers will need updating).
6394	  Suggesting spelling corrections isn't yet supported.  (ticket#178)
6395
6396Wed Feb 24 09:09:27 GMT 2010  Olly Betts <olly@survex.com>
6397
6398	* examples/delve.cc: "lastdocid" -> "highest document id ever used"
6399	  in output so it's clearer what this number means.
6400
6401Tue Feb 23 14:03:47 GMT 2010  Olly Betts <olly@survex.com>
6402
6403	* api/postingsource.cc: Fix incorrect classname in error message.
6404
6405Tue Feb 23 13:16:11 GMT 2010  Olly Betts <olly@survex.com>
6406
6407	* configure.ac: For -fno-strict-aliasing for GCC 4.2 to avoid bad code
6408	  being generated due to a bug in that compiler version.  Fixes
6409	  ticket#449.
6410
6411Tue Feb 23 03:08:02 GMT 2010  Olly Betts <olly@survex.com>
6412
6413	* configure.ac,tests/harness/testsuite.cc: Use sigsetjmp() and
6414	  siglongjmp() where available so that the set of blocked signals
6415	  get restored and the test harness can catch a second incidence
6416	  of a particular signal in a run.  Use sigaction() instead of
6417	  signal() where available, which allows us to report the address
6418	  associated with SIGSEGV, SIGFPE, SIGILL, and SIGBUS.
6419
6420Mon Feb 22 14:29:50 GMT 2010  Olly Betts <olly@survex.com>
6421
6422	* backends/brass/brass_databasereplicator.cc,
6423	  backends/chert/chert_databasereplicator.cc,
6424	  backends/flint/flint_databasereplicator.cc: Fix exception message
6425	  if we get an unsupported changeset type.
6426
6427Mon Feb 22 01:49:03 GMT 2010  Richard Boulton <richard@tartarus.org>
6428
6429	* tests/dbcheck.cc: Check the wdf, doclen, and value bounds
6430	  reported by the database against correct (tight) bounds
6431	  calculated by iterating through the database contents.
6432
6433Mon Feb 22 01:47:20 GMT 2010  Richard Boulton <richard@tartarus.org>
6434
6435	* backends/brass/brass_database.cc,backends/chert/chert_database.cc:
6436	  Ensure that wdfs are reported to the stats object correctly when
6437	  replacing documents.  These checks were absent entirely in chert,
6438	  and incorrectly skipped in some cases in brass.
6439
6440Mon Feb 22 00:59:57 GMT 2010  Olly Betts <olly@survex.com>
6441
6442	* tests/api_valuestream.cc: Reset tout before testing each interval.
6443	  Prefer string() to "".
6444
6445Mon Feb 22 00:57:59 GMT 2010  Olly Betts <olly@survex.com>
6446
6447	* docs/deprecation.rst,examples/delve.cc: Remove delve's -k option,
6448	  accepted as an undocumented alias for -V since 0.9.10 for
6449	  compatibility with 0.9.9 and earlier.  Just use -V instead.
6450
6451Mon Feb 22 00:45:37 GMT 2010  Olly Betts <olly@survex.com>
6452
6453	* examples/delve.cc: If documents are specified, change "-V<valueno>"
6454	  to only show calues for those documents.
6455
6456Sun Feb 21 14:11:58 GMT 2010  Olly Betts <olly@survex.com>
6457
6458	* common/stringutils.h: Factor out looking up a character in the table
6459	  into a separate inlined function.  Add C_islcxdigit() to check for
6460	  an lower case hex digit.
6461
6462Sun Feb 21 11:10:10 GMT 2010  Olly Betts <olly@survex.com>
6463
6464	* examples/Makefile.mk,examples/xapian-metadata.cc: Add new example
6465	  "xapian-metadata" which allows you to get and set individual user
6466	  metadata entries.
6467
6468Sun Feb 21 10:31:56 GMT 2010  Olly Betts <olly@survex.com>
6469
6470	* configure.ac: Belatedly update version number to 1.1.4.
6471
6472Sat Feb 20 01:09:45 GMT 2010  Olly Betts <olly@survex.com>
6473
6474	* tests/runtest.in: Now we have fd leak checking in the test harness,
6475	  remove the ulimit as it doesn't add anything, and has caused problems
6476	  on some Debian buildds.
6477
6478Fri Feb 19 02:08:25 GMT 2010  Olly Betts <olly@survex.com>
6479
6480	* tests/harness/backendmanager.h,tests/harness/testsuite.cc:
6481	  Call backendmanager->clean_up() before checking for fd leaks
6482	  to avoid finding the sockets/pipes as leaks.  This means that
6483	  clean_up() needs to handle being called more than once for
6484	  a test sometimes (which the current versions do) so document
6485	  that.
6486
6487Thu Feb 18 02:31:17 GMT 2010  Olly Betts <olly@survex.com>
6488
6489	* examples/simpleindex.cc: Explicitly call commit() on the database,
6490	  as that is good practice (since you see any exceptions).
6491
6492Thu Feb 18 01:52:10 GMT 2010  Olly Betts <olly@survex.com>
6493
6494	* tests/api_wrdb.cc: Clear tout on each pass of the loop to avoid a
6495	  lot of irrelevant output under --verbose if the test fails.
6496
6497Thu Feb 18 01:33:53 GMT 2010  Olly Betts <olly@survex.com>
6498
6499	* tests/harness/testsuite.cc: Fix fd tracking change to work when
6500	  HAVE_VALGRIND isn't defined.
6501
6502Thu Feb 18 00:46:20 GMT 2010  Olly Betts <olly@survex.com>
6503
6504	* include/xapian/queryparser.h: Document the possible exception
6505	  messages from QueryParser::parse_query().
6506
6507Thu Feb 18 00:20:18 GMT 2010  Olly Betts <olly@survex.com>
6508
6509	* tests/harness/backendmanager.cc: Also explicitly commit after
6510	  indexing for flint and chert.
6511
6512Wed Feb 17 15:58:04 GMT 2010  Olly Betts <olly@survex.com>
6513
6514	* tests/harness/: Add machinery to check for leaked FDs.  Currently
6515	  requires /proc/self/fd to work (so it works on at least Linux), but
6516	  should do nothing on platforms without this directory.
6517
6518Wed Feb 17 15:53:30 GMT 2010  Olly Betts <olly@survex.com>
6519
6520	* tests/harness/backendmanager.cc: Explicitly commit after indexing
6521	  for brass, so we see any exceptions from the commit (commit from
6522	  the dtor swallows any exceptions).
6523
6524Tue Feb 16 16:23:30 GMT 2010  Richard Boulton <richard@tartarus.org>
6525
6526	* bin/xapian-compact.cc: Fix failure to set lastdocid to an
6527	  appropriate value when using --no-renumber.
6528	* tests/api_compact.cc: Add regression test for this.
6529
6530Tue Feb 16 16:10:49 GMT 2010  Richard Boulton <richard@tartarus.org>
6531
6532	* examples/delve.cc: Display the lastdocid value when displaying
6533	  general database statistics.
6534
6535Tue Feb 16 15:39:50 GMT 2010  Richard Boulton <richard@tartarus.org>
6536
6537	* bin/xapian-check-brass.cc,bin/xapian-check-chert.cc: Correct typo
6538	  in error message.
6539
6540Mon Feb 15 13:59:45 GMT 2010  Olly Betts <olly@survex.com>
6541
6542	* configure.ac: Update for 1.1.4.
6543
6544Mon Feb 15 13:58:44 GMT 2010  Olly Betts <olly@survex.com>
6545
6546	* PLATFORMS: We don't support GCC < 3.1, so remove discussion of
6547	  issues with GCC 2.95.
6548
6549Mon Feb 15 13:55:10 GMT 2010  Olly Betts <olly@survex.com>
6550
6551	* PLATFORMS: Update from 1.0.18.
6552
6553Mon Feb 15 11:51:15 GMT 2010  Olly Betts <olly@survex.com>
6554
6555	* NEWS: Update from ChangeLog.  Update from 1.0.18.
6556
6557Sun Feb 14 05:47:30 GMT 2010  Olly Betts <olly@survex.com>
6558
6559	* queryparser/queryparser.lemony: Fix QueryParser to handle an explicit
6560	  AND before a hated term (foo AND -bar).  (ticket#447)
6561	* tests/queryparsertest.cc: Add regression test cases.
6562
6563Fri Feb 12 01:27:32 GMT 2010  Olly Betts <olly@survex.com>
6564
6565	* queryparser/termgenerator_internal.cc: Only include trailing '+' or
6566	  '#' on a term if it isn't followed by a word character (makes more
6567	  sense and matches QueryParser's behaviour).  (ticket#446)
6568	* tests/termgentest.cc: Add regression test.
6569
6570Thu Feb 11 04:30:56 GMT 2010  Olly Betts <olly@survex.com>
6571
6572	* bin/xapian-inspect.cc: Add new "open" command to allow easy switching
6573	  between tables.
6574
6575Wed Feb 10 02:40:36 GMT 2010  Olly Betts <olly@survex.com>
6576
6577	* include/xapian/document.h: Rewrite the note about Document being a
6578	  lazy handle to fix a few details and avoid nailing down the
6579	  exact implementation.
6580
6581Wed Feb 10 00:37:54 GMT 2010  Olly Betts <olly@survex.com>
6582
6583	* docs/admin_notes.rst: Update for chert and other recent changes.
6584
6585Wed Feb 10 00:37:04 GMT 2010  Olly Betts <olly@survex.com>
6586
6587	* docs/replication_protocol.rst: Update.
6588
6589Mon Feb 08 12:05:05 GMT 2010  Olly Betts <olly@survex.com>
6590
6591	* backends/brass/brass_version.cc: Fix comments about BRASS_VERSION
6592	  which were previously just cut-and-pasted from those about
6593	  CHERT_VERSION.
6594
6595Mon Feb 08 11:54:04 GMT 2010  Olly Betts <olly@survex.com>
6596
6597	* backends/brass/brass_metadata.cc: Include missing headers.
6598
6599Mon Feb 08 09:23:00 GMT 2010  Olly Betts <olly@survex.com>
6600
6601	* backends/brass/brass_document.h,backends/chert/chert_document.h:
6602	  Fix typos in documentation comments.
6603
6604Mon Feb 08 08:27:09 GMT 2010  Olly Betts <olly@survex.com>
6605
6606	* tests/harness/testsuite.cc: Remove unused headers <streambuf> and
6607	  "omdebug.h".
6608
6609Mon Feb 08 01:28:48 GMT 2010  Olly Betts <olly@survex.com>
6610
6611	* common/debuglog.h: Use std::boolalpha so bool is logged as "true"
6612	  or "false" (instead of "1" or "0").
6613
6614Sat Feb 06 10:04:42 GMT 2010  Olly Betts <olly@survex.com>
6615
6616	* AUTHORS: Sync with 1.0 branch.
6617
6618Sat Feb 06 08:20:31 GMT 2010  Olly Betts <olly@survex.com>
6619
6620	* tests/api_closedb.cc: Avoid trying to create a database where
6621	  an already open one exists (which fails on Microsoft Windows).
6622	  (ticket#443).
6623
6624Fri Feb 05 13:28:08 GMT 2010  Olly Betts <olly@survex.com>
6625
6626	* examples/simpleexpand.cc,examples/simpleindex.cc,
6627	  examples/simplesearch.cc: Handle --help and --version.
6628
6629Fri Feb 05 13:25:37 GMT 2010  Olly Betts <olly@survex.com>
6630
6631	* bin/xapian-compact.cc: Fix not to assign elements off the end of a
6632	  vector (ticket#440).
6633
6634Fri Feb 05 11:41:05 GMT 2010  Richard Boulton <richard@tartarus.org>
6635
6636	* api/matchspy.cc,include/xapian/matchspy.h,tests/api_matchspy.cc:
6637	  Remove ValueCountMatchSpy::get_values().  values_begin() should
6638	  be used instead to iterate over the values.
6639
6640Fri Feb 05 07:39:46 GMT 2010  Olly Betts <olly@survex.com>
6641
6642	* configure.ac: Enable automake's std-options feature to check all
6643	  installed programs support --help and --version.
6644
6645Fri Feb 05 01:45:49 GMT 2010  Olly Betts <olly@survex.com>
6646
6647	* include/xapian/document.h: Add Document::add_boolean_term().
6648	* tests/api_none.cc: Add testcase document1 as a feature test.
6649
6650Fri Feb 05 00:27:52 GMT 2010  Olly Betts <olly@survex.com>
6651
6652	* backends/chert/chert_btreebase.cc,backends/flint/flint_btreebase.cc:
6653	  Add missing SEQUENTIAL entry to documentation of base file format.
6654
6655Thu Feb 04 03:06:26 GMT 2010  Olly Betts <olly@survex.com>
6656
6657	* tests/api_compact.cc: Fix to work with MSVC makefiles (ticket#440).
6658
6659Thu Feb 04 03:04:43 GMT 2010  Olly Betts <olly@survex.com>
6660
6661	* HACKING,common/Makefile.mk,common/safesyswait.h: Add wrapper
6662	  for <sys/wait.h> which defines macros for WEXITSTATUS and
6663	  WIFEXITED when required.
6664
6665Wed Feb 03 15:01:36 GMT 2010  Richard Boulton <richard@tartarus.org>
6666
6667	* api/matchspy.cc,include/xapian/matchspy.h,tests/api_matchspy.cc:
6668	  Add ValueCountMatchSpy::values_begin() and values_end() to allow
6669	  iteration over all the values in a ValueCountMatchSpy without
6670	  needing to handle the dict.  Move the contents of
6671	  ValueCountMatchSpy into a reference counted internal object, so
6672	  that the iterator can ensure that the contents aren't deleted
6673	  before it finishes.
6674
6675Wed Feb 03 15:01:02 GMT 2010  Richard Boulton <richard@tartarus.org>
6676
6677	* tests/generate-api_generated: Add ValueCountMatchSpy to the list
6678	  of non-copyable API classes.
6679
6680Wed Feb 03 13:18:03 GMT 2010  Richard Boulton <richard@tartarus.org>
6681
6682	* include/xapian/matchspy.h,tests/api_matchspy.cc: Provide an
6683	  iterator for accessing the top values found by a matchspy, rather
6684	  than using a method which takes a vector reference as a
6685	  parameter.  Should be wrappable much more nicely (and get wrapped
6686	  automatically), and be easier to use: the testcase for this is
6687	  significantly shorter than for the old API.  Remove
6688	  StringAndFrequency from API - it's now just an internal class.
6689	* api/matchspy.cc: Test new access method for top_values.
6690
6691Wed Feb 03 06:46:37 GMT 2010  Olly Betts <olly@survex.com>
6692
6693	* AUTHORS: Add Emmanuel Engelhart for reporting problems indexing
6694	  Burmese text.
6695
6696Wed Feb 03 06:32:03 GMT 2010  Olly Betts <olly@survex.com>
6697
6698	* include/xapian/unicode.h,queryparser/queryparser.lemony,
6699	  queryparser/termgenerator_internal.cc: Add ENCLOSING_MARK and
6700	  COMBINING_SPACING_MARK categories to is_wordchar().  Make
6701	  TermGenerator and QueryParser ignore several zero-width space
6702	  characters.
6703	* tests/queryparsertest.cc,tests/termgentest.cc: Add test coverage for
6704	  the changes.
6705
6706Wed Feb 03 03:14:30 GMT 2010  Olly Betts <olly@survex.com>
6707
6708	* queryparser/queryparser.lemony: Fix apostrophe abuse in comment.
6709
6710Wed Feb 03 01:23:04 GMT 2010  Olly Betts <olly@survex.com>
6711
6712	* queryparser/queryparser.lemony: Make TermList::as_opwindow_query()
6713	  private.
6714
6715Wed Feb 03 01:19:19 GMT 2010  Olly Betts <olly@survex.com>
6716
6717	* common/replication.h: Use "" not <> for including API headers.
6718
6719Wed Feb 03 01:08:58 GMT 2010  Olly Betts <olly@survex.com>
6720
6721	* common/replication.h: Remove warnings about this being an
6722	  experimental API, which no longer make sense now it is internal.
6723
6724Tue Feb 02 21:59:59 GMT 2010  Olly Betts <olly@survex.com>
6725
6726	* tests/generate-api_generated: Remove DatabaseReplica.
6727
6728Tue Feb 02 17:01:23 GMT 2010  Richard Boulton <richard@tartarus.org>
6729
6730	* include/xapian/document.h: Add a note to the API documentation
6731	  for the Document class about the potential issues involved in
6732	  lazy loading.  Fixes ticket #421.
6733
6734Tue Feb 02 16:21:39 GMT 2010  Richard Boulton <richard@tartarus.org>
6735
6736	* docs/categorisation.rst: Remove documentation of NumericRanges
6737	  stuff for now, since the NumericRanges is no longer on trunk.
6738
6739Tue Feb 02 15:59:14 GMT 2010  Richard Boulton <richard@tartarus.org>
6740
6741	* common/replication.h: Put the ReplicationInfo, DatabaseMaster and
6742	  DatabaseReplica symbols back into public visibility - they're
6743	  needed for the tests, and for the command line scripts.
6744
6745Tue Feb 02 15:06:44 GMT 2010  Richard Boulton <richard@tartarus.org>
6746
6747	* api/matchspy.cc,include/xapian/matchspy.h,tests/api_matchspy.cc:
6748	  Remove NumericRanges from trunk - their API is still uncertain,
6749	  so I want to do a bit more development work on them on the
6750	  matchspy branch before committing to support them for several
6751	  years.
6752
6753Tue Feb 02 13:45:24 GMT 2010  Richard Boulton <richard@tartarus.org>
6754
6755	* api/replication.cc,backends/brass/brass_database.cc,
6756	  backends/chert/chert_database.cc,backends/flint/flint_database.cc,
6757	  common/,include/Makefile.mk,include/xapian/replication.h,
6758	  net/replicatetcpclient.cc,net/replicatetcpserver.cc,
6759	  tests/generate-api_generated: Move replication support out of the
6760	  public API headers and public symbol visibility.  Access to
6761	  replication, for now, is via the command-line scripts: this is
6762	  similiar to the access to running a remote database server, and
6763	  the access to database compaction and checking.  See ticket #347
6764	  for some commentary.
6765
6766Tue Feb 02 07:22:28 GMT 2010  Olly Betts <olly@survex.com>
6767
6768	* Backport change from chert:
6769	* backends/flint/flint_alltermslist.h,backends/flint/flint_spelling.h,
6770	  backends/flint/flint_spellingwordslist.h: Add missing std::
6771	  qualifiers.
6772
6773Tue Feb 02 07:12:51 GMT 2010  Olly Betts <olly@survex.com>
6774
6775	* docs/doxygen_api.conf.in: Add generated include/xapian/error.h so
6776	  that Xapian::Error and subclass API docs are collated for a VPATH
6777	  build.
6778	* docs/Makefile.am: Add regression test to make sure doxygen collated
6779	  API docs for Xapian::RuntimeError.
6780
6781Tue Feb 02 06:52:55 GMT 2010  Olly Betts <olly@survex.com>
6782
6783	* Backport change from brass:
6784	* backends/chert/chert_alltermslist.h,backends/chert/chert_spelling.h,
6785	  backends/chert/chert_spellingwordslist.h: Add missing std::
6786	  qualifiers.
6787
6788Tue Feb 02 01:34:52 GMT 2010  Richard Boulton <richard@tartarus.org>
6789
6790	* docs/replication.rst: Add note about not using reopen() with
6791	  databases being updated by the replication client.
6792
6793Tue Feb 02 01:17:34 GMT 2010  Richard Boulton <richard@tartarus.org>
6794
6795	* api/matchspy.cc,docs/categorisation.rst,include/xapian/matchspy.h,
6796	  tests/api_matchspy.cc: Remove score_evenness(), since it turned
6797	  out to be of little or no use in practical situations.  See
6798	  ticket #435 for more details.
6799
6800Mon Feb 01 21:53:41 GMT 2010  Olly Betts <olly@survex.com>
6801
6802	* backends/brass/brass_table.cc,backends/chert/chert_table.cc: Use
6803	  LOGCALL_VOID for add() methods which now return void.
6804
6805Mon Feb 01 21:50:05 GMT 2010  Olly Betts <olly@survex.com>
6806
6807	* Backport change from brass:
6808	* backends/flint/flint_table.cc,backends/flint/flint_table.h:
6809	  Fix documentation comments for FlintTable::add() and
6810	  FlintTable::del() - errors actually cause exceptions, not a false
6811	  return value, and del() returns true if it actually removed an entry.
6812	  Fix FlintTable::add() to throw an exception for the (hopefully never
6813	  hit) case when the tag value is too insanely large to handle.  With
6814	  that FlintTable::add() always returns true, and we never check the
6815	  return value anyway, so just make it return void.
6816
6817Mon Feb 01 21:37:33 GMT 2010  Olly Betts <olly@survex.com>
6818
6819	* Backport change from brass:
6820	* backends/chert/chert_table.cc,backends/chert/chert_table.h:
6821	  Fix documentation comments for ChertTable::add() and
6822	  ChertTable::del() - errors actually cause exceptions, not a false
6823	  return value, and del() returns true if it actually removed an entry.
6824	  Fix ChertTable::add() to throw an exception for the (hopefully never
6825	  hit) case when the tag value is too insanely large to handle.  With
6826	  that ChertTable::add() always returns true, and we never check the
6827	  return value anyway, so just make it return void.
6828
6829Mon Feb 01 16:02:27 GMT 2010  Richard Boulton <richard@tartarus.org>
6830
6831	* bin/xapian-check-brass.cc,bin/xapian-check-chert.cc: Fix checking
6832	  of the METAINFO key in chert and brass.  For small databases, the
6833	  statistics fit in few enough bytes that the trailing
6834	  unpack_uint_last() moved to end, so errors weren't being
6835	  reported, but for large databases the check was incorrectly
6836	  reporting an error.
6837
6838Mon Feb 01 09:24:14 GMT 2010  Olly Betts <olly@survex.com>
6839
6840	* backends/brass/brass_table.cc,backends/brass/brass_table.h:
6841	  Fix documentation comments for BrassTable::add() and
6842	  BrassTable::del() - errors actually cause exceptions, not a false
6843	  return value, and del() returns true if it actually removed an entry.
6844	  Fix BrassTable::add() to throw an exception for the (hopefully never
6845	  hit) case when the tag value is too insanely large to handle.  With
6846	  that BrassTable::add() always returns true, and we never check the
6847	  return value anyway, so just make it return void.
6848
6849Mon Feb 01 01:45:09 GMT 2010  Olly Betts <olly@survex.com>
6850
6851	* backends/brass/brass_alltermslist.h,backends/brass/brass_spelling.h,
6852	  backends/brass/brass_spellingwordslist.h: Add missing std::
6853	  qualifiers.
6854
6855Mon Feb 01 00:57:21 GMT 2010  Olly Betts <olly@survex.com>
6856
6857	* backends/flint/flint_spelling.h: Add missing std:: qualifier.
6858
6859Mon Feb 01 00:52:27 GMT 2010  Olly Betts <olly@survex.com>
6860
6861	* backends/brass/brass_spelling.h,backends/chert/chert_spelling.h:
6862	  Add missing std:: qualifier.
6863
6864Sun Jan 31 23:35:52 GMT 2010  Olly Betts <olly@survex.com>
6865
6866	* backends/chert/chert_termlisttable.cc,
6867	  backends/chert/chert_termlisttable.h: Remove
6868	  ChertTermListTable::get_doclength() as it is no longer used.
6869
6870Sun Jan 31 23:19:50 GMT 2010  Olly Betts <olly@survex.com>
6871
6872	* backends/brass/brass_termlisttable.cc,
6873	  backends/brass/brass_termlisttable.h: Remove
6874	  BrassTermListTable::get_doclength() as it is no longer used.
6875
6876Sun Jan 31 09:19:39 GMT 2010  Olly Betts <olly@survex.com>
6877
6878	* bin/xapian-inspect.cc: "until" improvements:
6879	  + No longer reports the current key and tag.
6880	  + If passed a key before the current one, no longer silently advances
6881	    to the next key.
6882	  + Explicitly says if the specified key doesn't exist, including where
6883	    we ended up.
6884
6885Sun Jan 31 00:19:41 GMT 2010  Olly Betts <olly@survex.com>
6886
6887	* tests/api_compact.cc: Use a single Document object rather than
6888	  creating the same one 10000 times.
6889
6890Sun Jan 31 00:08:38 GMT 2010  Olly Betts <olly@survex.com>
6891
6892	* tests/api_compact.cc: Move make_multichunk_db() before the testcase
6893	  which uses it, rather than between two helper functions for another
6894	  testcase.
6895
6896Sun Jan 31 00:07:03 GMT 2010  Olly Betts <olly@survex.com>
6897
6898	* tests/api_compact.cc: Remove confusing comment, cut-and-pasted from
6899	  elsewhere and not relevant here.
6900
6901Fri Jan 29 06:13:18 GMT 2010  Olly Betts <olly@survex.com>
6902
6903	* backends/brass/brass_metadata.cc,backends/chert/chert_metadata.cc,
6904	  backends/flint/flint_metadata.cc: Correct filenames in @file.
6905
6906Thu Jan 28 22:34:03 GMT 2010  Richard Boulton <richard@tartarus.org>
6907
6908	* tests/api_compact.cc: Add check that xapian-compact works
6909	  correctly on a database with multiple chunks for a single term;
6910	  this is a regression test for ticket #427
6911
6912Thu Jan 28 22:33:16 GMT 2010  Richard Boulton <richard@tartarus.org>
6913
6914	* bin/xapian-compact-brass.cc,bin/xapian-compact-chert.cc: Don't
6915	  cut the extra byte of doclen chunk keys.
6916
6917Thu Jan 28 21:23:48 GMT 2010  Richard Boulton <richard@tartarus.org>
6918
6919	* bin/xapian-compact-flint.cc: Revert previous patch for flint - it
6920	  only applies to new key format used by chert and brass.
6921
6922Thu Jan 28 21:13:38 GMT 2010  Richard Boulton <richard@tartarus.org>
6923
6924	* bin/xapian-compact-brass.cc,bin/xapian-compact-chert.cc,
6925	  bin/xapian-compact-flint.cc: Partial fix for #427: truncate
6926	  follow-on keys for postlist chunks fully (was leaving the
6927	  trailing 0-byte, causing the code for chert and brass to
6928	  incorrectly think a new chunk had started, resulting in a
6929	  truncated posting list.
6930
6931Thu Jan 28 20:42:47 GMT 2010  Richard Boulton <richard@tartarus.org>
6932
6933	* bin/xapian-inspect.cc: Add "until" command to display keys until
6934	  a specified one.  Useful for seeing all keys for a particular
6935	  posting list, etc.
6936
6937Thu Jan 28 01:31:54 GMT 2010  Olly Betts <olly@survex.com>
6938
6939	* tests/dbcheck.cc: Whitespace tweak.
6940
6941Wed Jan 27 06:29:21 GMT 2010  Olly Betts <olly@survex.com>
6942
6943	* tests/dbcheck.cc: <config.h> not "config.h".
6944
6945Wed Jan 27 04:20:42 GMT 2010  Olly Betts <olly@survex.com>
6946
6947	* backends/brass/brass_inverter.h: Make two getters const.
6948
6949Wed Jan 27 04:01:17 GMT 2010  Olly Betts <olly@survex.com>
6950
6951	* backends/chert/chert_database.cc,backends/chert/chert_database.h,
6952	  backends/flint/flint_database.cc,backends/flint/flint_database.h:
6953	  Add ChertWritableDatabase::insert_mod_plist() to handle the simpler
6954	  case where we know the document doesn't already exist, to avoid
6955	  adding extra code to that common path over the code we had before
6956	  the #250-related changes.
6957
6958Tue Jan 26 03:25:59 GMT 2010  Olly Betts <olly@survex.com>
6959
6960	* tests/internaltest.cc: In testcase pack_uint_preserving_sort1, use
6961	  data() not c_str(), calculate the end position just once, and use
6962	  swap to copy the current packed to prev_packed.
6963
6964Fri Jan 15 12:51:38 GMT 2010  Olly Betts <olly@survex.com>
6965
6966	* backends/chert/chert_database.cc,backends/flint/flint_database.cc:
6967	  Fix to use 'M' as the flag character for modified entries in
6968	  modplists (not 'U').  We never explicitly check for 'M' (we check for
6969	  'A' vs 'D' vs something else), so this isn't a functional change,
6970	  but rather making the values consistent (as they were before the
6971	  fix for #250).
6972
6973Fri Jan 15 08:25:14 GMT 2010  Olly Betts <olly@survex.com>
6974
6975	* backends/chert/chert_database.cc,backends/chert/chert_database.h,
6976	  backends/flint/flint_database.cc,backends/flint/flint_database.h:
6977	  Use Xapian::termcount_diff instead of Xapian::termcount for
6978	  parameters of add_freq_delta() which can be signed.  Fix parameter
6979	  docs to say "change" instead of "increase".
6980
6981Fri Jan 15 06:05:28 GMT 2010  Olly Betts <olly@survex.com>
6982
6983	* tests/api_replacedoc.cc: Just test that begin == end when we expect
6984	  no positions rather than generating a string representation and
6985	  then testing if it is empty.
6986
6987Thu Jan 14 11:17:36 GMT 2010  Olly Betts <olly@survex.com>
6988
6989	* HACKING: Auto-enabling of -Werror is now done for GCC 4.1 or newer.
6990
6991Thu Jan 14 05:06:42 GMT 2010  Olly Betts <olly@survex.com>
6992
6993	* HACKING: Include the MIT licence text in HACKING itself.
6994	* COPYING_MIT: Remove external copy of text - it could mislead users
6995	  into thinking that this is the current licence of Xapian.
6996
6997Sun Jan 10 07:36:16 GMT 2010  Olly Betts <olly@survex.com>
6998
6999	* configure.ac:With --enable-maintainer-mode, enable -Werror for GCC
7000	  >= 4.1 rather than >= 4.0 as Apple's GCC 4.0 gives bogus
7001	  uninitialised variable warnings for pack.h.
7002
7003Sat Jan 09 00:56:06 GMT 2010  Olly Betts <olly@survex.com>
7004
7005	* queryparser/queryparser.lemony: Add support for quoting boolean terms
7006	  so they can contain arbitrary characters (partly addresses
7007	  ticket#128).
7008	* tests/queryparsertest.cc: Add test coverage.
7009
7010Fri Jan 08 13:25:25 GMT 2010  Richard Boulton <richard@tartarus.org>
7011
7012	* tests/api_compact.cc: Add copyright note for my changes committed
7013	  earlier today.
7014
7015Fri Jan 08 12:19:07 GMT 2010  Olly Betts <olly@survex.com>
7016
7017	* bin/xapian-compact-brass.cc,bin/xapian-compact-chert.cc: Fix merging
7018	  of databases by xapian-compact for brass and chert.
7019	* tests/api_compact.cc: Enable test compactmerge1 for brass and chert
7020	  as a regression test.
7021
7022Fri Jan 08 11:26:41 GMT 2010  Olly Betts <olly@survex.com>
7023
7024	* backends/brass/brass_database.cc,backends/chert/chert_database.cc,
7025	  backends/flint/flint_database.cc: Rearrange comparison between old
7026	  and new termlists to avoid double check of termlist.at_end().
7027
7028Fri Jan 08 11:22:30 GMT 2010  Richard Boulton <richard@tartarus.org>
7029
7030	* tests/api_compact.cc: Add test of xapian-compact when merging
7031	  databases.  Currently, the generated databases are broken for
7032	  chert and brass, so skipping the test for those to avoid breaking
7033	  the snapshotter.
7034
7035Fri Jan 08 11:13:13 GMT 2010  Richard Boulton <richard@tartarus.org>
7036
7037	* tests/: Move routines for helping to check database contents and
7038	  consistency into dbcheck.cc, with headers in dbcheck.h.
7039
7040Fri Jan 08 10:07:09 GMT 2010  Richard Boulton <richard@tartarus.org>
7041
7042	* tests/internaltest.cc: Add test_pack_uint_preserving_sort1()
7043	  which I wrote when suspicious of that function - passes fine, but
7044	  probably worth keeping the test coverage.
7045
7046Fri Jan 08 00:23:06 GMT 2010  Olly Betts <olly@survex.com>
7047
7048	* AUTHORS: Add Henry Combrinck for Search::Xapian patches.
7049
7050Thu Jan 07 15:51:57 GMT 2010  Richard Boulton <richard@tartarus.org>
7051
7052	* api/postingsource.cc: For ValueWeightPostingSources for which
7053	  there are no entries, the upper bound returned will be an empty
7054	  string, which translated to -inf when passed to
7055	  sortable_unserialise().  This was causing the matcher to get
7056	  confused and return no results in some queries involving such a
7057	  posting source.  This commit fixes this.
7058	* tests/api_postingsource.cc: Add emptyvalwtsource1 as a regression
7059	  test for this, and a general test of this area of code.
7060
7061Thu Jan 07 09:17:58 GMT 2010  Olly Betts <olly@survex.com>
7062
7063	* backends/brass/brass_inverter.h: Fix comment typo.
7064
7065Wed Dec 30 11:46:45 GMT 2009  Richard Boulton <richard@tartarus.org>
7066
7067	* backends/brass/brass_database.cc,backends/chert/chert_database.cc,
7068	  backends/flint/flint_database.cc: When updating documents, don't
7069	  update posting entries which havn't changed.  Largely fixes
7070	  ticket #250.
7071	* AUTHORS: Add Kan-Ru Chen, since his patch attached to ticket #250
7072	  was the basis of this fix.
7073
7074Wed Dec 30 11:44:18 GMT 2009  Richard Boulton <richard@tartarus.org>
7075
7076	* backends/brass/brass_inverter.h: Add methods for updating an
7077	  existing posting, so we don't have to remove then re-add it.
7078
7079Wed Dec 30 11:41:57 GMT 2009  Richard Boulton <richard@tartarus.org>
7080
7081	* backends/brass/brass_database.h: Remove old unused members:
7082	  total_length and lastdocid.
7083
7084Wed Dec 30 01:07:04 GMT 2009  Richard Boulton <richard@tartarus.org>
7085
7086	* backends/chert/chert_database.h: Remove old unused members:
7087	  total_length and lastdocid.
7088
7089Wed Dec 30 00:21:03 GMT 2009  Richard Boulton <richard@tartarus.org>
7090
7091	* backends/chert/chert_database.cc,backends/chert/chert_database.h,
7092	  backends/flint/flint_database.cc,backends/flint/flint_database.h:
7093	  Move frequently repeated code for updating the freq_deltas and
7094	  mod_plists items into separate functions.  Makes the code
7095	  considerably clearer, and prepares the way for applying the patch
7096	  to fix ticket #250.
7097
7098Wed Dec 30 00:07:33 GMT 2009  Richard Boulton <richard@tartarus.org>
7099
7100	* tests/api_replacedoc.cc: Add a few more sequences of operations
7101	  which look worth testing, after looking at the code implementing
7102	  replace_document().
7103
7104Tue Dec 29 22:29:08 GMT 2009  Richard Boulton <richard@tartarus.org>
7105
7106	* tests/api_replacedoc.cc: Check consistency of the posting lists
7107	  with the termlists, and consistency of the statistics, at each
7108	  step of modtermwdf1.  Also, add some other terms to the document,
7109	  so we can check the stored doclength for terms which haven't been
7110	  modified.
7111
7112Sun Dec 27 14:56:16 GMT 2009  Richard Boulton <richard@tartarus.org>
7113
7114	* backends/chert/chert_modifiedpostlist.cc,
7115	  backends/flint/flint_modifiedpostlist.cc: Report the wdf from the
7116	  modifications, rather the sum of the wdf from the modifications
7117	  and the old wdf.  The old behaviour was just wrong, but we had no
7118	  test coverage for this until the last commit.
7119
7120Sun Dec 27 13:34:06 GMT 2009  Richard Boulton <richard@tartarus.org>
7121
7122	* tests/api_replacedoc.cc: Add test of the contents of the
7123	  postlist of a term which is being modified.  Also, tidy up the
7124	  output of docterms_to_string() to skip any empty position lists.
7125
7126Sat Dec 26 19:21:19 GMT 2009  Richard Boulton <richard@tartarus.org>
7127
7128	* tests/api_replacedoc.cc: Extend test to cover removing a term but
7129	  not deleting it, and finally deleting the document.
7130
7131Thu Dec 24 19:18:41 GMT 2009  Richard Boulton <richard@tartarus.org>
7132
7133	* tests/api_replacedoc.cc: Expand test to cover some modification
7134	  to the positional information.
7135
7136Thu Dec 24 19:06:32 GMT 2009  Richard Boulton <richard@tartarus.org>
7137
7138	* tests/api_replacedoc.cc: Add some more sets of modification
7139	  operations to the tests.
7140
7141Thu Dec 24 18:55:37 GMT 2009  Richard Boulton <richard@tartarus.org>
7142
7143	* tests/api_replacedoc.cc: Add test modtermwdf1, which tests a lot
7144	  more cases where documents are modified.
7145
7146Thu Dec 24 14:36:38 GMT 2009  Olly Betts <olly@survex.com>
7147
7148	* tests/: Canonicalise the conditions on testcases.
7149
7150Thu Dec 24 14:08:59 GMT 2009  Olly Betts <olly@survex.com>
7151
7152	* tests/api_closedb.cc: Fix typo in last commit.
7153
7154Thu Dec 24 13:39:28 GMT 2009  Olly Betts <olly@survex.com>
7155
7156	* tests/api_closedb.cc: Check WritableDatabase::close() during a
7157	  transaction does *NOT* implicitly call commit().
7158
7159Thu Dec 24 13:07:09 GMT 2009  Olly Betts <olly@survex.com>
7160
7161	* backends/brass/brass_database.cc,backends/brass/brass_database.h,
7162	  backends/chert/chert_database.cc,backends/chert/chert_database.h,
7163	  backends/flint/flint_database.cc,backends/flint/flint_database.h:
7164	  Fix WritableDatabase::close() to commit() changes (unless a
7165	  transaction is in progress).
7166	* tests/api_closedb.cc: Add regression test closedb4.
7167
7168Wed Dec 23 00:26:34 GMT 2009  Olly Betts <olly@survex.com>
7169
7170	* backends/brass/brass_database.cc,backends/brass/brass_inverter.cc,
7171	  backends/brass/brass_inverter.h: For allterms iteration of a
7172	  WritableDatabase, if a prefix is specified only flush changes for
7173	  terms with that prefix.  Also, don't flush document lengths for
7174	  allterms iteration.
7175
7176Tue Dec 22 22:48:55 GMT 2009  Olly Betts <olly@survex.com>
7177
7178	* bin/xapian-check.cc: Fixed reversed checks for chert and flint being
7179	  enabled in r13781.
7180
7181Tue Dec 22 14:20:24 GMT 2009  Olly Betts <olly@survex.com>
7182
7183	* tests/harness/testrunner.cc: Add brass variants of multi and remote
7184	  backends.
7185
7186Tue Dec 22 14:15:43 GMT 2009  Olly Betts <olly@survex.com>
7187
7188	* bin/: Implement xapian-check and xapian-compact support for brass.
7189
7190Tue Dec 22 13:41:08 GMT 2009  Olly Betts <olly@survex.com>
7191
7192	* bin/: Split the chert-specific checking code into a separate file
7193	  so xapian-check.cc is just the driver code.
7194
7195Tue Dec 22 12:47:59 GMT 2009  Olly Betts <olly@survex.com>
7196
7197	* backends/brass/: Add new Inverter class to encapsulate the inversion
7198	  data structures and associated code.  Instead of carefully iterating
7199	  modified posting lists and document length lists, just flush the
7200	  particular list needed to disk and iterate that.  This is much
7201	  simpler and more obviously free of subtle bugs, and means we don't
7202	  need to use data structures which allow such iteration.
7203
7204Tue Dec 22 12:25:04 GMT 2009  Olly Betts <olly@survex.com>
7205
7206	* backends/brass/,backends/dbfactory.cc,include/xapian/dbfactory.h,
7207	  include/xapian/valueiterator.h,include/xapian/version_h.cc,
7208	  tests/harness/Makefile.mk: Fix to actually build brass.  Testsuite
7209	  doesn't currently all pass.
7210
7211Tue Dec 22 04:26:17 GMT 2009  Olly Betts <olly@survex.com>
7212
7213	* HACKING,INSTALL,backends/Makefile.mk,backends/brass/,
7214	  backends/chert/dir_contents,backends/databasereplicator.cc,
7215	  backends/dbfactory.cc,common/pack.h,configure.ac,docs/,tests/,
7216	  tests/harness/: Add new development backend called "brass" and
7217	  promote "chert" to being the stable backend.
7218
7219Mon Dec 21 09:41:57 GMT 2009  Olly Betts <olly@survex.com>
7220
7221	* backends/chert/chert_database.cc: Update comment about
7222	  MAX_SAFE_TERM_LENGTH to reflect the key format changes.
7223
7224Mon Dec 21 08:12:55 GMT 2009  Olly Betts <olly@survex.com>
7225
7226	* backends/chert/chert_alldocsmodifiedpostlist.cc,
7227	  backends/chert/chert_alldocsmodifiedpostlist.h: Change reference
7228	  parameter to const reference.
7229
7230Mon Dec 21 03:19:09 GMT 2009  Olly Betts <olly@survex.com>
7231
7232	* backends/chert/chert_database.cc,backends/flint/flint_database.cc:
7233	  Replacing a document deleted since the last flush failed to update
7234	  the collection frequency and wdf, and caused an assertion failure
7235	  when assertions were enabled.
7236	* tests/api_backend.cc: Add regression test replacedoc8.
7237
7238Sun Dec 20 07:26:30 GMT 2009  Olly Betts <olly@survex.com>
7239
7240	* configure.ac: Divert to AS_MESSAGE_LOG_FD rather than literal fd 5.
7241	  Divert more output to AS_MESSAGE_LOG_FD rather than /dev/null.
7242
7243Thu Dec 17 13:53:31 GMT 2009  Olly Betts <olly@survex.com>
7244
7245	* NEWS: Update from ChangeLog.
7246
7247Thu Dec 17 13:36:54 GMT 2009  Olly Betts <olly@survex.com>
7248
7249	* Backport change from chert:
7250	* backends/flint/flint_alltermslist.cc: Tweak to not apply the
7251	  prefix test in the "at end" case.
7252	* backends/flint/flint_alltermslist.cc: There's no point checking
7253	  follow-on chunks match the prefix - the first chunk we'll hit
7254	  which doesn't match has to be an initial chunk for a term.
7255
7256Thu Dec 17 11:57:31 GMT 2009  Olly Betts <olly@survex.com>
7257
7258	* tests/api_replacedoc.cc: Fix to test the right variable.
7259
7260Thu Dec 17 11:16:51 GMT 2009  Olly Betts <olly@survex.com>
7261
7262	* tests/api_wrdb.cc: The regression test replacedoc5 no longer actually
7263	  checks for the situation it was written for, due to the shortcutting
7264	  we now do in flint and chert when replacing a document with itself,
7265	  so extend it with a check with that behaviour suppressed (fortunately
7266	  it still passes).
7267
7268Wed Dec 16 12:03:13 GMT 2009  Olly Betts <olly@survex.com>
7269
7270	* backends/chert/,bin/Makefile.mk,common/pack.h: Change the packing
7271	  of uints and strings into sortable keys in chert databases, which
7272	  reduces database size by 2.5% in tests.  This means an incompatible
7273	  change in the chert format.
7274	* bin/xapian-chert-update.cc: Utility to update a chert database from
7275	  the old format to the new format.  It works much like xapian-compact
7276	  so should take a similar amount of time (and results in a compact
7277	  database).
7278	* tests/api_wrdb.cc: Adjust the test which checks a string of zero
7279	  bytes fails in the correct way - 126 zero bytes is now handled, so
7280	  we need 127 to check the failure mode.
7281
7282Wed Dec 16 11:52:27 GMT 2009  Olly Betts <olly@survex.com>
7283
7284	* bin/xapian-compact.cc: Ensure that the resultant database has a
7285	  fresh UUID (previously chert copied the UUID from the first input,
7286	  while flint didn't set a UUID so one was generated on demand when
7287	  next requested, if the database is writable.
7288	* tests/api_compact.cc: Add tests that a UUID is set and that it is
7289	  different from that of the input.
7290
7291Wed Dec 16 09:57:27 GMT 2009  Olly Betts <olly@survex.com>
7292
7293	* examples/quest.cc: If no database is specified, still parse the query
7294	  and report get_description() on it as this provides a useful way to
7295	  see how a query parses.
7296
7297Wed Dec 16 00:40:51 GMT 2009  Olly Betts <olly@survex.com>
7298
7299	* languages/german.sbl,languages/german2.sbl: Update the german and
7300	  german2 stemming algorithms to the latest versions from Snowball.
7301	  These add an extra rule for the "-nisse" ending.
7302
7303Tue Dec 15 13:08:33 GMT 2009  Olly Betts <olly@survex.com>
7304
7305	* bin/: Split apart the flint and chert compaction code.  Should be
7306	  no change in functionality.
7307
7308Tue Dec 15 10:11:10 GMT 2009  Olly Betts <olly@survex.com>
7309
7310	* backends/chert/chert_alltermslist.cc: Tweak to not apply the
7311	  prefix test in the "at end" case.
7312
7313Tue Dec 15 09:40:19 GMT 2009  Olly Betts <olly@survex.com>
7314
7315	* backends/chert/chert_alltermslist.cc: There's no point checking
7316	  follow-on chunks match the prefix - the first chunk we'll hit
7317	  which doesn't match has to be an initial chunk for a term.
7318
7319Tue Dec 15 08:24:04 GMT 2009  Olly Betts <olly@survex.com>
7320
7321	* include/xapian/: Convert DerefStringWrapper_ to a templated
7322	  DerefWrapper_ and use it instead of DocIDWrapper and TermPosWrapper.
7323
7324Tue Dec 15 08:23:08 GMT 2009  Olly Betts <olly@survex.com>
7325
7326	* include/xapian/query.h: Mark Query::Internal as @private for doxygen.
7327
7328Tue Dec 15 03:59:44 GMT 2009  Olly Betts <olly@survex.com>
7329
7330	* common/pack.h: Return false not true if
7331	  unpack_string_preserving_sort() fails.  Add assertions that the
7332	  source pointer isn't NULL to all the functions.
7333
7334Tue Dec 15 02:30:24 GMT 2009  Olly Betts <olly@survex.com>
7335
7336	* examples/delve.cc: Improve phrasing ("unique terms" -> "distinct
7337	  terms").
7338
7339Sat Dec 12 13:07:51 GMT 2009  Richard Boulton <richard@tartarus.org>
7340
7341	* tests/Makefile.am,tests/api_posdb.cc,tests/api_replacedoc.cc:
7342	  Split my recently added replacedoc test out into a new file.
7343
7344Sat Dec 12 12:58:22 GMT 2009  Richard Boulton <richard@tartarus.org>
7345
7346	* tests/api_posdb.cc: Extend test of document modification to cover
7347	  removing the last term in the document, too.
7348
7349Sat Dec 12 12:57:43 GMT 2009  Richard Boulton <richard@tartarus.org>
7350
7351	* backends/chert/chert_database.cc,backends/flint/flint_database.cc:
7352	  Fix comparison of old term with new.
7353
7354Sat Dec 12 11:30:23 GMT 2009  Richard Boulton <richard@tartarus.org>
7355
7356	* backends/chert/chert_database.cc,backends/flint/flint_database.cc,
7357	  tests/api_posdb.cc: Delete old positionlist chunks in
7358	  replace_document().  Uncomment part of test which tested this.
7359
7360Sat Dec 12 04:24:42 GMT 2009  Olly Betts <olly@survex.com>
7361
7362	* backends/chert/chert_database.cc,backends/flint/flint_database.cc,
7363	  common/document.h: If a document is replaced with itself unmodified,
7364	  we no longer increase the automatic flush counter.
7365	* tests/api_backend.cc: Add regression test replacedoc7.
7366
7367Fri Dec 11 19:39:34 GMT 2009  Richard Boulton <richard@tartarus.org>
7368
7369	* tests/api_posdb.cc: Add a basic test of adding a document, and
7370	  modifying its positions.  Found one bug already, but the line
7371	  which triggers this is commented out for now so that we don't
7372	  break the snapshotters until it's fixed.
7373
7374Fri Dec 11 16:51:22 GMT 2009  Richard Boulton <richard@tartarus.org>
7375
7376	* common/documentterm.h: Fix some documentation comments which were
7377	  trivially incorrect or incomplete.
7378
7379Fri Dec 11 11:05:19 GMT 2009  Richard Boulton <richard@tartarus.org>
7380
7381	* COPYING_MIT,HACKING: Add details of our policy for accepting
7382	  patches.  This has informally been true for a while, but it
7383	  probably helps to tell people about it!
7384
7385Tue Dec 08 13:15:28 GMT 2009  Olly Betts <olly@survex.com>
7386
7387	* backends/chert/chert_cursor.h: Fix to build with --enable-assertions.
7388
7389Tue Dec 08 13:05:36 GMT 2009  Olly Betts <olly@survex.com>
7390
7391	* backends/chert/chert_cursor.cc,backends/chert/chert_cursor.h,
7392	  backends/chert/chert_postlist.cc: Add MutableChertCursor subclass of
7393	  ChertCursor and implement del() there rather than in ChertCursor.
7394	  This means we can use the C++ type system to track whether we got
7395	  a const or non-const ChertTable * and so whether it is safe to
7396	  cast away that const and delete the entry the cursor points to.
7397
7398Tue Dec 08 12:03:08 GMT 2009  Olly Betts <olly@survex.com>
7399
7400	* backends/chert/chert_database.cc,backends/chert/chert_table.cc,
7401	  backends/chert/chert_table.h,backends/flint/flint_database.cc,
7402	  backends/flint/flint_table.cc,backends/flint/flint_table.h,
7403	  bin/xapian-compact.cc,bin/xapian-inspect.cc: Add empty() method to
7404	  FlintTable and ChertTable which works completely reliably even if
7405	  the item count has wrapped.
7406	* tests/api_closedb.cc: Add closedb3 for coverage of get_doccount() and
7407	  has_positions().
7408
7409Tue Dec 08 08:23:12 GMT 2009  Olly Betts <olly@survex.com>
7410
7411	* backends/chert/chert_cursor.h: Tweak whitespace in comment.
7412
7413Mon Dec 07 04:56:42 GMT 2009  Olly Betts <olly@survex.com>
7414
7415	* backends/flint/flint_database.cc,backends/flint/flint_synonym.h:
7416	  Eliminate "size" private member of FlintSynonymTermList which is set
7417	  but never used.
7418
7419Mon Dec 07 04:49:54 GMT 2009  Olly Betts <olly@survex.com>
7420
7421	* backends/chert/chert_database.cc,backends/chert/chert_synonym.h:
7422	  Eliminate "size" private member of ChertSynonymTermList which is set
7423	  but never used.
7424
7425Mon Dec 07 04:32:46 GMT 2009  Olly Betts <olly@survex.com>
7426
7427	* backends/chert/: Use > 32 bit type to keep count of items in a
7428	  table.  This fixes misreporting by xapian-check, and in the very
7429	  unlikely case where the counter has just wrapped to 0, makes
7430	  xapian-compact not mistakenly think tables are empty and the
7431	  matcher ignore positional information.
7432
7433Thu Dec 03 10:08:28 GMT 2009  Richard Boulton <richard@tartarus.org>
7434
7435	* tests/api_compact.cc: Cast character value in string constructor
7436	  to a char; without this we were getting a stack overflow and
7437	  general nastiness on i386, which we hypothesise was due to the
7438	  wrong overload for string() being picked.
7439
7440Wed Dec 02 23:10:50 GMT 2009  Olly Betts <olly@survex.com>
7441
7442	* backends/flint_lock.cc: Add missing include of xapian/error.h.
7443	  This was causing the snapshot builder to fail, but worked OK
7444	  in my tree for reasons I don't understand.
7445
7446Wed Dec 02 14:30:40 GMT 2009  Olly Betts <olly@survex.com>
7447
7448	* backends/chert/chert_database.cc,
7449	  backends/chert/chert_databasereplicator.cc,
7450	  backends/flint/flint_database.cc,
7451	  backends/flint/flint_databasereplicator.cc,backends/flint_lock.cc,
7452	  backends/flint_lock.h: Factor out 4 copies of the same code to
7453	  report why Xapian failed to get a lock.
7454
7455Wed Dec 02 10:05:27 GMT 2009  Olly Betts <olly@survex.com>
7456
7457	* backends/Makefile.mk,backends/chert/,backends/flint/,
7458	  backends/flint_lock.cc,backends/flint_lock.h: Factor out a single
7459	  version of the "flint-compatible locking code" and use it from both
7460	  flint and chert.
7461
7462Wed Dec 02 02:49:14 GMT 2009  Olly Betts <olly@survex.com>
7463
7464	* tests/api_compact.cc,tests/apitest.cc,tests/apitest.h,
7465	  tests/harness/backendmanager.cc,tests/harness/backendmanager.h: Add
7466	  get_database_path() variant which takes a generator function and use
7467	  it so that the right database names are used in compactnorenumber1.
7468
7469Tue Dec 01 12:37:24 GMT 2009  Olly Betts <olly@survex.com>
7470
7471	* tests/apitest.cc,tests/harness/backendmanager.cc,
7472	  tests/harness/backendmanager.h: Move generator function variant of
7473	  get_database() to BackendManager, and tweak it to build the database
7474	  under a temporary path and rename it once built, to avoid leaving a
7475	  partial database in place if interrupted.
7476	* tests/perftest/perftest_matchdecider.cc: Use this mechanism to lazily
7477	  generate test databases.
7478	* tests/harness/: Remove the optional name parameter from various
7479	  BackendManager methods as it was only used by perftest and is no
7480	  longer needed.
7481
7482Tue Dec 01 11:00:35 GMT 2009  Olly Betts <olly@survex.com>
7483
7484	* tests/apitest.cc,tests/apitest.h: Add mechanism for caching databases
7485	  generated by a function.
7486	* tests/api_compact.cc: Use it for compactnorenumber1.
7487
7488Tue Dec 01 10:59:50 GMT 2009  Olly Betts <olly@survex.com>
7489
7490	* tests/api_db.cc: Rename matchfunctor<n> to matchdecider<n> to match
7491	  current terminology.
7492
7493Tue Dec 01 10:51:23 GMT 2009  Olly Betts <olly@survex.com>
7494
7495	* tests/api_db.cc: Don't run matchfunctor3 under remote backends as
7496	  MatchDecider isn't actually supported there (uncovered by recent
7497	  change to throw UnimplementedError in this case).
7498
7499Tue Dec 01 09:35:53 GMT 2009  Richard Boulton <richard@tartarus.org>
7500
7501	* include/xapian/matchspy.h: Remove out-of-date reference to
7502	  add_slot(), which no longer exists: users are expected to use
7503	  multiple ValueCountMatchSpies if they need to monitor more than
7504	  one slot.
7505
7506Tue Dec 01 08:04:17 GMT 2009  Olly Betts <olly@survex.com>
7507
7508	* tests/Makefile.am,tests/api_compact.cc: Add test coverage for
7509	  xapian-compact --no-renumber with multiple databases.
7510
7511Tue Dec 01 06:25:47 GMT 2009  Olly Betts <olly@survex.com>
7512
7513	* tests/api_backend.cc: Clean up matchdecider4.
7514
7515Tue Dec 01 06:12:29 GMT 2009  Olly Betts <olly@survex.com>
7516
7517	* HACKING: A couple more std::string efficiency tips.
7518
7519Tue Dec 01 05:51:52 GMT 2009  Olly Betts <olly@survex.com>
7520
7521	* api/omenquire.cc,common/multimatch.h,matcher/multimatch.cc,
7522	  net/remoteserver.cc: Throw UnimplementedError if a matchdecider or
7523	  "legacy" matchspy is used with the remote backend.
7524	* tests/api_backend.cc: Add regression test matchdecider4.
7525
7526Mon Nov 30 05:42:43 GMT 2009  Olly Betts <olly@survex.com>
7527
7528	* backends/remote/remote-database.cc,common/remote-database.h,
7529	  common/remoteprotocol.h,common/remoteserver.h,
7530	  docs/remote_protocol.html,net/remoteserver.cc,tests/api_metadata.cc,
7531	  tests/harness/testrunner.cc: Add support for
7532	  WritableDatabase::set_metadata() and Database::get_metadata() to the
7533	  remote backend (based largely on patch in #178).
7534	* AUTHORS: Thanks to Paul Rudin for patch.
7535
7536Thu Nov 26 07:25:15 GMT 2009  Olly Betts <olly@survex.com>
7537
7538	* NEWS: Start to update from ChangeLog.
7539
7540Thu Nov 26 02:26:43 GMT 2009  Olly Betts <olly@survex.com>
7541
7542	* common/str.cc: Tweak the length calculation for the buffer used by
7543	  str() when converting integers to strings so that the buffer is
7544	  exactly the minimum required size for integers of size 1, 2, 4,
7545	  and 8 bytes, and only a byte extra for 16 byte integers.
7546
7547Wed Nov 25 05:59:13 GMT 2009  Olly Betts <olly@survex.com>
7548
7549	* bin/xapian-compact.cc: In the --no-renumber case, just set offset[]
7550	  entries to zero to start with rather than fixing them up later.
7551
7552Wed Nov 25 05:49:37 GMT 2009  Olly Betts <olly@survex.com>
7553
7554	* bin/xapian-compact.cc: Extend --no-renumber to support merging
7555	  databases, but only if they have disjoint ranges of used document
7556	  ids.
7557
7558Wed Nov 25 04:37:38 GMT 2009  Olly Betts <olly@survex.com>
7559
7560	* bin/xapian-compact.cc: Fix typos in --help output.
7561
7562Wed Nov 25 04:22:26 GMT 2009  Olly Betts <olly@survex.com>
7563
7564	* bin/xapian-compact.cc: Prune unused docids off the end of database
7565	  when merging multiple databases with renumbering.
7566
7567Wed Nov 25 03:12:24 GMT 2009  Olly Betts <olly@survex.com>
7568
7569	* bin/xapian-compact.cc: Use string() instead of "" and string(1, '\0')
7570	  instead of string("", 1).
7571
7572Wed Nov 25 02:34:10 GMT 2009  Olly Betts <olly@survex.com>
7573
7574	* backends/chert/chert_lock.cc: Fix locking code to work if stdin
7575	  and/or stdout have been closed.
7576	* backends/flint/flint_lock.cc: Backport fix to flint.
7577	* tests/api_backend.cc: Add regression test lockfilefd0or1.
7578
7579Wed Nov 25 00:59:05 GMT 2009  Olly Betts <olly@survex.com>
7580
7581	* backends/chert/chert_database.cc,backends/chert/chert_lock.cc,
7582	  backends/chert/chert_lock.h: Add "FDLIMIT" reason code for why
7583	  locking failing.
7584
7585Tue Nov 24 12:44:56 GMT 2009  Olly Betts <olly@survex.com>
7586
7587	* api/omdatabase.cc: Factor out throwing an exception for docid 0 not
7588	  being valid.
7589
7590Tue Nov 24 12:39:10 GMT 2009  Olly Betts <olly@survex.com>
7591
7592	* tests/api_none.cc: Note previous fix was ticket#415.
7593
7594Tue Nov 24 12:33:12 GMT 2009  Olly Betts <olly@survex.com>
7595
7596	* api/omdatabase.cc: Fix many Xapian::Database methods to behave better
7597	  on a database with no subdatabases, such as is constructed by
7598	  Database().
7599	* tests/Makefile.am,tests/api_nodb.cc,tests/api_none.cc: Expand
7600	  emptydb_metadata1 to also regression test these other cases, and
7601	  rename to nosubdatabases1.
7602
7603Mon Nov 23 14:01:51 GMT 2009  Olly Betts <olly@survex.com>
7604
7605	* common/debuglog.h: Add "NO_ARGS" which can be used for debug logging
7606	  when a function or method takes no arguments.  The main advantage
7607	  over "" is that no extra code is generated for it.
7608	* api/omdatabase.cc: Convert to use debuglog.h fully.
7609	* api/matchspy.cc,api/omdatabase.cc: Make use of NO_ARGS.
7610
7611Mon Nov 23 09:10:55 GMT 2009  Olly Betts <olly@survex.com>
7612
7613	* backends/chert/chert_cursor.cc,backends/flint/flint_cursor.cc,
7614	  common/debuglog.cc,common/debuglog.h,common/omdebug.h,configure.ac,
7615	  matcher/multimatch.cc,queryparser/queryparser.lt: Rename
7616	  XAPIAN_DEBUG_VERBOSE macro to XAPIAN_DEBUG_LOG to better match the
7617	  user-visible "--enable-log" configure option which controls it.
7618
7619Mon Nov 23 08:08:45 GMT 2009  Olly Betts <olly@survex.com>
7620
7621	* backends/chert/chert_database.cc,backends/chert/chert_lock.cc,
7622	  backends/chert/chert_table.cc,backends/flint/: Use string() or
7623	  s.resize(0) instead of "".  Use string(1, '\0') instead of
7624	  string("", 1).
7625
7626Sun Nov 22 14:20:51 GMT 2009  Olly Betts <olly@survex.com>
7627
7628	* backends/chert/chert_postlist.cc: When skipping through a chunk of
7629	  postings to find the one we want, don't bother to unpack the wdf
7630	  values we're skipping over, which should save a significant amount
7631	  of time in certain cases where the profile data shows we spend
7632	  something like 1/3 of the time in the function where this happens.
7633
7634Sun Nov 22 13:12:39 GMT 2009  Olly Betts <olly@survex.com>
7635
7636	* api/matchspy.cc,backends/chert/chert_values.cc,
7637	  languages/steminternal.cc: Tweak whitespace after while to be
7638	  consistent.
7639
7640Sat Nov 21 17:39:23 GMT 2009  Richard Boulton <richard@tartarus.org>
7641
7642	* backends/chert/chert_values.cc,backends/chert/chert_values.h:
7643	  Make ValueChunkReader::skip_to() assign the value to a string
7644	  only when the target has been reached.  Saves a lot of
7645	  unneccessary string copying - on a benchmark of mydeco data,
7646	  improves time for 100 queries from 3.66s to 3.10s.
7647
7648Sat Nov 21 01:13:26 GMT 2009  Olly Betts <olly@survex.com>
7649
7650	* tests/: Make arrays which don't need to be modified const.
7651
7652Sat Nov 21 00:01:04 GMT 2009  Olly Betts <olly@survex.com>
7653
7654	* tests/api_matchspy.cc: The default parameter for
7655	  get_writable_database() is string(), so don't explicitly pass "".
7656
7657Fri Nov 20 16:19:13 GMT 2009  Richard Boulton <richard@tartarus.org>
7658
7659	* tests/api_matchspy.cc: Add regression test for underflow in
7660	  numeric ranges (based on python version in ticket #321).
7661
7662Fri Nov 20 10:54:08 GMT 2009  Olly Betts <olly@survex.com>
7663
7664	* matcher/valuestreamdocument.cc: Use check() instead of skip_to() in
7665	  ValueStreamDocument.
7666
7667Fri Nov 20 09:57:12 GMT 2009  Olly Betts <olly@survex.com>
7668
7669	* common/document.h,matcher/: Implement ValueStreamDocument subclass
7670	  of Xapian::Document::Internal which provides a way to connect up
7671	  valuestreams to uses of values during the match.  Other
7672	  (non-recommended) uses of the Document passed to MatchDecider, etc
7673	  are passed through to a lazily created backend Document::Internal
7674	  subclass.  This should be a lot more efficient for chert.  It's
7675	  unclear how it will affect performance for backends which don't store
7676	  values in streams - profiling is required.
7677
7678Fri Nov 20 02:35:14 GMT 2009  Olly Betts <olly@survex.com>
7679
7680	* backends/inmemory/inmemory_document.cc: Fix closedb1 on InMemory
7681	  backend, broken by recent commit.
7682
7683Thu Nov 19 12:03:52 GMT 2009  Olly Betts <olly@survex.com>
7684
7685	* backends/multi/multi_valuelist.cc: Fix to handle the case where all
7686	  the sublists turn out to be empty when we first call next().
7687
7688Thu Nov 19 11:12:53 GMT 2009  Olly Betts <olly@survex.com>
7689
7690	* backends/inmemory/: Set the document data and values lazily for the
7691	  inmemory backend too.  They're much less costly to fetch than if
7692	  a disk access may be needed, but it avoids a copy of the respective
7693	  data if they aren't needed, and either could potentially be large.
7694	  Consistency here also makes things easier to understand.
7695
7696Thu Nov 19 08:47:24 GMT 2009  Olly Betts <olly@survex.com>
7697
7698	* api/omdocument.cc: Prefer string() to "".
7699
7700Thu Nov 19 07:38:29 GMT 2009  Olly Betts <olly@survex.com>
7701
7702	* api/omdatabase.cc,backends/multi/Makefile.mk,
7703	  backends/multi/multi_valuelist.cc,common/Makefile.mk,
7704	  common/multivaluelist.h,tests/api_valuestream.cc: Implement support
7705	  for iterating valuestreams for multidatabases.
7706
7707Thu Nov 19 06:19:05 GMT 2009  Olly Betts <olly@survex.com>
7708
7709	* bin/xapian-check.cc: Rework the checking of postlist chunks into
7710	  a cleaner approach which should report errors better, and
7711	  eliminate the (probably) impossible "did might not be initialised"
7712	  path which GCC 4.2 spotted.
7713
7714Thu Nov 19 01:15:03 GMT 2009  Olly Betts <olly@survex.com>
7715
7716	* common/pack.h: Remove incorrect assertion and document what NULL
7717	  parameter value means in this case.
7718
7719Wed Nov 18 16:33:01 GMT 2009  Richard Boulton <richard@tartarus.org>
7720
7721	* bin/xapian-check.cc: Fix compiler warning (with gcc-4.2) that did
7722	  could be used uninitialised: it couldn't be, but it's hard for a
7723	  compiler to see that.
7724
7725Wed Nov 18 12:48:17 GMT 2009  Richard Boulton <richard@tartarus.org>
7726
7727	* AUTHORS: Update my email address.
7728
7729Wed Nov 18 12:21:09 GMT 2009  Olly Betts <olly@survex.com>
7730
7731	* common/valuelist.h: Fix internal documentation comment.
7732
7733Wed Nov 18 10:40:54 GMT 2009  Olly Betts <olly@survex.com>
7734
7735	* configure.ac: Use <cstdlib>, <cmath>, <cstdio>, <cstring> for
7736	  configure tests since we use these forms in the code and want
7737	  consistency between what configure tests and what the code
7738	  uses.
7739	* NEWS,configure.ac: Update for 1.1.3.
7740
7741Wed Nov 18 10:39:59 GMT 2009  Olly Betts <olly@survex.com>
7742
7743	* PLATFORMS: Update from 1.0.17.
7744
7745Wed Nov 18 10:31:49 GMT 2009  Olly Betts <olly@survex.com>
7746
7747	* INSTALL: Improve text about zlib dependency.
7748
7749Wed Nov 18 10:13:59 GMT 2009  Olly Betts <olly@survex.com>
7750
7751	* INSTALL: Note the package to install for building against libuuid on
7752	  Fedora, and note that libuuid isn't required on Microsoft Windows.
7753
7754Wed Nov 18 02:34:30 GMT 2009  Olly Betts <olly@survex.com>
7755
7756	* NEWS: Update from 1.0.17 and ChangeLog.
7757
7758Mon Nov 16 08:35:52 GMT 2009  Olly Betts <olly@survex.com>
7759
7760	* queryparser/queryparser.lemony: Fix interaction of FLAG_PARTIAL and
7761	  FLAG_SYNONYM.  (ticket#407)
7762	* tests/Makefile.am,tests/api_qpbackend.cc: Add regression test
7763	  qpsynonympartial1.
7764
7765Mon Nov 16 02:15:14 GMT 2009  Olly Betts <olly@survex.com>
7766
7767	* backends/flint/flint_version.cc: Add "using namespace std;" and drop
7768	  the explicit std:: qualifiers.
7769
7770Fri Nov 13 02:27:48 GMT 2009  Olly Betts <olly@survex.com>
7771
7772	* backends/chert/chert_spelling.h,backends/chert/chert_table.h,
7773	  backends/flint/flint_spelling.h,backends/flint/flint_table.h,
7774	  common/getopt.cc,common/stringutils.h,languages/steminternal.h:
7775	  Add missing std:: qualifiers for functions in <cstring>, <cstdlib>,
7776	  etc.
7777
7778Fri Nov 13 02:25:50 GMT 2009  Olly Betts <olly@survex.com>
7779
7780	* backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Add
7781	  "using namespace std;" and drop the explicit std:: qualifiers.
7782
7783Fri Nov 13 02:11:18 GMT 2009  Olly Betts <olly@survex.com>
7784
7785	* common/str.cc: Use assignment to initialise a size_t - the current
7786	  code was turning a missing snprintf() prototype into a confusing
7787	  error message with Sun's C++, and is less clear anyway.
7788
7789Fri Nov 13 02:03:28 GMT 2009  Olly Betts <olly@survex.com>
7790
7791	* HACKING,backends/chert/chert_lock.cc,backends/flint/flint_lock.cc,
7792	  backends/remote/remote-database.cc,net/remoteserver.cc,
7793	  net/tcpserver.cc,tests/harness/backendmanager_remotetcp.cc,
7794	  tests/harness/testsuite.cc: Sun C++'s <csignal> (not unreasonably)
7795	  excludes non-ISO-C functions which are in <signal.h> - for example,
7796	  kill() (which POSIX specifies).  So revert <csignal> to <signal.h>
7797	  and document this as a global exception.
7798
7799Thu Nov 12 08:30:07 GMT 2009  Olly Betts <olly@survex.com>
7800
7801	* matcher/collapser.h: Remove spurious comma after last entry in enum,
7802	  which Sun's C++ compiler warns about.
7803
7804Thu Nov 12 00:24:55 GMT 2009  Olly Betts <olly@survex.com>
7805
7806	* matcher/multimatch.cc: Sorter -> KeyMaker in an exception message.
7807
7808Thu Nov 12 00:01:55 GMT 2009  Olly Betts <olly@survex.com>
7809
7810	* include/xapian/database.h: Tweak documentation comments about
7811	  committing changes.
7812
7813Wed Nov 11 12:23:48 GMT 2009  Olly Betts <olly@survex.com>
7814
7815	* queryparser/queryparser.lemony: Fix handling of a group of stopwords
7816	  which notably caused issues when default_op was OP_AND, but could
7817	  probably manifest in other cases too.  Fixes ticket#406.
7818	* tests/queryparsertest.cc: Add regression test qp_stopword_group1.
7819
7820Wed Nov 11 10:54:58 GMT 2009  Olly Betts <olly@survex.com>
7821
7822	* backends/chert/chert_version.h,common/safeuuid.h: Fix workaround for
7823	  uuid.h headers which lack const to actually work on Solaris.
7824
7825Wed Nov 11 10:53:50 GMT 2009  Olly Betts <olly@survex.com>
7826
7827	* common/Makefile.mk: Need to ship new pack.h header.
7828
7829Tue Nov 10 22:27:47 GMT 2009  Olly Betts <olly@survex.com>
7830
7831	* bin/xapian-check.cc: Fix compiler warning introduced by previous
7832	  change.
7833
7834Tue Nov 10 12:24:34 GMT 2009  Olly Betts <olly@survex.com>
7835
7836	* backends/chert/,bin/xapian-check.cc,common/pack.h: Rewrite the
7837	  packing and unpacking functions more efficiently.  As well as being
7838	  generally faster, the pack functions now take a reference to a string
7839	  to append to, which avoids creating a lot of temporary string
7840	  objects.  Indexing HTML files with omindex is 5-10% faster.
7841	  Searching for "The" on gmane (which results in a lot of unpacking of
7842	  postings and document lengths) is about 35% faster.  (ticket#326)
7843
7844Thu Nov 05 03:55:37 GMT 2009  Olly Betts <olly@survex.com>
7845
7846	* common/safeuuid.h: Fix to work with uuid libraries which lack const
7847	  qualifiers.  Fixes build failure on Solaris.
7848
7849Thu Nov 05 00:15:24 GMT 2009  Olly Betts <olly@survex.com>
7850
7851	* HACKING: Update details of debian packaging.
7852
7853Wed Nov 04 04:11:38 GMT 2009  Olly Betts <olly@survex.com>
7854
7855	* common/output.h: Use C++ syntax for NULL with a type in log output.
7856
7857Wed Nov 04 04:02:09 GMT 2009  Olly Betts <olly@survex.com>
7858
7859	* queryparser/lemon.c: Avoid trivial memory leak.
7860
7861Wed Nov 04 00:13:00 GMT 2009  Olly Betts <olly@survex.com>
7862
7863	* include/xapian/database.h: Reword to avoid somewhat ambiguous "this
7864	  method".
7865
7866Tue Nov 03 12:12:09 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
7867
7868	* include/xapian/database.h: Make it more clear that you need to
7869	  add the unique term to the document if you want to use
7870	  replace_document() to use external unique IDs for documents.
7871
7872Tue Nov 03 06:08:43 GMT 2009  Olly Betts <olly@survex.com>
7873
7874	* tests/generate-api_generated: Update MultiValueSorter to
7875	  MultiValueKeyMaker.
7876
7877Tue Nov 03 05:51:23 GMT 2009  Olly Betts <olly@survex.com>
7878
7879	* tests/api_sorting.cc,tests/api_sortingold.cc: Fix changesorter1 and
7880	  oldchangesorter1 to not be run for the remote backend where they will
7881	  now fail with UnimplementedError.
7882
7883Tue Nov 03 02:43:12 GMT 2009  Olly Betts <olly@survex.com>
7884
7885	* matcher/multimatch.cc: Xapian::Sorter isn't supported with the remote
7886	  backend so throw UnimplementedError rather than giving incorrect
7887	  results.  (ticket#384)
7888	* tests/api_sorting.cc: Add sortfunctorremote1 test this exception is
7889	  actually thrown.
7890
7891Tue Nov 03 01:26:57 GMT 2009  Olly Betts <olly@survex.com>
7892
7893	* common/database.h: Fix vertical whitespace glitch.
7894
7895Mon Nov 02 08:10:03 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
7896
7897	* api/omdatabase.cc: Check that internal is not empty before
7898	  referencing its first element, in get_metadata() and
7899	  metadata_keys_begin(), to avoid a potential segfault.
7900	* tests/api_nodb.cc: Add emptydb_metadata1, a regression test for
7901	  this bug.
7902
7903Sun Nov 01 22:10:54 GMT 2009  Olly Betts <olly@survex.com>
7904
7905	* examples/delve.cc,examples/quest.cc: Extend exception handling to the
7906	  whole of main.  Xapian::Stem("english") can't actually throw, but
7907	  that's not obvious to static analysis tools, and it is more robust
7908	  to wrap the whole of main, and reduces indentation.
7909
7910Sun Nov 01 21:27:05 GMT 2009  Olly Betts <olly@survex.com>
7911
7912	* bin/xapian-compact.cc: Add missing exception catch for const char *.
7913	  The only case which currently throws this is an "impossible"
7914	  situation, but if we're going to check for it, the reporting of
7915	  failure should actually work.  Identified by Coverity's Scan.
7916
7917Sun Nov 01 07:56:38 GMT 2009  Olly Betts <olly@survex.com>
7918
7919	* examples/quest.cc: Tighten up the type of the error we catch to
7920	  detect an unknown stemming language.
7921
7922Sat Oct 31 07:16:11 GMT 2009  Olly Betts <olly@survex.com>
7923
7924	* NEWS: Update from ChangeLog.
7925
7926Sat Oct 31 06:59:19 GMT 2009  Olly Betts <olly@survex.com>
7927
7928	* include/xapian/enquire.h: Fix deprecation warnings when building with
7929	  recent GCC.
7930
7931Sat Oct 31 02:46:04 GMT 2009  Olly Betts <olly@survex.com>
7932
7933	* tests/queryparsertest.cc: Add another test query string to cover a
7934	  case we didn't previously check.
7935
7936Tue Oct 27 00:42:59 GMT 2009  Olly Betts <olly@survex.com>
7937
7938	* backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Don't
7939	  try to close the fd one more than the maximum allowable.
7940	  (ticket#408)
7941	* AUTHORS: Add Carl Worth for the patch.
7942
7943Mon Oct 05 09:00:58 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
7944
7945	* configure.ac: Mention e2fsprogs-devel in the message thrown up by
7946	  configure, too.
7947
7948Mon Oct 05 08:53:05 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
7949
7950	* HACKING: Note the command needed to get the uuid library
7951	  installed on fedora, since it's rather non-obvious.
7952
7953Sat Oct 03 20:11:48 GMT 2009  Olly Betts <olly@survex.com>
7954
7955	* unicode/tclUniData.cc: Update Unicode character database to Unicode
7956	  5.2.  (ticket#351)
7957	* tests/api_unicode.cc: Add tests for some characters added in Unicode
7958	  5.2.
7959
7960Thu Oct 01 21:19:34 GMT 2009  Olly Betts <olly@survex.com>
7961
7962	* xapian-config.in: Need to quote ^ for Solaris /bin/sh.
7963
7964Fri Sep 18 13:23:00 GMT 2009  Olly Betts <olly@survex.com>
7965
7966	* configure.ac: Actually use any flags we determine are needed to
7967	  switch the compiler to proper ANSI C++ mode, when building
7968	  xapian-core - this stopped working in 1.0.12, breaking support for
7969	  HP's aCC, Compaq's cxx, Sun's CC, and SGI's CC.
7970
7971Fri Sep 18 12:40:37 GMT 2009  Olly Betts <olly@survex.com>
7972
7973	* include/xapian/matchspy.h: Mark ValueCountMatchSpy, NumericRange,
7974	  NumericRanges, and score_evenness() as experimental.
7975
7976Fri Sep 18 08:36:34 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
7977
7978	* include/xapian/weight.h,weight/weight.cc: Remove default
7979	  implementation of Weight::clone() which returns NULL - we always
7980	  need clone() to be implemented because it's called for every term
7981	  in the query, not just used for the remote backend.
7982
7983Fri Sep 18 08:02:08 GMT 2009  Olly Betts <olly@survex.com>
7984
7985	* api/omenquire.cc,docs/deprecation.rst,include/xapian/enquire.h: Mark
7986	  and document the matchspy parameter of Enquire::get_mset() as
7987	  deprecated in favour of the new MatchSpy class and
7988	  Enquire::add_matchspy().
7989
7990Fri Sep 18 07:58:11 GMT 2009  Olly Betts <olly@survex.com>
7991
7992	* tests/perftest/perftest_matchdecider.cc: Don't pass default values
7993	  for optional parameters to Enquire::get_mset().
7994
7995Fri Sep 18 02:36:43 GMT 2009  Olly Betts <olly@survex.com>
7996
7997	* queryparser/queryparser.lemony: If FLAG_PARTIAL is specified, don't
7998	  try to spell correct a term at the end of the query which we attempt
7999	  to expand as partial.
8000	* tests/queryparsertest.cc: Add regression test qp_spellpartial1.
8001
8002Fri Sep 18 02:33:55 GMT 2009  Olly Betts <olly@survex.com>
8003
8004	* tests/queryparsertest.cc: For testcase qp_spellwild1: Fix the dbdir
8005	  to qp_spellwild1 to match the testname;  Fix the ordering of
8006	  TESTCASE macros to match the order of the test functions;  Note that
8007	  this is a regression test and the versions the bug will be fixed in.
8008
8009Fri Sep 18 01:25:37 GMT 2009  Olly Betts <olly@survex.com>
8010
8011	* tests/queryparsertest.cc: Fix to work with the old scoping rules for
8012	  variables declared in for().
8013
8014Thu Sep 17 19:17:30 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
8015
8016	* queryparser/queryparser.lemony: Don't apply spelling correction
8017	  to wildcard terms if FLAG_WILDCARD and FLAG_SPELLING_CORRECTION
8018	  are both specified.
8019	* tests/queryparsertest.cc: Add qp_spellwild1 as a test for this.
8020
8021Thu Sep 17 12:08:17 GMT 2009  Olly Betts <olly@survex.com>
8022
8023	* NEWS: Update from ChangeLog.
8024
8025Thu Sep 17 10:20:35 GMT 2009  Olly Betts <olly@survex.com>
8026
8027	* api/keymaker.cc: Implement Richard's idea of not encoding any
8028	  trailing, forward sorted, empty values which is a generalisation
8029	  of encoding all forward sorted, empty values as an empty string.
8030	* tests/api_sorting.cc: Add new testcase multivaluekeymaker1 to
8031	  check encodings are as expected.
8032
8033Thu Sep 17 07:15:10 GMT 2009  Olly Betts <olly@survex.com>
8034
8035	* api/,common/multimatch.h,common/omenquireinternal.h,
8036	  docs/deprecation.rst,docs/sorting.rst,include/Makefile.mk,
8037	  include/xapian.h,include/xapian/enquire.h,include/xapian/keymaker.h,
8038	  include/xapian/sorter.h,matcher/multimatch.cc,tests/Makefile.am,
8039	  tests/api_sorting.cc,tests/api_sortingold.cc: Rename Sorter to
8040	  KeyMaker, paving the way for using it to build collapse keys too.
8041	  Resolve the inconsistency in MultiValueSorter::add()'s "forward"
8042	  parameter by replacing it with MultiKeyMaker::add_value() with a
8043	  "reverse" parameter.  (ticket#359)
8044
8045Thu Sep 17 07:13:25 GMT 2009  Olly Betts <olly@survex.com>
8046
8047	* api/valuesetmatchdecider.cc,include/xapian/valuesetmatchdecider.h:
8048	  Inline trivial constructor from header.  Add explicit '#include
8049	  "xapian/document.h"'.
8050
8051Thu Sep 17 05:22:50 GMT 2009  Olly Betts <olly@survex.com>
8052
8053	* HACKING: Document how to use the XAPIAN_DEPRECATED() macro to
8054	  mark a class as deprecated.
8055
8056Wed Sep 16 02:40:13 GMT 2009  Olly Betts <olly@survex.com>
8057
8058	* backends/chert/chert_table.cc,backends/flint/flint_table.cc:
8059	  Eliminate a couple of assertions which can never fire.
8060
8061Sat Sep 12 04:05:35 GMT 2009  Olly Betts <olly@survex.com>
8062
8063	* matcher/msetpostlist.cc: Fix MSetPostList not to read off the end of
8064	  the MSet if get_maxweight() is called when at_end().  This can
8065	  happen but the testcase was too large to send so sadly no
8066	  regression test I'm afraid.
8067
8068Sat Sep 12 03:41:04 GMT 2009  Olly Betts <olly@survex.com>
8069
8070	* backends/chert/chert_values.cc: Fix code to find the first docid in
8071	  the net chunk (ticket#399).
8072	* tests/api_backend.cc: Add regression test from Rich Lane.
8073
8074Fri Sep 11 11:14:49 GMT 2009  Olly Betts <olly@survex.com>
8075
8076	* backends/chert/,bin/xapian-check.cc,bin/xapian-compact.cc: Add
8077	  support for chert databases without a termlist table (ticket#181).
8078	  Currently the only way to create such a database is to create a
8079	  chert database and do "rm termlist.*".
8080
8081Fri Sep 11 10:07:35 GMT 2009  Olly Betts <olly@survex.com>
8082
8083	* bin/xapian-compact.cc: Don't report an absent lazy input table as 0
8084	  size.
8085
8086Fri Sep 11 03:17:17 GMT 2009  Olly Betts <olly@survex.com>
8087
8088	* backends/chert/chert_table.h: Improve documentation of "handle"
8089	  member.
8090
8091Thu Sep 10 13:24:29 GMT 2009  Olly Betts <olly@survex.com>
8092
8093	* m4-macros/xapian-1.1.m4: Report the default xapian-config
8094	  basename in configure's --help output.
8095
8096Thu Sep 10 12:55:48 GMT 2009  Olly Betts <olly@survex.com>
8097
8098	* m4-macros/xapian-1.1.m4: Add optional third parameter to
8099	  XO_LIB_XAPIAN which specifies the basename for the "xapian-config"
8100	  script (defaults to "xapian-config" to give the current behaviour).
8101
8102Thu Sep 10 06:39:17 GMT 2009  Olly Betts <olly@survex.com>
8103
8104	* NEWS: Update with changes in 1.0.16 and from ChangeLog.
8105
8106Thu Sep 10 02:17:56 GMT 2009  Olly Betts <olly@survex.com>
8107
8108	* include/xapian/queryparser.h: Clarify the documentation comments for
8109	  QueryParser::set_default_op() and QueryParser::get_default_op().
8110
8111Wed Sep 09 13:36:58 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
8112
8113	* matcher/andmaybepostlist.cc,tests/Makefile.am,tests/api_queryopt.cc:
8114	  Back out patch from r13440 which introduced a new optimisation
8115	  for AND_MAYBE when the maximum weight of the RHS becomes zero,
8116	  due to various undesirable side effects.  I've put the patch into
8117	  ticket #400 with an explanation.
8118
8119Wed Sep 09 01:54:05 GMT 2009  Olly Betts <olly@survex.com>
8120
8121	* backends/chert/chert_postlist.cc,tests/api_backend.cc: Fix
8122	  WritableDatabase::get_doclength() to work properly after a call to
8123	  commit for the chert backend (ticket#397).
8124
8125Wed Sep 09 00:28:09 GMT 2009  Olly Betts <olly@survex.com>
8126
8127	* AUTHORS: Add Dmitry Liakh for fix for #398.
8128
8129Wed Sep 09 00:02:47 GMT 2009  Olly Betts <olly@survex.com>
8130
8131	* backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Fix a
8132	  typo which stopped this fix in 1.0.12 from working (ticket #398):
8133
8134	  If we fail to get the lock after we spawn the child lock process
8135	  (the common case is because the database is already open for
8136	  writing) then we now clean up the child process properly.
8137
8138Fri Sep 04 11:24:26 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
8139
8140	* docs/categorisation.rst: Remove out-of-date call to get_mset()
8141	  which passed a MatchSpy in - spies are now set with
8142	  add_matchspy() before get_mset() is called.
8143
8144Thu Sep 03 00:29:27 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
8145
8146	* matcher/andmaybepostlist.cc: For AndMaybe, if the RHS has a
8147	  maximum possible weight of 0, we now decay to just the LHS.
8148	* tests/Makefile.am,tests/api_queryopt.cc: Test coverage that this
8149	  optimisation doesn't break anything.
8150
8151Tue Sep 01 12:04:13 GMT 2009  Olly Betts <olly@survex.com>
8152
8153	* configure.ac: Send stderr output from ldconfig to config.log.
8154
8155Tue Sep 01 10:35:51 GMT 2009  Olly Betts <olly@survex.com>
8156
8157	* AUTHORS,common/safeuuid.h: Fix uuid_unparse_lower() replacement for
8158	  older libuuid to actually compile (really fixes ticket#368).
8159
8160Mon Aug 31 05:58:55 GMT 2009  Olly Betts <olly@survex.com>
8161
8162	* NEWS: Sync with 1.0.15.
8163
8164Mon Aug 31 05:48:13 GMT 2009  Olly Betts <olly@survex.com>
8165
8166	* NEWS: Start to format entries for 1.1.3.
8167
8168Mon Aug 31 04:14:58 GMT 2009  Olly Betts <olly@survex.com>
8169
8170	* PLATFORMS: Sync with 1.0.15.
8171
8172Mon Aug 31 01:30:01 GMT 2009  Olly Betts <olly@survex.com>
8173
8174	* common/getopt.cc: Use USE_GLIBC_GNUGETOPT from gnu_getopt.h rather
8175	  than repeating the conditionals used to determine it here.  Rename
8176	  __getopt_initialized to getopt_initialized and make it static.
8177	  Rename _getopt_initialize() to getopt_initialize().
8178
8179Mon Aug 31 01:24:29 GMT 2009  Olly Betts <olly@survex.com>
8180
8181	* common/gnu_getopt.h: Update (C) dates.  Markup file description for
8182	  doxygen.  Fix comment reference to ctype.h as we now use <cctype>.
8183
8184Sun Aug 30 23:28:25 GMT 2009  Olly Betts <olly@survex.com>
8185
8186	* common/gnu_getopt.h: Make optarg, optind, opterr, and optopt extern
8187	  "C" to avoid linkage clash with these symbols on Mac OS X 10.6.
8188
8189Thu Aug 27 03:05:33 GMT 2009  Olly Betts <olly@survex.com>
8190
8191	* HACKING: Add note to document the reason for any exceptions to the
8192	  rule to use C++ forms of ISO C headers.
8193
8194Wed Aug 26 13:07:07 GMT 2009  Olly Betts <olly@survex.com>
8195
8196	* AUTHORS,INSTALL,docs/install.html: Drop .php from xapian.org URLs.
8197
8198Wed Aug 26 12:58:51 GMT 2009  Olly Betts <olly@survex.com>
8199
8200	* HACKING: Update URLs.  Remove duplicated text about updating RoadMap
8201	  from the release checklist.
8202
8203Wed Aug 26 10:56:07 GMT 2009  Olly Betts <olly@survex.com>
8204
8205	* configure.ac: Update various URLs.
8206
8207Tue Aug 25 01:52:51 GMT 2009  Olly Betts <olly@survex.com>
8208
8209	* tests/harness/testsuite.cc: Fix not to report heaps of bogus errors
8210	  under valgrind 3.5.0.
8211
8212Mon Aug 24 02:19:06 GMT 2009  Olly Betts <olly@survex.com>
8213
8214	* include/xapian/enquire.h: Also update the documentation comment for
8215	  set_sort_by_relevance_then_value() to mention sortable_serialise().
8216
8217Fri Aug 21 14:35:35 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
8218
8219	* Makefile.am: Add generate-exceptions to EXTRA_DIST - was missing
8220	  from tarballs.
8221
8222Fri Aug 21 12:21:59 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
8223
8224	* AUTHORS: Add Michael Vogt, who suggested adding a comment about
8225	  sortable_serialise to set_sort_by_value().
8226
8227Fri Aug 21 12:14:13 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
8228
8229	* include/xapian/enquire.h: Update documentation comments for
8230	  set_sort_by_value() and set_sort_by_value_then_relevance() to
8231	  mention sortable_serialise() as a good way to store values if you
8232	  want to sort by them.
8233
8234Mon Aug 17 16:51:10 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
8235
8236	* matcher/multimatch.cc: When sorting by non-pure-relevance, ensure
8237	  that the document is shown to the matchspy even if it couldn't
8238	  get in the mset.
8239	* tests/api_matchspy.cc: Extend matchspy4 to include a regression
8240	  test for this.
8241
8242Mon Aug 17 11:51:24 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
8243
8244	* api/matchspy.cc,include/xapian/matchspy.h: Add overload for
8245	  score_evenness to allow a NumericRanges object to be passed to
8246	  it.
8247
8248Mon Aug 17 07:36:57 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
8249
8250	* api/matchspy.cc,include/xapian/matchspy.h: Replace
8251	  build_numeric_ranges() function with a NumericRanges object,
8252	  whose constructor is passed the values and which exposes the
8253	  calculated ranges via a getter.
8254	* tests/api_matchspy.cc: Update tests to use new NumericRanges
8255	  object instead of build_numeric_ranges().
8256
8257Wed Aug 12 17:33:53 GMT 2009  Olly Betts <olly@survex.com>
8258
8259	* Makefile.am: Fix generate-exceptions change to work in a VPATH
8260	  build.
8261
8262Wed Aug 12 15:57:44 GMT 2009  Olly Betts <olly@survex.com>
8263
8264	* exception_data.pm: Add new SerialisationError.
8265	* common/serialise-double.cc: Throw SerialisationError or InternalError
8266	  instead of NetworkError.
8267
8268Wed Aug 12 15:19:05 GMT 2009  Olly Betts <olly@survex.com>
8269
8270	* Makefile.am,configure.ac,generate-exceptions,generate-exceptions.in:
8271	  It's not very useful to be able to run generate-exceptions outside
8272	  the build system, and it only gets the #! line substituted, so just
8273	  move those runes into Makefile.am and reduce the number of files that
8274	  configure needs to generate by one.
8275
8276Mon Aug 10 13:25:22 GMT 2009  Olly Betts <olly@survex.com>
8277
8278	* api/matchspy.cc: Use <cfloat> and <cmath> rather than <float.h> and
8279	  <math.h> (regression from merging the matchspy branch).
8280
8281Mon Aug 10 13:01:57 GMT 2009  Olly Betts <olly@survex.com>
8282
8283	* api/,bin/xapian-tcpsrv.cc,common/,docs/postingsource.rst,
8284	  docs/serialisation.rst,include/Makefile.mk,include/xapian.h,
8285	  include/xapian/,net/remoteserver.cc,tests/: Rename
8286	  SerialisationContext to Registry.
8287
8288Mon Aug 10 11:23:23 GMT 2009  Olly Betts <olly@survex.com>
8289
8290	* NEWS: Start to update from ChangeLog.
8291
8292Mon Aug 10 10:29:13 GMT 2009  Olly Betts <olly@survex.com>
8293
8294	* api/omenquire.cc,include/xapian/weight.h,matcher/localmatch.cc:
8295	  Make Weight::clone() public, and remove Weight::clone_() as it is
8296	  no longer required.
8297
8298Mon Aug 10 07:55:04 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
8299
8300	* HACKING: Add section on ordering of include files, and fix a few
8301	  formatting issues to make this file into valid restructured text
8302	  again.
8303
8304Mon Aug 10 06:55:45 GMT 2009  Olly Betts <olly@survex.com>
8305
8306	* api/serialisationcontext.cc,common/serialisationcontextinternal.h:
8307	  Refactor to use a template function to implement the exception safe
8308	  approach I implemented for PostingSource, and use it for MatchSpy
8309	  and Weight too.
8310	* tests/api_serialise.cc: Add tests for exception safety of MatchSpy
8311	  and Weight with SerialisationContext.
8312
8313Mon Aug 10 06:15:23 GMT 2009  Olly Betts <olly@survex.com>
8314
8315	* include/xapian/weight.h,weight/weight.cc: Add default implementations
8316	  of Weight methods name(), serialise(), unserialise(), and clone() for
8317	  consistency with PostingSource and MatchSpy.
8318
8319Mon Aug 10 03:29:12 GMT 2009  Olly Betts <olly@survex.com>
8320
8321	* tests/api_postingsource.cc: Tweak header include order.
8322
8323Tue Aug 04 15:49:54 GMT 2009  Olly Betts <olly@survex.com>
8324
8325	* include/xapian/queryparser.h: Explicitly document that an empty
8326	  prefix argument to QueryParser::add_prefix() means "no prefix".
8327
8328Tue Aug 04 13:11:26 GMT 2009  Olly Betts <olly@survex.com>
8329
8330	* api/postingsource.cc: Throw UnimplementedError rather than
8331	  InvalidOperationError from PostingSource::serialise() and
8332	  PostingSource::unserialise() for consistency with MatchSpy.
8333	* include/xapian/postingsource.h: Document this behaviour (previously
8334	  we didn't say what the default implementation actually did).
8335	* tests/api_serialise.cc: Add test coverage.
8336
8337Mon Aug 03 11:40:31 GMT 2009  Olly Betts <olly@survex.com>
8338
8339	* api/serialisationcontext.cc: Fix to handle the clone() method or dtor
8340	  of a PostingSource subclass throwing exceptions.
8341	* tests/api_serialise.cc: Add new testcase serialisationcontext1 as a
8342	  regression test for this.
8343
8344Mon Aug 03 06:40:28 GMT 2009  Olly Betts <olly@survex.com>
8345
8346	* tests/api_serialise.cc: Fix copy-and-pasted @brief.
8347
8348Sun Aug 02 16:21:54 GMT 2009  Olly Betts <olly@survex.com>
8349
8350	* common/remoteprotocol.h: Correction: protocol version 33 will debut
8351	  in 1.1.3 not 1.1.4.
8352
8353Sun Aug 02 16:20:28 GMT 2009  Olly Betts <olly@survex.com>
8354
8355	* docs/remote_protocol.html: Update to document protocol version 33.
8356
8357Sun Aug 02 16:17:24 GMT 2009  Olly Betts <olly@survex.com>
8358
8359	* backends/remote/remote-database.cc,net/remoteserver.cc: We were
8360	  ignoring any trailing junk after the matchspies in MSG_GETMSET, so
8361	  change to not send a count of them and just unpack until we run out
8362	  of data.
8363
8364Sun Aug 02 15:47:30 GMT 2009  Olly Betts <olly@survex.com>
8365
8366	* common/remoteprotocol.h: Note the versions in which recent protocol
8367	  versions were introduced.
8368
8369Sun Aug 02 15:09:13 GMT 2009  Olly Betts <olly@survex.com>
8370
8371	* backends/remote/remote-database.cc,common/serialise.h,
8372	  net/remoteserver.cc,net/serialise.cc: Put the serialised MSet last in
8373	  REPLY_RESULTS as then it doesn't need to know its own length (so the
8374	  encoding is the same size it used to be in the non-matchspy case),
8375	  and we avoid having to check for there being "junk" data left over
8376	  after unserialising.
8377
8378Sun Aug 02 14:39:18 GMT 2009  Olly Betts <olly@survex.com>
8379
8380	* matcher/remotesubmatch.h: Fix to build with GCC 4.4.1.
8381
8382Sun Aug 02 14:27:44 GMT 2009  Olly Betts <olly@survex.com>
8383
8384	* backends/remote/remote-database.cc: Don't assign a temporary string
8385	  object.
8386
8387Sun Aug 02 13:50:14 GMT 2009  Olly Betts <olly@survex.com>
8388
8389	* include/xapian/matchspy.h: Add missing documentation comments.
8390
8391Sun Aug 02 12:15:43 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
8392
8393	Merge from matchspy branch.
8394	* api/,backends/remote/remote-database.cc,common/,docs/Makefile.am,
8395	  docs/categorisation.rst,include/Makefile.mk,include/xapian.h,
8396	  include/xapian/enquire.h,include/xapian/matchspy.h,
8397	  include/xapian/serialisationcontext.h,matcher/multimatch.cc,
8398	  matcher/remotesubmatch.cc,matcher/remotesubmatch.h,
8399	  net/remoteserver.cc,net/serialise.cc,tests/Makefile.am,
8400	  tests/api_matchspy.cc: Add new-style Xapian::MatchSpy class,
8401	  which is a pure "spy" class, rather than being able to take a
8402	  decision on whether a spy is applied before or after a result.
8403	  This class is also designed to work with remote databases,
8404	  passing the results back in serialised form.  Also, add
8405	  ValueCountMatchSpy, which counts the occurrences of each value in
8406	  a slot in the search results seen (useful for faceted or
8407	  categorisation systems).
8408
8409Fri Jul 31 12:50:57 GMT 2009  Olly Betts <olly@survex.com>
8410
8411	* tests/api_backend.cc,tests/api_wrdb.cc: Move new test
8412	  modifiedpostlist1 from api_wrdb.cc to api_backend.cc - we're trying
8413	  not to make api-wrdb.cc any larger.  Also note the ticket number and
8414	  the release this will be fixed in.
8415
8416Thu Jul 30 16:30:06 GMT 2009  Olly Betts <olly@survex.com>
8417
8418	* backends/chert/chert_modifiedpostlist.cc: Fix ChertModifiedPostList
8419	  to skip added-but-then-deleted-before-flush documents.  (ticket#392)
8420	  backends/flint/flint_modifiedpostlist.cc: Same fix for flint.
8421	* tests/api_wrdb.cc: Add regression test modifiedpostlist1.
8422	* AUTHORS: Add Rich Lane for patch.
8423
8424Wed Jul 29 09:44:15 GMT 2009  Olly Betts <olly@survex.com>
8425
8426	* NEWS: Update from ChangeLog.
8427
8428Wed Jul 29 09:29:45 GMT 2009  Olly Betts <olly@survex.com>
8429
8430	* include/xapian/valueiterator.h: Fix typos ("again" -> "and").
8431
8432Wed Jul 29 06:18:41 GMT 2009  Olly Betts <olly@survex.com>
8433
8434	* tests/Makefile.am: Actually distribute testdata/apitest_declen.txt
8435	  - new test data from the postingsources branch merge.
8436
8437Tue Jul 28 16:38:55 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
8438
8439	Merge from postingsources branch:
8440	* tests/generate-api_generated: Test get_description() methods of
8441	  Xapian::PostingSource subclasses.
8442
8443Tue Jul 28 16:35:54 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
8444
8445	Merge from postingsources branch:
8446	* api/Makefile.mk,api/decvalwtsource.cc,api/serialisationcontext.cc,
8447	  include/xapian/postingsource.h: Add
8448	  DecreasingValueWeightPostingSource class, which reads weights
8449	  from a value slot in which a significant range of the values are
8450	  in decreasing order.  This functions similarly to
8451	  ValueWeightPostingSource, but can be much more efficient.
8452	* tests/api_valuestream.cc,tests/testdata/apitest_declen.txt:
8453	  Tests, and some associated constructed test data, for
8454	  DecreasingValueWeightPostingSource.
8455
8456Mon Jul 27 04:50:45 GMT 2009  Olly Betts <olly@survex.com>
8457
8458	* HACKING: Now using autoconf 2.64.
8459
8460Mon Jul 27 04:46:17 GMT 2009  Olly Betts <olly@survex.com>
8461
8462	* HACKING: Add note about preferring std::string::assign(), and also
8463	  one about building up strings using +=.
8464
8465Mon Jul 27 04:45:15 GMT 2009  Olly Betts <olly@survex.com>
8466
8467	* backends/chert/chert_lock.cc,backends/chert/chert_utils.h,
8468	  backends/flint/flint_lock.cc,backends/flint/flint_utils.h,
8469	  backends/remote/remote-database.cc: Use std::string::assign() rather
8470	  than constructing a temporary string object to assign.
8471
8472Sun Jul 26 16:08:10 GMT 2009  Olly Betts <olly@survex.com>
8473
8474	* AUTHORS: Update for bugs fixed in 1.0.14.
8475
8476Sun Jul 26 16:03:54 GMT 2009  Olly Betts <olly@survex.com>
8477
8478	* HACKING: Update the release checklist.
8479
8480Sun Jul 26 14:28:25 GMT 2009  Olly Betts <olly@survex.com>
8481
8482	* docs/doxygen_source.conf.in: Update roughly in-line with apidoc
8483	  changes.  I've not looked at the output much though.
8484
8485Sun Jul 26 14:00:14 GMT 2009  Olly Betts <olly@survex.com>
8486
8487	* include/xapian/database.h: Remove documentation comment for namespace
8488	  Xapian - this is now documented in xapian.h.
8489
8490Sun Jul 26 13:59:42 GMT 2009  Olly Betts <olly@survex.com>
8491
8492	* include/xapian/unicode.h: Add documentation comment for namespace
8493	  Unicode.
8494
8495Sun Jul 26 13:58:44 GMT 2009  Olly Betts <olly@survex.com>
8496
8497	* include/xapian/dbfactory.h: Add documentation comments for the
8498	  backend namespaces (InMemory, etc).
8499
8500Sun Jul 26 13:57:29 GMT 2009  Olly Betts <olly@survex.com>
8501
8502	* include/xapian/version_h.cc: Add documentation comments for the
8503	  generated version.h, and all the preprocessor defines it contains.
8504
8505Sun Jul 26 13:56:15 GMT 2009  Olly Betts <olly@survex.com>
8506
8507	* include/xapian.h: Consistently say "linked with" rather than "linked
8508	  to" in some cases.  Put documentation comment for namespace Xapian
8509	  in this file.
8510
8511Sun Jul 26 13:06:45 GMT 2009  Olly Betts <olly@survex.com>
8512
8513	* docs/doxygen_api.conf.in: More fettling to try to get better output:
8514	  + Wrap long comments.
8515	  + Quote arguments containing @...@ substitutions as they could
8516	    conceivably contain spaces.
8517	  + ALWAYS_DETAILED_SEC = NO: since a detailed section with no extra
8518	    information is pointless.
8519	  + STRIP_FROM_PATH, INCLUDE_PATH: Add "@top_builddir@/include" for
8520	    VPATH builds.
8521	  + HIDE_UNDOC_MEMBERS = YES: otherwise @internal members show up
8522	    (with no documentation).
8523	  + HIDE_FRIEND_COMPOUNDS = YES: as friend declarations in the API
8524	    headers are implementation details.
8525	  + SHOW_INCLUDE_FILES = NO: users should just include <xapian.h>
8526	    for all their API needs.
8527	  + GENERATE_TODOLIST, GENERATE_TESTLIST, GENERATE_BUGLIST: all set to
8528	    NO as we don't want these in the API documentation.
8529	  + SHOW_NAMESPACES = YES: We have several sub-namespaces so these are
8530	    useful to document.
8531	  + INPUT: Prepend "@top_builddir@/include/xapian/version.h" so that
8532	    XAPIAN_HAS_FLINT_BACKEND, etc are defined before parsing other
8533	    headers.
8534	  + EXCLUDE: remove all entries and use EXCLUDE_PATTERNS instead.
8535	  + EXCLUDE_PATTERNS: Include entries corresponding to those in EXCLUDE
8536	    and add */derefwrapper.h and */.* (the latter avoids trying to look
8537	    in .svn or any other hidden files or directories).
8538	  + REFERENCES_LINK_SOURCE = NO: Improves output.
8539	  + VERBATIM_HEADERS = NO: The verbatim headers aren't very
8540	    interesting.
8541	  + PREDEFINED: Define XAPIAN_VISIBILITY_DEFAULT and
8542	    XAPIAN_DEPRECATED(D)=D as doxygen seem reluctant to parse included
8543	    files.
8544	  + EXPAND_AS_DEFINED: Remove XAPIAN_VISIBILITY_DEFAULT and
8545	    XAPIAN_DEPRECATED as these are now handled by PREDEFINED.
8546	  + EXTERNAL_GROUPS = NO, GROUP_GRAPHS = NO: We don't use groups so
8547	    disable these.
8548
8549Sun Jul 26 10:14:32 GMT 2009  Olly Betts <olly@survex.com>
8550
8551	* docs/doxygen_api.conf.in,docs/doxygen_source.conf.in: Change
8552	  @PACKAGE@ to @PACKAGE_NAME@ and @VERSION@ to @PACKAGE_VERSION@ to
8553	  reflect modern autotools usage.
8554
8555Fri Jul 24 16:23:31 GMT 2009  Olly Betts <olly@survex.com>
8556
8557	* configure.ac,docs/: Rename doxygen configuration files from "_conf"
8558	  to ".conf".  Rename doxygen_full.conf to doxygen_source.conf, etc.
8559
8560Fri Jul 24 16:02:39 GMT 2009  Olly Betts <olly@survex.com>
8561
8562	* HACKING: Update to note that doxygen is now installed in-tree, and
8563	  that we now use 1.5.9 for 1.1.x snapshots and releases, and that
8564	  graphviz ">1.8.10" is now required.
8565
8566Fri Jul 24 16:01:31 GMT 2009  Olly Betts <olly@survex.com>
8567
8568	* include/xapian/: Documentation comment tweaks.
8569
8570Fri Jul 24 15:34:03 GMT 2009  Olly Betts <olly@survex.com>
8571
8572	* include/xapian/unicode.h: Fix @param names to match parameter names.
8573
8574Fri Jul 24 15:33:12 GMT 2009  Olly Betts <olly@survex.com>
8575
8576	* docs/doxygen_api_conf.in: Major doxygen config overhaul:
8577	  + STRIP_FROM_PATH: Strip include from header names.
8578	  + JAVADOC_AUTOBRIEF: Re-enable as we have lost most of our brief
8579	    descriptions - we can fix up the few cases where this caused
8580	    problems with an explicit @brief.
8581	  + BUILTIN_STL_SUPPORT: Enable for slightly STL-related stuff.
8582	  + DISTRIBUTE_GROUP_DOC: Enable so group members get the group's
8583	    comments.
8584	  + EXTRACT_STATIC, EXTRACT_LOCAL_CLASSES: Disable since we don't
8585	    need these.
8586	  + SHOW_NAMESPACES: Disable to hide the "Xapian" namespace.
8587	  + QUIET: Enable for less doxygen chatter.
8588	  + WARN_LOGFILE: Unset so warnings go to stderr to encourage us to
8589	    actually fix them!
8590	  + EXCLUDE: Hide base.h, deprecated.h, errordispatch.h, visibility.h.
8591	  + HTML_DYNAMIC_SECTIONS: Enable so the class diagrams are hidden by
8592	    default but can be "expanded" to be viewed.
8593	  + COLLABORATION_GRAPH: Disable as these don't ever seem useful in
8594	    the API docs.
8595	  + TEMPLATE_RELATIONS: Disable as we don't want to see template
8596	    instantiations in inheritance diagrams.
8597	  + DOT_MULTI_TARGETS: Enable for faster dot processsing.  Needs
8598	    graphviz ">1.8.10", but that's really old now.
8599
8600Fri Jul 24 13:00:24 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
8601
8602	* bin/xapian-compact.cc: Fix to work with the metainfo key stored
8603	  in the latest format of chert databases.
8604
8605Fri Jul 24 10:32:32 GMT 2009  Olly Betts <olly@survex.com>
8606
8607	* backends/chert/chert_values.cc: Avoid doing pointless work by trying
8608	  to delete non-existent lists of values when we're just adding
8609	  documents.
8610
8611Fri Jul 24 05:32:34 GMT 2009  Olly Betts <olly@survex.com>
8612
8613	* docs/doxygen_api_conf.in: Update with "doxygen -u" using doxygen
8614	  1.5.9 and then trim trailing whitespace.
8615
8616Thu Jul 23 04:10:49 GMT 2009  Olly Betts <olly@survex.com>
8617
8618	* NEWS,configure.ac: Update for 1.1.2.
8619
8620Wed Jul 22 13:58:13 GMT 2009  Olly Betts <olly@survex.com>
8621
8622	* backends/chert/chert_databasereplicator.cc,
8623	  backends/flint/flint_databasereplicator.cc: Prefer += to + for
8624	  building up strings.
8625
8626Wed Jul 22 09:01:57 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
8627
8628	* backends/chert/chert_databasereplicator.cc,
8629	  backends/flint/flint_databasereplicator.cc: Check result of
8630	  ::open() for -1, and throw an error immediately if this happens,
8631	  rather than leaving it to a later call to fail with EBADF.
8632	  Should make it easier to diagnose problems, since we'll now see
8633	  the reason that the open() failed.
8634
8635Tue Jul 21 17:08:41 GMT 2009  Olly Betts <olly@survex.com>
8636
8637	* NEWS: Update from ChangeLog and sync with 1.0.14.
8638
8639Mon Jul 20 04:48:32 GMT 2009  Olly Betts <olly@survex.com>
8640
8641	* matcher/queryoptimiser.cc: Fix build with assertions enabled.
8642
8643Mon Jul 20 04:47:33 GMT 2009  Olly Betts <olly@survex.com>
8644
8645	* include/xapian/query.h: Update doc comment - OP_SYNONYM can take any
8646	  number of subqueries too.
8647
8648Sun Jul 19 17:26:53 GMT 2009  Olly Betts <olly@survex.com>
8649
8650	* api/omqueryinternal.cc,include/xapian/query.h,matcher/localmatch.cc:
8651	  Remove wqf member of Xapian::Query::Internal and store the wqf in
8652	  the parameter member instead.  (ticket#280)
8653
8654Sun Jul 19 17:24:02 GMT 2009  Olly Betts <olly@survex.com>
8655
8656	* api/omqueryinternal.cc,include/xapian/query.h: Remove unused
8657	  method Xapian::Query::Internal::swap().
8658
8659Sun Jul 19 16:22:01 GMT 2009  Olly Betts <olly@survex.com>
8660
8661	* api/valuerangeproc.cc,include/xapian/queryparser.h: Move support for
8662	  a prefix/suffix from NumberValueRangeProcessor to
8663	  StringValueRangeProcessor, and change NumberValueRangeProcessor and
8664	  DateValueRangeProcessor to inherit from StringValueRangeProcessor so
8665	  all three now support a prefix/suffix.  (ticket#220)
8666	* tests/queryparsertest.cc: Add test coverage for new features.
8667
8668Sun Jul 19 16:05:04 GMT 2009  Olly Betts <olly@survex.com>
8669
8670	* tests/queryparsertest.cc: Reenable tests which require the inmemory
8671	  backend to be enabled by fixing typo XAPIAN_HAS_BACKEND_INMEMORY ->
8672	  XAPIAN_HAS_INMEMORY_BACKEND.
8673
8674Sun Jul 19 14:56:16 GMT 2009  Olly Betts <olly@survex.com>
8675
8676	* api/documentvaluelist.cc: Use str() instead of om_tostring().
8677
8678Sun Jul 19 14:42:15 GMT 2009  Olly Betts <olly@survex.com>
8679
8680	* matcher/msetcmp.cc: Eliminate two more relocations.
8681
8682Sun Jul 19 13:46:08 GMT 2009  Olly Betts <olly@survex.com>
8683
8684	* api/omqueryinternal.cc: Factor out "is_distributable()" function.
8685
8686Sun Jul 19 11:11:06 GMT 2009  Olly Betts <olly@survex.com>
8687
8688	* include/xapian/version_h.cc: Fix "dummy" -> "dummy[]" so the code
8689	  here is valid C - we only preprocess it, but since the reason for
8690	  having the dummy stuff at all is to avoid problems with "smart"
8691	  preprocessors which moan if the code isn't valid, this seems worth
8692	  fixing.
8693
8694Sun Jul 19 10:21:41 GMT 2009  Olly Betts <olly@survex.com>
8695
8696	* backends/flint/flint_database.cc: Backport the previous change to
8697	  flint.
8698
8699Sun Jul 19 08:04:48 GMT 2009  Olly Betts <olly@survex.com>
8700
8701	* backends/chert/chert_database.cc: Instead of dynamically building a
8702	  std::list of the leafnames we need to replicate, just list them in a
8703	  compact format in the source file.  Results in smaller code and
8704	  should be faster and smaller at runtime.
8705
8706Sat Jul 18 17:12:58 GMT 2009  Olly Betts <olly@survex.com>
8707
8708	* languages/compiler/generator.c: Merge among table entries which are
8709	  substrings of others in the same among.  We could be much cleverer
8710	  and merge between amongs, and allow overlaps, etc, but this get us
8711	  a nice size reduction for a small amount of effort, so it'll do for
8712	  now.
8713
8714Sat Jul 18 15:42:48 GMT 2009  Olly Betts <olly@survex.com>
8715
8716	* languages/compiler/generator.c,languages/steminternal.cc,
8717	  languages/steminternal.h: Change how snowball generates the data used
8718	  by among - instead of using pointers to the strings in struct among,
8719	  store an offset into a constant pool, as this reduces the number of
8720	  relocations from 5001 to 2706, which should decrease the time taken
8721	  by the dynamic linker when loading the library.  This also results
8722	  in slightly smaller code.
8723
8724Fri Jul 17 16:32:02 GMT 2009  Olly Betts <olly@survex.com>
8725
8726	* tests/api_nodb.cc: Check output of Stem::get_description() for each
8727	  supported language.
8728
8729Thu Jul 16 04:34:57 GMT 2009  Olly Betts <olly@survex.com>
8730
8731	* common/fileutils.h: Remove unnecessary XAPIAN_VISIBILITY_DEFAULT
8732	  (ticket#63).
8733	* common/fileutils.cc,common/fileutils.h: Make isabspath() static
8734	  since it is only used by other functions in the same file.
8735
8736Thu Jul 16 04:13:48 GMT 2009  Olly Betts <olly@survex.com>
8737
8738	* queryparser/queryparser.lemony: Fix comment typo.
8739
8740Thu Jul 16 03:59:49 GMT 2009  Olly Betts <olly@survex.com>
8741
8742	* api/sorter.cc,include/xapian/sorter.h: MultiValueSorter doesn't
8743	  need an explicit dtor - it's enough that Sorter has a virtual dtor.
8744
8745Thu Jul 16 03:29:41 GMT 2009  Olly Betts <olly@survex.com>
8746
8747	* AUTHORS: Add Andreas Flöter for the Solaris package howto.
8748
8749Wed Jul 15 14:37:19 GMT 2009  Olly Betts <olly@survex.com>
8750
8751	* matcher/rset.cc: Just pass pointer as AutoPtr constructor parameter
8752	  rather constructing a temporary AutoPtr and invoking the assignment
8753	  operator.
8754
8755Wed Jul 15 03:43:35 GMT 2009  Olly Betts <olly@survex.com>
8756
8757	* common/omenquireinternal.h: "class" -> "object" in doc comment.
8758
8759Wed Jul 15 03:38:55 GMT 2009  Olly Betts <olly@survex.com>
8760
8761	* tests/runtest.in: Raise the fd limit from 32 to 64 - multi_flint
8762	  tests need more than 32 fds.
8763
8764Tue Jul 14 20:32:52 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
8765
8766	* api/omenquire.cc,common/omenquireinternal.h: Revert r13052, which
8767	  changed Enquire::Internal::weight not to be mutable.  Expand the
8768	  comment explaining why it's mutable.
8769
8770Tue Jul 14 18:40:43 GMT 2009  Olly Betts <olly@survex.com>
8771
8772	* tests/runtest.in: Use "ulimit -n" where available to limit the
8773	  number of available file descriptors to 32 so we catch file
8774	  descriptor leaks sooner.
8775
8776Tue Jul 14 16:53:48 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
8777
8778	* api/omenquire.cc,common/omenquireinternal.h: Tidy up mutable
8779	  Weight member on Enquire::Internal class; make it non-mutable,
8780	  and just make a temporary BM25Weight object if the weight member
8781	  was NULL.
8782
8783Tue Jul 14 12:36:46 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
8784
8785	* common/output.h: Display a "<NULL $CLASSNAME>" message in debug
8786	  output when a pointer being output is NULL.  Previously, NULL
8787	  Query::Internal pointers were causing segfaults with debug
8788	  logging for many tests (eg, emptyquery1).
8789
8790Sun Jul 12 14:56:18 GMT 2009  Olly Betts <olly@survex.com>
8791
8792	* backends/chert/chert_database.cc: We no longer have a "value" table
8793	  (values are now stored in the postlist and termlist tables) so fix
8794	  comments not to refer to it.
8795
8796Sun Jul 12 14:47:17 GMT 2009  Olly Betts <olly@survex.com>
8797
8798	* backends/chert/: Add new ChertLazyTable class and subclass lazy
8799	  tables from it so that we only need to implement the common
8800	  differences once.
8801
8802Sun Jul 12 13:41:27 GMT 2009  Olly Betts <olly@survex.com>
8803
8804	* api/replication.cc: No point using join_paths() to append a literal
8805	  leaf name, especially as we already don't elsewhere.
8806
8807Sun Jul 12 12:01:25 GMT 2009  Olly Betts <olly@survex.com>
8808
8809	* queryparser/queryparser.lemony: Fix memory leak accidentally
8810	  introduced in r13005.
8811
8812Sun Jul 12 11:40:26 GMT 2009  Olly Betts <olly@survex.com>
8813
8814	* tests/api_opsynonym.cc: Remove debug "cout" calls.
8815
8816Sun Jul 12 09:43:06 GMT 2009  Olly Betts <olly@survex.com>
8817
8818	* matcher/queryoptimiser.cc: Don't just skip counting subqueries which
8819	  are the RHS of OP_AND_NOT - skip based on factor == 0.0, which means
8820	  we get the RHS of OP_FILTER too.
8821	* tests/api_percentages.cc: Add topercent4 as a regression test for
8822	  this.
8823
8824Sun Jul 12 09:32:11 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
8825
8826	* matcher/andmaybepostlist.cc: Add DEBUGCALL macro to
8827	  count_matching_subqs() to fix build with assertions.
8828
8829Sun Jul 12 08:17:02 GMT 2009  Olly Betts <olly@survex.com>
8830
8831	* matcher/remotesubmatch.cc: Percentage scaling for remote results is
8832	  handled in a different way, so replace FIXME with comment noting
8833	  this.
8834
8835Sun Jul 12 05:48:17 GMT 2009  Olly Betts <olly@survex.com>
8836
8837	* matcher/multimatch.cc: Fix handling of percentage weights in various
8838	  cases when we're searching multiple remote databases or a mix of
8839	  local and remote databases.
8840	* tests/api_percentages.cc: Add regression test topercent3.
8841
8842Sat Jul 11 13:35:02 GMT 2009  Olly Betts <olly@survex.com>
8843
8844	* matcher/mergepostlist.cc: Fix file description - MergePostList can
8845	  merge any number of posting lists, not just two.
8846
8847Sat Jul 11 13:09:40 GMT 2009  Olly Betts <olly@survex.com>
8848
8849	* matcher/extraweightpostlist.h:
8850	  ExtraWeightPostList::read_position_list() and
8851	  ExtraWeightPostList::open_position_list() aren't used, so remove
8852	  them.
8853
8854Sat Jul 11 12:54:30 GMT 2009  Olly Betts <olly@survex.com>
8855
8856	* api/leafpostlist.cc,api/postlist.cc,common/leafpostlist.h,
8857	  common/postlist.h,common/submatch.h,matcher/,tests/api_anydb.cc,
8858	  tests/api_opsynonym.cc: Count how many leaf subqueries match for the
8859	  document with the highest weight when calculating the percentage
8860	  weights, instead of using the termlist of that document (ticket#363).
8861	  Also fixes XOR with a SYNONYM subquery which could achieve 100%
8862	  weight before.
8863
8864Fri Jul 10 08:02:18 GMT 2009  Olly Betts <olly@survex.com>
8865
8866	* api/omdatabase.cc,backends/chert/chert_spelling.cc,
8867	  backends/flint/flint_spelling.cc,common/database.h: Deal with the
8868	  case of get_spelling_suggestion() with an empty or single character
8869	  word up front.
8870
8871Thu Jul 09 16:20:47 GMT 2009  Olly Betts <olly@survex.com>
8872
8873	* tests/harness/backendmanager_remotetcp.cc: In clean_up(), only scan
8874	  through the pid_to_fd array once, and disable the signal handler
8875	  and call waitpid() for any remaining pids ourselves, rather than
8876	  calling sleep(1) and rechecking.  This should avoid pointless delays
8877	  when the child hasn't exited when we first check.
8878
8879Thu Jul 09 12:40:52 GMT 2009  Olly Betts <olly@survex.com>
8880
8881	* tests/harness/: BackendManager has a virtual dtor, so we don't need
8882	  empty virtual dtors in its subclasses.
8883
8884Thu Jul 09 11:40:20 GMT 2009  Olly Betts <olly@survex.com>
8885
8886	* tests/harness/backendmanager_remotetcp.cc,
8887	  tests/harness/backendmanager_remotetcp.h: Move the
8888	  BackendManagerRemoteTcp ctor back into the header now it is trivial
8889	  again.
8890
8891Wed Jul 08 16:56:53 GMT 2009  Olly Betts <olly@survex.com>
8892
8893	* backends/flint/flint_io.h: Backport change to use F_FULLSYNC from
8894	  chert.
8895
8896Wed Jul 08 15:30:22 GMT 2009  Olly Betts <olly@survex.com>
8897
8898	* configure.ac: Check that we can find the valgrind/memcheck.h header
8899	  as well as the valgrind binary.
8900
8901Wed Jul 08 14:30:53 GMT 2009  Olly Betts <olly@survex.com>
8902
8903	* tests/harness/backendmanager_remotetcp.cc: Sort out the clash
8904	  between two different patches to fix leaking file descriptors.
8905	  Also, call clean_up() from the destructor to correctly handle the
8906	  case when a BackendManagerRemoteTcp is created by a test case
8907	  directly.
8908
8909Wed Jul 08 14:17:43 GMT 2009  Olly Betts <olly@survex.com>
8910
8911	* tests/harness/: Rename "posttest()" method to "clean_up()" - I keep
8912	  thinking "power-on self-test".
8913
8914Wed Jul 08 05:08:09 GMT 2009  Olly Betts <olly@survex.com>
8915
8916	* backends/chert/chert_io.h: Use F_FULLFSYNC where available (Mac OS X
8917	  currently).  (ticket#288)
8918
8919Tue Jul 07 09:31:35 GMT 2009  Olly Betts <olly@survex.com>
8920
8921	* queryparser/queryparser.lemony: If default_op is OP_NEAR or OP_PHRASE
8922	  then make the default window size (9 + no_of_terms), like it would be
8923	  for an explicit NEAR or PHRASE without an explicit window size.
8924	  (ticket#254)
8925	* tests/queryparsertest.cc: Add feature tests for this.
8926
8927Tue Jul 07 07:18:15 GMT 2009  Olly Betts <olly@survex.com>
8928
8929	* HACKING,api/,backends/chert/,backends/flint/,
8930	  backends/remote/remote-database.cc,common/,languages/steminternal.h,
8931	  net/,queryparser/queryparser.cc,tests/harness/,tests/internaltest.cc,
8932	  tests/perftest/freemem.cc,tests/perftest/perftest_randomidx.cc,
8933	  tests/stemtest.cc,unicode/utf8itor.cc: Update to use C++ forms for
8934	  ISO C standard headers (ticket#330).
8935
8936Tue Jul 07 05:30:58 GMT 2009  Olly Betts <olly@survex.com>
8937
8938	* backends/inmemory/inmemory_database.h: Use "omassert.h" not
8939	  <omassert.h>.
8940
8941Mon Jul 06 04:30:59 GMT 2009  Olly Betts <olly@survex.com>
8942
8943	* AUTHORS: Add Rolf Köhling for fixes for Omega on MS Windows.
8944
8945Sun Jul 05 16:28:54 GMT 2009  Olly Betts <olly@survex.com>
8946
8947	* backends/flint/flint_database.cc,backends/flint/flint_database.h:
8948	  Backport the lazyupdate changes from chert to flint.
8949
8950Sun Jul 05 13:12:53 GMT 2009  Olly Betts <olly@survex.com>
8951
8952	* tests/harness/backendmanager.cc,tests/harness/backendmanager.h: Move
8953	  virtual destructor definition out of the header.
8954
8955Sun Jul 05 04:09:04 GMT 2009  Olly Betts <olly@survex.com>
8956
8957	* common/documentterm.h: Add const to OmDocumentTerm::get_wdf() method
8958	  (ticket#139).
8959
8960Sat Jul 04 16:45:43 GMT 2009  Olly Betts <olly@survex.com>
8961
8962	* queryparser/lemon.c: Merge upstream "Check-in Number: 6757" - no
8963	  functional changes in generated code for our parser.
8964
8965Sat Jul 04 16:39:41 GMT 2009  Olly Betts <olly@survex.com>
8966
8967	* queryparser/lemon.c: Merge upstream "Check-in Number: 6756" - no
8968	  functional changes in generated code for our parser.
8969
8970Sat Jul 04 16:36:59 GMT 2009  Olly Betts <olly@survex.com>
8971
8972	* queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream
8973	  "Check-in Number: 6755" - no functional changes in generated code for
8974	  our parser.
8975
8976Sat Jul 04 16:29:24 GMT 2009  Olly Betts <olly@survex.com>
8977
8978	* queryparser/lemon.c: Merge upstream "Check-in Number: 6754" - no
8979	  changes in generated code for our parser.
8980
8981Sat Jul 04 16:24:45 GMT 2009  Olly Betts <olly@survex.com>
8982
8983	* queryparser/queryparser.lt: Merge upstream "Check-in Number: 6749" -
8984	  only changes are in code which isn't compiled due to preprocessor
8985	  conditionals.
8986
8987Sat Jul 04 16:02:08 GMT 2009  Olly Betts <olly@survex.com>
8988
8989	* api/editdistance.cc: Add const to is_transposed() method
8990	  (ticket#139).
8991
8992Sat Jul 04 15:19:55 GMT 2009  Olly Betts <olly@survex.com>
8993
8994	* backends/chert/chert_lock.h,backends/flint/flint_lock.h: Make
8995	  ChertLock::operator bool() and FlintLock::operator bool() const
8996	  (ticket#139).
8997
8998Sat Jul 04 14:56:42 GMT 2009  Olly Betts <olly@survex.com>
8999
9000	* backends/chert/chert_database.cc,backends/chert/chert_database.h,
9001	  backends/flint/flint_database.cc,backends/flint/flint_database.h:
9002	  Make ChertDatabase::get_changeset_revisions() and
9003	  FlintDatabase::get_changeset_revisions() const (ticket#139).
9004
9005Sat Jul 04 14:10:55 GMT 2009  Olly Betts <olly@survex.com>
9006
9007	* backends/chert/chert_changesetapplier.h,
9008	  backends/flint/flint_changesetapplier.h: "the the" -> "the" in
9009	  comments.
9010
9011Sat Jul 04 14:06:39 GMT 2009  Olly Betts <olly@survex.com>
9012
9013	* backends/chert/chert_btreebase.cc,backends/chert/chert_btreebase.h:
9014	  Make ChertTable_base::do_unpack_uint() just a static non-class
9015	  function.  Use string::+= to build up the error string in it, and
9016	  mark the error case as rare.
9017
9018Wed Jul 01 04:12:22 GMT 2009  Olly Betts <olly@survex.com>
9019
9020	* docs/spelling.rst: Omega now supports spelling correction.
9021
9022Mon Jun 29 08:16:13 GMT 2009  Olly Betts <olly@survex.com>
9023
9024	* queryparser/queryparser.lemony: Reset the begin and end strings
9025	  before trying the next ValueRangeProcessor in case they've been
9026	  modified.
9027	* tests/queryparsertest.cc: Add regression tests and general coverage
9028	  for this area.
9029
9030Mon Jun 29 06:33:45 GMT 2009  Olly Betts <olly@survex.com>
9031
9032	* backends/remote/net_postlist.cc: Remove unused '#include
9033	  "serialise-double.h"'.
9034
9035Mon Jun 29 06:32:52 GMT 2009  Olly Betts <olly@survex.com>
9036
9037	* backends/remote/net_postlist.cc: Build up description string using
9038	  +=.
9039
9040Sun Jun 28 14:50:56 GMT 2009  Olly Betts <olly@survex.com>
9041
9042	* backends/remote/net_postlist.h: Fix internal doc comment.
9043
9044Sat Jun 27 13:35:45 GMT 2009  Olly Betts <olly@survex.com>
9045
9046	* configure.ac: -Wshadow produces false positives with GCC 4.0, so
9047	  only enable  it for >= 4.1 since we enable -Werror for
9048	  maintainer-mode builds for GCC >= 4.0.
9049
9050Sat Jun 27 13:30:22 GMT 2009  Olly Betts <olly@survex.com>
9051
9052	* backends/multi/multi_termlist.cc,backends/multi/multi_termlist.h:
9053	  Fix return type of MultiTermList::positionlist_count() to be
9054	  Xapian::termcount rather than Xapian::termpos.
9055
9056Sat Jun 27 12:50:17 GMT 2009  Olly Betts <olly@survex.com>
9057
9058	* backends/flint/flint_alltermslist.h,backends/flint/flint_postlist.cc,
9059	  backends/flint/flint_postlist.h: Fix to use Xapian::doccount for
9060	  termfreq in flint too.
9061
9062Sat Jun 27 12:28:47 GMT 2009  Olly Betts <olly@survex.com>
9063
9064	* backends/chert/chert_alltermslist.cc: Prefer 'str.resize(0)' to
9065	  'str = ""'.
9066
9067Sat Jun 27 12:16:17 GMT 2009  Olly Betts <olly@survex.com>
9068
9069	* backends/chert/chert_alltermslist.h,backends/chert/chert_postlist.h:
9070	  Fix to use Xapian::doccount for termfreq in more places.
9071
9072Sat Jun 27 11:51:25 GMT 2009  Olly Betts <olly@survex.com>
9073
9074	* backends/chert/chert_table.cc: Change so add_item_to_block() can
9075	  always assume there is another contiguous space in the block
9076	  (previously it could assume that there was enough space, but not
9077	  that it was necessarily contiguous).
9078
9079Sat Jun 27 09:55:19 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
9080
9081	* include/xapian/postingsource.h,include/xapian/weight.h: Add note
9082	  that PostingSource and Weight objects returned by clone() and
9083	  unserialise() methods will be deallocated with "delete".
9084
9085Sat Jun 27 07:26:41 GMT 2009  Olly Betts <olly@survex.com>
9086
9087	* backends/chert/chert_postlist.cc: Adjust use of Xapian::doccount vs
9088	  Xapian::termcount for consistency so things work better when these
9089	  types aren't identical.
9090
9091Sat Jun 27 01:48:39 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
9092
9093	* api/matchspy.cc: Remove unused matchspy.cc - there is an updated
9094	  version of this on the matchspy branch; having an old copy here
9095	  is just likely to lead to confusion.
9096
9097Fri Jun 26 05:42:26 GMT 2009  Olly Betts <olly@survex.com>
9098
9099	* api/documentvaluelist.cc,api/documentvaluelist.h: Change
9100	  DocumentValueList::skip_to()'s parameter type from Xapian::valueno
9101	  to Xapian::docid to agree with the type in ValueList::skip_to().
9102	  This is a latent bug - it doesn't matter provided the types are
9103	  actually the same (ticket#385).
9104
9105Thu Jun 25 11:20:07 GMT 2009  Olly Betts <olly@survex.com>
9106
9107	* matcher/phrasepostlist.cc: Use Xapian::termcount(1) instead of 1u
9108	  so that the code doesn't assume Xapian::termcount is unsigned int.
9109
9110Sun Jun 21 12:09:55 GMT 2009  Olly Betts <olly@survex.com>
9111
9112	* backends/chert/chert_check.cc,backends/chert/chert_table.cc,
9113	  backends/chert/chert_table.h: Replace duplicated macros with
9114	  a single version in chert_table.h, and use DIR_START instead of
9115	  a literal 11 in that header.
9116	* backends/chert/chert_table.h: Add more assertions.  Use
9117	  BYTES_PER_BLOCK_NUMBER instead of a literal 4 in more places.
9118
9119Sat Jun 20 07:38:56 GMT 2009  Olly Betts <olly@survex.com>
9120
9121	* backends/chert/chert_table.cc,backends/flint/flint_table.cc: Fix
9122	  misspelling in comment (neccessary -> necessary).
9123
9124Sat Jun 20 07:38:06 GMT 2009  Olly Betts <olly@survex.com>
9125
9126	* backends/chert/chert_table.cc: Don't reconstruct Item(p, c) when we
9127	  already have it as a local variable.
9128
9129Wed Jun 17 01:23:16 GMT 2009  Olly Betts <olly@survex.com>
9130
9131	* common/str.cc: Fix potential warning in signed version of str().
9132
9133Tue Jun 16 11:20:43 GMT 2009  Olly Betts <olly@survex.com>
9134
9135	* tests/harness/testsuite.cc,tests/harness/testsuite.h: Factor out
9136	  writing out what was sent to tout and clearing it into a new
9137	  method test_driver::write_and_clear_tout().
9138	* tests/harness/testsuite.cc: Prefer string() to "".  When sending a
9139	  colour change code, do it before the preceding space when that allows
9140	  string literals to be merged.  Always give the full exception message
9141	  (was conditional on --verbose).  Tidy up output for reporting the
9142	  various different exception types and other failures to give more
9143	  consistent output.
9144
9145Tue Jun 16 11:01:14 GMT 2009  Olly Betts <olly@survex.com>
9146
9147	* tests/harness/scalability.cc: Increase the number of tests until the
9148	  first sample takes more than 0.001 seconds to avoid trying to base
9149	  calculations on a length of time we probably can't reliably measure
9150	  to start with.
9151
9152Tue Jun 16 10:58:34 GMT 2009  Olly Betts <olly@survex.com>
9153
9154	* tests/harness/cputimer.cc: Don't bother trying to count CPU time
9155	  for child processes, as it's hard to ensure that the child processes
9156	  have finished with the current framework, and just counting time in
9157	  the current process checks most things (the local backend tests cover
9158	  much of the work done by the server part of the remote backend).
9159
9160Tue Jun 16 02:15:31 GMT 2009  Olly Betts <olly@survex.com>
9161
9162	* tests/harness/cputimer.h: Don't need '#include <ctime>'.
9163
9164Tue Jun 16 02:10:29 GMT 2009  Olly Betts <olly@survex.com>
9165
9166	* tests/harness/cputimer.h: Fix naming of header multiple-inclusion
9167	  protection macro.
9168
9169Sun Jun 14 14:11:51 GMT 2009  Olly Betts <olly@survex.com>
9170
9171	* tests/internaltest.cc: In testcase serialisequery1, use a helper
9172	  function rather than wasting effort building a std::list with all the
9173	  testcases in just so we can iterate over them.
9174
9175Sun Jun 14 13:52:22 GMT 2009  Olly Betts <olly@survex.com>
9176
9177	* tests/harness/testsuite.cc: <iomanip> isn't used so remove it.
9178
9179Sun Jun 14 13:30:34 GMT 2009  Olly Betts <olly@survex.com>
9180
9181	* tests/harness/testsuite.h: Fix comment typo.
9182
9183Sat Jun 13 06:30:57 GMT 2009  Olly Betts <olly@survex.com>
9184
9185	* tests/api_anydb.cc: Fix reversed conditional in last but one change.
9186
9187Sat Jun 13 04:42:27 GMT 2009  Olly Betts <olly@survex.com>
9188
9189	* tests/api_anydb.cc: Use TEST_EQUAL_DOUBLE() when comparing
9190	  get_max_attained() to allow for rounding differences.
9191
9192Sat Jun 13 04:39:49 GMT 2009  Olly Betts <olly@survex.com>
9193
9194	* tests/api_anydb.cc: Use "startswith()" rather than comparing an
9195	  extracted substring.
9196
9197Fri Jun 12 12:45:37 GMT 2009  Olly Betts <olly@survex.com>
9198
9199	* tests/harness/backendmanager_remotetcp.cc: Fix the mechanism for
9200	  closing the file descriptors used by child xapian-tcpsrv processes
9201	  once they exit, which has been broken ever since it was added nearly
9202	  two years ago (sigh).  Fixes fd leaking which caused "apitest
9203	  -bremotetcp" to fail on OpenBSD (ticket#382).
9204
9205Fri Jun 12 03:37:13 GMT 2009  Olly Betts <olly@survex.com>
9206
9207	* tests/harness/backendmanager_remotetcp.cc: Fix comment typo.
9208
9209Wed Jun 10 04:29:43 GMT 2009  Olly Betts <olly@survex.com>
9210
9211	* common/serialise-double.cc,common/serialise-double.h: Relicense as
9212	  MIT/X rather than GPLv2+ as these are low level routines which other
9213	  projects may find useful.
9214
9215Tue Jun 09 14:34:20 GMT 2009  Olly Betts <olly@survex.com>
9216
9217	* NEWS: Update for 1.1.1.
9218
9219Tue May 26 14:55:05 GMT 2009  Olly Betts <olly@survex.com>
9220
9221	* configure.ac: Update version to 1.1.1.
9222
9223Tue May 26 14:49:23 GMT 2009  Olly Betts <olly@survex.com>
9224
9225	* NEWS: Lick into shape.
9226
9227Mon May 25 11:55:59 GMT 2009  Olly Betts <olly@survex.com>
9228
9229	* PLATFORMS: Sync with changes in 1.0 version.
9230
9231Mon May 25 10:57:59 GMT 2009  Olly Betts <olly@survex.com>
9232
9233	* common/weightinternal.h: Remove declarations of unimplemented
9234	  constructors (ticket#379).
9235
9236Sat May 23 16:06:05 GMT 2009  Olly Betts <olly@survex.com>
9237
9238	* NEWS: Update from 1.0.13 and ChangeLog.
9239
9240Sat May 23 15:35:39 GMT 2009  Olly Betts <olly@survex.com>
9241
9242	* HACKING: ValueIterator is now a PIMPL class like TermIterator, etc.
9243
9244Sat May 23 05:24:33 GMT 2009  Olly Betts <olly@survex.com>
9245
9246	* docs/postingsource.rst: Since we are sticking with an recursive
9247	  maxweight recalculation for now, add back a warning about the
9248	  potential overhead from calling set_maxweight() very frequently,
9249	  with an informed estimate for the worst case overhead.
9250
9251Fri May 22 11:44:04 GMT 2009  Olly Betts <olly@survex.com>
9252
9253	* backends/inmemory/inmemory_database.cc: We can trivially make
9254	  Database::metadata_keys_begin() work for inmemory in the special
9255	  case when there are no keys, so do so.
9256	* tests/api_metadata.cc: Add test coverage for this case.
9257
9258Fri May 22 09:31:07 GMT 2009  Olly Betts <olly@survex.com>
9259
9260	* configure.ac: Only bother passing -Winit-self for GCC >= 4.3, as it
9261	  doesn't do anything for GCC <= 4.4 anyway.
9262
9263Fri May 22 07:00:29 GMT 2009  Olly Betts <olly@survex.com>
9264
9265	* backends/flint/flint_version.h: Initialise filename using + not +=.
9266	  Fix odd whitespace in recent change.
9267
9268Fri May 22 05:27:56 GMT 2009  Olly Betts <olly@survex.com>
9269
9270	* AUTHORS: Update.
9271
9272Fri May 22 05:24:19 GMT 2009  Olly Betts <olly@survex.com>
9273
9274	* api/postingsource.cc,common/multimatch.h,matcher/multimatch.cc:
9275	  Replace MultiMatch::reduce_maxweight_by() with a call to
9276	  MultiMatch::recalc_maxweight() and inline the later from the header.
9277
9278Fri May 22 05:16:03 GMT 2009  Olly Betts <olly@survex.com>
9279
9280	* configure.ac: Enable more GCC warnings - "-Woverloaded-virtual" for
9281	  all versions, "-Wstrict-null-sentinel" for 4.0+, "-Wlogical-op
9282	  -Wmissing-declarations" for 4.3+.  Notably "-Wmissing-declarations"
9283	  caught that consistency2 wasn't being run.
9284
9285Fri May 22 05:15:08 GMT 2009  Olly Betts <olly@survex.com>
9286
9287	* languages/steminternal.cc,languages/steminternal.h: Inline simple
9288	  Stem::Internal::Internal() constructor from header.
9289
9290Thu May 21 16:23:26 GMT 2009  Olly Betts <olly@survex.com>
9291
9292	* tests/harness/backendmanager_remotetcp.cc: Make on_SIGCHLD() static.
9293
9294Thu May 21 16:22:56 GMT 2009  Olly Betts <olly@survex.com>
9295
9296	* tests/api_wrdb.cc: Fix testcase consistency2 to actually be run.
9297
9298Thu May 21 16:22:30 GMT 2009  Olly Betts <olly@survex.com>
9299
9300	* tests/api_transdb.cc: Add missing '#include "api_transdb.h"'.
9301
9302Thu May 21 12:58:22 GMT 2009  Olly Betts <olly@survex.com>
9303
9304	* backends/databasereplicator.cc: Don't bother to check if the
9305	  database path works in stat() and is a directory - the case we want
9306	  to be fast is when the database does exist, and if path +
9307	  "/iamflint" (or "iamchert") exists, then the check for path being a
9308	  directory is redundant.  If the path isn't a flint or chert database
9309	  then a generic message including the path seems sufficient.
9310
9311Thu May 21 09:17:15 GMT 2009  Olly Betts <olly@survex.com>
9312
9313	* backends/databasereplicator.cc,common/databasereplicator.h: Inline
9314	  empty DatabaseReplicator default ctor.
9315
9316Thu May 21 08:25:24 GMT 2009  Olly Betts <olly@survex.com>
9317
9318	* api/replication.cc: Cache the result of get_replica_path() when we
9319	  are going to need it again.
9320
9321Thu May 21 08:09:51 GMT 2009  Olly Betts <olly@survex.com>
9322
9323	* backends/chert/chert_databasereplicator.h,
9324	  backends/flint/flint_databasereplicator.h: Correct parent class name
9325	  in doxygen comments.
9326
9327Thu May 21 08:08:06 GMT 2009  Olly Betts <olly@survex.com>
9328
9329	* HACKING: Update list of Debian/Ubuntu packages needed to for a
9330	  development environment.
9331
9332Thu May 21 06:28:00 GMT 2009  Olly Betts <olly@survex.com>
9333
9334	* backends/databasereplicator.cc: Fix nested comment start introduced
9335	  by the previous commit.
9336
9337Thu May 21 06:21:39 GMT 2009  Olly Betts <olly@survex.com>
9338
9339	* api/replication.cc,backends/databasereplicator.cc,
9340	  common/databasereplicator.h: We only keep one pointer to a
9341	  DatabaseReplicator, so use AutoPtr not RefCntPtr.
9342
9343Thu May 21 05:00:17 GMT 2009  Olly Betts <olly@survex.com>
9344
9345	* api/replication.cc: Fix SEGV when calling get_description() on a
9346	  default constructed DatabaseReplica.
9347	* tests/generate-api_generated: Test DatabaseReplica (regression test
9348	  for the above bug) and SerialisationContext.   Fix @file in the
9349	  generated api_generated.cc.  Update (C) dates in generated
9350	  api_generated.cc.
9351
9352Thu May 21 03:58:59 GMT 2009  Olly Betts <olly@survex.com>
9353
9354	* tests/generate-api_generated: Call get_description() on the default
9355	  constructed object to make sure that works (and doesn't try to
9356	  dereference NULL, or fail some assertion, etc).  All currently
9357	  checked classes are fine - this is to avoid future regressions or
9358	  such problems with new classes.
9359
9360Wed May 20 14:19:54 GMT 2009  Olly Betts <olly@survex.com>
9361
9362	* net/tcpclient.cc,net/tcpserver.cc: Fix xapian-tcpsrv --interface
9363	  option to work on MacOS X (ticket#373).
9364
9365Wed May 20 13:58:09 GMT 2009  Olly Betts <olly@survex.com>
9366
9367	* api/omdatabase.cc,api/sortable-serialise.cc,backends/chert/,
9368	  backends/flint/,backends/remote/remote-database.cc,
9369	  common/serialise-double.cc,common/str.cc,
9370	  matcher/exactphrasepostlist.cc,net/remoteconnection.cc,
9371	  net/remoteserver.cc: Replace C-style casts.  Add a few missing casts.
9372	  Tweak types used in a few places.
9373
9374Wed May 20 13:55:41 GMT 2009  Olly Betts <olly@survex.com>
9375
9376	* backends/chert/chert_databasereplicator.cc,
9377	  backends/flint/flint_databasereplicator.cc: Need <cstdio> for
9378	  rename().  Replace C-style cast to off_t.
9379
9380Wed May 20 13:53:25 GMT 2009  Olly Betts <olly@survex.com>
9381
9382	* api/editdistance.cc: Make edist_state class uncopyable and
9383	  unassignable.  Initialise maxdist in the initialiser list.
9384
9385Wed May 20 11:19:53 GMT 2009  Olly Betts <olly@survex.com>
9386
9387	* languages/steminternal.cc,languages/steminternal.h: Change C-style
9388	  casts to C++-style ones.
9389
9390Wed May 20 10:40:03 GMT 2009  Olly Betts <olly@survex.com>
9391
9392	* common/str.h: Add static_cast<char>() to suppress bogus MSVC
9393	  warning (ticket#377).
9394
9395Tue May 19 15:26:39 GMT 2009  Olly Betts <olly@survex.com>
9396
9397	* backends/chert/,backends/flint/,common/rset.h,tests/api_anydb.cc:
9398	  Pass std::string by const reference rather than value (except in
9399	  a few cases where we need a modifiable copy anyway) as benchmarking
9400	  shows this is better even with GCC's reference counted std::string
9401	  implementation (ticket#140).
9402	* tests/api_anydb.cc: Use string() instead of "" for an empty string.
9403
9404Tue May 19 08:47:55 GMT 2009  Olly Betts <olly@survex.com>
9405
9406	* api/omquery.cc,include/xapian/query.h: Make Xapian::Query::MatchAll
9407	  and Xapian::Query::MatchNothing const since they're immutable.  All
9408	  the public methods are const, so this should be completely API
9409	  compatible.
9410
9411Tue May 19 06:25:26 GMT 2009  Olly Betts <olly@survex.com>
9412
9413	* include/xapian/enquire.h: Document what passing maxitems=0 to
9414	  get_mset() does.
9415
9416Mon May 18 13:32:49 GMT 2009  Olly Betts <olly@survex.com>
9417
9418	* include/xapian/database.h: Correct doxygen comments for user
9419	  metadata functions: get_metadata() can't throw UnimplementedError
9420	  but set_metadata() can.
9421	* include/xapian/database.h,tests/api_metadata.cc: Document that
9422	  metadata_keys_begin() returns an end iterator if the backend doesn't
9423	  support metadata, and add test coverage for this case.
9424	* backends/inmemory/inmemory_database.cc,
9425	  backends/inmemory/inmemory_database.h,include/xapian/database.h,
9426	  tests/api_metadata.cc,tests/harness/testrunner.cc: The test harness
9427	  didn't have the inmemory backend flagged as supporting
9428	  user-specified metadata, and so it's perhaps not a great surprise to
9429	  discover that inmemory doesn't support it fully - you can't iterate
9430	  over metadata keys, but instead get an empty iteration.  Fix this
9431	  to at least throw UnimplementedError and document that this is the
9432	  situation.
9433
9434Mon May 18 11:29:10 GMT 2009  Olly Betts <olly@survex.com>
9435
9436	* tests/Makefile.am,tests/api_metadata.cc,tests/api_wrdb.cc: Split out
9437	  tests of user metadata into their own file.
9438
9439Sun May 17 12:52:41 GMT 2009  Olly Betts <olly@survex.com>
9440
9441	* matcher/: Add a new constructor to MultiAndPostList for the "decay
9442	  from OrPostList or AndMaybePostList" case which takes the already
9443	  know max weights to avoid having to refetch them.  Also, we know
9444	  that the subpostlists of OrPostList are ordered a particular way
9445	  so can avoid needing to check the order in that case.
9446
9447Sat May 16 05:02:35 GMT 2009  Olly Betts <olly@survex.com>
9448
9449	* backends/flint/flint_version.cc: Fix comment - this file doesn't
9450	  use memcpy() now.
9451
9452Thu May 14 04:38:47 GMT 2009  Olly Betts <olly@survex.com>
9453
9454	* tests/api_percentages.cc: Remove superfluous explict std::
9455	  qualifiers.
9456
9457Thu May 14 04:36:29 GMT 2009  Olly Betts <olly@survex.com>
9458
9459	* tests/api_percentages.cc: Update for the PostingSource
9460	  get_maxweight() API changes.
9461
9462Tue May 12 14:50:57 GMT 2009  Olly Betts <olly@survex.com>
9463
9464	* matcher/multimatch.cc: Rename "max_weight" variable to "max_possible"
9465	  since that is what it is referred to via the MSet API.
9466
9467Tue May 12 12:38:11 GMT 2009  Olly Betts <olly@survex.com>
9468
9469	* common/safeuuid.h: Fix length of buffer to lower case - it's
9470	  36, not sizeof(uuid_t).
9471
9472Tue May 12 02:49:34 GMT 2009  Olly Betts <olly@survex.com>
9473
9474	* common/safeuuid.h,configure.ac: Older versions of libuuid don't have
9475	  uuid_unparse_lower() so probe for it in configure, and if it isn't
9476	  present provide an inline version in safeuuid.h (ticket#368).
9477
9478Mon May 11 13:07:47 GMT 2009  Olly Betts <olly@survex.com>
9479
9480	* tests/api_postingsource.cc: In changemaxweightsource1, set
9481	  descending docid order so that the matcher isn't able to terminate
9482	  early after 4 documents just because weight == maxweight.
9483
9484Mon May 11 12:00:04 GMT 2009  Olly Betts <olly@survex.com>
9485
9486	* net/serialise.cc: Build up string using +=.
9487
9488Mon May 11 11:39:49 GMT 2009  Olly Betts <olly@survex.com>
9489
9490	* docs/postingsource.rst: Improve documentation for get_maxweight().
9491
9492Mon May 11 11:26:02 GMT 2009  Olly Betts <olly@survex.com>
9493
9494	* include/xapian/postingsource.h: Initialise max_weight_ to 0 in the
9495	  PostingSource constructor in case nobody else sets a value for it.
9496
9497Mon May 11 10:54:47 GMT 2009  Olly Betts <olly@survex.com>
9498
9499	* tests/api_postingsource.cc: Fix class name in FAIL_TEST message.
9500
9501Mon May 11 10:41:31 GMT 2009  Olly Betts <olly@survex.com>
9502
9503	* tests/api_postingsource.cc: Fix get_termfreq_min(), etc for
9504	  ChangeMaxweightPostingSource to return 4 not 5.
9505
9506Mon May 11 09:03:14 GMT 2009  Olly Betts <olly@survex.com>
9507
9508	* api/postingsource.cc: Remove assertion checking that set_maxweight()
9509	  doesn't set a lower weight - it legitimately can when we call init()
9510	  on a non-clone-able PostingSource for reuse.
9511
9512Mon May 11 03:12:00 GMT 2009  Olly Betts <olly@survex.com>
9513
9514	* api/postingsource.cc,common/multimatch.h,docs/postingsource.rst,
9515	  include/xapian/postingsource.h,matcher/externalpostlist.cc,
9516	  matcher/externalpostlist.h,matcher/msetpostlist.cc,
9517	  tests/api_postingsource.cc: Replace PostingSource's
9518	  notify_new_maxweight() and virtual get_maxweight() mechanism with a
9519	  non-virtual set_maxweight() and get_maxweight().  Currently the
9520	  plumbing at the matcher end is much as before, but this API seems
9521	  more obvious to the user and will allow the matcher to simply reduce
9522	  its maximum weight value rather than having to recursively call
9523	  recalc_maxweight() in response to this situation (ticket#340).
9524
9525Mon May 11 02:38:26 GMT 2009  Olly Betts <olly@survex.com>
9526
9527	* docs/postingsource.rst: Fix a typo and reword to avoid "namespaced".
9528
9529Mon May 11 02:30:59 GMT 2009  Olly Betts <olly@survex.com>
9530
9531	* matcher/msetpostlist.cc: Fix typo - MSetPostList::get_maxweight()
9532	  with a sort ordered primarily by decreasing relevance was returning
9533	  the docid for the maxweight!  This could have led to wrong results
9534	  when searching multiple databases with the remote backend, but
9535	  probably usually didn't matter as with BM25 the weights are usually
9536	  small (often all < 1) while docids are inevitably >= 1.  No
9537	  regression test for this (currently anyway).
9538
9539Sun May 10 07:49:11 GMT 2009  Olly Betts <olly@survex.com>
9540
9541	* backends/dbfactory.cc: Fix comment typo.
9542
9543Sat May 09 14:15:38 GMT 2009  Olly Betts <olly@survex.com>
9544
9545	* tests/api_collapse.cc,tests/perftest/runprocess.cc: Remove unused
9546	  include of <iostream>.
9547
9548Sat May 09 14:03:34 GMT 2009  Olly Betts <olly@survex.com>
9549
9550	* api/omquery.cc,matcher/andnotpostlist.cc,
9551	  queryparser/termgenerator_internal.cc,tests/api_wrdb.cc: Remove
9552	  unused inclusions of <algorithm>.
9553
9554Sat May 09 13:47:54 GMT 2009  Olly Betts <olly@survex.com>
9555
9556	* matcher/multimatch.cc: Remove unused inclusion of <queue>.
9557
9558Sat May 09 13:38:02 GMT 2009  Olly Betts <olly@survex.com>
9559
9560	* api/omquery.cc,api/omqueryinternal.cc,api/replication.cc,
9561	  backends/alltermslist.cc,backends/chert/chert_table.cc,
9562	  backends/flint/flint_table.cc,bin/xapian-compact.cc,
9563	  common/bitstream.cc,common/inmemory_positionlist.h,
9564	  common/positionlist.h,matcher/localmatch.h,matcher/queryoptimiser.cc,
9565	  matcher/queryoptimiser.h,tests/api_wrdb.cc: Remove unused inclusions
9566	  of <list>, <map>, <string>, and <vector>.
9567
9568Sat May 09 12:48:18 GMT 2009  Olly Betts <olly@survex.com>
9569
9570	* api/documentvaluelist.cc,matcher/queryoptimiser.cc: Remove unused
9571	  '#include "autoptr.h"'.
9572
9573Sat May 09 09:41:03 GMT 2009  Olly Betts <olly@survex.com>
9574
9575	* queryparser/queryparser.lemony,queryparser/termgenerator.cc,
9576	  weight/bm25weight.cc,weight/boolweight.cc,weight/tradweight.cc:
9577	  Remove unneeded explicit "std::" qualifiers.
9578
9579Sat May 09 09:35:32 GMT 2009  Olly Betts <olly@survex.com>
9580
9581	* weight/weight.cc: Doesn't use '#include "autoptr.h"'.
9582
9583Fri May 08 19:59:00 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
9584
9585	* configure.ac: Change source file which autoconf looks for, since
9586	  I've just removed the old one that it looked for!
9587
9588Fri May 08 19:28:31 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
9589
9590	* matcher/andmaybepostlist.cc,matcher/branchpostlist.h: Call
9591	  check() instead of skip_to() on the optional branch of AND_MAYBE.
9592	  This can be much faster if that branch is a posting source.
9593
9594Fri May 08 18:31:01 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
9595
9596	* matcher/: Remove AndPostList, in favour of MultiAndPostList.
9597	  AndPostList was only used as a decay product (by AndMaybePostList
9598	  and OrPostList); for most queries, MultiAnd has pretty much
9599	  indistinguishable performance as far as I can test; however, it
9600	  uses check() when possible, which makes performance much better
9601	  with searches involving external posting sources.  Removal also
9602	  reduces the amount of code cluttering up the caches during a
9603	  search, so may help speed things up in some other situations.
9604
9605Fri May 08 16:00:42 GMT 2009  Olly Betts <olly@survex.com>
9606
9607	* api/postingsource.cc,backends/inmemory/inmemory_database.cc,
9608	  examples/delve.cc,include/xapian/postingsource.h: Don't store an
9609	  end iterator in a variable just to compare against it - it's now
9610	  definitely more efficient to compare against the return value of
9611	  the relevant _end() method.
9612
9613Fri May 08 15:44:07 GMT 2009  Olly Betts <olly@survex.com>
9614
9615	* api/valueiterator.cc,include/xapian/database.h,
9616	  include/xapian/document.h,include/xapian/valueiterator.h: Create a
9617	  new proxy object class ValueIteratorEnd_ which is returned instead
9618	  of ValueIterator(NULL) for end iterators.  This class will be
9619	  converted to ValueIterator(NULL) if assigned to or passed as
9620	  ValueIterator, but operator== and operator!= are overloaded to
9621	  handle it directly which means that the compiler no longer calls
9622	  ~ValueIterator for each call which returns ValueIterator(NULL).
9623
9624Fri May 08 15:42:12 GMT 2009  Olly Betts <olly@survex.com>
9625
9626	* backends/chert/chert_values.cc: Swap two statements for cosmetic
9627	  reasons.
9628
9629Fri May 08 14:42:49 GMT 2009  Olly Betts <olly@survex.com>
9630
9631	* api/postingsource.cc,include/xapian/postingsource.h: It is actually
9632	  better not to store the end iterator in a member variable - if we
9633	  explicitly call db.postlist_end(string()) then that just gets
9634	  optimised to PostingSource(NULL).
9635
9636Fri May 08 14:02:21 GMT 2009  Olly Betts <olly@survex.com>
9637
9638	* tests/api_postingsource.cc: We've decided that "going back" with
9639	  skip_to() or check() should have unspecified behaviour, so stop
9640	  testing how this case behaves!
9641
9642Fri May 08 12:37:33 GMT 2009  Olly Betts <olly@survex.com>
9643
9644	* common/Makefile.mk: Ship common/win32_uuid.cc and common/win32_uuid.h
9645	  (ticket#367).
9646
9647Fri May 08 12:30:45 GMT 2009  Olly Betts <olly@survex.com>
9648
9649	* tests/harness/cputimer.cc: Fix typo in the "ftime" case.
9650
9651Fri May 08 10:25:37 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
9652
9653	* matcher/andpostlist.cc: Fix a swap which was the wrong way round,
9654	  so that we call next() on the subpostlist with the lower
9655	  frequency, rather than the one with the higher frequency.  This
9656	  should improve performance in many situations, and I don't think
9657	  it's likely to slow anything down.  It also fixes some cases
9658	  where optimisation of an AND_MAYBE to an AND results in a slower
9659	  search, such that search times went down when more hits were
9660	  requested.
9661
9662Fri May 08 08:48:14 GMT 2009  Olly Betts <olly@survex.com>
9663
9664	* matcher/externalpostlist.cc: ExternalPostList::get_doclength()
9665	  should never get called, so make it "Assert(false)".
9666
9667Fri May 08 05:16:50 GMT 2009  Olly Betts <olly@survex.com>
9668
9669	* api/postingsource.cc: Another string concatention.
9670
9671Fri May 08 05:04:55 GMT 2009  Olly Betts <olly@survex.com>
9672
9673	* api/postingsource.cc: Use str() instead of om_tostring() and build
9674	  up strings using +=.
9675
9676Fri May 08 04:37:05 GMT 2009  Olly Betts <olly@survex.com>
9677
9678	* api/postingsource.cc: "using namespace std;".
9679
9680Thu May 07 16:46:14 GMT 2009  Olly Betts <olly@survex.com>
9681
9682	* matcher/: Check for collection_size == 0 up front so we don't need
9683	  to repeatedly special case it when implementing
9684	  get_termfreq_est_using_stats().
9685
9686Thu May 07 16:28:07 GMT 2009  Olly Betts <olly@survex.com>
9687
9688	* matcher/xorpostlist.cc: Fix typo bug - collection_size should be
9689	  rset_size.  This would have lead to a floating point division by
9690	  zero when XOR was used under a synonym without an RSet, but that
9691	  would just give infinity, and so just give a bogus value for the
9692	  rel_termfreq rather than aborting instantly.
9693
9694Thu May 07 16:19:52 GMT 2009  Olly Betts <olly@survex.com>
9695
9696	* HACKING: Update auto_ptr information.  Mention constructor syntax as
9697	  an alternative replacement for some C-style casts.
9698
9699Thu May 07 15:25:00 GMT 2009  Olly Betts <olly@survex.com>
9700
9701	* matcher/localmatch.cc,matcher/localmatch.h: Don't rebuild the
9702	  termname -> termfreq and weight map for every subdatabase - just do
9703	  it once for the first one.  Also eliminate a copy of this map.
9704	  This should speed up searches a little, especially those over
9705	  multiple databases.
9706
9707Thu May 07 15:01:24 GMT 2009  Olly Betts <olly@survex.com>
9708
9709	* api/omdatabase.cc,api/omqueryinternal.cc,
9710	  backends/remote/remote-database.cc,common/autoptr.h,
9711	  expand/esetinternal.cc,matcher/localmatch.cc: Make our AutoPtr just
9712	  a macro wrapper for std::auto_ptr.  Since std::auto_ptr doesn't
9713	  allow assignment from a raw pointer, this requires changing such
9714	  assignments into calls to auto_ptr::reset().
9715
9716Thu May 07 14:19:22 GMT 2009  Olly Betts <olly@survex.com>
9717
9718	* api/leafpostlist.cc: Add an assertion that the term in the stats.
9719	  Add "using namespace std;" so we can avoid explicit std:: qualifiers.
9720
9721Thu May 07 13:26:21 GMT 2009  Olly Betts <olly@survex.com>
9722
9723	* matcher/: Eliminate EmptySubMatch - we can just store NULL for a
9724	  submatch which has failed but which ErrorHandler told us to continue
9725	  without.
9726
9727Thu May 07 12:52:24 GMT 2009  Olly Betts <olly@survex.com>
9728
9729	* common/database.h: Update internal documentation comment -
9730	  Database::Internal::open_post_list() can no longer return
9731	  EmptyPostList as it is no longer a subclass of LeafPostList.
9732
9733Thu May 07 12:13:50 GMT 2009  Olly Betts <olly@survex.com>
9734
9735	* api/leafpostlist.cc,backends/chert/chert_postlist.cc,
9736	  backends/chert/chert_postlist.h,
9737	  backends/flint/flint_alldocspostlist.h,
9738	  backends/flint/flint_postlist.cc,backends/flint/flint_postlist.h,
9739	  backends/inmemory/inmemory_database.cc,
9740	  backends/inmemory/inmemory_database.h,backends/remote/net_postlist.h,
9741	  common/contiguousalldocspostlist.h,common/leafpostlist.h: Squash
9742	  TermBasedLeafPostList into LeafPostList since there are no longer
9743	  any other subclasses.
9744
9745Thu May 07 11:49:06 GMT 2009  Olly Betts <olly@survex.com>
9746
9747	* api/Makefile.mk,api/emptypostlist.cc,common/emptypostlist.h:
9748	  Reimplement EmptyPostList from scratch, and inherit from PostList
9749	  not LeafPostList.
9750
9751Thu May 07 11:19:34 GMT 2009  Olly Betts <olly@survex.com>
9752
9753	* matcher/mergepostlist.cc: Add explicit '#include "omassert.h"'.
9754
9755Thu May 07 10:28:33 GMT 2009  Olly Betts <olly@survex.com>
9756
9757	* backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h:
9758	  Subclass MultiPostList directly from PostList instead of from
9759	  LeafPostList.  This gets rid of two unused data members per
9760	  MultiPostList in exchange for having to define 5 extra "never
9761	  called" methods, but 4 of these just tailcall.
9762
9763Thu May 07 10:26:39 GMT 2009  Olly Betts <olly@survex.com>
9764
9765	* backends/inmemory/inmemory_alltermslist.cc,
9766	  backends/inmemory/inmemory_database.cc: Fix assertion failures and
9767	  a SEGV in an assertion test.
9768
9769Thu May 07 09:27:35 GMT 2009  Olly Betts <olly@survex.com>
9770
9771	* backends/inmemory/inmemory_alltermslist.cc,
9772	  backends/inmemory/inmemory_alltermslist.h,
9773	  backends/inmemory/inmemory_database.cc:
9774	  Keep a dummy entry in InMemoryDatabase::postlists so that the
9775	  implementation of InMemoryAllTermsList doesn't need a "started"
9776	  flag, and we can use an InMemoryPostList on the dummy item for
9777	  the "term not in database" case.
9778
9779Thu May 07 05:45:48 GMT 2009  Olly Betts <olly@survex.com>
9780
9781	* tests/api_backend.cc: Add tset coverage for alldocs iterator on an
9782	  empty database.
9783	* backends/inmemory/inmemory_database.cc: No need to special case an
9784	  empty database as InMemoryAllDocsPostList handles this case
9785	  correctly.
9786
9787Thu May 07 05:08:07 GMT 2009  Olly Betts <olly@survex.com>
9788
9789	* weight/weightinternal.cc: Use str() instead of om_tostring(), += to
9790	  build up strings, and fix a cut-and-paste comment error.
9791
9792Wed May 06 13:03:40 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
9793
9794	* net/serialise.cc: Better serialisation - don't include the
9795	  reltermfreqs if the rset_size is 0, since they'll all be 0 too.
9796
9797Wed May 06 12:13:52 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
9798
9799	* common/remoteprotocol.h,net/serialise.cc: When serialising stats,
9800	  serialise the termfreq and reltermfreq together, rather than in
9801	  separate lists.  Results in a smaller serialised form, and
9802	  matches the in-memory structure now used better. Fixes ticket
9803	  #362.  This is an incompatible remote protocol change, however,
9804	  so bump the major version to 32.
9805
9806Wed May 06 04:02:43 GMT 2009  Olly Betts <olly@survex.com>
9807
9808	* matcher/multimatch.cc: Check termfreqandwts for MatchAll queries
9809	  before we check terms from the document so that the "terminate
9810	  early once we've seen all the query terms" test when checking the
9811	  document terms can fire in this case.
9812
9813Wed May 06 03:26:05 GMT 2009  Olly Betts <olly@survex.com>
9814
9815	* matcher/multimatch.cc: Remove incorrect comment accidentally
9816	  committed in r12623.
9817
9818Wed May 06 03:18:42 GMT 2009  Olly Betts <olly@survex.com>
9819
9820	* tests/api_opsynonym.cc: Fix comment typo.
9821
9822Wed May 06 01:35:14 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
9823
9824	* tests/api_postingsource.cc: changemaxweightsource1 uses
9825	  ChangeMaxweightPostingSource, which doesn't work with multi or
9826	  remote, so mark the test accordingly.
9827
9828Wed May 06 01:11:25 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
9829
9830	* include/xapian/postingsource.h,api/postingsource.cc: Add
9831	  notify_new_maxweight() method to be called by subclasses when they
9832	  want to notify the matcher that their maxweight has changed
9833	  significantly.  Add ExternalPostList as a friend and add
9834	  register_externalpl() to be used to associate the ExternalPostList
9835	  with the PostingSource.
9836	* matcher/externalpostlist.cc,matcher/externalpostlist.h,
9837	  matcher/queryoptimiser.cc: Register the externalpostlist with the
9838	  PostingSource it's iterating through.  Add
9839	  ExternalPostList::notify_new_maxweight() method for
9840	  PostingSource::notify_new_maxweight() to call.
9841	* docs/postingsource.rst: Document notify_new_maxweight() and the
9842	  reasons for calling it.
9843	* tests/api_postingsource.cc: Test the handling of maxweight.
9844
9845Tue May 05 19:37:56 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
9846
9847	* tests/Makefile.am,tests/api_db.cc,tests/api_postingsource.cc:
9848	  Split the tests of PostingSource subclasses out of api_db.cc; I'm
9849	  about to add some more, and bloating api_db.cc further is
9850	  unworkable.
9851
9852Tue May 05 18:23:02 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
9853
9854	* docs/postingsource.rst,include/xapian/postingsource.h:
9855	  Documentation updates to describe way that init() is called
9856	  again if a PostingSource is reused.  Fixes #352.
9857
9858Tue May 05 16:05:48 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
9859
9860	* tests/api_opsynonym.cc: Test that the top document has a weight
9861	  of 100%, which is should do for all the current examples here.
9862
9863Tue May 05 16:03:29 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
9864
9865	* matcher/multimatch.cc: Add logging to keep track of the weights
9866	  being added to percent_scale.  If the percent_scale total is 0.0,
9867	  which can happen if the top document only matches synonym terms,
9868	  force percent_scale to 1.0, to avoid an assertion failure.
9869
9870Tue May 05 13:41:57 GMT 2009  Olly Betts <olly@survex.com>
9871
9872	* common/str.h: Fix swapped parameters in string ctor in code for
9873	  str(bool) overload which lead to us returning 48 or 49 \x01
9874	  characters instead of "0" or "1".
9875	* tests/internaltest.cc: Add regression test strbool1.
9876	* AUTHORS: Thank Peter Kelm for helping us spot this.
9877
9878Tue May 05 12:54:36 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
9879
9880	Merge from opsynonym branch:
9881	* queryparser/queryparser.lemony: Use OP_SYNONYM instead of OP_OR
9882	  for synonyms, wildcards, and partial queries.
9883	* tests/queryparsertest.cc: Test use of OP_SYNONYM by query parser.
9884
9885Tue May 05 12:18:06 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
9886
9887	Merge from opsynonym branch:
9888	* api/omqueryinternal.cc,include/xapian/query.h,matcher/,
9889	  weight/weight.cc: Implement a new OP_SYNONYM query operator,
9890	  which behaves similarly to OP_OR, but produces weights for the
9891	  combined set of terms as if they were a single term (by merging
9892	  their wdfs).
9893	* tests/Makefile.am,tests/api_opsynonym.cc: Add tests for the
9894	  OP_SYNONYM operator.
9895	* include/xapian/weight.h: Add a Weight::init_() method for
9896	  synonym, since there isn't a single term involved.  Also,
9897	  requires a method get_sumpart_needs_wdf_() to check if wdfs are
9898	  needed, since the synonym weight calculation requires fetching
9899	  the doclength, which is potentially expensive, in order that the
9900	  wdf returned can be clamped to a sane range.  Mark the weighting
9901	  methods which require WDF with need_stat(WDF).
9902
9903Tue May 05 12:04:33 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
9904
9905	* common/remoteprotocol.h: Add comment to remind use to do the
9906	  FIXME in serialise_stats() when next breaking remote protocol
9907	  compatibility.
9908
9909Tue May 05 10:53:11 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
9910
9911	* common/output.h: Add output function for TermFreqs.
9912
9913Tue May 05 08:23:28 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
9914
9915	* api/leafpostlist.cc,api/postlist.cc,common/emptypostlist.h,
9916	  common/leafpostlist.h,common/postlist.h,matcher/: Add
9917	  PostList::get_termfreq_est_using_stats() method, with default
9918	  implementation which raises an InvalidOperationError.  Implement
9919	  this for those postlists which it makes sense for.  Also,
9920	  implement get_wdf() for postlists used by the matcher for
9921	  implementing various query operators.  This isn't currently used
9922	  or tested on trunk, but is used for the opsynonym branch.
9923
9924Tue May 05 07:37:04 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
9925
9926	* common/rset.h,common/weightinternal.h,matcher/rset.cc,
9927	  net/serialise.cc,weight/weightinternal.cc: Store termfreqs and
9928	  reltermfreqs in a Weight::Internal in a single map; introduce a
9929	  new struct (TermFreqs) for the values stored here.
9930	  Remove now unused Xapian::TermFreqMap typedef.
9931
9932Tue May 05 07:19:19 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
9933
9934	* backends/chert/chert_postlist.cc,backends/chert/chert_postlist.h,
9935	  backends/flint/flint_alldocspostlist.h,
9936	  backends/flint/flint_postlist.cc,backends/flint/flint_postlist.h,
9937	  backends/inmemory/inmemory_database.cc,
9938	  backends/inmemory/inmemory_database.h,backends/remote/net_postlist.h,
9939	  common/contiguousalldocspostlist.h,common/leafpostlist.h:
9940	  Introduce TermBasedLeafPostList, as a new common base class for
9941	  postlists which are derived from a term in the query (including
9942	  alldocs postlists which are derived from the empty term).
9943
9944Tue May 05 06:47:11 GMT 2009  Olly Betts <olly@survex.com>
9945
9946	* backends/chert/,backends/flint/flint_modifiedpostlist.cc,
9947	  backends/flint/flint_postlist.cc,backends/flint/flint_postlist.h:
9948	  Rename "tname" parameters to LeafPostList subclasses to "term".
9949	* backends/inmemory/inmemory_database.cc,
9950	  backends/inmemory/inmemory_database.h: Rename term parameter of
9951	  type InMemoryTerm to imterm ready for opsynonym branch changes.
9952
9953Tue May 05 04:51:28 GMT 2009  Olly Betts <olly@survex.com>
9954
9955	* backends/chert/chert_alldocspostlist.h,matcher/multimatch.cc:
9956	  Remove unused '#include "leafpostlist.h"'.
9957
9958Tue May 05 02:15:35 GMT 2009  Olly Betts <olly@survex.com>
9959
9960	* common/contiguousalldocspostlist.h: Wrap comment.
9961
9962Tue May 05 02:04:02 GMT 2009  Olly Betts <olly@survex.com>
9963
9964	* common/Makefile.mk: Move str.h into alphabetical order.
9965
9966Mon May 04 12:04:16 GMT 2009  Olly Betts <olly@survex.com>
9967
9968	* tests/queryparsertest.cc: Rename qp_stem_scale1 to qp_scale1 as it
9969	  has no connection with stemming.  Factor out a helper function to
9970	  do the timing comparison, and update time_query_parse() to use
9971	  CPUTimer rather than OmTime.  Tweak the "fudge factor" up from
9972	  2 to 2.15 to allow for non-equal ticks due to rounding of an
9973	  interval which isn't an exact multiple of 1/CLK_TCK (ticket#308).
9974
9975Mon May 04 12:02:32 GMT 2009  Olly Betts <olly@survex.com>
9976
9977	* tests/harness/cputimer.cc: If we don't have rusage() or times(), but
9978	  do have ftime(), use that instead of time() so we at least get
9979	  subsecond resolution (as we do currently with OmTime).
9980
9981Mon May 04 03:31:51 GMT 2009  Olly Betts <olly@survex.com>
9982
9983	* docs/queryparser.html: Add examples of using a prefix on a phrase
9984	  or subexpression.
9985
9986Sun May 03 14:58:42 GMT 2009  Olly Betts <olly@survex.com>
9987
9988	* tests/api_valuestats.cc: Testcase valuestats4 requires transactions,
9989	  so indicate that and remove the explicit SKIP for inmemory.
9990
9991Sun May 03 12:34:30 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
9992
9993	* common/rset.h,common/weightinternal.h,matcher/rset.cc,
9994	  weight/weightinternal.cc: Typedef std::map<string, Xapian::doccount>
9995	  as TermFreqMap; tidies up code a little here, but mainly useful
9996	  for keeping code tidy on branches/opsynonym.
9997
9998Sun May 03 11:49:08 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
9999
10000	* common/multimatch.h: Remove unused include of <map>
10001
10002Sun May 03 05:23:32 GMT 2009  Olly Betts <olly@survex.com>
10003
10004	* tests/api_db.cc: Protect tests which assume Flint is enabled with
10005	  #ifdef XAPIAN_HAS_FLINT_BACKEND.
10006
10007Sat May 02 15:49:46 GMT 2009  Olly Betts <olly@survex.com>
10008
10009	* configure.ac,tests/Makefile.am,tests/api_scalability.cc,
10010	  tests/api_wrdb.cc,tests/harness/: Add new "test_scalability()" helper
10011	  function which checks that an operation scales in CPU time used in
10012	  the desired way.  Use this to reimplement bigoaddvalue (and rename
10013	  to bigoaddvalue1 for consistency).
10014
10015Fri May 01 04:58:41 GMT 2009  Olly Betts <olly@survex.com>
10016
10017	* bin/xapian-check.cc: For chert, check value stats are the correct
10018	  format and that the streamed values are consistent with their stats
10019	  (ticket#277).
10020
10021Fri May 01 04:53:22 GMT 2009  Olly Betts <olly@survex.com>
10022
10023	* api/omdocument.cc: Don't ever store empty values explicitly, which
10024	  eliminates an inconsistently handled corner case which was causing
10025	  the "value frequency" to be wrong from at least one point of view.
10026	  This is consistent with how user metadata works too.
10027	* include/xapian/document.h: Explicitly document this behaviour.
10028	* tests/api_valuestats.cc: Add regression test for the above change.
10029
10030Fri May 01 03:11:25 GMT 2009  Olly Betts <olly@survex.com>
10031
10032	* bin/xapian-check.cc: Chert doesn't store termlist entries for
10033	  documents without terms, which resulted in us reporting an error when
10034	  we found document ids in the doclength "postlist" which were greater
10035	  than any with an entry in the termlist.  Instead compare these
10036	  entries against db.get_last_docid() if we are checking a whole db
10037	  and able to call it.  If not, suppress this check.
10038
10039Thu Apr 30 15:02:41 GMT 2009  Olly Betts <olly@survex.com>
10040
10041	* common/valuestats.h: Fix comment typo.
10042
10043Tue Apr 28 14:01:41 GMT 2009  Olly Betts <olly@survex.com>
10044
10045	* api/omdatabase.cc: Use <cstdlib> rather than <stdlib.h> which means
10046	  that there's an overload for abs(long).
10047
10048Tue Apr 28 13:17:48 GMT 2009  Olly Betts <olly@survex.com>
10049
10050	* HACKING,INSTALL,configure.ac,include/xapian/deprecated.h,
10051	  include/xapian/version_h.cc,tests/harness/testsuite.cc: Actually,
10052	  let's require GCC 3.1 as doing so eliminates some preprocessor
10053	  conditionals which we aren't able to test regularly as we don't
10054	  have easy access to such old GCC versions.  GCC 3.1 is nearly 7
10055	  years old now, and GCC3 didn't get widespread use until later
10056	  versions anyway.
10057
10058Tue Apr 28 12:47:11 GMT 2009  Olly Betts <olly@survex.com>
10059
10060	* common/debuglog.h: Add missing initialisation of uncaught_exception
10061	  in a couple of places.
10062
10063Tue Apr 28 11:24:02 GMT 2009  Olly Betts <olly@survex.com>
10064
10065	* INSTALL: Note that Xapian 1.0.x should build with GCC 2.95.3.
10066
10067Tue Apr 28 11:20:51 GMT 2009  Olly Betts <olly@survex.com>
10068
10069	* HACKING,INSTALL,backends/chert/chert_database.h,
10070	  backends/flint/flint_database.h,
10071	  backends/inmemory/inmemory_database.h,configure.ac,
10072	  include/xapian/version_h.cc,tests/harness/testsuite.cc: Drop support
10073	  for GCC 2.95.3 - we now require at least 3.0.
10074
10075Mon Apr 27 12:20:25 GMT 2009  Olly Betts <olly@survex.com>
10076
10077	* include/xapian/weight.h: Add "need_stat(WDF);" for Weight subclasses
10078	  which use wdf.  Currently this is never actually checked by trunk
10079	  (so a regression test for this omission isn't really feasible), but
10080	  the opsynonym branch uses it.
10081
10082Sun Apr 26 14:47:57 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
10083
10084	* weight/bm25weight.cc: Add call debugging.
10085
10086Sun Apr 26 10:57:48 GMT 2009  Olly Betts <olly@survex.com>
10087
10088	* tests/api_db.cc: stubdb6 is "inmemory" not "flint || chert || multi".
10089
10090Sun Apr 26 10:51:50 GMT 2009  Olly Betts <olly@survex.com>
10091
10092	* tests/queryparsertest.cc: Fix to build with the inmemory backend
10093	  disabled.
10094
10095Sun Apr 26 07:28:47 GMT 2009  Olly Betts <olly@survex.com>
10096
10097	* tests/generate-api_generated: Fix so generated api_generated.cc
10098	  builds with the inmemory backend disabled.
10099
10100Sun Apr 26 06:30:57 GMT 2009  Olly Betts <olly@survex.com>
10101
10102	* tests/api_anydb.cc: Fix to build with the inmemory backend disabled.
10103
10104Sat Apr 25 01:10:49 GMT 2009  Olly Betts <olly@survex.com>
10105
10106	* bin/xapian-check.cc: Fix to build with the flint and/or chert
10107	  backends disabled.
10108
10109Sat Apr 25 01:06:00 GMT 2009  Olly Betts <olly@survex.com>
10110
10111	* matcher/multimatch.cc: Fix to build with the remote backend
10112	  disabled.
10113
10114Sat Apr 25 00:57:41 GMT 2009  Olly Betts <olly@survex.com>
10115
10116	* backends/dbfactory.cc: Fix to build with the inmemory backend
10117	  disabled.
10118
10119Fri Apr 24 22:59:34 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
10120
10121	* weight/weight.cc: Add debug logging to Weight::init_() methods.
10122	* net/remoteserver.cc: Fix bounds returned by Weight::Internal
10123	  object in get_mset() in remote submatches, by setting the
10124	  database used to read the bounds.
10125
10126Fri Apr 24 13:14:50 GMT 2009  Olly Betts <olly@survex.com>
10127
10128	* matcher/branchpostlist.cc,matcher/branchpostlist.h: Remove
10129	  BranchPostList::get_wdf() which isn't currently used, and isn't
10130	  wanted on branches/opsynonym.
10131
10132Fri Apr 24 12:46:18 GMT 2009  Olly Betts <olly@survex.com>
10133
10134	* queryparser/queryparser.lemony: Apply doxygen comment improvement
10135	  from branches/opsynonym.
10136
10137Fri Apr 24 12:31:15 GMT 2009  Olly Betts <olly@survex.com>
10138
10139	* matcher/localmatch.cc: Apply assertion and debug logging
10140	  improvements from branches/opsynonym.
10141
10142Thu Apr 23 06:16:05 GMT 2009  Olly Betts <olly@survex.com>
10143
10144	* Makefile.am,configure.ac,docs/Makefile.am,tests/Makefile.am: Fix
10145	  things up so that in a bootstrapped SVN tree, automatic regeneration
10146	  of autotools-generated files uses the in-tree versions of the
10147	  autotools.
10148
10149Thu Apr 23 04:37:31 GMT 2009  Olly Betts <olly@survex.com>
10150
10151	* AUTHORS: Add another bug reporter.
10152
10153Thu Apr 23 04:26:25 GMT 2009  Olly Betts <olly@survex.com>
10154
10155	* Makefile.am,languages/Makefile.mk,queryparser/Makefile.mk,
10156	  tests/Makefile.am,tests/perftest/Makefile.mk: Don't remove any
10157	  built sources in "make clean" even under --make-maintainer-mode
10158	  as that breaks switching a tree away from maintainer-mode with:
10159	  make distclean;./configure
10160
10161Thu Apr 23 03:51:03 GMT 2009  Olly Betts <olly@survex.com>
10162
10163	* Makefile.am: Use "--coverage" instead of "-fprofile-arcs
10164	  -ftest-coverage" in the test coverage build.
10165
10166Wed Apr 22 14:32:56 GMT 2009  Olly Betts <olly@survex.com>
10167
10168	* PLATFORMS: Sync with 1.0.12; add entry for atreus for 1.1.0.
10169
10170Wed Apr 22 14:27:36 GMT 2009  Olly Betts <olly@survex.com>
10171
10172	* AUTHORS: Add more bug reporters and patch contributors.  Remove a
10173	  duplicate entry.
10174
10175Wed Apr 22 13:58:31 GMT 2009  Olly Betts <olly@survex.com>
10176
10177	* NEWS: Set release date.
10178
10179Wed Apr 22 13:36:04 GMT 2009  Olly Betts <olly@survex.com>
10180
10181	* NEWS: Update, perhaps even ready for release now.
10182
10183Wed Apr 22 11:00:50 GMT 2009  Olly Betts <olly@survex.com>
10184
10185	* NEWS: More work.
10186
10187Tue Apr 21 17:59:13 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
10188
10189	* docs/queryparser.html: Add closing <code> tag.
10190
10191Tue Apr 21 11:05:17 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
10192
10193	* NEWS: A few minor corrections and adjustments.
10194
10195Tue Apr 21 07:49:49 GMT 2009  Olly Betts <olly@survex.com>
10196
10197	* include/xapian/weight.h: Don't use the term "term" to talk about the
10198	  extra weight component as it already has a strong meaning in Xapian.
10199
10200Tue Apr 21 07:16:18 GMT 2009  Olly Betts <olly@survex.com>
10201
10202	* queryparser/lemon.c: Merge upstream "Check-in Number: 6451".
10203
10204Tue Apr 21 06:54:00 GMT 2009  Olly Betts <olly@survex.com>
10205
10206	* matcher/queryoptimiser.h: '#include <map>' isn't required.
10207
10208Tue Apr 21 06:45:14 GMT 2009  Olly Betts <olly@survex.com>
10209
10210	* matcher/queryoptimiser.cc,matcher/queryoptimiser.h: Eliminate
10211	  QueryOptimiser::do_leaf() as it is only called from one place
10212	  and if only two lines of code.
10213
10214Mon Apr 20 14:10:08 GMT 2009  Olly Betts <olly@survex.com>
10215
10216	* NEWS: Update from ChangeLog and start to lick into shape for a
10217	  release.
10218
10219Mon Apr 20 13:06:17 GMT 2009  Olly Betts <olly@survex.com>
10220
10221	* HACKING: XAPIAN_DEBUG_LOG=- send output to stderr, not stdout.
10222
10223Mon Apr 20 11:53:07 GMT 2009  Olly Betts <olly@survex.com>
10224
10225	* common/output.h: Add new macro XAPIAN_OUTPUT_FUNCTION_PTR and use it
10226	  so that debug logging of Xapian::Query::Internal* doesn't just
10227	  report the pointer value.
10228
10229Mon Apr 20 06:39:42 GMT 2009  Olly Betts <olly@survex.com>
10230
10231	* matcher/multimatch.cc: Apply debug logging change lifted from
10232	  branches/opsynonym.
10233
10234Mon Apr 20 05:22:24 GMT 2009  Olly Betts <olly@survex.com>
10235
10236	* tests/harness/testutils.cc: Add FIXME comments about use of internal
10237	  macro from a different header.
10238
10239Mon Apr 20 05:08:34 GMT 2009  Olly Betts <olly@survex.com>
10240
10241	* HACKING: Update release checklist.
10242
10243Sun Apr 19 14:50:08 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
10244
10245	* tests/api_nodb.cc: Stick the reciprocal of "factor" into a
10246	  volatile double temporary variable to stop compiler using
10247	  extended precision calculation on x86, and coming up an answer of
10248	  exactly 1.0 when multiplying by "factor" again.
10249
10250Sun Apr 19 14:26:09 GMT 2009  Olly Betts <olly@survex.com>
10251
10252	* NEWS: Sync with 1.0.12 and update from ChangeLog.
10253
10254Sun Apr 19 12:12:19 GMT 2009  Olly Betts <olly@survex.com>
10255
10256	* AUTHORS: Update for 1.0 branch.
10257
10258Thu Apr 16 12:08:24 GMT 2009  Olly Betts <olly@survex.com>
10259
10260	* backends/chert/chert_values.cc: When copying the tail of a value
10261	  chunk because did > last_allowed_did, we don't need to check if
10262	  the docids being copied are < did, since they should all be <=
10263	  last_allowed_did, so just assert the latter.
10264
10265Tue Apr 14 20:32:41 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
10266
10267	* tests/api_wrdb.cc: patch from james to move logging in
10268	  modifyvalues1 so it reports the values it's rewriting correctly,
10269	  rather than the empty string.  Also display the expected value in
10270	  tout when checking the value.  Also, pull the setting of the random
10271	  seed out to the start of the function, and set it to 7 (which
10272	  exposed the bug fixed with the previous commit, which that the old
10273	  value of 42 didn't, on my machine, at least).
10274
10275Tue Apr 14 18:12:08 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
10276
10277	* backends/chert/chert_values.cc: When we move the reader to a new
10278	  chunk, write any trailing values left in it to the stream first.
10279
10280Thu Apr 09 05:01:04 GMT 2009  Olly Betts <olly@survex.com>
10281
10282	* docs/admin_notes.rst: Document the child process used for locking
10283	  which exec-s "cat" (ticket #258).
10284
10285Thu Apr 09 03:49:13 GMT 2009  Olly Betts <olly@survex.com>
10286
10287	* bin/: Use C++ forms of C headers in bin (ticket#330).
10288
10289Thu Apr 09 03:47:42 GMT 2009  Olly Betts <olly@survex.com>
10290
10291	* examples/: Use C++ forms of C headers in examples (ticket#330).
10292
10293Mon Apr 06 06:35:03 GMT 2009  Olly Betts <olly@survex.com>
10294
10295	* include/xapian/unicode.h: Fix documentation comment typos.
10296
10297Mon Apr 06 06:03:45 GMT 2009  Olly Betts <olly@survex.com>
10298
10299	* AUTHORS: Add Muayyad Alsadi for reporting #355.
10300
10301Mon Apr 06 05:59:38 GMT 2009  Olly Betts <olly@survex.com>
10302
10303	* tests/api_unicode.cc: Note which characters in the new
10304	  unicodepredicate1 testcase are new in Unicode 5.1.0.
10305
10306Sun Apr 05 14:24:47 GMT 2009  Olly Betts <olly@survex.com>
10307
10308	* include/xapian/unicode.h: Add NON_SPACING_MARK to is_wordchar() for
10309	  better tokenisation of Arabic, for example.  (ticket#355)
10310	* tests/queryparsertest.cc: Add test that this has the desired effect.
10311	* tests/api_unicode.cc: Add feature tests of Unicode::is_wordchar(),
10312	  Unicode::is_currency(), and Unicode::is_whitespace().
10313
10314Sat Apr 04 05:41:47 GMT 2009  Olly Betts <olly@survex.com>
10315
10316	* NEWS: Update from ChangeLog.
10317
10318Wed Apr 01 00:18:02 GMT 2009  Olly Betts <olly@survex.com>
10319
10320	* bin/xapian-compact.cc: Fix totlen overflow test.  Refactor lightly
10321	  to reduce indenting.
10322
10323Tue Mar 31 17:01:20 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
10324
10325	* bin/xapian-compact.cc: Handle databases which contain no
10326	  documents (and hence have no METAINFO item), but do contain some
10327	  metadata (so the postlist table is not empty).  Fixes ticket
10328	  #356.
10329
10330Tue Mar 31 13:49:01 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
10331
10332	* api/postingsource.cc,include/xapian/postingsource.h: Change
10333	  return types of clone() and unserialise() methods to be of the
10334	  subclass returned; this is a bit more flexible, but the main
10335	  reason is to be consistent: previously, the clone() methods
10336	  returned the subclass, but the unserialise() methods returned
10337	  PostingSource.
10338
10339Tue Mar 31 12:10:03 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
10340
10341	* include/xapian/postingsource.h: Add comment on PostingSource base
10342	  class listing it as an experimental feature.
10343	* docs/deprecation.rst: Describe what "experimental" features are,
10344	  and why replication and posting sources are currently
10345	  experimental.
10346
10347Tue Mar 31 11:34:25 GMT 2009  Olly Betts <olly@survex.com>
10348
10349	* include/xapian/matchspy.h: Removed currently unused header to stop
10350	  doxygen from generating documentation for it.
10351
10352Tue Mar 31 11:27:54 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
10353
10354	* docs/replication.rst,include/xapian/replication.h: Note that
10355	  replication is currently "experimental".
10356
10357Fri Mar 27 14:29:05 GMT 2009  Olly Betts <olly@survex.com>
10358
10359	* backends/chert/chert_spelling.cc,backends/chert/chert_spelling.h,
10360	  backends/flint/flint_spelling.cc,backends/flint/flint_spelling.h:
10361	  Fix WritableDatabase::remove_spelling() to not be very broken in
10362	  several ways.
10363	* tests/api_spelling.cc: Add test coverage for it.
10364
10365Fri Mar 27 10:43:34 GMT 2009  Olly Betts <olly@survex.com>
10366
10367	* xapian-config.in: Add @LIBRARY_VERSION_SUFFIX@ to -lxapian too.
10368
10369Fri Mar 27 08:22:39 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
10370
10371	* include/xapian/postingsource.h: Update documentation comments to
10372	  refer to init() instead of the old name of reset().
10373
10374Fri Mar 27 08:10:48 GMT 2009  Olly Betts <olly@survex.com>
10375
10376	* HACKING: Document the lcov make targets.
10377
10378Fri Mar 27 07:44:59 GMT 2009  Olly Betts <olly@survex.com>
10379
10380	* Makefile.am: Add two new targets to assist generating test coverage
10381	  reports with lcov: coverage-reconfigure which reruns configure in
10382	  the source tree and coverage-check which runs "make check" and
10383	  generates an HTML report in a directory called "lcov".
10384
10385Thu Mar 26 23:59:36 GMT 2009  Olly Betts <olly@survex.com>
10386
10387	* Makefile.am,m4-macros/xapian.m4,xapian-core.spec.in: Rename
10388	  xapian.m4 to xapian-1.1.m4 to avoid clash with Xapian 1.0.x.  Both
10389	  xapian.m4 and xapian-1.1.m4 will contain XO_LIB_XAPIAN, but aclocal
10390	  copes and only copies one of them.  We need to avoid incompatible
10391	  changes to XO_LIB_XAPIAN though.
10392
10393Thu Mar 26 14:29:54 GMT 2009  Olly Betts <olly@survex.com>
10394
10395	* configure.ac,include/Makefile.mk,xapian-config.in: Install headers
10396	  in $prefix/include/xapian-1.1/ so they don't clash with 1.0.
10397
10398Thu Mar 26 13:46:06 GMT 2009  Olly Betts <olly@survex.com>
10399
10400	* configure.ac: Default program suffix to -1.1 if not specified.  If
10401	  you really want no suffix, "./configure --program-suffix=" will
10402	  achieve that.
10403
10404Thu Mar 26 12:49:10 GMT 2009  Olly Betts <olly@survex.com>
10405
10406	* Makefile.am,api/Makefile.mk,backends/Makefile.mk,
10407	  backends/chert/Makefile.mk,backends/flint/Makefile.mk,
10408	  backends/inmemory/Makefile.mk,backends/multi/Makefile.mk,
10409	  backends/remote/Makefile.mk,bin/Makefile.mk,common/Makefile.mk,
10410	  configure.ac,examples/Makefile.mk,expand/Makefile.mk,
10411	  languages/Makefile.mk,matcher/Makefile.mk,net/Makefile.mk,
10412	  queryparser/Makefile.mk,tests/Makefile.am,tests/perftest/Makefile.mk,
10413	  unicode/Makefile.mk,weight/Makefile.mk,xapian-config.in,
10414	  xapian-core.spec.in: Change library name to libxapian-1.1 as a first
10415	  step towards allowing parallel installation with 1.0.x.
10416
10417Thu Mar 26 06:53:27 GMT 2009  Olly Betts <olly@survex.com>
10418
10419	* NEWS: Update from ChangeLog.
10420
10421Thu Mar 26 06:50:44 GMT 2009  Olly Betts <olly@survex.com>
10422
10423	* backends/chert/chert_values.h: Fix class name in file doc comment.
10424
10425Thu Mar 26 00:13:48 GMT 2009  Olly Betts <olly@survex.com>
10426
10427	* backends/chert/chert_database.cc,backends/flint/flint_database.cc:
10428	  Call ChertDatabase::close() rather than repeating its code.
10429
10430Wed Mar 25 17:39:01 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
10431
10432	* backends/chert/chert_database.cc,backends/flint/flint_database.cc:
10433	  Release the lock when the database is closed (either due to a
10434	  call to close() or due to a serious error during modifications).
10435	  Should fix ticket #354.
10436
10437Wed Mar 25 16:42:58 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
10438
10439	* tests/harness/testutils.cc: Use TEST_EQUAL_DOUBLE_ for comparison
10440	  of weights in mset, to fix test failures due to floating point
10441	  differences.  (Currently only manifests in some tests in the
10442	  matchspy branch, but it's a generally useful fix.)
10443
10444Wed Mar 25 11:44:36 GMT 2009  Olly Betts <olly@survex.com>
10445
10446	* configure.ac: Only put ANSI_CXXFLAGS in CXXFLAGS for the duration of
10447	  configure - put it in AM_CXXFLAGS for substituting so that the user
10448	  can safely override CXXFLAGS at make-time: "make CXXFLAGS=-Os"
10449
10450Wed Mar 25 10:50:44 GMT 2009  Olly Betts <olly@survex.com>
10451
10452	* configure.ac: Fix comment typo.
10453
10454Wed Mar 25 04:48:50 GMT 2009  Olly Betts <olly@survex.com>
10455
10456	* api/omdatabase.cc,backends/chert/chert_database.h,
10457	  backends/flint/flint_database.h,
10458	  backends/inmemory/inmemory_database.h,
10459	  backends/remote/remote-database.cc,common/const_database_wrapper.h,
10460	  common/database.h: Drop the default value of the lazy parameter to
10461	  Database::open_document() - it's better to force us to consider
10462	  whether a new call should be lazy or not.
10463	* common/database.h: Better description of lazy parameter.
10464	* backends/remote/remote-database.cc: Update comment about when lazy
10465	  is set to true.
10466
10467Wed Mar 25 04:20:34 GMT 2009  Olly Betts <olly@survex.com>
10468
10469	* backends/inmemory/inmemory_database.cc: Don't "return false" when
10470	  the return type is a pointer!
10471
10472Tue Mar 24 17:42:22 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
10473
10474	* backends/database.cc: Open documents lazily in
10475	  collect_document().
10476
10477Tue Mar 24 11:10:57 GMT 2009  Olly Betts <olly@survex.com>
10478
10479	* backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h:
10480	  MultiPostList::read_position_list() is never used, so remove it.
10481
10482Tue Mar 24 10:04:03 GMT 2009  Olly Betts <olly@survex.com>
10483
10484	* backends/multi/multi_postlist.cc: Remove "[" and "]" from the output
10485	  of MultiPostList::get_description().  Remove excess "," from output
10486	  of MultiPostList::get_description().
10487	* tests/api_db.cc: Add some test coverage of
10488	  PostingIterator::get_wdf() and PostingIterator::get_description().
10489
10490Tue Mar 24 10:00:23 GMT 2009  Olly Betts <olly@survex.com>
10491
10492	* api/ompostlistiterator.cc: Remove "[" and "]" from
10493	  Xapian::PostingIterator::get_description() as they don't add
10494	  anything useful.
10495
10496Tue Mar 24 09:57:39 GMT 2009  Olly Betts <olly@survex.com>
10497
10498	* backends/inmemory/inmemory_database.cc: Add a space in the output
10499	  of InMemoryPostList::get_description() and
10500	  InMemoryAllDocsPostList::get_description().
10501
10502Tue Mar 24 08:52:46 GMT 2009  Olly Betts <olly@survex.com>
10503
10504	* api/leafpostlist.cc,include/xapian/weight.h,tests/api_db.cc,weight/:
10505	  Get rid of the virtual Weight::get_sumpart_needs_doclength() method
10506	  - subclasses can call need_stat(DOC_LENGTH) in their constructor if
10507	  they need doc lengths.
10508
10509Tue Mar 24 07:55:06 GMT 2009  Olly Betts <olly@survex.com>
10510
10511	* weight/weight.cc: Check stats_needed for stats which aren't just a
10512	  simple member variable lookup.
10513
10514Tue Mar 24 06:46:24 GMT 2009  Olly Betts <olly@survex.com>
10515
10516	* backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h:
10517	  MultiPostList::get_termfreq() is never used, so remove it.
10518
10519Mon Mar 23 14:09:33 GMT 2009  Olly Betts <olly@survex.com>
10520
10521	* tests/api_unicode.cc: Add test coverage for
10522	  Xapian::Unicode::append_utf8().
10523
10524Mon Mar 23 11:40:09 GMT 2009  Olly Betts <olly@survex.com>
10525
10526	* api/postingsource.cc,docs/postingsource.rst,
10527	  include/xapian/postingsource.h,matcher/externalpostlist.cc,
10528	  tests/api_db.cc,tests/api_percentages.cc,tests/api_valuestream.cc:
10529	  Rename PostingSource::reset() to PostingSource::init().
10530
10531Mon Mar 23 11:01:02 GMT 2009  Olly Betts <olly@survex.com>
10532
10533	* tests/harness/testsuite.h: Fix documentation comment in line with
10534	  the corrected --help output from "Sat Feb 21 08:18:21 GMT 2009".
10535
10536Mon Mar 23 02:24:44 GMT 2009  Olly Betts <olly@survex.com>
10537
10538	* api/omqueryinternal.cc: Fix handling of empty and single subquery
10539	  OP_NEAR and OP_PHRASE (was breaking queryparsertest).
10540
10541Sun Mar 22 10:23:37 GMT 2009  Olly Betts <olly@survex.com>
10542
10543	* backends/chert/chert_database.cc,backends/flint/flint_database.cc,
10544	  backends/inmemory/inmemory_database.cc,
10545	  backends/inmemory/inmemory_positionlist.cc,
10546	  common/inmemory_positionlist.h,docs/deprecation.rst,
10547	  tests/api_posdb.cc: Change Database::positionlist_begin() not to
10548	  throw exceptions if the term or document doesn't exist.
10549
10550Sun Mar 22 09:02:46 GMT 2009  Olly Betts <olly@survex.com>
10551
10552	* docs/deprecation.rst: Fix typo.
10553
10554Sun Mar 22 07:54:30 GMT 2009  Olly Betts <olly@survex.com>
10555
10556	* api/omqueryinternal.cc,include/xapian/query.h,tests/api_nodb.cc,
10557	  tests/api_query.cc: Fix valgrind errors on nearsubqueries1
10558	  (ticket#349) and enhance distribution of OP_NEAR/OP_PHRASE over
10559	  non-leaf subqueries to work when there are multiple non-leaf
10560	  subqueries (ticket#201).  Extend nearsubqueries1 to test that
10561	  trying to distribute OP_NEAR/OP_PHRASE over OP_NEAR/OP_PHRASE
10562	  throws UnimplementedError.
10563
10564Fri Mar 20 08:43:20 GMT 2009  Olly Betts <olly@survex.com>
10565
10566	* tests/api_query.cc: Add coverage for OP_AND with MatchNothing
10567	  subquery (new testcase matchnothing1).
10568
10569Fri Mar 20 05:16:18 GMT 2009  Olly Betts <olly@survex.com>
10570
10571	* api/omqueryinternal.cc: Fix assertions in previous check-in to
10572	  verify the right condition.  And return the simplified query in
10573	  the case the assertion would have failed, as that means a small
10574	  memory leak rather than unpredictable behaviour in a non-assertion
10575	  build.
10576
10577Fri Mar 20 04:26:29 GMT 2009  Olly Betts <olly@survex.com>
10578
10579	* api/omqueryinternal.cc: Check that end_construction() returns NULL
10580	  when unserialising queries.
10581
10582Fri Mar 20 02:51:32 GMT 2009  Olly Betts <olly@survex.com>
10583
10584	* api/omqueryinternal.cc: Fix return type of
10585	  Xapian::Query::Internal::simplify_query() in a debug build.  Since
10586	  RETURN() isn't used by this function, this is only a cosmetic issue
10587	  in the log file.
10588
10589Wed Mar 18 09:26:02 GMT 2009  Olly Betts <olly@survex.com>
10590
10591	* backends/chert/chert_database.cc,backends/flint/flint_database.cc,
10592	  docs/deprecation.rst: Move just returning an empty PositionIterator
10593	  from Database::positionlist_begin() when the docs or term isn't
10594	  present from 1.2.0 to 1.1.0 (has to be 1.1.0 or 1.3.0 really).
10595
10596Wed Mar 18 09:24:27 GMT 2009  Olly Betts <olly@survex.com>
10597
10598	* docs/glossary.rst: Chert as the default backend in 1.2.0 is pretty
10599	  much definite.
10600
10601Wed Mar 18 06:42:09 GMT 2009  Olly Betts <olly@survex.com>
10602
10603	* NEWS: Update from ChangeLog.
10604
10605Wed Mar 18 04:36:59 GMT 2009  Olly Betts <olly@survex.com>
10606
10607	* xapian-core.spec.in: Tweak reference to "1.1.0 branch" to make more
10608	  sense.
10609
10610Wed Mar 18 04:30:18 GMT 2009  Olly Betts <olly@survex.com>
10611
10612	* api/postingsource.cc,include/xapian/postingsource.h: Remove the
10613	  optional "max_weight_" parameter to ValuePostingSource's ctor.
10614	* include/xapian/postingsource.h: Correct a few errors in
10615	  documentation comments.
10616
10617Wed Mar 18 04:29:22 GMT 2009  Olly Betts <olly@survex.com>
10618
10619	* docs/postingsource.rst: "ctx" -> "context" in example code.
10620
10621Tue Mar 17 23:45:52 GMT 2009  Olly Betts <olly@survex.com>
10622
10623	* backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: If the
10624	  locking attempt fails after we spawn the child process, call
10625	  waitpid() in the parent process to avoid creating a zombie process.
10626	* AUTHORS: Add Jim Spath for reporting this.
10627
10628Tue Mar 17 23:34:16 GMT 2009  Olly Betts <olly@survex.com>
10629
10630	* common/Makefile.mk,common/str.cc,common/str.h: New family of
10631	  overloaded str() functions for converting types to std::string.
10632	  The integer conversion are much faster than the existing
10633	  om_tostring().
10634	* common/omassert.h,common/omdebug.h: Use str() instead of
10635	  om_tostring().
10636	* common/utils.cc,common/utils.h: Make om_tostring() a macro wrapping
10637	  str() for now to avoid introducing a lot of conflicts with other
10638	  branches and unapplied patches.
10639
10640Tue Mar 17 21:28:54 GMT 2009  Olly Betts <olly@survex.com>
10641
10642	* configure.ac: Fix comment typo.
10643
10644Tue Mar 17 00:47:26 GMT 2009  Olly Betts <olly@survex.com>
10645
10646	* common/utils.cc: Fix previous change to actually compile...
10647
10648Mon Mar 16 20:10:01 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
10649
10650	* common/utils.cc,common/utils.h: Add om_tostring() version of
10651	  unsigned long long int, to fix debug build on i686.
10652
10653Mon Mar 16 14:01:02 GMT 2009  Olly Betts <olly@survex.com>
10654
10655	* NEWS: Sync with 1.0.11.
10656
10657Fri Mar 13 06:59:29 GMT 2009  Olly Betts <olly@survex.com>
10658
10659	* weight/weightinternal.cc: Need "utils.h" for om_tostring().
10660
10661Fri Mar 13 05:47:24 GMT 2009  Olly Betts <olly@survex.com>
10662
10663	* include/xapian/queryparser.h: Note that QueryParser::FLAG_DEFAULT
10664	  was new in 1.0.11.
10665
10666Fri Mar 13 04:36:19 GMT 2009  Olly Betts <olly@survex.com>
10667
10668	* weight/weightinternal.cc: Implement
10669	  Weight::Internal::get_description().
10670
10671Thu Mar 12 11:57:02 GMT 2009  Olly Betts <olly@survex.com>
10672
10673	* common/output.h: Fix last commit.
10674
10675Thu Mar 12 11:29:58 GMT 2009  Olly Betts <olly@survex.com>
10676
10677	* common/output.h: Define operator<< for Xapian::Weight::Internal.
10678
10679Thu Mar 12 11:21:09 GMT 2009  Olly Betts <olly@survex.com>
10680
10681	* net/remoteserver.cc: Fix overlooked case which was still sending
10682	  REPLY_DOCLENGTH as a double.
10683
10684Wed Mar 11 22:56:59 GMT 2009  Olly Betts <olly@survex.com>
10685
10686	* backends/chert/chert_valuelist.cc: Fix comment typo.
10687
10688Wed Mar 11 22:50:49 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
10689
10690	* tests/api_valuestream.cc: Enable valuestream3 for chert.
10691	* backends/chert/chert_valuelist.cc: Fix return value of
10692	  ChertValueList::check() when it needs to move to a new chunk.
10693	  Fixes valuestream3 test.
10694
10695Wed Mar 11 13:17:58 GMT 2009  Olly Betts <olly@survex.com>
10696
10697	* include/xapian/weight.h: Mark Weight::init_() methods as "@private
10698	  @internal" for doxygen API docs.
10699
10700Wed Mar 11 13:13:32 GMT 2009  Olly Betts <olly@survex.com>
10701
10702	* include/xapian/weight.h,tests/api_db.cc,tests/api_nodb.cc,
10703	  weight/bm25weight.cc,weight/boolweight.cc,weight/tradweight.cc:
10704	  Make Weight::name() return std::string to allow sane wrapping
10705	  with SWIG directors.
10706
10707Wed Mar 11 05:46:40 GMT 2009  Olly Betts <olly@survex.com>
10708
10709	* api/,backends/chert/,backends/contiguousalldocspostlist.cc,
10710	  backends/flint/,backends/inmemory/inmemory_database.cc,
10711	  backends/inmemory/inmemory_database.h,
10712	  backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h,
10713	  backends/remote/,common/,docs/remote_protocol.html,
10714	  include/xapian/database.h,include/xapian/postingiterator.h,matcher/,
10715	  net/remoteserver.cc: Internally, pass around non-normalised document
10716	  lengths as Xapian::termcount (unsigned integer) not Xapian::doclength
10717	  (double).
10718
10719Wed Mar 11 05:25:40 GMT 2009  Olly Betts <olly@survex.com>
10720
10721	* tests/api_anydb.cc: Use TEST_REL; wrap long comment.
10722
10723Wed Mar 11 04:52:41 GMT 2009  Olly Betts <olly@survex.com>
10724
10725	* Makefile.am,api/,backends/chert/,backends/database.cc,
10726	  backends/flint/flint_database.cc,backends/flint/flint_database.h,
10727	  backends/inmemory/inmemory_database.cc,
10728	  backends/inmemory/inmemory_database.h,
10729	  backends/remote/remote-database.cc,common/,docs/remote_protocol.html,
10730	  examples/delve.cc,include/Makefile.mk,include/xapian.h,
10731	  include/xapian/database.h,include/xapian/enquire.h,
10732	  include/xapian/weight.h,matcher/,net/remoteserver.cc,
10733	  net/serialise.cc,tests/,weight/: Reimplementation of weighting
10734	  schemes which allows user subclasses to access the same stats which
10735	  built in schemes can (bug#213) and which also can use lower and
10736	  upper bounds of doclength and upper bounds on wdf to give a tighter
10737	  maxweight, which should allow the matcher weight-based optimisations
10738	  to be more effective.  Chert now tracks doclength bounds and a
10739	  global (rather than per term) bound on wdf.  Other backends
10740	  return much less good bounds, but these still lead to better
10741	  maxweight bounds.
10742
10743Wed Mar 11 00:13:24 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
10744
10745	* include/xapian/query.h: Rename parameter name from "ctx" to the
10746	  more human-friendly "context".
10747
10748Tue Mar 10 14:03:33 GMT 2009  Olly Betts <olly@survex.com>
10749
10750	* tests/harness/testutils.cc: If mset_range_is_same_percents() fails
10751	  because the percentages differ, report what they were to tout.
10752
10753Mon Mar 09 12:27:28 GMT 2009  Olly Betts <olly@survex.com>
10754
10755	* matcher/localmatch.cc: Remove special case handling for empty string
10756	  being returned from the TermIterator returned by
10757	  Query::Internal::get_terms() as this should no longer happen.
10758
10759Mon Mar 09 12:09:21 GMT 2009  Olly Betts <olly@survex.com>
10760
10761	* api/omqueryinternal.cc: Don't return "" from a TermIterator from
10762	  Query::get_terms_begin() (happened when Query contained or was
10763	  Query::MatchAll).
10764	* tests/Makefile.am,tests/api_query.cc: Add regression testcase
10765	  queryterms1.
10766
10767Sun Mar 08 06:16:24 GMT 2009  Olly Betts <olly@survex.com>
10768
10769	* tests/api_backend.cc: Add check that backends don't truncate total
10770	  document length to 32 bits.
10771
10772Sun Mar 08 06:02:43 GMT 2009  Olly Betts <olly@survex.com>
10773
10774	* tests/api_backend.cc: Disable lockfileumask1 on Cygwin and on OS/2.
10775
10776Sun Mar 08 05:36:54 GMT 2009  Olly Betts <olly@survex.com>
10777
10778	* matcher/extraweightpostlist.h: Add forward declaration of
10779	  Xapian::Weight since we use "Xapian::Weight *".
10780
10781Sun Mar 08 04:39:22 GMT 2009  Olly Betts <olly@survex.com>
10782
10783	* backends/chert/chert_types.h,backends/flint/flint_types.h,
10784	  bin/xapian-check-flint.cc,bin/xapian-check.cc,bin/xapian-compact.cc,
10785	  common/Makefile.mk,common/database.h,common/internaltypes.h:
10786	  Move totlen_t to a new header (internaltypes.h) to avoid needing to
10787	  pull in database.h in when we want to use it.  Also move int4 and
10788	  uint4 there to avoid duplicated definitions and abstract out a
10789	  new uint8 from defining totlen_t.
10790
10791Sun Mar 08 00:50:38 GMT 2009  Olly Betts <olly@survex.com>
10792
10793	* backends/chert/chert_database.h,backends/chert/chert_types.h,
10794	  backends/flint/flint_database.h,backends/flint/flint_types.h,
10795	  bin/xapian-check-flint.cc,bin/xapian-check.cc,bin/xapian-compact.cc,
10796	  common/database.h: Replace flint_totlen_t and chert_totlen_t with
10797	  a common totlen_t.
10798
10799Sat Mar 07 08:35:27 GMT 2009  Olly Betts <olly@survex.com>
10800
10801	* backends/chert/chert_database.cc: Wrap comment.
10802
10803Sat Mar 07 08:28:17 GMT 2009  Olly Betts <olly@survex.com>
10804
10805	* backends/inmemory/inmemory_database.h: Fix file description
10806	  ("multiple database" -> "inmemory database").
10807
10808Sat Mar 07 08:25:11 GMT 2009  Olly Betts <olly@survex.com>
10809
10810	* backends/inmemory/inmemory_database.cc,
10811	  backends/inmemory/inmemory_database.h: Store non-normalised document
10812	  lengths as Xapian::termcount (unsigned int) rather than
10813	  Xapian::doclength (double).
10814
10815Sat Mar 07 06:56:26 GMT 2009  Olly Betts <olly@survex.com>
10816
10817	* common/database.h: Removed unused forward declarations of classes.
10818
10819Sat Mar 07 06:52:11 GMT 2009  Olly Betts <olly@survex.com>
10820
10821	* common/database.h: Fix comment typo.
10822
10823Sat Mar 07 05:44:18 GMT 2009  Olly Betts <olly@survex.com>
10824
10825	* net/serialise.cc: Fix top of file to actually be a doxygen comment.
10826	  Tweak layout of definition of serialise_stats().
10827
10828Sat Mar 07 05:40:58 GMT 2009  Olly Betts <olly@survex.com>
10829
10830	* net/serialise.cc: c_str() -> data() since we don't need the
10831	  nul-termination.
10832
10833Thu Mar 05 11:49:45 GMT 2009  Olly Betts <olly@survex.com>
10834
10835	* tests/api_db.cc,tests/api_nodb.cc: Back out accidentally committed
10836	  changes 2 commits ago.
10837
10838Thu Mar 05 10:28:07 GMT 2009  Olly Betts <olly@survex.com>
10839
10840	* AUTHORS: Add Frank J. Bruzzaniti for omindex patches.
10841
10842Thu Mar 05 10:20:38 GMT 2009  Olly Betts <olly@survex.com>
10843
10844	* tests/Makefile.am: If both chert and flint are enabled, run
10845	  remoteprog_chert and remotetcp_flint but not the other two
10846	  combinations as they don't buy us any useful extra test
10847	  coverage, but cost a lot of extra time per testrun.
10848
10849Thu Mar 05 07:51:52 GMT 2009  Olly Betts <olly@survex.com>
10850
10851	* docs/deprecation.rst: Update to reflect that odd minor versions are
10852	  now development series.
10853
10854Thu Mar 05 04:20:43 GMT 2009  Olly Betts <olly@survex.com>
10855
10856	* common/serialisationcontextinternal.h: Fix forward declarations.
10857
10858Thu Mar 05 02:11:26 GMT 2009  Olly Betts <olly@survex.com>
10859
10860	* api/omdatabase.cc: "new_uuid" -> "sub_uuid" - it's not really new.
10861
10862Wed Mar 04 22:53:13 GMT 2009  Olly Betts <olly@survex.com>
10863
10864	* include/xapian/queryparser.h,include/xapian/termgenerator.h: Make
10865	  default empty std::string parameters use std::string() rather than
10866	  "".
10867
10868Wed Mar 04 16:06:11 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
10869
10870	* api/omdatabase.cc: If a sub-database of a multi-database has no
10871	  uuid, we cannot return a uuid for the database, so return
10872	  string() instead.
10873	* tests/api_anydb.cc: Test for this.
10874
10875Wed Mar 04 13:45:41 GMT 2009  Olly Betts <olly@survex.com>
10876
10877	* HACKING: Conversion to C++ names for ISO C headers will happen in
10878	  1.1.x, not 1.1.0.
10879
10880Wed Mar 04 13:37:47 GMT 2009  Olly Betts <olly@survex.com>
10881
10882	* api/omdatabase.cc,backends/database.cc,
10883	  backends/remote/remote-database.cc,common/database.h,
10884	  include/xapian/database.h,net/remoteserver.cc,tests/api_anydb.cc:
10885	  Return an empty string from Database::get_uuid() when then backend
10886	  doesn't support UUIDs for consistency with flint when the database
10887	  has no UUID.  For a multiple database, build a string from the UUIDs
10888	  of each subdatabase and return this as the UUID.  If there are no
10889	  subdatabases return the empty string.
10890
10891Wed Mar 04 11:34:04 GMT 2009  Olly Betts <olly@survex.com>
10892
10893	* backends/remote/remote-database.cc,common/remoteprotocol.h,
10894	  common/remoteserver.h,docs/remote_protocol.html,net/remoteserver.cc:
10895	  Change the remote server to always default to opening a Database and
10896	  having the client request write access explicitly.  This allows a
10897	  single server to support multiple readers and one writer
10898	  simultaneously.  (bug#145)
10899	* net/remoteserver.cc,backends/remote/remote-database.cc: For constant
10900	  empty string parameters, pass string() rather than "".
10901	* common/remoteserver.h: Remove unused '#include <map>'.  Remove
10902	  'using namespace std;' and explicitly qualify the few bare mentions
10903	  of 'string'.
10904
10905Wed Mar 04 07:24:39 GMT 2009  Olly Betts <olly@survex.com>
10906
10907	* queryparser/queryparser.lt: Sync with latest upstream lempar.c
10908	  (only changes were in code which isn't in our version).
10909
10910Wed Mar 04 04:03:44 GMT 2009  Olly Betts <olly@survex.com>
10911
10912	* tests/Makefile.am,tests/api_percentages.cc,
10913	  tests/testdata/apitest_sortconsist.txt: Apply regression test patch
10914	  from bug#216.
10915
10916Wed Mar 04 03:41:49 GMT 2009  Olly Betts <olly@survex.com>
10917
10918	* include/xapian/enquire.h,matcher/multimatch.cc: Fix inconsistent
10919	  percentage scores when sorting primarily by valuei, except when
10920	  a MatchDecider is also being used; document this remaining problem
10921	  case.  (bug#216)
10922
10923Wed Mar 04 01:58:07 GMT 2009  Olly Betts <olly@survex.com>
10924
10925	* backends/chert/chert_table.cc,backends/flint/flint_table.cc: No need
10926	  to initialise inflate_zstream->next_out and avail_out twice.
10927
10928Wed Mar 04 01:16:32 GMT 2009  Olly Betts <olly@survex.com>
10929
10930	* backends/chert/chert_table.cc,backends/flint/flint_table.cc: If
10931	  deflateReset() or inflateReset() fails, just delete the zstream
10932	  take the initialisation codepath - that should mean we recover
10933	  if the stream does somehow end up in a bad state and is less
10934	  code than throwing an exception.  Annotate tests with rare()
10935	  or usual() if they are for exceptional conditions.  Fix bug
10936	  introduced by the laziness patch which was adding an int error
10937	  code to a const char * message.  If deflateInit2() or inflateInit2()
10938	  fails, delete and zero the stream so there's no risk of ending up
10939	  wedged on a partly initialised stream.
10940
10941Tue Mar 03 15:32:53 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
10942
10943	* backends/chert/chert_table.cc,backends/flint/flint_table.cc:
10944	  Check for errors from deflateReset() and inflateReset() - there
10945	  shouldn't be any if we've given them a valid stream, so just
10946	  raise InternalError if we get one.
10947
10948Tue Mar 03 09:43:34 GMT 2009  Olly Betts <olly@survex.com>
10949
10950	* NEWS: Updated from ChangeLog.
10951
10952Tue Mar 03 05:52:16 GMT 2009  Olly Betts <olly@survex.com>
10953
10954	* tests/api_closedb.cc: Fix testcase closedb2 not to create a test
10955	  database named closedb3.
10956
10957Tue Mar 03 04:31:48 GMT 2009  Olly Betts <olly@survex.com>
10958
10959	* include/xapian/queryparser.h: Add QueryParser::FLAG_DEFAULT to make
10960	  it easier to add flags to those set by default.
10961	* tests/queryparsertest.cc: Use FLAG_DEFAULT in a few places to serve
10962	  as a feature test.
10963
10964Tue Mar 03 03:45:53 GMT 2009  Olly Betts <olly@survex.com>
10965
10966	* docs/index.html: Add link to new serialisation topic document.
10967	* docs/serialisation.rst: Reword to avoid pluralising class names.
10968	  Add link to postingsource document where we reference it.
10969
10970Tue Mar 03 03:35:29 GMT 2009  Olly Betts <olly@survex.com>
10971
10972	* tests/runsrv.in: Use @top_builddir@ rather than relying on it
10973	  coming from the environment.
10974
10975Tue Mar 03 03:05:47 GMT 2009  Olly Betts <olly@survex.com>
10976
10977	* tests/api_wrdb.cc: Clear tout regularly in modifyvalues1 as
10978	  otherwise the output builds up.  Some string stream implementations
10979	  get very inefficient with large strings, and also this seems to
10980	  interact badly with valgrind's leak detection resulting in the
10981	  test having to be rerun to check if it really leaks.  Prefer
10982	  tout.str(string()) to tout.str("") in existing uses too.
10983
10984Tue Mar 03 01:41:07 GMT 2009  Olly Betts <olly@survex.com>
10985
10986	* backends/flint/flint_table.cc: Update handling of shutting down
10987	  the zstream objects in the dtor to match chert.
10988
10989Mon Mar 02 23:57:26 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
10990
10991	* backends/chert/chert_table.h,backends/flint/flint_table.h: Add
10992	  documentation comments for the lazy allocation methods, and
10993	  separate comments for the zstream members.
10994
10995Mon Mar 02 23:40:20 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
10996
10997	* AUTHORS,backends/chert/chert_table.cc,backends/chert/chert_table.h,
10998	  backends/flint/flint_table.cc,backends/flint/flint_table.h:
10999	  Reduce allocation of zstreams by allocating them lazily, keeping
11000	  them in the table objects, and reuse them, rather than allocating
11001	  a new one each time it's wanted.  Heavily based on a patch from
11002	  Todd Lipcon.  Apparently improves performance significantly on
11003	  some systems; on my tests it has no perceptible negative impact,
11004	  but it makes sense that it could help in some situations, so
11005	  let's apply it.  Fixes #325.
11006
11007Mon Mar 02 21:10:54 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11008
11009	* docs/deprecation.rst: Deprecate Stem_get_available_languages()
11010	  from the python bindings.
11011
11012Mon Mar 02 19:56:20 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11013
11014	* common/Makefile.mk,common/const_database_wrapper.cc,
11015	  common/const_database_wrapper.h,matcher/queryoptimiser.cc: Avoid
11016	  const_cast() on Database::Internal, and exposing
11017	  compiler-dependent behaviour if non-const methods are called, by
11018	  adding a ConstDatabaseWrapper class, which is a subclass of
11019	  Database::Internal, and also takes a Database::Internal as a
11020	  parameter, to be wrapped.  This class proxies all const methods
11021	  to the wrapped Database::Internal, and raises
11022	  InvalidOperationError on non-const methods.  Fixes #332.
11023
11024Mon Mar 02 18:27:00 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11025
11026	* include/xapian/postingsource.h: Documentation comment
11027	  improvements.  Be explicit that Xapian will call reset() before
11028	  various methods, and will call next, skip_to or check before
11029	  at_end.
11030	* include/xapian/query.h: Wrap over-long line.
11031
11032Mon Mar 02 18:26:37 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11033
11034	* docs/Makefile.am,docs/serialisation.rst: Add topic document about
11035	  serialisation.
11036
11037Mon Mar 02 17:58:28 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11038
11039	* docs/postingsource.rst: Update documentation with new design.
11040
11041Mon Mar 02 17:16:54 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11042
11043	* api/omqueryinternal.cc: Change serialisation of queries to use
11044	  encode_length() rather than om_tostring(), for a more compact and
11045	  easier to parse representation.
11046
11047Mon Mar 02 14:48:08 GMT 2009  Olly Betts <olly@survex.com>
11048
11049	* backends/multi/multi_alltermslist.cc: Fix memory leak which
11050	  was causing allterms6 to fail.
11051
11052Mon Mar 02 14:15:11 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11053
11054	* matcher/externalpostlist.cc: Fix memory leak in external source
11055	  postlist (fixes fixedweightsource1).
11056
11057Mon Mar 02 13:41:29 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11058
11059	* api/postingsource.cc: Don't set max_weight in
11060	  ValueMapPostingSource::set_default_weight() - it's set in
11061	  reset() before being used, and it's not been set here yet, so
11062	  accessing it in std::max() was making valgrind complain.
11063
11064Mon Mar 02 12:23:01 GMT 2009  Olly Betts <olly@survex.com>
11065
11066	* HACKING,configure.ac,tests/runtest.in: Don't use valgrind if it's
11067	  < 3.3.0 as that's well over a year old and greatly simplifies the
11068	  configure tests.  Fix options passed to valgrind so that the
11069	  testsuite harness actually reports problems detected by newer
11070	  valgrind versions.
11071
11072Mon Mar 02 10:08:25 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11073
11074	* api/,bin/xapian-tcpsrv.cc,common/Makefile.mk,common/remoteserver.h,
11075	  common/serialisationcontextinternal.h,include/Makefile.mk,
11076	  include/xapian.h,include/xapian/enquire.h,include/xapian/query.h,
11077	  include/xapian/serialisationcontext.h,net/remoteserver.cc,
11078	  tests/api_serialise.cc,tests/internaltest.cc: Add
11079	  SerialisationContext.  This object is used to register
11080	  PostingSource or Weight subclasses, so that they can be
11081	  serialised and unserialised, and therefore used in remote
11082	  searches.  Add two-argument form for Query::unserialise() which
11083	  takes a serialisation context.  Fixes #206.
11084
11085Mon Mar 02 07:13:38 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11086
11087	* include/xapian/database.h: Further tweak to wording of
11088	  documentation about close().
11089
11090Mon Mar 02 07:05:54 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11091
11092	* backends/chert/chert_table.cc,backends/chert/chert_table.h,
11093	  backends/flint/flint_table.cc,backends/flint/flint_table.h:
11094	  Factor out more "throw Xapian::DatabaseError("Database has been
11095	  closed")" bits into separate functions: knocks another 20KB off
11096	  the shared library size.
11097
11098Mon Mar 02 05:46:15 GMT 2009  Olly Betts <olly@survex.com>
11099
11100	* include/xapian/enquire.h: Document how to get all matches from
11101	  Enquire::get_mset().
11102
11103Mon Mar 02 04:52:17 GMT 2009  Olly Betts <olly@survex.com>
11104
11105	* backends/inmemory/inmemory_alltermslist.cc,
11106	  backends/inmemory/inmemory_database.cc,
11107	  backends/inmemory/inmemory_database.h: Factor out "throw
11108	  Xapian::DatabaseError("Database has been closed") into a separate
11109	  function which knocks over 100KB off the shared library size (just
11110	  over 0.5%).
11111
11112Mon Mar 02 03:57:17 GMT 2009  Olly Betts <olly@survex.com>
11113
11114	* matcher/phrasepostlist.h: Remove blank line from end of file.
11115
11116Mon Mar 02 03:52:10 GMT 2009  Olly Betts <olly@survex.com>
11117
11118	* api/replication.cc,common/msvc_posix_wrapper.cc: Cuddle braces for
11119	  "if" and "switch".
11120
11121Mon Mar 02 03:32:32 GMT 2009  Olly Betts <olly@survex.com>
11122
11123	* tests/api_closedb.cc: Use more conventional uppercase macro parameter
11124	  names.  Wrap long comments.  Remove another unused exception name.
11125
11126Mon Mar 02 03:21:39 GMT 2009  Olly Betts <olly@survex.com>
11127
11128	* api/replication.cc,backends/chert/chert_databasereplicator.cc,
11129	  backends/flint/flint_databasereplicator.cc,net/remoteserver.cc,
11130	  tests/api_closedb.cc,tests/perftest/perftest_matchdecider.cc:
11131	  Don't name the exception being caught if we don't look at it.  While
11132	  GCC doesn't currently warn "unused variable" here, I'm fairly sure
11133	  there are compilers which do.
11134
11135Mon Mar 02 03:20:52 GMT 2009  Olly Betts <olly@survex.com>
11136
11137	* tests/perftest/perftest.cc: Wrap overlong comment.
11138
11139Mon Mar 02 03:17:48 GMT 2009  Olly Betts <olly@survex.com>
11140
11141	* matcher/mergepostlist.cc: Change "do { ... } while (true);" to the
11142	  more usual "while (true) { ... }".
11143
11144Sun Mar 01 19:41:16 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11145
11146	* tests/api_closedb.cc: Merge closedb1 and closedb2 into a single
11147	  test, and add lots more checking to it.  Rename closedb3 to
11148	  closedb2, to avoid leaving an odd gap.  closedb1 needs more work,
11149	  but is a useful start; committing now, rather than once I've done
11150	  this work, since the old test is failing in buildbot, and I don't
11151	  want to get in the way of snapshot tarballs.
11152
11153Sun Mar 01 19:27:38 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11154
11155	* backends/chert/chert_table.cc,backends/flint/flint_table.cc:
11156	  Add a few guards to throw DatabaseError when the database has
11157	  been permanently closed, rather than behaving as if the table is
11158	  empty in that situation.  Also, don't delete the resources in the
11159	  table when Database::close() is called, because they may still be
11160	  used to attempt to look up cached content.
11161
11162Sun Mar 01 18:22:52 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11163
11164	* include/xapian/database.h: Update documentation comments for
11165	  reopen() and close() to document the API we're aiming for (ie,
11166	  that closed databases either return the right result from cache,
11167	  or raise a DatabaseError).
11168
11169Sun Mar 01 18:20:19 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11170
11171	* backends/inmemory/inmemory_alltermslist.cc,
11172	  backends/inmemory/inmemory_database.cc,
11173	  backends/inmemory/inmemory_database.h: Add a flag to mark whether
11174	  the database is closed, and add guards before all methods which
11175	  access content which goes away when the database is closed, to
11176	  raise an exception if the database is closed.
11177
11178Sun Mar 01 18:20:03 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11179
11180	* backends/inmemory/inmemory_document.h: Fix a typo in a comment.
11181
11182Sun Mar 01 17:49:26 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11183
11184	* matcher/mergepostlist.cc: Fix ticket #336 by calling
11185	  recalc_maxweight when a sub-posting list finishes (other than
11186	  after the last one, where there is no point in calling
11187	  recalc_maxweight).
11188
11189Sun Mar 01 15:34:46 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11190
11191	* tests/api_db.cc: Fix MyDontAskWeightPostingSource to use the
11192	  database passed to reset(), rather than one passed to its
11193	  constructor.  This allows externalsource4 to be enabled for
11194	  multidatabases.
11195
11196Sun Mar 01 13:07:37 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11197
11198	* include/xapian/postingsource.h: Add comments as discussed in
11199	  ticket #295 to make clear that in a multi-database search,
11200	  PostingSources are passed a single sub-database.  Also mention
11201	  that the returned value of clone() will be deallocated with
11202	  delete.
11203
11204Sat Feb 28 08:21:33 GMT 2009  Olly Betts <olly@survex.com>
11205
11206	* api/omdatabase.cc,backends/chert/chert_database.cc,
11207	  backends/chert/chert_database.h,backends/database.cc,
11208	  backends/flint/flint_database.cc,backends/flint/flint_database.h,
11209	  backends/inmemory/inmemory_database.cc,
11210	  backends/inmemory/inmemory_database.h,
11211	  backends/remote/remote-database.cc,common/,docs/remote_protocol.html,
11212	  examples/copydatabase.cc,include/xapian/database.h,
11213	  net/remoteserver.cc,tests/,tests/perftest/perftest_matchdecider.cc,
11214	  tests/perftest/perftest_randomidx.cc,tests/queryparsertest.cc: Add
11215	  WritableDatabase::commit() as a new, preferred alias for
11216	  WritableDatabase::flush().  (bug#266)
11217
11218Fri Feb 27 01:59:31 GMT 2009  Olly Betts <olly@survex.com>
11219
11220	* include/xapian/database.h: WritableDatabase::flush() can't throw
11221	  DatabaseLockError.  WritableDatabase's ctor can throw at least
11222	  DatabaseCorruptError or DatabaseLockError.
11223
11224Thu Feb 26 14:54:28 GMT 2009  Olly Betts <olly@survex.com>
11225
11226	* tests/api_db.cc,tests/api_valuestream.cc: Update comments about why
11227	  certain tests are disabled for certain backends.  Enable
11228	  valueweightsource5 for multi and valuemapsource2 for remote.
11229
11230Thu Feb 26 14:53:19 GMT 2009  Olly Betts <olly@survex.com>
11231
11232	* matcher/multiandpostlist.cc: Use AssertRelParanoid() instead
11233	  of AssertParanoid() so the values get reported if the assertion
11234	  fails.
11235
11236Thu Feb 26 14:18:21 GMT 2009  Olly Betts <olly@survex.com>
11237
11238	* include/xapian/postingsource.h: Tweak word order.
11239
11240Thu Feb 26 12:48:16 GMT 2009  Olly Betts <olly@survex.com>
11241
11242	* tests/api_db.cc: Make the PostingSource subclass ctors which are
11243	  only called from clone() private to set a good example for users.
11244
11245Thu Feb 26 12:28:34 GMT 2009  Olly Betts <olly@survex.com>
11246
11247	* include/xapian/postingsource.h: Fix doc comment typo.
11248
11249Thu Feb 26 12:08:40 GMT 2009  Olly Betts <olly@survex.com>
11250
11251	* api/omqueryinternal.cc,include/xapian/query.h: Avoid copying
11252	  Query::Internal objects needlessly when unserialising Query
11253	  objects.
11254
11255Thu Feb 26 10:07:18 GMT 2009  Olly Betts <olly@survex.com>
11256
11257	* tests/api_db.cc: A couple more uncollapsed tests.
11258
11259Thu Feb 26 08:28:42 GMT 2009  Olly Betts <olly@survex.com>
11260
11261	* tests/api_anydb.cc,tests/api_wrdb.cc,tests/harness/testsuite.h,
11262	  tests/perftest/perftest_matchdecider.cc,tests/queryparsertest.cc:
11263	  Update to use new TEST_REL() macro.  Remove old TEST_LESSER(),
11264	  etc.
11265
11266Thu Feb 26 07:51:43 GMT 2009  Olly Betts <olly@survex.com>
11267
11268	* matcher/multimatch.cc: Fix the new
11269	  Enquire::get_uncollapsed_matches_lower_bound(), etc methods for
11270	  certain cases.
11271	* tests/api_anydb.cc,tests/api_db.cc: Extend existing tests to also
11272	  check Enquire::get_uncollapsed_matches_lower_bound(), etc.
11273
11274Thu Feb 26 07:49:23 GMT 2009  Olly Betts <olly@survex.com>
11275
11276	* tests/harness/Makefile.mk,tests/harness/testmacros.h,
11277	  tests/harness/testsuite.h: Add new "TEST_REL" macro which can test
11278	  for a condition using any relational operator and report a failure
11279	  clearly yet concisely.
11280
11281Wed Feb 25 13:43:41 GMT 2009  Olly Betts <olly@survex.com>
11282
11283	* matcher/multimatch.cc: Fix adjustment of the uncollapse bounds and
11284	  estimate.
11285
11286Wed Feb 25 12:32:13 GMT 2009  Olly Betts <olly@survex.com>
11287
11288	* configure.ac: GCC --version keeps changing format, and as a result
11289	  we were currently getting "g++" as the version.  So change to the
11290	  (hopefully) more robust technique of using g++ -E to pull out
11291	  __GNUC__ and __GNUC_MINOR__.
11292
11293Wed Feb 25 03:14:08 GMT 2009  Olly Betts <olly@survex.com>
11294
11295	* api/omdatabase.cc: Fix for compiling with Sun's compiler
11296	  (untested as I no longer have access to it).
11297
11298Mon Feb 23 14:11:12 GMT 2009  Olly Betts <olly@survex.com>
11299
11300	* docs/sorting.rst: Clarify meaning.
11301
11302Mon Feb 23 14:04:50 GMT 2009  Olly Betts <olly@survex.com>
11303
11304	* docs/deprecation.rst,include/xapian/enquire.h,tests/: Rename the
11305	  wrongly named "ascending" parameter of the set_sort_by*() methods
11306	  of Enquire to "reverse" and deprecate the default value since
11307	  defaulting to "reverse=true" is confusing.  (bug#311)
11308
11309Mon Feb 23 01:24:23 GMT 2009  Olly Betts <olly@survex.com>
11310
11311	* api/omenquire.cc,backends/remote/remote-database.cc,
11312	  common/multimatch.h,common/omenquireinternal.h,
11313	  common/remote-database.h,docs/collapsing.rst,
11314	  docs/remote_protocol.html,include/xapian/enquire.h,matcher/,
11315	  net/remoteserver.cc,net/serialise.cc,tests/Makefile.am,
11316	  tests/api_collapse.cc: Replace the collapsing code in the matcher
11317	  with a separate Collapser class.  This new class can keep more than
11318	  one document with each collapse key.  Also track bounds and an
11319	  estimate of the total number of matches if collapsing wasn't in use.
11320
11321Mon Feb 23 00:52:16 GMT 2009  Olly Betts <olly@survex.com>
11322
11323	* api/omdatabase.cc: Fix AssertionError from apitest testcases
11324	  fixedweightsource2 and valueweightsource1.
11325
11326Sun Feb 22 11:02:24 GMT 2009  Olly Betts <olly@survex.com>
11327
11328	* backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Check for
11329	  fork failing *after* we check if we're now the child process.
11330
11331Sun Feb 22 10:06:13 GMT 2009  Olly Betts <olly@survex.com>
11332
11333	* backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Note
11334	  explicitly why we now have the strange empty if (not) checking the
11335	  return value of chdir("/") (it's actually newer glibc and
11336	  _FORTIFY_SOURCE rather than newer GCC).  Retry closing filehandle if
11337	  it returns EINTR.  Whitespace tweaks.
11338
11339Sat Feb 21 11:04:08 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11340
11341	* backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Fix
11342	  warning about ignoring result of chdir (with GCC 4.2)
11343
11344Sat Feb 21 08:18:21 GMT 2009  Olly Betts <olly@survex.com>
11345
11346	* tests/harness/testsuite.cc: Fix option usage in --help - "-x=foo"
11347	  doesn't work - "-x foo" does.
11348
11349Sat Feb 21 07:37:01 GMT 2009  Olly Betts <olly@survex.com>
11350
11351	* tests/perftest/perftest_randomidx.cc: Use two argument version of
11352	  rand_int() where applicable.  Reserve length of result string in
11353	  gen_word().  Fix truncated comment.
11354
11355Sat Feb 21 04:27:45 GMT 2009  Olly Betts <olly@survex.com>
11356
11357	* backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: In the
11358	  locking child process, before we exec /bin/cat change directory to
11359	  / so that we don't block unmounting of any partitions and close
11360	  any open file descriptors (apart from those we're using) so that if
11361	  the files are closed by our parent and deleted the disk space gets
11362	  released right away.
11363
11364Sat Feb 21 02:06:56 GMT 2009  Olly Betts <olly@survex.com>
11365
11366	* api/postingsource.cc,include/xapian/postingsource.h: Pass string as
11367	  const string &; drop trailing "_" from parameters which don't clash
11368	  with member variables; fix brace formatting on a couple of for
11369	  loops.
11370
11371Fri Feb 20 14:32:46 GMT 2009  Olly Betts <olly@survex.com>
11372
11373	* tests/api_closedb.cc: Fix testcase closedb3 not to create a test
11374	  database named closedb2.
11375
11376Fri Feb 20 01:38:32 GMT 2009  Olly Betts <olly@survex.com>
11377
11378	* include/xapian/enquire.h: Documentation comment improvements.
11379
11380Wed Feb 18 06:48:43 GMT 2009  Olly Betts <olly@survex.com>
11381
11382	* matcher/multimatch.cc: Use AssertRel rather than Assert with an
11383	  inequality so that we see the arguments if the assertion fails.
11384
11385Wed Feb 18 06:39:33 GMT 2009  Olly Betts <olly@survex.com>
11386
11387	* matcher/multimatch.cc: "items" -> "rsetitems" to distinguish from
11388	  items used elsewhere for the MSet items.
11389
11390Wed Feb 18 06:20:38 GMT 2009  Olly Betts <olly@survex.com>
11391
11392	* matcher/multimatch.cc: Drop superfluous "std::".
11393
11394Wed Feb 18 05:46:59 GMT 2009  Olly Betts <olly@survex.com>
11395
11396	* NEWS: Update from ChangeLog.
11397
11398Tue Feb 17 23:53:54 GMT 2009  Olly Betts <olly@survex.com>
11399
11400	* include/xapian/document.h,include/xapian/query.h: "xapian" ->
11401	  "Xapian".
11402
11403Tue Feb 17 15:02:49 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11404
11405	* include/xapian/document.h,include/xapian/query.h: Soften comment
11406	  warning about changes in serialised format between xapian
11407	  versions; note that the format won't change unless the remote
11408	  database protocol has changed.
11409
11410Tue Feb 17 14:59:29 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11411
11412	* api/omquery.cc: Return std::string() rather than "" to encourage
11413	  compilers to use special empty string representation.
11414
11415Mon Feb 16 14:27:28 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11416
11417	* api/postingsource.cc: Change the name() methods of the built-in
11418	  posting sources to return a full name (starting with Xapian:: and
11419	  ending with PostingSource), as documented in the API
11420	  documentation comments.
11421
11422Mon Feb 16 13:32:39 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11423
11424	* api/omqueryinternal.cc,common/remoteserver.h,
11425	  matcher/externalpostlist.cc,matcher/externalpostlist.h,
11426	  matcher/queryoptimiser.cc,net/remoteserver.cc,
11427	  tests/api_percentages.cc,tests/api_valuestream.cc: Add some
11428	  copyright lines missed in changeset [11838].
11429
11430Mon Feb 16 11:56:46 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11431
11432	* matcher/queryoptimiser.cc: Add another reference from a FIXME to
11433	  a ticket number.
11434
11435Mon Feb 16 11:47:21 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11436
11437	* api/omqueryinternal.cc: Update two FIXMEs to reference the
11438	  appropriate ticket.
11439
11440Mon Feb 16 10:11:39 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11441
11442	* Add support for multi and remote backends with posting sources,
11443	  from ticket #295:
11444	* include/xapian/postingsource.h: Add some clarifying comments
11445	  about the interface of PostingSources, and add clone(), name(),
11446	  serialise() and unserialise() methods to PostingSources, for
11447	  remote and multidatabase support.
11448	* include/xapian/query.h: Add internal member to track ownership of
11449	  external posting sources, and update some comments.
11450	* api/postingsource.cc: Add implementations of the new methods, so
11451	  that all standard PostingSources support remote and multi
11452	  database searches.
11453	* api/omquery.cc: Clone external PostingSources if possible.
11454	* api/omqueryinternal.cc: Add serialisation and unserialisation
11455	  support for posting sources, and support for keeping track of
11456	  whether an external posting source is owned by the query object
11457	  or not (ie, whether it needs to be deleted by the destructor).
11458	* matcher/externalpostlist.cc,matcher/externalpostlist.h: (Attempt
11459	  to) clone external posting sources at start, and call the reset()
11460	  method with the database in use.  Delete the posting source
11461	  afterwards, if the clone was successful.
11462	* matcher/queryoptimiser.cc: Pass the database to ExternalPostList.
11463	  Sadly, this currently requires a const_cast.
11464	* tests/: Update tests of PostingSources to take the db parameter
11465	  on the reset() method, and to test behaviour with multi and
11466	  remote backends where appropriate.  Also, add regression test for
11467	  segfault in FixedWeightPostingSource::skip_to() when database is
11468	  empty.
11469	* net/remoteserver.cc,common/remoteserver.h: Add the built-in
11470	  posting sources to the remote server, and add
11471	  register_posting_source() to the remoteserver, for use in
11472	  xapian-tcpsrv.cc for user posting sources, analogously to
11473	  register_weighting_scheme().
11474
11475Fri Feb 13 20:09:10 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11476
11477	* api/postingsource.cc: Fix segfaults which occur if an empty
11478	  ValuePostingSource subclass has the skip_to() or check() methods
11479	  called on it first.
11480	* tests/api_db.cc tests/api_valuestream.cc: Move valuemapsource1 to
11481	  api_valuestream.cc, since that seems like a better place (and
11482	  api_db.cc is already rather over-large).  Add regression test
11483	  "valuemapsource2" to check the behaviour of ValuePostingSource
11484	  subclasses on empty lists.
11485
11486Fri Feb 13 19:29:38 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11487
11488	* api/postingsource.cc,include/xapian/postingsource.h: Add
11489	  ValuePostingSource, which is a base class for implementing
11490	  posting sources based on reading from a value slot.  Convert
11491	  ValueWeightPostingSource to be a subclass of this, and add
11492	  ValueMapPostingSource, which is a posting source which uses a map
11493	  to convert values to weights.
11494	* tests/api_db.cc: Add valuemapsource1, testing the
11495	  ValueMapPostingSource.
11496
11497Fri Feb 13 15:14:53 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11498
11499	* tests/harness/index_utils.cc: Add value 13, containing the first
11500	  3 letters of the paragraph - needed for some tests I'm going to
11501	  commit shortly.
11502
11503Fri Feb 13 14:05:44 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11504
11505	* tests/api_sorting.cc: Change slot number used to get an empty
11506	  slot from 13 to 100 - we're getting close to using slot 13 now!
11507
11508Sat Feb 07 00:31:12 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11509
11510	* backends/chert/chert_cursor.cc,backends/flint/flint_cursor.cc:
11511	  Return accidentally changed "XAPIAN_ASSERTIONS_VERBOSE" ifdefs to
11512	  "XAPIAN_DEBUG_VERBOSE".
11513
11514Sat Feb 07 00:16:43 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11515
11516	* api/omdocument.cc,api/omquery.cc,include/xapian/document.h,
11517	  include/xapian/query.h: Add methods for serialising documents and
11518	  queries into strings, and unserialising back from strings.  Fixes
11519	  most of ticket #206 - missing part is that serialising queries
11520	  containing PostingSources doesn't work.
11521	* tests/Makefile.am,tests/api_serialise.cc: Add tests of document
11522	  and query serialisation.
11523
11524Fri Feb 06 16:06:50 GMT 2009  Richard Boulton <richard@lemurconsulting.com>
11525
11526	* configure.ac: Set HAVE_PREAD and HAVE_PWRITE if pread and pwrite
11527	  are found; turns use of pread and pwrite back on.  This improves
11528	  the speed of a test case of 10,000 (fully cached) searches from
11529	  1.84 seconds to 1.78 seconds for me (on ubuntu hardy) - ie, about
11530	  3% speed increase.
11531
11532Tue Jan 20 06:22:20 GMT 2009  Olly Betts <olly@survex.com>
11533
11534	* tests/api_db.cc: Prefer value.empty() to value == "".
11535
11536Mon Jan 19 05:08:48 GMT 2009  Olly Betts <olly@survex.com>
11537
11538	* AUTHORS,queryparser/Makefile.mk: Fix "#line" directives in generated
11539	  file queryparser/queryparser_internal.cc to give a relative path -
11540	  previously they had a full path when generated by a VPATH build, and
11541	  this confused GCC 2.95 and depcomp.
11542
11543Sun Jan 18 23:34:22 GMT 2009  Olly Betts <olly@survex.com>
11544
11545	* api/omenquire.cc: Throw UnimplementedError from Enquire::get_mset()
11546	  if we're asked for a percentage cutoff and to sort primarily by
11547	  value - this has never been correctly supported and it's better to
11548	  warn people than give incorrect results.
11549	* tests/api_percentages.cc: Add test that this error gets thrown.
11550
11551Tue Jan 13 08:20:36 GMT 2009  Olly Betts <olly@survex.com>
11552
11553	* common/omenquireinternal.h: Swap the items vector into the
11554	  MSet::Internal object rather than copying it to avoid the overhead
11555	  of the copy.
11556
11557Thu Jan 08 05:14:47 GMT 2009  Olly Betts <olly@survex.com>
11558
11559	* backends/chert/chert_cursor.cc,backends/chert/chert_postlist.cc,
11560	  backends/flint/flint_cursor.cc,backends/flint/flint_postlist.cc,
11561	  backends/multi/multi_postlist.cc,common/omassert.h,configure.ac,
11562	  matcher/multimatch.cc: Change preprocessor defines controlling
11563	  assertions from XAPIAN_DEBUG->XAPIAN_ASSERTIONS and
11564	  XAPIAN_DEBUG_PARANOID->XAPIAN_ASSERTIONS_PARANOID so their purpose
11565	  is clearer.
11566
11567Thu Jan 08 02:23:21 GMT 2009  Olly Betts <olly@survex.com>
11568
11569	* NEWS: Update from ChangeLog.
11570
11571Wed Jan 07 03:43:07 GMT 2009  Olly Betts <olly@survex.com>
11572
11573	* api/matchspy.cc: Fix FP rounding bug (bug#321).
11574	* AUTHORS: Add Shane Evans for bug report.
11575
11576Tue Jan 06 22:08:12 GMT 2009  Olly Betts <olly@survex.com>
11577
11578	* backends/inmemory/inmemory_database.cc: Fix comment typo.
11579
11580Tue Jan 06 21:39:30 GMT 2009  Olly Betts <olly@survex.com>
11581
11582	* api/matchspy.cc: Add assertions to try to track down what's causing
11583	  bug#321.
11584
11585Tue Jan 06 03:20:27 GMT 2009  Olly Betts <olly@survex.com>
11586
11587	* matcher/exactphrasepostlist.cc,matcher/phrasepostlist.cc: Fix
11588	  comment typos.
11589
11590Mon Jan 05 04:42:04 GMT 2009  Olly Betts <olly@survex.com>
11591
11592	* queryparser/queryparser.lt: Merge upstream "Check-in Number: 6016" -
11593	  only change is to comment noting the synced version as the changed
11594	  code has been deleted in our version.
11595
11596Fri Dec 26 15:05:05 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
11597
11598	* include/xapian/database.h: Add Database.close() method, used to
11599	  close the resources (in particular, the filehandles) held by a
11600	  database before the destructor is called.  Particularly useful
11601	  for the bindings from other languages.
11602	* api/omdatabase.cc,backends/chert/chert_database.cc,
11603	  backends/chert/chert_database.h,backends/flint/flint_database.cc,
11604	  backends/flint/flint_database.h,
11605	  backends/inmemory/inmemory_database.cc,
11606	  backends/inmemory/inmemory_database.h,
11607	  backends/remote/remote-database.cc,common/database.h,
11608	  common/remote-database.h,net/remoteconnection.cc: Implementation
11609	  of close() methods.
11610	* tests/Makefile.am,tests/api_closedb.cc: New test file, for
11611	  testing the close method.  Could do with being expanded to test
11612	  many more methods of databases in the closed state, and to test
11613	  the behaviour after the close of objects created from databases
11614	  before the database was closed.
11615
11616Fri Dec 26 13:42:14 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
11617
11618	* backends/chert/chert_table.cc,backends/flint/flint_table.cc:
11619	  Raise error if database has been closed permanently when
11620	  cursor_get() is called - a NULL return type isn't checked in
11621	  various places (for tables which are never closed temporarily),
11622	  so this is the easiest place to add a check to avoid a segfault
11623	  without incurring extra overhead.
11624
11625Tue Dec 23 13:42:21 GMT 2008  Olly Betts <olly@survex.com>
11626
11627	* languages/compiler/analyser.c: Fix GCC 4.3 warning.
11628
11629Tue Dec 23 06:35:11 GMT 2008  Olly Betts <olly@survex.com>
11630
11631	* PLATFORMS: Sync with 1.0 branch.
11632	* PLATFORMS: Remove 0.9.x build reports; move 1.0.x build reports
11633	  to the "old version" section.
11634	* INSTALL: Adapt old footnotes from PLATFORMS about HP's aCC and IRIX
11635	  into new paragraphs here.
11636
11637Tue Dec 23 05:19:52 GMT 2008  Olly Betts <olly@survex.com>
11638
11639	* HACKING,configure.ac: Make automake 1.10.2 a hard minimum
11640	  requirement.
11641
11642Tue Dec 23 04:36:27 GMT 2008  Olly Betts <olly@survex.com>
11643
11644	* NEWS: Update from ChangeLog.
11645
11646Mon Dec 22 16:02:58 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
11647
11648	* backends/chert/chert_databasereplicator.cc,
11649	  backends/databasereplicator.cc,
11650	  backends/flint/flint_databasereplicator.cc: Fix some missing bits
11651	  for debug compilation.
11652
11653Mon Dec 22 13:30:53 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
11654
11655	* api/replication.cc,backends/Makefile.mk,backends/chert/,
11656	  backends/database.cc,backends/databasereplicator.cc,backends/flint/,
11657	  common/Makefile.mk,common/database.h,common/databasereplicator.h:
11658	  Add DatabaseReplicator base class, and subclasses for flint and
11659	  chert, to hold parts of database replication code which need to
11660	  be applied to a partially replicated database which may not be a
11661	  valid database.  Move the code for applying changesets and
11662	  comparing revision numbers into here, and add code for getting
11663	  uuids which simply returns "" if the database is too broken to
11664	  have a uuid associated with it.  Update the replication code to
11665	  use DatabaseReplicator subclasses instead of Database classes
11666	  where necessary, to avoid failing if a partial database is
11667	  transmitted.  Add additional checks to ensure that the UUID of a
11668	  replicated databse is equal to that sent in the replication
11669	  protocol message introducing a full database copy; if they
11670	  differ, a retry of the copy is needed, so ensure that the next
11671	  message sent is a new copy of the database.
11672
11673Mon Dec 22 11:24:43 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
11674
11675	* docs/replication.rst: Warning about a possible way to confuse the
11676	  replication process.
11677
11678Sat Dec 20 14:00:34 GMT 2008  Olly Betts <olly@survex.com>
11679
11680	* tests/api_percentages.cc: Update (C) too.
11681
11682Sat Dec 20 13:51:35 GMT 2008  Olly Betts <olly@survex.com>
11683
11684	* matcher/multimatch.cc: If we're using values for sorting and for
11685	  another purpose, cache the Document::Internal object from getting
11686	  the value for sorting like we do between other uses.
11687
11688Sat Dec 20 13:09:13 GMT 2008  Olly Betts <olly@survex.com>
11689
11690	* tests/api_percentages.cc: Make formatting of MyPostingSource code
11691	  more self-consistent.  Remove a superfluous block scope.  Wrap a
11692	  long comment.
11693
11694Sat Dec 20 12:25:40 GMT 2008  Olly Betts <olly@survex.com>
11695
11696	* exception_data.pm: Build a hash mapping a class to a list of its
11697	  subclasses and export this as %subclasses.
11698
11699Sat Dec 20 05:51:50 GMT 2008  Olly Betts <olly@survex.com>
11700
11701	* HACKING: Wrap a long line.
11702
11703Sat Dec 20 05:28:57 GMT 2008  Olly Betts <olly@survex.com>
11704
11705	* queryparser/lemon.c: Merge upstream "Check-in Number: 6016".
11706
11707Fri Dec 19 14:25:10 GMT 2008  Olly Betts <olly@survex.com>
11708
11709	* queryparser/queryparser.lt: Merge upstream "Check-in Number: 6015".
11710
11711Fri Dec 19 14:07:52 GMT 2008  Olly Betts <olly@survex.com>
11712
11713	* queryparser/queryparser.lt: Merge upstream "Check-in Number: 6006".
11714
11715Fri Dec 19 13:51:33 GMT 2008  Olly Betts <olly@survex.com>
11716
11717	* queryparser/queryparser.lt: Merge upstream "Check-in Number: 5919"
11718	  - code changes are in deleted code, so no actual code changes for
11719	  us.
11720
11721Fri Dec 19 13:46:22 GMT 2008  Olly Betts <olly@survex.com>
11722
11723	* queryparser/lemon.c: Merge upstream "Check-in Number: 6008".
11724
11725Fri Dec 19 11:15:04 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
11726
11727	* tests/api_replicate.cc: Fix comment describing test.
11728
11729Thu Dec 18 23:38:50 GMT 2008  Olly Betts <olly@survex.com>
11730
11731	* backends/chert/chert_table.cc,backends/flint/flint_table.cc: Tidy up
11732	  comment wrapping and indenting of code wrapped in try blocks by the
11733	  previous commit.
11734
11735Thu Dec 18 14:26:30 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
11736
11737	* backends/chert/chert_database.cc,backends/chert/chert_table.cc,
11738	  backends/chert/chert_table.h,backends/flint/flint_database.cc,
11739	  backends/flint/flint_table.cc,backends/flint/flint_table.h:
11740	  Improve resilience to unexpected errors during commit.  Firstly,
11741	  fix FlintTable and ChertTable to close the table if an error
11742	  occurs during commit - this avoids the table being left in an
11743	  inconsistent state (instead, the table is reopened in a
11744	  consistent state the next time it is used).  Secondly, add a
11745	  "permanent" close state for tables (indicated by handle being set
11746	  to -2), which will raise an error if anything tries to do an
11747	  action which needs the table to be opened, and set the tables to
11748	  this state if we fail to recover the database after error in
11749	  commit().  This prevents further actions on the database if we
11750	  couldn't recover the state (eg, because we're out of disk space),
11751	  avoiding risk of corruption.
11752
11753Thu Dec 18 01:28:06 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
11754
11755	* backends/chert/chert_database.cc,backends/chert/chert_database.h,
11756	  backends/flint/flint_database.cc,backends/flint/flint_database.h:
11757	  Improve the error reporting when modifications fail and we cannot
11758	  set the revision numbers in the table to consistent values, to
11759	  report the original error too.
11760
11761Wed Dec 17 17:27:24 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
11762
11763	* backends/chert/chert_table.cc,backends/flint/flint_table.cc:
11764	  Fix construction of the error message when a base can't be
11765	  re-read: used to do pointer arithmetic by mistake - now does the
11766	  correct string concatenation.
11767
11768Wed Dec 17 15:18:10 GMT 2008  Olly Betts <olly@survex.com>
11769
11770	* tests/api_valuestream.cc: Skip valuestream3 on chert for now so that
11771	  snapshots and the tinderbox work again.
11772
11773Wed Dec 17 15:17:07 GMT 2008  Olly Betts <olly@survex.com>
11774
11775	* tests/api_wrdb.cc: Need omassert.h for STATIC_ASSERT.
11776
11777Wed Dec 17 10:45:45 GMT 2008  Olly Betts <olly@survex.com>
11778
11779	* api/omqueryinternal.cc,tests/api_nodb.cc: A NEAR of 2 OR subqueries
11780	  shouldn't throw AssertionError - instead throw UnimplementedError.
11781	  Addresses the worst aspect of bug#201, but this should really be
11782	  implemented.
11783
11784Wed Dec 17 04:44:10 GMT 2008  Olly Betts <olly@survex.com>
11785
11786	* backends/chert/chert_database.cc,backends/chert/chert_database.h:
11787	  Implement ChertWritableDatabase::open_value_list().
11788	* tests/api_valuestream.cc: Add valueweightsource5 testcase which is a
11789	  regression test for bug#299 and also exercises the above method.
11790
11791Tue Dec 16 13:30:47 GMT 2008  Olly Betts <olly@survex.com>
11792
11793	* common/expandweight.h,expand/expandweight.cc: Overhaul ExpandWeight
11794	  - now we use the "official" formula and don't return terms which it
11795	  would give a negative weight to (since that means they are expected
11796	  to be harmful not helfpul).
11797	* tests/api_anydb.cc,tests/api_db.cc: Fix unwarranted assumptions in
11798	  existing testcases broken by this change.
11799
11800Thu Dec 11 01:02:41 GMT 2008  Olly Betts <olly@survex.com>
11801
11802	* examples/delve.cc: Add missing "and" to --help output.  Report
11803	  termfreq and collection freq for each term we're asked about.
11804
11805Mon Dec 08 00:52:51 GMT 2008  Olly Betts <olly@survex.com>
11806
11807	* AUTHORS: Add Daniel Andersson for reporting the flintlock
11808	  permissions issue.
11809
11810Sun Dec 07 22:50:32 GMT 2008  Olly Betts <olly@survex.com>
11811
11812	* api/sorter.cc,tests/api_sorting.cc: Fix an empty MultiValueSorter
11813	  not to SEGV/hang.
11814
11815Fri Dec 05 21:08:08 GMT 2008  Olly Betts <olly@survex.com>
11816
11817	* backends/chert/chert_database.cc,tests/api_backend.cc: Use
11818	  "flintlock" rather than "chertlock" for the lockfile in chert.
11819	  The locking is compatible and this avoids the possibility of
11820	  creating a chert and flint database in the same directory (which
11821	  will result in one being corrupt since the Btree filenames overlap).
11822
11823Thu Dec 04 09:00:04 GMT 2008  Olly Betts <olly@survex.com>
11824
11825	* backends/chert/chert_lock.cc,backends/flint/flint_lock.cc: Create
11826	  the lockfile with permissions 0666 so that the umask is honoured
11827	  just like we do for the other files (previously we used 0600).
11828	* tests/Makefile.am,tests/api_backend.cc: Add regression test
11829	  lockfileumask1.
11830
11831Thu Dec 04 08:56:54 GMT 2008  Olly Betts <olly@survex.com>
11832
11833	* tests/stemtest.cc: Use str.resize(0) instead of str = "".
11834
11835Thu Dec 04 04:56:55 GMT 2008  Olly Betts <olly@survex.com>
11836
11837	* tests/queryparsertest.cc: No need to explicitly initialise a
11838	  std::string to "".
11839
11840Thu Dec 04 04:55:47 GMT 2008  Olly Betts <olly@survex.com>
11841
11842	* tests/api_db.cc: Prefer str.empty() to str == "".
11843
11844Thu Dec 04 01:50:10 GMT 2008  Olly Betts <olly@survex.com>
11845
11846	* tests/api_wrdb.cc: Make helper function static.  Use STATIC_ASSERT
11847	  to ensure a constant is coprime with 13.
11848
11849Wed Dec 03 22:56:19 GMT 2008  Olly Betts <olly@survex.com>
11850
11851	* api/omdatabase.cc: Fix API logging.
11852
11853Wed Dec 03 03:11:45 GMT 2008  Olly Betts <olly@survex.com>
11854
11855	* INSTALL: Note that libuuid is required for Xapian 1.1.0 and higher.
11856
11857Wed Dec 03 03:10:59 GMT 2008  Olly Betts <olly@survex.com>
11858
11859	* INSTALL: Remove ':' from the end of headings.
11860
11861Mon Dec 01 08:59:04 GMT 2008  Olly Betts <olly@survex.com>
11862
11863	* HACKING: Explicitly give the commands to install the required
11864	  packages for developing on recent Debian or Ubuntu for added
11865	  convenience.  Update the Debian/Ubuntu packages needed for
11866	  documentation to reflect the change from tetex to texlive.  Fix
11867	  unfinished paragraph about requiring a newline at the end of a
11868	  source file and note that this is actually undefined behaviour in
11869	  C++.
11870
11871Sun Nov 30 21:46:59 GMT 2008  Olly Betts <olly@survex.com>
11872
11873	* bin/,examples/quest.cc,tests/harness/testsuite.cc: Pull out lists of
11874	  short options next to list of long options to help make sure they
11875	  are kept in step.  xapian-tcpsrv and xapian-progsrv now accept -w
11876	  as a short form of --writable, as their long option table had, but
11877	  their short option string didn't.
11878
11879Sun Nov 30 20:44:48 GMT 2008  Olly Betts <olly@survex.com>
11880
11881	* docs/postingsource.rst: Wrap a long line.  Note that the remote
11882	  backend isn't supported yet.
11883
11884Wed Nov 19 11:36:00 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
11885
11886	* docs/postingsource.rst: Make it clear that PostingSources must
11887	  always return documents in increasing document ID order.
11888
11889Wed Nov 19 08:43:04 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
11890
11891	* bin/,examples/delve.cc,examples/quest.cc,tests/harness/testsuite.cc:
11892	  Test return type of gnu_getopt_long for being != -1, rather than
11893	  == 0, since there are a wide variety of return types other than 0
11894	  which may be returned in the successful case (with the builtin
11895	  implementation in common/getopt.cc, at least).
11896
11897Tue Nov 18 23:22:09 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
11898
11899	* api/omdatabase.cc: Change unknown "DATABASE" debug type to "DB".
11900
11901Mon Nov 17 13:00:12 GMT 2008  Olly Betts <olly@survex.com>
11902
11903	* docs/queryparser.html: Add link to valueranges.html.
11904
11905Fri Nov 14 22:23:10 GMT 2008  Olly Betts <olly@survex.com>
11906
11907	* NEWS: Update revision we're current to.
11908
11909Fri Nov 14 17:43:15 GMT 2008  Olly Betts <olly@survex.com>
11910
11911	* backends/chert/chert_alldocsmodifiedpostlist.cc,
11912	  backends/chert/chert_modifiedpostlist.cc,
11913	  backends/flint/flint_modifiedpostlist.cc: Correct comments.
11914
11915Fri Nov 14 17:38:33 GMT 2008  Olly Betts <olly@survex.com>
11916
11917	* tests/harness/testsuite.cc: Update comment about valgrind and C++
11918	  STL allocators.
11919
11920Fri Nov 14 17:36:47 GMT 2008  Olly Betts <olly@survex.com>
11921
11922	* bin/,examples/delve.cc,examples/quest.cc,tests/harness/testsuite.cc:
11923	  Don't compare return value of gnu_getopt_long() with EOF - it's
11924	  documented to simply return -1 or 0, and EOF requires inclusion of
11925	  stdio.h.
11926
11927Fri Nov 14 17:30:39 GMT 2008  Olly Betts <olly@survex.com>
11928
11929	* common/serialise-double.cc: Fix "#elif" with no argument to
11930	  "#else" - the former surprisingly compiles with most compilers, but
11931	  GCC 4.4 snapshots reject it.
11932
11933Fri Nov 14 16:54:15 GMT 2008  Olly Betts <olly@survex.com>
11934
11935	* common/win32_uuid.cc: A few code clean-ups.
11936
11937Fri Nov 14 13:09:16 GMT 2008  Olly Betts <olly@survex.com>
11938
11939	* common/Makefile.mk: Ship common/safeuuid.h to unbreak tarball
11940	  snapshot building.
11941
11942Sun Nov 09 13:31:19 GMT 2008  Olly Betts <olly@survex.com>
11943
11944	* api/omquery.cc,api/omqueryinternal.cc,bin/xapian-tcpsrv.cc,
11945	  common/omenquireinternal.h,matcher/,net/remoteserver.cc:
11946	  Prefer "" to <> for including Xapian API headers from within the
11947	  library.  Remove so unused xapian/enquire.h inclusions.
11948
11949Fri Nov 07 12:50:22 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
11950
11951	* backends/chert/chert_version.cc,backends/chert/chert_version.h,
11952	  backends/flint/flint_version.cc,backends/flint/flint_version.h,
11953	  common/safeuuid.h,common/win32_uuid.cc,common/win32_uuid.h: Add
11954	  implementation of UUID functions for windows (using the built-in
11955	  UUID methods in the windows API). Fixes bug #303.
11956
11957Sat Nov 01 01:47:44 GMT 2008  Olly Betts <olly@survex.com>
11958
11959	* NEWS: Sync with 1.0.9 release.
11960
11961Fri Oct 31 18:55:03 GMT 2008  Olly Betts <olly@survex.com>
11962
11963	* include/xapian/database.h: Document XAPIAN_FLUSH_THRESHOLD
11964	  (bug#306).
11965
11966Fri Oct 31 18:30:11 GMT 2008  Olly Betts <olly@survex.com>
11967
11968	* configure.ac: Fix whitespace inconsistency with omega's
11969	  configure.ac.
11970
11971Fri Oct 31 10:51:06 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
11972
11973	* api/postingsource.cc,include/xapian/postingsource.h: Add a new
11974	  built-in posting source, FixedWeightSource, which returns every
11975	  document in the database, but with a fixed weight.  In
11976	  particular, this is useful to add a constant weight to every item
11977	  in a subquery.  Also, in ValueWeightPostingSource, refactor the
11978	  "last_docid" member to a bool "started", since this is all it's
11979	  used for.
11980	* tests/api_db.cc: Add fixedweightsource1, to test FixedWeightSource.
11981
11982Mon Oct 27 17:05:39 GMT 2008  Olly Betts <olly@survex.com>
11983
11984	* tests/queryparsertest.cc: Skip test if the timer granularity is too
11985	  coarse in all cases.
11986
11987Mon Oct 27 08:12:16 GMT 2008  Olly Betts <olly@survex.com>
11988
11989	* tests/api_valuestream.cc: Disable valuestream1 for multi backends.
11990
11991Sun Oct 26 00:30:54 GMT 2008  Olly Betts <olly@survex.com>
11992
11993	* backends/chert/chert_valuelist.cc: Remove incorrect assertions.
11994
11995Sat Oct 25 06:18:37 GMT 2008  Olly Betts <olly@survex.com>
11996
11997	* api/Makefile.mk: Fix typo so we once again ship editdistance.h and
11998	  maptermlist.h.
11999
12000Thu Oct 23 17:34:13 GMT 2008  Olly Betts <olly@survex.com>
12001
12002	* tests/queryparsertest.cc: Skip test if the timer granularity is too
12003	  coarse.
12004
12005Tue Oct 21 05:00:59 GMT 2008  Olly Betts <olly@survex.com>
12006
12007	* NEWS: Sync with branches/1.0.
12008
12009Tue Oct 21 02:09:18 GMT 2008  Olly Betts <olly@survex.com>
12010
12011	* tests/api_valuestream.cc: Add feature test of ValueIterator::check().
12012
12013Tue Oct 21 01:36:45 GMT 2008  Olly Betts <olly@survex.com>
12014
12015	* backends/inmemory/inmemory_database.cc,
12016	  backends/inmemory/inmemory_database.h: Prefer string() to "", slot
12017	  to valno, and not using else after return.
12018
12019Tue Oct 21 01:32:37 GMT 2008  Olly Betts <olly@survex.com>
12020
12021	* tests/api_anydb.cc,tests/api_db.cc: Remove '#include <iomanip>'
12022	  which aren't used.
12023
12024Mon Oct 20 13:30:37 GMT 2008  Olly Betts <olly@survex.com>
12025
12026	* api/postingsource.cc,api/valueiterator.cc,
12027	  include/xapian/postingsource.h,include/xapian/valueiterator.h: Add
12028	  new API method ValueIterator::check() and use it in PostingIterator.
12029
12030Mon Oct 20 12:28:16 GMT 2008  Olly Betts <olly@survex.com>
12031
12032	* tests/api_valuestream.cc: Add test for skip_to() on valuestream
12033	  iterator.
12034
12035Mon Oct 20 11:19:12 GMT 2008  Olly Betts <olly@survex.com>
12036
12037	* tests/Makefile.am,tests/api_valuestream.cc: Add a simple test of
12038	  valuestream iteration.
12039
12040Mon Oct 20 11:01:26 GMT 2008  Olly Betts <olly@survex.com>
12041
12042	* tests/Makefile.am,tests/collate-test,tests/perftest/Makefile.mk:
12043	  Generate the header listing the collated tests so that we can avoid
12044	  updating its timestamp when the contents are unchanged, such as in
12045	  the common case where you modify tests but don't add, remove, or
12046	  change the conditions on any tests.
12047
12048Mon Oct 20 10:01:56 GMT 2008  Olly Betts <olly@survex.com>
12049
12050	* examples/delve.cc: Use valuestream iterator to implement "-V<slot>".
12051
12052Mon Oct 20 02:19:09 GMT 2008  Olly Betts <olly@survex.com>
12053
12054	* backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h:
12055	  Remove unused members of MultiPostList: tname, collfreq_initialised,
12056	  collfreq, and termweight.
12057
12058Sun Oct 19 14:01:15 GMT 2008  Olly Betts <olly@survex.com>
12059
12060	* api/postingsource.cc,include/xapian/postingsource.h: Update
12061	  ValueWeightPostingSource to use a value stream iterator.
12062
12063Sun Oct 19 13:53:51 GMT 2008  Olly Betts <olly@survex.com>
12064
12065	* backends/database.cc: Make use of SlowValueList by default.
12066
12067Sun Oct 19 13:47:10 GMT 2008  Olly Betts <olly@survex.com>
12068
12069	* api/documentvaluelist.cc,api/documentvaluelist.h: Fix so that a
12070	  DocumentValueList starts before the first value.
12071
12072Sun Oct 19 13:09:39 GMT 2008  Olly Betts <olly@survex.com>
12073
12074	* api/omdatabase.cc,api/omdocument.cc: Use ValueIterator() instead of
12075	  ValueIterator(NULL).
12076
12077Sun Oct 19 11:15:15 GMT 2008  Olly Betts <olly@survex.com>
12078
12079	* NEWS: Update from ChangeLog.
12080
12081Sat Oct 18 01:31:25 GMT 2008  Olly Betts <olly@survex.com>
12082
12083	* NEWS: Update from ChangeLog.
12084
12085Fri Oct 17 15:54:57 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
12086
12087	* bin/xapian-compact.cc: Check that pq is not empty before calling
12088	  top() on it - if it's empty, we only have one database, so we can
12089	  use the code path which doesn't worry about merging tags.  Fixes
12090	  bug #305.
12091
12092Fri Oct 17 14:22:18 GMT 2008  Olly Betts <olly@survex.com>
12093
12094	* backends/chert/chert_valuelist.cc: Fix ChertValueList to start on
12095	  the right key.
12096
12097Fri Oct 17 14:14:14 GMT 2008  Olly Betts <olly@survex.com>
12098
12099	* include/xapian/database.h,include/xapian/document.h: Inline
12100	  ValueIterator end iterator as ValueIterator() rather than
12101	  ValueIterator(NULL).
12102	* api/valueiterator.cc: Need to call next() on a ValueList to get it
12103	  to the first position, so do this in ValueIterator's constructor.
12104	* api/valueiterator.cc,include/xapian/valueiterator.h: Add
12105	  ValueIterator::get_docid() method.
12106
12107Fri Oct 17 13:53:26 GMT 2008  Olly Betts <olly@survex.com>
12108
12109	* backends/slowvaluelist.cc,backends/slowvaluelist.h: Add missing
12110	  SlowValueList::get_valueno() method.
12111
12112Fri Oct 17 13:16:01 GMT 2008  Olly Betts <olly@survex.com>
12113
12114	* api/omdatabase.cc,include/xapian/database.h: Add
12115	  Database::valuestream_begin() and Database::valuestream_end() to
12116	  allow iterating over the values in a given slot for each document
12117	  in the database (untested so far).
12118
12119Thu Oct 16 13:20:26 GMT 2008  Olly Betts <olly@survex.com>
12120
12121	* backends/multi/multi_postlist.cc: Remove unused '#include <list>'
12122	  and uninformative comment.
12123
12124Thu Oct 16 12:47:00 GMT 2008  Olly Betts <olly@survex.com>
12125
12126	* api/omdocument.cc,include/xapian/document.h: Inline
12127	  Xapian::Document::values_end() into user code.
12128
12129Thu Oct 16 12:26:29 GMT 2008  Olly Betts <olly@survex.com>
12130
12131	* api/,backends/chert/chert_valuelist.cc,
12132	  backends/chert/chert_valuelist.h,common/document.h,
12133	  common/valuelist.h,include/Makefile.mk,include/xapian/derefwrapper.h,
12134	  include/xapian/termiterator.h,include/xapian/valueiterator.h:
12135	  Reimplement ValueIterator to have reference counted internals.  One
12136	  benefit is that Document::Internal no longer need its value_nos map
12137	  member.
12138
12139Thu Oct 16 11:22:13 GMT 2008  Olly Betts <olly@survex.com>
12140
12141	* backends/inmemory/inmemory_database.cc: Fix incorrect method name in
12142	  debug messages.
12143
12144Thu Oct 16 01:34:07 GMT 2008  Olly Betts <olly@survex.com>
12145
12146	* HACKING: Note preference for @ rather than \ to introduce doxygen
12147	  commands.
12148
12149Thu Oct 16 01:21:19 GMT 2008  Olly Betts <olly@survex.com>
12150
12151	* HACKING: Expand section on public/protected/private a little.
12152
12153Wed Oct 15 11:34:15 GMT 2008  Olly Betts <olly@survex.com>
12154
12155	* include/xapian/database.h: Use std::string() instead of "" as the
12156	  default value for std::string method parameters.
12157
12158Wed Oct 15 03:20:01 GMT 2008  Olly Betts <olly@survex.com>
12159
12160	* backends/Makefile.mk,backends/slowvaluelist.cc,
12161	  backends/slowvaluelist.h: Support for (slowly) iterating along a
12162	  value stream for backends which don't support streamed values
12163	  internally (currently unused).
12164
12165Tue Oct 14 11:43:42 GMT 2008  Olly Betts <olly@survex.com>
12166
12167	* api/postingsource.cc,backends/inmemory/inmemory_database.cc,
12168	  matcher/multimatch.cc: Database::get_document_lazily() now returns
12169	  NULL if the document isn't found for an inmemory database.
12170	* include/xapian/database.h: Document the return value better.
12171
12172Tue Oct 14 03:20:38 GMT 2008  Olly Betts <olly@survex.com>
12173
12174	* api/omdatabase.cc,api/postingsource.cc,include/xapian/database.h,
12175	  matcher/multimatch.cc: Add internal
12176	  Xapian::Database::get_document_lazily() method and use it in the
12177	  matcher and Xapian::PostingSource classes to avoid repeating the
12178	  same code lots of times.
12179
12180Mon Oct 13 23:38:34 GMT 2008  Olly Betts <olly@survex.com>
12181
12182	* HACKING: Rename "Miscellaneous Portability Issues" to "C++
12183	  Portability Issues", and add a subsection of that for "Miscellaneous
12184	  Portability Issues" with a new note about needing to terminate the
12185	  last line of a source file, and a new subsection heading "Header
12186	  Portability Issues" for all the header-related stuff.
12187
12188Sat Oct 11 12:19:38 GMT 2008  Olly Betts <olly@survex.com>
12189
12190	* tests/api_wrdb.cc: If the timer for the first test for bigoaddvalue
12191	  reports 0.0 seconds, skip the test as the timer doesn't have fine
12192	  enough granularity for this test to be useful (bug#300).
12193
12194Fri Oct 10 20:40:14 GMT 2008  Olly Betts <olly@survex.com>
12195
12196	* tests/api_wrdb.cc: Reuse XAPIAN_BIN_PATH to avoid hardcoding more
12197	  paths, and so this works in a debug build too.
12198
12199Fri Oct 10 17:52:53 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
12200
12201	* tests/api_wrdb.cc: Patch to use a different path in win32 build
12202	  to match the different place that the compiled xapian-check is
12203	  placed in.  Should fix bug #301.
12204
12205Thu Oct 09 05:20:32 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
12206
12207	* configure.ac: Change -Wstrict-overflow level to 1 - even level 2
12208	  causes a few warnings (notably in chert_table.cc) to appear with
12209	  GCC 4.3 which are unreasonably difficult to avoid.
12210
12211Thu Oct 09 05:04:49 GMT 2008  Olly Betts <olly@survex.com>
12212
12213	* HACKING,configure.ac: Raise autoconf requirement to 2.63.
12214
12215Wed Oct 08 14:52:03 GMT 2008  Olly Betts <olly@survex.com>
12216
12217	* docs/valueranges.rst: Fix typos in example code.
12218	* docs/valueranges.rst,tests/queryparsertest.cc: Drop superfluous
12219	  empty destructor from ValueRangeProcessor subclass.
12220
12221Wed Oct 08 14:00:04 GMT 2008  Olly Betts <olly@survex.com>
12222
12223	* common/valuelist.h: Add missing get_docid() method.
12224
12225Wed Oct 08 12:11:57 GMT 2008  Olly Betts <olly@survex.com>
12226
12227	* NEWS: Update from ChangeLog.
12228
12229Wed Oct 08 12:00:39 GMT 2008  Olly Betts <olly@survex.com>
12230
12231	* backends/Makefile.mk,backends/chert/,backends/database.cc,
12232	  backends/valuelist.cc,common/Makefile.mk,common/database.h,
12233	  common/valuelist.h,include/xapian/valueiterator.h: The start of
12234	  support for iterating along a value stream (currently unused).
12235
12236Tue Oct 07 10:19:48 GMT 2008  Olly Betts <olly@survex.com>
12237
12238	* configure.ac: Disable -Wconversion for now - it's not useful for
12239	  older GCC and is buggy in GCC 4.3.
12240
12241Tue Oct 07 04:53:41 GMT 2008  Olly Betts <olly@survex.com>
12242
12243	* matcher/queryoptimiser.h: Query::MatchAll no longer gives match
12244	  results ranked by increasing document length.
12245	* tests/api_db.cc: Extend matchall1 to be a regression test for this.
12246
12247Tue Oct 07 01:04:51 GMT 2008  Olly Betts <olly@survex.com>
12248
12249	* matcher/queryoptimiser.cc: Rewrite comment explaining the excess
12250	  precision fix.  Drop unnecessary brackets from return to minimise
12251	  the diff.
12252
12253Mon Oct 06 07:24:40 GMT 2008  Olly Betts <olly@survex.com>
12254
12255	* matcher/queryoptimiser.cc: Change the excess precision fix to pass
12256	  both values through "volatile double" rather than "float" on
12257	  platforms where this matters since the former gives better generated
12258	  code as well as more consistent results with other platforms.
12259
12260Mon Oct 06 07:24:07 GMT 2008  Olly Betts <olly@survex.com>
12261
12262	* tests/internaltest.cc: Fix comment typo.
12263
12264Mon Oct 06 02:46:39 GMT 2008  Olly Betts <olly@survex.com>
12265
12266	* api/editdistance.cc,api/editdistance.h,api/omdatabase.cc: Pass the
12267	  largest edit distance we currently care about into the edit distance
12268	  algorithm so it can terminate early once it knows the edit distance
12269	  exceeds this.  This shortcut is used quite a lot, but there's no
12270	  measurable speed-up in tests on the real world data I have to hand.
12271
12272Sun Oct 05 12:34:09 GMT 2008  Olly Betts <olly@survex.com>
12273
12274	* matcher/multimatch.cc: Adjust percent_factor instead of min_weight
12275	  so that we don't miss some cases, and make the adjustment actually
12276	  correspond with the adjustment in omenquire.cc.
12277
12278Wed Oct 01 14:11:49 GMT 2008  Olly Betts <olly@survex.com>
12279
12280	* backends/alltermslist.cc,common/alltermslist.h: We don't need an
12281	  explicit virtual dtor for AllTermsList as it is empty and
12282	  AllTermsList inherits from TermList which has one.
12283
12284Wed Oct 01 13:21:22 GMT 2008  Olly Betts <olly@survex.com>
12285
12286	* common/postlist.h,common/termlist.h: Fix comment typo.
12287
12288Wed Oct 01 00:12:02 GMT 2008  Olly Betts <olly@survex.com>
12289
12290	* bin/xapian-compact.cc: Add a comment for the previous fix.
12291
12292Tue Sep 30 22:41:39 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
12293
12294	* bin/xapian-compact.cc: Fix bug: if there are both valuestats and
12295	  metadata, don't overwrite the last metadata value with the first
12296	  valuestats tag.
12297
12298Tue Sep 30 20:31:34 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
12299
12300	* configure.ac: Set -Wstrict-overflow to 2 instead of 5, to avoid
12301	  unreasonable warnings under GCC 4.3.
12302
12303Tue Sep 30 09:45:22 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
12304
12305	* api/omdatabase.cc: Add missing include, to compile on GCC 4.3.0.
12306
12307Mon Sep 29 13:06:42 GMT 2008  Olly Betts <olly@survex.com>
12308
12309	* NEWS: Update from ChangeLog.
12310
12311Mon Sep 29 05:04:57 GMT 2008  Olly Betts <olly@survex.com>
12312
12313	* backends/chert/chert_version.cc: Add VERSIONFILE_SIZE_LITERAL and
12314	  use CompileTimeAssert() to ensure it matches the expression in
12315	  VERSIONFILE_SIZE.  It's very rare for the size to change (it's
12316	  happened once ever) and allows us to build the error string
12317	  literally at compile time.
12318
12319Sun Sep 28 15:13:11 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
12320
12321	* backends/chert/chert_values.cc: Fix bug in lazy update - ensure
12322	  that the document has loaded its values before deleting the old
12323	  one (previously, there was an assertion to this effect, but it
12324	  didn't actually compile, and was also incorrect).
12325	* tests/api_wrdb.cc: Check that replacing a document with itself
12326	  doesn't lose the values - regression test for the bug fixed by
12327	  this commit.
12328
12329Sun Sep 28 14:04:01 GMT 2008  Olly Betts <olly@survex.com>
12330
12331	* backends/chert/chert_values.cc: Fix bug in value updating -
12332	  modifyvalues1 now passes for chert.
12333
12334Sun Sep 28 12:15:14 GMT 2008  Olly Betts <olly@survex.com>
12335
12336	* tests/collate-test: Avoid perl warning when generating files which
12337	  don't already exist.
12338
12339Sat Sep 27 10:36:09 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
12340
12341	* tests/api_wrdb.cc: Add test "modifyvalues1" - regression test for
12342	  a bug in the streaming values implementation, and also a fairly
12343	  thorough test of adding and modifying values in databases.
12344
12345Fri Sep 26 19:12:23 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
12346
12347	* api/omdatabase.cc: Fix warning with gcc 4.2 about possible signed
12348	  overflow, by using an unsigned type for the total.
12349
12350Fri Sep 26 15:48:39 GMT 2008  Olly Betts <olly@survex.com>
12351
12352	* api/omdatabase.cc: Fixed version of: Avoid the relatively expensive
12353	  edit distance computation for a candidate spelling correction when
12354	  we can reject the candidate as less good than one we've already seen
12355	  by looking at the character frequency histograms.  In a test on
12356	  real-world data, this gave an 15% speed-up in queryparsing time
12357	  with FLAG_SPELLING_CORRECTION set.  The cheap check rejects 90%
12358	  of the words it handles (without the cheap check, the edit distance
12359	  check rejects 92%).
12360
12361Fri Sep 26 14:40:50 GMT 2008  Olly Betts <olly@survex.com>
12362
12363	* bin/xapian-check.cc: Check the structure of the value stream chunks.
12364
12365Fri Sep 26 12:21:32 GMT 2008  Olly Betts <olly@survex.com>
12366
12367	* tests/api_spelling.cc: Add a regression test for the bug my recently
12368	  added and reverted spelling optimisation introduced.
12369
12370Fri Sep 26 11:55:18 GMT 2008  Olly Betts <olly@survex.com>
12371
12372	* tests/Makefile.am,tests/api_spelling.cc,tests/api_wrdb.cc: Split the
12373	  spelling tests out into a separate file.
12374
12375Fri Sep 26 11:53:45 GMT 2008  Olly Betts <olly@survex.com>
12376
12377	* tests/api_unicode.cc: Capitalise brief file description.
12378
12379Fri Sep 26 11:31:46 GMT 2008  Olly Betts <olly@survex.com>
12380
12381	* backends/inmemory/inmemory_document.cc,
12382	  backends/inmemory/inmemory_document.h: New simpler InMemoryDocument
12383	  class with slightly reduced memory footprint, based on
12384	  RemoteDocument class.
12385
12386Fri Sep 26 10:36:02 GMT 2008  Olly Betts <olly@survex.com>
12387
12388	* backends/remote/remote-document.cc,backends/remote/remote-document.h,
12389	  common/document.h: Add new files for RemoteDocument class missed
12390	  from recent commit.  Pass parameter to set_all_values() by non-const
12391	  reference so we can just efficiently swap() the value maps rather
12392	  than copying.
12393
12394Fri Sep 26 10:31:21 GMT 2008  Olly Betts <olly@survex.com>
12395
12396	* api/omdocument.cc,common/document.h: Remove unused method
12397	  Xapian::Document::Index::get_all_values().
12398
12399Fri Sep 26 10:03:17 GMT 2008  Olly Betts <olly@survex.com>
12400
12401	* backends/remote/,common/document.h: Replace NetDocument with a new
12402	  simpler RemoteDocument class which just sets the values and data in
12403	  its Document::Internal base class.
12404
12405Fri Sep 26 06:21:08 GMT 2008  Olly Betts <olly@survex.com>
12406
12407	* backends/chert/chert_database.cc,backends/chert/chert_document.cc,
12408	  backends/chert/chert_document.h,common/document.h: Overhaul
12409	  ChertDocument:  Avoid having a reference-counted pointer to the
12410	  database in the subclass as well as the one now in the base class.
12411	  Also check the lazy flag before we create a ChertDocument object to
12412	  avoid a memory allocation in that code path.  And make the
12413	  now-simple constructor inline-able.
12414
12415Thu Sep 25 17:38:37 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
12416
12417	* Merge lazyupdate branch:
12418	* api/omdocument.cc,backends/chert/chert_database.cc,
12419	  backends/chert/chert_database.h,backends/chert/chert_values.cc,
12420	  backends/database.cc,common/database.h,common/document.h: Add a
12421	  shortcut for calling replace_document() with a document which was
12422	  just read from the database.  If the document terms were never
12423	  accessed, don't bother updating the termlist, postings and
12424	  position lists.  If the data was never accessed, don't bother
12425	  updating the data.  If the values were never accessed, don't
12426	  bother updating them.  Only fires if we know that the document
12427	  hasn't been modified (or deleted) since it was read from the
12428	  database, to ensure that the lazy access of the data doesn't have
12429	  a visible effect - we enforce this by keeping track of the last
12430	  document read with open_document(), and only using the shortcut
12431	  if this is the document passed to replace_document, and that
12432	  document ID hasn't been passed to replace_document or
12433	  delete_document since.
12434
12435	  Add a method Database::Internal::invalidate_doc_object() which is
12436	  called from the destructor of a document, so that we can reset
12437	  the pointer to modify_shortcut_document in ChertWritableDatabase
12438	  when this happens.
12439
12440	  Document::Internal now keeps a ref-count pointer to the database,
12441	  to ensure that the database is valid when invalidate_doc_object()
12442	  is called on it.
12443
12444Thu Sep 25 17:35:07 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
12445
12446	* Forward-port from branches/lazyupdate:
12447	* tests/api_wrdb.cc: Extend deldoc5 slightly, to check that the
12448	  DocNotFoundError for a deleted document is raised before the
12449	  flush, as well as after.  Also, test a few more cases which are
12450	  relevant in the lazyupdate scenario.
12451
12452Thu Sep 25 17:33:21 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
12453
12454	* Forward-port from branches/lazyupdate:
12455	* backends/chert/chert_document.cc,backends/chert/chert_document.h:
12456	  Check for existence of a document when opening it by searching
12457	  for the document length entry, rather than by reading the record
12458	  for the document.  Probably slightly slower if the record is
12459	  going to be accessed anyway, but much faster if it isn't (though
12460	  benchmarking of this is needed).
12461
12462Thu Sep 25 14:27:07 GMT 2008  Olly Betts <olly@survex.com>
12463
12464	* Merge valuestreams branch:
12465	* backends/chert/,bin/xapian-check.cc,bin/xapian-compact.cc,
12466	  docs/admin_notes.rst: Change the chert backend to store values in a
12467	  chunked stream for each value slot to make access more efficient.
12468	  The chunked streams and value stats are now stored in the postlist
12469	  table while the list of used value slots for each document is stored
12470	  in the termlist table, so we no longer need a special table for
12471	  values.
12472	* bin/xapian-check.cc,bin/xapian-check-flint.cc:  Don't stop checking
12473	  a table after an error in certain cases - instead increment the
12474	  error counter and try to continue checking from the next item.
12475
12476Thu Sep 25 13:50:15 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
12477
12478	* matcher/queryoptimiser.cc,tests/api_anydb.cc: Apply fix for
12479	  platforms with excess precision - this fixes a potential segfault
12480	  on x86 architecture when doing OP_ELITE_SET queries.  Also, add a
12481	  regression test.
12482
12483Thu Sep 25 03:38:24 GMT 2008  Olly Betts <olly@survex.com>
12484
12485	* examples/copydatabase.cc: Also copy user metadata.
12486
12487Wed Sep 24 17:27:33 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
12488
12489	* api/omdatabase.cc: Back out, for now, Olly's change from
12490	  yesterday to avoid some edit distance checks; counting the
12491	  frequency of letters doesn't take into account the number of
12492	  substitutions, so spelling corrections which involve
12493	  substitutions are missed.
12494
12495Wed Sep 24 12:48:39 GMT 2008  Olly Betts <olly@survex.com>
12496
12497	* unicode/tclUniData.cc: Update to Unicode 5.1 (bug#265).
12498	* tests/api_unicode.cc: Add tests for some of the changes
12499	  in Unicode 5.1.
12500
12501Tue Sep 23 14:58:54 GMT 2008  Olly Betts <olly@survex.com>
12502
12503	* api/omdatabase.cc: Avoid the relatively expensive edit distance
12504	  computation for a candidate spelling correction when we can reject
12505	  the candidate as less good than one we've already seen by looking
12506	  at the character frequency histograms.
12507
12508Mon Sep 22 09:21:55 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
12509
12510	* Forward-port from branches/lazyupdate:
12511	* backends/chert/chert_postlist.cc: Fix return value of jump_to()
12512	  to be true only if the exact item specified was found in the
12513	  doclen list (previously also returned true if an item following
12514	  the item being searched for was found in the chunk).  Note that
12515	  there is no test for this fix included in this forward-port, but
12516	  an implicit test is included in the lazyupdate branch, and will
12517	  be here when that branch is merged to trunk.
12518
12519Mon Sep 22 07:58:06 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
12520
12521	* HACKING: Mention that setting XAPIAN_DEBUG_LOG to '-' has a
12522	  special effect.
12523
12524Mon Sep 22 06:27:23 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
12525
12526	* docs/remote_protocol.html: Update documentation of remote
12527	  protocol to mention UUID being passed in REPLY_GREETING and
12528	  REPLY_UPDATE (added in revision [11369]).
12529
12530Thu Sep 18 11:52:05 GMT 2008  Olly Betts <olly@survex.com>
12531
12532	* tests/api_wrdb.cc: Fix cursordelbug1 to hopefully work on Microsoft
12533	  Windows.
12534
12535Thu Sep 18 11:50:04 GMT 2008  Olly Betts <olly@survex.com>
12536
12537	* backends/chert/chert_cursor.cc,backends/chert/chert_table.cc,
12538	  backends/chert/chert_table.h: More assertions and improved debug
12539	  logging coverage.  Use rare() to mark a couple of checks which
12540	  almost always have the same result.  Make an assertion about the
12541	  level of a Btree block into an always-compiled-in check which throws
12542	  an exception, as this isn't a sanity check of internal state.
12543
12544Thu Sep 18 05:26:27 GMT 2008  Olly Betts <olly@survex.com>
12545
12546	* backends/chert/chert_postlist.cc,backends/flint/flint_postlist.cc:
12547	  Fix comment describing format of postlist chunk (collection freq
12548	  was missing).
12549
12550Wed Sep 17 12:38:51 GMT 2008  Olly Betts <olly@survex.com>
12551
12552	* HACKING: Fix typos in XAPIAN_DEBUG_FLAGS documentation.
12553
12554Sat Sep 13 11:14:02 GMT 2008  Olly Betts <olly@survex.com>
12555
12556	* HACKING,configure.ac: Upgrade libtool requirement to 2.2.6a.
12557
12558Fri Sep 05 11:40:55 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
12559
12560	* tests/api_replicate.cc: Test that the UUID of a replica is equal
12561	  to the UUID of the original database.
12562
12563Fri Sep 05 09:38:35 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
12564
12565	* include/xapian/database.h,api/omdatabase.cc: Add
12566	  Database.get_uuid() which returns a unique identifier for the
12567	  database.
12568	* tests/api_anydb.cc: Add test uuid1 to test basic get_uuid()
12569	  behaviour.
12570	* common/database.h: Extend documentation comment for get_uuid() a
12571	  bit.
12572	* backends/remote/remote-database.cc,common/remote-database.h,
12573	  net/remoteserver.cc: Add support for get_uuid() to remote
12574	  databases.
12575
12576Thu Sep 04 11:37:54 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
12577
12578	* tests/Makefile.am: Remove accidentally committed reference to
12579	  apitest_sortconsist.txt, which only exists in my local checkout
12580	  and in a patch in ticket #216.
12581
12582Thu Sep 04 04:39:32 GMT 2008  Olly Betts <olly@survex.com>
12583
12584	* HACKING,configure.ac: We now hard require autoconf 2.62, so it's
12585	  safe to use AC_TYPE_SSIZE_T.  (bug#135)
12586
12587Thu Sep 04 04:26:59 GMT 2008  Olly Betts <olly@survex.com>
12588
12589	* configure.ac: Set version to 1.1.0.
12590
12591Thu Sep 04 03:32:06 GMT 2008  Olly Betts <olly@survex.com>
12592
12593	* AUTHORS,NEWS,configure.ac: Sync with 1.0.8.
12594
12595Wed Sep 03 15:23:54 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
12596
12597	* tests/Makefile.am,tests/api_percentages.cc: Add new test file for
12598	  tests related to percentage weights (there are a few around which
12599	  could be moved here, and there's another one in the patch in
12600	  ticket #216).  Add test in this file which uses a PostingSource
12601	  with carefully constructed weights to check the rounding
12602	  behaviour for percentage cutoffs.
12603
12604Wed Sep 03 07:58:29 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
12605
12606	* matcher/multimatch.cc: Adjust min_weight values calculated for
12607	  percent_cutoff in the same manner as in omenquire.cc, to allow
12608	  for excess precision in the same way.
12609
12610Wed Sep 03 07:15:49 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
12611
12612	* backends/chert/chert_version.cc: Display numerical value of
12613	  correct size of chert version file in error message if size is
12614	  incorrect, rather than a complicated expression giving the
12615	  correct size.
12616
12617Tue Sep 02 10:41:46 GMT 2008  Olly Betts <olly@survex.com>
12618
12619	* matcher/multimatch.cc: Remove FIXME for pushing check_at_least
12620	  handling into the remote backend, which was done for 1.0.2.
12621
12622Tue Sep 02 06:48:50 GMT 2008  Olly Betts <olly@survex.com>
12623
12624	* bin/xapian-inspect.cc: Show the help message on start-up.  Correct
12625	  the alias for next from ' ' to ''.  Avoid reading outside of input
12626	  string when it is empty.  Bug#286.
12627
12628Tue Sep 02 04:19:34 GMT 2008  Olly Betts <olly@survex.com>
12629
12630	* tests/stemtest.cc: Handle the new supplemental stemming data.
12631
12632Tue Sep 02 03:05:10 GMT 2008  Olly Betts <olly@survex.com>
12633
12634	* tests/stemtest.cc: Update for new xapian-data directory structure.
12635
12636Tue Aug 26 09:26:49 GMT 2008  Olly Betts <olly@survex.com>
12637
12638	* common/debuglog.h: Handle logging from ctor, dtor, and
12639	  void-returning functions/methods with a separate class
12640	  (DebugLogFuncVoid).  Fix outdent handling for non-logged message
12641	  types.  Fix detection of active exceptions to check if the exception
12642	  was already active when we entered the current function.  This
12643	  probably means that "RETURN_VOID" is no longer needed, so comment
12644	  it out.
12645
12646Tue Aug 26 07:34:16 GMT 2008  Olly Betts <olly@survex.com>
12647
12648	* HACKING: Document explicitly that XAPIAN_DEBUG_FLAGS=- gives you all
12649	  debug messages.
12650
12651Tue Aug 26 00:57:32 GMT 2008  Olly Betts <olly@survex.com>
12652
12653	* bin/xapian-check.cc: Fix reversed check for whether a table is in a
12654	  flint or chert database.
12655
12656Mon Aug 25 12:03:36 GMT 2008  Olly Betts <olly@survex.com>
12657
12658	* backends/flint/flint_termlisttable.cc: Remove FIXME about dropping
12659	  something if we make an incompatible database version bump - that's
12660	  not going to happen now for flint.  Avoid packing doclen for an
12661	  empty termlist.  Add explicit cast for char for prev_term.size().
12662
12663Sun Aug 24 11:42:21 GMT 2008  Olly Betts <olly@survex.com>
12664
12665	* common/Makefile.mk: Fix build with --enable-log=profile.
12666
12667Sun Aug 24 12:41:22 BST 2008  Olly Betts <olly@survex.com>
12668
12669	* HACKING: Add a bit of discussion of --enable-log=profile.  Tweak
12670	  formatting in one place and wording in another.
12671
12672Sat Aug 23 00:48:40 GMT 2008  Olly Betts <olly@survex.com>
12673
12674	* tests/collate-test: Only update files which have changed to avoid
12675	  rebuilding all apitest's source files when only one has changed.
12676
12677Fri Aug 22 01:02:57 GMT 2008  Olly Betts <olly@survex.com>
12678
12679	* queryparser/queryparser.lt: Merge upstream "Check-in Number: 5571"
12680	  (no code changes in our modified version).
12681
12682Fri Aug 22 01:00:15 GMT 2008  Olly Betts <olly@survex.com>
12683
12684	* queryparser/lemon.c: Fix comment typo.
12685
12686Fri Aug 22 00:55:26 GMT 2008  Olly Betts <olly@survex.com>
12687
12688	* queryparser/lemon.c: Merge upstream "Check-in Number: 5564".
12689
12690Fri Aug 22 00:44:14 GMT 2008  Olly Betts <olly@survex.com>
12691
12692	* queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream
12693	  "Check-in Number: 5488" and "5563".
12694	* queryparser/queryparser.lt: Fix compilation for previous merge
12695	  (I fixed it in the generated file before!)
12696
12697Fri Aug 22 00:07:22 GMT 2008  Olly Betts <olly@survex.com>
12698
12699	* queryparser/queryparser.lt: Merge upstream "Check-in Number: 5472".
12700
12701Thu Aug 21 04:15:41 GMT 2008  Olly Betts <olly@survex.com>
12702
12703	* configure.ac: Remove code which checks for --enable-debug and
12704	  --enable-debug-verbose (deprecated since 1.0.0) and gives an error
12705	  pointing to the replacements.
12706	* docs/deprecation.rst: Document the replacements here.
12707
12708Thu Aug 21 00:57:52 GMT 2008  Olly Betts <olly@survex.com>
12709
12710	* common/omdebug.h: Remove DEBUGLINE completely.
12711	* backends/flint/flint_table.cc,backends/inmemory/inmemory_database.cc,
12712	  queryparser/queryparser.lt: Replace remaining DEBUGLINE uses.
12713	* backends/inmemory/inmemory_database.cc: Don't need <list>.
12714
12715Thu Aug 21 00:37:08 GMT 2008  Olly Betts <olly@survex.com>
12716
12717	* common/debuglog.h,common/omdebug.h: Define LOGLINE, etc to no-op
12718	  versions when XAPIAN_DEBUG_VERBOSE isn't defined.
12719	* api/,backends/chert/,backends/flint/,
12720	  backends/inmemory/inmemory_database.cc,
12721	  backends/multi/multi_postlist.cc,backends/multi/multi_termlist.cc,
12722	  expand/esetinternal.cc,expand/expandweight.cc,matcher/,
12723	  net/remoteconnection.cc: Use LOGLINE or LOGVALUE instead of
12724	  DEBUGLINE.
12725
12726Wed Aug 20 13:33:56 GMT 2008  Olly Betts <olly@survex.com>
12727
12728	* common/debuglog.h: Don't need omtime.h.
12729
12730Wed Aug 20 06:11:31 GMT 2008  Olly Betts <olly@survex.com>
12731
12732	* examples/quest.cc: Fix to catch QueryParserError instead of const
12733	  char * which Xapian < 1.0.0 threw instead.
12734
12735Wed Aug 20 05:50:26 GMT 2008  Olly Betts <olly@survex.com>
12736
12737	* docs/valueranges.rst: Expand on some sections.
12738
12739Wed Aug 20 04:43:07 GMT 2008  Olly Betts <olly@survex.com>
12740
12741	* tests/api_nodb.cc: Clarify in comments that this affected 1.0.7.
12742
12743Wed Aug 20 04:33:22 GMT 2008  Olly Betts <olly@survex.com>
12744
12745	* api/omenquire.cc: Simplify RSet::remove_document() and
12746	  RSet::contains() a little.  Fix output of RSet::get_description().
12747	* tests/api_nodb.cc: Add regression test rset4 for
12748	  RSet::get_description() fix.
12749
12750Wed Aug 20 02:45:04 GMT 2008  Olly Betts <olly@survex.com>
12751
12752	* common/omdebug.h: Remove DebugMsg() macro which is no longer used.
12753
12754Tue Aug 12 05:03:34 GMT 2008  Olly Betts <olly@survex.com>
12755
12756	* backends/flint/flint_table.cc,backends/flint/flint_table.h:
12757	  Backport elimination of find_tag() to flint.
12758
12759Tue Aug 12 04:10:41 GMT 2008  Olly Betts <olly@survex.com>
12760
12761	* backends/chert/chert_table.cc,backends/chert/chert_table.h:
12762	  ChertTable::find_tag() is only used by ChertTable::get_exact_entry()
12763	  so remove the former folding its code into the latter.
12764
12765Mon Aug 11 03:06:10 GMT 2008  Olly Betts <olly@survex.com>
12766
12767	* backends/chert/chert_spelling.h,backends/chert/chert_synonym.h:
12768	  Remove random closing bracket from a couple of comments.
12769
12770Mon Aug 11 03:03:19 GMT 2008  Olly Betts <olly@survex.com>
12771
12772	* api/postingsource.cc: Always initialise max_value in the constructor
12773	  body for consistency.
12774
12775Sat Aug 09 09:56:06 GMT 2008  Olly Betts <olly@survex.com>
12776
12777	* tests/api_valuestats.cc: Add valuestats4 as a regression test for
12778	  the previous fix.
12779
12780Sat Aug 09 06:10:49 GMT 2008  Olly Betts <olly@survex.com>
12781
12782	* backends/chert/chert_database.cc,backends/chert/chert_database.h:
12783	  Write cached valuestats changes to disk when we automatically flush
12784	  changes due to the number of documents indexed.
12785
12786Wed Aug 06 11:27:29 GMT 2008  Olly Betts <olly@survex.com>
12787
12788	* api/omdocument.cc,backends/chert/chert_document.cc,
12789	  backends/chert/chert_document.h,backends/flint/flint_document.cc,
12790	  backends/flint/flint_document.h,
12791	  backends/inmemory/inmemory_document.cc,
12792	  backends/inmemory/inmemory_document.h,
12793	  backends/remote/net_document.cc,backends/remote/net_document.h,
12794	  common/document.h: Change do_get_all_values() to pass a reference
12795	  to the std::map to return the result in rather than returning the
12796	  std::map.
12797
12798Wed Aug 06 07:39:08 GMT 2008  Olly Betts <olly@survex.com>
12799
12800	* docs/replication.rst: Adding missing (C) for new section addded
12801	  recently.
12802
12803Wed Aug 06 06:27:59 GMT 2008  Olly Betts <olly@survex.com>
12804
12805	* backends/alltermslist.cc,backends/chert/,backends/flint/,
12806	  backends/inmemory/inmemory_alltermslist.cc,
12807	  backends/inmemory/inmemory_alltermslist.h,
12808	  backends/multi/multi_alltermslist.cc,common/alltermslist.h,
12809	  common/multialltermslist.h: Add a default "not implemented"
12810	  implementation of AllTermsList::get_approx_size() and remove the
12811	  "not implemented" versions in all the subclasses.  Remove empty
12812	  destructors for ChertSpellingTermList, and FlintSpellingTermList.
12813	* api/maptermlist.h,api/omdocument.cc: MapTermList::get_approx_size()
12814	  should never be used, so make it "Assert(false); return 0;".
12815
12816Wed Aug 06 02:24:48 GMT 2008  Olly Betts <olly@survex.com>
12817
12818	* api/omdatabase.cc,backends/multi/multi_alltermslist.cc,
12819	  common/multialltermslist.h: Reimplement MultiAllTermsList to use a
12820	  heap rather than linearly scanning - operations during iteration
12821	  should now be O(log(n)) rather than O(n) where n is the number of
12822	  databases.
12823
12824Tue Aug 05 23:50:19 GMT 2008  Olly Betts <olly@survex.com>
12825
12826	* tests/Makefile.am: Fix "make clean" to remove cached databases again
12827	  and "make check" to remove cached databases like the previous change
12828	  aimed to do.
12829
12830Tue Aug 05 23:48:52 GMT 2008  Olly Betts <olly@survex.com>
12831
12832	* tests/api_db.cc: Use TEST_EQUAL(a, b) rather than TEST(a == b).
12833
12834Tue Aug 05 12:44:58 GMT 2008  Olly Betts <olly@survex.com>
12835
12836	* common/alltermslist.h: Fix parameter name in doxygen comment.
12837
12838Tue Aug 05 06:28:15 GMT 2008  Olly Betts <olly@survex.com>
12839
12840	* backends/chert/chert_database.cc,backends/flint/flint_database.cc:
12841	  Don't generate a changeset file for the first revision of a database
12842	  (since we might as well just send the whole database) - addresses
12843	  part of bug#278.  Clean up exceptions to pass errno in the errno
12844	  parameter rather than incorporating strerror(errno) in the message
12845	  parameter.
12846
12847Tue Aug 05 06:00:11 GMT 2008  Olly Betts <olly@survex.com>
12848
12849	* tests/api_replicate.cc: Remove "sleep(1);" from testcase replicate1
12850	  which is no longer required now we generate proper UUIDs.
12851
12852Tue Aug 05 03:07:11 GMT 2008  Olly Betts <olly@survex.com>
12853
12854	* api/replication.cc,include/xapian/replication.h: Remove
12855	  DatabaseReplica::get_parameter() and set_parameter() as they're no
12856	  longer used for storing the database UUID, and Richard said the
12857	  thinking behind wanting them was "flawed".
12858
12859Tue Aug 05 02:03:24 GMT 2008  Olly Betts <olly@survex.com>
12860
12861	* backends/chert/chert_version.cc: Comment tweak.
12862
12863Tue Aug 05 02:02:29 GMT 2008  Olly Betts <olly@survex.com>
12864
12865	* api/replication.cc,backends/flint/flint_database.cc,common/utils.cc,
12866	  common/utils.h: Use the UUID stored by the backend rather than
12867	  storing it ourselves as a database replica parameter.
12868
12869Mon Aug 04 14:58:21 GMT 2008  Olly Betts <olly@survex.com>
12870
12871	* backends/flint/flint_database.cc,backends/flint/flint_version.cc,
12872	  backends/flint/flint_version.h: Generate a UUID when a new flint
12873	  database is created, and lazily generate one for existing flint
12874	  databases which don't have one.  Store the UUID in a new "uuid"
12875	  file in the database directory to avoid having to change the
12876	  flint database format incompatibly.
12877
12878Mon Aug 04 14:13:53 GMT 2008  Olly Betts <olly@survex.com>
12879
12880	* backends/chert/chert_database.cc,backends/chert/chert_version.cc,
12881	  backends/chert/chert_version.h,configure.ac: Generate a UUID when
12882	  a chert database is created, and store it in the version file.
12883
12884Mon Aug 04 12:16:54 GMT 2008  Olly Betts <olly@survex.com>
12885
12886	* backends/chert/chert_version.cc: Make exception messages more
12887	  consistent.
12888
12889Mon Aug 04 12:15:14 GMT 2008  Olly Betts <olly@survex.com>
12890
12891	* backends/chert/chert_database.cc,backends/chert/chert_version.cc,
12892	  backends/chert/chert_version.h: Remove the code to handle upgrading
12893	  flint versions >= 200704230 and < 200709120 as it's just dead code
12894	  for chert.
12895
12896Sun Aug 03 14:34:31 GMT 2008  Olly Betts <olly@survex.com>
12897
12898	* api/replication.cc: Track the replica numbers using an int rather
12899	  than two strings.  Eliminate two racey uses of file_exists().
12900
12901Sun Aug 03 11:37:06 GMT 2008  Olly Betts <olly@survex.com>
12902
12903	* docs/replication.rst: Add section on backend support.  Make FIXME a
12904	  comment.  Fix erroneous reference to '"-h" parameter'.
12905
12906Sun Aug 03 11:28:27 GMT 2008  Olly Betts <olly@survex.com>
12907
12908	* api/replication.cc,tests/harness/testrunner.cc: Make replication
12909	  work for the chert backend.
12910
12911Sat Aug 02 16:47:04 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
12912
12913	* include/xapian/enquire.h: Correct documentation comment (iterator
12914	  doesn't return terms, it returns mset items).
12915
12916Sat Aug 02 14:16:24 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
12917
12918	* docs/admin_notes.rst: Fix a typo.
12919
12920Sat Aug 02 14:06:37 GMT 2008  Olly Betts <olly@survex.com>
12921
12922	* backends/chert/chert_cursor.cc,backends/flint/flint_cursor.cc:
12923	  Fix comment typo in previous commit.
12924
12925Sat Aug 02 13:04:05 GMT 2008  Olly Betts <olly@survex.com>
12926
12927	* backends/chert/chert_cursor.cc,backends/flint/flint_cursor.cc: Fix
12928	  FlintCursor::del() and ChertCursor::del() to leave the cursor on the
12929	  next key when iterating over the unflushed revision (previously the
12930	  cursor would end up an extra key along in this case).  (Bug#287)
12931	* tests/api_wrdb.cc: Add regression test cursordelbug1.
12932
12933Sat Aug 02 05:09:38 GMT 2008  Olly Betts <olly@survex.com>
12934
12935	* api/replication.cc,common/utils.cc,common/utils.h: Change
12936	  removedir() to just return if passed a non-existent path and
12937	  document this.  Make use of this to avoid having to call
12938	  dir_exists() before remove_dir().
12939
12940Sat Aug 02 04:43:45 GMT 2008  Olly Betts <olly@survex.com>
12941
12942	* tests/api_db.cc,tests/apitest.cc: Make use of new
12943	  BackendManager::get_database_path() to eliminate knowledge of
12944	  BackendManagerFlint's implementation from test stubdb1.  Put the
12945	  stubdb files in a .stub subdirectory and don't remove them after
12946	  each test to aid debugging failing tests.  Also now run stubdb tests
12947	  under chert and multi backends.  Add more stubdb tests for the
12948	  recently added features.
12949
12950Sat Aug 02 04:39:08 GMT 2008  Olly Betts <olly@survex.com>
12951
12952	* tests/harness/: Adjust the BackendManager interface to reduce code
12953	  duplication in subclasses - for backends where the concept of a
12954	  path to the database makes sense, we now support a
12955	  get_database_path() method and use this in the default
12956	  implementation of get_database() in the base class.
12957
12958Sat Aug 02 04:36:48 GMT 2008  Olly Betts <olly@survex.com>
12959
12960	* tests/apitest.h: Use std::string() in preference to "".
12961
12962Sat Aug 02 04:35:13 GMT 2008  Olly Betts <olly@survex.com>
12963
12964	* backends/dbfactory.cc: Fix handling of new "inmemory" type in stub
12965	  databases.
12966
12967Sat Aug 02 01:49:35 GMT 2008  Olly Betts <olly@survex.com>
12968
12969	* tests/Makefile.am: Remove the cached test databases in before
12970	  running the testsuite by making check-local do the same as
12971	  clean-local.
12972
12973Sat Aug 02 01:42:36 GMT 2008  Olly Betts <olly@survex.com>
12974
12975	* backends/dbfactory.cc: Add support for "inmemory" to stub database
12976	  files (it's useful now they can be writable).  Don't just ignore
12977	  lines with no spaces in in stub database files.
12978
12979Thu Jul 31 13:13:30 GMT 2008  Olly Betts <olly@survex.com>
12980
12981	* backends/Makefile.mk,backends/database.cc,backends/dbfactory.cc,
12982	  common/database.h,include/xapian/dbfactory.h: Add new
12983	  Auto::open_stub() overload which opens a stub database file
12984	  containing a single entry as a WritableDatabase.  Move the
12985	  non-remote database factory API functions from backends/database.cc
12986	  to new file backends/dbfactory.cc, leaving the former solely for
12987	  methods of Database::Internal.  A stub database file is now allowed
12988	  to contain no database entries, which results in an empty Database
12989	  object (this avoids user code having to special case to handle "0 or
12990	  more" databases).
12991	* tests/api_nodb.cc: Tidy up #include directives.  Enhance nosuchdb1
12992	  to check that we get a reasonable error message - previously we
12993	  got "Couldn't detect type of database".
12994	* include/xapian/dbfactory.h: Improve doxygen comment for
12995	  InMemory::open().
12996
12997Thu Jul 31 09:36:41 GMT 2008  Olly Betts <olly@survex.com>
12998
12999	* tests/api_replicate.cc: This is a new file, so use <cstdlib> rather
13000	  than <stdlib.h>.
13001
13002Wed Jul 30 23:10:19 GMT 2008  Olly Betts <olly@survex.com>
13003
13004	* backends/database.cc: Bad lines in a stub file were being ignored
13005	  after we'd seen a good entry.
13006	* tests/api_db.cc: Add regression test.
13007
13008Wed Jul 30 14:42:04 GMT 2008  Olly Betts <olly@survex.com>
13009
13010	* generate-exceptions.in: Use std::string() in preference to "".
13011
13012Tue Jul 29 23:55:21 GMT 2008  Olly Betts <olly@survex.com>
13013
13014	* AUTHORS: Add Henrik Brix Andersen.
13015
13016Tue Jul 22 06:01:44 GMT 2008  Olly Betts <olly@survex.com>
13017
13018	* backends/flint/flint_table.cc,backends/flint/flint_table.h:
13019	  Eliminate other_base_letter member of FlintTable - its value can
13020	  always be easily determined from base_letter.
13021
13022Mon Jul 21 12:33:54 GMT 2008  Olly Betts <olly@survex.com>
13023
13024	* xapian-config.in: Add bug report URL to xapian-config --help output.
13025
13026Mon Jul 21 11:55:18 GMT 2008  Olly Betts <olly@survex.com>
13027
13028	* configure.ac: Put the bug report URL as the third parameter to
13029	  AC_INIT.  Add proper m4 quoting in a few places (nowhere that
13030	  should actually change behaviour).
13031
13032Mon Jul 21 01:03:12 GMT 2008  Olly Betts <olly@survex.com>
13033
13034	* tests/apitest.cc,tests/harness/testsuite.cc,
13035	  tests/harness/testsuite.h: Report subtotals per backend, rather than
13036	  per testgroup per backend to make the output much clearer to scan.
13037
13038Mon Jul 21 00:36:07 GMT 2008  Olly Betts <olly@survex.com>
13039
13040	* tests/apitest.cc: Use startswith().
13041
13042Sun Jul 20 14:16:18 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13043
13044	* tests/harness/testsuite.h: Add missing "iomanip" header needed
13045	  for setprecision calls.
13046
13047Sun Jul 20 11:35:35 GMT 2008  Olly Betts <olly@survex.com>
13048
13049	* include/xapian/enquire.h,include/xapian/matchspy.h,
13050	  include/xapian/valueiterator.h: Remove explicit empty non-virtual
13051	  destructors since the compiler will create them by default anyway.
13052
13053Sun Jul 20 10:18:52 GMT 2008  Olly Betts <olly@survex.com>
13054
13055	* NEWS: Update from ChangeLog.
13056
13057Sun Jul 20 10:09:36 GMT 2008  Olly Betts <olly@survex.com>
13058
13059	* Forward-port change from branches/1.0:
13060	* api/omenquire.cc: Fix percentage calculation to cope with excess
13061	  precision on x86.  Fix method name for convert_to_percent_internal
13062	  in debug logging.
13063
13064Sun Jul 20 09:13:32 GMT 2008  Olly Betts <olly@survex.com>
13065
13066	* backends/flint/,bin/xapian-check-flint.cc,bin/xapian-check-flint.h,
13067	  bin/xapian-compact.cc: Store the tablename in FlintTable as a const
13068	  char * - it's a constant string and std::string adds a needless
13069	  space overhead.
13070
13071Sun Jul 20 09:10:49 GMT 2008  Olly Betts <olly@survex.com>
13072
13073	* bin/xapian-check.cc: Follow-on fix for last change - we need to use
13074	  strcmp() to compare C strings.
13075
13076Sun Jul 20 07:09:38 GMT 2008  Olly Betts <olly@survex.com>
13077
13078	* backends/chert/,bin/xapian-check.cc: Store the tablename in
13079	  ChertTable as a const char * - it's a constant string and
13080	  std::string adds a needless space overhead.
13081
13082Sat Jul 19 14:19:58 GMT 2008  Olly Betts <olly@survex.com>
13083
13084	* backends/chert/chert_database.cc,backends/chert/chert_values.cc,
13085	  backends/chert/chert_values.h: Fix WritableDatabase::add_document()
13086	  and replace_document() not to be O(n*n) in the number of values in
13087	  the new document.
13088	* backends/flint/flint_database.cc,backends/flint/flint_values.cc,
13089	  backends/flint/flint_values.h: Backport fix to flint.
13090	* tests/api_wrdb.cc: Add testcase bigoaddvalue to make sure we don't
13091	  regress to O(n*n) (or worse!)
13092
13093Fri Jul 18 13:24:43 GMT 2008  Olly Betts <olly@survex.com>
13094
13095	* tests/api_wrdb.cc: Rewrite lazytablebug1 testcase to avoid having
13096	  to run xapian-compact.
13097
13098Fri Jul 18 11:59:42 GMT 2008  Olly Betts <olly@survex.com>
13099
13100	* backends/chert/chert_table.cc: Fix handling of a table created
13101	  lazily after the database has had commits, and which is then
13102	  cursored while still in sequential mode.
13103	* backends/flint/flint_table.cc: Backport fix to flint.
13104	* tests/api_wrdb.cc: Add testcase lazytablebug1.
13105
13106Fri Jul 18 02:52:55 GMT 2008  Olly Betts <olly@survex.com>
13107
13108	* tests/api_wrdb.cc: Enable test crashrecovery1 for chert.  Finish off
13109	  unfinished comment.
13110
13111Fri Jul 18 02:38:22 GMT 2008  Olly Betts <olly@survex.com>
13112
13113	* tests/api_wrdb.cc,tests/harness/testrunner.cc,
13114	  tests/harness/testrunner.h: Add "synonyms" test backend property
13115	  and use it to decide where to run synonym tests so they get run on
13116	  chert too.  Move virtual TestRunner destructor out of the header.
13117	  Don't skip all the spelling tests on chert.
13118
13119Fri Jul 18 00:56:17 GMT 2008  Olly Betts <olly@survex.com>
13120
13121	* tests/api_wrdb.cc: Eliminate literal top-bit-set characters.
13122
13123Fri Jul 18 00:40:06 GMT 2008  Olly Betts <olly@survex.com>
13124
13125	* backends/chert/chert_values.cc: Kill superfluous else tokens.
13126
13127Thu Jul 17 13:00:55 GMT 2008  Olly Betts <olly@survex.com>
13128
13129	* backends/chert/chert_table.cc,backends/chert/chert_table.h:
13130	  Eliminate other_base_letter member of ChertTable - its value can
13131	  always be easily determined from base_letter.
13132
13133Thu Jul 17 12:24:19 GMT 2008  Olly Betts <olly@survex.com>
13134
13135	* backends/chert/chert_database.cc: Add space after catch for
13136	  consistency.
13137
13138Thu Jul 17 11:51:57 GMT 2008  Olly Betts <olly@survex.com>
13139
13140	* examples/copydatabase.cc: Use C++ forms of C headers.  Only treat
13141	  '\' as a directory separator on platforms where it is.  Update
13142	  counter every 13 counting up to the end so that the digits all
13143	  "rotate" and the counter ends up on the exact total.
13144
13145Wed Jul 16 10:10:32 GMT 2008  Olly Betts <olly@survex.com>
13146
13147	* tests/perftest/perftest.cc: Use uname() or gethostname() to get the
13148	  hostname on Unix, rather than piping output from uname -n.  Use
13149	  startswith() where appropriate.  Prefer resize() and erase() to
13150	  assigning a string a substring of itself.  Make internal functions
13151	  static.  Prefer string() to "".  Fold sed | sed and grep | sed into
13152	  single sed invocations.
13153
13154Wed Jul 16 05:16:00 GMT 2008  Olly Betts <olly@survex.com>
13155
13156	* queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream
13157	  "Check-in Number: 5404" and "5405".
13158
13159Wed Jul 16 04:48:45 GMT 2008  Olly Betts <olly@survex.com>
13160
13161	* NEWS: Sync with 1.0.7 release.  Start to clean up ChangeLog entry
13162	  pile.
13163
13164Mon Jul 14 05:13:55 GMT 2008  Olly Betts <olly@survex.com>
13165
13166	* queryparser/lemon.c: Fix a typo, remove "\n" from the end of
13167	  ErrorMsg() calls since it will get stripped anyway, and escape
13168	  literal '%' in ErrorMsg() third arguments.
13169
13170Sun Jul 13 13:04:58 GMT 2008  Olly Betts <olly@survex.com>
13171
13172	* queryparser/lemon.c: Update note of upstream version we're synced
13173	  against.
13174
13175Sun Jul 13 12:56:58 GMT 2008  Olly Betts <olly@survex.com>
13176
13177	* queryparser/lemon.c: Tweak previous merged patch so that we still
13178	  get #line directives for code in %include directives.
13179
13180Sun Jul 13 12:54:03 GMT 2008  Olly Betts <olly@survex.com>
13181
13182	* queryparser/lemon.c: Merge upstream "Check-in Number: 5335".
13183	  Reduces the size of the stripped object file for
13184	  queryparser_internal.cc by about 0.5%.
13185
13186Sun Jul 13 12:32:06 GMT 2008  Olly Betts <olly@survex.com>
13187
13188	* queryparser/lemon.c: Fix typo in comment.
13189
13190Sun Jul 13 12:30:38 GMT 2008  Olly Betts <olly@survex.com>
13191
13192	* queryparser/lemon.c: Merge upstream "Check-in Number: 5334".  No
13193	  change to the generated code in our case.
13194
13195Sun Jul 13 12:24:13 GMT 2008  Olly Betts <olly@survex.com>
13196
13197	* configure.ac: Add missing hard requirement for libtool 2.2.4.
13198
13199Sun Jul 13 12:09:40 GMT 2008  Olly Betts <olly@survex.com>
13200
13201	* configure.ac,HACKING: Hard require autoconf 2.62 and automake 1.10.1.
13202	  Move all information about particular autoconf and automake versions
13203	  to HACKING.
13204	* configure.ac: Use LT_INIT in preference to AC_PROG_LIBTOOL.  On
13205	  Linux and k*bsd-gnu, override libtool's link_all_deplibs_CXX to
13206	  "no".  On Linux, override libtool's sys_lib_dlsearch_path_spec to a
13207	  list generated in a more reliable way which includes *all* the
13208	  default directories.  Remove workaround which sets docdir for
13209	  autoconf < 2.60 since we now require 2.62.
13210	* xapian-core.spec.in: We no longer need to run autoreconf to work
13211	  around libtool's incomplete sys_lib_dlsearch_path_spec or to pick
13212	  up distro-specific patches for link_all_deplibs.
13213
13214Sun Jul 13 11:33:33 GMT 2008  Olly Betts <olly@survex.com>
13215
13216	* Makefile.am: No need to explicitly list m4/*.m4 in EXTRA_DIST as
13217	  automake will automatically ship any such files which are needed.
13218
13219Sun Jul 13 09:15:34 GMT 2008  Olly Betts <olly@survex.com>
13220
13221	* api/omenquire.cc: Back out the rounding of percentages change (at
13222	  least for now), as it makes percentage cut-offs work inconsistently.
13223	* tests/api_anydb.cc: Add test pctcutoff3 which demonstrates the issue.
13224
13225Sun Jul 13 07:01:02 GMT 2008  Olly Betts <olly@survex.com>
13226
13227	* include/xapian/enquire.h: Fix documentation comment for
13228	  MSet::get_rank() - the 'document judged "most relevant" will have
13229	  rank of 0' only when ordering primarily by relevance.
13230
13231Sun Jul 13 06:17:13 GMT 2008  Olly Betts <olly@survex.com>
13232
13233	* matcher/multimatch.cc: Tweak layout (makes the backport diff
13234	  much smaller and clearer, and reduces indentation by a level for a
13235	  chunk of code).
13236
13237Fri Jul 11 13:44:56 GMT 2008  Olly Betts <olly@survex.com>
13238
13239	* tests/harness/testutils.cc: Fix typos in recent improved output.
13240
13241Fri Jul 11 13:04:41 GMT 2008  Olly Betts <olly@survex.com>
13242
13243	* matcher/multimatch.cc: Collect up all the scaling factors we apply
13244	  to the estimated number of matches and apply them in one go to avoid
13245	  rounding the result more than once.
13246
13247Fri Jul 11 12:21:11 GMT 2008  Olly Betts <olly@survex.com>
13248
13249	* tests/api_anydb.cc: Add testcase for percent cutoff plus collapsing
13250	  which most likely would have failed before Richard's recent fix
13251	  for the lower bound with collapsing and a matchdecider.
13252
13253Fri Jul 11 05:30:02 GMT 2008  Olly Betts <olly@survex.com>
13254
13255	* backends/database.cc: Add support for XAPIAN_PREFER_CHERT
13256	  environmental variable.
13257
13258Thu Jul 10 22:21:46 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13259
13260	* api/postingsource.cc: Fix skip_to() so that it doesn't advance if
13261	  it's already in a suitable position.
13262	* include/xapian/postingsource.h: Specify that skip_to() should
13263	  stay in the same position if the current position is equal to
13264	  the docid argument of skip_to().
13265	* tests/api_db.cc: Add valueweightsource3 to check that skip_to()
13266	  stays in the same position in this case.
13267
13268Thu Jul 10 13:14:14 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13269
13270	* api/postingsource.cc: Performance improvement - open documents
13271	  lazily (using the internal interface) so that we don't access
13272	  the record table for each one - we now just access the value
13273	  table.  Leads to considerable speed up for me (of the order of 5
13274	  times faster).
13275
13276Thu Jul 10 09:49:39 GMT 2008  Olly Betts <olly@survex.com>
13277
13278	* HACKING: Overhaul the sections on building from SVN.  Remove ':'
13279	  from the end of headings.
13280
13281Wed Jul 09 10:43:01 GMT 2008  Olly Betts <olly@survex.com>
13282
13283	* configure.ac: The workaround to avoid probe code for F77, GCJ, and
13284	  RC being added to configure is no longer required now that we're
13285	  using libtool 2.2 so remove it.
13286
13287Wed Jul 09 09:40:43 GMT 2008  Olly Betts <olly@survex.com>
13288
13289	* Makefile.am,acinclude.m4,autoconf/dir_contents,
13290	  autoconf/rjb_find_stlport.m4,autoconf/type_socklen_t.m4,
13291	  m4/dir_contents,m4/rjb_find_stlport.m4,m4/type_socklen_t.m4: Move
13292	  the m4 macros which we ship for building configure from into the m4
13293	  subdirectory and remove acinclude.m4 - now aclocal will pull in the
13294	  required macros automatically.
13295
13296Wed Jul 09 09:14:31 GMT 2008  Olly Betts <olly@survex.com>
13297
13298	* Makefile.am: Update for m4 -> m4-macros change.
13299
13300Wed Jul 09 09:11:45 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13301
13302	* matcher/externalpostlist.cc: Fix segfault if get_maxweight() is
13303	  called when the postlist has reached end.  This happens if the
13304	  end is reached during decay of an AND_MAYBE postlist to an AND.
13305	* common/postlist.h,matcher/: Add comments documenting that
13306	  recalc_maxweight() may be called after the postlist has reached
13307	  the end, and noting why this is safe in various cases.
13308
13309Wed Jul 09 09:02:08 GMT 2008  Olly Betts <olly@survex.com>
13310
13311	* m4-macros/dir_contents,m4-macros/xapian.m4,m4/dir_contents,
13312	  m4/xapian.m4: Move xapain.m4 to a new subdirectory (m4-macros) since
13313	  libtoolize now installs m4 files into subdirectory m4 which we don't
13314	  really want picking up by applications building against an
13315	  uninstalled xapian-core.
13316
13317Wed Jul 09 08:03:11 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13318
13319	* Makefile.am,m4/dir_contents,xapian.m4: Move xapian.m4 back into
13320	  the m4 subdirectory.  For uninstalled builds, we need xapian.m4
13321	  to be in a directory without any other .m4 files, or we'll be
13322	  likely to pull in the wrong versions of other macros.  The top
13323	  level directory contains aclocal.m4 and acinclude.m4, so isn't
13324	  suitable for this.  Also, the xapian-bindings and omega
13325	  compilations hadn't been updated with the new xapian.m4 location,
13326	  so this fixes the build for them.
13327
13328Wed Jul 09 07:17:38 GMT 2008  Olly Betts <olly@survex.com>
13329
13330	* Makefile.am,configure.ac: Use AC_CONFIG_MACRO_DIR and
13331	  ACLOCAL_AMFLAGS as libtoolize 2.2.4 recommends.
13332
13333Wed Jul 09 06:37:21 GMT 2008  Olly Betts <olly@survex.com>
13334
13335	* acinclude.m4: Remove reference to definedir.m4.
13336
13337Wed Jul 09 05:32:24 GMT 2008  Olly Betts <olly@survex.com>
13338
13339	* Makefile.am,m4/dir_contents,m4/xapian.m4,xapian.m4: Move xapian.m4
13340	  to the top level rather than devoting a whole directory to a single
13341	  file.
13342
13343Wed Jul 09 05:23:02 GMT 2008  Olly Betts <olly@survex.com>
13344
13345	* Makefile.am,autoconf/definedir.m4,configure.ac: AC_DEFINE_DIR()
13346	  hasn't been used for years so remove it.
13347
13348Wed Jul 09 02:32:38 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13349
13350	* api/postingsource.cc,include/xapian/postingsource.h: Add an
13351	  alternative constructor for ValueWeightPostingSource which allows
13352	  the upper bound on the weights stored to be specified manually.
13353	  This is useful for database formats like flint which don't have
13354	  an upper bound available.  It could conceivably also be useful if
13355	  you know that a query will only be accessing a subset of
13356	  documents for which you know a more precise upper bound than the
13357	  database-wide upper bound.
13358
13359Wed Jul 09 01:59:56 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13360
13361	* matcher/externalpostlist.cc: Add DEBUGCALL macros to enable
13362	  easier debugging.
13363
13364Mon Jul 07 12:40:20 GMT 2008  Olly Betts <olly@survex.com>
13365
13366	* HACKING,NEWS: Update to reflect the autotools now being in the SVN
13367	  tree, and the versions we are now bootstrapping with.
13368	* NEWS: Update from ChangeLog.
13369
13370Sun Jul 06 22:59:04 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13371
13372	* matcher/multimatch.cc,matcher/remotesubmatch.cc,
13373	  matcher/remotesubmatch.h: Apply patch from ticker #279 to improve
13374	  performance of matches with multiple remote databases.  This adds
13375	  a special case for the top match being from a remote database, to
13376	  avoid accessing the termlist to calculate the percentage scaling
13377	  factor.
13378
13379Sun Jul 06 22:55:17 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13380
13381	* api/omenquire.cc: When calculating percentages, round to the
13382	  nearest integer, rather than rounding down.  There was a FIXME
13383	  about this, but no explanation of why it hadn't already been
13384	  done, and I can see no bad side effects so far.  The most obvious
13385	  positive effect is that queries which should get precisely 100%
13386	  will no longer be assigned 99% due to rounding errors.
13387
13388Sun Jul 06 22:48:30 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13389
13390	* tests/api_anydb.cc: Add new test, topercent2, checking the
13391	  percentage values returned by standard searches, both against
13392	  known current values for some of the hits, and against a search
13393	  with a "local" backend.  Also, in rsetmultidb1, test the return
13394	  value of mset_range_is_same_weights().
13395	* tests/api_db.cc: In rsetmultidb2, test the return value of
13396	  mset_range_is_same_weights().
13397
13398Sun Jul 06 22:46:23 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13399
13400	* tests/harness/testutils.cc,tests/harness/testutils.h: Add
13401	  function to test if two mset ranges have the same percentages,
13402	  and slightly improve the messages on failure of the mset range
13403	  comparison tests.
13404
13405Fri Jul 04 23:31:14 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13406
13407	* NEWS: Swap two words to make a sentence make sense.
13408
13409Fri Jul 04 11:40:13 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13410
13411	* matcher/multimatch.cc: Fix calculation of lower bound when
13412	  collapsing and match deciders are used.  (Only tended to manifest
13413	  when the collapsing threw away a lot of documents, and when also
13414	  using a custom sort order, but I don't think that was required.)
13415	  Also, perform the adjustments due to percentage cutoffs after the
13416	  other adjustments, to avoid the lower bound setting for
13417	  collapsing overriding the lower bound from the percentage cutoff.
13418	* tests/harness/index_utils.cc: Add a value to value slot 12, which
13419	  only has 5 different values, for testing this bug.
13420	* tests/api_db.cc: Add regression test for calculation of the lower
13421	  bound.
13422
13423Fri Jul 04 10:24:16 GMT 2008  Olly Betts <olly@survex.com>
13424
13425	* Makefile.am,bin/Makefile.mk,examples/Makefile.mk: Remove
13426	  extra_cleandirs as automake 1.10.1 fixes the bug which it was working
13427	  around.
13428
13429Fri Jul 04 04:36:59 GMT 2008  Olly Betts <olly@survex.com>
13430
13431	* HACKING: Synchronise tiny change from branches/1.0 which isn't
13432	  on trunk for some reason.
13433
13434Fri Jul 04 04:35:19 GMT 2008  Olly Betts <olly@survex.com>
13435
13436	* HACKING: Bootstrap with newer versions of the autotools:
13437	  + autoconf 2.61 -> 2.62: faster
13438	  + automake 1.10 -> 1.10.1: "make clean" cleans all .libs
13439	    directories.
13440	  + libtool 1.5.24 -> 2.2.4: many improvements; faster.
13441
13442Thu Jul 03 03:17:42 GMT 2008  Olly Betts <olly@survex.com>
13443
13444	* docs/glossary.rst,docs/intro_ir.html: Improve intro_ir a bit, and
13445	  link to the definition of RSet in the glossary.
13446
13447Thu Jul 03 01:30:56 GMT 2008  Olly Betts <olly@survex.com>
13448
13449	* examples/quest.cc: Output get_description() of the parsed query.
13450
13451Sun Jun 29 18:56:06 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13452
13453	* matcher/multimatch.cc: Rename percent_factor variable, used here
13454	  as part of the percent_cutoff mechanism, to make its purpose
13455	  clearer, and to avoid confusing it with percent_scale in this
13456	  file, and percent_factor used elsewhere in matcher/.
13457
13458Sat Jun 28 21:51:42 GMT 2008  Olly Betts <olly@survex.com>
13459
13460	* docs/doxygen_api_conf.in,docs/doxygen_full_conf.in: Disable
13461	  "JAVADOC_AUTOBRIEF" since we always try to write a brief
13462	  description explicitly, and it causes problems in some cases.
13463
13464Sat Jun 28 21:32:21 GMT 2008  Olly Betts <olly@survex.com>
13465
13466	* common/: Fix typos in doxygen comments.
13467
13468Sat Jun 28 10:33:06 GMT 2008  Olly Betts <olly@survex.com>
13469
13470	* languages/stem.cc: Add "nl" for selecting the Dutch stemmer, which
13471	  was accidentally missing from the list of language codes recognised.
13472	  Reported by Joey Hess in Debian bug #484458.
13473	* tests/api_nodb.cc: Extend stemlangs1 to check that all the language
13474	  codes work, and so does Stem("").
13475
13476Fri Jun 27 00:27:31 GMT 2008  Olly Betts <olly@survex.com>
13477
13478	* NEWS: Update from ChangeLog and against 1.0 branch.
13479
13480Thu Jun 26 17:17:41 GMT 2008  Olly Betts <olly@survex.com>
13481
13482	* net/remoteconnection.cc: The "already done" check in do_close() is
13483	  no longer useful, so remove it.  Shrink the try block to only cover
13484	  the call to send_message().
13485
13486Thu Jun 26 08:19:41 GMT 2008  Olly Betts <olly@survex.com>
13487
13488	* net/remoteconnection.cc: Don't bother to send MSG_SHUTDOWN for a
13489	  read-only Database - just closing the connection is enough.
13490
13491Thu Jun 26 04:49:06 GMT 2008  Olly Betts <olly@survex.com>
13492
13493	* backends/chert/chert_btreebase.cc: Don't need <string.h> as well as
13494	  <cstring>.
13495	* backends/flint/flint_btreebase.cc,bin/xapian-replicate-server.cc:
13496	  Prefer <cXXX> to <XXX.h>.
13497
13498Tue Jun 24 04:31:10 GMT 2008  Olly Betts <olly@survex.com>
13499
13500	* tests/harness/testsuite.cc: Use resize() to truncate a string.
13501
13502Tue Jun 24 04:23:59 GMT 2008  Olly Betts <olly@survex.com>
13503
13504	* net/remoteconnection.cc: Fill in a guess at the __WIN32__ version of
13505	  the code needed in RemoteConnection::do_close().
13506
13507Tue Jun 24 04:06:02 GMT 2008  Olly Betts <olly@survex.com>
13508
13509	* net/progclient.cc: Fix debug logging for __WIN32__.
13510
13511Tue Jun 24 03:11:09 GMT 2008  Olly Betts <olly@survex.com>
13512
13513	* net/remoteserver.cc: Just delete the Database * pointer db.  The
13514	  Database dtor is virtual, so it's fine to delete a WritableDatabase
13515	  via a Database * pointer.
13516
13517Tue Jun 24 01:29:12 GMT 2008  Olly Betts <olly@survex.com>
13518
13519	* backends/remote/remote-database.cc,common/remoteconnection.h,
13520	  net/remoteconnection.cc,net/replicatetcpclient.cc: Wait for the
13521	  connection to close rather than using a different shutdown message
13522	  which requires a reply.  Mostly this is more backport-friendly, but
13523	  it also avoids a message reply (albeit it not in a performance
13524	  sensitive situation).  Needs implementing for __WIN32__.
13525
13526Tue Jun 24 01:07:16 GMT 2008  Olly Betts <olly@survex.com>
13527
13528	* net/remoteserver.cc: Unwrap comment.
13529
13530Tue Jun 24 00:52:02 GMT 2008  Olly Betts <olly@survex.com>
13531
13532	* net/remoteserver.cc: Kill a blank line.
13533
13534Tue Jun 24 00:49:50 GMT 2008  Olly Betts <olly@survex.com>
13535
13536	* backends/remote/remote-database.cc,common/remoteconnection.h,
13537	  common/remoteprotocol.h,docs/remote_protocol.html,
13538	  net/remoteconnection.cc,net/remoteserver.cc,
13539	  net/replicatetcpclient.cc: Revert r10713 in preparation for applying
13540	  an alternative fix.
13541
13542Mon Jun 23 21:51:42 GMT 2008  Olly Betts <olly@survex.com>
13543
13544	* HACKING: Expand list of keywords for brace cuddling.  Add rationale.
13545
13546Mon Jun 23 01:53:03 GMT 2008  Olly Betts <olly@survex.com>
13547
13548	* tests/queryparsertest.cc: Cuddle braces after for loops for
13549	  consistency with the rest of the code.  Use string::resize() to
13550	  shrink a string rather than assigning the result of substr(0, x).
13551	* HACKING: Explicitly document that braces should be cuddled after
13552	  control flow structures.
13553
13554Mon Jun 23 01:34:39 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13555
13556	* tests/perftest/perftest_matchdecider.cc: Reworked performance
13557	  test to include a test of an alldocspostingiterator, and to only
13558	  rebuild the database involved if it's not up-to-date.
13559
13560Mon Jun 23 01:20:25 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13561
13562	* common/valuestats.h: Add missing #include.
13563
13564Mon Jun 23 01:10:19 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13565
13566	* bin/xapian-compact.cc: Add support for the valuestats which are
13567	  now held in the value table for chert.
13568
13569Sun Jun 22 23:44:46 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13570
13571	* backends/chert/: Change ChertAllDocsPostList to inherit from
13572	  ChertPostList and use the doclen list from the posting table
13573	  rather than using the termlist table.  This helps towards making
13574	  the termlist table optional, reduces the amount of data read in
13575	  the process of iterating through an alldocs postlist, and can
13576	  make a massive difference in performance: I've measured the time
13577	  to iterate through all the documents in a 1000000 document
13578	  database, and the patch speeds this operation up by a factor of
13579	  6.
13580
13581	  Add `keep_reference` parameter to the ChertPostList constructor,
13582	  instead of not keeping a reference if the term is empty.
13583	  ChertAllDocsPostList uses this to keep a reference to the
13584	  database while using an empty term.
13585
13586	  Add ChertAllDocsModifiedPostList class, inspired by
13587	  ChertModifiedPostList, (with corresponding new source files) to
13588	  handle alldocs postlist with modifications: this wasn't needed
13589	  before since the termlist is updated immediately after changes.
13590
13591Sun Jun 22 21:37:00 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13592
13593	* tests/harness/: Add "name" parameter to
13594	  BackendManager::get_writable_database_as_database(), and
13595	  BackendManager::get_writable_database_again(), (and subclasses)
13596	  so that old databases can be revived.  Useful for the performance
13597	  tests.
13598
13599Sun Jun 22 09:30:44 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13600
13601	* tests/api_anydb.cc: Expand tests for alldocspostlist, covering
13602	  iteration of modified databases.
13603
13604Fri Jun 20 08:28:12 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13605
13606	* backends/remote/remote-database.cc,common/remoteconnection.h,
13607	  common/remoteprotocol.h,docs/remote_protocol.html,
13608	  net/remoteconnection.cc,net/remoteserver.cc,
13609	  net/replicatetcpclient.cc: Add new message
13610	  "MSG_SHUTDOWNANDCONFIRM" which causes a reply of
13611	  "REPLY_SHUTDOWNCONFIRMATION" to be sent after the database has
13612	  been closed.  Use this message when closing a writable database,
13613	  to ensure that the destructor doesn't return until the lock on
13614	  the database has been released.
13615
13616Tue Jun 17 14:28:46 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13617
13618	* tests/perftest/freemem.cc,tests/perftest/perftest.cc: Patches
13619	  from Charlie to allow perftest to compile on windows.
13620
13621Tue Jun 17 13:23:18 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13622
13623	* backends/chert/chert_btreebase.cc,backends/chert/chert_lock.cc,
13624	  backends/flint/flint_btreebase.cc,backends/flint/flint_lock.cc,
13625	  bin/xapian-replicate-server.cc: Add some missing includes, needed
13626	  for GCC 4.3.
13627
13628Tue Jun 17 11:00:56 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13629
13630	* tests/perftest/get_machine_info.in: Updates to hopefully get
13631	  useful version information on windows.
13632
13633Mon Jun 16 12:13:48 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13634
13635	* tests/harness/testsuite.cc: Don't call backendmanager->posttest()
13636	  if no backendmanager is in use.
13637
13638Sun Jun 15 02:19:03 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13639
13640	* tests/harness/: Wait for subprocesses to finish at end of tests,
13641	  with remotetcp backend, to avoid test failures due to final flush
13642	  of a subprocess writing to the database used for the next test.
13643
13644Thu Jun 12 09:09:44 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13645
13646	* common/unaligned.h: Add some casts to make GCC 4.3.0 happy.
13647
13648Thu Jun 12 09:06:21 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13649
13650	* backends/chert/chert_btreebase.cc: Add missing #include (needed
13651	  for compilation with GCC 4.3.0).
13652
13653Tue Jun 10 17:38:07 GMT 2008  Olly Betts <olly@survex.com>
13654
13655	* tests/harness/testrunner.cc: Use startswith().  Fix memory leak.
13656
13657Fri Jun 06 11:02:56 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13658
13659	* Makefile.am,tests/Makefile.am: Fix make check-* targets to match
13660	  the current set of backends.  Add .multichert and .multiflint to
13661	  the clean-local hook in tests/.  Leave .multi there for now, to
13662	  clean up existing .multi directories in the automated build trees.
13663
13664Fri Jun 06 08:26:49 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13665
13666	* common/Makefile.mk: Add valuestats.h to distribution.
13667
13668Thu Jun 05 23:37:37 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13669
13670	* backends/chert/chert_values.cc: Fix compile error in assertion in
13671	  recently added code for calculating value statistics.
13672
13673Thu Jun 05 21:38:01 GMT 2008  Olly Betts <olly@survex.com>
13674
13675	* queryparser/queryparser.lemony: Use std::vector<Term *> rather than
13676	  std::list<Term *> so that size() is O(1) with any (sane) compiler
13677	  and because a list of pointers isn't space efficient (and we don't
13678	  need to splice here).  Factor out common code in if branches in
13679	  TermGroup::as_group().
13680
13681Thu Jun 05 17:04:23 GMT 2008  Olly Betts <olly@survex.com>
13682
13683	* queryparser/queryparser.lemony: Use "startswith()" to avoid creating
13684	  a new string object.
13685
13686Thu Jun 05 09:09:54 GMT 2008  Olly Betts <olly@survex.com>
13687
13688	* queryparser/queryparser.lemony: Remove variable which is set but
13689	  never otherwise used.
13690
13691Thu Jun 05 09:08:22 GMT 2008  Olly Betts <olly@survex.com>
13692
13693	* api/omqueryinternal.cc: Don't call find() twice - reuse the result
13694	  we just got.  Use AssertEq() rather than Assert() on an equality
13695	  test.  Clarify a comment.
13696
13697Wed Jun 04 21:32:11 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13698
13699	* queryparser/queryparser.lemony: Fix more O(N*N) scaling, this
13700	  time in the way in which auto multiword synonyms are detected.
13701	  Instead of trying all possible sub-sequences of terms for
13702	  synonyms, use synonym_keys and the skip_to() method to check for
13703	  synonyms which actually exist in the synonyms table.
13704	* tests/queryparsertest.cc: Extend the scaling test to check this
13705	  case.
13706
13707Wed Jun 04 12:42:32 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13708
13709	* queryparser/queryparser.lemony: Fix various cases where queries
13710	  were constructed pair-wise within a loop, which leads to O(N*N)
13711	  scaling behaviour (because each intermediate query construction
13712	  is O(M) where M is the size of that query, and there are N of
13713	  them).
13714	* tests/queryparsertest.cc: Add test to check that parsing of a
13715	  query scales roughly linearly with query size.
13716	* common/omtime.h: Add method to get an OmTime as a double - used
13717	  by the new query parser test.
13718
13719Wed Jun 04 12:18:35 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13720
13721	* tests/harness/testsuite.h: Fix TEST_LESSER_OR_EQUAL and
13722	  TEST_LESSER macros to compare in the right direction (these
13723	  macros are, so far, unused).
13724
13725Mon Jun 02 18:19:22 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13726
13727	* api/postingsource.cc: Make ValueWeightPostingSource use value
13728	  statistics, if they're available, to return accurate term
13729	  frequency statistics, and a better maxweight.
13730	* tests/api_db.cc: Add valueweightsource2, to test the bounds and
13731	  maxweight returned by a ValueWeightPostingSource for backends
13732	  with valuestats support.  Replace !multi condition in
13733	  valueweightsource1 with a SKIP_TEST_FOR_BACKEND invocation, since
13734	  this is a shortcoming we should fix at some point.
13735
13736Mon Jun 02 18:16:52 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13737
13738	* tests/harness/testrunner.cc,tests/harness/testrunner.h: Replace
13739	  DO_TESTS_FOR_BACKEND macro with a do_tests_for_backend method;
13740	  the method version takes a BackendManager * and gets the backend
13741	  name from that, rather than requiring it to be specified.
13742	  Requires addition of a couple of extra private members to the
13743	  TestRunner class.
13744
13745Mon Jun 02 10:27:45 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13746
13747	* include/xapian/database.h: Add get_value_freq(),
13748	  get_value_lower_bound() and get_value_upper_bound() methods to
13749	  Database, to get statistics about the values stored in a slot.
13750	* api/omdatabase.cc,backends/chert/,backends/database.cc,
13751	  backends/inmemory/inmemory_database.cc,
13752	  backends/inmemory/inmemory_database.h,
13753	  backends/remote/remote-database.cc,common/,
13754	  net/remoteserver.cc: Add support for the value statistics methods
13755	  to chert, inmemory, multi and remote databases.
13756	* tests/Makefile.am,tests/api_valuestats.cc,
13757	  tests/harness/testrunner.cc,tests/harness/testrunner.h: Add test
13758	  of the value statistics code, and a "valuestats" backend property
13759	  to select only backends supporting this.
13760
13761Mon Jun 02 10:26:12 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13762
13763	* tests/harness/backendmanager.cc,tests/harness/backendmanager.h:
13764	  Move implementation of get_dbtype() method out of header.
13765
13766Mon Jun 02 09:44:34 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13767
13768	* rests/harness/: Make flint and chert subtypes for the remote and
13769	  multi backend types.  These are specified (on the command line
13770	  and elsewhere) by the main type (multi, remotetcp or remoteprog),
13771	  followed by an underscore, followed by the subtype (flint or
13772	  chert).  Change return type of BackendManager::get_dbtype() to a
13773	  string instead of a const char *, to allow backend managers which
13774	  have subtypes to generate the result dynamically.
13775	* tests/harness/backendmanager_remote.cc,
13776	  tests/harness/backendmanager_remote.h,
13777	  tests/harness/backendmanager_remoteprog.cc,
13778	  tests/harness/backendmanager_remoteprog.h,
13779	  tests/harness/backendmanager_remotetcp.cc,
13780	  tests/harness/backendmanager_remotetcp.h: Add new
13781	  BackendManagerRemote class as a common base for the two remote
13782	  backend managers, and move duplicated code into it.  Add
13783	  parameter to its constructor, and to the constructors of the
13784	  remote backend manager subclasses, to control the type of
13785	  database to use at the remote end.
13786	* tests/harness/backendmanager_multi.cc,
13787	  tests/harness/backendmanager_multi.h: Add parameter to
13788	  constructor of BackendManagerMulti, controlling the type of
13789	  database to use for sub databases.  Put the generated database
13790	  files in ".multiflint" and ".multichert" instead of ".multi".
13791	* tests/harness/testrunner.cc: Update list of backend properties to
13792	  contain the new subtypes.  Modify use_backend() to allow either
13793	  the full backend type, or just the main part of the backend type,
13794	  to be specified, so that, for example "-b multi" will run both
13795	  the multi_chert and multi_flint tests.  Add test runs for all the
13796	  subtypes now supported.  Catch string exceptions thrown by the
13797	  test runner - these can currently occur when neither flint or
13798	  chert are compiled in.
13799	* tests/apitest.cc,tests/apitest.h: Adjust return type of
13800	  get_dbtype(), implement skip_test_*_backend functions which just
13801	  check the prefix of the type, and implement SKIP_TEST_*_BACKEND
13802	  macros using these.
13803	* tests/api_anydb.cc: Modify check for running on a multi backend
13804	  to copy with getting a string back from get_dbtype().
13805
13806Sat May 31 00:55:03 GMT 2008  Olly Betts <olly@survex.com>
13807
13808	* tests/Makefile.am,tests/perftest/Makefile.mk: Remove unnecessary
13809	  quotes.
13810
13811Thu May 29 16:04:56 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13812
13813	* tests/perftest/: Update svn:ignore property for perftest changes.
13814
13815Thu May 29 14:33:51 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13816
13817	* tests/perftest/perftest.cc: Include the xapian version string in
13818	  the test output.  For runs from SVN, also include the subversion
13819	  revision number and branch in the output.
13820
13821Wed May 28 21:47:37 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13822
13823	* matcher/valuegepostlist.cc,matcher/valuerangepostlist.cc,
13824	  matcher/valuerangepostlist.h: Apply patch from ticket #270 to
13825	  implement ValueRangePostList::next() by using an alldocs posting
13826	  list, instead of trying docids in turn.  This is much more
13827	  efficient if document IDs are sparse.  Since both methods require
13828	  accessing the termlist table to check for the next document, and
13829	  some cursory performance tests don't show a measurable difference
13830	  in speed, I think this approach is at least safe, and probably
13831	  superior.
13832
13833Wed May 28 21:28:38 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13834
13835	* tests/perftest/perftest.cc: Log the flush threshold for indexing
13836	  runs.
13837	* tests/perftest/perftest_randomidx.cc: Set the run size back to a
13838	  reasonably large value.
13839
13840Wed May 28 20:48:10 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13841
13842	* configure.ac,tests/,tests/perftest/,tests/perftest_matchdecider.cc,
13843	  tests/perftest_randomidx.cc: Move performance test source files
13844	  into a subdirectory.  Modify output of performance tests to
13845	  include some basic system information, and also to include
13846	  details of the parameters used to perform indexing tests.
13847
13848Wed May 28 20:42:56 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13849
13850	* HACKING: Fix numbering in checklist for developers so that it
13851	  doesn't repeat section 5.
13852
13853Sun May 25 14:21:40 GMT 2008  Olly Betts <olly@survex.com>
13854
13855	* NEWS: Update to match 1.0 branch.
13856
13857Sun May 25 00:24:09 GMT 2008  Olly Betts <olly@survex.com>
13858
13859	* NEWS: Start to update from ChangeLog, stripping out backported
13860	  changes.
13861
13862Sat May 24 16:38:49 GMT 2008  Olly Betts <olly@survex.com>
13863
13864	* NEWS,configure.ac: Update to match 1.0 branch.
13865
13866Sat May 24 16:33:19 GMT 2008  Olly Betts <olly@survex.com>
13867
13868	* tests/termgentest.cc: Pass Xapian::Document by const reference.
13869
13870Sat May 24 14:30:59 GMT 2008  Olly Betts <olly@survex.com>
13871
13872	* bin/xapian-compact.cc: Only warn about duplicate user metadata keys
13873	  if the tags aren't the same.
13874
13875Sat May 24 12:14:55 GMT 2008  Olly Betts <olly@survex.com>
13876
13877	* bin/Makefile.am: Put special -I options in foo_CPPFLAGS not
13878	  foo_CXXFLAGS.  As well as being the more correct place, this also
13879	  means that AM_CXXFLAGS is now used when compiling xapian-check and
13880	  xapian-compact, which in particular enables compiler warnings.
13881	* bin/xapian-check.cc,bin/xapian-compact.cc,bin/xapian-check-flint.cc:
13882	  Fix warnings (one unused variable and a few cases of a variable
13883	  masking another with the same name - none problematic in practice).
13884
13885Fri May 23 09:22:24 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13886
13887	* backends/inmemory/inmemory_database.cc: Fix bug in inmemory
13888	  database, which resulted in the values not being stored correctly
13889	  if document IDs were sparse.
13890	* matcher/valuerangepostlist.cc: Fix the next() method not to
13891	  return document IDs which aren't present in the database - this
13892	  used to happen if the document IDs were sparse.
13893	* tests/api_anydb.cc: Add "valuerange2", a regression test for
13894	  OP_VALUE_LE returning document IDs which aren't present in the
13895	  database, and "alldocspl1", which does a generic test of an
13896	  alldocs postlist in a sparse database (this passed before the
13897	  above changes, but might as well be added anyway).
13898
13899Wed May 21 19:33:12 GMT 2008  Olly Betts <olly@survex.com>
13900
13901	* docs/Makefile.am: test == isn't portable - use test = instead.
13902
13903Wed May 21 13:22:23 GMT 2008  Olly Betts <olly@survex.com>
13904
13905	* HACKING: Fix path for atreus.
13906
13907Wed May 21 13:21:08 GMT 2008  Olly Betts <olly@survex.com>
13908
13909	* HACKING: Fix search&replace error - the CVS module is still called
13910	  www.xapian.org.
13911
13912Wed May 21 13:16:39 GMT 2008  Olly Betts <olly@survex.com>
13913
13914	* HACKING: Reword, since environmental variable PATH isn't "set by
13915	  $PATH".
13916
13917Wed May 21 13:16:21 GMT 2008  Olly Betts <olly@survex.com>
13918
13919	* HACKING: ixion -> atreus.
13920
13921Wed May 21 13:12:07 GMT 2008  Olly Betts <olly@survex.com>
13922
13923	* include/xapian/database.h: Improve documentation comment.
13924
13925Sun May 18 05:20:29 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13926
13927	* docs/remote_protocol.html: Remove spurious "i" at end of line.
13928
13929Sat May 17 11:53:54 GMT 2008  Olly Betts <olly@survex.com>
13930
13931	* tests/harness/testutils.h: Layout and macro parameter name tweaks.
13932
13933Fri May 16 20:42:05 GMT 2008  Olly Betts <olly@survex.com>
13934
13935	* bin/xapian-compact.cc: Check that all source databases are the same
13936	  type (flint or chert).  Copy over "iamchert" for chert.  Update
13937	  terminology - the "meta file" is now called the "version file".
13938
13939Fri May 16 17:33:22 GMT 2008  Olly Betts <olly@survex.com>
13940
13941	* backends/chert/chert_database.cc,backends/chert/chert_version.cc:
13942	  Need <cstdio> for rename().
13943
13944Fri May 16 17:27:56 GMT 2008  Olly Betts <olly@survex.com>
13945
13946	* backends/chert/chert_database.cc: Correct FIXME comment and mark
13947	  as "FIXME:1.2.0".
13948
13949Fri May 16 17:21:59 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13950
13951	* tests/harness/testrunner.cc,tests/harness/testrunner.h: Add
13952	  condition to test if the backend is "inmemory".
13953	* tests/perftest_randomidx.cc: Change the run size from 1000
13954	  documents to 1000000.  Disable this test for the inmemory
13955	  backend, because it will quickly use up all the memory on the
13956	  machine.
13957
13958Fri May 16 16:56:25 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13959
13960	* HACKING: Add note about some more PDF generation tools which are
13961	  needed, and that doxygen requires them to be on PATH.
13962
13963Fri May 16 16:38:40 GMT 2008  Olly Betts <olly@survex.com>
13964
13965	* HACKING: Ubuntu now needs tetex-extra too.
13966
13967Fri May 16 10:05:30 GMT 2008  Olly Betts <olly@survex.com>
13968
13969	* bin/xapian-compact.cc: Fix to not reject chert databases during the
13970	  "up front" check.
13971
13972Thu May 15 20:20:14 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13973
13974	* net/progclient.cc: Set namespace for close methods (to avoid
13975	  conflicting with the close method I'm working on adding to
13976	  database internal).
13977
13978Wed May 14 17:14:53 GMT 2008  Olly Betts <olly@survex.com>
13979
13980	* backends/database.cc: Default to flint not chert for a new database.
13981
13982Wed May 14 17:11:56 GMT 2008  Olly Betts <olly@survex.com>
13983
13984	* api/postingsource.cc,docs/postingsource.rst,
13985	  include/xapian/postingsource.h,matcher/externalpostlist.cc:
13986	  PostingSource::check() now returns the valid flag rather than
13987	  passing it in by reference to be set.  Change "should" to "must"
13988	  for the get_termfreq_est() requirement at Richard's suggestion.
13989	  Add parameter names to PostingSource method prototypes and update
13990	  documentation comments to match.
13991
13992Wed May 14 15:34:38 GMT 2008  Olly Betts <olly@survex.com>
13993
13994	* docs/Makefile.am,docs/index.html,docs/postingsource.rst: Add
13995	  topic document for PostingSource.
13996
13997Mon May 12 17:27:13 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
13998
13999	* include/xapian/postingsource.h: Add documentation comments for
14000	  ValueWeightPostingSource, and tweak
14001	  PostingSource::get_maxweight() comment a bit more.
14002
14003Mon May 12 16:51:01 GMT 2008  Olly Betts <olly@survex.com>
14004
14005	* include/xapian/postingsource.h: Clarify get_maxweight() if the
14006	  maximum from now on.
14007
14008Mon May 12 06:51:53 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
14009
14010	* api/postingsource.cc,include/xapian/postingsource.h,tests/api_db.cc,
14011	  tests/harness/index_utils.cc: Add ValueWeightPostingSource, which
14012	  reads a value, applies sortable_unserialise() to it, and returns
14013	  that as the weight for each document.
14014
14015Sun May 11 23:49:07 GMT 2008  Olly Betts <olly@survex.com>
14016
14017	* queryparser/lemon.c,queryparser/queryparser.lt: Do a final sync by
14018	  comparing our versions to the latest vanilla upstream.  Add a note
14019	  to each file of the latest revision sync-ed against.
14020	* queryparser/lemon.c: Enable '#define PRIVATE static'.
14021
14022Sun May 11 22:48:27 GMT 2008  Olly Betts <olly@survex.com>
14023
14024	* NEWS: Add a note of the speed-up that the recent QueryParser changes
14025	  have given.
14026
14027Sun May 11 22:10:19 GMT 2008  Olly Betts <olly@survex.com>
14028
14029	* queryparser/lemon.c: Merge upstream "Check-in Number: 5053".
14030
14031Sun May 11 22:01:48 GMT 2008  Olly Betts <olly@survex.com>
14032
14033	* queryparser/queryparser.lt: Merge upstream "Check-in Number: 5052".
14034
14035Sun May 11 21:56:03 GMT 2008  Olly Betts <olly@survex.com>
14036
14037	* queryparser/queryparser.lt: Fix a comment typo.
14038
14039Sun May 11 21:52:30 GMT 2008  Olly Betts <olly@survex.com>
14040
14041	* queryparser/lemon.c: Merge upstream "Check-in Number: 4751".
14042
14043Sun May 11 21:51:18 GMT 2008  Olly Betts <olly@survex.com>
14044
14045	* queryparser/queryparser.lt: Merge upstream "Check-in Number: 4745".
14046
14047Sun May 11 21:47:03 GMT 2008  Olly Betts <olly@survex.com>
14048
14049	* queryparser/queryparser.lt: Comment out memset() call added by
14050	  one of the earlier merged upstream changes - a later comment on
14051	  the ticket referred to notes that this was actually a bug in the
14052	  grammar of the people who reported it.
14053
14054Sun May 11 21:44:46 GMT 2008  Olly Betts <olly@survex.com>
14055
14056	* queryparser/queryparser.lt: Merge upstream "Check-in Number: 4743".
14057
14058Sun May 11 21:41:55 GMT 2008  Olly Betts <olly@survex.com>
14059
14060	* queryparser/queryparser.lt: Merge upstream "Check-in Number: 4738".
14061
14062Sun May 11 21:33:13 GMT 2008  Olly Betts <olly@survex.com>
14063
14064	* queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream
14065	  "Check-in Number: 4736".
14066	* queryparser/lemon.c: Add %syntax_error directive since lemon has
14067	  changed it's error recovery strategy if you don't have one.
14068
14069Sun May 11 20:54:31 GMT 2008  Olly Betts <olly@survex.com>
14070
14071	* queryparser/queryparser.lemony: If we hit a syntax error, don't
14072	  bother feeding further tokens to the parser!
14073
14074Sat May 10 21:42:44 GMT 2008  Olly Betts <olly@survex.com>
14075
14076	* queryparser/lemon.c: Merge upstream "Check-in Number: 4641".
14077
14078Sat May 10 21:33:10 GMT 2008  Olly Betts <olly@survex.com>
14079
14080	* queryparser/lemon.c: Merge upstream "Check-in Number: 4473".
14081
14082Sat May 10 21:31:25 GMT 2008  Olly Betts <olly@survex.com>
14083
14084	* queryparser/lemon.c: Merge upstream "Check-in Number: 4439".
14085
14086Sat May 10 21:28:27 GMT 2008  Olly Betts <olly@survex.com>
14087
14088	* queryparser/lemon.c: Merge upstream "Check-in Number: 4274".
14089
14090Sat May 10 21:25:35 GMT 2008  Olly Betts <olly@survex.com>
14091
14092	* queryparser/lemon.c: Merge upstream "Check-in Number: 4190".
14093
14094Sat May 10 21:20:16 GMT 2008  Olly Betts <olly@survex.com>
14095
14096	* queryparser/lemon.c: Merge upstream "Check-in Number: 4160".
14097
14098Sat May 10 21:07:15 GMT 2008  Olly Betts <olly@survex.com>
14099
14100	* queryparser/lemon.c: Merge upstream "Check-in Number: 3753".
14101
14102Sat May 10 21:03:19 GMT 2008  Olly Betts <olly@survex.com>
14103
14104	* queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream
14105	  "Check-in Number: 3738".
14106
14107Sat May 10 20:00:09 GMT 2008  Olly Betts <olly@survex.com>
14108
14109	* queryparser/lemon.c: Merge upstream "Check-in Number: 3654".
14110
14111Sat May 10 19:55:32 GMT 2008  Olly Betts <olly@survex.com>
14112
14113	* queryparser/lemon.c: Merge upstream "Check-in Number: 3594".
14114
14115Sat May 10 19:46:05 GMT 2008  Olly Betts <olly@survex.com>
14116
14117	* queryparser/lemon.c: Merge upstream "Check-in Number: 3593".
14118
14119Sat May 10 19:44:15 GMT 2008  Olly Betts <olly@survex.com>
14120
14121	* queryparser/lemon.c: Merge upstream "Check-in Number: 3591".
14122
14123Sat May 10 19:40:12 GMT 2008  Olly Betts <olly@survex.com>
14124
14125	* queryparser/lemon.c: Merge upstream "Check-in Number: 3528".
14126
14127Sat May 10 19:38:36 GMT 2008  Olly Betts <olly@survex.com>
14128
14129	* queryparser/lemon.c: Merge upstream "Check-in Number: 3476".
14130
14131Sat May 10 19:36:06 GMT 2008  Olly Betts <olly@survex.com>
14132
14133	* queryparser/lemon.c: Merge upstream "Check-in Number: 3333".
14134
14135Sat May 10 19:33:33 GMT 2008  Olly Betts <olly@survex.com>
14136
14137	* queryparser/queryparser.lt: Merge upstream "Check-in Number: 3244".
14138
14139Sat May 10 19:29:18 GMT 2008  Olly Betts <olly@survex.com>
14140
14141	* queryparser/lemon.c: Merge upstream "Check-in Number: 3226".
14142
14143Sat May 10 19:19:48 GMT 2008  Olly Betts <olly@survex.com>
14144
14145	* queryparser/queryparser.lt: Merge upstream "Check-in Number: 3224".
14146
14147Sat May 10 19:14:18 GMT 2008  Olly Betts <olly@survex.com>
14148
14149	* queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream
14150	  "Check-in Number: 3210".
14151
14152Sat May 10 18:56:50 GMT 2008  Olly Betts <olly@survex.com>
14153
14154	* queryparser/queryparser.lt: Merge upstream "Check-in Number: 3181".
14155
14156Sat May 10 17:05:35 GMT 2008  Olly Betts <olly@survex.com>
14157
14158	* queryparser/lemon.c: Merge upstream "Check-in Number: 3126".
14159
14160Sat May 10 16:51:31 GMT 2008  Olly Betts <olly@survex.com>
14161
14162	* queryparser/lemon.c: Merge upstream "Check-in Number: 2764".
14163
14164Sat May 10 16:40:48 GMT 2008  Olly Betts <olly@survex.com>
14165
14166	* queryparser/lemon.c,queryparser/queryparser.lt: Merge upstream
14167	  "Check-in Number: 2761".
14168
14169Sat May 10 16:32:45 GMT 2008  Olly Betts <olly@survex.com>
14170
14171	* queryparser/queryparser.lt: Merge upstream "Check-in Number: 2458".
14172
14173Sat May 10 16:29:55 GMT 2008  Olly Betts <olly@survex.com>
14174
14175	* queryparser/lemon.c: Merge upstream "Check-in Number: 2345".
14176
14177Sat May 10 16:08:28 GMT 2008  Olly Betts <olly@survex.com>
14178
14179	* queryparser/queryparser.lt: Merge upstream "Check-in Number: 2302".
14180
14181Sat May 10 15:50:23 GMT 2008  Olly Betts <olly@survex.com>
14182
14183	* queryparser/lemon.c: Merge upstream "Check-in Number: 2208".
14184
14185Sat May 10 15:03:59 GMT 2008  Olly Betts <olly@survex.com>
14186
14187	* tests/harness/testsuite.cc: Prefer `str.assign(ptr)' to `str =
14188	  string(ptr)'.
14189
14190Sat May 10 14:48:38 GMT 2008  Olly Betts <olly@survex.com>
14191
14192	* api/matchspy.cc,api/replication.cc: Prefer `str.assign(ptr, len)' to
14193	  `str = string(ptr, len)'.
14194
14195Fri May 09 16:53:19 GMT 2008  Olly Betts <olly@survex.com>
14196
14197	* net/remoteserver.cc: No entries in dispatch[] are NULL, so there's
14198	  no point testing for it.
14199
14200Fri May 09 16:51:10 GMT 2008  Olly Betts <olly@survex.com>
14201
14202	* net/remoteconnection.cc: Remove pointless conversion to size_t which
14203	  breaks GCC 2.95 build.
14204
14205Fri May 09 16:22:46 GMT 2008  Olly Betts <olly@survex.com>
14206
14207	* api/replication.cc: Needs <cstdio> for rename().
14208
14209Fri May 09 15:41:08 GMT 2008  Olly Betts <olly@survex.com>
14210
14211	* tests/harness/testutils.cc: No need for an explicit std::endl when
14212	  calling TEST_AND_EXPLAIN().
14213
14214Fri May 09 15:38:22 GMT 2008  Olly Betts <olly@survex.com>
14215
14216	* api/replication.cc: Use '\n' rather than endl in the middle of
14217	  writing stuff, since endl forces a flush which just adds useless
14218	  overhead.
14219
14220Fri May 09 15:24:42 GMT 2008  Olly Betts <olly@survex.com>
14221
14222	* common/omdebug.h: Fix RETURN macro to work on GCC 2.95 for the case
14223	  `RETURN(string())'.
14224
14225Fri May 09 08:33:35 GMT 2008  Olly Betts <olly@survex.com>
14226
14227	* include/xapian/postingsource.h: Add a protected default ctor so that
14228	  code subclassing PostingSource actually compiles!
14229
14230Thu May 08 16:41:59 GMT 2008  Olly Betts <olly@survex.com>
14231
14232	* include/xapian/postingsource.h: Add doxygen comments for
14233	  Xapian::PostingSource.  Add private assignment operator and
14234	  copy constructor to prevent copying.
14235
14236Thu May 08 16:40:49 GMT 2008  Olly Betts <olly@survex.com>
14237
14238	* common/postlist.h: Fix one doxygen comment and improve another.
14239
14240Mon May 05 15:22:24 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
14241
14242	* tests/Makefile.am: Clean up .chert in clean-local.
14243
14244Mon May 05 14:52:34 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
14245
14246	* docs/Makefile.am: Adapt the dist-check hook to work with a VPATH
14247	  build in non-maintainer mode.
14248
14249Mon May 05 13:18:19 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
14250
14251	* docs/Makefile.am: Fix "make distcheck" by using dist-hook to
14252	  install generated files, with the appropriate dependency, instead
14253	  of wildcards in EXTRA_DIST which don't give the correct expansion
14254	  unless the files happened to be generated already by another
14255	  rule. Also, ensure that the documentation is generated before
14256	  attempting to install it.
14257
14258Sun May 04 09:30:53 GMT 2008  Olly Betts <olly@survex.com>
14259
14260	* backends/chert/chert_version.cc,backends/flint/flint_version.cc,
14261	  common/stringutils.h: Move CONST_STRLEN() into stringutils.h.
14262	* backends/chert/chert_database.cc,backends/flint/flint_database.cc:
14263	  Use CONST_STRLEN().
14264
14265Sat May 03 18:56:34 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
14266
14267	* api/omenquire.cc: Reset the internal sorter pointer to NULL when
14268	  changing to a sort by value. Fixes #256.
14269	* tests/api_sorting.cc: Add regression test.
14270
14271Sat May 03 18:52:27 GMT 2008  Olly Betts <olly@survex.com>
14272
14273	* include/xapian/unicode.h: Mark internal functions as @internal.
14274
14275Sat May 03 18:43:12 GMT 2008  Olly Betts <olly@survex.com>
14276
14277	* docs/doxygen_api_conf.in: Disable header and directory relationship
14278	  graphs in the API documentation as they aren't interesting to users.
14279
14280Sat May 03 18:12:30 GMT 2008  Olly Betts <olly@survex.com>
14281
14282	* docs/gen_codestructure_doc.in: Link to trac instead of viewvc.
14283
14284Sat May 03 17:25:02 GMT 2008  Olly Betts <olly@survex.com>
14285
14286	* docs/replication_protocol.rst: Fix a few typos.
14287
14288Sat May 03 15:53:24 GMT 2008  Olly Betts <olly@survex.com>
14289
14290	* backends/chert/chert_database.cc,backends/flint/flint_database.cc:
14291	  If Database::reopen() is called and the database revision on disk
14292	  hasn't changed, then do as little work as possible.  Even if it
14293	  has changed, don't bother to recheck the version file (bug#261).
14294
14295Sat May 03 10:28:30 GMT 2008  Olly Betts <olly@survex.com>
14296
14297	* configure.ac: Improve code to prevent probing for f77, etc.
14298
14299Sat May 03 10:17:05 GMT 2008  Olly Betts <olly@survex.com>
14300
14301	* matcher/rset.cc: Missing change from last commit.
14302
14303Sat May 03 09:25:29 GMT 2008  Olly Betts <olly@survex.com>
14304
14305	* api/omenquire.cc,common/,expand/Makefile.mk,expand/esetinternal.cc,
14306	  expand/expand.cc: Rewrite class ESet::Internal, incorporating the
14307	  functionality which used to be in the internal OmExpand class.  The
14308	  expand operation now uses a min heap rather than calling
14309	  nth_element() repeatedly - this should reduce the complexity of the
14310	  expand operation by a factor of n/log(n) where n is the requested
14311	  ESet size.
14312
14313Fri May 02 15:51:29 GMT 2008  Olly Betts <olly@survex.com>
14314
14315	* common/ortermlist.h,expand/ortermlist.cc: Kill FreqAdderOrTermList's
14316	  explicit empty dtor.
14317
14318Thu May 01 16:38:40 GMT 2008  Olly Betts <olly@survex.com>
14319
14320	* api/omqueryinternal.cc,api/replication.cc,backends/chert/,
14321	  backends/flint/,backends/inmemory/inmemory_positionlist.cc,
14322	  common/utils.cc,matcher/stats.cc,tests/perftest_matchdecider.cc,
14323	  tests/perftest_randomidx.cc: Assorted formatting tweaks.
14324
14325Thu May 01 16:32:58 GMT 2008  Olly Betts <olly@survex.com>
14326
14327	* common/unaligned.h: Fix ";;" to ";" after AssertRel calls.
14328
14329Thu May 01 16:12:05 GMT 2008  Olly Betts <olly@survex.com>
14330
14331	* docs/doxygen_api_conf.in,docs/doxygen_full_conf.in: Tell doxygen to
14332	  expand XAPIAN_VISIBILITY_DEFAULT so it doesn't appear in collated
14333	  API documentation.
14334
14335Wed Apr 30 10:57:53 GMT 2008  Olly Betts <olly@survex.com>
14336
14337	* HACKING: Update bugzilla references and URLs to reflect the move
14338	  to trac.  Update the "fixing a bug" checklist to mention backporting
14339	  and updating the release notes.
14340
14341Wed Apr 30 10:40:30 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
14342
14343	* backends/remote/remote-database.cc: Fix error message displayed
14344	  when remote protocol version doesn't match to display the minor
14345	  part of the version number supplied by the server correctly.
14346
14347Tue Apr 29 17:37:10 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
14348
14349	* AUTHORS: Add Alexandre Gauthier, for supplying a method for doing
14350	  python packaging for Windows.
14351
14352Tue Apr 29 16:20:47 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
14353
14354	* common/fileutils.cc: Fix variable name for windows compilation.
14355
14356Tue Apr 29 06:50:53 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
14357
14358	* backends/chert/chert_table.cc,backends/flint/flint_table.cc:
14359	  Remove some debugging code, left over from writing the
14360	  replication code.
14361
14362Mon Apr 28 12:11:38 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
14363
14364	* backends/chert/chert_btreebase.cc,backends/chert/chert_table.cc,
14365	  backends/flint/flint_btreebase.cc,backends/flint/flint_table.cc:
14366	  Fix issue #259 - update the last_block value whenever allocating
14367	  a new value, so that next_for_sequential doesn't give up too
14368	  early.  Also, in both next_for_sequential and
14369	  prev_for_sequential, for writable databases, check the built-in
14370	  cursor at all levels for the new block rather than just reading
14371	  from disk, since newly allocated blocks won't have been written
14372	  to disk yet.  Also, test the return type of next() when reading
14373	  subsequent parts of tags, and raise DatabaseCorruptError if it
14374	  returns false; this prevents incorrect data being returned,
14375	  leading to a zlib error.
14376	* tests/api_wrdb.cc: Add regression test.
14377
14378Fri Apr 25 08:39:28 GMT 2008  Olly Betts <olly@survex.com>
14379
14380	* api/postingsource.cc: Missed change from last but one commit.
14381
14382Thu Apr 24 13:44:48 GMT 2008  Olly Betts <olly@survex.com>
14383
14384	* matcher/queryoptimiser.cc: Reserve size of postlists vector.
14385
14386Thu Apr 24 13:38:51 GMT 2008  Olly Betts <olly@survex.com>
14387
14388	* include/xapian/postingsource.h,matcher/externalpostlist.cc,
14389	  matcher/externalpostlist.h,tests/api_db.cc: Add a default
14390	  PostingSource::get_description() method so users who don't care
14391	  aren't forced to define one.  Make PostingSource::reset() a standard
14392	  method and call it automatically so that a PostingSource-using
14393	  Query can be run more than once without extra work.
14394
14395Thu Apr 24 11:24:30 GMT 2008  Olly Betts <olly@survex.com>
14396
14397	* matcher/queryoptimiser.cc: Don't need <queue>.
14398
14399Thu Apr 24 04:50:43 GMT 2008  Olly Betts <olly@survex.com>
14400
14401	* tests/api_db.cc: Add test that boolean branches of matches don't
14402	  cause Xapian::PostingSource to be asked for weights.
14403
14404Thu Apr 24 03:27:39 GMT 2008  Olly Betts <olly@survex.com>
14405
14406	* matcher/externalpostlist.cc,matcher/externalpostlist.h,
14407	  matcher/queryoptimiser.cc: ExternalPostList now takes the
14408	  factor into account, so works with OP_SCALE_WEIGHT, and
14409	  doesn't call get_weight()/get_maxweight() for a boolean
14410	  branch.
14411	* tests/api_db.cc: Add tests for OP_SCALE_WEIGHT.
14412
14413Thu Apr 24 02:16:08 GMT 2008  Olly Betts <olly@survex.com>
14414
14415	* xapian-config.in: Back out --swigheaders.
14416
14417Wed Apr 23 11:37:45 GMT 2008  Olly Betts <olly@survex.com>
14418
14419	* matcher/externalpostlist.h: Need to initialise current.
14420
14421Wed Apr 23 07:57:35 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
14422
14423	* tests/termgentest.cc: Put the inclusion of "utils.h" back; needed
14424	  for om_tostring().
14425
14426Wed Apr 23 04:20:55 GMT 2008  Olly Betts <olly@survex.com>
14427
14428	* include/xapian/replication.h: Eliminate reference to FlintDatabase
14429	  from doc comment since it's not user-visible, and chert supports
14430	  replication too.  No need for '#include <xapian/database.h>' so
14431	  remove.  Remove references to non-existent parameter 'remotename'.
14432	  'DatabaseCorrupt error' -> 'DatabaseCorruptError'.
14433
14434Wed Apr 23 04:19:53 GMT 2008  Olly Betts <olly@survex.com>
14435
14436	* include/xapian/query.h: Wrap Xapian::Query::Internal class
14437	  definition in "#ifndef SWIG" ... "#endif" in preparation for getting
14438	  SWIG to directly parse it.
14439
14440Wed Apr 23 02:16:53 GMT 2008  Olly Betts <olly@survex.com>
14441
14442	* api/omquery.cc: Prefer string() to "".
14443
14444Wed Apr 23 02:16:10 GMT 2008  Olly Betts <olly@survex.com>
14445
14446	* include/xapian/query.h: Fix doc comment typo (doesn't affect API
14447	  docs).
14448
14449Wed Apr 23 00:59:40 GMT 2008  Olly Betts <olly@survex.com>
14450
14451	* api/postingsource.cc: Another missing file.
14452
14453Wed Apr 23 00:34:34 GMT 2008  Olly Betts <olly@survex.com>
14454
14455	* include/xapian/postingsource.h: New file missing from previous
14456	  commit.
14457
14458Wed Apr 23 00:30:34 GMT 2008  Olly Betts <olly@survex.com>
14459
14460	* api/Makefile.mk,api/omquery.cc,api/omqueryinternal.cc,
14461	  include/Makefile.mk,include/xapian.h,include/xapian/query.h,matcher/,
14462	  tests/api_db.cc: Add support for Xapian::PostingSource.
14463
14464Wed Apr 23 00:21:25 GMT 2008  Olly Betts <olly@survex.com>
14465
14466	* include/xapian.h: Fix misplaced comment.  Tweak doxygen comments for
14467	  version functions to be more consistent with others.
14468
14469Wed Apr 23 00:16:14 GMT 2008  Olly Betts <olly@survex.com>
14470
14471	* matcher/queryoptimiser.cc: Remove bogus comment from cut-and-paste.
14472
14473Wed Apr 23 00:14:30 GMT 2008  Olly Betts <olly@survex.com>
14474
14475	* common/omassert.h: Add AssertEqDoubleParanoid().
14476	* matcher/multimatch.cc: Use it instead of home-brewed version.
14477
14478Tue Apr 22 23:30:50 GMT 2008  Olly Betts <olly@survex.com>
14479
14480	* common/utils.h: Stop exporting internal functions needlessly.
14481
14482Tue Apr 22 12:53:55 GMT 2008  Olly Betts <olly@survex.com>
14483
14484	* bin/xapian-compact.cc: Fix to work again (broken by the splitting of
14485	  FlintTable::commit() into flush_db() and commit() in the replication
14486	  changes).  Don't bother passing tablename to functions where it
14487	  always has the same value.  Tweak the user-metadata copying loop to
14488	  make it clearer.  Reserve the right size for the vector used for
14489	  merging spellings.
14490
14491Tue Apr 22 12:28:17 GMT 2008  Olly Betts <olly@survex.com>
14492
14493	* backends/chert/chert_table.h,backends/flint/flint_table.h,
14494	  bin/xapian-compact.cc: Default commit's changes_fd parameter to -1.
14495
14496Tue Apr 22 11:39:10 GMT 2008  Olly Betts <olly@survex.com>
14497
14498	* common/omassert.h: Fix comment typo.
14499
14500Tue Apr 22 10:54:35 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
14501
14502	* tests/queryparsertest.cc: Add "utils.h" back - needed for
14503	  om_tostring() and mkdir().
14504
14505Mon Apr 21 07:48:45 GMT 2008  Olly Betts <olly@survex.com>
14506
14507	* tests/api_db.cc: Don't need <list>.  Wrap comment.
14508
14509Mon Apr 21 07:04:12 GMT 2008  Olly Betts <olly@survex.com>
14510
14511	* api/omqueryinternal.cc,backends/chert/chert_check.cc,
14512	  backends/flint/flint_check.cc,tests/: Remove various needless
14513	  inclusions of headers (especially <iostream>).  Reorder headers.
14514	  Wrap a couple of comments.  Append single characters to strings
14515	  using character constants.
14516
14517Mon Apr 21 06:26:49 GMT 2008  Olly Betts <olly@survex.com>
14518
14519	* api/Makefile.mk,api/valuerangeproccompat.cc,
14520	  include/xapian/queryparser.h: Remove the
14521	  v102::NumberValueRangeProcessor ABI-preserving machinery since it's
14522	  OK to change the ABI for 1.1.0.
14523
14524Mon Apr 21 04:42:52 GMT 2008  Olly Betts <olly@survex.com>
14525
14526	* api/,queryparser/queryparser.cc: Remove debug log tracing from
14527	  get_description() methods since the debug log call tracing *calls*
14528	  get_description() methods on parameters, so logging these calls just
14529	  makes for more confusing debug logs.  A get_description() method
14530	  should have no side-effects so it's not very interesting even when
14531	  explicitly called by the user.
14532	* common/omdebug.h: Replace "OM_DEBUG_INTRO" class with dummy
14533	  placeholder (to preserve numbering), to help prevent accidentally
14534	  adding these back.
14535
14536Sun Apr 20 09:46:11 GMT 2008  Olly Betts <olly@survex.com>
14537
14538	* api/omqueryinternal.cc,common/: Stop describing get_description() as
14539	  an "Introspection method" internal (matching earlier change to stop
14540	  doing so externally).  This doesn't help to explain what it does,
14541	  and get_description() doesn't actually fall under any of the formal
14542	  definitions of "introspection" I can find.
14543
14544Fri Apr 18 10:26:18 GMT 2008  Olly Betts <olly@survex.com>
14545
14546	* backends/chert/chert_metadata.cc: Fix renamed parameter in debug
14547	  logging.
14548
14549Fri Apr 18 10:18:35 GMT 2008  Olly Betts <olly@survex.com>
14550
14551	* HACKING,INSTALL,Makefile.am,backends/Makefile.mk,backends/chert/,
14552	  backends/database.cc,backends/flint/,backends/remote/net_postlist.cc,
14553	  backends/remote/net_postlist.h,bin/,common/,configure.ac,docs/,
14554	  include/xapian/dbfactory.h,include/xapian/version_h.cc,
14555	  net/remoteserver.cc,tests/Makefile.am,tests/harness/: Start new
14556	  development backend "chert".  Currently the change over flint is
14557	  that in the postlist table, doclengths are stored once in a
14558	  chunked postlist-like form, rather than once per posting.
14559
14560Tue Apr 15 23:24:39 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
14561
14562	* api/omenquire.cc,tests/api_nodb.cc: Fix segfault introduced by
14563	  previous change when asking for the termfreq on an empty mset.
14564	  Include a regression test.
14565
14566Tue Apr 15 06:02:12 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
14567
14568	* include/xapian/enquire.h: Change definition of MSet::get_termfreq
14569	  such that it will fall back to looking the term frequency up in
14570	  the database rather than raising an exception if the term is not
14571	  present in the mset.
14572	* api/omenquire.cc,common/omenquireinternal.h: Implementation of
14573	  the above.
14574	* tests/api_anydb.cc: Test the above.
14575
14576Mon Apr 14 21:29:59 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
14577
14578	* tests/: Use copies of freemem.cc and freemem.h from omega to report
14579	  the free physical memory at each stage of indexing.  Also, add a
14580	  get_total_physical_memory() function to this, and report it's
14581	  value at the top of the results file (only tested on Linux so
14582	  far).
14583
14584Mon Apr 14 19:17:22 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
14585
14586	* tests/api_wrdb.cc: Make skip_to() test a bit more comprehensive.
14587
14588Mon Apr 14 19:08:49 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
14589
14590	* backends/flint/flint_metadata.cc,backends/flint/flint_metadata.h:
14591	  Fix a bug in the skip_to() implementation, and set the parameter
14592	  name to "key" instead of "tname", since it's not a term.
14593	* tests/api_wrdb.cc: Add a test of the metadata iterators.
14594
14595Mon Apr 14 14:22:16 GMT 2008  Olly Betts <olly@survex.com>
14596
14597	* backends/Makefile.mk,backends/flint/Makefile.mk,
14598	  backends/flint/contiguousalldocspostlist.cc,
14599	  backends/flint/contiguousalldocspostlist.h,common/Makefile.mk:
14600	  The ContiguousAllDocsPostList class isn't flint-specific, so move
14601	  it out of backends/flint.
14602
14603Mon Apr 14 13:56:51 GMT 2008  Olly Betts <olly@survex.com>
14604
14605	* backends/flint/flint_database.cc: Removed duplicate
14606	  '#include "flint_database.h"', ironically added by Richard's recent
14607	  change.  Fix a couple of errors in alphabetical ordering, and
14608	  move autoptr.h and the "safe" headers to where the standard headers
14609	  they replace would go.
14610
14611Mon Apr 14 13:44:37 GMT 2008  Olly Betts <olly@survex.com>
14612
14613	* Makefile.am,tests/Makefile.am: List check-perf in .PHONY.
14614	* HACKING: Document the need to list non-file targets in .PHONY.
14615
14616Mon Apr 14 07:59:56 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
14617
14618	* api/omdatabase.cc: Correct return type in a DEBUGAPICALL macro.
14619
14620Mon Apr 14 07:14:01 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
14621
14622	* api/omdatabase.cc,backends/database.cc,backends/flint/,
14623	  common/database.h,include/xapian/database.h: Add
14624	  metadata_keys_begin() and metadata_keys_end() methods to
14625	  Database, to allow the complete list of metadata in a database to
14626	  be retrieved.  Supports a prefix argument to obtain a limited
14627	  subset of the keys, since that may be useful in some situations
14628	  and is very easy to implement.  Only accesses the keys in the
14629	  first database in a multidatabase situation (which corresponds
14630	  with the current behaviour of get_metadata()).
14631	  Also, reorder the includes in flint_database.cc to be largely
14632	  alphabetical, and remove a duplicated #include of
14633	  <xapian/error.h>.
14634
14635Mon Apr 14 06:51:48 GMT 2008  Olly Betts <olly@survex.com>
14636
14637	* common/fileutils.cc: Use endswith().
14638
14639Mon Apr 14 06:14:44 GMT 2008  Olly Betts <olly@survex.com>
14640
14641	* api/replication.cc,backends/database.cc,
14642	  backends/flint/flint_database.cc,common/fileutils.cc,
14643	  tests/queryparsertest.cc: Use empty() rather than comparing size()
14644	  to 0.  Use startswith() in a couple of places.  Tweak an Assert
14645	  to AssertEq.
14646
14647Sun Apr 13 14:30:55 GMT 2008  Olly Betts <olly@survex.com>
14648
14649	* api/omdatabase.cc: Replace uses of DEBUGLINE(SPELLING, ...) in
14650	  Database::get_spelling_suggestion() with standard
14651	  DEBUGAPICALL/RETURN tracing.  Add DEBUGAPICALL/RETURN tracing to
14652	  a few Database methods which were missing it.
14653
14654Sun Apr 13 14:15:00 GMT 2008  Olly Betts <olly@survex.com>
14655
14656	* backends/flint/flint_cursor.cc: Use RETURN() in a few places which
14657	  weren't.
14658
14659Sun Apr 13 13:59:57 GMT 2008  Olly Betts <olly@survex.com>
14660
14661	* backends/inmemory/inmemory_database.cc: Remove long-time commented
14662	  out uses of DebugMsg.
14663
14664Sun Apr 13 13:52:32 GMT 2008  Olly Betts <olly@survex.com>
14665
14666	* expand/expandweight.cc: Use DEBUGLINE() instead of DEBUGMSG().
14667
14668Sun Apr 13 11:23:56 GMT 2008  Olly Betts <olly@survex.com>
14669
14670	* backends/flint/flint_database.cc: Include corresponding header right
14671	  after config.h.
14672
14673Sun Apr 13 10:28:27 GMT 2008  Olly Betts <olly@survex.com>
14674
14675	* backends/flint/flint_database.cc: Tweak brace formatting and wrap a
14676	  comment.
14677
14678Fri Apr 11 16:18:14 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
14679
14680	* common/fileutils.cc: Fix typo in windows specific code.
14681
14682Fri Apr 11 12:44:25 GMT 2008  Olly Betts <olly@survex.com>
14683
14684	* backends/flint/flint_cursor.cc: Include corresponding header right
14685	  after config.h.
14686
14687Fri Apr 11 10:25:03 GMT 2008  Olly Betts <olly@survex.com>
14688
14689	* backends/flint/flint_cursor.h: Fix filename in header comment.
14690
14691Fri Apr 11 04:49:03 GMT 2008  Olly Betts <olly@survex.com>
14692
14693	* configure.ac,tests/submitperftest.in,tests/submitperftest.py.in:
14694	  Rename submitperftest.py to submitperftest.
14695	* HACKING: Document that scripts shouldn't generally have an
14696	  extension, and the reason for this policy.
14697
14698Fri Apr 11 04:32:15 2008  Olly Betts <olly@survex.com>
14699
14700	* HACKING: Note that GCC 4.3 no longer supports pre-ISO forms of
14701	  standard headers, such as <list.h>.  GCC on Solaris now seems
14702	  to support throwing exceptions across shared library boundaries.
14703
14704Fri Apr 11 03:24:47 GMT 2008  Olly Betts <olly@survex.com>
14705
14706	* tests/Makefile.am: "make up" in tests now does "make" in the
14707	  top-level.
14708
14709Thu Apr 10 08:33:06 GMT 2008  Olly Betts <olly@survex.com>
14710
14711	* backends/flint/flint_postlist.cc: Fix debug logging message: ostList
14712	  -> FlintPostList.
14713
14714Thu Apr 10 05:47:37 GMT 2008  Olly Betts <olly@survex.com>
14715
14716	* net/remoteconnection.cc: Remove erroneous FIXME comments talking
14717	  about ReadFile() not updating WSAOVERLAPPED's Offset/OffsetHigh
14718	  being a problem with using _get_osfhandle() - ReadFile is documented
14719	  to behave this way on MSDN.  Factor out update of Offset/OffsetHigh
14720	  and tweak this code not to rely on off_t being 64 bits.
14721
14722Thu Apr 10 05:24:11 GMT 2008  Olly Betts <olly@survex.com>
14723
14724	* backends/flint/flint_record.cc,backends/flint/flint_utils.h: Use
14725	  the new STATIC_ASSERT family of macros instead of CASSERT and
14726	  CASSERT_TYPE_UNSIGNED.
14727
14728Thu Apr 10 04:46:40 GMT 2008  Olly Betts <olly@survex.com>
14729
14730	* common/omassert.h: Add "compile-time assertion" macros:
14731	  STATIC_ASSERT(COND), STATIC_ASSERT_UNSIGNED_TYPE(TYPE),
14732	  STATIC_ASSERT_TYPE_DOMINATES(TYPE1, TYPE2).
14733	* tests/internaltest.cc: Test these.
14734
14735Thu Apr 10 01:07:34 GMT 2008  Olly Betts <olly@survex.com>
14736
14737	* common/remoteprotocol.h,net/remoteserver.cc: Clean up a couple more
14738	  things now we've moved to major protocol version 31.
14739
14740Wed Apr 09 06:50:44 GMT 2008  Olly Betts <olly@survex.com>
14741
14742	* backends/remote/remote-database.cc: Add missing explicit include of
14743	  remote-database.h.
14744
14745Wed Apr 09 04:48:54 GMT 2008  Olly Betts <olly@survex.com>
14746
14747	* bin/xapian-check.cc,bin/xapian-compact.cc: Fix check for user
14748	  metadata key to not match other key types we may add in the future.
14749	  When compacting, we can't assume how we should handle them.  When
14750	  checking, they currently shouldn't be present, so we should flag
14751	  an error for them.
14752
14753Tue Apr 08 15:27:09 GMT 2008  Olly Betts <olly@survex.com>
14754
14755	* NEWS: Fix missing line in old entry.
14756
14757Mon Apr 07 07:49:56 GMT 2008  Olly Betts <olly@survex.com>
14758
14759	* backends/flint/flint_btreeutil.h: Use AssertRel rather than Assert.
14760
14761Mon Apr 07 06:20:42 GMT 2008  Olly Betts <olly@survex.com>
14762
14763	* api/error.cc,api/valuerangeproc.cc,backends/flint/flint_table.cc,
14764	  backends/multi/multi_postlist.cc,backends/remote/net_termlist.cc,
14765	  bin/xapian-inspect.cc,common/omdebug.cc,common/utils.cc,
14766	  languages/stem.cc,languages/steminternal.cc,
14767	  tests/harness/backendmanager_multi.cc,
14768	  tests/harness/backendmanager_remotetcp.cc: Header inclusions tidying
14769	  - remove a few redundant inclusions; prefer cstdio to stdio.h, etc
14770	  in a few places; note why certain headers are required in cases
14771	  where it's less obvious; in a .cc file, include the corresponding .h
14772	  second (after <config.h>).
14773
14774Mon Apr 07 04:23:30 GMT 2008  Olly Betts <olly@survex.com>
14775
14776	* configure.ac: Fix --enable-log=profile to be recognised.
14777	* common/omdebug.cc,common/omdebug.h: Fix build with
14778	  --enable-log=profile.
14779	* HACKING: Actually document --enable-log=profile.
14780
14781Sat Apr 05 21:07:38 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
14782
14783	* tests/perftest.cc: Flush after each write, so we can monitor
14784	  progress of long running tests (we might need to remove this
14785	  again later, if profiling shows it has a noticeable impact).  Fix
14786	  two calls to write() to be a single call.
14787	* tests/perftest_randomidx.cc: Add values to different slots; I'd
14788	  added them all to slot 0 by mistake, so they were overwriting
14789	  each other.
14790
14791Sat Apr 05 20:17:43 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
14792
14793	* tests/Makefile.am,tests/perftest_randomidx.cc: Add a new
14794	  performance test which builds a randomly generated index, and
14795	  times the index run.  Probably wants a bit more tweaking to make
14796	  it slightly more representative, but should be a useful test to
14797	  run on systems where downloading a large amount of data is
14798	  impractical.
14799	* ChangeLog: Add missing log message for last commit.
14800
14801Sat Apr 05 20:16:58 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
14802
14803	* tests/perftest.cc,tests/perftest.h: Log indexing runs every 5
14804	  seconds, as well as after every 1000 documents - gives useful
14805	  information for slow index runs.
14806
14807Thu Apr 03 20:58:31 GMT 2008  Olly Betts <olly@survex.com>
14808
14809	* backends/database.cc,include/xapian/dbfactory.h,
14810	  include/xapian/version_h.cc: Remove lingering traces of quartz.
14811
14812Thu Apr 03 07:59:53 GMT 2008  Olly Betts <olly@survex.com>
14813
14814	* bin/xapian-inspect.cc: Print top-bit-set characters as escaped
14815	  hex forms as they often won't be valid UTF-8 sequences.
14816
14817Thu Apr 03 03:53:37 GMT 2008  Olly Betts <olly@survex.com>
14818
14819	* bin/xapian-inspect.cc: Check for the user passing a database
14820	  directory and issue a special error message since this is an obvious
14821	  mistake to make.
14822
14823Wed Apr 02 07:00:36 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
14824
14825	* matcher/multimatch.cc: Modify the estimate for the number of hits
14826	  based on the rate at which a match decider has been denying
14827	  documents.  Also, reduce the upper bound based on the number of
14828	  documents denied.
14829	* tests/api_db.cc: Check that the upper bound when a match decider
14830	  is used is within the valid range, rather than a particular
14831	  value.
14832
14833Tue Apr 01 22:40:19 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
14834
14835	* configure.ac,tests/perftest.cc,tests/submitperftest.py.in,
14836	  tests/urllib2_file.py: Fix display of upper bound on number of
14837	  results of search (was showing lower bound).  Fix display of
14838	  closing <repetition> tags.  Add script to submit the results of a
14839	  performance test to a central server.
14840
14841Tue Apr 01 11:19:58 GMT 2008  Olly Betts <olly@survex.com>
14842
14843	* backends/flint/flint_table.cc,backends/flint/flint_table.h:
14844	  Gently rearrange where and how we check for overlong keys.
14845	* tests/api_wrdb.cc: Extend termtoolong1 to test that the "term too
14846	  long" exception messages contain the length correctly.
14847
14848Tue Apr 01 06:06:43 GMT 2008  Olly Betts <olly@survex.com>
14849
14850	* AUTHORS,HACKING,INSTALL,README,debian/control.in,debian/copyright,
14851	  docs/install.html,xapian-core.spec.in: Standardise URLs on our
14852	  website to be xapian.org not www.xapian.org.
14853
14854Tue Apr 01 03:44:32 GMT 2008  Olly Betts <olly@survex.com>
14855
14856	* backends/flint/flint_record.cc,backends/flint/flint_values.cc,
14857	  common/,docs/quickstartexpand.cc.html,docs/quickstartindex.cc.html,
14858	  docs/quickstartsearch.cc.html,matcher/: Update the FSF address for
14859	  the small number of files which still have the old one.  Remove the
14860	  "START_LICENCE" and "END_LICENCE" markers from the small number of
14861	  files which still have them.
14862
14863Tue Apr 01 02:23:27 GMT 2008  Olly Betts <olly@survex.com>
14864
14865	* backends/remote/remote-database.cc,common/remoteprotocol.h,
14866	  common/remoteserver.h,common/serialise.h,docs/remote_protocol.html,
14867	  net/remoteserver.cc,net/serialise.cc: Update remote protocol to
14868	  a new major version (31) and strip out all the gunk that's only
14869	  there to keep it compatible with older version 30 clients.
14870
14871Tue Apr 01 00:12:38 GMT 2008  Olly Betts <olly@survex.com>
14872
14873	* api/ompostlistiterator.cc,include/xapian/postingiterator.h: Remove
14874	  the method Xapian::PostingIterator::get_weight() which has been
14875	  commented out almost forever.  Weight-handling isn't really
14876	  appropriate here.
14877	* api/ompostlistiterator.cc: Remove "\todo" since it's already done!
14878
14879Mon Mar 31 13:24:11 GMT 2008  Olly Betts <olly@survex.com>
14880
14881	* backends/flint/: Remove unnecessary default dtors.
14882
14883Mon Mar 31 13:21:55 GMT 2008  Olly Betts <olly@survex.com>
14884
14885	* HACKING: Document to prefer "new SomeClass" to "new SomeClass()".
14886	* api/omdocument.cc,api/omenquire.cc,backends/database.cc,
14887	  backends/flint/flint_database.cc,
14888	  backends/inmemory/inmemory_database.cc,matcher/multimatch.cc,
14889	  matcher/queryoptimiser.cc,net/remoteserver.cc: Fix instances of
14890	  the latter form to use the former form.
14891
14892Mon Mar 31 12:11:09 GMT 2008  Olly Betts <olly@survex.com>
14893
14894	* tests/: Update svn:ignore property for perftest changes and remove
14895	  quartz-related entries.
14896	* tests/perftest.cc: Add missing '#include "utils.h"'.
14897
14898Mon Mar 31 09:22:35 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
14899
14900	* Makefile.am,tests/,tests/harness/,tests/perftest.cc,tests/perftest.h,
14901	  tests/perftest_matchdecider.cc: Rework the test collation
14902	  mechanism slightly to allow it to be used by other testsuites:
14903	  rename collate-apitest to collate-test, and add a parameter to it
14904	  naming the output file.  Add new "testrunner.h" and
14905	  "testrunner.cc" which are an equivalent to the old mechanism in
14906	  apitest for running tests with various properties; the properties
14907	  for each backend are now held as member variables of a TestRunner
14908	  class, and testsuites (eg, apitest) subclass this and implement a
14909	  "run()" method, which will be called for each backend with the
14910	  appropriate properties set.  Move definition of DEFINE_TESTCASE
14911	  macro into testsuite.h.  Add new testsuite "perftest", which is
14912	  intended to contain potentially time consuming performance tests,
14913	  logging the results to an XML file for later analysis.  Add a
14914	  simple test of the ValueSetMatchDeciders to this testsuite.
14915	  "perftest" isn't run by make check, because it is likely to take
14916	  some hours to complete in future - instead, there's a new
14917	  top-level target "check-perf" which builds and runs perftest.
14918
14919Mon Mar 31 08:13:21 GMT 2008  Olly Betts <olly@survex.com>
14920
14921	* HACKING: Recommend using the "svn-ci" script.  Update the date
14922	  command which produces the correct format timestamp for ChangeLog
14923	  entries.
14924
14925Mon Mar 31 08:00:58 GMT 2008  Olly Betts <olly@survex.com>
14926
14927	* backends/flint/flint_btreeutil.h: Fix some out-of-date comments.
14928	* configure.ac: Use AC_CHECK_SIZEOF to define SIZEOF_INT and
14929	  SIZEOF_LONG.
14930	* backends/flint/flint_types.h: Use SIZEOF_INT and SIZEOF_LONG to
14931	  determine the type of uint4 rather than always using unsigned long
14932	  (which is 64 bits on most 64 bit Unix platforms).  Drop int4 for
14933	  the time being, as we don't actually use it.
14934
14935Mon Mar 31 06:34:20 GMT 2008  Olly Betts <olly@survex.com>
14936
14937	* backends/flint/flint_positionlist.cc: Refactor BitWriter::encode()
14938	  to have a single call to write_bits(), and don't include it inline
14939	  in the class as it's really a bit big to inline (and write_bits()
14940	  should now be inlined into it, or at least tail-called).
14941
14942Mon Mar 31 05:33:02 GMT 2008  Olly Betts <olly@survex.com>
14943
14944	* backends/flint/flint_positionlist.cc: Reorder header includes to
14945	  match our new standard more closely.  Indent class definitions to
14946	  match our coding standards.
14947
14948Mon Mar 31 05:31:59 GMT 2008  Olly Betts <olly@survex.com>
14949
14950	* backends/flint/flint_positionlist.h: Remove unnecessary default
14951	  dtor.
14952
14953Mon Mar 31 04:55:59 GMT 2008  Olly Betts <olly@survex.com>
14954
14955	* backends/remote/net_document.cc,backends/remote/net_document.h:
14956	  Rename "doc" member to "data" since it actually holds the document
14957	  data.
14958
14959Mon Mar 31 03:25:21 GMT 2008  Olly Betts <olly@survex.com>
14960
14961	* backends/flint/flint_document.cc,backends/flint/flint_document.h:
14962	  Remove unnecessary default dtor.
14963
14964Mon Mar 31 02:53:48 GMT 2008  Olly Betts <olly@survex.com>
14965
14966	* backends/inmemory/inmemory_alltermslist.cc,
14967	  backends/inmemory/inmemory_alltermslist.h: Remove unnecessary
14968	  default dtor.
14969	* backends/inmemory/inmemory_alltermslist.h: Fix bogus cut-and-pasted
14970	  doxygen comment for ctor.
14971
14972Mon Mar 31 02:33:15 GMT 2008  Olly Betts <olly@survex.com>
14973
14974	* common/inmemory_positionlist.h: Remove unnecessary default
14975	  destructor.  Fix comment type ("inemory" -> "inmemory").
14976
14977Sun Mar 30 12:47:50 GMT 2008  Olly Betts <olly@survex.com>
14978
14979	* include/xapian/queryparser.h: Drop explicit dtor for SimpleStopper
14980	  which does nothing.
14981
14982Sun Mar 30 12:12:12 GMT 2008  Olly Betts <olly@survex.com>
14983
14984	* include/xapian/valuesetmatchdecider.h: Don't bother checking if an
14985	  element is present before calling std::set::erase().  Don't bother
14986	  defining an explicit dtor which does nothing.
14987
14988Sat Mar 29 00:46:13 GMT 2008  Olly Betts <olly@survex.com>
14989
14990	* tests/api_db.cc: Test matchfunctor bounds in combination with
14991	  collapsing and percentage cutoff.  Also, range check
14992	  get_matches_estimated rather than checking it's exactly the value
14993	  currently returned.
14994
14995Fri Mar 28 21:37:27 GMT 2008  Olly Betts <olly@survex.com>
14996
14997	* tests/api_nodb.cc: Test ValueSetMatchDecider::remove_value() for a
14998	  value which isn't in the set.  Test that removing a value doesn't
14999	  affect other values in the set.
15000
15001Fri Mar 28 21:03:30 GMT 2008  Olly Betts <olly@survex.com>
15002
15003	* matcher/multimatch.cc: Avoid needless call to pl->get_termfreq_est()
15004	  if we're using a matchdecider or matchspy.
15005
15006Fri Mar 28 10:28:51 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15007
15008	* matcher/multimatch.cc: Set matches_lower_bound to 0 before
15009	  starting the match process if there is a match decider or spy;
15010	  previously, the lower_bound wasn't being reduced in the presence
15011	  of a match decider unless all the potential results were
15012	  retrieved.
15013	* tests/api_db.cc: Extend matchfunctor1 to check the bounds and
15014	  estimates returned; includes a regression test for the above.
15015
15016Fri Mar 28 09:09:54 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15017
15018	* tests/api_nodb.cc: Extend tests to check ValueSetMatchDecider
15019	  remove_value and also ValueSetMatchDeciders holding more than one
15020	  value.
15021
15022Fri Mar 28 02:41:45 GMT 2008  Olly Betts <olly@survex.com>
15023
15024	* configure.ac: Update version info to match 1.0.6.
15025
15026Fri Mar 28 00:12:48 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15027
15028	* api/omenquire.cc,include/xapian/enquire.h: Merge two of the
15029	  get_mset() variants into one, with default arguments, which has
15030	  exactly the same effect.  We added the two variants to preserve
15031	  ABI compatibility, and now we're branched for 1.1 this is no
15032	  longer necessary.
15033
15034Thu Mar 27 23:54:39 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15035
15036	* api/valuesetmatchdecider.cc,include/xapian.h,
15037	  include/xapian/valuesetmatchdecider.h: Add ValueSetMatchDecider,
15038	  which is a matchdecider which is intended to be passed a set of
15039	  values to look for in documents, and selects documents based on
15040	  the presence of those values.
15041	* tests/api_db.cc,tests/api_nodb.cc: Add tests for the
15042	  ValueSetMatchDecider - both for calling it standalone, and when
15043	  passed to get_mset().
15044	* api/Makefile.mk,include/Makefile.mk: Tell build system about new
15045	  files.
15046
15047Thu Mar 27 06:18:52 GMT 2008  Olly Betts <olly@survex.com>
15048
15049	* api/omqueryinternal.cc: Initialise term_pos in previous change to
15050	  fix valgrind-detected error.
15051
15052Thu Mar 27 06:13:01 GMT 2008  Olly Betts <olly@survex.com>
15053
15054	* api/omqueryinternal.cc: Optimise Query(OP_VALUE_GE, <n>, "") to
15055	  Query::MatchAll.
15056	* tests/api_nodb.cc: Add testcase for this case.
15057
15058Thu Mar 27 04:34:40 GMT 2008  Olly Betts <olly@survex.com>
15059
15060	* backends/inmemory/inmemory_document.cc,
15061	  backends/inmemory/inmemory_document.h: Rename "doc" member to
15062	  "data" since it actually holds the document data.
15063	* backends/inmemory/inmemory_database.cc: Remove unused <stdio.h>.
15064	  Include "inmemory_database.h" right after <config.h>.
15065
15066Wed Mar 26 23:44:03 GMT 2008  Olly Betts <olly@survex.com>
15067
15068	* api/omenquire.cc: Throw InvalidArgumentError upon
15069	  RSet::add_document(0).
15070	* tests/api_nodb.cc: Add regression test for this.
15071	* matcher/rset.cc: Add assertion that we don't see a zero docid when
15072	  calculating rtermfreqs.
15073	* api/omdocument.cc: Use RETURN not return so debug logging sees the
15074	  return value.
15075	* backends/inmemory/inmemory_database.cc,
15076	  backends/remote/remote-database.cc: Change exception throwing for
15077	  a zero docid to assertions since zero docids should be checked for
15078	  before we get to here.
15079
15080Wed Mar 26 06:17:51 GMT 2008  Olly Betts <olly@survex.com>
15081
15082	* common/postlist.h: Decree that PostList::check() must be passed a
15083	  docid which actually exists in the database (which is always true
15084	  currently and seems unlikely to be an onerous requirement).
15085	* matcher/valuegepostlist.cc,matcher/valuerangepostlist.cc: Take
15086	  advantage of this new precondition to simplify the code.
15087	* matcher/valuegepostlist.cc,matcher/valuerangepostlist.cc: Move the
15088	  corresponding header first as our header inclusion order guidelines
15089	  recommend.
15090
15091Thu Mar 13 01:58:18 GMT 2008  Olly Betts <olly@survex.com>
15092
15093	* common/stats.h,include/xapian/enquire.h,matcher/localmatch.cc,
15094	  matcher/weight.cc: Untangle Xapian::Weight to just initialise
15095	  internal to 0 in its ctor, which is an ABI change.  Resolves
15096	  a load of FIXME:1.1 comments.
15097
15098Thu Mar 13 00:50:06 GMT 2008  Olly Betts <olly@survex.com>
15099
15100	* backends/flint/flint_lock.cc: Remove workaround for newlib which we
15101	  don't seem to need elsewhere and was marked "FIXME:1.1".
15102
15103Thu Mar 13 00:49:27 GMT 2008  Olly Betts <olly@survex.com>
15104
15105	* docs/deprecation.rst: Fix footnote ids after deprecation updates.
15106
15107Wed Mar 12 10:08:37 GMT 2008  Olly Betts <olly@survex.com>
15108
15109	* tests/stemtest.cc: Remove support for OM_STEMTEST_SKIP_RANDOM,
15110	  OM_STEMTEST_LANGUAGES, and OM_STEMTEST_SEED.
15111
15112Wed Mar 12 08:30:48 GMT 2008  Olly Betts <olly@survex.com>
15113
15114	* docs/deprecation.rst: Update for bindings removals for 1.1.0.
15115
15116Wed Mar 12 06:59:25 GMT 2008  Olly Betts <olly@survex.com>
15117
15118	* docs/deprecation.rst: Update for Omega removals for 1.1.0.
15119
15120Wed Mar 12 05:11:53 GMT 2008  Olly Betts <olly@survex.com>
15121
15122	* api/omenquire.cc,api/omquery.cc,api/version.cc,docs/,
15123	  generate-exceptions.in,include/xapian.h,include/xapian/enquire.h,
15124	  include/xapian/query.h,tests/api_db.cc,tests/api_wrdb.cc,
15125	  tests/apitest.cc,tests/harness/,tests/internaltest.cc: Remove all
15126	  xapian-core features marked for removal in 1.1.0.
15127
15128Wed Mar 12 03:28:18 GMT 2008  Olly Betts <olly@survex.com>
15129
15130	* HACKING,INSTALL,Makefile.am,backends/Makefile.mk,
15131	  backends/dir_contents,backends/quartz/,bin/,configure.ac,docs/,
15132	  tests/,tests/harness/,tests/quartztest.cc,tests/testdata/,
15133	  xapian-core.spec.in: Remove the quartz backend.
15134
15135Wed Mar 12 02:14:33 GMT 2008  Olly Betts <olly@survex.com>
15136
15137	* m4/xapian.m4: Improve wording of the error message when we can't
15138	  find xapian-config.
15139
15140Wed Mar 12 02:13:32 GMT 2008  Olly Betts <olly@survex.com>
15141
15142	* INSTALL: Minor wording tweak.
15143
15144Wed Mar 12 01:44:42 GMT 2008  Olly Betts <olly@survex.com>
15145
15146	* bin/xapian-compact.cc: Initialise PostlistCursor member firstdid to
15147	  avoid using it uninitialised when merging user metadata and the same
15148	  key is present in more than one source database.  If the same user
15149	  metadata key is present in more than one source database, copy an
15150	  arbitrary tag value.
15151
15152Wed Mar 12 00:34:04 GMT 2008  Olly Betts <olly@survex.com>
15153
15154	* bin/xapian-compact.cc: Fix potential SEGV (which I think can occur
15155	  when compacting database(s) with user metadata but no postings).
15156
15157Fri Mar 07 09:46:38 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15158
15159	* common/serialise.h: Add missing std:: before string.
15160
15161Fri Mar 07 00:47:06 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15162
15163	* api/replication.cc: Tidy up a line which was wider than 80
15164	  columns, and improve the error message returned when a database
15165	  replica doesn't contain exactly one subdatabase.
15166
15167Fri Mar 07 00:34:28 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15168
15169	* common/serialise.h,net/remoteconnection.cc,net/serialise.cc:
15170	  Change encode_length() to a template, to allow the full range of
15171	  off_t values to be encoded.  Also, adjust
15172	  RemoteConnection::get_message_chunked() to allow the message
15173	  length to be a 64 bit quantity.  Also, make a couple of type
15174	  conversions to size_t explicit, to remove some warnings on
15175	  windows.
15176
15177Thu Mar 06 01:57:04 GMT 2008  Olly Betts <olly@survex.com>
15178
15179	* NEWS: Update from ChangeLog.
15180
15181Thu Mar 06 01:44:07 GMT 2008  Olly Betts <olly@survex.com>
15182
15183	* bin/xapian-check.cc: Fix terminology - "user metadata" not "user
15184	  metainfo".  Fix bug - need to invoke is_user_metadata rather than
15185	  using the function pointer as the if condition!
15186
15187Thu Mar 06 01:41:09 GMT 2008  Olly Betts <olly@survex.com>
15188
15189	* bin/xapian-compact.cc: Fix terminology - "user metadata" not "user
15190	  metainfo".
15191
15192Wed Mar 05 21:17:02 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15193
15194	* net/remoteconnection.cc: Add some casts (in the windows-specific
15195	  code) to fix some warnings from MSVC.
15196
15197Wed Mar 05 19:01:35 GMT 2008  Olly Betts <olly@survex.com>
15198
15199	* NEWS: Update to 1.0 branch point.
15200
15201Wed Mar 05 19:00:07 GMT 2008  Olly Betts <olly@survex.com>
15202
15203	* common/msvc_dirent.cc: Tweak to bring comment back into 80 columns.
15204
15205Wed Mar 05 16:35:33 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15206
15207	* common/msvc_dirent.cc: Fix sense of check for ENOENT after
15208	  calling _findnext() - it should be checked for when an error code
15209	  is returned, not when the call succeeds.
15210	* tests/api_replicate.cc: Fix tiny capitalisation typo.
15211
15212Wed Mar 05 16:29:47 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15213
15214	* common/fileutils.cc: Check case where a backslash isn't found in
15215	  calc_dirname, and don't replace slash with backslash in this
15216	  case.
15217
15218Wed Mar 05 09:30:42 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15219
15220	* bin/xapian-check.cc: Add understanding of user metainfo keys in
15221	  the postlist table.  Allow the METAINFO key to be absent if the
15222	  table only contains user metainfo keys.
15223
15224Wed Mar 05 09:01:48 GMT 2008  Olly Betts <olly@survex.com>
15225
15226	* common/msvc_dirent.cc,common/msvc_dirent.h: Move licence boilerplate
15227	  up front where we have it in every other file.  Move header guards
15228	  to the usual location.  Detail the fix we've made for not setting
15229	  errno to ENOENT erroneously.  Push the setting of orig_errno down
15230	  a bit.
15231
15232Wed Mar 05 04:57:44 GMT 2008  Olly Betts <olly@survex.com>
15233
15234	* configure.ac: -pedantic isn't actually very useful so just drop it
15235	  rather than testing for known problem cases and risking unknown
15236	  problem cases.
15237
15238Wed Mar 05 03:10:24 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15239
15240	* matcher/valuegepostlist.cc,matcher/valuegepostlist.h: Implement
15241	  skip_to method for ValueGePostList.  Previously, the
15242	  ValueRangePostList::skip_to method was used, which would
15243	  return incorrect documents.
15244
15245Wed Mar 05 02:54:27 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15246
15247	* common/fileutils.cc: Search for \ instead of / when looking for a
15248	  backslash!
15249
15250Wed Mar 05 02:51:49 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15251
15252	* common/fileutils.cc: Fix incorrect docstring.
15253
15254Tue Mar 04 18:48:25 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15255
15256	* common/msvc_dirent.cc: Fix readdir() so that it doesn't change
15257	  errno to ENOENT on reaching the end of the directory, as
15258	  specified by POSIX.
15259
15260Tue Mar 04 17:54:56 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15261
15262	* net/remoteconnection.cc: Fix for a problem with windows.  Because
15263	  we're using mixed styles of windows file IO, if a file descriptor
15264	  which actually corresponds to a file was supplied to remote
15265	  connection, the file pointer wasn't being adjusted after each
15266	  call to ReadFile or WriteFile.  This manifested in the test case
15267	  for replication, resulting in a (corrupt) 2048 byte changeset
15268	  file being written (instead of a considerably longer changeset).
15269	  To work around this, we explicitly move the file pointer
15270	  ourselves.
15271
15272Tue Mar 04 17:41:38 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15273
15274	* tests/api_replicate.cc: Close the replica before removing the
15275	  temporary directory, to allow the rmdir to work on windows.
15276
15277Thu Feb 28 16:41:34 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15278
15279	* common/remoteconnection.h: Include safeunistd.h, to get correct
15280	  typedef for off_t on windows - previously, the size of the
15281	  RemoteConnection class was varying depending on the order in
15282	  which header files were included, resulting in memory corruption.
15283	* net/remoteserver.cc: Remove incorrect comment about what the
15284	  problem was.
15285
15286Sat Feb 23 23:40:56 GMT 2008  Olly Betts <olly@survex.com>
15287
15288	* xapian-config.in: Use globbing rather than iterating over the output
15289	  of ls.
15290
15291Sat Feb 23 23:33:39 GMT 2008  Olly Betts <olly@survex.com>
15292
15293	* xapian-config.in: Fix not to repeated headers in --swigheaders in a
15294	  non-VPATH build.
15295
15296Fri Feb 22 17:20:19 GMT 2008  Olly Betts <olly@survex.com>
15297
15298	* HACKING: Add note about preferring std::string().
15299
15300Fri Feb 22 17:05:11 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15301
15302	* net/remoteserver.cc: Use std::string() instead of
15303	  std::string(""), since it's a bit cleaner.
15304
15305Fri Feb 22 16:50:32 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15306
15307	* net/remoteserver.cc: Add workaround for bug in MSVC 2005.
15308
15309Fri Feb 22 14:39:03 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15310
15311	* backends/flint/flint_database.cc,backends/flint/flint_table.cc,
15312	  backends/quartz/btree.cc: Use msvc_posix_rename() instead of
15313	  rename() when renaming base files, so that an error isn't
15314	  returned if the destination already exists.
15315
15316Thu Feb 21 17:24:14 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15317
15318	* common/msvc_dirent.cc: Include msvc_dirent.h instead of dirent.h
15319
15320Thu Feb 21 17:09:01 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15321
15322	* common/database.h: ReplicationInfo is a struct, not a class, so
15323	  forward declare it as such.
15324
15325Thu Feb 21 12:16:23 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15326
15327	* common/Makefile.mk: Add common/safedirent.h to distribution.
15328
15329Thu Feb 21 00:25:33 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15330
15331	* xapian-config.in: Add swigheaders option, listing the header
15332	  files used by swig, so that we can add the appropriate
15333	  dependencies to the makefiles in the bindings.
15334
15335Wed Feb 20 20:59:55 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15336
15337	* include/xapian/replication.h: Add a ReplicationInfo structure,
15338	  and use it to return information about what has been done when
15339	  the replication methods are called.
15340	* api/replication.cc,backends/database.cc,
15341	  backends/flint/flint_database.cc,backends/flint/flint_database.h,
15342	  common/database.h,common/replicatetcpclient.h,
15343	  common/replicatetcpserver.h,net/replicatetcpclient.cc,
15344	  net/replicatetcpserver.cc: Populate a ReplicationInfo structure
15345	  when updating a replica, or sending changes to a file descriptor.
15346	  Also, fix a bug with reading the replication parameters from a
15347	  file, which caused a full database copy to be performed on every
15348	  replication request on a newly opened DatabaseReplica object.
15349	* bin/xapian-replicate.cc: When doing verbose logging, display the
15350	  number of database copies and changesets applied, and whether the
15351	  live database has been updated.
15352	* tests/api_replicate.cc: Check that the information returned by
15353	  the replication methods is as is should be, and add a regression
15354	  test for always copying the database.
15355
15356Wed Feb 20 11:20:55 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15357
15358	* backends/flint/: Improve reporting of failures to obtain lock due
15359	  to unexpected errors - the error messages included in the
15360	  exceptions raised are now more verbose in many situations.  Also,
15361	  if the lock can't be obtained when a database is being created,
15362	  report the lock failure, not a DatabaseOpeningError - it's more
15363	  useful to know that the lock attempt failed than that the
15364	  database wasn't present before the attempt to create it.
15365
15366Tue Feb 19 11:58:22 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15367
15368	* bin/xapian-compact.cc: Fix compaction for database which contain
15369	  user metadata keys.
15370
15371Sat Feb 16 19:53:44 GMT 2008  Olly Betts <olly@survex.com>
15372
15373	* include/xapian/queryparser.h: Fix incorrect example in doccomment.
15374
15375Sat Feb 16 14:46:08 GMT 2008  Olly Betts <olly@survex.com>
15376
15377	* AUTHORS: Add Matthew Somerville for Search::Xapian patches.
15378
15379Tue Feb 12 16:34:52 GMT 2008  Olly Betts <olly@survex.com>
15380
15381	* docs/quickstart.html: Remove information covered by INSTALL since
15382	  there's no good reason to repeat it and two copies just risks one
15383	  getting out of date (as has happened here!)
15384
15385Tue Feb 12 16:27:30 GMT 2008  Olly Betts <olly@survex.com>
15386
15387	* AUTHORS: Add David Spencer for reporting bug#237.
15388
15389Tue Feb 12 16:25:00 GMT 2008  Olly Betts <olly@survex.com>
15390
15391	* docs/quickstart.html: Fix very out of date reference to MSet::items
15392	  (bug#237).
15393
15394Tue Feb 12 12:40:47 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15395
15396	* bin/xapian-compact.cc: Fix incorrect parameters passed to
15397	  FlintTable constructor.
15398
15399Sat Feb 09 11:56:40 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15400
15401	* common/socket_utils.h,net/remoteconnection.cc: More fixes for
15402	  windows.
15403
15404Sat Feb 09 11:31:30 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15405
15406	* common/msvc_dirent.cc,common/msvc_dirent.h: Hopefully this is a
15407	  better implementation of dirent functions.
15408
15409Sat Feb 09 10:59:50 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15410
15411	* common/: Add implementation of dirent.h for use with MSVC; this
15412	  is copied from the mingw implementation, which has been placed in
15413	  the public domain.  Add "safedirent.h" header for easy inclusion
15414	  of this implementation.
15415
15416Sat Feb 09 10:43:49 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15417
15418	* tests/api_replicate.cc: Use _putenv instead of setenv on windows.
15419
15420Sat Feb 09 09:56:08 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15421
15422	* common/socket_utils.cc,common/socket_utils.h: More fixes for
15423	  windows.
15424
15425Fri Feb 08 16:40:56 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15426
15427	* common/Makefile.mk,common/socket_utils.cc,common/socket_utils.h,
15428	  net/remoteconnection.cc,net/tcpclient.cc: Move windows-specific
15429	  socket handling code from remoteconnection.cc into a separate
15430	  file, provides the inline close_fd_or_socket for unix in the
15431	  header file.  Use this in tcpclient.cc instead of close to close
15432	  sockets correctly on windows.
15433
15434Fri Feb 08 16:40:29 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15435
15436	* common/fileutils.cc,common/replicatetcpclient.h: Correct typos in
15437	  windows only sections of code.
15438
15439Fri Feb 08 15:29:28 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15440
15441	* net/remoteconnection.cc: Fixes for windows - always include
15442	  "safesysselect.h", and include <io.h> on windows.
15443	  Also, remove definition of an unused variable (probably due to a
15444	  copy and paste error).
15445
15446Wed Feb 06 13:45:59 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15447
15448	* bin/xapian-replicate.cc: Include "safeunistd.h" - needed for
15449	  sleep, if nothing else.
15450
15451Tue Feb 05 18:10:23 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15452
15453	* configure.ac: Set -pedantic in CXXFLAGS not AM_CXXFLAGS when
15454	  testing for problem with it - AM_CXXFLAGS is an automake thing,
15455	  and isn't used by the autoconf test.
15456
15457Tue Feb 05 17:50:55 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15458
15459	* configure.ac: Cleaner patch for the test of compilation with
15460	  -pedantic - cache the result using AC_CACHE_VAL().
15461
15462Tue Feb 05 17:32:11 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15463
15464	* configure.ac: Check whether compilation of a cast of INFINITY to
15465	  a double, and comparison with HUGE_VAL, causes a problem if
15466	  -pedantic is specified (which it does on at least some Mac OSX
15467	  versions).  If so, don't use the -pedantic compiler flag.
15468
15469Tue Feb 05 09:24:36 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15470
15471	* backends/flint/flint_cursor.cc,backends/flint/flint_database.cc,
15472	  backends/quartz/bcursor.cc: More fixes for debug logging - rename
15473	  the "hex_encode" functions used for logging to
15474	  "hex_display_encode" to avoid name clash.  Fix return type
15475	  declared in flint_database.cc's DEBUGCALL macro.
15476
15477Tue Feb 05 09:18:29 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15478
15479	* api/replication.cc: Fix for logging compiles: don't check return
15480	  value of a void function.
15481
15482Tue Feb 05 09:14:34 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15483
15484	* api/replication.cc: Reopen database after replication, to fix bug
15485	  with applying a chain of changesets.
15486	* backends/flint/flint_database.cc: Don't use O_TRUNC (or O_CREAT)
15487	  when modifying the DB files!
15488	* tests/api_replicate.cc: Don't call function from inside
15489	  TEST_EQUAL, because that's a macro and the function will be
15490	  double-evaluated.
15491
15492Tue Feb 05 02:07:08 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15493
15494	* api/replication.cc,backends/database.cc,backends/flint/,
15495	  common/database.h: Many fixes to the replication code.  Now
15496	  parses replication changesets correctly and applies them to the
15497	  databases.  Also, correct one bug with the generation of
15498	  changesets.
15499	* docs/replication.rst,docs/replication_protocol.rst: Update.
15500	* tests/api_replicate.cc: Add test of two changesets being applied
15501	  at once.
15502
15503Sun Feb 03 13:31:10 GMT 2008  Olly Betts <olly@survex.com>
15504
15505	* backends/quartz/btree.cc: Backport atomic base update fix from
15506	  flint.
15507
15508Sat Feb 02 22:47:56 GMT 2008  Olly Betts <olly@survex.com>
15509
15510	* AUTHORS: Add Thomas Viehmann.
15511
15512Sat Feb 02 03:39:33 GMT 2008  Olly Betts <olly@survex.com>
15513
15514	* backends/flint/flint_table.cc: Update the base files atomically to
15515	  avoid problems with reading processes finding partially written
15516	  ones.
15517
15518Sat Feb 02 03:38:00 GMT 2008  Olly Betts <olly@survex.com>
15519
15520	* api/replication.cc: Don't leak the RemoteConnection object.
15521
15522Fri Feb 01 23:15:38 GMT 2008  Olly Betts <olly@survex.com>
15523
15524	* backends/flint/flint_btreebase.cc,backends/flint/flint_btreebase.h:
15525	  Fix assorted comment errors.
15526
15527Fri Feb 01 20:20:23 GMT 2008  Olly Betts <olly@survex.com>
15528
15529	* bin/xapian-replicate.cc: Fix comment.
15530
15531Fri Feb 01 20:13:23 GMT 2008  Olly Betts <olly@survex.com>
15532
15533	* bin/xapian-replicate.cc: Document the default interval in --help.
15534
15535Fri Feb 01 20:05:08 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15536
15537	* bin/xapian-replicate.cc: Remove the "return 0;" I added at the
15538	  end of the function - I didn't realise this, but in C++ it's not
15539	  necessary to have a return at the end of main().  Tidier without
15540	  it, so it's gone.
15541
15542Fri Feb 01 19:44:05 GMT 2008  Olly Betts <olly@survex.com>
15543
15544	* include/xapian/unicode.h: Add Unicode::toupper() to complement
15545	  Unicode::tolower().
15546	* tests/api_unicode.cc: Add caseconvert1 testcase to test
15547	  Unicode::tolower() and Unicode::toupper().
15548
15549Fri Feb 01 19:36:47 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15550
15551	* bin/xapian-replicate.cc: Add one-shot and verbose options to
15552	  replication client.
15553
15554Fri Feb 01 17:52:36 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15555
15556	* api/replication.cc,backends/flint/flint_database.cc,
15557	  include/xapian/replication.h,net/replicatetcpclient.cc,
15558	  tests/api_replicate.cc: Keep the RemoteConnection in the
15559	  DatabaseReplica object, so that any data which is read ahead
15560	  doesn't get lost.  If an error occurs opening the database on
15561	  the server, send a FAIL message over the connection, rather than
15562	  just shutting it.
15563
15564Fri Feb 01 16:51:05 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15565
15566	* backends/flint/flint_table.cc: Fix a database corruption bug: see
15567	  bugzilla entry #232.  Was caused by lazy tables not being created
15568	  at the right revision.
15569	* tests/api_wrdb.cc: Regression test for bug.
15570
15571Fri Feb 01 15:10:23 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15572
15573	* api/replication.cc,backends/database.cc,
15574	  backends/flint/flint_database.cc,backends/flint/flint_database.h,
15575	  common/database.h,docs/replication_protocol.rst,
15576	  tests/api_replicate.cc: Add the UUID of the new database to the
15577	  DB_HEADER message, and move the code which compares UUIDs out of
15578	  flint_database.cc and into replication.cc.  Fix testcase which
15579	  missed incorrect comparison of UUIDs.  Store the UUID of the
15580	  live database which has been replicated in the config file - this
15581	  isn't an ideal place, but will do until the UUID is stored in the
15582	  iamflint file, and we can parse it from there.  Remove debug
15583	  printfs.
15584
15585Fri Feb 01 15:09:12 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15586
15587	* bin/quartzdump.cc: Rename hex_encode() to hex_display_encode() to
15588	  avoid collision.  (The hex encoding produced by this doesn't
15589	  encode spaces, so isn't quite the same as the functions just
15590	  added to utils.cc).
15591
15592Fri Feb 01 15:08:06 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15593
15594	* common/utils.cc,common/utils.h: Add utility functions to
15595	  hex-encode and decode a string, so we can store UUIDs in the
15596	  config file in replicated DB directories.
15597
15598Fri Feb 01 12:49:34 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15599
15600	* tests/harness/backendmanager_multi.cc: Make the multi
15601	  backendmanager use relative paths in its stub databases.
15602
15603Fri Feb 01 12:17:38 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15604
15605	* common/Makefile.mk: Add replicationprotocol.h to distribution.
15606
15607Fri Feb 01 12:10:19 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15608
15609	* backends/database.cc: Stub databases used to
15610	  assume that any relative paths were relative to the current
15611	  working directory.  They now assume that relative paths are
15612	  relative to the directory holding the stub database file.
15613	  Also, lines which begin with a '#' character are ignored, so we
15614	  can place comments in the stub database files.  Also, recognise a
15615	  new database type: a "stub directory", which is a directory
15616	  containing a stub database file named "XAPIANDB".
15617	* api/replication.cc: Replica databases are now created as
15618	  directories containing a "XAPIANDB" stub file, so all the
15619	  workings are internal.
15620	* common/Makefile.mk,common/fileutils.cc,common/fileutils.h: Add
15621	  new set of utilities to manipulate path names - extracting
15622	  directory names, and joining paths.
15623	* tests/api_replicate.cc: Enable test properly, now that
15624	  it passes.  Test needs to be expanded to check that the database
15625	  copy succeeded better.
15626
15627Fri Feb 01 09:47:00 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15628
15629	* backends/flint/flint_database.cc: Fix warning about unused
15630	  variable.
15631
15632Fri Feb 01 03:49:56 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15633
15634	* api/replication.cc,backends/database.cc,
15635	  backends/flint/flint_database.cc,backends/flint/flint_database.h,
15636	  common/database.h,common/replicationprotocol.h: Move replication
15637	  protocol definition into a separate file.  Add (virtual) support
15638	  methods for applying changesets to Database::Internal.  Sort out
15639	  atomic swapping of old database for new after a database copy.
15640
15641Fri Feb 01 03:49:09 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15642
15643	* tests/quartztest.cc: Rename removedir to removedir_recursive() to
15644	  avoid conflict with my new function.
15645
15646Fri Feb 01 03:09:45 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15647
15648	* docs/replication_protocol.rst: Specify (though not in much
15649	  detail) what we mean by "packed" strings and integers.
15650
15651Fri Feb 01 03:09:06 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15652
15653	* include/xapian/replication.h: Be more precise in documentation
15654	  comment.
15655
15656Fri Feb 01 03:07:29 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15657
15658	* net/remoteconnection.cc: Remove debug printfs()
15659
15660Fri Feb 01 03:03:59 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15661
15662	* common/utils.cc,common/utils.h: Add overloaded rmdir() which
15663	  works directly on C++ strings.  Add removedir() method which
15664	  removes a directory and its contents (as long as the directory
15665	  only contains files, not subdirectories).
15666
15667Fri Feb 01 01:51:22 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15668
15669	* common/remoteconnection.h,net/remoteconnection.cc: Add
15670	  "sniff_next_message_type" method to RemoteConnection, and replace
15671	  the hardcoded "4096" size of the chunks used for the remote
15672	  connection confersation with a #define.  Fix file mode when
15673	  creating a file with receive_file(), and bugs with writing too
15674	  much data to the file.
15675
15676Thu Jan 31 03:41:42 GMT 2008  Olly Betts <olly@survex.com>
15677
15678	* bin/Makefile.mk,bin/xapian-replicate-server.cc,
15679	  common/replicatetcpserver.h: Add xapian-replicate-server server
15680	  program.
15681
15682Thu Jan 31 02:46:38 GMT 2008  Olly Betts <olly@survex.com>
15683
15684	* bin/Makefile.mk,bin/xapian-replicate.cc,common/replicatetcpclient.h,
15685	  net/replicatetcpclient.cc,net/replicatetcpserver.cc: Add
15686	  xapian-replicate client program.
15687
15688Wed Jan 30 19:13:08 GMT 2008  Olly Betts <olly@survex.com>
15689
15690	* include/xapian/replication.h: Correct name of parameter in doxygen
15691	  comment.
15692
15693Wed Jan 30 15:58:44 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15694
15695	* api/replication.cc,backends/database.cc,
15696	  backends/flint/flint_database.cc,backends/flint/flint_database.h,
15697	  common/database.h: Hook up the apply_changeset function from the
15698	  API through to flint.  (The flint layer currently doesn't work,
15699	  though.)  Also, implement the get_uuid() function for flint, by
15700	  using the mtime of the iamflint file.
15701	* tests/api_replicate.cc: Finish implementation of the "replicate"
15702	  function, and add a test of a replication of a database using
15703	  this.  The return value test is commented out for now, because
15704	  the flint layer doesn't work, but this puts the machinery needed
15705	  to test this in place.
15706
15707Wed Jan 30 15:10:37 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15708
15709	* backends/flint/flint_database.cc: Implement sending of the whole
15710	  database copy.
15711
15712Wed Jan 30 14:45:01 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15713
15714	* tests/,tests/harness/: Add new testcase file (api_replicate.cc)
15715	  to hold tests of the replication functionality.  Currently has
15716	  one partially written test.  Also, add new function to apitest.h:
15717	  get_named_writable_database_path(), which allows the path to a
15718	  writable database to be obtained; throws an exception for those
15719	  backend types for which that isn't meaningful.  Add a new
15720	  variable for use in the conditions for tests: "replicas", which
15721	  should be set to true for all backends which support replication.
15722
15723Wed Jan 30 14:42:26 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15724
15725	* net/remoteconnection.cc: Fix the calls to fcntl() in
15726	  send_message() and send_file() to use fdout instead of fdin.
15727	  This has probably been stopping timeouts working very well.
15728
15729Tue Jan 29 15:05:09 GMT 2008  Olly Betts <olly@survex.com>
15730
15731	* common/remoteconnection.h,net/remoteconnection.cc: Add
15732	  receive_file() method.
15733
15734Tue Jan 29 14:37:36 GMT 2008  Olly Betts <olly@survex.com>
15735
15736	* common/remoteconnection.h,net/remoteconnection.cc: Add the ability
15737	  to read a message in chunks.
15738
15739Tue Jan 29 10:08:02 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15740
15741	* include/xapian/replication.h: Expand documentation comment.
15742	* api/replication.cc,backends/database.cc,
15743	  backends/flint/flint_database.cc,backends/flint/flint_database.h,
15744	  common/database.h: Add a write_changesets_to_fd() function to
15745	  Database::Internal, with a default implementation to raise an
15746	  UnimplementedError.  Hook
15747	  DatabaseMaster::write_changesets_to_fd() up to this, and
15748	  implement it for flint databases (the code to send a copy of a
15749	  database still needs work).
15750
15751Tue Jan 29 10:01:39 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15752
15753	* docs/replication_protocol.rst: Document that a FAIL message ends
15754	  the conversation.
15755
15756Tue Jan 29 09:59:01 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15757
15758	* docs/replication_protocol.rst: Document the protocol used to
15759	  transfer the updates.
15760
15761Tue Jan 29 09:57:14 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15762
15763	* net/remoteconnection.cc: Fix typo.
15764
15765Tue Jan 29 09:48:15 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15766
15767	* net/remoteconnection.cc: For win32, use msvc_posix_open() to open
15768	  the file descriptor, so other things can delete the file while
15769	  the sending is in progress.
15770
15771Tue Jan 29 01:23:19 GMT 2008  Olly Betts <olly@survex.com>
15772
15773	* net/remoteconnection.cc: Add an assertion.
15774
15775Tue Jan 29 01:14:07 GMT 2008  Olly Betts <olly@survex.com>
15776
15777	* common/remoteconnection.h,net/remoteconnection.cc: Add send_file()
15778	  method to RemoteConnection to allow the contents of a file to be
15779	  sent as a message.
15780
15781Tue Jan 29 00:28:18 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15782
15783	* api/replication.cc,include/xapian/replication.h: Add methods to
15784	  allow parameters to be stored associated with a DatabaseReplica.
15785
15786Tue Jan 29 00:16:42 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15787
15788	* backends/flint/flint_database.cc,backends/flint/flint_database.h:
15789	  Change write_changesets_to_fd() to take the revision information
15790	  as a string - it now includes a UUID.  Add get_uuid() method to
15791	  FlintDatabase - currently always returns "FIXME", but will
15792	  eventually return an ID for the database.
15793
15794Mon Jan 28 19:07:20 GMT 2008  Olly Betts <olly@survex.com>
15795
15796	* common/Makefile.mk,common/replicatetcpclient.h,net/Makefile.mk,
15797	  net/replicatetcpclient.cc,net/replicatetcpserver.cc: Add
15798	  ReplicateTcpClient class implementing a replication client over
15799	  TCP/IP.
15800
15801Mon Jan 28 17:13:09 GMT 2008  Olly Betts <olly@survex.com>
15802
15803	* common/Makefile.mk,common/replicatetcpserver.h,net/Makefile.mk,
15804	  net/replicatetcpserver.cc: Add ReplicateTcpServer class implementing
15805	  a replication server over TCP/IP.
15806
15807Mon Jan 28 17:01:02 GMT 2008  Olly Betts <olly@survex.com>
15808
15809	* common/remoteconnection.h,net/remoteconnection.cc: Minor tweaks
15810	  to allow unidirectional connections.
15811
15812Mon Jan 28 16:26:22 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15813
15814	* api/replication.cc: Fix overly hasty commit - add
15815	  get_description() method for internal class, and use that instead
15816	  of trying to access a private member.
15817
15818Mon Jan 28 16:22:18 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15819
15820	* api/replication.cc,common/output.h,include/xapian/replication.h:
15821	  Add get_description() methods to DatabaseMaster and
15822	  DatabaseReplica, and add XAPIAN_OUTPUT_FUNCTION methods for them
15823	  so that they can be displayed in debugging methods.  Should fix
15824	  build with logging enabled.
15825
15826Mon Jan 28 11:52:24 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15827
15828	* api/replication.cc,include/xapian/replication.h: Add
15829	  DatabaseReplica::close() method, to allow the write lock to be
15830	  released easily.
15831
15832Mon Jan 28 11:21:36 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15833
15834	* api/replication.cc,include/xapian/replication.h: Change
15835	  DatabaseReplica into a PIMPL style class, now that it has more
15836	  than one member.  Add visibility annotations to DatabaseMaster
15837	  and DatabaseReplica.
15838
15839Mon Jan 28 10:44:51 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15840
15841	* api/replication.cc,include/xapian/replication.h: Add code to swap
15842	  stub database files over atomically, and to track the current
15843	  real database path.
15844
15845Mon Jan 28 04:52:12 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15846
15847	* api/replication.cc,backends/database.cc,
15848	  backends/flint/flint_changesetapplier.h,
15849	  backends/flint/flint_database.cc,backends/flint/flint_database.h,
15850	  common/database.h: Implement opening of the database underlying
15851	  DatabaseReplica objects, and hook up the get_revision_info()
15852	  method for it.
15853
15854Mon Jan 28 04:17:21 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15855
15856	* common/utils.cc,common/utils.h: Add "dir_exists" function, to
15857	  check for presence of a directory at a given path.
15858
15859Mon Jan 28 03:48:46 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15860
15861	* backends/flint/flint_table.cc: Change a "+= 1" to ++ - this isn't
15862	  Python!
15863
15864Mon Jan 28 03:08:45 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15865
15866	* api/Makefile.mk,api/replication.cc,include/Makefile.mk,
15867	  include/xapian/replication.h: Add interface to replication
15868	  functionality.  (Currently just unimplemented stubs.)
15869
15870Mon Jan 28 02:01:02 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15871
15872	* backends/flint/flint_btreebase.h: Add a missing std::
15873
15874Mon Jan 28 01:59:55 GMT 2008  Olly Betts <olly@survex.com>
15875
15876	* common/remotetcpserver.h: Fix typo in doxygen comment: `@port' ->
15877	  `@param port'.  Update comment - socket is no longer closed by
15878	  handle_one_connection().
15879
15880Mon Jan 28 01:28:00 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15881
15882	* backends/flint/: Add support for recording the changes made to a
15883	  database in "changeset" files.  These are currently not produced
15884	  by default - for now, the "XAPIAN_MAX_CHANGESETS" environment
15885	  variable can be set to control production of them.  As part of
15886	  these changes, the FlintTable constructor now takes the
15887	  tablename, so that this can be stored in changesets produced from
15888	  the table.
15889	* bin/xapian-check.cc,bin/xapian-compact.cc,bin/xapian-inspect.cc:
15890	  Update to match changes in FlintTable constructor.
15891	* docs/Makefile.am,docs/replication.rst,docs/replication_protocol.rst:
15892	  Add basic documentation of the replication protocol (though this
15893	  isn't yet definitive, since the protocol isn't finished!)
15894
15895Sun Jan 27 21:10:24 GMT 2008  Olly Betts <olly@survex.com>
15896
15897	* net/remotetcpserver.cc,net/tcpserver.cc: The job of closing the
15898	  socket connected to the client more naturally belongs to the
15899	  framework TcpServer class.
15900
15901Sun Jan 27 20:32:55 GMT 2008  Olly Betts <olly@survex.com>
15902
15903	* backends/flint/flint_table.cc: Call flint_io_sync() in commit()
15904	  rather than flush_db(), as that gives more time for written blocks
15905	  to get written to disk before we block on waiting for them to be.
15906	  This should tend to speed up WritableDatabase::flush() in I/O bound
15907	  situations.
15908
15909Sun Jan 27 19:35:08 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15910
15911	* backends/flint/flint_spelling.h,backends/flint/flint_synonym.h:
15912	  Merge changes to the spelling and synonym tables just before
15913	  calling FlintTable::flush_db(), rather than just before calling
15914	  FlintTable::commit(), so that they don't get forgotten.
15915
15916Sun Jan 27 14:29:30 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15917
15918	* backends/flint/flint_database.cc,backends/flint/flint_table.cc,
15919	  backends/flint/flint_table.h: Separate step which flushes
15920	  modified blocks from cursors to the DB file from the rest of
15921	  commit.  This will allow me to insert the changeset writing code
15922	  between the two steps, so it can assume that the DB file is fully
15923	  up-to-date.  Also remove an out-of-date FIXME about trying to
15924	  avoid updating the value and position tables if they're not used:
15925	  these tables are now lazily created anyway.
15926
15927Sun Jan 27 12:53:51 GMT 2008  Olly Betts <olly@survex.com>
15928
15929	* net/tcpserver.cc: Change explicit references to xapian-tcpsrv.
15930
15931Sun Jan 27 12:26:24 GMT 2008  Olly Betts <olly@survex.com>
15932
15933	* common/tcpclient.h,common/tcpserver.h,net/: Make use of TCP_NODELAY
15934	  optional at the class level.  No user-visible changes.
15935
15936Sat Jan 26 17:18:09 GMT 2008  Olly Betts <olly@survex.com>
15937
15938	* backends/dbfactory_remote.cc,common/Makefile.mk,
15939	  common/remotetcpclient.h,common/tcpclient.h,net/Makefile.mk,
15940	  net/remotetcpclient.cc,net/tcpclient.cc: Split out the "open
15941	  a connection" part of TcpClient and rename the rest to
15942	  RemoteTcpClient.
15943
15944Sat Jan 26 14:01:34 GMT 2008  Olly Betts <olly@survex.com>
15945
15946	* bin/xapian-tcpsrv.cc,common/Makefile.mk,common/remotetcpserver.h,
15947	  common/tcpserver.h,net/Makefile.mk,net/remotetcpserver.cc,
15948	  net/tcpserver.cc: Split TcpServer into a generic TCP server
15949	  class (TcpServer) and a subclass of this which implements the
15950	  remote backend TCP server (RemoteTcpServer).
15951
15952Sat Jan 26 11:06:30 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15953
15954	* backends/flint/flint_btreebase.cc,backends/quartz/btree_util.h,
15955	  common/utils.h: Move fdcloser into utils.h, since it's generally
15956	  useful, and it's better not to have multiple copies of it
15957	  scattered through the code.
15958
15959Fri Jan 25 15:06:30 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15960
15961	* backends/flint/flint_table.cc,backends/quartz/btree.cc: Use
15962	  msvc_posix_unlink() on windows in sys_unlink_if_exists()
15963	  functions, so that they will work even if the file is still open.
15964	  This probably changes no behaviour, because
15965	  sys_unlink_if_exists() is probably never called in such a
15966	  situation, but this may not be true in future.
15967
15968Thu Jan 24 13:31:20 GMT 2008  Olly Betts <olly@survex.com>
15969
15970	* docs/overview.html: Remove commented-out comment about OP_XOR.
15971
15972Thu Jan 24 13:30:04 GMT 2008  Olly Betts <olly@survex.com>
15973
15974	* docs/intro_ir.html: Briefly mention how pure boolean retrieval is
15975	  supported.
15976
15977Thu Jan 24 13:28:44 GMT 2008  Olly Betts <olly@survex.com>
15978
15979	* HACKING: Move "debian/patch" update earlier in the checklist.
15980
15981Thu Jan 24 13:26:45 GMT 2008  Olly Betts <olly@survex.com>
15982
15983	* NEWS: Partly update from ChangeLog.
15984
15985Thu Jan 17 22:32:08 GMT 2008  Olly Betts <olly@survex.com>
15986
15987	* backends/flint/flint_lock.cc,backends/flint/flint_lock.h,
15988	  bin/xapian-check.cc: Apply tweaked version of patch for OS/2 support
15989	  by Yuri Dario.
15990	* AUTHORS: Add Yuri Dario.
15991	* PLATFORMS: Mention OS/2.
15992
15993Mon Jan 14 11:03:05 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15994
15995	* backends/flint/flint_table.cc,backends/quartz/btree.cc: Fix more
15996	  assertions to avoid overflowing int.
15997
15998Mon Jan 14 09:29:51 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
15999
16000	* backends/flint/flint_btreeutil.h: Fix assertions to not overflow
16001	  int.
16002
16003Mon Jan 14 09:23:54 GMT 2008  Olly Betts <olly@survex.com>
16004
16005	* backends/quartz/btree_util.h: Fix assertions to not overflow int.
16006
16007Mon Jan 14 08:47:33 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16008
16009	* configure.ac: Fix test for gcc being 4.0.x or 4.1.x, so we don't
16010	  use -Wstrict-overflow with them.
16011
16012Sun Jan 13 23:28:04 GMT 2008  Olly Betts <olly@survex.com>
16013
16014	* configure.ac: GCC warning flag overhaul.  Stop passing
16015	  "-Wno-multichar" since any multi-character character literal is
16016	  bound to be a typo (I believe we were only passing it after
16017	  misinterpreting its sense!)  Pass "-Wformat-security",
16018	  "-Wconversion", and "-pedantic" for all GCC versions.  Add
16019	  "-Winit-self" and "-Wstrict-overflow=5" for GCC >= 4.2.  The
16020	  latter may be too aggressive, but it's hard to know without
16021	  trying it more widely.
16022
16023Sun Jan 13 00:25:25 GMT 2008  Olly Betts <olly@survex.com>
16024
16025	* backends/flint/flint_check.h,backends/flint/flint_table.h,
16026	  backends/quartz/btree.h,net/tcpserver.cc,tests/harness/testsuite.cc:
16027	  Add XAPIAN_NORETURN() annotations to functions and non-virtual
16028	  methods which don't return.
16029	* net/remoteserver.cc: Assign bool variable using a comparison rather
16030	  than subtraction, so the intent is clearer.
16031
16032Sun Jan 13 00:23:41 GMT 2008  Olly Betts <olly@survex.com>
16033
16034	* backends/flint/flint_check.cc: Tweak a comparison so all the
16035	  constants are on the same side (micro-optimisation).
16036	* backends/quartz/btreecheck.cc: Equivalent change for quartz.
16037
16038Sun Jan 13 00:20:08 GMT 2008  Olly Betts <olly@survex.com>
16039
16040	* tests/queryparsertest.cc: Add a couple of testcases I wrote for a
16041	  reported problem which turned out to work correctly already.  Still,
16042	  they add to our test coverage.
16043
16044Thu Jan 10 02:04:55 GMT 2008  Olly Betts <olly@survex.com>
16045
16046	* tests/runtest.in: Cope with "@EXEEXT" extension on test programs.
16047
16048Wed Jan 09 21:57:59 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16049
16050	* api/omquery.cc,api/omqueryinternal.cc,common/remoteprotocol.h,
16051	  include/xapian/query.h,matcher/queryoptimiser.cc,tests/api_anydb.cc:
16052	  Add OP_VALUE_LE operator, for symmetry with OP_VALUE_GE.
16053	  Currently implemented internally using a ValueRangePostList with
16054	  an empty string as the start of the range.
16055
16056Wed Jan 09 19:36:37 GMT 2008  Richard Boulton <richard@lemurconsulting.com>
16057
16058	* api/omquery.cc,api/omqueryinternal.cc,include/xapian/query.h: Add
16059	  new query operator OP_VALUE_GE, for performing "return documents
16060	  with a value greater than this" searches.  Also add a new
16061	  constructor to go with this which takes a value number and a
16062	  single string argument.
16063	* matcher/: Add ValueGePostList class, as a subclass of
16064	  ValueRangePostList.  Change internal members of
16065	  ValueRangePostList to be protected instead of private.  Add
16066	  support for making ValueGePostLists from OP_VALUE_GE queries.
16067	* tests/api_anydb.cc: Add valuege1 testcase of OP_VALUE_GE queries.
16068	* common/remoteprotocol.h: Bump minor protocol number, due to
16069	  additional operator being possible in serialised queries.
16070
16071Wed Jan 09 15:18:16 GMT 2008  Olly Betts <olly@survex.com>
16072
16073	* PLATFORMS: Update from Debian buildd logs.
16074
16075Wed Jan 09 13:53:34 GMT 2008  Olly Betts <olly@survex.com>
16076
16077	* tests/harness/backendmanager_remotetcp.cc: Fix XAPIAN_NORETURN() to
16078	  wrap a declaration, not the definition, to fix compile failure on
16079	  mingw "make check".  Correct file documentation comment to refer
16080	  to "remotetcp" not "remoteprog".
16081
16082Mon Jan 07 01:28:14 GMT 2008  Olly Betts <olly@survex.com>
16083
16084	* PLATFORMS: Remove reports for 0.8.x as they're too old to be
16085	  interesting.  Separate out 0.9.x reports.
16086
16087Mon Jan 07 00:23:10 GMT 2008  Olly Betts <olly@survex.com>
16088
16089	* PLATFORMS: Add Solaris 9 and 10 success reports from James Aylett.
16090
16091Sat Jan 05 19:13:12 GMT 2008  Olly Betts <olly@survex.com>
16092
16093	* languages/compiler/generator.c: In generate_call(), if the failure
16094	  case would just be "if (ret == 0) return 0;" then combine it with
16095	  the test for the called method returning signal `f'.
16096
16097Sat Jan 05 18:28:31 GMT 2008  Olly Betts <olly@survex.com>
16098
16099	* languages/compiler/generator.c: Generate more readable code for the
16100	  inlined single ASCII character literal string check.
16101
16102Sat Jan 05 18:27:07 GMT 2008  Olly Betts <olly@survex.com>
16103
16104	* languages/steminternal.cc: Tweak skip_utf8() to save ~0.5% on
16105	  stemtest.
16106
16107Sat Jan 05 02:20:57 GMT 2008  Olly Betts <olly@survex.com>
16108
16109	* languages/compiler/generator.c: Optimise a single ASCII character
16110	  literalstring check by inlining the check.  This makes stemtest run
16111	  about 2% faster.
16112
16113Fri Dec 21 21:57:11 GMT 2007  Olly Betts <olly@survex.com>
16114
16115	* docs/valueranges.rst: Fix example of using multiple VRPs to come out
16116	  as a "program listing".
16117
16118Fri Dec 21 15:31:35 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
16119
16120	* common/stringutils.h,common/utils.h: Move declaration of
16121	  within_DBL_EPSILON back into utils.h to fix builds with
16122	  --enable-assertions, and since it's not string-related.
16123
16124Fri Dec 21 02:12:49 GMT 2007  Olly Betts <olly@survex.com>
16125
16126	* NEWS: Note that one change was "(bug#45)".  Bump release date.
16127
16128Thu Dec 20 22:00:41 GMT 2007  Olly Betts <olly@survex.com>
16129
16130	* NEWS: Update again for 1.0.5.
16131
16132Thu Dec 20 17:50:26 GMT 2007  Olly Betts <olly@survex.com>
16133
16134	* common/stringutils.cc: Add new file I failed to commit.
16135
16136Thu Dec 20 17:17:28 GMT 2007  Olly Betts <olly@survex.com>
16137
16138	* tests/queryparsertest.cc: Add feature tests to ensure that ':' is
16139	  inserted between prefix and term when it should be.
16140
16141Thu Dec 20 13:58:18 GMT 2007  Olly Betts <olly@survex.com>
16142
16143	* common/,queryparser/queryparser.lemony,
16144	  queryparser/termgenerator_internal.cc,tests/harness/index_utils.cc,
16145	  tests/harness/unixcmds.cc: Move C_isupper(), C_toupper(), etc from
16146	  utils.cc/utils.h to stringutils.cc/stringutils.h, since they are
16147	  string-related.
16148
16149Thu Dec 20 03:00:08 GMT 2007  Olly Betts <olly@survex.com>
16150
16151	* HACKING: Remove details of issues with autoconf < 2.57 and
16152	  automake < 1.5 as these versions are antiques compared to our
16153	  current requirements of autoconf >= 2.59 and automake >= 1.8.3.
16154
16155Wed Dec 19 03:41:42 GMT 2007  Olly Betts <olly@survex.com>
16156
16157	* AUTHORS,NEWS,configure.ac: Update for 1.0.5.
16158
16159Wed Dec 19 03:36:30 GMT 2007  Olly Betts <olly@survex.com>
16160
16161	* api/omdatabase.cc: Calling WritableDatabase methods when we don't
16162	  have exactly one subdatabase now throws InvalidOperationError.
16163	* tests/termgentest.cc: Add regression test to check that we now get
16164	  InvalidOperationError (previously this case gave a segmentation
16165	  fault).
16166
16167Wed Dec 19 01:39:01 GMT 2007  Olly Betts <olly@survex.com>
16168
16169	* PLATFORMS: Update from tinderbox.
16170
16171Tue Dec 18 23:17:37 GMT 2007  Olly Betts <olly@survex.com>
16172
16173	* backends/flint/flint_lock.cc,backends/flint/flint_lock.h: Move lots
16174	  of headers included by flint_lock.h to flint_lock.cc since
16175	  flint_lock.h doesn't need them.  Add a "FIXME:1.1:" comment about
16176	  an odd special-case for newlib.
16177
16178Thu Dec 13 17:34:19 GMT 2007  Olly Betts <olly@survex.com>
16179
16180	* tests/stemtest.cc: Mark undocumented OM_STEMTEST_* environmental
16181	  variables for removal in 1.1.
16182
16183Thu Dec 13 01:27:15 GMT 2007  Olly Betts <olly@survex.com>
16184
16185	* HACKING: Need to check RPM packaging with Tim Brody too.
16186
16187Thu Dec 13 01:26:16 GMT 2007  Olly Betts <olly@survex.com>
16188
16189	* configure.ac: Note that we check for <streambuf> because GCC 2.95
16190	  only has <streambuf.h>.
16191
16192Thu Dec 13 01:23:27 GMT 2007  Olly Betts <olly@survex.com>
16193
16194	* AUTHORS: Add Ralf Wildenhues for suggesting a way to factor out
16195	  the boilerplate in multitarget rules.
16196
16197Wed Dec 12 02:02:51 GMT 2007  Olly Betts <olly@survex.com>
16198
16199	* NEWS: Update for ChangeLog in preparation for 1.0.5.
16200
16201Wed Dec 12 01:02:29 GMT 2007  Olly Betts <olly@survex.com>
16202
16203	* docs/admin_notes.rst: Mark as up to date for Xapian 1.0.5.  Minor
16204	  wording improvements.
16205
16206Sun Dec 09 01:09:19 GMT 2007  Olly Betts <olly@survex.com>
16207
16208	* tests/collate-apitest: Check for sources in the build directory
16209	  first, and only if not there prepend "$srcdir/".  The recently
16210	  added api_generated.cc will be in the build directory when using an
16211	  SVN checkout.
16212
16213Fri Dec 07 12:37:08 GMT 2007  Olly Betts <olly@survex.com>
16214
16215	* docs/sorting.rst,docs/valueranges.rst: State explicitly that
16216	  Xapian::sortable_serialise() is used to encode values at index time
16217	  and give an example of how it is called.
16218
16219Thu Dec 06 15:55:31 GMT 2007  Olly Betts <olly@survex.com>
16220
16221	* tests/Makefile.am,tests/collate-apitest,
16222	  tests/generate-api_generated: Add automatically generated tests to
16223	  ensure that API classes generally have copy ctors and assignment
16224	  operators, and also generally have a default ctor.
16225
16226Thu Dec 06 15:32:23 GMT 2007  Olly Betts <olly@survex.com>
16227
16228	* docs/sorting.rst: Fill in the remaining items in the outline.
16229
16230Thu Dec 06 12:50:46 GMT 2007  Olly Betts <olly@survex.com>
16231
16232	* tests/valgrind.supp: Another variant of the zlib suppression.
16233
16234Wed Dec 05 18:31:12 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
16235
16236	* Makefile.am,docs/Makefile.am,tests/Makefile.am: Add dir_contents,
16237	  docs/dir_contents and tests/dir_contents to distribution
16238	  tarballs.
16239
16240Wed Dec 05 18:28:12 GMT 2007  Olly Betts <olly@survex.com>
16241
16242	* preautoreconf: Really fix handling of version.h.
16243
16244Wed Dec 05 18:20:54 GMT 2007  Olly Betts <olly@survex.com>
16245
16246	* preautoreconf: Handle make pattern substitutions.
16247
16248Wed Dec 05 18:11:31 GMT 2007  Olly Betts <olly@survex.com>
16249
16250	* preautoreconf: Fix special-case handling of include/xapian/version.h.
16251
16252Wed Dec 05 18:01:34 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
16253
16254	* matcher/multiandpostlist.cc,matcher/multiandpostlist.h: Implement
16255	  get_wdf() method for MultiAndPostList (by adding together the
16256	  wdfs of the subpostlists).  Not currently used (but will be by
16257	  SynonymPostList).
16258
16259Wed Dec 05 17:43:24 GMT 2007  Olly Betts <olly@survex.com>
16260
16261	* preautoreconf: Special-case version.h.
16262
16263Wed Dec 05 17:31:47 GMT 2007  Olly Betts <olly@survex.com>
16264
16265	* preautoreconf: Fix errors in previous check-in.
16266
16267Wed Dec 05 17:18:26 GMT 2007  Olly Betts <olly@survex.com>
16268
16269	* preautoreconf: Parse BUILT_SOURCES to determine which files are
16270	  generated and so need looking for in the build directory - this
16271	  won't need updating when new files are generated, or existing
16272	  ones stop being.
16273
16274Wed Dec 05 16:55:26 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
16275
16276	* preautoreconf: Fix "make doxygen_docs" with VPATH build: look for
16277	  generated code files in build dir, and make rule which re-runs
16278	  preautoreconf change to srcdir first.
16279
16280Wed Dec 05 14:59:52 GMT 2007  Olly Betts <olly@survex.com>
16281
16282	* docs/sorting.rst: Document set_sort_by_value() and friends.
16283
16284Wed Dec 05 11:31:27 GMT 2007  Olly Betts <olly@survex.com>
16285
16286	* docs/sorting.rst: More work.
16287
16288Tue Dec 04 14:42:57 GMT 2007  Olly Betts <olly@survex.com>
16289
16290	* docs/bm25.html: Improve wording.
16291
16292Mon Dec 03 17:11:01 GMT 2007  Olly Betts <olly@survex.com>
16293
16294	* docs/Makefile.am,docs/index.html,docs/sorting.rst: Add the start of
16295	  a topic document on sorting.
16296
16297Mon Dec 03 17:10:04 GMT 2007  Olly Betts <olly@survex.com>
16298
16299	* common/stats.h: Fix comment typos.
16300
16301Sun Dec 02 14:36:47 GMT 2007  Olly Betts <olly@survex.com>
16302
16303	* docs/synonyms.rst: Minor wording clarification.
16304
16305Sun Dec 02 14:23:37 GMT 2007  Olly Betts <olly@survex.com>
16306
16307	* tests/collate-apitest: Fix reversed conditional for deciding
16308	  which generated headers to update.
16309
16310Sun Dec 02 03:47:44 GMT 2007  Olly Betts <olly@survex.com>
16311
16312	* tests/apitest.cc: Include api_all.h instead of the individual
16313	  generated headers.
16314
16315Sun Dec 02 03:44:56 GMT 2007  Olly Betts <olly@survex.com>
16316
16317	* tests/collate-apitest: Add licence and (C).  Only update .h files
16318	  which may have changed.  Generate api_all.h which just includes
16319	  the generated headers corresponding to all the sources processed.
16320	  Strip spaces from conditions.
16321	* tests/Makefile.am: Update for api_all.h.
16322
16323Sun Dec 02 03:21:59 GMT 2007  Olly Betts <olly@survex.com>
16324
16325	* matcher/weight.cc: Wrap comment.
16326
16327Sun Dec 02 03:21:25 GMT 2007  Olly Betts <olly@survex.com>
16328
16329	* AUTHORS: Thank Petr Ročkai.
16330
16331Sun Dec 02 02:40:58 GMT 2007  Olly Betts <olly@survex.com>
16332
16333	* api/omenquire.cc: Oops, this file also part of previous change.
16334
16335Sun Dec 02 02:14:27 GMT 2007  Olly Betts <olly@survex.com>
16336
16337	* include/xapian/enquire.h: Implement copy ctor and assignment
16338	  operator for Xapian::Enquire (bug#219).
16339	* configure.ac: Note what this means in terms of library versioning.
16340
16341Sat Dec 01 02:54:51 GMT 2007  Olly Betts <olly@survex.com>
16342
16343	* include/xapian/: Stop describing get_description() as an
16344	  "Introspection method", as this doesn't help to explain what it
16345	  does, and get_description() doesn't actually fall under any of the
16346	  formal definitions of "introspection" I can find.
16347
16348Sat Dec 01 02:45:16 GMT 2007  Olly Betts <olly@survex.com>
16349
16350	* tests/harness/index_utils.h: Overlooked (C) update.
16351
16352Sat Dec 01 02:34:59 GMT 2007  Olly Betts <olly@survex.com>
16353
16354	* HACKING,INSTALL,common/,configure.ac,tests/api_anydb.cc,
16355	  tests/api_db.cc,tests/btreetest.cc,tests/harness/testsuite.cc,
16356	  tests/harness/testsuite.h,tests/harness/testutils.cc,
16357	  tests/internaltest.cc: Raise the minimum supported GCC version
16358	  to 2.95.3 and strip out om_ostringstream which is no longer
16359	  required.
16360
16361Sat Dec 01 01:10:04 GMT 2007  Olly Betts <olly@survex.com>
16362
16363	* tests/api_sorting.cc,tests/api_wrdb.cc: Move sortfunctor2 from
16364	  api_wrdb.cc to api_sorting.cc.
16365
16366Sat Dec 01 00:43:31 GMT 2007  Olly Betts <olly@survex.com>
16367
16368	* tests/valgrind.supp: Add version of the valgrind zlib suppression
16369	  for 64 bit hosts.
16370
16371Fri Nov 30 18:06:49 GMT 2007  Olly Betts <olly@survex.com>
16372
16373	* tests/harness/index_utils.cc: Workaround MSVC which doesn't clear
16374	  the fail bit when a stream is reopened.
16375
16376Fri Nov 30 00:44:21 GMT 2007  Olly Betts <olly@survex.com>
16377
16378	* matcher/queryoptimiser.cc: Make delete_ptr<> a functor rather than
16379	  a function.  This fixes the build with SGI's compiler, and
16380	  apparently a functor allows more compilers to inline the call.
16381
16382Thu Nov 29 19:24:22 GMT 2007  Olly Betts <olly@survex.com>
16383
16384	* configure.ac: Fix previous change to work.
16385
16386Thu Nov 29 18:53:09 GMT 2007  Olly Betts <olly@survex.com>
16387
16388	* configure.ac: Assume we have <sstream> and hardwire HAVE_SSTREAM to
16389	  be 1.  If this assumption proves correct for all platforms we care
16390	  about, we can rip out the old om_ostringstream code.
16391
16392Thu Nov 29 17:51:11 GMT 2007  Olly Betts <olly@survex.com>
16393
16394	* tests/harness/index_utils.cc: Work around MSVC.
16395
16396Wed Nov 28 03:17:06 GMT 2007  Olly Betts <olly@survex.com>
16397
16398	* api/sorter.cc: Fix reverse sorting of value strings with different
16399	  lengths.
16400	* tests/api_wrdb.cc: Add test sortfunctor2 to check this actually
16401	  works.
16402
16403Wed Nov 28 02:27:37 GMT 2007  Olly Betts <olly@survex.com>
16404
16405	* tests/api_wrdb.cc,tests/apitest.cc,tests/apitest.h,tests/harness/:
16406	  Add get_named_writable_database() and use it to fix spell3 on
16407	  Microsoft Windows.
16408
16409Tue Nov 27 16:56:12 GMT 2007  Olly Betts <olly@survex.com>
16410
16411	* xapian-config.in: Factor out the code to check if we need explicit
16412	  dependencies into a function.  On platforms we know don't need
16413	  explicit dependencies, --ltlibs now gives the same output as --libs.
16414
16415Tue Nov 27 00:24:18 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
16416
16417	* tests/Makefile.am: Remove api_regressions.cc from list - didn't
16418	  mean to commit that (yet).
16419
16420Tue Nov 27 00:17:40 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
16421
16422	* tests/Makefile.am: Use $(collated_apitest_sources) in list of
16423	  apitest_SOURCES; now a new test file can be added just by adding
16424	  it to this variable.
16425
16426Mon Nov 26 23:04:00 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
16427
16428	* tests/Makefile.am: Add generated apitest .h files to targets of
16429	  rule which calls collate-apitest, since they're also generated by
16430	  it.  Change the rule to use a .stamp and a .lock file as
16431	  described in HACKING, to fix parallel builds.
16432
16433Mon Nov 26 18:48:20 GMT 2007  Olly Betts <olly@survex.com>
16434
16435	* Makefile.am: Distribute preautoreconf.
16436
16437Mon Nov 26 17:24:15 GMT 2007  Olly Betts <olly@survex.com>
16438
16439	* HACKING,configure.ac,docs/Makefile.am: Use pngcrush to reduce the
16440	  size of PNG files in the doxygen-generated HTML docs.
16441
16442Mon Nov 26 15:39:58 GMT 2007  Olly Betts <olly@survex.com>
16443
16444	* docs/Makefile.am: Don't package or install various intermediate
16445	  files which doxygen generates.
16446
16447Mon Nov 26 13:14:19 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
16448
16449	* tests/api_db.cc: Ensure that the database needed for stubdb1 is
16450	  present, by creating it first (with get_database()).  This
16451	  requires that the database type is flint, but the test doesn't
16452	  depend on any particular database type anyway, so this doesn't
16453	  lose us anything.
16454
16455Mon Nov 26 13:08:08 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
16456
16457	* tests/collate-apitest: Display the name of the backend which a
16458	  set of tests is for.
16459
16460Mon Nov 26 09:45:39 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
16461
16462	* tests/Makefile.am,tests/collate-apitest: Fix with VPATH builds -
16463	  pass srcdir as the first argument to collate-apitest, so it can
16464	  find the sources.  Also, use srcdir to form the path to
16465	  collate-apitest when calling it from the make rule.
16466
16467Mon Nov 26 02:22:08 GMT 2007  Olly Betts <olly@survex.com>
16468
16469	* tests/api_db.cc,tests/apitest.cc,tests/apitest.h: Convert the
16470	  remaining tests to be collated.
16471
16472Mon Nov 26 02:08:18 GMT 2007  Olly Betts <olly@survex.com>
16473
16474	* tests/api_db.cc,tests/apitest.cc,tests/apitest.h: Collate the
16475	  localdb and remotedb tests.
16476
16477Mon Nov 26 01:40:59 GMT 2007  Olly Betts <olly@survex.com>
16478
16479	* tests/: Collate the specchar, doclendb, collfreq, allterms, and
16480	  multivalue tests.
16481
16482Mon Nov 26 01:21:35 GMT 2007  Olly Betts <olly@survex.com>
16483
16484	* tests/: Collate the anydb tests.  Remove the generated files upon
16485	  "make clean" in maintainer-mode.
16486
16487Mon Nov 26 00:34:03 GMT 2007  Olly Betts <olly@survex.com>
16488
16489	* tests/: Collate the wrdb tests.
16490
16491Mon Nov 26 00:18:18 GMT 2007  Olly Betts <olly@survex.com>
16492
16493	* tests/api_posdb.cc,tests/apitest.cc: Add "writable" flag and use it
16494	  for poslist2 and poslist3.
16495
16496Mon Nov 26 00:13:43 GMT 2007  Olly Betts <olly@survex.com>
16497
16498	* tests/: Collate the posdb tests.
16499
16500Mon Nov 26 00:03:29 GMT 2007  Olly Betts <olly@survex.com>
16501
16502	* tests/: Collate the nodb tests.
16503
16504Sun Nov 25 23:55:02 GMT 2007  Olly Betts <olly@survex.com>
16505
16506	* tests/: Collate the transaction tests.
16507
16508Sun Nov 25 23:49:26 GMT 2007  Olly Betts <olly@survex.com>
16509
16510	* tests/: Collate the unicode tests.
16511
16512Sun Nov 25 23:35:40 GMT 2007  Olly Betts <olly@survex.com>
16513
16514	* tests/: Make a start on automatically collating test cases.
16515
16516Sun Nov 25 22:41:52 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
16517
16518	* api/weightinternal.cc: Initialise all members of
16519	  Xapian::Weight::Internal, and use initialisers rather than
16520	  assignment to do so.  Fixes an error reported by valgrind.
16521
16522Sun Nov 25 16:48:21 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
16523
16524	* matcher/weight.cc: Add another note of a FIXME needed for 1.1
16525
16526Sun Nov 25 16:40:28 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
16527
16528	* matcher/bm25weight.cc,matcher/tradweight.cc: Add some missing
16529	  "using namespace std;" lines which are needed due to earlier
16530	  changes in header file inclusions.  Also, remove some unnecessary
16531	  std:: prefixes.
16532
16533Sun Nov 25 16:35:30 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
16534
16535	* common/stats.h,include/xapian/enquire.h,matcher/localmatch.cc,
16536	  matcher/weight.cc: Undo ABI change introduced in previous commit
16537	  with a nasty workaround; we can't initialise Weight::internal
16538	  reliably, because applications complied with earlier versions of
16539	  the library may have inlined the constructor of the Weight class.
16540	  Therefore, we can't delete Weight::internal in the destructor,
16541	  because we don't know if it was initialised.  Instead, we
16542	  add factory methods for making Weight::Internal objects to Stats,
16543	  register all the Weight::Internal objects made by these factory
16544	  methods in a list is the Stats object, and delete them when Stats
16545	  is deleted (which conveniently happens after the match has
16546	  finished).  Mark all this with FIXME:1.1: so that we can easily
16547	  convert it to nicer code once we branch for 1.1.
16548
16549Sun Nov 25 15:14:04 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
16550
16551	* api/Makefile.mk,api/weightinternal.cc,common/,
16552	  include/xapian/enquire.h,matcher/: Split Stats and
16553	  Xapian::Weight::Internal into different classes: Stats remains
16554	  with the same members (but becomes a concrete class, rather than
16555	  a typedef of another class), and Xapian::Weight::Internal becomes
16556	  a simple container for exactly those statistics which are
16557	  relevant for a weight object (ie, it holds just one termfreq and
16558	  reltermfreq, rather than a map of all of them).  This is
16559	  dynamically allocated, so Xapian::Weight now owns the object
16560	  pointed to by its "internal" member, and deletes it in its
16561	  destructor.  Add a new header file "weightinternal.h" so that the
16562	  full "stats.h" stuff doesn't need to be included for definitions
16563	  of weighting schemes.  Replace #include "stats.h" lines with
16564	  forward declarations of Stats, where possible.
16565
16566Sun Nov 25 15:09:29 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
16567
16568	* api/omenquire.cc: Add missing include of stats.h
16569	* matcher/queryoptimiser.cc,net/tcpserver.cc: Remove unnecessary
16570	  include of stats.h
16571	* net/remoteserver.cc: Include missing includes of omassert.h and
16572	  stats.h, and change an Assert to AssertEq.
16573	* matcher/multimatch.cc: Output the contents of the stats object in
16574	  debugging code.
16575
16576Sun Nov 25 04:22:05 GMT 2007  Olly Betts <olly@survex.com>
16577
16578	* common/multimatch.h: No longer need "autoptr.h" here.
16579
16580Sun Nov 25 04:07:04 GMT 2007  Olly Betts <olly@survex.com>
16581
16582	* common/multimatch.h: Fix typo in documentation comment.
16583
16584Sun Nov 25 03:58:21 GMT 2007  Olly Betts <olly@survex.com>
16585
16586	* common/remoteserver.h,matcher/localmatch.cc,matcher/multimatch.cc:
16587	  Remove lingering traces of StatsGatherer.
16588
16589Sat Nov 24 20:44:03 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
16590
16591	* common/stats.h,matcher/Makefile.mk,matcher/stats.cc: Add
16592	  get_description() method for Xapian::Weight::Internal, and add
16593	  stats.cc back to hold it's implementation.
16594	* common/output.h: Add an output function for Stats (aka
16595	  Xapian::Weight::Internal) to fix the build when debug logging is
16596	  enabled.
16597
16598Sat Nov 24 01:21:56 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
16599
16600	* api/omenquire.cc,common/,matcher/,net/remoteserver.cc: Remove
16601	  StatsGatherer and its subclasses completely.  Instead of a
16602	  StatsGatherer subclass, MultiMatch is now simply passed a Stats
16603	  object, and passes this to the prepare_match() methods of the sub
16604	  matchers to be populated with statistics.  OmEnquire then passes
16605	  the same Stats object to MultiMatch::get_mset(), whereas a remote
16606	  submatch sends the Stats object to the parent match, to be
16607	  combined with the global statistics, and then passes the returned
16608	  global statistics to MultiMatch::get_mset().  Remove stats.cc
16609	  since it only contained implementations of StatsGatherer methods,
16610	  and networkstats.h which only contained the definition of the
16611	  NetworkStatsGatherer.
16612	* matcher/rset.cc: Add the rset size to the database - we now
16613	  compute the global rset size the same way as we compute the
16614	  global collection size: by adding the sizes in the sub
16615	  collections together.  We have the total rset size easily
16616	  available in the code, but building the total rset size up from
16617	  the sub-databases makes the code simpler.
16618
16619Sat Nov 24 01:21:18 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
16620
16621	* matcher/andnotpostlist.cc: Add a missing #include "omdebug.h".
16622
16623Fri Nov 23 23:13:12 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
16624
16625	* common/stats.h,matcher/: Remove the StatsSource class entirely.
16626	  LocalSubMatch and RemoteSubMatch now contribute their stats
16627	  directly to the gatherer in the prepare_match() method, so the
16628	  gatherer doesn't need to worry about keeping track of the sources
16629	  of statistics.
16630
16631Fri Nov 23 21:46:32 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
16632
16633	* common/submatch.h,matcher/: Change SubMatch::start_match() (and
16634	  all start_match() methods in subclasses) to take the statistics
16635	  for the whole collection as an additional parameter.  MultiMatch
16636	  now gets the statistics from the gatherer and passes it to
16637	  start_match().
16638
16639Fri Nov 23 17:38:28 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
16640
16641	* common/stats.h: Add set_termfreq() and set_reltermfreq()
16642	  convenience methods to Stats; and remote the take_my_stats(),
16643	  my_termfreq_is() and my_reltermfreq_is() methods from
16644	  StatsSource.
16645	* common/rset.h,matcher/rset.cc: Rename give_stats_to_statssource()
16646	  to contribute_stats(), and give it take a Stats object instead of
16647	  a StatsSource object.  Can't forward declare Stats, so we need to
16648	  #include "stats.h" in rset.h now, unfortunately.
16649	* matcher/localmatch.cc,matcher/localmatch.h: Move register_term()
16650	  implementation inline into prepare_match().  Build up the
16651	  statistics in a local Stats object, rather than passing them
16652	  piecemeal to the StatsSource object, and then use
16653	  StatsSource::get_my_stats() to set them, just like
16654	  RemoteSubMatcher.
16655
16656Fri Nov 23 14:35:49 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
16657
16658	* matcher/localmatch.cc,matcher/localmatch.h: Get the total
16659	  statistics from the gatherer directly and store them in a new
16660	  member of LocalSubMatch, rather than getting them via the
16661	  StatsSource when we need them.  This bypasses the
16662	  get_total_stats() and set_total_stats() methods of StatsSource.
16663	* common/stats.h,matcher/stats.cc: Remove the (newly) unused
16664	  methods StatsSource::set_total_stats() and
16665	  StatsSource::get_total_stats().
16666
16667Fri Nov 23 11:40:54 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
16668
16669	* common/,include/xapian/enquire.h,matcher/: Rename
16670	  Xapian::Weight::Internal to StatsSource (which I hope to be able
16671	  to remove shortly), and rename the Stats class to
16672	  Xapian::Weight::Internal.  Requires minimal plumbing changes -
16673	  TradWeight and BM25Weight classes now query the internals
16674	  directly for the statistics, LocalSubMatch now gets the
16675	  statistics from StatsSource and passes them to wt_factory.
16676	  common/remote-database.h and common/serialise.h now need to
16677	  #include stats.h unfortunately, because a forward declaration
16678	  can't be used for Xapian::Weight::Internal (unless I'm missing
16679	  something).
16680
16681Fri Nov 23 10:15:43 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
16682
16683	* common/stats.h,matcher/bm25weight.cc,matcher/localmatch.cc,
16684	  matcher/tradweight.cc: Remove the Xapian::Weight::Internal
16685	  get_total_* methods: instead, add a get_total_stats() method
16686	  which returns a Stats object representing the whole collection.
16687	  Add get_termfreq() and get_reltermfreq() convenience methods to
16688	  Stats for looking up individual term's statistics.  Also, change
16689	  protected members of Xapian::Weight::Internal to private members,
16690	  since we're no longer subclassed.  Also, in tradweight.cc, avoid
16691	  division by zero in the (rare) situation of the average length
16692	  being zero; in the same way as this is handled by bm25weight.cc.
16693
16694Thu Nov 22 12:58:02 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
16695
16696	* common/stats.h,matcher/localmatch.cc,matcher/localmatch.h,
16697	  matcher/stats.cc: Replay Xapian::Weight::Internal's
16698	  perform_request() method with set_total_stats().  The replacement
16699	  takes the stats as a parameter, rather than magically getting
16700	  them from the gatherer.  The LocalSubMatch now needs to call the
16701	  gatherer to get the stats, and then pass it to set_total_stats(),
16702	  so needs to keep a reference to the gatherer.  However, we are
16703	  now one step closer to decoupling the gatherer from the stats.
16704
16705Thu Nov 22 11:47:56 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
16706
16707	* common/stats.h,matcher/localmatch.cc: Remove automatic
16708	  just-in-time calls to statssource.perform_request() - instead,
16709	  make it public, and call it explicitly before the postlist tree
16710	  is constructed.  Also, make Xapian::Weight::Internal's destructor
16711	  non-virtual, since it's no longer subclassed anywhere.
16712
16713Thu Nov 22 11:02:39 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
16714
16715	* common/networkstats.h,matcher/stats.cc: Remove
16716	  fetch_local_stats() method, and use of have_gathered flag for
16717	  caching result of gathering the stats - instead, simply Assert
16718	  that have_gathered is false before gathering; we currently only
16719	  call get_local_stats() once for a given gatherer.
16720
16721Thu Nov 22 10:04:40 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
16722
16723	* common/rset.h: Change multiline "///" comments to use "/**",
16724	  style.
16725
16726Thu Nov 22 09:27:42 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
16727
16728	* matcher/localmatch.cc,matcher/queryoptimiser.h: Update a couple
16729	  of comments.
16730
16731Thu Nov 22 08:29:19 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
16732
16733	* common/networkstats.h,common/stats.h,matcher/: Remove the
16734	  LocalStatsSource and NetworkStatsSource classes - just use the
16735	  base class (Xapian::Weight::Internal) instead.  LocalStatsSource
16736	  had no extra members whatsoever, whereas NetworkStatsSource had
16737	  various members which weren't used, and a single method
16738	  "take_remote_stats" which simply sets the statistics held - I've
16739	  renamed this method "set_my_stats" and added it to the base
16740	  class.
16741
16742Thu Nov 22 00:05:06 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
16743
16744	* common/networkstats.h,common/stats.h,matcher/stats.cc: Replace
16745	  StatsGatherer::contrib_my_stats() and
16746	  StatsSource::contrib_stats() methods; instead add a
16747	  get_my_stats() method to StatsSource and simply call this.
16748
16749Wed Nov 21 16:37:10 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
16750
16751	* common/networkstats.h,common/remoteserver.h,matcher/stats.cc,
16752	  net/remoteserver.cc: Rework NetworkStatsGatherer - it no longer
16753	  needs to have the RemoteServer passed into it; instead, the
16754	  RemoteServer calls NetworkStatsGatherer::set_global_stats() with
16755	  the global statistics as soon as it gets them.  This new method
16756	  replaces fetch_global_stats().  As a result, the RemoteServer no
16757	  longer needs to remember the global_stats received from the
16758	  network - it just passes them straight to the gatherer - so
16759	  remove the global_stats and get_global_stats() methods from
16760	  RemoteServer.
16761
16762Wed Nov 21 15:42:40 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
16763
16764	* common/rset.h,matcher/rset.cc: Document the member functions of
16765	  RSetI, and remove the totally unused "get_reltermfreq()" member.
16766	  Also remove an ancient, commented out, implementation of an
16767	  "add_document()" member, and add copyright lines.
16768
16769Wed Nov 21 15:26:11 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
16770
16771	* common/rset.h,matcher/localmatch.cc,matcher/rset.cc: Make
16772	  RSet::calculate_stats() private, and call it only from
16773	  RSet::give_stats_to_statssource().  Was previously called
16774	  directly from localmatch.cc, but this way it's clear that it's
16775	  only called once.
16776
16777Wed Nov 21 14:30:17 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
16778
16779	* matcher/remotesubmatch.h: Move implementation of constructor into
16780	  .cc file (accidentally missed this file from the last-but-one
16781	  commit, which did the necessary changes to the .cc file).
16782
16783Wed Nov 21 14:28:48 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
16784
16785	* matcher/rset.cc: Improve debugging messages.
16786
16787Wed Nov 21 14:26:44 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
16788
16789	* matcher/remotesubmatch.cc: Add some debugging, and reorder the
16790	  header includes.
16791
16792Wed Nov 21 13:21:35 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
16793
16794	* matcher/multimatch.cc: Add DEBUGCALL_STATIC macros to the new
16795	  functions, and tidy some code in the constructor slightly.
16796
16797Wed Nov 21 10:00:48 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
16798
16799	* matcher/multimatch.cc: Split the loop which calls prepare_match()
16800	  out of the constructor into a separate static function.
16801
16802Tue Nov 20 18:23:53 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
16803
16804	* matcher/multimatch.cc: Refactor code which splits the RSet into
16805	  sub RSets (one for each sub database) into a separate function.
16806	  No functional change.
16807
16808Tue Nov 20 17:56:47 GMT 2007  Olly Betts <olly@survex.com>
16809
16810	* common/remoteserver.h: Remove unused '#include "omassert.h"'.
16811
16812Tue Nov 20 12:53:06 GMT 2007  Olly Betts <olly@survex.com>
16813
16814	* AUTHORS: Thank Marcus Rueckert for GCC 4.3 fixes.
16815
16816Tue Nov 20 10:22:28 GMT 2007  Olly Betts <olly@survex.com>
16817
16818	* bin/quartzcompact.cc: Recent GCC 4.3 snapshots thinks cf and tf
16819	  might be used uninitialised.  They won't be, but we only need to
16820	  initialise them once per run to silence the warning, so just do
16821	  that.
16822
16823Tue Nov 20 10:20:13 GMT 2007  Olly Betts <olly@survex.com>
16824
16825	* bin/quartzcompact.cc: Fix equality testing of C strings to use
16826	  strcmp() rather than '=='.  In practice, using '==' often gives
16827	  the desired effect due to pooling of constant strings, but this may
16828	  have resulted in bugs on some platforms.
16829
16830Tue Nov 20 01:47:16 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
16831
16832	* tests/harness/backendmanager_remotetcp.cc: Add missing "#include
16833	  <cstring>".
16834
16835Tue Nov 20 01:26:40 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
16836
16837	* tests/harness/unixcmds.cc: Add #include of cstring, to get
16838	  strchr, needed for gcc 4.3 snapshot.
16839
16840Tue Nov 20 01:25:22 GMT 2007  Olly Betts <olly@survex.com>
16841
16842	* api/maptermlist.h,api/termlist.cc,backends/alltermslist.cc,
16843	  backends/flint/flint_spelling.cc,backends/flint/flint_spelling.h,
16844	  common/alltermslist.h,common/termlist.h,common/vectortermlist.h:
16845	  Provide a default implementation of accumulate_stats() in the
16846	  virtual base class TermIterator::Internal instead of repeating it
16847	  in each subclass which doesn't get used for generating an ESet, and
16848	  don't call abort() in the default implementation - an Assert(false)
16849	  is sufficient, and more consistent with how we handle other similar
16850	  cases.
16851
16852Tue Nov 20 01:24:17 GMT 2007  Olly Betts <olly@survex.com>
16853
16854	* bin/xapian-progsrv.cc: Add missing '#include <cstdlib>'.
16855
16856Mon Nov 19 23:54:53 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
16857
16858	* backends/flint/flint_postlist.cc,backends/quartz/quartz_postlist.cc:
16859	  Add NORETURN macro to report_read_error(); fixes warnings from
16860	  GCC 4.3 about possibly uninitialised values.  Reorder header
16861	  includes to follow proposed policy.
16862	* backends/flint/flint_postlist.h: Add include of omdebug.h which
16863	  previously needed to be done before including this.  Tidy up
16864	  order of includes.
16865
16866Mon Nov 12 14:06:38 GMT 2007  Olly Betts <olly@survex.com>
16867
16868	* api/Makefile.mk,api/omenquire.cc,api/sorter.cc,common/multimatch.h,
16869	  common/omenquireinternal.h,include/Makefile.mk,include/xapian.h,
16870	  include/xapian/enquire.h,include/xapian/sorter.h,
16871	  matcher/multimatch.cc,net/remoteserver.cc,tests/: Add new functor
16872	  class to allow more sophisticated sorting options.
16873
16874Mon Nov 12 14:03:06 GMT 2007  Olly Betts <olly@survex.com>
16875
16876	* HACKING: Improved wording.
16877
16878Sun Nov 11 07:51:57 GMT 2007  Olly Betts <olly@survex.com>
16879
16880	* include/xapian/queryparser.h: Hide the v102 namespace from Doxygen
16881	  as it isn't user visible.
16882
16883Sat Nov 10 21:53:21 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
16884
16885	* tests/Makefile.am: Remove .multi in clean-local rule; should fix
16886	  distcheck.
16887
16888Sat Nov 10 15:34:25 GMT 2007  Olly Betts <olly@survex.com>
16889
16890	* tests/harness/testutils.cc,tests/harness/testutils.h:
16891	  mset_expect_order_begins() is never used, so remove it.
16892	* tests/harness/testutils.cc: Don't need <iostream>, only <fstream>.
16893
16894Sat Nov 10 11:09:22 GMT 2007  Olly Betts <olly@survex.com>
16895
16896	* docs/index.html: Add a list of documents on particular features and
16897	  include links to previously unlinked-to documents.  Weed down the
16898	  top navigation bar which had grown to unwieldy length.
16899
16900Sat Nov 10 10:17:42 GMT 2007  Olly Betts <olly@survex.com>
16901
16902	* PLATFORMS: Update for Debian buildds.
16903
16904Sat Nov 10 02:13:07 GMT 2007  Olly Betts <olly@survex.com>
16905
16906	* matcher/multimatch.cc: If "first" is non-zero, then use nth_element
16907	  with vector::reverse_iterator to partition items such that the
16908	  unwanted ones are at the end not the start.  This means the call
16909	  to vector::erase() no longer needs to copy all the wanted items.
16910
16911Fri Nov 09 19:01:38 GMT 2007  Olly Betts <olly@survex.com>
16912
16913	* tests/api_db.cc: collapsekey3 is too strict - even if the value
16914	  never occurs, lower_bound may drop as we may reject potential
16915	  matches before applying the collapse test.
16916
16917Fri Nov 09 16:36:39 GMT 2007  Olly Betts <olly@survex.com>
16918
16919	* include/xapian/termiterator.h: Clarify get_wdf() versus
16920	  get_termfreq() in documentation comments.
16921
16922Fri Nov 09 00:07:02 GMT 2007  Olly Betts <olly@survex.com>
16923
16924	* tests/api_db.cc: Fix comment typo.
16925
16926Fri Nov 09 00:04:45 GMT 2007  Olly Betts <olly@survex.com>
16927
16928	* HACKING,Makefile.am,tests/Makefile.am: New make target
16929	  'check-multi'.
16930
16931Thu Nov 08 23:54:47 GMT 2007  Olly Betts <olly@survex.com>
16932
16933	* tests/api_anydb.cc: Re-enable test case allpostlist1 for multi
16934	  since it works fine (presumably thanks to the multi_postlist.cc
16935	  fix).
16936
16937Thu Nov 08 23:44:29 GMT 2007  Olly Betts <olly@survex.com>
16938
16939	* tests/,tests/harness/: Add new "multi" test backend which indexes
16940	  the specified text file(s) to two databases which will look just
16941	  like the equivalent single database when searched together.  Since
16942	  writing isn't supported, a number of tests which require this are
16943	  disabled, as are any tests which explicitly use a multi-database
16944	  since a multi-of-multis isn't equivalent to a multi of equivalent
16945	  individual databases.  A handful of testcases are also currently
16946	  disabled because they fail for reasons not yet fully explored.
16947	  Existing tests run with the new backend provide regression tests
16948	  for the two recent fixes.
16949
16950Thu Nov 08 23:42:33 GMT 2007  Olly Betts <olly@survex.com>
16951
16952	* backends/multi/multi_postlist.cc: Fix PostingIterator::skip_to()
16953	  when running over multiple databases.  Regression test to follow.
16954
16955Thu Nov 08 23:37:51 GMT 2007  Olly Betts <olly@survex.com>
16956
16957	* docs/overview.html: Mention the "auto" backend.
16958
16959Thu Nov 08 23:28:30 GMT 2007  Olly Betts <olly@survex.com>
16960
16961	* matcher/multimatch.cc: Fix bug in handling a pure boolen match over
16962	  more than one database under set_docid_order(ASCENDING) - we can't
16963	  shortcut in this case because MergePostList generally doesn't return
16964	  docids in order.  Regression test to follow.
16965
16966Thu Nov 08 21:07:09 GMT 2007  Olly Betts <olly@survex.com>
16967
16968	* matcher/queryoptimiser.cc: Fix comment typo.
16969
16970Thu Nov 08 07:40:48 GMT 2007  Olly Betts <olly@survex.com>
16971
16972	* api/omdatabase.cc: Don't use MultiPostList when there's only one
16973	  subdatabase.
16974
16975Thu Nov 08 05:40:17 GMT 2007  Olly Betts <olly@survex.com>
16976
16977	* tests/api_db.cc: Run sortrel1 for inmemory too.
16978
16979Thu Nov 08 03:43:50 GMT 2007  Olly Betts <olly@survex.com>
16980
16981	* tests/harness/backendmanager.cc,tests/harness/index_utils.cc,
16982	  tests/harness/index_utils.h: New class FileIndexer which acts like
16983	  an iterator returning a Xapian::Document object for each paragraph
16984	  in some specified files.
16985
16986Wed Nov 07 16:30:49 GMT 2007  Olly Betts <olly@survex.com>
16987
16988	* common/,docs/remote_protocol.html,matcher/,net/remoteserver.cc,
16989	  net/serialise.cc: If we're doing a match with only one database
16990	  which is remote then just return the unserialised MSet from the
16991	  remote match.  This requires that we include
16992	  internal->percent_factor in the MSet serialisation, which requires
16993	  a minor remote protocol version bump.
16994
16995Wed Nov 07 09:47:28 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
16996
16997	* matcher/multimatch.cc: Fix logging build (a change to the logging
16998	  code introduced in r9644 didn't compile)
16999
17000Tue Nov 06 17:10:51 GMT 2007  Olly Betts <olly@survex.com>
17001
17002	* include/xapian/document.h: Better documentation comment for
17003	  Document::termlist_count().
17004
17005Tue Nov 06 12:32:16 GMT 2007  Olly Betts <olly@survex.com>
17006
17007	* Makefile.am,docs/Makefile.am,languages/Makefile.mk: No need to set
17008	  SUFFIXES manually for suffixes used in implicit rules.
17009
17010Tue Nov 06 10:41:14 GMT 2007  Olly Betts <olly@survex.com>
17011
17012	* matcher/multimatch.cc: If we're collapsing on a value, keep track of
17013	  the number of empty collapse values seen, since that allows us to
17014	  give a better lower bound on the number of matches.
17015	* tests/api_db.cc: This change breaks an (incorrect) assumption in
17016	  collapsekey3, so change that test case to be a regression test for
17017	  the improved estimate.  Add a new test as (the previously missing)
17018	  collapsekey2, but disable it for now as we don't seem to have a
17019	  suitable existing database.
17020
17021Tue Nov 06 07:58:34 GMT 2007  Olly Betts <olly@survex.com>
17022
17023	* matcher/tradweight.cc: Make sure lenpart has been calculated in
17024	  TradWeight::get_sumpart_needs_doclength() (this doesn't appear to
17025	  actually be a problem in current use, but it might become an issue
17026	  if the code which uses TradWeight changes.
17027
17028Tue Nov 06 07:49:18 GMT 2007  Olly Betts <olly@survex.com>
17029
17030	* tests/api_anydb.cc: Add simple feature test for TradWeight being
17031	  used to run a query.
17032
17033Tue Nov 06 07:26:28 GMT 2007  Olly Betts <olly@survex.com>
17034
17035	* common/stats.h,matcher/bm25weight.cc,tests/api_anydb.cc: Fix bug in
17036	  BM25Weight - in the case where k2 is non-zero, a non-initialised
17037	  value influenced the weight calculations.  By default k2 is zero, so
17038	  this bug probably won't affect most users.
17039
17040Tue Nov 06 07:22:27 GMT 2007  Olly Betts <olly@survex.com>
17041
17042	* api/omenquire.cc,common/multimatch.h,matcher/multimatch.cc,
17043	  net/remoteserver.cc: Modify MultiMatch::MultiMatch() to take a const
17044	  pointer to Xapian::RSet rather than a const reference.  This makes
17045	  the code simpler for the case where we don't have an RSet.
17046
17047Tue Nov 06 05:47:38 GMT 2007  Olly Betts <olly@survex.com>
17048
17049	* api/omenquire.cc: Use ".empty()" not ".size() == 0".
17050
17051Mon Nov 05 21:05:45 GMT 2007  Olly Betts <olly@survex.com>
17052
17053	* m4/xapian.m4: Hook LT_INIT as well as AC_PROG_LIBTOOL and
17054	  AM_PROG_LIBTOOL.
17055
17056Mon Nov 05 11:17:23 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
17057
17058	* docs/termgenerator.rst: Change a couple of instances of "terms"
17059	  to "words" for clarity; the item from the input text is a word,
17060	  and the result of processing is a term.
17061
17062Mon Nov 05 09:46:53 GMT 2007  Olly Betts <olly@survex.com>
17063
17064	* docs/admin_notes.rst: Note that this document is up-to-date for
17065	  1.0.4.  Improve the formatting a bit and fix a the odd typo.
17066
17067Mon Nov 05 06:24:01 GMT 2007  Olly Betts <olly@survex.com>
17068
17069	* tests/api_wrdb.cc: Fix MSVC warning.
17070
17071Mon Nov 05 06:21:09 GMT 2007  Olly Betts <olly@survex.com>
17072
17073	* matcher/queryoptimiser.h: Forward declare PosFilter as "struct"
17074	  rather than "class", since it's defined as "struct".
17075
17076Mon Nov 05 05:41:01 GMT 2007  Olly Betts <olly@survex.com>
17077
17078	* api/sortable-serialise.cc: Suppress MSVC warning.
17079
17080Mon Nov 05 04:55:48 GMT 2007  Olly Betts <olly@survex.com>
17081
17082	* docs/quickstart.html: Improved.
17083
17084Mon Nov 05 04:43:13 GMT 2007  Olly Betts <olly@survex.com>
17085
17086	* docs/overview.html: More improvements from Jenny Black.
17087
17088Sun Nov 04 22:59:28 GMT 2007  Olly Betts <olly@survex.com>
17089
17090	* docs/overview.html: Assorted improvements to the start of this
17091	  document.
17092
17093Sun Nov 04 22:54:13 GMT 2007  Olly Betts <olly@survex.com>
17094
17095	* api/omdocument.cc,tests/api_wrdb.cc: values_begin() didn't ensure
17096	  that values had been read.  However, values_end() did (and so did
17097	  values_count()) so this wasn't generally an issue, but it shouldn't
17098	  happen anyway.
17099	* tests/api_wrdb.cc: Extend adddoc5 to include a regression test for
17100	  this bug.
17101
17102Sun Nov 04 22:44:39 GMT 2007  Olly Betts <olly@survex.com>
17103
17104	* tests/quartztest.cc: Remove 'FIXME' suggesting more value tests.
17105	* tests/api_nodb.cc: Add the suggested tests we don't already have.
17106
17107Sun Nov 04 19:23:52 GMT 2007  Olly Betts <olly@survex.com>
17108
17109	* tests/api_posdb.cc,tests/api_wrdb.cc: Use get_writable_database()
17110	  instead of get_writable_database("").
17111	* tests/api_wrdb.cc: Rework test_spell3 so it works under __WIN32__
17112	  (bug#177).
17113
17114Sun Nov 04 07:31:04 GMT 2007  Olly Betts <olly@survex.com>
17115
17116	* tests/harness/backendmanager.h: Make BackendManager dtor virtual as
17117	  intended.
17118
17119Sun Nov 04 07:05:12 GMT 2007  Olly Betts <olly@survex.com>
17120
17121	* tests/api_wrdb.cc,tests/apitest.cc,tests/apitest.h,tests/harness/,
17122	  tests/quartztest.cc: Extend BackendManager to allow opening a
17123	  WritableDatabase as a Database as well, and to allow reopening a
17124	  closed WritableDatabase as a WritableDatabase.  With these new
17125	  features, rework quartztest's adddoc2 and adddoc3 as apitest
17126	  testcases adddoc5 and adddoc6.
17127
17128Sun Nov 04 06:08:42 GMT 2007  Olly Betts <olly@survex.com>
17129
17130	* tests/api_wrdb.cc,tests/apitest.cc,tests/apitest.h,tests/harness/:
17131	  Add BackendManager::get_writable_database_as_database() and use it
17132	  instead of assuming what the WritableDatabase path will be.
17133
17134Sun Nov 04 05:31:30 GMT 2007  Olly Betts <olly@survex.com>
17135
17136	* tests/,tests/harness/: Subclass BackendManager for each database
17137	  backend supported, which should provide a better foundation on
17138	  which we can rebuild to fix the nastier bits of the test harness.
17139
17140Fri Nov 02 17:39:58 GMT 2007  Olly Betts <olly@survex.com>
17141
17142	* INSTALL: zlib 1.2.0 apparently fixes a memory leak in deflateInit2,
17143	  which we use, so that's another reason to prefer 1.2.x.
17144
17145Fri Nov 02 06:34:36 GMT 2007  Olly Betts <olly@survex.com>
17146
17147	* tests/harness/testsuite.cc: Fix extracting of valgrind error
17148	  messages.
17149
17150Fri Nov 02 05:09:05 GMT 2007  Olly Betts <olly@survex.com>
17151
17152	* docs/bm25.html,docs/scalability.html: Remove references to Muscat
17153	  3.6.
17154
17155Thu Nov 01 18:51:20 GMT 2007  Olly Betts <olly@survex.com>
17156
17157	* NEWS: Fix to talk about OP_VALUE_RANGE rather than
17158	  ValueRangePostList since the later isn't user-visible.
17159
17160Thu Nov 01 18:16:20 GMT 2007  Olly Betts <olly@survex.com>
17161
17162	* matcher/exactphrasepostlist.cc: Fix memory leak if second memory
17163	  allocation fails.
17164
17165Thu Nov 01 17:54:09 GMT 2007  Olly Betts <olly@survex.com>
17166
17167	* docs/intro_ir.html: Move the section on stemming to a better
17168	  location.
17169
17170Thu Nov 01 17:37:40 GMT 2007  Jenny Black
17171
17172	* docs/glossary.rst: Fix typo.
17173
17174Thu Nov 01 06:34:58 GMT 2007  Olly Betts <olly@survex.com>
17175
17176	* matcher/multimatch.cc: Minor code simplification.
17177
17178Wed Oct 31 16:17:08 GMT 2007  Olly Betts <olly@survex.com>
17179
17180	* bin/xapian-check.cc: Fix to handle the special case of a term which
17181	  is 48 characters long.  Fix not to go into an infinite loop if
17182	  certain checks fail.
17183
17184Wed Oct 31 15:56:45 GMT 2007  Olly Betts <olly@survex.com>
17185
17186	* matcher/multiandpostlist.cc: If the subpostlists are ORs and pruning
17187	  or operator decay happens within them, then get_termfreq_est() can
17188	  change such that the first postlist returns a higher value than
17189	  the second, so remove a bogus assertion which assumed this didn't
17190	  happen (bug#209).
17191
17192Wed Oct 31 15:43:58 GMT 2007  Olly Betts <olly@survex.com>
17193
17194	* backends/flint/flint_version.cc: I documented an increase in
17195	  FLINT_VERSION but didn't increase it - luckily the previous version
17196	  wasn't in a released version, so just adjust the comment to match
17197	  what actually happened.
17198
17199Wed Oct 31 15:24:48 GMT 2007  Olly Betts <olly@survex.com>
17200
17201	* net/remoteconnection.cc: Add '#include <safeunistd.h>' (bug#208).
17202
17203Wed Oct 31 15:01:53 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
17204
17205	* bin/xapian-check.cc: Update the checking of the termlist table to
17206	  stop checking for the "has_termfreqs" flag, which is no longer
17207	  stored in termlists.
17208
17209Wed Oct 31 14:31:38 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
17210
17211	* backends/quartz/quartz_positionlist.cc: Add missing #include,
17212	  which is needed only when configured with --enable-log and with
17213	  --disable-assertions.
17214
17215Tue Oct 30 04:52:53 GMT 2007  Olly Betts <olly@survex.com>
17216
17217	* NEWS,configure.ac: Update for 1.0.4.
17218
17219Tue Oct 30 04:10:32 GMT 2007  Olly Betts <olly@survex.com>
17220
17221	* queryparser/queryparser.lemony: Code tweak.
17222
17223Tue Oct 30 03:04:04 GMT 2007  Olly Betts <olly@survex.com>
17224
17225	* tests/queryparsertest.cc: Add two more test cases to improve
17226	  coverage.
17227
17228Tue Oct 30 00:13:42 GMT 2007  Olly Betts <olly@survex.com>
17229
17230	* tests/harness/testsuite.cc: abi::__cxa_demangle() requires GCC 3.1
17231	  it seems.
17232
17233Mon Oct 29 23:14:41 GMT 2007  Olly Betts <olly@survex.com>
17234
17235	* docs/scalability.html: Update size of gmane.
17236
17237Mon Oct 29 23:13:00 GMT 2007  Olly Betts <olly@survex.com>
17238
17239	* docs/quartzdesign.html: Note that Quartz is now deprecated.
17240
17241Mon Oct 29 21:09:12 GMT 2007  Olly Betts <olly@survex.com>
17242
17243	* configure.ac,tests/harness/testsuite.cc: Demangle the name of
17244	  the std::exception subclass for GCC, and handle compilation with
17245	  -fno-rtti.
17246
17247Mon Oct 29 19:50:05 GMT 2007  Olly Betts <olly@survex.com>
17248
17249	* tests/harness/testsuite.cc: Catch std::exception subclasses
17250	  explicitly and report e.what() (which gives the method name which
17251	  threw, at least under GCC).
17252
17253Mon Oct 29 18:46:57 GMT 2007  Olly Betts <olly@survex.com>
17254
17255	* NEWS: Updated.
17256
17257Mon Oct 29 18:36:12 GMT 2007  Olly Betts <olly@survex.com>
17258
17259	* matcher/multimatch.cc: Pull out old_item.wt into a variable.
17260
17261Mon Oct 29 18:24:46 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
17262
17263	* queryparser/queryparser.lemony: Fix problem with spelling
17264	  correction of hyphenated terms (or other terms joined with phrase
17265	  generators): the position of the start of the term wasn't being
17266	  reset for the second term in the generated phrase, resulting in
17267	  out of bounds errors when substituting the new value in the
17268	  corrected query string.
17269	* tests/queryparsertest.cc: Test the fix.
17270
17271Mon Oct 29 17:34:17 GMT 2007  Olly Betts <olly@survex.com>
17272
17273	* docs/deprecation.rst: Move "Stem::stem_word(word)" in the bindings
17274	  to the right section (it was done in 1.0.0, as already indicated).
17275	  Deprecate the non-pythonic iterators in favour of the pythonic ones.
17276
17277Mon Oct 29 02:54:09 GMT 2007  Olly Betts <olly@survex.com>
17278
17279	* NEWS,api/Makefile.mk,docs/Makefile.am,include/Makefile.mk,
17280	  include/xapian.h,tests/api_db.cc,tests/api_nodb.cc,
17281	  tests/api_wrdb.cc: Back out match spy changes in preparation for
17282	  creating a branch for them.
17283
17284Mon Oct 29 02:37:31 GMT 2007  Olly Betts <olly@survex.com>
17285
17286	* matcher/valuerangepostlist.cc: Fix
17287	  ValueRangeProcessor::get_termfreq_est() and get_termfreq_max() to
17288	  work when at_end() when paranoid assertions are enabled.
17289
17290Mon Oct 29 01:51:07 GMT 2007  Olly Betts <olly@survex.com>
17291
17292	* common/omenquireinternal.h: Add ESetItem::swap() and
17293	  MSetItem::swap().
17294
17295Sun Oct 28 16:33:34 GMT 2007  Olly Betts <olly@survex.com>
17296
17297	* PLATFORMS: Update from tinderbox and buildbot.
17298
17299Sun Oct 28 06:00:23 GMT 2007  Olly Betts <olly@survex.com>
17300
17301	* matcher/queryoptimiser.cc: Remove unused variable.
17302
17303Sun Oct 28 05:46:28 GMT 2007  Olly Betts <olly@survex.com>
17304
17305	* docs/remote.html: xapian-tcpsrv can handle concurrent read access
17306	  so update the out-of-date information here.  Also, some new features
17307	  aren't supported by the remote backend yet.
17308
17309Sun Oct 28 05:20:02 GMT 2007  Olly Betts <olly@survex.com>
17310
17311	* include/xapian/queryparser.h: Update documentation comment for
17312	  QueryParser::set_stemming_strategy().
17313
17314Sun Oct 28 05:03:03 GMT 2007  Olly Betts <olly@survex.com>
17315
17316	* queryparser/queryparser.lemony: Fix handling of STEM_ALL.
17317	* tests/queryparsertest.cc: Update tests.  Move tables of queries to
17318	  before the test functions which use them.
17319
17320Sat Oct 27 20:50:57 BST 2007  Olly Betts <olly@survex.com>
17321
17322	* api/omqueryinternal.cc,include/xapian/query.h,
17323	  matcher/queryoptimiser.cc: Eliminate Query::Internal::dbl_parameter
17324	  to avoid any risk of ABI breakage.
17325
17326Sat Oct 27 17:08:46 BST 2007  Olly Betts <olly@survex.com>
17327
17328	* include/xapian/query.h: Pull in <xapian/deprecated.h> explicitly.
17329	  Add @deprecated note to Query::Query(Query::op, Query) explaining
17330	  why it is deprecated.
17331	* include/xapian/queryparser.h: Wrap comment better.
17332
17333Sat Oct 27 05:37:33 BST 2007  Olly Betts <olly@survex.com>
17334
17335	* NEWS: Merge two "testsuite" sections in draft 1.0.4 entry.
17336
17337Sat Oct 27 02:34:10 BST 2007  Olly Betts <olly@survex.com>
17338
17339	* HACKING: Note specifically that std::list::size() is O(n) for GCC.
17340	  Update the debian packaging checklist.
17341
17342Sat Oct 27 02:33:14 BST 2007  Olly Betts <olly@survex.com>
17343
17344	* docs/intro_ir.html: Add link to the forthcoming book
17345	  "Introduction to Information Retrieval", which can be read online.
17346
17347Sat Oct 27 02:22:36 BST 2007  Olly Betts <olly@survex.com>
17348
17349	* docs/Makefile.am: We no longer build sourcedoc.pdf so remove it from
17350	  MAINTAINERCLEANFILES.
17351
17352Sat Oct 27 02:20:31 BST 2007  Olly Betts <olly@survex.com>
17353
17354	* NEWS: Mostly updated for 1.0.4.
17355
17356Fri Oct 26 04:57:31 BST 2007  Olly Betts <olly@survex.com>
17357
17358	* api/omqueryinternal.cc: OP_SCALE_WEIGHT applied to MatchNothing is
17359	  now handled by the Query ctor, so replace the code to handle
17360	  OP_SCALE_WEIGHT in Query::Internal::simplify_matchnothing() by an
17361	  assertion that the subquery isn't MatchNothing.
17362
17363Fri Oct 26 04:50:37 BST 2007  Olly Betts <olly@survex.com>
17364
17365	* include/xapian/query.h: Deprecate the essentially useless
17366	  constructor Query(Query::op, Query).
17367	* docs/deprecation.rst: Note this deprecation, and since the feature
17368	  doesn't actually have a use, schedule it for 1.1.0.  Also schedule
17369	  Enquire::register_match_decider() for 1.1.0 for the same reason.
17370
17371Fri Oct 26 01:00:08 BST 2007  Olly Betts <olly@survex.com>
17372
17373	* api/omquery.cc,include/xapian/query.h: OP_SCALE_WEIGHT applied to
17374	  OP_VALUE_RANGE can have no effect so ignore it.
17375	* tests/queryparsertest.cc: Update expected query descriptions.
17376
17377Fri Oct 26 00:23:55 BST 2007  Olly Betts <olly@survex.com>
17378
17379	* matcher/multimatch.cc: When checkatleast is set, and we're sorting
17380	  by relevance with forward ordering by docid, and the query is pure
17381	  boolean, we were exiting before the checkatleast requirement was
17382	  satisfied.  Then the adjustments made to the estimated and max
17383	  statistics based on checkatleast meant we claimed there were
17384	  exactly msize results.
17385
17386Thu Oct 25 00:34:14 BST 2007  Olly Betts <olly@survex.com>
17387
17388	* matcher/localmatch.cc,matcher/multiandpostlist.cc,
17389	  matcher/queryoptimiser.cc,queryparser/queryparser.cc: Fix build
17390	  with --enable-assertions and --enable-log.
17391
17392Wed Oct 24 06:29:03 BST 2007  Olly Betts <olly@survex.com>
17393
17394	* queryparser/queryparser.lemony: Drop out of IN_GROUP mode when we
17395	  generate a BOOLEAN_FILTER token.
17396	* tests/queryparsertest.cc: Add regression test.
17397
17398Wed Oct 24 06:08:29 BST 2007  Olly Betts <olly@survex.com>
17399
17400	* queryparser/queryparser.lemony: Drop special treatment for unmatched
17401	  ')' at the start of the query, as it seems rather arbitrary and not
17402	  particularly useful.  Reparsing seems a better approach here.
17403	* tests/queryparsertest.cc: Add regression test case for bug which
17404	  dropping this special case fixes.
17405
17406Wed Oct 24 05:25:40 BST 2007  Olly Betts <olly@survex.com>
17407
17408	* AUTHORS: Add Ron Kass for several bug reports.
17409
17410Wed Oct 24 05:13:01 BST 2007  Olly Betts <olly@survex.com>
17411
17412	* queryparser/queryparser.lemony: Fix parsing of queries which consist
17413	  only of boolean filter terms and HATE-d terms.
17414	* tests/queryparsertest.cc: Add regression tests, and a few more cases
17415	  which passed before too.  Fix descriptions of queries which now give
17416	  different (but equivalent) Xapian::Query object hierarchies.
17417
17418Wed Oct 24 04:51:56 BST 2007  Olly Betts <olly@survex.com>
17419
17420	* queryparser/queryparser.lt: Fix warning in debug log build.
17421
17422Wed Oct 24 04:41:08 BST 2007  Olly Betts <olly@survex.com>
17423
17424	* backends/flint/flint_table.cc,backends/flint/flint_table.h: Don't
17425	  use class member function pointers to implement FlintTable::next()
17426	  and FlintTable::prev() as we can just call the methods directly
17427	  based on the sequential flag.  Profiling suggests this speeds up
17428	  searches a little, the two pointers take up 16 bytes each (on
17429	  x86_64) so it reduces the class size by up to 32 bytes, and the code
17430	  is simpler because we no longer need to update prev_ptr and
17431	  next_ptr.
17432
17433Wed Oct 24 00:16:06 BST 2007  Olly Betts <olly@survex.com>
17434
17435	* api/omqueryinternal.cc: Tweak Query::get_description() to describe
17436	  OP_SCALE_WEIGHT queries as '<factor> * <subquery>' rather than
17437	  '<subquery> * <factor>' as the former results in more readable
17438	  descriptions.
17439	* queryparser/queryparser.lemony: Use OP_SCALE_WEIGHT with factor 0.0
17440	  for queries which should be purely boolean which resolves a FIXME
17441	  comment in the code.
17442	* tests/queryparsertest.cc: Fix expected results for this change.
17443
17444Tue Oct 23 19:13:08 BST 2007  Olly Betts <olly@survex.com>
17445
17446	* queryparser/queryparser.lemony: Some as_XXX() methods delete the
17447	  object they are called on, while others don't, so rename the ones
17448	  which don't to get_XXX() to make the code clearer, and make them
17449	  all return Query rather than Query *.  Eliminate Term::as_query()
17450	  completely - when we actually want a new object we can just call
17451	  new in the caller.  op_window_query() now takes the difference
17452	  between the number of terms and the total window size, and we now
17453	  use a std::vector to store the generated Query objects rather than
17454	  a std::list, since we know how many there will be and can reserve
17455	  the required size in advance.
17456
17457Tue Oct 23 18:33:49 BST 2007  Olly Betts <olly@survex.com>
17458
17459	* queryparser/queryparser.lemony: Improve comment.
17460
17461Mon Oct 22 21:00:05 BST 2007  Olly Betts <olly@survex.com>
17462
17463	* queryparser/queryparser.lemony: Fix handling of LOVE and HATE
17464	  following a quoted phrase.
17465	* tests/queryparsertest.cc: Add regression test.
17466
17467Mon Oct 22 05:23:23 BST 2007  Olly Betts <olly@survex.com>
17468
17469	* queryparser/queryparser.lemony: Refactor so Term::as_query() calls
17470	  Term::as_query_object() instead of vice versa, as this avoids
17471	  calling 'new Query' quite a bit and makes a measurable difference
17472	  to the speed of the QueryParser.  Fix a call to as_query() which
17473	  can be as_query_object().
17474
17475Mon Oct 22 04:10:17 BST 2007  Olly Betts <olly@survex.com>
17476
17477	* queryparser/queryparser.lemony: FLAG_PARTIAL with multi-prefixes
17478	  would result in inflated wqf for the "normal" version of the term
17479	  treated as partial.
17480	* tests/queryparsertest.cc: Add regression test.
17481
17482Mon Oct 22 02:34:58 BST 2007  Olly Betts <olly@survex.com>
17483
17484	* queryparser/queryparser.lemony,queryparser/queryparser_internal.h:
17485	  Rename QueryParser::Internal::prefixes to prefixmap to avoid
17486	  confusion with all the other variables which are now called
17487	  "prefixes" in queryparser.lemony.  Eliminate have_prefix and
17488	  instead just set prefixinfo to NULL by default.
17489
17490Sun Oct 21 23:56:57 BST 2007  Olly Betts <olly@survex.com>
17491
17492	* common/omenquireinternal.h,include/xapian/enquire.h,
17493	  include/xapian/query.h,matcher/: Implement a new QueryOptimiser
17494	  class which can hoist the positional filters of OP_PHRASE and
17495	  OP_NEAR higher up the tree and merge the "AND" inside them into
17496	  any neighbouring OP_AND or OP_FILTER (bug#23).  This shaves 10% of
17497	  the execution time of real world queries on real world data.  On
17498	  particularly slow cases, the saving can be more dramatic - it
17499	  saves 50% when tested on a log of slow cases.  OP_SCALE_WEIGHT
17500	  scaling factors are now pushed down to the leaves and any leaf
17501	  we a factor other than 0.0 (boolean) or 1.0 (unscaled) has
17502	  its weights scaled using a ScaleWeight wrapper around the normal
17503	  weighting object (bug#203).
17504
17505Sun Oct 21 23:46:11 BST 2007  Olly Betts <olly@survex.com>
17506
17507	* include/xapian/query.h: Fix documentation of OP_SCALE_WEIGHT.
17508	  Negative scaling factors aren't now clipped to 0, instead we
17509	  throw Xapian::InvalidArgumentError.  Remove the explicit setting of
17510	  OP_ELITE_SET to 10 which is no longer required.  Wrap a long comment
17511	  line.
17512
17513Sun Oct 21 23:20:23 BST 2007  Olly Betts <olly@survex.com>
17514
17515	* tests/api_anydb.cc: Tweak code and wrap comment.
17516
17517Sun Oct 21 04:53:40 BST 2007  Olly Betts <olly@survex.com>
17518
17519	* matcher/extraweightpostlist.h: Add missing '#include "multimatch.h"'
17520	  which is pulled in implicitly by some other header which always
17521	  happens to be included before this one.
17522
17523Fri Oct 19 03:52:17 BST 2007  Olly Betts <olly@survex.com>
17524
17525	* docs/deprecation.rst: Remove deprecation of
17526	  QueryParser::add_prefix() and QueryParser::add_boolean_prefix().
17527	  Reformat the tables to use the "simple table" style, and to all be
17528	  126 columns wide, since that fits in a maximised terminal window
17529	  without wrapping (at least on my machine!)
17530
17531Fri Oct 19 03:44:33 BST 2007  Olly Betts <olly@survex.com>
17532
17533	* include/xapian/queryparser.h,queryparser/queryparser.cc,
17534	  queryparser/queryparser.lemony,queryparser/queryparser_internal.h,
17535	  tests/queryparsertest.cc: Since calling QueryParser::add_prefix()
17536	  or QueryParser::add_boolean_prefix() a second time with the same
17537	  field name was ignored before (rather than overriding as we had
17538	  thought) it seems reasonable to change this behaviour.  This
17539	  also avoids the need to deprecate these methods which will force all
17540	  users to update their code.  Change the semantics of default_prefix
17541	  - it's more useful if this overrides any default prefixes set with
17542	  add_prefix(), since this allows the same QueryParser object to
17543	  parse both a "general" search input which searches several fields
17544	  and also a "title" search input.  Trying to set the same field
17545	  as probabilistic and boolean now throws InvalidOperationError
17546	  rather than UnimplementedError.
17547
17548Fri Oct 19 03:29:53 BST 2007  Olly Betts <olly@survex.com>
17549
17550	* queryparser/queryparser.lt: Fix compilation.
17551
17552Fri Oct 19 03:28:37 BST 2007  Olly Betts <olly@survex.com>
17553
17554	* docs/Makefile.am: We're still getting "info" messages in the
17555	  generated HTML.  It seems to be impossible to get rst2html to
17556	  report "info" messages to stdout without adding them to the
17557	  generated document, so just drop "--verbose" to disable them
17558	  completely.
17559
17560Thu Oct 18 18:27:28 BST 2007  Olly Betts <olly@survex.com>
17561
17562	* queryparser/queryparser.lt: Use std::vector<> for the stack in the
17563	  lemon-generated parser.  This means that the stack is no longer a
17564	  fixed size, so we needn't worry about overflow, and that in typical
17565	  use it'll actually use less memory (lemon defaults to a 100 entry
17566	  stack).
17567
17568Thu Oct 18 17:23:45 BST 2007  Olly Betts <olly@survex.com>
17569
17570	* languages/turkish.sbl: Minimise differences with Snowball SVN HEAD
17571	  by stripping trailing whitespace.
17572
17573Mon Oct 15 15:39:26 BST 2007  Olly Betts <olly@survex.com>
17574
17575	* backends/quartz/btree_util.h: Need "safeunistd.h" for close().
17576	  Fixes build errors on mingw and with SGI's CC on IRIX.
17577
17578Mon Oct 15 05:30:23 BST 2007  Olly Betts <olly@survex.com>
17579
17580	* matcher/localmatch.cc: Fix typo in comment.
17581
17582Mon Oct 15 05:26:35 BST 2007  Olly Betts <olly@survex.com>
17583
17584	* common/omassert.h: Rewritten from scratch.  The new version only
17585	  includes headers if assertions are enabled, which should help
17586	  to speed up non-assertion builds by reducing unnecessary header
17587	  inclusion.  Also, float.h and math.h are never now pulled in -
17588	  instead we use the new within_DBL_EPSILON() function.  AssertNe()
17589	  and AssertNeParanoid() are never actually used, so replace them with
17590	  AssertRel() and AssertRelParanoid which allow the user to assert any
17591	  binary relation, not just inequality.  Also, we now use rare() to
17592	  give branch prediction hints for assertion tests (since the failure
17593	  branch should never be taken).
17594	* common/omdebug.h,common/stringutils.h,tests/harness/testsuite.h:
17595	  Replace several definitions of the STRINGIZE macro with a single
17596	  version in common/stringutils.h.
17597	* backends/flint/,backends/inmemory/inmemory_database.cc,
17598	  backends/multi/multi_postlist.cc,backends/quartz/,
17599	  backends/remote/remote-database.cc,bin/quartzcheck.cc,
17600	  bin/xapian-compact.cc,common/stringutils.h,expand/expandweight.cc,
17601	  expand/ortermlist.cc,matcher/phrasepostlist.cc,
17602	  matcher/scaleweightpostlist.cc,net/remoteconnection.cc,
17603	  net/tcpserver.cc: Explicitly include headers which were previously
17604	  being pulled in implicitly by omassert.h.
17605	* HACKING: Update the documentation for assertion calls, and document
17606	  CompileTimeAssert() (which previously wasn't documented here).
17607
17608Mon Oct 15 05:09:15 BST 2007  Olly Betts <olly@survex.com>
17609
17610	* common/utils.cc,common/utils.h: Add within_DBL_EPSILON() function
17611	  which returns true if its two double arguments differ by less
17612	  than DBL_EPSILON (currently not used anywhere).
17613
17614Mon Oct 15 05:03:50 BST 2007  Olly Betts <olly@survex.com>
17615
17616	* matcher/multiandpostlist.cc: If check sets valid to true, we can't
17617	  be at_end(), so check valid first as at_end() is a rare event.
17618
17619Mon Oct 15 05:00:18 BST 2007  Olly Betts <olly@survex.com>
17620
17621	* matcher/: Remove code for FilterPostList, which has been unused for
17622	  ages.
17623
17624Sun Oct 14 02:13:57 BST 2007  Olly Betts <olly@survex.com>
17625
17626	* matcher/andpostlist.cc: AndPostList now ensures that its left is
17627	  less frequent than its right (it can still be produced as an
17628	  operator decay product, and sometimes left is more frequent when
17629	  this happens).
17630
17631Sun Oct 14 00:58:20 BST 2007  Olly Betts <olly@survex.com>
17632
17633	* matcher/multimatch.cc: Use rare() to mark rarely taken branches.
17634
17635Sun Oct 14 00:30:46 BST 2007  Olly Betts <olly@survex.com>
17636
17637	* configure.ac: Add rare() and usual() macros to config.h which allow
17638	  branch prediction hints to be given for compilers which support this
17639	  (currently GCC and Intel C++).
17640	* HACKING: Document rare() and usual().
17641
17642Sat Oct 13 22:37:32 BST 2007  Olly Betts <olly@survex.com>
17643
17644	* HACKING: Improve wording.
17645
17646Sat Oct 13 16:42:26 BST 2007  Olly Betts <olly@survex.com>
17647
17648	* api/postlist.cc,common/postlist.h,matcher/: Implement a variant of
17649	  PostList::skip_to() called PostList::check() which isn't required
17650	  to leave the PostList on a particular docid.  This allows queries
17651	  filtered by a ValueRangePostList to run around 3.5 times faster.
17652	  Fixes buf#164, though there's probably scope for at least some
17653	  further improvement.
17654
17655Sat Oct 13 16:08:07 BST 2007  Olly Betts <olly@survex.com>
17656
17657	* matcher/multiandpostlist.cc: Fix typo bug (get_termfreq_min
17658	  should be get_termfreq_max!)
17659
17660Sat Oct 13 15:53:52 BST 2007  Olly Betts <olly@survex.com>
17661
17662	* matcher/multiandpostlist.cc: Fix assertion (should be <= not <).
17663
17664Fri Oct 12 01:20:05 BST 2007  Olly Betts <olly@survex.com>
17665
17666	* HACKING: Note that rst2html may be installed as rst2html.py.
17667
17668Fri Oct 12 01:10:11 BST 2007  Olly Betts <olly@survex.com>
17669
17670	* matcher/localmatch.cc: Tweak formatting.
17671
17672Thu Oct 11 22:58:36 BST 2007  Olly Betts <olly@survex.com>
17673
17674	* tests/: svn:ignore: Add termgentest and termgentest.exe.
17675
17676Thu Oct 11 16:18:03 BST 2007  Olly Betts <olly@survex.com>
17677
17678	* configure.ac: If rst2html isn't found, also look for rst2html.py,
17679	  which archlinux reportedly installs it as.
17680
17681Thu Oct 11 16:09:20 BST 2007  Olly Betts <olly@survex.com>
17682
17683	* matcher/: Round the result of all get_termfreq_est() calculations to
17684	  the nearest integer instead of rounding down.
17685
17686Thu Oct 11 15:40:48 BST 2007  Olly Betts <olly@survex.com>
17687
17688	* matcher/: Add new PostList subclass MultiAndPostList which handles
17689	  a multi-way AND operation in a single class.  This allows us to
17690	  optimise some cases of 3 or more way AND operations much better
17691	  and gives a 16-17% performance improvement in tests using real-world
17692	  query logs.
17693	* tests/api_anydb.cc: MultiAndPostList rounds get_termfreq_est()
17694	  calculations to the nearest integer (rather than always rounding
17695	  down) so adjust the expected answers in test_matches.
17696
17697Thu Oct 11 15:14:27 BST 2007  Olly Betts <olly@survex.com>
17698
17699	* matcher/selectpostlist.cc: Explicitly qualify next() as
17700	  SelectPostList::next().
17701
17702Thu Oct 11 13:04:40 BST 2007  Olly Betts <olly@survex.com>
17703
17704	* README: Remove the ancient history lesson - this material is better
17705	  left to the history page on the website.
17706
17707Thu Oct 11 00:33:34 BST 2007  Olly Betts <olly@survex.com>
17708
17709	* matcher/branchpostlist.h: Fix comment typo.
17710
17711Thu Oct 11 00:28:29 BST 2007  Olly Betts <olly@survex.com>
17712
17713	* api/postlist.cc,backends/flint/flint_alldocspostlist.cc,
17714	  backends/flint/flint_alldocspostlist.h,common/postlist.h,matcher/:
17715	  Eliminate several implementations of open_position_list and
17716	  read_position_list in favour of default ones in the PostList base
17717	  class which throw InvalidOperationError.  Change the default
17718	  get_wdf implementation to also throw InvalidOperationError.
17719
17720Wed Oct 10 22:27:44 BST 2007  Olly Betts <olly@survex.com>
17721
17722	* docs/install.html: Improve the remainder.  This documents now just
17723	  gives a brief overview of building, suitable for most common cases,
17724	  and defers to the INSTALL document in each tarball for more details.
17725
17726Wed Oct 10 21:51:39 BST 2007  Olly Betts <olly@survex.com>
17727
17728	* common/leafpostlist.h: Rewrite header.
17729	* api/Makefile.mk,api/leafpostlist.cc: Add new source file for
17730	  virtual, and non-trivial, non-virtual, methods of LeafPostList.
17731	* api/omdatabase.cc,backends/inmemory/inmemory_database.h,
17732	  backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h,
17733	  backends/remote/net_postlist.h,common/emptypostlist.h: Add missing
17734	  '#include "omassert.h"' which was previously pulled in implicitly
17735	  via '#include "leafpostlist.h"'.
17736	* backends/inmemory/inmemory_database.h: Remove unused '#include
17737	  <stdlib.h>'.
17738	* backends/multi/multi_postlist.cc,backends/multi/multi_postlist.h:
17739	  MultiPostList::set_termweight() is never used, so eliminate it.
17740	* backends/remote/net_postlist.cc: Rename parameter "weight" to
17741	  "min_weight" to avoid clash with new member variable of
17742	  LeafPostList.
17743	* matcher/emptysubmatch.cc,matcher/localmatch.cc: Don't call
17744	  LeafPostList::set_termweight() with a BoolWeight object - the
17745	  default behaviour is now equivalent.
17746
17747Wed Oct 10 18:18:09 BST 2007  Olly Betts <olly@survex.com>
17748
17749	* docs/install.html: Improve the first half.
17750
17751Wed Oct 10 16:32:57 BST 2007  Olly Betts <olly@survex.com>
17752
17753	* common/postlist.h: Rewrite header.
17754	* api/Makefile.mk,api/postlist.cc: Add new source file for virtual
17755	  methods of Xapian::PostingIterator::Internal.
17756	* api/omdatabase.cc,backends/flint/flint_postlist.h,
17757	  backends/quartz/quartz_alldocspostlist.cc,
17758	  backends/quartz/quartz_postlist.h,matcher/valuerangepostlist.cc:
17759	  Add missing '#include "autoptr.h"' which was previously pulled in
17760	  implicitly via '#include "postlist.h"'.
17761
17762Wed Oct 10 16:25:08 BST 2007  Olly Betts <olly@survex.com>
17763
17764	* tests/quartztest.cc: Remove quartztest's test_postlist1 and
17765	  test_postlist2.
17766	* tests/api_db.cc: Enhance test_termstats to cover part of the removed
17767	  tests.  Enhance test_postlist1 to check more long terms.  Eliminate
17768	  the helper function from test_postlist3.
17769	* tests/api_wrdb.cc: Add test_postlist7 to cover the rest of what the
17770	  removed tests checked which isn't already checked elsewhere.
17771
17772Wed Oct 10 02:29:44 BST 2007  Olly Betts <olly@survex.com>
17773
17774	* HACKING: Update the release checklist.
17775
17776Wed Oct 10 02:01:03 BST 2007  Olly Betts <olly@survex.com>
17777
17778	* matcher/scaleweightpostlist.cc,matcher/scaleweightpostlist.h: Move
17779	  virtual dtor definition out of header.
17780
17781Wed Oct 10 01:41:05 BST 2007  Olly Betts <olly@survex.com>
17782
17783	* matcher/msetpostlist.cc: Avoid virtual method overhead in
17784	  MSetPostList::recalc_maxweight().
17785
17786Wed Oct 10 00:16:00 BST 2007  Olly Betts <olly@survex.com>
17787
17788	* common/expandweight.h,expand/expand.cc,expand/expandweight.cc: We
17789	  never actually use ExpandWeight::get_maxweight(), so remove it.
17790
17791Tue Oct 09 16:27:54 BST 2007  Olly Betts <olly@survex.com>
17792
17793	* backends/flint/flint_database.cc,backends/flint/flint_version.cc,
17794	  backends/flint/flint_version.h: Don't try to upgrade a flint
17795	  database if we're only reading it, or it's already the latest
17796	  version.
17797
17798Mon Oct 08 10:14:57 BST 2007  Richard Boulton <richard@lemurconsulting.com>
17799
17800	* tests/api_nodb.cc: Rename test_scaleweightmatchnothing1 to
17801	  test_scaleweight3 so all the scaleweight tests can be run
17802	  together more easily.  Add test_scaleweight4 to test that scaling
17803	  by a weight close to 1 is optimised away.
17804
17805Sun Oct 07 12:20:14 BST 2007  Olly Betts <olly@survex.com>
17806
17807	* include/xapian/database.h: Add explicit note that
17808	  Database::get_metadata() returns an empty string when the backend
17809	  doesn't support user-specified metadata, and that
17810	  WritableDatabase::set_metadata() throws UnimplementedError in this
17811	  case.  Add note about current behaviour with multidatabases.
17812
17813Sun Oct 07 10:58:24 BST 2007  Olly Betts <olly@survex.com>
17814
17815	* api/omqueryinternal.cc: No need to use AutoPtr<> here now.
17816
17817Sun Oct 07 10:54:05 BST 2007  Richard Boulton <richard@lemurconsulting.com>
17818
17819	* common/remoteprotocol.h: Bump the network protocol minor
17820	  revision, since we've added a query operator (OP_SCALE_WEIGHT)
17821	  and the server will need to be updated to understand serialised
17822	  queries containing it.
17823
17824Sun Oct 07 01:54:43 BST 2007  Richard Boulton <richard@lemurconsulting.com>
17825
17826	* api/omqueryinternal.cc,include/xapian/query.h,matcher/,
17827	  tests/api_anydb.cc,tests/api_nodb.cc,tests/internaltest.cc:
17828	  Rename OP_MULT_WEIGHT to OP_SCALE_WEIGHT and MultWeight to
17829	  ScaleWeight, and move it to before OP_MULT_WEIGHT (to remove the
17830	  gap in the enum).
17831	  Don't do an epsilon test to compare the weight to zero (when
17832	  checking if it's effectively a boolean query) - do an exact
17833	  comparison instead.  Raise an exception if the parameter for
17834	  OP_SCALE_WEIGHT is < 0 (instead of clipping it to 0).  Adjust
17835	  weights accordingly.
17836	  Add test_scaleweight2() to test a query with some weights
17837	  multiplied by 0, and some by a different factor.
17838
17839Wed Oct 03 17:23:02 BST 2007  Richard Boulton <richard@lemurconsulting.com>
17840
17841	* api/omqueryinternal.cc,tests/api_nodb.cc: Fix (and test) for a
17842	  double delete if OP_MULT_WEIGHT was applied to an empty query.
17843
17844Mon Oct 01 13:20:39 BST 2007  Richard Boulton <richard@lemurconsulting.com>
17845
17846	* NEWS: Update
17847	* net/remoteconnection.cc: Back out previous change - I was
17848	  confused, the code was previously fine, and the change broke it.
17849
17850Mon Oct 01 13:13:48 BST 2007  Richard Boulton <richard@lemurconsulting.com>
17851
17852	* api/omqueryinternal.cc: Fix access of uninitialised member when
17853	  unserialising a mult-weight query.
17854	* tests/internaltest.cc: Add a regression test for unserialisationg
17855	  of mult-weight queries.
17856
17857Mon Oct 01 13:11:24 BST 2007  Richard Boulton <richard@lemurconsulting.com>
17858
17859	* net/remoteconnection.cc: After calling read(), check for received
17860	  == 0 after checking for errors, so that if an EINTR occurs in
17861	  read, we don't report EOF instead of retrying.
17862
17863Sun Sep 30 23:20:34 BST 2007  Richard Boulton <richard@lemurconsulting.com>
17864
17865	* api/omquery.cc,api/omqueryinternal.cc,include/xapian/query.h: Add
17866	  OP_MULT_WEIGHT operator, and a new Query constructor which takes
17867	  a single subquery and a "double" parameter - currently only
17868	  useful for OP_MULT_WEIGHT.  Add dbl_parameter to Query::Internal,
17869	  to hold this parameter.  Add serialisation of OP_MULT_WEIGHT
17870	  using "." to represent the operator.  Drop OP_MULT_WEIGHT
17871	  operators which have a parameter of 1 (or very close) when
17872	  simplifying, since these have no effect.
17873	* matcher/multweightpostlist.cc,matcher/multweightpostlist.h: New
17874	  files, implementing a postlist which multiplies the weights from
17875	  its single sub-postlist by a parameter.
17876	* matcher/Makefile.mk: Add new files.
17877	* matcher/localmatch.cc: Add support for the OP_MULT_WEIGHT query
17878	  operator, which produces a MultWeightPostList if the associated
17879	  parameter is greater than DBL_EPSILON, and produces a boolean query
17880	  otherwise.
17881	* tests/api_anydb.cc: Add tests for OP_MULT_WEIGHT operator with
17882	  various queries, and various multipliers.
17883	* NEWS: Update
17884
17885Sun Sep 30 23:13:29 BST 2007  Richard Boulton <richard@lemurconsulting.com>
17886
17887	* tests/harness/testsuite.h: Add TEST_NOT_EQUAL_DOUBLE() macro.
17888	* tests/harness/testsuite.cc: Add special
17889	  case to TEST_EQUAL_DOUBLE_() for exact equality of the supplied
17890	  arguments.  This is tidier in general, because it avoids "inf"
17891	  being produces by the calculation, but is only actually necessary
17892	  in the case where the arguments are both exactly 0; it all works
17893	  out nicely for other values of the arguments.
17894
17895Sun Sep 30 21:12:40 BST 2007  Richard Boulton <richard@lemurconsulting.com>
17896
17897	* tests/queryparsertest.cc: #define XAPIAN_DEPRECATED to disable
17898	  compiler warnings about the deprecated forms of add_prefix() and
17899	  add_boolean_prefix().
17900
17901Sun Sep 30 21:07:25 BST 2007  Richard Boulton <richard@lemurconsulting.com>
17902
17903	* api/Makefile.mk,docs/Makefile.am,docs/deprecation.rst,
17904	  include/Makefile.mk,include/xapian.h,include/xapian/queryparser.h,
17905	  queryparser/queryparser.cc,queryparser/queryparser.lemony,
17906	  queryparser/queryparser_internal.h,tests/: Re-apply changes which
17907	  needed more thought or more work before being included in a
17908	  release.
17909	* NEWS: Update with current descriptions of these changes.
17910
17911Sun Sep 30 20:22:25 BST 2007  Richard Boulton <richard@lemurconsulting.com>
17912
17913	* tests/valgrind.supp: Add further suppressions needed for the
17914	  version of zlib on ubuntu gutsy.
17915
17916Fri Sep 28 15:38:18 BST 2007  Olly Betts <olly@survex.com>
17917
17918	* NEWS: Final (?) update for 1.0.3.
17919
17920Fri Sep 28 15:37:22 BST 2007  Olly Betts <olly@survex.com>
17921
17922	* PLATFORMS: Another small update.
17923
17924Fri Sep 28 15:30:17 BST 2007  Olly Betts <olly@survex.com>
17925
17926	* HACKING: Add link to the 1.0.N tracker bug.
17927
17928Fri Sep 28 14:04:06 BST 2007  Olly Betts <olly@survex.com>
17929
17930	* PLATFORMS: More updates.
17931
17932Fri Sep 28 13:45:51 BST 2007  Richard Boulton <richard@lemurconsulting.com>
17933
17934	* include/xapian/database.h: Document that empty metadata keys will
17935	  cause an exception from get_metadata() and set_metadata().
17936	* api/omdatabase.cc: Cause empty metadata keys to raise an
17937	  InvalidArgumentError if they're passed to set_metadata() or
17938	  get_metadata().
17939	* tests/api_wrdb.cc: Add test_metadata3, to check behaviour with an
17940	  empty metadata key.
17941
17942Fri Sep 28 13:30:49 BST 2007  Olly Betts <olly@survex.com>
17943
17944	* PLATFORMS: Updates from tinderbox.
17945
17946Fri Sep 28 13:22:16 BST 2007  Olly Betts <olly@survex.com>
17947
17948	* include/xapian/database.h: Clarify support for empty metadata keys.
17949
17950Fri Sep 28 11:00:08 BST 2007  Richard Boulton <richard@lemurconsulting.com>
17951
17952	* tests/valgrind.supp: Add second version of the zlib end condition
17953	  check which works for the version of zlib in Ubuntu gutsy; ie,
17954	  version 1.2.3.3, where the error occurs in the function called
17955	  directly by deflate, rather than two levels below it.
17956
17957Fri Sep 28 03:11:11 BST 2007  Olly Betts <olly@survex.com>
17958
17959	* configure.ac: Update for 1.0.3.
17960
17961Fri Sep 28 03:05:10 BST 2007  Olly Betts <olly@survex.com>
17962
17963	* api/Makefile.mk,docs/Makefile.am,docs/deprecation.rst,
17964	  include/Makefile.mk,include/xapian.h,include/xapian/queryparser.h,
17965	  queryparser/queryparser.cc,queryparser/queryparser.lemony,
17966	  queryparser/queryparser_internal.h,tests/: Back out changes which
17967	  need more thought or more work in the interests of getting 1.0.3
17968	  out this month.
17969
17970Fri Sep 28 03:04:19 BST 2007  Olly Betts <olly@survex.com>
17971
17972	* NEWS: Update with recent changes.
17973
17974Fri Sep 28 01:55:42 BST 2007  Olly Betts <olly@survex.com>
17975
17976	* docs/deprecation.rst: Revert to the previous deprecation policy.
17977
17978Fri Sep 28 01:20:34 BST 2007  Olly Betts <olly@survex.com>
17979
17980	* include/xapian/enquire.h: Rephrase since "should be in the MSet"
17981	  might be misunderstood.
17982
17983Fri Sep 28 01:12:47 BST 2007  Olly Betts <olly@survex.com>
17984
17985	* AUTHORS,docs/Makefile.am,docs/glossary.rst,docs/index.html: Add
17986	  glossary put together by Jenny Black, also incorporating entries
17987	  from Deron Meranda's glossary on the wiki.
17988
17989Thu Sep 27 23:06:30 BST 2007  Olly Betts <olly@survex.com>
17990
17991	* docs/stemming.html: Reorder the initial paragraphs so we actually
17992	  answer the question "What is a stemming algorithm?" up front.
17993
17994Thu Sep 27 22:15:36 BST 2007  Olly Betts <olly@survex.com>
17995
17996	* matcher/valuerangepostlist.cc: Call ValueRangePostList::next()
17997	  explicitly to avoid the overhead of virtual method dispatch.
17998
17999Thu Sep 27 14:43:25 BST 2007  Olly Betts <olly@survex.com>
18000
18001	* common/termlist.h: Don't need to forward declare
18002	  Xapian::Internal::ExpandWeight here.
18003
18004Thu Sep 27 14:36:00 BST 2007  Olly Betts <olly@survex.com>
18005
18006	* common/termlist.h: Add missing (but indirectly included) '#include
18007	  <xapian/base.h>'.
18008
18009Fri Sep 21 18:00:34 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18010
18011	* docs/deprecation.rst: Add deprecation for
18012	  Database::positionlist_begin() throwing DocNotFoundError , for
18013	  same reason as deprecating it throwing RangeError.  Also, add
18014	  deprecation for QueryParser::add_prefix(f, p) and
18015	  add_boolean_prefix() - replaced by three argument form of
18016	  add_prefix.  Also, add a policy that we don't add
18017	  XAPIAN_DEPRECATED when there's no replacement for the deprecated
18018	  feature in the last x.x.0 release.
18019	* include/xapian/queryparser.h: Add @deprecated to documentation
18020	  comments for add_prefix(f, p) and add_boolean_prefix() (but don't
18021	  add XAPIAN_DEPRECATED() macro for now).
18022
18023Fri Sep 21 16:13:25 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18024
18025	* include/xapian/queryparser.h: Fix copy and paste errors in
18026	  documentation comment, and hopefully clarify it somewhat.
18027
18028Fri Sep 21 15:50:40 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18029
18030	* tests/queryparsertest.cc: Initialise the default prefix from
18031	  prefixes.find(""), allowing multiple default prefixes to be set
18032	  by calling add_prefix() with an empty field name.
18033	* queryparser/queryparser.lemony: Several more tests; mainly for
18034	  the new default_prefix functionality, but also a bit more
18035	  coverage for multiple prefixes in general.
18036
18037Fri Sep 21 15:04:02 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18038
18039	* include/xapian/queryparser.h,queryparser/queryparser.cc: API
18040	  addition: Revert previous change to behaviour of
18041	  QueryParser::add_prefix and QueryParser::add_boolean_prefix
18042	  methods, to avoid API change within a release series.  Add new
18043	  QueryParser::add_prefix() form which takes three parameters; the
18044	  third parameter is a value from a new "prefix_type" enum.
18045	* queryparser/queryparser.lemony,queryparser/queryparser_internal.h:
18046	  Internal changes to allow multiple filters to be set for a single
18047	  field:
18048	   - Remove the PrefixInfoList object again - instead add a list of
18049	     prefixes to PrefixInfo.  We only aim to support one type of
18050	     prefix for a given field, so the extra flexibility given by
18051	     PrefixInfoList is a districation.
18052	   - Change filter_group_id to be based on a list of prefixes,
18053	     instead of a single prefix.
18054	   - Change Term objects to store a list of prefixes instead of a
18055	     single prefix.  make_term() now takes a prefix argument and
18056	     makes a single term.  Term::as_... methods iterate through the
18057	     prefix list and OR together the resulting terms.
18058	   - Change TermList object to store a list of Terms instead of
18059	     Queries, and also to keep track of whether the prefix lists
18060	     for those Terms are all the same.  When they are the same,
18061	     generate separate phrases for each prefix, and OR them
18062	     togeher, instead of generating phrases of "OR" groups of
18063	     terms.  Remove the unused "TermList::add_term()" method.
18064	* tests/queryparsertest.cc: Add simple tests of repeated inline
18065	  fields, phrases with multiple prefixed fields, tests of backwards
18066	  compatible behaviour of add_prefix(field, prefix), and
18067	  add_boolean_prefix(), and of the new add_prefix() form with
18068	  incompatible types.
18069
18070Thu Sep 20 02:13:36 BST 2007  Olly Betts <olly@survex.com>
18071
18072	* NEWS: Update with changes since 1.0.2.
18073
18074Wed Sep 19 20:00:43 BST 2007  Olly Betts <olly@survex.com>
18075
18076	* backends/flint/flint_table.cc: Fix "Key_" in exception message to
18077	  say "Key" (the result of overzealous search-and-replace).
18078
18079Wed Sep 19 17:08:16 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18080
18081	* include/xapian/queryparser.h,queryparser/queryparser.cc,
18082	  queryparser/queryparser.lemony,queryparser/queryparser_internal.h:
18083	  Handle repeated calls to QueryParser::add_boolean_prefix() with
18084	  the same field - this will generate multiple terms for each
18085	  occurrence of the field in the query.  Involves reorganising the
18086	  internal representation of prefixes, to hold a list of PrefixInfo
18087	  objects for each field, instead of a single object.  This also
18088	  paves the way towards handling for multiple calls to
18089	  QueryParser:add_prefix() with the same field, and allowing
18090	  add_{boolean_}prefix() with an empty field to set the default
18091	  prefix handling, but the behaviour of this are currently
18092	  unchanged.  Technically, this could be considered an API change,
18093	  but the previous behaviour (of using only the most recent value
18094	  set by add_boolean_prefix) was unintentional and undocumented,
18095	  and seems unlikely to have been deliberately used.
18096	* tests/queryparsertest.cc: Add a very simple test for repeated
18097	  boolean_prefix fields; several more are needed.  Also, a
18098	  commented out test of repeated non-boolean prefix fields.
18099
18100Tue Sep 18 23:28:48 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18101
18102	* queryparser/queryparser.lemony: Remove unused variable
18103	  "term_group".
18104
18105Tue Sep 18 16:56:37 BST 2007  Olly Betts <olly@survex.com>
18106
18107	* api/matchspy.cc,include/xapian/matchspy.h: Use a set rather than a
18108	  map to store the "multivalues" flags.
18109
18110Mon Sep 17 14:10:47 BST 2007  Olly Betts <olly@survex.com>
18111
18112	* include/xapian/matchspy.h: Fix documentation comment typo.
18113
18114Sun Sep 16 04:13:20 BST 2007  Olly Betts <olly@survex.com>
18115
18116	* net/remoteconnection.cc: Fix compiler warning in mingw build.
18117
18118Sun Sep 16 02:59:54 BST 2007  Olly Betts <olly@survex.com>
18119
18120	* backends/flint/flint_database.cc,tests/api_wrdb.cc: Check length of
18121	  new terms is at most 245 bytes for flint in add_document() and
18122	  replace_document() so that the API user gets an error there rather
18123	  than when flush() is called (explicitly or implicitly).  Fixes
18124	  bug#44.
18125
18126Sat Sep 15 20:11:36 BST 2007  Olly Betts <olly@survex.com>
18127
18128	* backends/flint/flint_version.cc: Add missing include of
18129	  msvc_posix_wrapper.h.
18130
18131Sat Sep 15 17:58:35 BST 2007  Olly Betts <olly@survex.com>
18132
18133	* api/omdatabase.cc,backends/database.cc,
18134	  backends/flint/flint_database.cc,backends/flint/flint_database.h,
18135	  backends/flint/flint_version.cc,
18136	  backends/inmemory/inmemory_database.cc,
18137	  backends/inmemory/inmemory_database.h,common/database.h,
18138	  include/xapian/database.h,tests/api_wrdb.cc: Add support for user
18139	  specified metadata (bug#143).
18140
18141Sat Sep 15 02:26:40 BST 2007  Olly Betts <olly@survex.com>
18142
18143	* backends/flint/flint_cursor.cc,backends/flint/flint_cursor.h:
18144	  Implement FlintCursor::find_entry_ge() a little more efficiently
18145	  (we could do better still by modifying FlintTable too).
18146
18147Sat Sep 15 00:56:54 BST 2007  Olly Betts <olly@survex.com>
18148
18149	* backends/flint/flint_cursor.cc: If we found the exact key, just copy
18150	  it to current_key.
18151
18152Fri Sep 14 21:52:45 BST 2007  Olly Betts <olly@survex.com>
18153
18154	* backends/flint/: Overhaul FlintAllDocsPostList.
18155
18156Fri Sep 14 19:20:56 BST 2007  Olly Betts <olly@survex.com>
18157
18158	* backends/flint/flint_alltermslist.cc: Rework
18159	  FlintAllTermsList::skip_to() to use FlintCursor::find_entry_ge().
18160
18161Fri Sep 14 17:45:06 BST 2007  Olly Betts <olly@survex.com>
18162
18163	* backends/flint/flint_cursor.h: Improve documentation comment.
18164
18165Fri Sep 14 17:28:17 BST 2007  Olly Betts <olly@survex.com>
18166
18167	* backends/flint/flint_spellingwordslist.cc,
18168	  backends/flint/flint_synonym.cc: Use FlintCursor::find_entry_ge().
18169	* backends/flint/flint_synonym.h: Use FlintCursor::find_entry_lt().
18170	* backends/flint/flint_alltermslist.h: Use FlintCursor::find_entry_lt()
18171	  and skip any keys before "\x00\xff" to allow for extra metadata
18172	  keys.
18173
18174Fri Sep 14 15:26:04 BST 2007  Olly Betts <olly@survex.com>
18175
18176	* backends/flint/flint_cursor.cc,backends/flint/flint_cursor.h: The
18177	  reason why a deleted key is still visible to the cursor is that it
18178	  is running over the previous revision of the tree.  So we don't
18179	  need to call find_entry() at all - we can just call next().  Also
18180	  extend FlintCursor::del() to return whether the cursor is positioned
18181	  (like FlintCursor::next() does).
18182	* backends/flint/flint_postlist.cc: Use the return value of
18183	  FlintCursor::del().
18184
18185Fri Sep 14 15:10:39 BST 2007  Olly Betts <olly@survex.com>
18186
18187	* tests/Makefile.am: Reorder the testdata/flint-x.y.z files
18188	  consistently.
18189
18190Fri Sep 14 12:48:04 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18191
18192	* configure.ac: Add "tar-ustar" option to AM_INIT_AUTOMAKE.  This
18193	  is needed to avoid a failure of make dist due to filepaths of
18194	  more than 99 characters (in the generated documentation: the
18195	  relevant filepaths are for the NumberValueRangeProcessor class,
18196	  and extend to 103 characters).  Automake documentation implies
18197	  that tar-v7 is the default format, which doesn't support
18198	  filepaths longer than 99 characters portably; ustar allows 256
18199	  characters.  The automake documentation says that the ustar
18200	  format "is believed to be old enough to be portable"; if we come
18201	  across problems due to the format change we could consider
18202	  renaming files to reduce the filepath length.
18203	* tests/Makefile.am: Remove
18204	  testdata/flint-1.0.2/{value,position}.{baseA,DB} from
18205	  distribution, since they don't actually exist.  Fixes make dist.
18206
18207Fri Sep 14 10:45:35 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18208
18209	* backends/flint/flint_cursor.cc,backends/flint/flint_cursor.h: Add
18210	  FlintCursor::find_entry_gt(), and use it instead of
18211	  flint_entry_ge() in FlintCuror::del().  This fixes failure of
18212	  deldoc4 test.  I'm not sure why find_entry() can return true
18213	  immediately after the key it's searching for was deleted with
18214	  B->del(), though: that merits further investigation.
18215
18216Fri Sep 14 04:57:14 BST 2007  Olly Betts <olly@survex.com>
18217
18218	* bin/xapian-inspect.cc: Avoid comparing char with 0 - on platforms
18219	  where char is unsigned by default this can give a compiler warning.
18220
18221Fri Sep 14 03:40:18 BST 2007  Olly Betts <olly@survex.com>
18222
18223	* bin/xapian-compact.cc: Removed unused variable.
18224
18225Fri Sep 14 01:56:36 BST 2007  Olly Betts <olly@survex.com>
18226
18227	* backends/flint/flint_alltermslist.cc: Fix comment typo.
18228
18229Fri Sep 14 01:51:52 BST 2007  Olly Betts <olly@survex.com>
18230
18231	* backends/flint/flint_cursor.cc,backends/flint/flint_cursor.h: Add
18232	  FlintCursor::find_entry_lt() and FlintCursor::find_entry_ge()
18233	  which we can implement more efficiently (in the future) than
18234	  user code calling FlintCursor::find_entry() and then having to
18235	  adjust the cursor position in some cases.
18236
18237Thu Sep 13 14:52:34 BST 2007  Olly Betts <olly@survex.com>
18238
18239	* backends/flint/flint_alltermslist.cc: FlintCursor::after_end() is
18240	  never true after FlintCursor::find_entry() so remove check for this
18241	  case!
18242
18243Thu Sep 13 03:11:19 BST 2007  Olly Betts <olly@survex.com>
18244
18245	* backends/flint/flint_alltermslist.h,backends/flint/flint_database.cc,
18246	  backends/flint/flint_database.h: Don't pass FlintPostListTable
18247	  pointer to FlintAllTermsList - it can find this via the database
18248	  if we make it FlintDatabase instead of Database::Internal.
18249
18250Thu Sep 13 02:07:19 BST 2007  Olly Betts <olly@survex.com>
18251
18252	* backends/flint/: Read/write the metainfo key from FlintDatabase to
18253	  avoid having to pass a huge long list of values across once we start
18254	  to store more statistics.
18255
18256Thu Sep 13 02:03:46 BST 2007  Olly Betts <olly@survex.com>
18257
18258	* backends/database.cc,common/database.h: Move definitions of virtual
18259	  methods out of the header file.
18260
18261Thu Sep 13 01:33:49 BST 2007  Olly Betts <olly@survex.com>
18262
18263	* backends/flint/flint_database.cc,backends/flint/flint_database.h:
18264	  Store the total_length and lastdocid values in FlintDatabase object.
18265
18266Wed Sep 12 20:27:49 BST 2007  Olly Betts <olly@survex.com>
18267
18268	* matcher/multimatch.cc: Eliminate a block which used to scope some
18269	  variables which have now moved.  Unify debug output from different
18270	  cases after the match.  Remove half-finished comment which doesn't
18271	  seem to be trying to say anything useful.
18272
18273Wed Sep 12 20:20:18 BST 2007  Olly Betts <olly@survex.com>
18274
18275	* tests/api_anydb.cc: In checkatleast2, the total number of matching
18276	  documents in the database is 5, so use TEST_EQUAL instead of
18277	  TEST_GREATER_OR_EQUAL to compare get_matches_lower_bound() with 5.
18278
18279Wed Sep 12 17:55:00 BST 2007  Olly Betts <olly@survex.com>
18280
18281	* backends/flint/flint_database.h: Fix some comment typos and
18282	  outdated information.  Remove some superfluous uses of "virtual".
18283
18284Wed Sep 12 17:15:58 BST 2007  Olly Betts <olly@survex.com>
18285
18286	* backends/flint/flint_database.cc,backends/quartz/quartz_database.cc:
18287	  Failing to create a flint or quartz database because we couldn't
18288	  create the directory for it now throws DatabaseCreateError not
18289	  DatabaseOpeningError.
18290	* tests/api_db.cc: Update test cases.
18291
18292Wed Sep 12 15:40:16 BST 2007  Olly Betts <olly@survex.com>
18293
18294	* backends/flint/flint_database.cc,backends/flint/flint_database.h:
18295	  If we reach the flush threshold during a transaction, flush the
18296	  postlist changes, but don't actually commit them.
18297
18298Wed Sep 12 14:12:52 BST 2007  Olly Betts <olly@survex.com>
18299
18300	* common/msvc_posix_wrapper.cc,common/msvc_posix_wrapper.h: Add
18301	  msvc_posix_rename() which can rename a file on top of another file.
18302	* common/stringutils.h: Add common_prefix_length() function.
18303	* backends/flint/: Clean up FlintWritableDatabase - it now just
18304	  inherits from FlintDatabase which allows several virtual methods
18305	  which just forwarded to FlintDatabase to be dropped.  Also, we
18306	  now no longer need to pass FlintTable objects to other classes
18307	  - they can just find the tables they want via the database pointer.
18308	  The never-used "store_termfreqs" flag has been dropped from the
18309	  termlist table entries - existing 1.0.x flint databases will be
18310	  automatically upgraded to the new version.  Opening a database
18311	  now calls stat() less, so should be slightly more efficient.
18312	  And TermIterator::positionlist_count() now works for the flint
18313	  backend.
18314	* tests/Makefile.am,tests/api_db.cc,tests/testdata/flint-1.0.2/: New
18315	  test flintbackwardcompat2 which tests that we can open a flint
18316	  database from 1.0.2.
18317	* tests/api_wrdb.cc: New test adddoc4 which checks that termlists
18318	  handle an initial term of any valid length correctly.
18319	* tests/testdata/flint-1.0.1/postlist.DB: Mark as a binary file in
18320	  SVN.
18321
18322Tue Sep 11 23:02:56 BST 2007  Olly Betts <olly@survex.com>
18323
18324	* backends/inmemory/inmemory_database.cc,
18325	  backends/inmemory/inmemory_database.h: Implement
18326	  TermIterator::positionlist_count() for the inmemory backend.
18327	* tests/api_posdb.cc: Add feature test for
18328	  TermIterator::positionlist_count() (which currently skips for all
18329	  backends except inmemory).
18330
18331Tue Sep 11 03:43:30 BST 2007  Olly Betts <olly@survex.com>
18332
18333	* backends/flint/flint_database.cc: Make sure flush_threshold gets
18334	  initialised.
18335	* backends/flint/flint_database.h: Change type of flush_threshold from
18336	  `size_t' to `Xapian::doccount' for consistency with the type of
18337	  changes_made.
18338
18339Tue Sep 11 03:19:37 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18340
18341	* backends/flint/flint_database.cc,backends/flint/flint_database.h:
18342	  Change flush_threshold from static to non-static, and set it for
18343	  each FlintWritableDatabase based on the value of the
18344	  XAPIAN_FLUSH_THRESHOLD environment variable at the time the
18345	  database was opened, instead of caching the value for each future
18346	  database which is opened.
18347
18348Tue Sep 11 02:59:45 BST 2007  Olly Betts <olly@survex.com>
18349
18350	* docs/Makefile.am: When running rst2html, use "--exit-status=warning"
18351	  rather than "--strict".  The former actually gives a non-zero exit
18352	  status for a warning or worse, while the former doesn't, but does
18353	  include any "info" messages in the output HTML.
18354
18355Tue Sep 11 02:38:30 BST 2007  Olly Betts <olly@survex.com>
18356
18357	* docs/deprecation.rst: Add "Database::positionlist_begin() throwing
18358	  RangeError".
18359
18360Tue Sep 11 00:52:27 BST 2007  Olly Betts <olly@survex.com>
18361
18362	* HACKING: Document a few more "coding standards".
18363
18364Mon Sep 10 21:34:23 BST 2007  Olly Betts <olly@survex.com>
18365
18366	* examples/delve.cc,examples/simpleexpand.cc,net/tcpserver.cc,
18367	  queryparser/queryparser.cc,queryparser/queryparser.lemony: Add more
18368	  missing "#include <string.h>" instances.
18369
18370Mon Sep 10 20:24:25 BST 2007  Olly Betts <olly@survex.com>
18371
18372	* net/serialise.cc: Add missing "#include <string.h>".
18373
18374Sun Sep 09 15:38:11 BST 2007  Olly Betts <olly@survex.com>
18375
18376	* backends/flint/flint_spelling.h,backends/flint/flint_synonym.h,
18377	  backends/flint/flint_table.h: Fix typo (Z_DEFAULT_COMPRESSION
18378	  where it should be Z_DEFAULT_STRATEGY) which meant that zlib
18379	  compression wasn't enabled for the spelling or synonym tables.
18380
18381Fri Sep 07 19:31:44 BST 2007  Olly Betts <olly@survex.com>
18382
18383	* docs/spelling.rst: Fix typo.
18384
18385Thu Sep 06 15:02:43 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18386
18387	* api/editdistance.cc: Fix off-by-one error in loop bounds when
18388	  setting up fkp array initially.  Fixes bug #194.
18389	* tests/api_wrdb.cc: Add regression test for #194, spell5.
18390
18391Thu Sep 06 14:31:15 BST 2007  Olly Betts <olly@survex.com>
18392
18393	* tests/harness/testsuite.cc: More localised fix for preserving the
18394	  start of the valgrind report when in verbose mode.  Rework the code
18395	  which pulls out the start of the report to summarise why the test
18396	  failed.
18397
18398Thu Sep 06 14:17:44 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18399
18400	* tests/harness/testsuite.cc: When displaying valgrind output, seek
18401	  back to the start of the valgrind output for the current test
18402	  before dumping it to stdout: previously, the earlier check for the
18403	  valgrind error message to display (when not using -v) caused the
18404	  first 1024 bytes of the valgrind output to get dropped.
18405
18406Tue Sep 04 20:13:29 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18407
18408	* matcher/multimatch.cc: For remote submatches, keep a count of
18409	  matches which we know exist, but we don't get passed from the
18410	  submatch.  These can be detected by checking for the lowerbound
18411	  on the matches in the submatch being greater than the index of
18412	  the last item in the returned submset.  When the match is over,
18413	  use this count, together with docs_matched, to adjust the lower
18414	  bound and estimate (and upper bound, if we've not seen as many
18415	  documents as we were asked to check for).  Fixes checkatleast2
18416	  and checkatleast3 in the remote database case.
18417	* tests/harness/testsuite.h: Add TEST_GREATER_OR_EQUAL,
18418	  TEST_GREATER, TEST_LESSER_OR_EQUAL and TEST_LESSER macros, which
18419	  display the values of the arguments if they fail.
18420	* tests/api_anydb.cc: Use TEST_GREATER_OR_EQUAL and TEST_EQUAL in
18421	  checkatleast2 and checkatleast3, to make failures easier to
18422	  debug.
18423
18424Tue Sep 04 18:16:49 BST 2007  Olly Betts <olly@survex.com>
18425
18426	* matcher/multimatch.cc: Restructure to make the control flow clearer.
18427	  Rewrap some comments which got wrapped to ~82 columns somehow.
18428
18429Tue Sep 04 17:21:49 BST 2007  Olly Betts <olly@survex.com>
18430
18431	* docs/overview.html: Restore the HTML header I accidentally deleted
18432	  in November 2006.
18433
18434Tue Sep 04 17:15:30 BST 2007  Olly Betts <olly@survex.com>
18435
18436	* docs/overview.html: Fix typo.
18437
18438Tue Sep 04 13:47:27 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18439
18440	* tests/api_anydb.cc: Tighten test_checkatleast3 to check for
18441	  previous bug (now fixed).
18442
18443Tue Sep 04 13:37:01 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18444
18445	* matcher/multimatch.cc: If check_at_least is greater than
18446	  maxitems, but there are fewer results than check_at_least, the
18447	  lower and upper bounds reported should be equal (and exact).  Fix
18448	  a bug which caused this not to be the case, by checking if
18449	  docs_matched < check_at_least, and forcing the bounds (and
18450	  estimate) to be docs_matched in this case.
18451
18452	  Also, fix a bug when sorting by anything other than relevance,
18453	  which was causing potential matches which are too low in the
18454	  ranking to make the mset not to be added to the count of
18455	  docs_matched, even when docs_matched < check_at_least.
18456
18457	  Also, add a few extra explanatory comments and debug log messages
18458	  in get_mset().
18459
18460Tue Sep 04 12:43:03 BST 2007  Olly Betts <olly@survex.com>
18461
18462	* PLATFORMS: Update from debian buildd logs.
18463
18464Tue Sep 04 09:57:25 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18465
18466	* Makefile.am,configure.ac,msvc/genversion.pl,msvc/version.h.in:
18467	  Move msvc/genversion.pl and msvc/version.h.in to win32msvc in
18468	  xapian-maintainer-tools.  Remove generation of msvc/version.h
18469	  from configure.in, and AC_SUBST() of MAJOR_VERSION,
18470	  MINOR_VERSION and REVISION, which were only in place for this
18471	  generation.  Remove msvc/version.h from distribution tarballs.
18472
18473Tue Sep 04 02:56:00 BST 2007  Olly Betts <olly@survex.com>
18474
18475	* matcher/andpostlist.cc: If the database has > 2G documents then the
18476	  sum of termfreq_min can overflow, so handle this case correctly.
18477
18478Tue Sep 04 00:05:47 BST 2007  Olly Betts <olly@survex.com>
18479
18480	* xapian-config.in: We always need to include dependency_libs in the
18481	  output of `xapian-config --libs` if shared libraries are disabled.
18482
18483Mon Sep 03 16:28:33 BST 2007  Olly Betts <olly@survex.com>
18484
18485	* bin/xapian-check.cc: Allow "xapian-check db/record." and
18486	  "xapian-check db/record.DB".
18487
18488Mon Sep 03 02:16:43 BST 2007  Olly Betts <olly@survex.com>
18489
18490	* docs/deprecation.rst,include/xapian/enquire.h: Deprecate
18491	  Enquire::register_match_decider().
18492	* api/omenquire.cc,common/omenquireinternal.h: Remove mdecider_map
18493	  since the set values are never used anywhere.
18494
18495Sun Sep 02 20:54:33 BST 2007  Olly Betts <olly@survex.com>
18496
18497	* HACKING: Add "update the 1.0.N tracker bug" to the release
18498	  checklist.
18499
18500Fri Aug 31 10:44:19 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18501
18502	* tests/api_db.cc,tests/api_wrdb.cc: Fix compilation of apitest,
18503	  which was broken on 64 bit platforms due to size_t instead of
18504	  doccount bug.
18505
18506Fri Aug 24 11:56:18 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18507
18508	* api/matchspy.cc,include/xapian/matchspy.h: Fix uses of size_t
18509	  which should have been Xapian::doccount.  Was causing compile
18510	  errors on platforms where size_t and Xapian::doccount were
18511	  different sizes.
18512
18513Fri Aug 03 20:10:15 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18514
18515	* tests/api_nodb.cc: Add test_stringlistserialise1() to test the
18516	  StringListSerialiser and StringListUnserialiser.  Change the list
18517	  of testcases to use the TESTCASE and END_OF_TESTCASES macros.
18518
18519Fri Aug 03 19:53:26 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18520
18521	* api/matchspy.cc,include/xapian/matchspy.h: Add StringListSerialiser
18522	  and StringListUnserialiser classes which can be used to serialise
18523	  a list of strings into a single string.  Add flag to
18524	  ValueCountMatchSpy to use this to unserialise the values read
18525	  from the database into multiple strings, allowing several values
18526	  to be stored for a particular slot in a database: this allows
18527	  multiple values of a particular facet to be stored.
18528
18529Thu Jul 26 16:55:18 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18530
18531	* backends/flint/flint_table.cc: Change STRINGIZE to om_tostring()
18532	  in error message about a key which is too long; STRINGIZE doesn't
18533	  work since FLINT_BTREE_MAX_KEY_LEN is no longer a preprocessor
18534	  constant - it's a C++ constant; before this change, the error
18535	  message contained the literal text "FLINT_BTREE_MAX_KEY_LEN".
18536
18537Tue Jul 17 12:20:55 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18538
18539	* api/matchspy.cc,include/xapian/matchspy.h: Add a
18540	  MultipleMatchDecider, which calls a list of deciders in order,
18541	  until one returns false.
18542	* include/xapian/enquire.h: Expand comment to say which way round
18543	  the return values of the MatchDecider operator are.
18544	* tests/api_db.cc: Add test_matchfunctor3() to test the
18545	  MultipleMatchDecider - also tests the ValueCountMatchSpy,
18546	  incidentally.
18547
18548Tue Jul 17 11:10:42 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18549
18550	* api/matchspy.cc,include/xapian/matchspy.h: Make
18551	  get_most_frequent_items() private, since I'm not convinced it's
18552	  useful to make it available externally.  We can always make it
18553	  public again if it's useful to do so.
18554	* test/api_wrdb.cc: Update tests accordingly.
18555
18556Sat Jul 14 00:17:06 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18557
18558	* api/matchspy.cc,include/xapian/matchspy.h: Get rid of the
18559	  TopValueMatchSpy in favour of a new function
18560	  "get_most_frequent_items", which processes the output of a
18561	  ValueCountMatchSpy.  Add a TermCountMatchSpy which counts the
18562	  occurrences of terms with a given prefix, and gives output in
18563	  the same form as ValueCountMatchSpy.  Add convenience methods
18564	  ValueCountMatchSpy::get_top_values() and
18565	  TermCountMatchSpy::get_top_terms() which use this to return the
18566	  most frequent items seen by the matchspy.
18567	* tests/api_wrdb.cc: Test the ValueCountMatchSpy, and the
18568	  get_most_frequent_items() function.
18569
18570Fri Jul 13 18:57:30 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18571
18572	* matcher/andpostlist.cc,tests/api_anydb.cc: Improve the lower
18573	  bound on the number of matching documents for an AND query - if
18574	  the sum of the lower bounds for the two sides is greater than the
18575	  number of documents in the database, then some of them must have
18576	  both terms.  This greatly improves the lower bound for queries of
18577	  the form "<alldocuments> FILTER foo" (since FILTER is a subclass
18578	  of AND, and uses the same method), but is probably a useful
18579	  improvement elsewhere.
18580
18581Fri Jul 13 17:53:46 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18582
18583	* docs/valueranges.rst: Correct out-of-date reference to
18584	  float_to_string, spotted by Enrico Zini.
18585
18586Wed Jul 11 22:54:43 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18587
18588	* api/matchspy.cc,include/xapian/matchspy.h,tests/api_wrdb.cc:
18589	  Move ValueAndFrequency out of the TopValueMatchSpy class - it
18590	  doesn't seem to be possible to wrap it with swig without doing
18591	  this, and it doesn't seem much less tidy.
18592
18593Wed Jul 11 18:03:18 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18594
18595	* api/matchspy.cc,include/xapian/matchspy.h: Split MatchSpy into a
18596	  base class (ValueCountMatchSpy), which just counts the values in
18597	  the documents it sees, and a subclass (CategorySelectMatchSpy)
18598	  which does the grouping into categories, and scores the
18599	  categories.  Add another subclass (TopValueMatchSpy) which
18600	  calculates a sorted vector holding the most frequent values.
18601	* tests/api_wrdb.cc: Update matchspy1 and matchspy2 to use
18602	  CategorySelectMatchSpy instead of MatchSpy, and corresponding
18603	  changes to the methods.  Add matchspy3 to test the
18604	  TopValueMatchSpy.
18605
18606Mon Jul 09 15:40:58 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18607
18608	* tests/termgentest.cc: Fix copyright: everything I've done in 2007
18609	  has been for Lemur.
18610
18611Mon Jul 09 15:40:38 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18612
18613	* include/xapian/version_h.cc: Fix type in comment.
18614
18615Fri Jul 06 12:14:48 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18616
18617	* include/xapian/enquire.h: Add note to register_match_decider()
18618	  documentation comment of what this function is for, and also that
18619	  it doesn't currently do anything (other than store the values
18620	  passed to it in the enquire internals).
18621
18622Thu Jul 05 20:52:52 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18623
18624	* docs/categorisation.rst: Fix typo.
18625
18626Thu Jul 05 20:41:49 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18627
18628	* tests/api_wrdb.cc: Rework matchspy2 to use approximate values to
18629	  avoid failing on some platform due to differing precision.
18630
18631Thu Jul 05 12:21:48 BST 2007  Olly Betts <olly@survex.com>
18632
18633	* docs/categorisation.rst: Complete half sentence.
18634
18635Thu Jul 05 12:17:20 BST 2007  Olly Betts <olly@survex.com>
18636
18637	* docs/categorisation.rst: Add section on restricting by category
18638	  values.
18639
18640Thu Jul 05 04:47:18 BST 2007  Olly Betts <olly@survex.com>
18641
18642	* docs/Makefile.am,docs/categorisation.rst: Add topic document
18643	  discussing use of Xapian::MatchSpy.
18644
18645Thu Jul 05 02:08:13 BST 2007  Olly Betts <olly@survex.com>
18646
18647	* include/xapian.h,tests/api_wrdb.cc: Restore MatchSpy stuff.
18648
18649Thu Jul 05 01:38:38 BST 2007  Olly Betts <olly@survex.com>
18650
18651	* HACKING: Note that RoadMap on the wiki needs updating for each
18652	  release.
18653
18654Thu Jul 05 01:03:05 BST 2007  Olly Betts <olly@survex.com>
18655
18656	* AUTHORS: Update.
18657
18658Thu Jul 05 00:31:00 BST 2007  Olly Betts <olly@survex.com>
18659
18660	* NEWS: Minor tweaks and clarifications.
18661
18662Thu Jul 05 00:29:53 BST 2007  Olly Betts <olly@survex.com>
18663
18664	* include/xapian.h,tests/api_wrdb.cc: Disable MatchSpy class for 1.0.2
18665	  as it's not ready for release yet.
18666
18667Wed Jul 04 21:20:59 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18668
18669	* NEWS: Update with release date for release 1.0.2
18670
18671Wed Jul 04 21:09:18 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18672
18673	* AUTHORS: Add Tomek Jackowiak, for reporting bug #166 (missing
18674	  Xapian::Query documentation).
18675
18676Wed Jul 04 20:45:56 BST 2007  Olly Betts <olly@survex.com>
18677
18678	* configure.ac: Updated version and library version for 1.0.2.
18679
18680Wed Jul 04 20:36:07 BST 2007  Olly Betts <olly@survex.com>
18681
18682	* api/matchspy.cc,include/xapian/matchspy.h,tests/api_wrdb.cc:
18683	  Tidy up API for MatchSpy::build_numeric_ranges() and add tests.
18684
18685Wed Jul 04 19:40:31 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18686
18687	* NEWS: Fully updated.
18688
18689Wed Jul 04 18:33:59 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18690
18691	* NEWS: Move some of the changelog entries into news-style comments.
18692
18693Wed Jul 04 17:50:19 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18694
18695	* tests/api_wrdb.cc: SKIP_TEST() spell3 on windows - it doesn't
18696	  work there due to trying to delete (and then overwrite) an open
18697	  database.  We shouldn't be doing this, so add a long FIXME
18698	  explaining what we should be doing instead.
18699
18700Wed Jul 04 17:27:22 BST 2007  Olly Betts <olly@survex.com>
18701
18702	* NEWS: Partly update.
18703
18704Wed Jul 04 17:19:51 BST 2007  Olly Betts <olly@survex.com>
18705
18706	* AUTHORS: Add Simon Tatham for spotting the -INFINITY issue, and for
18707	  a lot of useful advice during the CVS to SVN transition.
18708
18709Wed Jul 04 17:16:59 BST 2007  Olly Betts <olly@survex.com>
18710
18711	* api/,include/xapian/queryparser.h,tests/queryparsertest.cc: Rename
18712	  Xapian::NumberValueRangeProcessor::float_to_string() to
18713	  Xapian::sortable_serialise() and
18714	  Xapian::NumberValueRangeProcessor::string_to_float() to
18715	  Xapian::sortable_unserialise().
18716
18717Wed Jul 04 17:16:16 BST 2007  Olly Betts <olly@survex.com>
18718
18719	* HACKING: Add rationale for 2 space indents for "public", etc.
18720
18721Wed Jul 04 14:09:57 BST 2007  Olly Betts <olly@survex.com>
18722
18723	* tests/queryparsertest.cc: Loops on integers and scale to doubles
18724	  rather than looping on doubles and scaling to get integers.
18725
18726Wed Jul 04 13:01:11 BST 2007  Olly Betts <olly@survex.com>
18727
18728	* tests/queryparsertest.cc: If the NumberValueRangeProcessor
18729	  string encodings don't sort the same way, there's no need to report
18730	  the string encodings in the error message as they are written to
18731	  "tout" just before, along with the respective numbers they came
18732	  from.  The string encodings can contain control characters, so are
18733	  liable to corrupt the test failure message.
18734
18735Wed Jul 04 12:25:15 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18736
18737	* api/valuerangeproc.cc: Fix encoding of extremely large, negative,
18738	  non-IEEE representation to be -INFINITY, not +INFINITY.  Thanks
18739	  to Simon Tatham for pointing this out.
18740	* include/xapian/queryparser.h: Add a documentation comment note
18741	  that zero and -zero will be transformed to the same value.
18742
18743Wed Jul 04 10:09:33 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18744
18745	* api/valuerangeproc.cc: Change encoding used for doubles to a much
18746	  more compact scheme, and add support for +-INFINITY.  Also, some
18747	  other tweaks to avoid unneccessary computation.
18748	* tests/queryparsertest.cc: Update test cases to expect new
18749	  encoding of doubles, and add values for INFINITY and DBL_MAX and
18750	  some other special numbers to the list of numbers that are
18751	  specifically checked.
18752
18753Wed Jul 04 03:29:10 BST 2007  Olly Betts <olly@survex.com>
18754
18755	* api/matchspy.cc,include/xapian/matchspy.h,tests/api_wrdb.cc:
18756	  Category score now explicitly weights for having nearer the
18757	  requested number of categories.  Category score is now normalised
18758	  so values should be roughly comparable between different sized
18759	  collections.  Add untested code to build ranges.
18760
18761Wed Jul 04 00:48:07 BST 2007  Olly Betts <olly@survex.com>
18762
18763	* bin/xapian-compact.cc: Add new "--no-renumber" option to preserve
18764	  document ids from source databases.  Fix bug in change to add
18765	  support for spelling and synonym tables which was preventing any
18766	  renumbering from happening!
18767
18768Wed Jul 04 00:25:52 BST 2007  Olly Betts <olly@survex.com>
18769
18770	* backends/inmemory/inmemory_database.cc,
18771	  backends/inmemory/inmemory_database.h,tests/api_wrdb.cc: Fix bug in
18772	  inmemory backend - using replace_document() to add a document with a
18773	  specific document id above the highest currently used would create
18774	  empty documents for all document ids in between.
18775
18776Tue Jul 03 09:27:36 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18777
18778	* HACKING: Add note that protection level declarations in classes
18779	  and structs should only be indented by 2 spaces.
18780
18781Tue Jul 03 03:53:11 BST 2007  Olly Betts <olly@survex.com>
18782
18783	* api/Makefile.mk,api/matchspy.cc,include/xapian/matchspy.h,
18784	  tests/api_wrdb.cc: Add MatchSpy method to score how good a
18785	  categorisation is.
18786
18787Tue Jul 03 01:24:19 BST 2007  Olly Betts <olly@survex.com>
18788
18789	* include/xapian/queryparser.h: Replace `#include <xapian/stem.h>'
18790	  with forward declaration of Stem.
18791
18792Tue Jul 03 01:14:12 BST 2007  Olly Betts <olly@survex.com>
18793
18794	* include/xapian/errorhandler.h: Replace `#include <xapian/error.h>'
18795	  with forward declaration of Error.
18796	* api/errorhandler.cc: Now needs to explicitly `#include
18797	  <xapian/error.h>'.
18798
18799Tue Jul 03 01:08:30 BST 2007  Olly Betts <olly@survex.com>
18800
18801	* include/xapian/dbfactory.h: Replace `#include <xapian/database.h>'
18802	  with forward declarations of Database and WritableDatabase.
18803
18804Tue Jul 03 00:59:57 BST 2007  Olly Betts <olly@survex.com>
18805
18806	* include/xapian/enquire.h: Remove `#include <xapian/error.h>'.
18807
18808Mon Jul 02 23:25:55 BST 2007  Olly Betts <olly@survex.com>
18809
18810	* include/Makefile.mk,include/xapian.h,include/xapian/matchspy.h,
18811	  tests/api_wrdb.cc: Implement "MatchSpy" class to tally values
18812	  in matching documents.
18813
18814Mon Jul 02 18:15:18 BST 2007  Olly Betts <olly@survex.com>
18815
18816	* api/omenquire.cc,include/xapian/enquire.h: Fix last change to
18817	  preserve ABI compatibility.
18818
18819Mon Jul 02 17:52:10 BST 2007  Olly Betts <olly@survex.com>
18820
18821	* api/omenquire.cc,common/multimatch.h,common/omenquireinternal.h,
18822	  include/xapian/enquire.h,matcher/multimatch.cc,net/remoteserver.cc,
18823	  tests/api_db.cc: Add support for a "matchspy" - a MatchDecider which
18824	  is documented to be tested on ever candidate document.  We plan to
18825	  optimise the current matchdecider to be used as little as possible.
18826
18827Mon Jul 02 17:35:12 BST 2007  Olly Betts <olly@survex.com>
18828
18829	* tests/api_db.cc: Enhance matchfunctor1 to test that the functor
18830	  returns ALL matching documents, not just that all documents returned
18831	  match.
18832
18833Mon Jul 02 16:36:57 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18834
18835	* common/omassert.h: Fix to avoid warning in gcc-snapshot; use
18836	  do{}while(0) to protect assertions, and remove the old "if (a) {}
18837	  else {fail}" constructions which tried to do the same job.
18838
18839Mon Jul 02 14:56:58 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18840
18841	* bin/xapian-inspect.cc: Add missing #include of <stdio.h> - fixes
18842	  gcc-2.95 compilation.
18843
18844Mon Jul 02 14:54:50 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18845
18846	* queryparser/termgenerator_internal.h: Fix for gcc-2.95
18847	  compilation.
18848
18849Mon Jul 02 14:09:22 BST 2007  Olly Betts <olly@survex.com>
18850
18851	* api/Makefile.mk,api/valuerangeproccompat.cc,
18852	  include/xapian/queryparser.h: Put the new NumberValueRangeProcessor
18853	  in a sub-namespace which we then import it from.  Restore the old
18854	  NumberValueRangeProcessor implementation inside the library so that
18855	  it is available to code linked against 1.0.0 or 1.0.1 to keep ABI
18856	  compatibility.
18857
18858Sun Jul 01 15:32:30 BST 2007  Olly Betts <olly@survex.com>
18859
18860	* include/xapian/queryparser.h: Clearer description of
18861	  NumberValueRangeProcessor.  Don't document the number format in
18862	  terms of strtod() - that's a bug, not a feature we want to be tied
18863	  to.
18864	* include/xapian/query.h,include/xapian/queryparser.h: Use "@a" not
18865	  "\a" for consistency with existing usage.
18866
18867Sun Jul 01 10:09:42 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18868
18869	* matcher/localmatch.cc: When registering a term, check if it's
18870	  empty, and if so use the document count as the term frequency,
18871	  rather than calling the database to get the term frequency of an
18872	  empty term (most database backends have an assertion that the
18873	  term is not empty, and an empty term isn't a valid parameter to
18874	  pass to get_termfreq() anyway).
18875	* matcher/multimatch.cc: For MatchAll queries, the "" term will not
18876	  be found in the termlist of the top document, so check if a ""
18877	  term is present in the query, and use it to increase the
18878	  percent_scale if so.  This fixes an Assertion which checked that
18879	  percent_scale was not 0.
18880	* tests/api_db.cc: Add test_matchall1() which tests running a query
18881	  with a MatchAll query.
18882	* tests/api_nodb.cc: Rename test_emptyquery1 and test_emptyquery2
18883	  to test_emptyquery2 and test_emptyquery3, respectively.  There
18884	  was already a (different) test_emptyquery1 in api_anydb.cc.
18885
18886Sat Jun 30 18:04:06 BST 2007  Olly Betts <olly@survex.com>
18887
18888	* tests/queryparsertest.cc: Write `2.0' rather than `(double)2'.
18889
18890Sat Jun 30 16:12:49 BST 2007  Olly Betts <olly@survex.com>
18891
18892	* docs/valueranges.rst: Fix typo.  Fix ".. note:" to ".. note::" so
18893	  it appears visibly in the HTML output rather than in an HTML
18894	  comment!
18895
18896Sat Jun 30 15:14:33 BST 2007  Olly Betts <olly@survex.com>
18897
18898	* api/omdocument.cc,common/document.h,include/xapian/document.h:
18899	  Add Xapian::Document::get_docid() method.
18900
18901Sat Jun 30 04:00:57 BST 2007  Olly Betts <olly@survex.com>
18902
18903	* matcher/multimatch.cc: If there's only one term in the query (a
18904	  pretty common case) we don't need to look at the top document's
18905	  termlist to determine that it matches all the query terms.
18906
18907Sat Jun 30 00:37:09 BST 2007  Olly Betts <olly@survex.com>
18908
18909	* INSTALL: Add note that zlib must be installed before you can build
18910	  Xapian.
18911
18912Fri Jun 29 22:40:58 BST 2007  Olly Betts <olly@survex.com>
18913
18914	* backends/flint/: If doccount == lastdocid, all document ids up to
18915	  lastdocid are used, so we provide a special really efficient version
18916	  implementation of iterating all documents for this common case for
18917	  flint.
18918
18919Fri Jun 29 00:39:04 BST 2007  Olly Betts <olly@survex.com>
18920
18921	* common/stringutils.h: Add startswith() and endswith() overloads
18922	  which take a single character.
18923	* backends/flint/flint_spellingwordslist.cc,bin/xapian-inspect.cc:
18924	  Use new forms.
18925	* backends/flint/flint_spellingwordslist.cc: Fix comment typo.
18926
18927Thu Jun 28 21:43:49 BST 2007  Olly Betts <olly@survex.com>
18928
18929	* backends/flint/flint_spellingwordslist.cc: Another begins_with()
18930	  which I somehow missed.
18931
18932Thu Jun 28 19:51:03 BST 2007  Olly Betts <olly@survex.com>
18933
18934	* api/valuerangeproc.cc,backends/flint/flint_alltermslist.cc,
18935	  backends/flint/flint_synonym.cc,
18936	  backends/inmemory/inmemory_alltermslist.cc,
18937	  backends/quartz/quartz_alltermslist.cc,
18938	  backends/quartz/quartz_metafile.cc,bin/xapian-inspect.cc,
18939	  common/stringutils.h,tests/harness/testsuite.cc: Rename
18940	  begins_with() to startswith() and ends_with() to endswith() for
18941	  consistency with Python string operations.
18942
18943Thu Jun 28 18:49:50 BST 2007  Olly Betts <olly@survex.com>
18944
18945	* queryparser/queryparser.lemony: Don't put a Z prefix on terms if the
18946	  stemmer is "none", which matches what TermGenerator generates.
18947
18948Thu Jun 28 02:22:04 BST 2007  Olly Betts <olly@survex.com>
18949
18950	* api/omqueryinternal.cc: Don't SEGV when Query::MatchNothing is used
18951	  with OP_AND_NOT (fixes bug#176).
18952	* tests/api_nodb.cc: Add regression test emptyquery2.
18953	* AUTHORS: Thank bug reporter (Krzysztof Klemm).
18954
18955Wed Jun 27 13:05:55 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18956
18957	* NEWS: Updated.
18958
18959Wed Jun 27 13:04:19 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18960
18961	* examples/copydatabase.cc: Add support for copying the spelling
18962	  data.
18963
18964Wed Jun 27 12:46:54 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18965
18966	* NEWS: Updated.
18967
18968Wed Jun 27 12:13:50 BST 2007  Olly Betts <olly@survex.com>
18969
18970	* bin/xapian-check.cc: Check spelling and synonym Btrees.
18971
18972Wed Jun 27 12:10:47 BST 2007  Olly Betts <olly@survex.com>
18973
18974	* bin/xapian-compact.cc: Add merging for spelling and synonym tables.
18975
18976Wed Jun 27 12:09:34 BST 2007  Olly Betts <olly@survex.com>
18977
18978	* backends/flint/flint_spelling.cc: Fix PrefixCompressedStringItor to
18979	  not ignore the last entry.
18980	* tests/api_wrdb.cc: Regression test (spell4).
18981
18982Wed Jun 27 11:51:10 BST 2007  Olly Betts <olly@survex.com>
18983
18984	* tests/api_wrdb.cc: Remove bogus comment.
18985
18986Wed Jun 27 04:12:56 BST 2007  Olly Betts <olly@survex.com>
18987
18988	* backends/flint/flint_cursor.h: Make FlintCursor::after_end() const.
18989
18990Tue Jun 26 22:31:24 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18991
18992	* tests/api_wrdb.cc: Add test_spell3(), which tests spelling
18993	  correction with multi databases, and the results of the iterator
18994	  from Database::spellings_begin() with single and multi databases.
18995
18996Tue Jun 26 20:51:13 BST 2007  Richard Boulton <richard@lemurconsulting.com>
18997
18998	* api/omtermlistiterator.cc: Handle pruning, so that multi-database
18999	  spelling word iterators work.  Pruning should arguably always
19000	  have been handled, but it's never been possible for the TermList
19001	  passed to TermIterator to prune before, so it's not been an
19002	  issue.
19003
19004Tue Jun 26 20:50:06 BST 2007  Richard Boulton <richard@lemurconsulting.com>
19005
19006	* backends/flint/flint_spellingwordslist.h: Don't bother testing
19007	  whether we found an entry which was exactly "W" - if we do, the
19008	  database is corrupt, but the best recovery strategy would just be
19009	  to continue at the next matching entry.
19010
19011Tue Jun 26 20:26:03 BST 2007  Richard Boulton <richard@lemurconsulting.com>
19012
19013	* api/omdatabase.cc: Remove mistaken skip_to("W") - should be done
19014	  by open_spelling_wordlist() rather than here.
19015	* backends/flint/flint_spellingwordslist.h: Only call
19016	  cursor->prev() if find_entry("W") finds an entry.
19017
19018Tue Jun 26 17:46:27 BST 2007  Richard Boulton <richard@lemurconsulting.com>
19019
19020	* backends/flint/flint_alltermslist.cc,
19021	  backends/flint/flint_spellingwordslist.cc,
19022	  backends/flint/flint_synonym.cc: Remove calls to abort() which
19023	  are followed immediately by an Assert() which checks the same
19024	  condition.
19025
19026Tue Jun 26 17:26:02 BST 2007  Richard Boulton <richard@lemurconsulting.com>
19027
19028	* include/xapian/database.h: Add spellings_begin() and
19029	  spellings_end(), to iterate through the spelling correction
19030	  target words.
19031	* api/omdatabase.cc: Implement spellings_begin(), using the newly
19032	  added FreqAdderOrTermList to join the spellings lists.
19033	* common/database.h,backends/database.cc: Add
19034	  open_spelling_wordlist() to get iterator of spelling targets, if
19035	  any, with default implementation which returns NULL.
19036	* backends/flint/flint_database.h,backends/flint/flint_database.cc:
19037	  Implement open_spelling_wordlist() for flint.
19038	* backends/flint/flint_spelling.h: Make merge_changes() public, so
19039	  it can be called when a writable database needs to open a
19040	  spelling wordlist.
19041	* backends/flint/flint_spellingwordslist.h,
19042	  backends/flint/flint_spellingwordslist.cc: New files,
19043	  implementing an iterator over the spelling targets.
19044
19045Tue Jun 26 17:25:09 BST 2007  Richard Boulton <richard@lemurconsulting.com>
19046
19047	* common/ortermlist.h,expand/ortermlist.cc: Add a
19048	  "FreqAdderOrTermList", which adds the term frequencies of the
19049	  sublists, rather than requiring that they're equal for terms
19050	  which are in both.
19051
19052Tue Jun 26 17:22:03 BST 2007  Olly Betts <olly@survex.com>
19053
19054	* docs/admin_notes.rst: Update to mention spelling and synonym tables,
19055	  and to document optional tables more clearly.
19056
19057Tue Jun 26 16:23:25 BST 2007  Olly Betts <olly@survex.com>
19058
19059	* tests/termgentest.cc: Add feature test for TermGenerator spelling
19060	  integration.
19061
19062Tue Jun 26 16:14:56 BST 2007  Olly Betts <olly@survex.com>
19063
19064	* tests/termgentest.cc: Fix comment paste-o.
19065
19066Tue Jun 26 16:11:11 BST 2007  Olly Betts <olly@survex.com>
19067
19068	* include/xapian/termgenerator.h,queryparser/termgenerator.cc,
19069	  queryparser/termgenerator_internal.cc,
19070	  queryparser/termgenerator_internal.h: Add support for generating
19071	  spelling data to TermGenerator class.
19072
19073Tue Jun 26 15:22:12 BST 2007  Olly Betts <olly@survex.com>
19074
19075	* bin/xapian-compact.cc: Don't skip "empty" source databases, as they
19076	  may have spelling and/or synonym data.  Warn if more than one source
19077	  database has spelling data and ignore all but the first.  Similarly
19078	  warn and ignore for synonym data.
19079
19080Tue Jun 26 13:52:15 BST 2007  Olly Betts <olly@survex.com>
19081
19082	* examples/copydatabase.cc: Fix code which extracts the leafname to
19083	  handle a trailing directory separator.
19084	* examples/copydatabase.cc: Copy synonym data across.  Print warning
19085	  that spelling data isn't copied (as there's no API to access it
19086	  currently).
19087
19088Tue Jun 26 13:21:13 BST 2007  Olly Betts <olly@survex.com>
19089
19090	* bin/xapian-compact.cc: Fix to compact spelling and synonym tables.
19091
19092Tue Jun 26 02:20:50 BST 2007  Olly Betts <olly@survex.com>
19093
19094	* tests/api_wrdb.cc: Fix randomly indented line.
19095
19096Tue Jun 26 02:20:01 BST 2007  Olly Betts <olly@survex.com>
19097
19098	* include/xapian/document.h: Change parameter name for
19099	  Document::get_value() to match other parameter names in the class.
19100
19101Tue Jun 26 02:19:16 BST 2007  Olly Betts <olly@survex.com>
19102
19103	* include/xapian/queryparser.h: FLAG_AUTO_MULTIWORD_SYNONYMS now
19104	  implies FLAG_AUTO_SYNONYMS.
19105
19106Tue Jun 26 02:18:02 BST 2007  Olly Betts <olly@survex.com>
19107
19108	* tests/queryparsertest.cc: Add test for a single word synonym in
19109	  multi-synonym mode.
19110
19111Tue Jun 26 02:08:47 BST 2007  Olly Betts <olly@survex.com>
19112
19113	* common/ortermlist.h,queryparser/termgenerator_internal.h: Fix
19114	  warnings from Intel's C++ compiler.
19115
19116Tue Jun 26 01:45:09 BST 2007  Olly Betts <olly@survex.com>
19117
19118	* HACKING: Snapshots and releases are now bootstrapped with libtool
19119	  1.5.24, which includes all the patches we were applying on top of
19120	  1.5.22.
19121	* HACKING: Expand note about preferring pre-increment to
19122	  post-increment to mention preferring it to adding one, and to cover
19123	  decrementing too.
19124
19125Tue Jun 26 01:34:41 BST 2007  Olly Betts <olly@survex.com>
19126
19127	* backends/flint/flint_spelling.cc: Fix bug appending spelling data to
19128	  an existing trigram.
19129
19130Tue Jun 26 01:34:07 BST 2007  Olly Betts <olly@survex.com>
19131
19132	* backends/flint/flint_database.cc: Fix handling of exceptions during
19133	  commit.
19134
19135Mon Jun 25 17:01:40 BST 2007  Olly Betts <olly@survex.com>
19136
19137	* docs/spelling.rst: Update for Unicode spelling correction.
19138
19139Mon Jun 25 15:41:43 BST 2007  Olly Betts <olly@survex.com>
19140
19141	* api/editdistance.cc,api/editdistance.h,api/omdatabase.cc:
19142	  Convert to UTF-32 before calculating edit distances.
19143	* tests/api_wrdb.cc: Add test coverage for Unicode spelling
19144	  correction.
19145
19146Mon Jun 25 14:03:34 BST 2007  Olly Betts <olly@survex.com>
19147
19148	* tests/quartztest.cc: Remove tests for removed method
19149	  QuartzPostList::get_collection_freq().
19150
19151Mon Jun 25 12:32:07 BST 2007  Olly Betts <olly@survex.com>
19152
19153	* backends/flint/flint_spelling.cc: Replace abort() with exception
19154	  throwing.
19155
19156Mon Jun 25 03:01:20 BST 2007  Olly Betts <olly@survex.com>
19157
19158	* tests/harness/backendmanager.cc: Track the fd used to communicate
19159	  with a xapian-tcpsrv child process so we can close it when we reap
19160	  the child pid.
19161
19162Mon Jun 25 02:44:04 BST 2007  Olly Betts <olly@survex.com>
19163
19164	* docs/valueranges.rst: Fix bad RST markup.
19165
19166Sun Jun 24 23:24:26 BST 2007  Olly Betts <olly@survex.com>
19167
19168	* tests/harness/backendmanager.cc: Fix memory leak in test harness
19169	  launching of xapian-tcpsrv so that "apitest -b remotetcp" now passes
19170	  under valgrind.
19171
19172Sun Jun 24 19:39:59 BST 2007  Richard Boulton <richard@lemurconsulting.com>
19173
19174	* docs/valueranges.rst: Add documentation for the
19175	  NumberValueRangeProcessor, now that it is fixed.
19176
19177Sun Jun 24 14:29:06 BST 2007  Olly Betts <olly@survex.com>
19178
19179	* backends/remote/net_postlist.cc,backends/remote/net_postlist.h:
19180	  Move NetworkPostList virtual methods out of the header.  Move the
19181	  constructor into the header, since that can be inlined.
19182
19183Sun Jun 24 14:15:43 BST 2007  Olly Betts <olly@survex.com>
19184
19185	* backends/flint/,backends/multi/multi_postlist.cc,
19186	  backends/multi/multi_postlist.h,backends/quartz/,
19187	  backends/remote/net_postlist.cc,backends/remote/net_postlist.h,
19188	  backends/remote/remote-database.cc,common/emptypostlist.h,
19189	  common/postlist.h,common/remote-database.h: For Flint and Quartz,
19190	  refactor so we no longer create a postlist just to find the termfreq
19191	  or collection frequency.  These were the only places which used
19192	  PostList::get_collection_freq(), so eliminate it (bug#124).
19193
19194Sun Jun 24 09:40:51 BST 2007  Richard Boulton <richard@lemurconsulting.com>
19195
19196	* msvc/genversion.pl: Add a script to generate the version.h file
19197	  for MSVC builds by parsing configure.ac to extract the version
19198	  number, and then performing the appropriate substitutions on
19199	  msvc/version.h.in.  Shouldn't be used for tarball builds (because
19200	  version.h already exists) or for builds which use configure.
19201
19202Sun Jun 24 02:25:38 BST 2007  Olly Betts <olly@survex.com>
19203
19204	* matcher/multimatch.cc: The check_at_least parameter to
19205	  Enquire::get_mset() is now handled in a more efficient way - no
19206	  extra memory is now required, and CPU overhead should be reduced
19207	  (bug#174).
19208
19209Sun Jun 24 02:00:07 BST 2007  Olly Betts <olly@survex.com>
19210
19211	* docs/synonyms.rst,docs/Makefile.am: New "topic" document describing
19212	  synonym support.
19213	* docs/Makefile.am: HTML documentation generated from RST files wasn't
19214	  being installed.
19215
19216Sun Jun 24 00:45:46 BST 2007  Olly Betts <olly@survex.com>
19217
19218	* backends/remote/remote-database.cc,common/remote-database.h,
19219	  common/remoteprotocol.h,common/submatch.h,docs/remote_protocol.html,
19220	  matcher/,net/remoteserver.cc: Pass check_at_least to the remote
19221	  server to reduce the amount of work required to produce the match
19222	  on the remote server, and also reduce the serialised size of the
19223	  returned MSet.
19224
19225Sun Jun 24 00:17:18 BST 2007  Olly Betts <olly@survex.com>
19226
19227	* tests/api_anydb.cc: More check_at_least tests.
19228
19229Sat Jun 23 20:02:48 BST 2007  Olly Betts <olly@survex.com>
19230
19231	* api/omdatabase.cc,tests/api_wrdb.cc: Add multi-database support
19232	  for synonyms.
19233
19234Sat Jun 23 18:50:59 BST 2007  Richard Boulton <richard@lemurconsulting.com>
19235
19236	* include/xapian/database.h: Tiny fix to a documentation comment.
19237
19238Sat Jun 23 17:35:37 BST 2007  Olly Betts <olly@survex.com>
19239
19240	* common/ortermlist.h,expand/ortermlist.cc: Comment out unused method
19241	  OrTermList::get_collection_freq().  The same dummy implementation
19242	  is provided by the parent class (TermList).
19243
19244Sat Jun 23 17:07:40 BST 2007  Olly Betts <olly@survex.com>
19245
19246	* api/omdatabase.cc,backends/database.cc,backends/flint/,
19247	  common/database.h,include/xapian/database.h,tests/api_wrdb.cc:
19248	  Implement Database::synonym_keys_begin() to allow iteration over all
19249	  the terms for which synonyms have been added.
19250
19251Sat Jun 23 04:19:54 BST 2007  Olly Betts <olly@survex.com>
19252
19253	* matcher/multimatch.cc: Fix handling of check_at_least parameter -
19254	  we weren't discarding matches above the requested MSet size
19255	  correctly.
19256	* tests/api_anydb.cc: Add regression test checkatleast2.
19257
19258Sat Jun 23 03:00:45 BST 2007  Olly Betts <olly@survex.com>
19259
19260	* docs/queryparser.html: Document synonyms.
19261
19262Sat Jun 23 02:50:55 BST 2007  Olly Betts <olly@survex.com>
19263
19264	* queryparser/queryparser.lemony: Unapply commented out fragments
19265	  towards supporting '~' on phrases, which I didn't mean to apply.
19266
19267Sat Jun 23 02:25:32 BST 2007  Olly Betts <olly@survex.com>
19268
19269	* include/xapian/queryparser.h,queryparser/queryparser.lemony,
19270	  tests/queryparsertest.cc: Add support for synonym operator ('~')
19271	  to the QueryParser.
19272
19273Sat Jun 23 01:52:51 BST 2007  Olly Betts <olly@survex.com>
19274
19275	* queryparser/queryparser.lemony: Fix two bugs in the query parser -
19276	  now '+' and '-' work on bracketed subexpressions as documented.
19277	* tests/queryparsertest.cc: Add regression tests.
19278
19279Sat Jun 23 01:47:30 BST 2007  Olly Betts <olly@survex.com>
19280
19281	* queryparser/queryparser.cc: Use "using namespace std;".
19282
19283Fri Jun 22 18:48:21 BST 2007  Olly Betts <olly@survex.com>
19284
19285	* backends/flint/flint_synonym.cc: Fix iteration of unflushed
19286	  synonyms.
19287
19288Fri Jun 22 18:21:39 BST 2007  Richard Boulton <richard@lemurconsulting.com>
19289
19290	* docs/deprecation.rst: Fix typo.
19291
19292Fri Jun 22 18:02:21 BST 2007  Olly Betts <olly@survex.com>
19293
19294	* api/omdatabase.cc,backends/database.cc,backends/flint/,
19295	  common/database.h,include/xapian/database.h,
19296	  include/xapian/queryparser.h,queryparser/queryparser.lemony:
19297	  Add support for storing synonyms for terms in a new optional Btree
19298	  table in flint databases, and using them in the QueryParser.
19299	* tests/queryparsertest.cc: Feature tests for synonyms.
19300
19301Fri Jun 22 17:58:37 BST 2007  Olly Betts <olly@survex.com>
19302
19303	* queryparser/queryparser.lemony: Removed superfluous "private:" in
19304	  class State.  Make State::get_database() const.
19305
19306Fri Jun 22 17:58:15 BST 2007  Olly Betts <olly@survex.com>
19307
19308	* tests/queryparsertest.cc: Make sure .flint subdirectory exists.
19309
19310Fri Jun 22 17:52:53 BST 2007  Olly Betts <olly@survex.com>
19311
19312	* bin/xapian-inspect.cc: Don't die with an error if the user tries to
19313	  move forward twice from the end.  Also, make "prev" from the end
19314	  work.
19315
19316Fri Jun 22 17:47:36 BST 2007  Olly Betts <olly@survex.com>
19317
19318	* queryparser/queryparser.lt: If an input token has a yyminor, report
19319	  its name in the debug output.
19320
19321Fri Jun 22 14:47:17 BST 2007  Olly Betts <olly@survex.com>
19322
19323	* NEWS: Updated with changes since 1.0.1.
19324
19325Thu Jun 21 21:12:49 BST 2007  Olly Betts <olly@survex.com>
19326
19327	* backends/remote/remote-database.cc,common/remoteprotocol.h,
19328	  common/remoteserver.h,net/remoteserver.cc: Protocol version
19329	  increased to 30.2.  This difference from 30.1 is that
19330	  MSG_DELETEDOCUMENT now send REPLY_DONE to allow DocNotFoundError
19331	  to be propagated.  MSG_DELETEDOCUMENT now has a new number and
19332	  the old number for MSG_DELETEDOCUMENT is now
19333	  MSG_DELETEDOCUMENT_PRE_30_2 which is handled by the server so
19334	  that older clients will continue to work.
19335	* docs/remote_protocol.html: Update.
19336	* tests/api_wrdb.cc: Add regression test for DocNotFoundError bug.
19337
19338Thu Jun 21 17:22:53 BST 2007  Olly Betts <olly@survex.com>
19339
19340	* api/omdatabase.cc,tests/queryparsertest.cc,docs/spelling.rst: Add
19341	  support for spelling correction when using multiple databases.
19342
19343Thu Jun 21 16:15:22 BST 2007  Olly Betts <olly@survex.com>
19344
19345	* tests/queryparsertest.cc: Add feature tests for correcting spelling
19346	  errors in the QueryParser.
19347
19348Thu Jun 21 15:01:00 BST 2007  Olly Betts <olly@survex.com>
19349
19350	* tests/api_wrdb.cc: Check the edit distance 3 words are found if
19351	  asked for.
19352
19353Thu Jun 21 14:59:15 BST 2007  Olly Betts <olly@survex.com>
19354
19355	* api/omdatabase.cc,common/omdebug.h: Add some debug tracing for the
19356	  spelling correction.
19357
19358Thu Jun 21 13:45:12 BST 2007  Olly Betts <olly@survex.com>
19359
19360	* backends/flint/flint_spelling.cc,docs/spelling.rst: Generate
19361	  "bookends" for four character words too, so that we suggest
19362	  "fuor" -> "four".
19363	* tests/api_wrdb.cc: More testcases.
19364
19365Thu Jun 21 13:08:07 BST 2007  Olly Betts <olly@survex.com>
19366
19367	* docs/spelling.rst: Assorted minor improvements.  Add note about not
19368	  detecting single character substitutions in two character words.
19369
19370Thu Jun 21 13:02:57 BST 2007  Olly Betts <olly@survex.com>
19371
19372	* tests/api_wrdb.cc: Check cases for single edits to a two character
19373	  word work as expected.
19374
19375Thu Jun 21 04:13:46 BST 2007  Olly Betts <olly@survex.com>
19376
19377	* tests/api_wrdb.cc: Add test cases to check we find all single edit
19378	  errors for a three letter word.
19379
19380Thu Jun 21 04:08:11 BST 2007  Olly Betts <olly@survex.com>
19381
19382	* backends/flint/flint_spelling.h: Now that
19383	  FlintSpellingTable::merge_changes() is only called from within the
19384	  class, make it a private method.  discard_changes() is only used
19385	  once, and from within the class, so just inline it as that's
19386	  clearer.  Make the comment about the overridden methods a doxygen
19387	  grouping comment,
19388
19389Thu Jun 21 04:02:51 BST 2007  Olly Betts <olly@survex.com>
19390
19391	* docs/spelling.rst: Update to mention "bookend" bigrams.
19392
19393Thu Jun 21 03:56:52 BST 2007  Olly Betts <olly@survex.com>
19394
19395	* backends/flint/flint_spelling.cc: Generate "bookend" spelling
19396	  entries for two and three letter terms, consisting of the prefix 'B'
19397	  followed by the first and last letters.  This allows us to handle
19398	  substitution or deletion of the middle character of a three letter
19399	  word, or insertion in the middle of a two letter word.
19400
19401Thu Jun 21 03:18:28 BST 2007  Olly Betts <olly@survex.com>
19402
19403	* tests/queryparsertest.cc: Some doubles in the list which
19404	  value_range_serialise1 tests have the same values on some platforms,
19405	  so test that adjacent numbers and their string counterparts compare
19406	  the same way rather than that both are "<".
19407
19408Thu Jun 21 02:46:01 BST 2007  Olly Betts <olly@survex.com>
19409
19410	* tests/api_wrdb.cc: Add "spell1" - a simple feature test for spelling
19411	  based on Richard's python test.  Use TESTCASE() and END_OF_TESTCASES
19412	  macros.
19413
19414Wed Jun 20 21:57:01 BST 2007  Olly Betts <olly@survex.com>
19415
19416	* backends/flint/flint_database.cc: WritableDatabase::delete_document()
19417	  no longer cancels pending changes if the document doesn't exist.
19418	* backends/quartz/quartz_database.cc: Same fix.
19419
19420Wed Jun 20 20:53:52 BST 2007  Olly Betts <olly@survex.com>
19421
19422	* backends/flint/flint_database.cc: We may now need to flush even if
19423	  there have been no documents added/replaced/deleted, as there may be
19424	  changes to the spelling table.
19425
19426Wed Jun 20 20:46:30 BST 2007  Olly Betts <olly@survex.com>
19427
19428	* backends/flint/flint_table.cc: Fix a function name in the debug
19429	  loggging.
19430
19431Wed Jun 20 20:39:43 BST 2007  Olly Betts <olly@survex.com>
19432
19433	* backends/flint/flint_spelling.cc: Fix FlintSpellingTermList not to
19434	  report at_end() one entry too early.
19435
19436Wed Jun 20 19:21:45 BST 2007  Olly Betts <olly@survex.com>
19437
19438	* tests/harness/backendmanager.cc: Don't touch <dbdir>/log for flint
19439	  as flint doesn't create a log like quartz does.
19440
19441Wed Jun 20 17:10:29 BST 2007  Olly Betts <olly@survex.com>
19442
19443	* backends/flint/flint_database.cc,backends/flint/flint_spelling.h:
19444	  Push special handling for spelling_table into the FlintSpellingTable
19445	  class.  This fixes "is_modified()" to take into account unflushed
19446	  changes held in memory.
19447
19448Wed Jun 20 13:59:01 BST 2007  Olly Betts <olly@survex.com>
19449
19450	* api/omdatabase.cc: Don't use RETURN() in methods which return void.
19451
19452Wed Jun 20 11:56:30 BST 2007  Richard Boulton <richard@lemurconsulting.com>
19453
19454	* api/editdistance.cc: Change an Assert in is_transposed() (which
19455	  fails in some cases) to a test, since it seems legitimate that
19456	  a value of pos2 <= 0 might be supplied to the function (though
19457	  the answer will always be "false" in that case).
19458
19459Wed Jun 20 02:38:51 BST 2007  Olly Betts <olly@survex.com>
19460
19461	* api/omdatabase.cc: Fix two incorrect return types in debug logging.
19462
19463Wed Jun 20 02:14:40 BST 2007  Olly Betts <olly@survex.com>
19464
19465	* api/omdatabase.cc: Add missing implementations of
19466	  WritableDatabase::add_spelling() and
19467	  WritableDatabase::remove_spelling().
19468
19469Wed Jun 20 00:58:46 BST 2007  Olly Betts <olly@survex.com>
19470
19471	* backends/flint/flint_spelling.h: Make the maps private.
19472
19473Wed Jun 20 00:05:15 BST 2007  Olly Betts <olly@survex.com>
19474
19475	* HACKING: Snapshots now bootstrapped with automake 1.10.
19476
19477Wed Jun 20 00:03:42 BST 2007  Olly Betts <olly@survex.com>
19478
19479	* backends/flint/flint_spelling.cc,common/Makefile.mk,
19480	  expand/Makefile.mk,expand/ortermlist.h: Move ortermlist.h from
19481	  "expand/" to "common/" so we can included it from flint_spelling.cc
19482	  without a relative path.
19483
19484Tue Jun 19 22:41:08 BST 2007  Olly Betts <olly@survex.com>
19485
19486	* api/,backends/database.cc,backends/flint/,common/database.h,
19487	  docs/Makefile.am,docs/spelling.rst,include/xapian/database.h,
19488	  include/xapian/queryparser.h,queryparser/queryparser.cc,
19489	  queryparser/queryparser.lemony,queryparser/queryparser_internal.h:
19490	  Add support for spelling correction.
19491
19492Tue Jun 19 19:18:40 BST 2007  Olly Betts <olly@survex.com>
19493
19494	* backends/flint/flint_database.cc,backends/flint/flint_table.cc,
19495	  backends/flint/flint_table.h: Add new method
19496	  FlintTable::key_exists() so we don't need to create a cursor to
19497	  check if a key exists in FlintDatabase::term_exists() (the other
19498	  alternative previously was to read the key and tag and ignore the
19499	  tag, but that could involve reading more blocks if the tag is
19500	  long, and it could involve uncompressing the tag too).
19501
19502Tue Jun 19 17:49:09 BST 2007  Richard Boulton <richard@lemurconsulting.com>
19503
19504	* tests/queryparsertest.cc: Cast the input to pow() to a double, to
19505	  fix a problem on windows (which has several versions of pow(),
19506	  and the version taking a float was being used by default,
19507	  resulting in some of the tests overflowing the range of float).
19508
19509Tue Jun 19 17:48:42 BST 2007  Richard Boulton <richard@lemurconsulting.com>
19510
19511	* api/valuerangeproc.cc: Fix assertions, so that the code works
19512	  with assertions turned on.
19513
19514Tue Jun 19 12:35:46 BST 2007  Olly Betts <olly@survex.com>
19515
19516	* matcher/branchpostlist.cc: Add missing #include <config.h>.
19517	* matcher/branchpostlist.cc,matcher/branchpostlist.h: Move other
19518	  virtual method definitions out of the header.
19519
19520Mon Jun 18 21:41:15 BST 2007  Richard Boulton <richard@lemurconsulting.com>
19521
19522	* matcher/branchpostlist.h: Add missed copyright statement.
19523
19524Mon Jun 18 21:36:31 BST 2007  Richard Boulton <richard@lemurconsulting.com>
19525
19526	* matcher/branchpostlist.cc,matcher/branchpostlist.h: Add get_wdf()
19527	  method to BranchPostList (which just sums the wdf, which is
19528	  useful for a synonym postlist, which is the only situation in
19529	  which this will be called).  Add the method definition in a
19530	  separate file, as per the comment I just added to HACKING.
19531	* matcher/Makefile.mk: Add branchpostlist.cc
19532
19533Mon Jun 18 21:33:56 BST 2007  Richard Boulton <richard@lemurconsulting.com>
19534
19535	* HACKING: Add note about virtual methods (saying that the
19536	  shouldn't be defined in header files).
19537
19538Mon Jun 18 20:15:18 BST 2007  Richard Boulton <richard@lemurconsulting.com>
19539
19540	* matcher/phrasepostlist.cc,matcher/phrasepostlist.h,
19541	  matcher/exactphrasepostlist.cc,matcher/exactphrasepostlist.cc:
19542	  Add get_wdf() methods to NearPostList, PhrasePostList and
19543	  ExactPhrasePostList - these use a very rough approximation (but
19544	  there's a big long comment justifying it).
19545
19546Mon Jun 18 18:38:43 BST 2007  Richard Boulton <richard@lemurconsulting.com>
19547
19548	* matcher/mergepostlist.cc,matcher/mergepostlist.h: Add copyright
19549	  statements for previous commit (and update license while I'm at
19550	  it).
19551
19552Mon Jun 18 18:24:43 BST 2007  Richard Boulton <richard@lemurconsulting.com>
19553
19554	* matcher/mergepostlist.cc,matcher/mergepostlist.h: Add get_wdf()
19555	  method to MergePostList (just passes through the value from the
19556	  current postlist).  Not currently needed, but the expected
19557	  behaviour is obvious, and this will be needed if there's a
19558	  synonym postlist higher in the query tree (when synonym postlists
19559	  are implemented).  Also, correct a documentation comment typo.
19560
19561Mon Jun 18 13:09:36 BST 2007  Richard Boulton <richard@lemurconsulting.com>
19562
19563	* api/valuerangeproc.cc: Cast the first parameter to ldexp() to
19564	  double to fix compilation on some platforms, and add a few more
19565	  explanatory code comments to
19566	  NumberValueRangeProcessor::string_to_float()
19567
19568Mon Jun 18 11:33:49 BST 2007  Richard Boulton <richard@lemurconsulting.com>
19569
19570	* api/valuerangeproc.cc: Add static methods to
19571	  NumberValueRangeProcessor to serialise and unserialise doubles.
19572	  Change the code which tests a term for being a number to use
19573	  strtod, and accept any string which strtod thinks is a number.
19574	  If NumberValueRangeProcessor accepts a range, it now converts the
19575	  begin and end values to strings using the serialise method.
19576	  Also, expand some of the code comments.
19577	* include/xapian/queryparser.h: Add documentation comments to
19578	  NumberValueRangeProcessor.
19579	* tests/queryparsertest.cc: Update value_range2_queries to expect
19580	  new serialised forms in its output.  Update test_qp_value_range3
19581	  to test a wider range of values (including negative, fractional,
19582	  and more-than-single-digit).
19583
19584Mon Jun 18 03:36:38 BST 2007  Olly Betts <olly@survex.com>
19585
19586	* queryparser/queryparser.lemony: Fix comment typo, and add brackets
19587	  to make intended precedence clearer.
19588
19589Mon Jun 18 03:36:04 BST 2007  Olly Betts <olly@survex.com>
19590
19591	* include/xapian/queryparser.h: Tweak wording of a couple of
19592	  documentation comments.
19593
19594Mon Jun 18 02:00:31 BST 2007  Olly Betts <olly@survex.com>
19595
19596	* docs/queryparser.html: Mention "AND NOT" as an alternative way to
19597	  write "NOT".
19598
19599Mon Jun 18 01:43:00 BST 2007  Olly Betts <olly@survex.com>
19600
19601	* queryparser/queryparser.lemony: Adjust precedence of boolean
19602	  operators to match those in maths and programming languages.
19603	  "NOT" now binds as tightly as "AND" (previously "AND NOT" would
19604	  bind like "AND", but just "NOT" would bind like "OR"!)  Also
19605	  "XOR" now binds more tightly than "OR", but less tightly than
19606	  "AND" (previously it bound just like "OR").
19607	* tests/queryparsertest.cc: Add testcases for the new behaviour.
19608
19609Mon Jun 18 01:16:18 BST 2007  Olly Betts <olly@survex.com>
19610
19611	* tests/queryparsertest.cc: Better test coverage of handling of random
19612	  double quotes in queries.
19613
19614Sun Jun 17 16:17:34 BST 2007  Olly Betts <olly@survex.com>
19615
19616	* include/xapian/unicode.h: Don't call operator++(0) from operator()
19617	  as it does more work than we need.
19618
19619Sun Jun 17 14:14:16 BST 2007  Olly Betts <olly@survex.com>
19620
19621	* bin/xapian-inspect.cc: Fix so that Ctrl+D doesn't cause an infinite
19622	  loop!
19623
19624Sat Jun 16 22:19:11 BST 2007  Olly Betts <olly@survex.com>
19625
19626	* bin/Makefile.mk,bin/xapian-inspect.cc,xapian-core.spec.in:
19627	  New utility 'xapian-inspect' allowing interactive inspection of
19628	  key/tag pairs in a flint Btree.  Useful for developement and
19629	  debugging, and an approximate replacement for quartzdump.
19630
19631Sat Jun 16 17:03:57 BST 2007  Olly Betts <olly@survex.com>
19632
19633	* docs/doxygen_api_conf.in,docs/doxygen_full_conf.in: Update for
19634	  doxygen 1.5.2 (using "doxygen -u").
19635
19636Sat Jun 16 10:17:32 BST 2007  Richard Boulton <richard@lemurconsulting.com>
19637
19638	* tests/Makefile.am: The "check-none" target should run all the
19639	  tests which don't need a database, not just those in apitest: add
19640	  internaltest, stemtest, queryparsertest and termgentest to the
19641	  list of tests it runs.
19642
19643Sat Jun 16 09:36:10 BST 2007  Richard Boulton <richard@lemurconsulting.com>
19644
19645	* Makefile.am,bin/Makefile.mk,examples/Makefile.mk: Work around an
19646	  apparent bug in automake which causes the entries in .libs
19647	  subdirectories generated for targets of bin_PROGRAMS not to be
19648	  removed on make clean.  (This was causing make distcheck to
19649	  fail.)
19650
19651Sat Jun 16 04:42:16 BST 2007  Olly Betts <olly@survex.com>
19652
19653	* HACKING,Makefile.am,tests/Makefile.am,tests/apitest.cc,
19654	  tests/harness/backendmanager.cc,tests/harness/backendmanager.h: In
19655	  the testsuite, rename the "void" pseudo-backend to "none" to more
19656	  clearly reflect what it is.  And rename the "remote" backend to
19657	  "remoteprog", to better differentiate it from "remotetcp".
19658	* HACKING: Fix error - "apitest -b=flint" doesn't work - it must be
19659	  "apitest -bflint".
19660
19661Sat Jun 16 04:40:28 BST 2007  Olly Betts <olly@survex.com>
19662
19663	* HACKING: Now using doxygen 1.5.2.
19664
19665Sat Jun 16 02:08:20 BST 2007  Olly Betts <olly@survex.com>
19666
19667	* backends/flint/flint_table.cc: Fix to build with older zlib.  Not
19668	  hugely important as zlib security fixes mean any well maintained
19669	  box will be running a recent zlib, but the fix is trivial.
19670
19671Fri Jun 15 19:39:03 BST 2007  Richard Boulton <richard@lemurconsulting.com>
19672
19673	* HACKING: Document the new check-void, check-inmemory,
19674	  check-remoteprog and check-remotetcp targets.
19675
19676Fri Jun 15 19:34:13 BST 2007  Richard Boulton <richard@lemurconsulting.com>
19677
19678	* Makefile.am,tests/Makefile.am: Add check-void, check-inmemory,
19679	  check-remoteprog and check-remotetcp targets, to allow the tests
19680	  for any of the backends to be performed in isolation.
19681
19682Fri Jun 15 19:29:19 BST 2007  Olly Betts <olly@survex.com>
19683
19684	* Makefile.am,configure.ac,xapian-core.spec.in,xapian.spec.in:
19685	  Rename xapian.spec to xapian-core.spec to match tarball name.
19686	  Append the user name to BuildRoot.
19687
19688Fri Jun 15 14:51:13 BST 2007  Richard Boulton <richard@lemurconsulting.com>
19689
19690	* net/progclient.cc: Open the file handle pointing to /dev/null as
19691	  O_WRONLY instead of O_RDONLY: doesn't affect whether the test
19692	  passes (since nothing gets written to stderr in theory anyway),
19693	  but makes more sense.
19694
19695Fri Jun 15 13:21:56 BST 2007  Richard Boulton <richard@lemurconsulting.com>
19696
19697	* net/progclient.cc: Better fix - rather than leaving stderr open,
19698	  we close it, and then reopen it pointing to /dev/null.
19699
19700Fri Jun 15 12:55:07 BST 2007  Richard Boulton <richard@lemurconsulting.com>
19701
19702	* net/progclient.cc: Don't close stderr in the child before we call
19703	  execve() - with this change, apitest passes under valgrind with
19704	  the remote database backend: before it, the child seemed to be
19705	  exiting without writing anything to the socket, causing the test
19706	  to fail with a NetworkError (due to an unexpected EOF).
19707
19708Thu Jun 14 23:47:52 BST 2007  Olly Betts <olly@survex.com>
19709
19710	* backends/flint/flint_database.cc: Replace duplicated code with calls
19711	  to existing method set_revision_number(new_revision).
19712
19713Thu Jun 14 18:51:03 BST 2007  Olly Betts <olly@survex.com>
19714
19715	* backends/flint/flint_database.cc: Stop including <sys/utsname.h>
19716	  which we don't use here.
19717
19718Thu Jun 14 18:22:24 BST 2007  Olly Betts <olly@survex.com>
19719
19720	* tests/Makefile.am: Fix typo from copy&paste.
19721
19722Thu Jun 14 16:46:45 BST 2007  Olly Betts <olly@survex.com>
19723
19724	* docs/admin_notes.rst: Update for the "lazy table" changes.  Correct
19725	  the description of xapian-compact --multipass (only the postlist
19726	  tables are merged in multiple passes), correct description of how
19727	  to use xapian-check on a single table (no trailing '.' should be
19728	  specified).  Change the "how to upgrade 0.9.x flint databases" to
19729	  talk about 1.0.y rather than 1.0.0.
19730
19731Thu Jun 14 16:25:55 BST 2007  Olly Betts <olly@survex.com>
19732
19733	* backends/flint/: The value and position tables are now only created
19734	  if there is anything to add to them.  So if you never use document
19735	  values, there's no value_DB, value.baseA, or value.baseB.  This
19736	  means the table doesn't need to be opened for searching (saving a
19737	  file handle) and when flushing changes, we don't need to update
19738	  baseA/baseB just to keep the revisions in step.  The flint database
19739	  version has been increased, but the new code will happily open and
19740	  read/update flint databases from Xapian 1.0.0 and 1.0.1.
19741	* bin/xapian-check.cc,bin/xapian-compact.cc: Update to handle
19742	  databases without value and/or position tables.
19743	* tests/testdata/flint-1.0.1/: Empty example of a flint 1.0.1 format
19744	  database.
19745	* tests/Makefile.am,tests/api_db.cc: Add check that a flint 1.0.1
19746	  format database can be opened.
19747
19748Wed Jun 13 22:40:15 BST 2007  Richard Boulton <richard@lemurconsulting.com>
19749
19750	* include/xapian/queryparser.h: Document set_stemmer() and
19751	  set_stemming_strategy() better - in particular, make it clear
19752	  that the default value for the stemming strategy is STEM_NONE.
19753
19754Wed Jun 13 17:16:52 BST 2007  Olly Betts <olly@survex.com>
19755
19756	* HACKING: Wrap overlong line.
19757
19758Wed Jun 13 16:47:07 BST 2007  Olly Betts <olly@survex.com>
19759
19760	* msvc/version.h.in: Remote backend is now supported in the MSVC
19761	  build.
19762
19763Wed Jun 13 04:18:51 BST 2007  Olly Betts <olly@survex.com>
19764
19765	* backends/flint/flint_table.cc,backends/flint/flint_table.h:
19766	  Eliminate dont_close_handle as it's always false.
19767
19768Wed Jun 13 02:53:28 BST 2007  Olly Betts <olly@survex.com>
19769
19770	* backends/flint/flint_btreebase.cc,backends/flint/flint_btreebase.h:
19771	  Remove unused FlintTable_base constructor.
19772
19773Tue Jun 12 18:27:54 BST 2007  Olly Betts <olly@survex.com>
19774
19775	* backends/flint/flint_table.cc: Add fix to allow compilation on
19776	  OpenBSD, which uses off_t instead of uLong for total_out in
19777	  zlib.h.  Remove Assert() which is followed by a better check of
19778	  the same condition.
19779	* AUTHORS: Add Julien Touche for help with this fix.
19780
19781Tue Jun 12 13:34:59 BST 2007  Richard Boulton <richard@lemurconsulting.com>
19782
19783	* tests/harness/unixcmds.cc: On unix builds, set access permissions
19784	  on copied directories to allow writes.  This fixes make
19785	  distcheck, which was failing on tests because the copied
19786	  directory was set to read-only, causing the later "rm -rf"
19787	  command to fail.
19788
19789Mon Jun 11 20:10:26 BST 2007  Olly Betts <olly@survex.com>
19790
19791	* docs/overview.html: Fix typo.
19792
19793Mon Jun 11 20:08:42 BST 2007  Olly Betts <olly@survex.com>
19794
19795	* docs/Makefile.am: Ship and install internals.html.
19796
19797Mon Jun 11 17:46:04 BST 2007  Olly Betts <olly@survex.com>
19798
19799	* docs/Makefile.am,docs/doxygen_full_conf.in: Disable generation of
19800	  PDF version of doxygen-collated documentation of internals.  It
19801	  keeps overflowing TeX limits and it seems likely that most people
19802	  would prefer the HTML version of this anyway.
19803
19804Mon Jun 11 17:45:12 BST 2007  Olly Betts <olly@survex.com>
19805
19806	* tests/internaltest.cc: Remove duplicated code.
19807
19808Mon Jun 11 03:55:53 BST 2007  Olly Betts <olly@survex.com>
19809
19810	* NEWS: Probably the final update for 1.0.1.
19811
19812Mon Jun 11 03:47:37 BST 2007  Olly Betts <olly@survex.com>
19813
19814	* examples/simpleindex.cc: Tweak the logic to be clearer.
19815
19816Sun Jun 10 21:59:21 BST 2007  Olly Betts <olly@survex.com>
19817
19818	* HACKING,configure.ac: Drop automake requirement to 1.8.3 to allow
19819	  RPM spec file to work on SLES 9.
19820
19821Sun Jun 10 21:48:51 BST 2007  Olly Betts <olly@survex.com>
19822
19823	* configure.ac: Bump version to 1.0.1 and LIBRARY_VERSION_INFO to
19824	  15:0:0.
19825
19826Sun Jun 10 21:46:57 BST 2007  Olly Betts <olly@survex.com>
19827
19828	* xapian.spec.in: Add "# norootforbuild" comment which SuSE's build
19829	  scripts look for.  Rename "Source0:" to "Source:" as there's only
19830	  one tarball now.  Add gcc-c++ and zlib-devel to "Build-Requires:".
19831
19832Sun Jun 10 21:43:45 BST 2007  Olly Betts <olly@survex.com>
19833
19834	* PLATFORMS: More updates.
19835
19836Sun Jun 10 18:01:19 BST 2007  Olly Betts <olly@survex.com>
19837
19838	* api/error.cc,generate-exceptions.in: Make Error::error_string member
19839	  std::string rather than char * to avoid problems with double free()
19840	  with copied Error objects.  Also, Error::get_description() now
19841	  converts my_errno to error_string if it hasn't been already.
19842	* tests/internaltest.cc: Add regression tests for both bugs.
19843
19844Sun Jun 10 13:33:21 BST 2007  Olly Betts <olly@survex.com>
19845
19846	* tests/api_db.cc: New testcase in allterms6.
19847
19848Sun Jun 10 13:20:37 BST 2007  Olly Betts <olly@survex.com>
19849
19850	* xapian-config.in: Add special case check for host_os matching linux*
19851	  or k*bsd-gnu since vanilla libtool doesn't identify them as needing
19852	  link_all_deplibs_CXX=no.
19853
19854Sun Jun 10 03:32:54 BST 2007  Olly Betts <olly@survex.com>
19855
19856	* PLATFORMS: Updated from tinderbox.
19857
19858Sun Jun 10 02:14:58 BST 2007  Olly Betts <olly@survex.com>
19859
19860	* NEWS: Updated.
19861
19862Sat Jun 09 17:28:32 BST 2007  Olly Betts <olly@survex.com>
19863
19864	* queryparser/queryparser.lemony: Add the unstem entry for boolean
19865	  prefixed terms in Term::make_term() as we do for other terms.
19866
19867Sat Jun 09 17:27:55 BST 2007  Olly Betts <olly@survex.com>
19868
19869	* tests/queryparsertest.cc: Replace reference to Xapian "1.0" with
19870	  "1.0.0".
19871
19872Sat Jun 09 17:12:44 BST 2007  Olly Betts <olly@survex.com>
19873
19874	* queryparser/queryparser.lemony,queryparser/queryparser_internal.h:
19875	  Factor out the code which actually parses a term into a separate
19876	  method.
19877
19878Fri Jun 08 23:31:23 BST 2007  Olly Betts <olly@survex.com>
19879
19880	* tests/Makefile.am: Distribute tests/testdata/flint-0.9.9/.
19881
19882Fri Jun 08 19:20:36 BST 2007  Olly Betts <olly@survex.com>
19883
19884	* NEWS: Updated.
19885
19886Fri Jun 08 18:55:43 BST 2007  Olly Betts <olly@survex.com>
19887
19888	* examples/simplesearch.cc: Report "Matches 1-<N>:".
19889
19890Fri Jun 08 18:46:02 BST 2007  Richard Boulton <richard@lemurconsulting.com>
19891
19892	* api/omenquire.cc: Fix issue brought to my attention by Enrico
19893	  Zini: if an uninitialised database is supplied to Enquire,
19894	  performing a search will cause a segfualt.  It isn't completely
19895	  clear whether using an uninitialised database should cause an
19896	  error, or whether the search should return an empty result list,
19897	  but for ease of implementation, and to avoid application errors
19898	  going unnoticed, I've made Enquire's constructor report an
19899	  InvalidArgumentError if the supplied database is uninitialised.
19900	* include/xapian/enquire.h: Document new exception case, and
19901	  workaround if you want a search in this situation to return an
19902	  empty result set, instead of getting an error.
19903	* tests/api_nodb.cc: Regression test for this fix.
19904	* AUTHORS: Mention Enrico Zini.
19905
19906Fri Jun 08 18:33:19 BST 2007  Olly Betts <olly@survex.com>
19907
19908	* NEWS: Updated.
19909
19910Fri Jun 08 17:09:22 BST 2007  Olly Betts <olly@survex.com>
19911
19912	* common/Makefile.mk: Distribute common/stringutils.h.
19913
19914Thu Jun 07 20:44:36 BST 2007  Olly Betts <olly@survex.com>
19915
19916	* tests/harness/unixcmds.cc: It appears we need to create the target
19917	  directory for xcopy to behave as we want.
19918
19919Thu Jun 07 19:34:18 BST 2007  Olly Betts <olly@survex.com>
19920
19921	* tests/harness/unixcmds.cc: Fix typo to unbreak testsuite on Windows
19922	  NT derivatives.
19923
19924Thu Jun 07 19:02:36 BST 2007  Olly Betts <olly@survex.com>
19925
19926	* backends/inmemory/inmemory_alltermslist.cc: Another tweak - don't
19927	  call map::lower_bound() in the ctor at all.  Also, prevent skip_to()
19928	  from moving backwards, since that behaviour is user-visible.
19929
19930Thu Jun 07 18:36:49 BST 2007  Olly Betts <olly@survex.com>
19931
19932	* common/stringutils.h: New header, providing inline functions
19933	  begins_with() and ends_with() to check if a std::string has
19934	  a given prefix or suffix.
19935	* api/valuerangeproc.cc,backends/flint/flint_alltermslist.cc,
19936	  backends/inmemory/inmemory_alltermslist.cc,
19937	  backends/quartz/quartz_alltermslist.cc,
19938	  backends/quartz/quartz_metafile.cc,tests/harness/testsuite.cc:
19939	  Make use of begins_with() and ends_with().
19940	* tests/harness/testsuite.cc: Tidy up guessing of srcdir.  In
19941	  particular, fix comments to reflect that libtool won't create a
19942	  wrapper script for the test programs on most platforms (because
19943	  we now use --no-install when linking).
19944	* backends/inmemory/inmemory_alltermslist.cc: In the ctor, use
19945	  std::map::lower_bound() to find the first term matching the
19946	  given prefix, rather than iterating through from the start of
19947	  the map.  Also, don't skip deleted terms here, but instead do
19948	  that in next() - this avoids duplicating code, and the first
19949	  operation might be skip_to() in which case we can avoid wasting
19950	  effort.
19951
19952Thu Jun 07 17:16:12 BST 2007  Olly Betts <olly@survex.com>
19953
19954	* queryparser/queryparser.lemony: Eliminate the QpQuery class and
19955	  simplify various bits of the code.
19956
19957Thu Jun 07 14:32:22 BST 2007  Olly Betts <olly@survex.com>
19958
19959	* tests/queryparsertest.cc: Enhance qp_value_customrange1.
19960
19961Thu Jun 07 14:31:40 BST 2007  Olly Betts <olly@survex.com>
19962
19963	* docs/Makefile.am,docs/index.html,docs/valueranges.rst: Add document
19964	  describing how to use Xapian::ValueRangeProcessor.
19965
19966Thu Jun 07 14:16:01 BST 2007  Olly Betts <olly@survex.com>
19967
19968	* tests/queryparsertest.cc: Add test of custom ValueRangeProcessor
19969	  subclass (qp_value_customrange1).
19970
19971Thu Jun 07 10:01:46 BST 2007  Olly Betts <olly@survex.com>
19972
19973	* common/serialise.h,tests/harness/testsuite.h: Use XAPIAN_NORETURN()
19974	  to mark functions which never return.
19975
19976Thu Jun 07 01:28:00 BST 2007  Olly Betts <olly@survex.com>
19977
19978	* NEWS: Update.
19979
19980Thu Jun 07 01:02:22 BST 2007  Olly Betts <olly@survex.com>
19981
19982	* examples/simpleexpand.cc: Fix off-by-one error when creating the
19983	  fake RSet (picked up to 4 documents, not up to 5).
19984
19985Wed Jun 06 17:17:05 BST 2007  Olly Betts <olly@survex.com>
19986
19987	* include/xapian/queryparser.h: Add documentation comments for
19988	  ValueRangeProcessor and subclasses (mostly fixes bug#155, but
19989	  I'd like to add an overview document too).
19990
19991Wed Jun 06 16:04:08 BST 2007  Olly Betts <olly@survex.com>
19992
19993	* tests/testdata/flint-0.9.9/: Minimal example of a Flint database
19994	  from Xapian 0.9.9.
19995	* tests/api_db.cc: Use a real 0.9.9 flint database instead of faking
19996	  it by fudging with the "iamflint" file in a current one.
19997	  flintdatabaseformaterror1 now also checks for opening with the
19998	  Database ctor as well as with Flint::open().  The writing test from
19999	  flintdatabaseformaterror1 is now flintdatabaseformaterror2 which
20000	  additionally tests opening with the WritableDatabase ctor as well as
20001	  with Flint::open().  The old flintdatabaseformaterror2 is now
20002	  flintdatabaseformaterror3.
20003
20004Wed Jun 06 15:44:08 BST 2007  Olly Betts <olly@survex.com>
20005
20006	* backends/flint/flint_database.cc: Don't check for pre-0.6 databases
20007	  here (since they'll be quartz format anyway - the check is just an
20008	  overenthusiastic cut-and-paste from quartz).
20009
20010Wed Jun 06 12:35:16 BST 2007  Richard Boulton <richard@lemurconsulting.com>
20011
20012	* matcher/valuerangepostlist.cc: Avoid calling db->get_lastdocid()
20013	  repeatedly in ValueRangePostList::next() - was taking 25% of the
20014	  time for a particular test case.
20015
20016Wed Jun 06 12:17:51 BST 2007  Olly Betts <olly@survex.com>
20017
20018	* tests/harness/unixcmds.cc,tests/harness/unixcmds.h: Add "cp_R()"
20019	  which does much the same as "cp -R" on Unix.
20020
20021Wed Jun 06 12:12:50 BST 2007  Olly Betts <olly@survex.com>
20022
20023	* include/xapian/Makefile: New stub makefile for include/xapian.
20024	* bin/Makefile.mk,examples/Makefile.mk,include/Makefile.mk: Distribute
20025	  missing stub Makefile and dir_contents files.
20026
20027Tue Jun 05 16:44:51 BST 2007  Olly Betts <olly@survex.com>
20028
20029	* tests/harness/index_utils.cc: Back out linger line from r7758.
20030	  Fix undefined behaviour in cases where a paragraph has <= 2
20031	  characters.
20032
20033Mon Jun 04 15:31:08 BST 2007  Richard Boulton <richard@lemurconsulting.com>
20034
20035	* tests/harness/backendmanager.cc,tests/harness/index_utils.cc:
20036	  Revert the recent changes to the indexing code, and also the
20037	  change from revision r7758 which was intended to fix a problem
20038	  with eof handling on windows (which is what broke the indexing of
20039	  etext.txt).  Then, change backendmanager.cc to test "!from.eof()"
20040	  instead of "from" to check for eof - hopefully this will work on
20041	  windows - if not, we can investigate further.
20042
20043Mon Jun 04 13:13:29 BST 2007  Richard Boulton <richard@lemurconsulting.com>
20044
20045	* tests/harness/backendmanager.cc: Undo previous patch - only the
20046	  patch to index_utils.cc was necessary; I mistakenly committed
20047	  both files I'd been modifying.
20048
20049Mon Jun 04 09:06:24 BST 2007  Richard Boulton <richard@lemurconsulting.com>
20050
20051	* tests/api_db.cc: Add a check to consistency1 that the full mset
20052	  size is as big as it should be, to make sure that we notice in
20053	  future if the indexing goes wrong again.
20054
20055Mon Jun 04 08:59:22 BST 2007  Richard Boulton <richard@lemurconsulting.com>
20056
20057	* tests/harness/backendmanager.cc,tests/harness/index_utils.cc:
20058	  Fix the indexing of the testdata, so that the "etext" example is
20059	  properly indexed (previously, only the first line was being
20060	  indexed, due to faulty end-of-file handling).  This only affects
20061	  the "consistency1" test, which now runs a lot slower (but still
20062	  passes, fortunately).
20063
20064Fri Jun 01 23:47:42 BST 2007  Olly Betts <olly@survex.com>
20065
20066	* examples/simpleexpand.cc: Rewrite based on new simplesearch.cc.
20067
20068Fri Jun 01 00:50:00 BST 2007  Olly Betts <olly@survex.com>
20069
20070	* examples/simpleindex.cc: Replacement "simpleindex" example which
20071	  uses the TermGenerator class, which makes for a much smaller and
20072	  simpler example.  It's also much more typical of what most users
20073	  will want to do.
20074
20075Thu May 31 23:01:47 BST 2007  Olly Betts <olly@survex.com>
20076
20077	* examples/simplesearch.cc: Replacement "simplesearch" example which
20078	  uses the QueryParser.  That makes for a simpler example, and it's
20079	  much more typical of what most users will want to do.
20080
20081Thu May 31 19:31:40 BST 2007  Olly Betts <olly@survex.com>
20082
20083	* NEWS: Update.
20084
20085Thu May 31 19:18:41 BST 2007  Olly Betts <olly@survex.com>
20086
20087	* HACKING,configure.ac: Relax automake requirement to 1.9.2 to allow
20088	  RPM building on RHEL 4.
20089	* HACKING: automake 1.10 seems to work fine with Xapian.
20090
20091Thu May 31 03:04:42 BST 2007  Olly Betts <olly@survex.com>
20092
20093	* backends/flint/flint_database.cc,backends/quartz/quartz_database.cc:
20094	  Check if the docid counter wraps and if it does throw DatabaseError
20095	  (fixes bug#152).
20096	* tests/api_wrdb.cc: Add regression test (nomoredocids1).
20097
20098Thu May 31 02:01:31 BST 2007  Olly Betts <olly@survex.com>
20099
20100	* backends/dbfactory_remote.cc,backends/remote/remote-database.cc,
20101	  common/progclient.h,common/remote-database.h,common/tcpclient.h,
20102	  net/progclient.cc: Stop a non-writable remote database from calling
20103	  dtor_called() when it is destroyed, since that causes MSG_FLUSH to
20104	  be sent to the server (fixes bug#149).
20105
20106Wed May 30 19:47:43 BST 2007  Richard Boulton <richard@lemurconsulting.com>
20107
20108	* include/xapian/query.h: New accessor method
20109	  Xapian::Query::Internal::get_parameter().
20110	* queryparser/queryparser.lemony: Multiple boolean prefixed terms
20111	  with the same term prefix are now combined with OR before such
20112	  groups are combined with AND.  Similarly for multiple value ranges
20113	  on the same value (fixes bug#157).
20114	* include/xapian/queryparser.h: Document new handling of multiple
20115	  boolean prefixed terms.
20116	* tests/queryparsertest.cc: Testcases for new handling of multiple
20117	  boolean prefixed terms and value ranges.
20118
20119Wed May 30 14:45:19 BST 2007  Richard Boulton <richard@lemurconsulting.com>
20120
20121	* docs/deprecation.rst: Update comment about QueryParserError to
20122	  point out that you'll need to compile conditionally to work with
20123	  0.9.x
20124
20125Wed May 30 14:33:29 BST 2007  Olly Betts <olly@survex.com>
20126
20127	* NEWS: Update.  Put all the subheadings in the standard order used
20128	  for previous releases.
20129
20130Wed May 30 12:58:01 BST 2007  Richard Boulton <richard@lemurconsulting.com>
20131
20132	* include/xapian/database.h,api/omdatabase.cc,backends/flint/,
20133	  backends/inmemory/,backends/quartz/,
20134	  backends/remote/remote-database.cc,
20135	  common/database.h,common/remote-database.h,common/remoteprotocol.h,
20136	  net/remoteserver.cc: Add a prefixed form of allterms_begin() and
20137	  allterms_end(), which allows efficient iteration over only those
20138	  terms which begin with the given prefix.  Requires bumping the
20139	  remote protocol minor version number, but doesn't change any
20140	  database formats.
20141	* queryparser/queryparser.lemony: Update the wildcard and partial
20142	  query routines to use the prefixed form of allterms_begin().
20143	  This fixes the performance problems noted in bug #153.
20144	* tests/api_db.cc: Add test_allterms6() to test the prefixed form
20145	  of allterms iterators.
20146
20147Wed May 30 12:23:25 BST 2007  Richard Boulton <richard@lemurconsulting.com>
20148
20149	* backends/remote/remote-database.cc,common/remoteprotocol.h,
20150	  docs/remote_protocol.html,net/remoteserver.cc: Apply patch from
20151	  Olly (from bug #153) which implements minor version numbers for
20152	  the remove protocol.  This will allow us to add new features to
20153	  the protocol in future without forcing all clients to upgrade to
20154	  exactly the same version as the servers.  Bump the major version
20155	  to 30, since this is an incompatible change itself, though.
20156
20157Wed May 30 12:12:14 BST 2007  Richard Boulton <richard@lemurconsulting.com>
20158
20159	* include/xapian/query.h: Expand documentation of value range
20160	  query constructor.
20161
20162Wed May 30 10:28:39 BST 2007  Olly Betts <olly@survex.com>
20163
20164	* docs/deprecation.rst: Improve entry for QueryParserError.
20165
20166Wed May 30 01:30:35 BST 2007  Olly Betts <olly@survex.com>
20167
20168	* backends/flint/,bin/xapian-compact.cc: Don't uncompress and
20169	  recompress tags when compacting a database.  This speeds up
20170	  xapian-compact rather a lot (by more than 50% in my quick test).
20171
20172Tue May 29 20:58:13 BST 2007  Richard Boulton <richard@lemurconsulting.com>
20173
20174	* queryparser/Makefile.mk: Fix multiple target rule for generating
20175	  the queryparser source files in parallel builds, as described in
20176	  HACKING, and as done for the SWIG rules in xapian-bindings.
20177	* queryparser/: Add queryparser_internal.lock and
20178	  queryparser_internal.stamp to SVN ignores.
20179
20180Tue May 29 18:30:25 BST 2007  Richard Boulton <richard@lemurconsulting.com>
20181
20182	* tests/queryparsertest.cc: Use TEST_STRINGS_EQUAL when comparing
20183	  queries against their expected output, since this makes it much
20184	  easier to see the differences.
20185
20186Tue May 29 18:13:26 BST 2007  Richard Boulton <richard@lemurconsulting.com>
20187
20188	* NEWS: Bring up-to-date.
20189
20190Mon May 28 09:27:43 BST 2007  Olly Betts <olly@survex.com>
20191
20192	* examples/copydatabase.cc: Fix to compile with GCC 2.95.
20193
20194Mon May 28 01:28:23 BST 2007  Olly Betts <olly@survex.com>
20195
20196	* examples/copydatabase.cc: Rewrite to take advantage of
20197	  being able to iterate over all the documents in a database.
20198
20199Sun May 27 12:20:03 BST 2007  Olly Betts <olly@survex.com>
20200
20201	* include/xapian/termgenerator.h: Improve documentation comments
20202	  for TermGenerator class.
20203
20204Sun May 27 12:15:02 BST 2007  Olly Betts <olly@survex.com>
20205
20206	* backends/quartz/quartz_database.cc,bin/,examples/,net/tcpserver.cc,
20207	  tests/api_db.cc,tests/harness/testsuite.cc,tests/harness/testutils.h,
20208	  tests/queryparsertest.cc,tests/termgentest.cc: Make use of
20209	  Xapian::Error::get_description(), which improves error reporting
20210	  in a number of places.
20211	* tests/harness/testsuite.cc: If we get an exception with a long
20212	  message in verbose mode, just report the whole message rather than
20213	  reporting the truncated message followed by the whole message.
20214	* tests/queryparsertest.cc: Handle Xapian::QueryParserError specially
20215	  (as we previously handled all Xapian::Error exceptions).  Other
20216	  Xapian::Error exceptions now report the description not just the
20217	  message.
20218
20219Sun May 27 11:33:11 BST 2007  Olly Betts <olly@survex.com>
20220
20221	* api/error.cc,generate-exceptions.in: Add new API method
20222	  Xapian::Error::get_description() to allow removal of
20223	  essentially duplicated code in many places.  Also useful for
20224	  users for the same reason.
20225
20226Sun May 27 09:56:21 BST 2007  Olly Betts <olly@survex.com>
20227
20228	* generate-exceptions.in: Add vim modeline to force perl syntax
20229	  highlighting.
20230
20231Sat May 26 22:53:52 BST 2007  Richard Boulton <richard@lemurconsulting.com>
20232
20233	* NEWS: Bring up-to-date.
20234
20235Sat May 26 22:49:20 BST 2007  Richard Boulton <richard@lemurconsulting.com>
20236
20237	* docs/deprecation.rst: Fix typo in deprecation list for the
20238	  bindings pointed out by Thomas Waldmann.
20239
20240Sat May 26 09:39:36 BST 2007  Olly Betts <olly@survex.com>
20241
20242	* HACKING: Add note about reasons for avoiding std::pair<> with an STL
20243	  class as one or both members.
20244
20245Thu May 24 17:28:20 BST 2007  Richard Boulton <richard@lemurconsulting.com>
20246
20247	* queryparser/Makefile.mk: $(top_builddir)/queryparser is only
20248	  required in include path for maintainer mode, so make it so for
20249	  neatness.
20250
20251Tue May 22 11:04:04 BST 2007  Richard Boulton <richard@lemurconsulting.com>
20252
20253	* queryparser/Makefile.mk: Add $(top_builddir)/queryparser to include
20254	  path for VPATH builds, to fix a problem with depcomp (triggered
20255	  when compiling with gcc-2.95).
20256	* NEWS: Keep up to date.
20257
20258Mon May 21 13:38:58 BST 2007  Richard Boulton <richard@lemurconsulting.com>
20259
20260	* tests/queryparsertest.cc: Reduce the range of the test, so that
20261	  it passes again, to let the autobuilders work and unbreak HEAD.
20262
20263Mon May 21 10:26:01 BST 2007  Richard Boulton <richard@lemurconsulting.com>
20264
20265	* tests/queryparsertest.cc: Remove FIXME from test_qp_flag_partial1:
20266	  I've checked that the results look correct.  New test
20267	  test_qp_value_range3, to test the NumberValueRangeProcessors -
20268	  currently fails because "10" is considered to be between "1" and
20269	  "2".
20270	* include/xapian/query.h: Fix typo in documentation comment.
20271
20272Mon May 21 10:09:34 BST 2007  Olly Betts <olly@survex.com>
20273
20274	* tests/harness/testsuite.h: Put quotes around strings when reporting
20275	  a failure in TEST_STRINGS_EQUAL().
20276
20277Mon May 21 10:08:18 BST 2007  Olly Betts <olly@survex.com>
20278
20279	* tests/internaltest.cc: New tests serialiseerror1 which checks that
20280	  the handling of errno/error_string.
20281	* common/serialise.h: Make unserialise_error externally visible for
20282	  new test.
20283
20284Mon May 21 08:40:06 BST 2007  Olly Betts <olly@survex.com>
20285
20286	* HACKING: Update release checklist.
20287
20288Fri May 18 02:10:39 BST 2007  Olly Betts <olly@survex.com>
20289
20290	* generate-exceptions.in: Fix grammatical errors in Error::get_errno()
20291	  deprecation explanation.
20292
20293Thu May 17 23:51:17 BST 2007  Olly Betts <olly@survex.com>
20294
20295	* api/error.cc: Need <stdlib.h> for free() to build with GCC 4.3
20296	  snapshot.
20297
20298Thu May 17 23:11:53 BST 2007  Olly Betts <olly@survex.com>
20299
20300	* NEWS: Fix line wrapping (ok, isn't wasn't final!)
20301
20302Thu May 17 22:28:44 BST 2007  Olly Betts <olly@survex.com>
20303
20304	* NEWS: Final update before release.
20305
20306Thu May 17 19:10:27 BST 2007  Olly Betts <olly@survex.com>
20307
20308	* configure.ac: Bump version to 1.0.0 and update LIBRARY_VERSION_INFO.
20309
20310Thu May 17 19:10:11 BST 2007  Olly Betts <olly@survex.com>
20311
20312	* NEWS: Minor wording tweak.
20313
20314Thu May 17 19:06:34 BST 2007  Olly Betts <olly@survex.com>
20315
20316	* docs/Makefile.am: Run rst2html with --strict --verbose options to
20317	  reject .rst files with problems.
20318	* docs/deprecation.rst: Add more entries gleaned from the NEWS file.
20319
20320Thu May 17 18:30:01 BST 2007  Olly Betts <olly@survex.com>
20321
20322	* NEWS: Update with fixes from Jenny's proof-reading and a few other
20323	  tweaks.
20324
20325Thu May 17 18:27:53 BST 2007  Olly Betts <olly@survex.com>
20326
20327	* AUTHORS: Update.
20328
20329Thu May 17 18:25:39 BST 2007  Olly Betts <olly@survex.com>
20330
20331	* PLATFORMS: Updates from the tinderbox.
20332
20333Thu May 17 18:08:13 BST 2007  Olly Betts <olly@survex.com>
20334
20335	* common/safesysstat.h: Need the 2 argument mkdir() wrapper for Mingw
20336	  too.  Define S_ISDIR() and S_ISREG() if they aren't already defined
20337	  rather than conditional on _MSC_VER.
20338
20339Thu May 17 17:58:43 BST 2007  Olly Betts <olly@survex.com>
20340
20341	* docs/admin_notes.rst: "flint-check" -> "xapian-check".
20342
20343Thu May 17 17:46:36 BST 2007  Olly Betts <olly@survex.com>
20344
20345	* NEWS: Update for Xapian 1.0.0.
20346
20347Thu May 17 17:41:15 BST 2007  Olly Betts <olly@survex.com>
20348
20349	* docs/: Update documentation for 1.0.0; add new document describing
20350	  new term generation strategy as implemented by TermGenerator class;
20351	  link in "lost" documents to the index page.
20352
20353Thu May 17 03:54:36 BST 2007  Olly Betts <olly@survex.com>
20354
20355	* exception_data.pm: Fix to work with Perl 5.6.
20356
20357Thu May 17 01:20:16 BST 2007  Richard Boulton <richard@lemurconsulting.com>
20358
20359	* backends/multi/multi_alltermslist.cc: Check that iterators are
20360	  not at_end() before calling skip_to() on them.
20361
20362Thu May 17 00:49:03 BST 2007  Olly Betts <olly@survex.com>
20363
20364	* backends/flint/flint_btreebase.cc,backends/flint/flint_table.cc,
20365	  backends/quartz/btree.cc,common/Makefile.mk,
20366	  common/msvc_posix_wrapper.cc,common/msvc_posix_wrapper.h: Use
20367	  msvc_posix_wrapper.h functions for all __WIN32__ builds, not just
20368	  for MSVC.
20369
20370Wed May 16 23:55:46 BST 2007  Richard Boulton <richard@lemurconsulting.com>
20371
20372	* api/omdatabase.cc: Fix return type in debug macro in
20373	  replace_document().
20374
20375Wed May 16 23:45:20 BST 2007  Richard Boulton <richard@lemurconsulting.com>
20376
20377	* tests/apitest.cc: Add collfreq and allterms tests to the tests
20378	  for the remote and remotetcp backends.  They all pass.
20379
20380Wed May 16 15:11:00 BST 2007  Olly Betts <olly@survex.com>
20381
20382	* configure.ac: Need to try -zdll for mingw as well.
20383
20384Wed May 16 14:45:23 BST 2007  Olly Betts <olly@survex.com>
20385
20386	* tests/queryparsertest.cc: Add two more testcases.
20387
20388Wed May 16 14:32:46 BST 2007  Olly Betts <olly@survex.com>
20389
20390	* queryparser/queryparser.lemony,tests/queryparsertest.cc: Fix
20391	  double-free on invalid range query.
20392
20393Wed May 16 10:08:02 BST 2007  Richard Boulton <richard@lemurconsulting.com>
20394
20395	* tests/queryparsertest.cc: Add some more test cases to the value
20396	  range processor.  These currently fail with a SIGSEGV message.
20397
20398Wed May 16 02:22:17 BST 2007  Olly Betts <olly@survex.com>
20399
20400	* queryparser/termgenerator_internal.cc: Fix handling of stemming of
20401	  prefixed terms.
20402	* tests/termgentest.cc: Fix testcases.
20403
20404Wed May 16 01:54:25 BST 2007  Richard Boulton <richard@lemurconsulting.com>
20405
20406	* tests/termgentest.cc: Add a test for parsing of capitalised words
20407	  with a prefix, which currently fails.
20408
20409Wed May 16 01:09:39 BST 2007  Richard Boulton <richard@lemurconsulting.com>
20410
20411	* include/xapian/termgenerator.h,queryparser/termgenerator.cc: Add
20412	  a method to get the current document from the term generator.
20413	  Helps avoid users having to pass around a structure encapsulating
20414	  the generator and the document assigned to it.
20415
20416Wed May 16 00:50:07 BST 2007  Olly Betts <olly@survex.com>
20417
20418	* docs/deprecation.rst: Add <xapian/output.h>.
20419
20420Tue May 15 22:46:39 BST 2007  Richard Boulton <richard@lemurconsulting.com>
20421
20422	* tests/termgentest.cc: Use resize(0) instead of clear(), for g++2.95
20423
20424Tue May 15 20:25:07 BST 2007  Richard Boulton <richard@lemurconsulting.com>
20425
20426	* net/remoteconnection.cc: Add a comment noting why we test
20427	  __STDC_SECURE_LIB__ even though its an undocumented macro.
20428
20429Tue May 15 20:14:51 BST 2007  Richard Boulton <richard@lemurconsulting.com>
20430
20431	* tests/termgentest.cc: Add several more tests - some converted
20432	  from the query tests, some more initial tests, and some number
20433	  tests.
20434
20435Tue May 15 18:31:21 BST 2007  Olly Betts <olly@survex.com>
20436
20437	* queryparser/termgenerator_internal.cc: Revert previous change - we
20438	  need to generate Zibm and Zpc from text `I.B.M. P.C.' or else a
20439	  search for `ibm pc' won't match.
20440
20441Tue May 15 18:22:44 BST 2007  Olly Betts <olly@survex.com>
20442
20443	* queryparser/termgenerator_internal.cc: Sort out stemming of
20444	  initials.
20445
20446Tue May 15 18:04:17 BST 2007  Richard Boulton <richard@lemurconsulting.com>
20447
20448	* tests/termgentest.cc: Add some more tests, and rework the array
20449	  of tests so that there's just a single string holding any options
20450	  we want to set for the following tests.
20451
20452Tue May 15 16:49:17 BST 2007  Richard Boulton <richard@lemurconsulting.com>
20453
20454	* tests/Makefile.am,tests/termgentest.cc: Add new test file, for
20455	  testing the term generator.  Only has a single test so far.
20456
20457Tue May 15 16:20:20 BST 2007  Olly Betts <olly@survex.com>
20458
20459	* include/xapian/unicode.h: Make single parameter ctor explicit.
20460
20461Tue May 15 16:00:24 BST 2007  Olly Betts <olly@survex.com>
20462
20463	* queryparser/termgenerator_internal.cc: Add special handling for
20464	  acronyms/initialisms, so I.B.M -> term ibm, etc.
20465
20466Tue May 15 14:07:27 BST 2007  Richard Boulton <richard@lemurconsulting.com>
20467
20468	* include/xapian/termgenerator.h,queryparser/termgenerator.cc: Add
20469	  a set_termpos() method, too.
20470
20471Tue May 15 13:54:34 BST 2007  Olly Betts <olly@survex.com>
20472
20473	* include/xapian/database.h: Document the issue of the monotonic
20474	  docid counter wrapping around.
20475
20476Tue May 15 10:58:37 BST 2007  Richard Boulton <richard@lemurconsulting.com>
20477
20478	* include/xapian/termgenerator.h,queryparser/termgenerator.cc: Add
20479	  get_termpos() method to get the current value of the termpos.
20480	  Makes it easier to integrate with different term generators.
20481
20482Tue May 15 03:44:50 BST 2007  Olly Betts <olly@survex.com>
20483
20484	* queryparser/queryparser.lemony,queryparser/termgenerator_internal.cc:
20485	  Include '.', ',', and a few other characters in terms if they are
20486	  between two decimal digits.
20487	* queryparser/termgenerator_internal.cc: Don't stem terms which start
20488	  with a number.
20489	* tests/queryparsertest.cc: Update results for real world queries to
20490	  match new results (better in every case but one!)
20491
20492Tue May 15 01:24:08 BST 2007  Olly Betts <olly@survex.com>
20493
20494	* HACKING: Fix a few typos.  Add "feisty" to the list of debs to
20495	  build.
20496
20497Tue May 15 00:51:35 BST 2007  Richard Boulton <richard@lemurconsulting.com>
20498
20499	* HACKING: Document that the bootstrap script should be run from
20500	  srcdir, and that the generated configure can be run from a
20501	  different builddir.  Tidy up a few other lines.
20502
20503Mon May 14 23:52:33 BST 2007  Olly Betts <olly@survex.com>
20504
20505	* queryparser/queryparser.lemony,queryparser/termgenerator_internal.cc:
20506	  Expand check_infix to include some of characters Unicode does.
20507	* tests/queryparsertest.cc: Update the single test query which now
20508	  parses differently.
20509
20510Mon May 14 23:42:53 BST 2007  Olly Betts <olly@survex.com>
20511
20512	* tests/harness/testsuite.h: New macro TEST_STRINGS_EQUAL() which
20513	  displays the strings on separate lines so the differences can
20514	  be clearly seen.
20515	* tests/queryparsertest.cc: Use TEST_STRINGS_EQUAL().
20516
20517Mon May 14 20:14:17 BST 2007  Olly Betts <olly@survex.com>
20518
20519	* include/xapian/enquire.h: Make the "uses string sort" warning in
20520	  the documentation for the methods which enable sorting by value
20521	  more prominent, and fix several miscellaneous typos.
20522
20523Mon May 14 19:28:21 BST 2007  Olly Betts <olly@survex.com>
20524
20525	* queryparser/dir_contents: Update to mention TermGenerator.
20526
20527Mon May 14 19:12:12 BST 2007  Olly Betts <olly@survex.com>
20528
20529	* queryparser/queryparser.lemony: Fix handling of WILDCARD_TERM and
20530	  PARTIAL_TERM for prefixed terms.
20531	* tests/queryparsertest.cc: Add test coverage for this.
20532
20533Mon May 14 18:02:22 BST 2007  Olly Betts <olly@survex.com>
20534
20535	* tests/queryparsertest.cc: Add more testcases for wildcarded queries.
20536
20537Mon May 14 17:39:30 BST 2007  Olly Betts <olly@survex.com>
20538
20539	* queryparser/queryparser.lemony: Fix handling of partial queries.
20540
20541Mon May 14 16:49:46 BST 2007  Olly Betts <olly@survex.com>
20542
20543	* net/remoteconnection.cc: closesocket() seems to work equally as
20544	  well as CloseHandle() but it's what we use elsewhere and Charlie
20545	  thinks it's a better choice here too so use that instead.  Rename
20546	  the wrapper call from close_fd_or_handle() to close_fd_or_socket().
20547	  And mark close_fd_or_socket() as "inline" under UNIX, since it
20548	  should always be inlined.
20549
20550Mon May 14 15:30:13 BST 2007  Olly Betts <olly@survex.com>
20551
20552	* tests/api_anydb.cc: Add FIXME about moving wildquery1.
20553
20554Mon May 14 15:21:59 BST 2007  Olly Betts <olly@survex.com>
20555
20556	* bin/xapian-progsrv.cc: Improve comments.
20557
20558Mon May 14 11:29:14 BST 2007  Richard Boulton <richard@lemurconsulting.com>
20559
20560	* net/remoteconnection.cc: Deal with invalid parameter exceptions
20561	  on windows when closing file descriptors or handles.
20562
20563Mon May 14 05:04:16 BST 2007  Olly Betts <olly@survex.com>
20564
20565	* tests/api_anydb.cc: Fix wildquery1 to work with the new term
20566	  stemming scheme.
20567
20568Sun May 13 19:15:17 BST 2007  Olly Betts <olly@survex.com>
20569
20570	* include/xapian/unicode.h: Count control characters as whitespace
20571	  (which is certainly what we want for TAB, CR, LF, and FF).
20572
20573Sun May 13 17:50:19 BST 2007  Olly Betts <olly@survex.com>
20574
20575	* include/xapian/unicode.h: Add CONNECTOR_PUNCTUATION to is_wordchar()
20576	  - this category includes '_' and characters which fulfil similar
20577	  roles.
20578	* queryparser/queryparser.lemony,queryparser/termgenerator_internal.cc:
20579	  No longer need to special case '_'.
20580	* queryparser/queryparser.lemony: Test for Unicode "whitespace" rather
20581	  than just ASCII.
20582
20583Sun May 13 04:43:37 BST 2007  Olly Betts <olly@survex.com>
20584
20585	* queryparser/queryparser.lemony: Normalise Unicode characters used
20586	  for apostrophe to ASCII apostrophe.
20587
20588Sun May 13 03:56:17 BST 2007  Olly Betts <olly@survex.com>
20589
20590	* include/xapian/unicode.h,unicode/tclUniData.cc: Update Unicode
20591	  routines to use Unicode 5.0.0 and support characters outside the BMP
20592	  (so we now support all Unicode characters in the latest version of
20593	  the standard).
20594	* tests/api_unicode.cc: Add test unicode1 which performs some simple
20595	  tests of the categorisation function, include one which tests for a
20596	  character added in Unicode 5.0.0.
20597
20598Sat May 12 06:01:50 BST 2007  Olly Betts <olly@survex.com>
20599
20600	* queryparser/queryparser.lemony: Update comment.
20601
20602Sat May 12 04:23:01 BST 2007  Olly Betts <olly@survex.com>
20603
20604	* queryparser/queryparser.lemony: Improve description of Term class.
20605
20606Sat May 12 04:16:47 BST 2007  Olly Betts <olly@survex.com>
20607
20608	* queryparser/queryparser.lemony: Update to implement the new stemming
20609	  scheme.
20610	* tests/queryparsertest.cc: Update testcases, and check that the new
20611	  parses are all reasonable.
20612
20613Sat May 12 04:03:55 BST 2007  Olly Betts <olly@survex.com>
20614
20615	* include/xapian/unicode.h: Xapian::Unicode::get_category() now checks
20616	  for characters outside the BMP, and assumes they're of category
20617	  OTHER_LETTER.  Remove BMP check from all functions which use
20618	  Xapian::Unicode::get_category().
20619
20620Sat May 12 04:02:52 BST 2007  Olly Betts <olly@survex.com>
20621
20622	* include/xapian/queryparser.h: Fix typo in comment.
20623
20624Fri May 11 05:45:38 BST 2007  Olly Betts <olly@survex.com>
20625
20626	* net/remoteserver.cc: Make "Server is read-only" be of type
20627	  InvalidOperationError not NetworkError.  This is arguably more
20628	  appropriate anyway, but in particular it avoids a worrying looking
20629	  (but harmless) warning when a read-only connection is closed, due
20630	  dtor_called() calling flush() on a read-only database.
20631
20632Fri May 11 01:35:31 BST 2007  Olly Betts <olly@survex.com>
20633
20634	* docs/Makefile.am: Disable more documentation rules if
20635	  MAINTAINER_NO_DOCS is true.
20636
20637Thu May 10 23:01:13 BST 2007  Richard Boulton <richard@lemurconsulting.com>
20638
20639	* net/remoteconnection.cc: Remove definition of unused macro
20640	  XAPIAN_MSVC_INVALID_PARAMETER_HANDLER.
20641
20642Thu May 10 19:24:23 BST 2007  Olly Betts <olly@survex.com>
20643
20644	* include/xapian/enquire.h: Try quoting qualified identifiers in
20645	  #pragma deprecated.
20646
20647Thu May 10 15:58:37 BST 2007  Olly Betts <olly@survex.com>
20648
20649	* include/xapian/enquire.h: Give full scope in '#pragma deprecated'
20650	  to try to avoid false positives.
20651
20652Thu May 10 14:53:08 BST 2007  Olly Betts <olly@survex.com>
20653
20654	* include/xapian/enquire.h: Use '#pragma deprecated' to work around
20655	  MSVC stupidity (you get a warning for deprecating a declaration).
20656
20657Thu May 10 13:42:49 BST 2007  Olly Betts <olly@survex.com>
20658
20659	* configure.ac: Some GCC 3.x versions produce bogus warnings, so only
20660	  automatically enable -Werror on --enable-maintainer-mode under GCC
20661	  if we're using GCC >= 4.0.  Most developers will be using GCC 4.x
20662	  soon if they aren't already anyway.
20663	* HACKING: Update documentation in line with the above.  Mention that
20664	  we also enable -Werror for Intel's C++ compiler.
20665
20666Thu May 10 05:06:22 BST 2007  Olly Betts <olly@survex.com>
20667
20668	* configure.ac: Detect __WIN32__ by running the preprocessor so we
20669	  don't get confused by building mingw in a cygwin environment.
20670
20671Thu May 10 04:52:21 BST 2007  Olly Betts <olly@survex.com>
20672
20673	* net/tcpserver.cc: Exit with EX_UNAVAILABLE if the mutex tells us
20674	  xapian-tcpsrv is already running on this port.
20675
20676Thu May 10 04:44:10 BST 2007  Olly Betts <olly@survex.com>
20677
20678	* common/Makefile.mk,common/safe.cc,common/safeunistd.h: Pulling
20679	  in safewindows.h from safeunistd.h causes clashes with NEAR
20680	  in the QueryParser, so use a helper function to call Sleep
20681	  and just call that from the header.
20682
20683Thu May 10 04:36:19 BST 2007  Olly Betts <olly@survex.com>
20684
20685	* net/tcpserver.cc: Fix compilation error.
20686
20687Thu May 10 04:26:31 BST 2007  Olly Betts <olly@survex.com>
20688
20689	* common/tcpserver.h,net/tcpserver.cc: Just pass the mutex to
20690	  get_listening_socket() by reference to avoid MSVC warnings.
20691
20692Thu May 10 04:19:13 BST 2007  Olly Betts <olly@survex.com>
20693
20694	* common/safeunistd.h: Use Sleep() instead of _sleep() as the latter
20695	  gives deprecation warnings.  Sadly that means that safeunistd.h
20696	  now has to pull in safewindows.h.
20697
20698Thu May 10 04:07:53 BST 2007  Olly Betts <olly@survex.com>
20699
20700	* common/tcpserver.h,net/tcpserver.cc: Keep track of the mutex so
20701	  we can release it right after we close the listening socket.
20702	  Throw an error if we fail to get the mutex to avoid a possible
20703	  race condition (we might end up with the socket listening but
20704	  without the mutex locked).  Always call closesocket() on the
20705	  listening socket under __WIN32__ to ensure resources are released.
20706
20707Thu May 10 02:48:31 BST 2007  Olly Betts <olly@survex.com>
20708
20709	* net/tcpserver.cc: Use a mutex under Cygwin and WIN32 to allow use to
20710	  use Microsoft's broken SO_REUSEADDR on our listening socket, but
20711	  avoid being able to run two copies of xapian-tcpsrv on the same port
20712	  at once (tweaked patch from MarkH).
20713	* net/tcpserver.cc: Don't try to set SO_EXCLUSIVEADDRUSE if a previous
20714	  setsockopt() call failed as we might stomp on the error code.
20715
20716Thu May 10 02:15:20 BST 2007  Olly Betts <olly@survex.com>
20717
20718	* Makefile.am,bin/Makefile.mk,configure.ac,docs/Makefile.am,
20719	  examples/Makefile.mk: Add new Automake conditional
20720	  "MAINTAINER_NO_DOCS" to allow use to disable references to built
20721	  documentation in maintainer builds if --disable-documentation is
20722	  specified.  This allows Mark's buildbot to work without installing
20723	  so many tools, some of which aren't packaged for Cygwin.
20724
20725Thu May 10 02:03:44 BST 2007  Olly Betts <olly@survex.com>
20726
20727	* Makefile.am: Build rules for running generate-exceptions should be
20728	  controlled by MAINTAINER_MODE not DOCUMENTATION_RULES, part II.
20729
20730Thu May 10 01:49:42 BST 2007  Olly Betts <olly@survex.com>
20731
20732	* docs/deprecation.rst: Add Error::get_type().
20733
20734Thu May 10 01:25:37 BST 2007  Olly Betts <olly@survex.com>
20735
20736	* api/error.cc,generate-exceptions.in: Add new constructors which
20737	  allow error_string to be set directly, for use by the Xapian::Error
20738	  unserialising code.
20739	* generate-exceptions.in: Xapian::Error::get_type() now returns
20740	  const char * not std::string.
20741	* backends/quartz/quartz_database.cc: Fix code to handle changed
20742	  return type of Xapian::Error::get_type().
20743	* net/serialise.cc: Include error_string in the serialisation.
20744	* common/remoteprotocol.h,docs/remote_protocol.html: Bump protocol
20745	  version to 29 because of change in Xapian::Error serialisation.
20746
20747Wed May 09 14:42:33 BST 2007  Olly Betts <olly@survex.com>
20748
20749	* queryparser/queryparser.lemony: Renaming match_nothing_
20750	  member of QpQuery to match_nothing.  Comment out unused
20751	  QpQuery::get_description().  Add FIXME comment about
20752	  apparently redundant logic (now's not really the time
20753	  to be fiddling with such things).
20754
20755Wed May 09 14:27:02 BST 2007  Olly Betts <olly@survex.com>
20756
20757	* queryparser/queryparser.lemony: Update to match new TermGenerator
20758	  class.  '_' is now a term character, not a phrase generator.  We
20759	  only keep a suffix which has 3 or fewer characters, and we no longer
20760	  count '-' as a suffix character.
20761	* tests/queryparsertest.cc: Update test cases to match new behaviour.
20762	  In almost every case the new rules give a better result.
20763
20764Wed May 09 14:15:38 BST 2007  Olly Betts <olly@survex.com>
20765
20766	* languages/compiler/space.c: Add sanity check to b_to_s(),
20767	  highlighted by MSVC warning.
20768
20769Wed May 09 14:06:24 BST 2007  Olly Betts <olly@survex.com>
20770
20771	* tests/btreetest.cc: Return filesize as off_t to avoid MSVC warning
20772	  about truncating from 64 to 32 bits (the filesize will never be
20773	  more than a few K here, so this is essentially a cosmetic issue).
20774
20775Wed May 09 04:04:03 BST 2007  Olly Betts <olly@survex.com>
20776
20777	* common/tcpserver.h,net/tcpserver.cc: Always starting the server in a
20778	  new thread in "one-shot" mode is trickier than it looked, so revert
20779	  that change for now.  Always call closesocket() on our sockets under
20780	  __WIN32__.
20781
20782Wed May 09 01:53:43 BST 2007  Olly Betts <olly@survex.com>
20783
20784	* common/tcpserver.h,net/tcpserver.cc: Make UNIX signal handling
20785	  functions and WIN32 CrtlHandler static.  TcpServer::run() is now
20786	  generic, calling an OS-specific TcpServer::run_once().  Now we
20787	  always run the server in a new thread in "one-shot" mode, which
20788	  gives better code coverage in apitest as it runs more like a normal
20789	  xapian-tcpsrv would.  CtrlHandler now lets the OS handle the event
20790	  if it doesn't have a socket to close, or if closesocket() fails.
20791
20792Wed May 09 01:42:33 BST 2007  Olly Betts <olly@survex.com>
20793
20794	* net/remoteconnection.cc: DWORD is unsigned, so received can't be
20795	  negative - tidy up the ReadFile() loop taking this into account.
20796
20797Wed May 09 01:28:48 BST 2007  Olly Betts <olly@survex.com>
20798
20799	* net/remoteconnection.cc: ReadFile() doesn't set errno, so remove
20800	  test for EINTR which is just a hangover from the UNIX code.
20801
20802Tue May 08 23:50:33 BST 2007  Olly Betts <olly@survex.com>
20803
20804	* queryparser/termgenerator_internal.cc: Treat '_' as a word character
20805	  which seems to be the correct thing to do in general.  Generate
20806	  unstemmed terms with positional information for all words without a
20807	  prefix, and stemmed terms without positional information for
20808	  non-stopwords with a 'Z' prefix.  This means we can implement exact
20809	  phrase search, and prefixing stemmed forms (rather than unstemmed
20810	  as Omega < 1.0 does) means fewer terms with the prefix.  Only
20811	  stemming non-stopwords cuts a significant amount of the database
20812	  size in my tests.
20813
20814Tue May 08 18:22:30 BST 2007  Olly Betts <olly@survex.com>
20815
20816	* net/tcpserver.cc: Fix remaining use of handle_one_request in
20817	  __WIN32__-specific code.
20818
20819Tue May 08 18:10:12 BST 2007  Olly Betts <olly@survex.com>
20820
20821	* api/error.cc: Really fix it...
20822
20823Tue May 08 17:38:04 BST 2007  Olly Betts <olly@survex.com>
20824
20825	* api/error.cc: Fix another paste-o!
20826
20827Tue May 08 17:28:29 BST 2007  Olly Betts <olly@survex.com>
20828
20829	* api/error.cc: Remove bogus statement in __WIN32__ case left over
20830	  from cut-and-paste.
20831
20832Tue May 08 17:10:53 BST 2007  Olly Betts <olly@survex.com>
20833
20834	* common/tcpserver.h,net/tcpserver.cc: Rename
20835	  TcpServer::handle_one_request() to
20836	  TcpServer::handle_one_connection() (to make it clearer that it
20837	  handles a connection rather than a single MSG/REPLY exchange), and
20838	  use it in UNIX builds too to avoid duplicating its code.  Catch
20839	  NetworkTimeoutError here and report it if we're in verbose mode.
20840	* net/remoteserver.cc: If we catch NetworkTimeoutError then try to
20841	  propagate it only if we can send it right away, then rethrow it
20842	  to close the connection and let the caller log it.  If we catch
20843	  any other NetworkError then just rethrow it.
20844
20845Tue May 08 16:52:50 BST 2007  Olly Betts <olly@survex.com>
20846
20847	* common/noreturn.h: Add missing '#endif'.
20848
20849Tue May 08 16:19:05 BST 2007  Olly Betts <olly@survex.com>
20850
20851	* common/Makefile.mk,common/noreturn.h: New header which defines
20852	  XAPIAN_NORETURN() to allow functions which don't return to be
20853	  marked as such so the compiler can take this into account when
20854	  generating code.
20855	* api/error.cc,tests/harness/backendmanager.cc: Remove any trailing
20856	  "\r\n" from the output of FormatMessage().
20857
20858Tue May 08 16:16:55 BST 2007  Olly Betts <olly@survex.com>
20859
20860	* include/xapian/deprecated.h: Use `__attribute__((__deprecated__))'
20861	  instead of `__attribute__((deprecated))' so we're even robust
20862	  against some clown doing `#define deprecated foo'.
20863
20864Tue May 08 16:15:30 BST 2007  Olly Betts <olly@survex.com>
20865
20866	* bin/quartzcheck.cc,tests/harness/backendmanager.cc: In these files
20867	  we have to disable XAPIAN_DEPRECATED() since we need to be able to
20868	  use Quartz::open() - move this to the start of the #include block
20869	  to avoid problems with any intermediate header implicitly including
20870	  <xapian.h>.
20871
20872Tue May 08 14:51:37 BST 2007  Olly Betts <olly@survex.com>
20873
20874	* HACKING: Move section on "Configure Options" to a more logical spot
20875	  just before "Makefile Portability".  Add section on how to use
20876	  XAPIAN_DEPRECATED() noting the issue with GCC 3.3.5 not allowing
20877	  it to be used on an inline method definition.
20878	* include/xapian/deprecated.h: Add pointers to HACKING and
20879	  docs/deprecated.rst.
20880
20881Tue May 08 13:57:17 BST 2007  Olly Betts <olly@survex.com>
20882
20883	* generate-exceptions.in: We can't use XAPIAN_DEPRECATED() on
20884	  a function definition with GCC 3.3.5, so use it on a declaration
20885	  and then define inline but out of the class.
20886
20887Tue May 08 13:45:48 BST 2007  Olly Betts <olly@survex.com>
20888
20889	* net/tcpserver.cc: We must call closesocket() (instead of just
20890	  close()) under __WIN32__ or else the socket remains in the
20891	  CLOSE_WAIT state.
20892
20893Tue May 08 12:17:19 BST 2007  Richard Boulton <richard@lemurconsulting.com>
20894
20895	* docs/deprecation.rst: Add Error::get_errno() to the deprecation
20896	  list for the bindings, too.
20897
20898Tue May 08 10:09:27 BST 2007  Richard Boulton <richard@lemurconsulting.com>
20899
20900	* docs/deprecation.rst: Change the xapian_version functions to be
20901	  marked for removal in 1.1.0, and also note them in the bindings
20902	  section.
20903
20904Tue May 08 04:27:37 BST 2007  Olly Betts <olly@survex.com>
20905
20906	* backends/remote/remote-database.cc,common/remote-database.h: The
20907	  timeout parameter to RemoteDatabase wasn't being used, instead the
20908	  client would wait indefinitely for the server to respond.
20909
20910Tue May 08 04:16:45 BST 2007  Olly Betts <olly@survex.com>
20911
20912	* generate-exceptions.in: Initialise error_string in Xapian::Error
20913	  ctor.
20914
20915Tue May 08 03:48:47 BST 2007  Olly Betts <olly@survex.com>
20916
20917	* api/error.cc: Fix compilation when HAVE_HSTRERROR isn't defined.
20918
20919Tue May 08 02:35:04 BST 2007  Olly Betts <olly@survex.com>
20920
20921	* api/error.cc,bin/xapian-tcpsrv.cc,examples/delve.cc,
20922	  generate-exceptions.in,tests/harness/testsuite.cc: Error subclasses
20923	  now store the error_string in the class, converting it from the
20924	  error code in my_errno lazily.  Also, get_error_string() now returns
20925	  const char *.
20926
20927Tue May 08 01:34:56 BST 2007  Olly Betts <olly@survex.com>
20928
20929	* Makefile.am: Build rules for running generate-exceptions should be
20930	  controlled by MAINTAINER_MODE not DOCUMENTATION_RULES.
20931
20932Tue May 08 01:23:22 BST 2007  Olly Betts <olly@survex.com>
20933
20934	* bin/xapian-tcpsrv.cc,docs/deprecation.rst,generate-exceptions.in,
20935	  net/tcpserver.cc,tests/harness/testsuite.cc: Deprecate
20936	  Error::get_errno() in favour of Error::get_error_string().  We can't
20937	  pass errno values from remote server to client as they aren't
20938	  portable and the server and client may be running on entirely
20939	  different platforms!
20940	* generate-exceptions.in: Mark as generated with @configure_input@.
20941
20942Tue May 08 01:20:43 BST 2007  Olly Betts <olly@survex.com>
20943
20944	* backends/flint/flint_database.cc,backends/flint/flint_lock.h: Make
20945	  FlintLock's dtor release the lock (if held) which avoids the need
20946	  for any special handling in FlintDatabase.
20947
20948Mon May 07 21:15:33 BST 2007  Olly Betts <olly@survex.com>
20949
20950	* tests/harness/unixcmds.cc: Use O_BINARY when opening a file to
20951	  "touch" it.
20952
20953Mon May 07 17:28:43 BST 2007  Richard Boulton <richard@lemurconsulting.com>
20954
20955	* backends/flint/flint_database.cc: Add try{}catch(...){} block to
20956	  ensure that lock is released if an exception occurs in the
20957	  FlintDatabase() constructor.
20958	* tests/api_db.cc: Add regression test for releasing lock on error
20959	  in constructor.
20960
20961Mon May 07 11:10:33 BST 2007  Richard Boulton <richard@lemurconsulting.com>
20962
20963	* HACKING: Update section on multiple output rules to detail the
20964	  workaround described in the automake manual.
20965
20966Mon May 07 10:03:50 BST 2007  Richard Boulton <richard@lemurconsulting.com>
20967
20968	* backends/flint/flint_database.cc,backends/flint/flint_database.h,
20969	  backends/flint/flint_version.cc,backends/quartz/,exception_data.pm,
20970	  include/xapian/database.h,tests/api_db.cc: Throw
20971	  DatabaseVersionError instead of DatabaseOpeningError when database
20972	  version is unsupported.  This is a new error class, which is a
20973	  subclass of DatabaseOpeningError, so most existing scripts
20974	  shouldn't need changing, but makes it easy for application
20975	  writers to determine whether a database needs upgrading or
20976	  whether the problem is something else.  Should fix #144.
20977
20978Mon May 07 09:22:01 BST 2007  Olly Betts <olly@survex.com>
20979
20980	* net/progclient.cc: Under __WIN32__, use byte mode on pipes because
20981	  message mode fails for message > 256 bytes, and use "overlapped"
20982	  mode so we don't block waiting for a reply so that timeouts work.
20983	  (Patch from Mark Hammond).
20984
20985Mon May 07 03:03:10 BST 2007  Olly Betts <olly@survex.com>
20986
20987	* tests/api_anydb.cc,tests/apitest.cc,tests/harness/: Now
20988	  TEST_EQUAL_DOUBLE() should work everywhere.  Move the helper
20989	  function out of the header.  Use TEST_EQUAL_DOUBLE() instead
20990	  of doubles_are_equal_enough() and weights_are_equal_enough()
20991	  which do much the same job.
20992
20993Mon May 07 01:13:29 BST 2007  Olly Betts <olly@survex.com>
20994
20995	* tests/harness/testsuite.h: Report extra info to try to work out why
20996	  MSVC build is failing expandweights1.
20997
20998Mon May 07 00:26:59 BST 2007  Olly Betts <olly@survex.com>
20999
21000	* tests/harness/testsuite.h: Another tweak to TEST_EQUAL_DOUBLE().
21001
21002Sun May 06 22:30:26 BST 2007  Olly Betts <olly@survex.com>
21003
21004	* docs/quickstart.html: Remove reference to DA databases since the
21005	  muscat36 backend has been removed.  Update to recommend GCC 3.3
21006	  or later, as we do elsewhere.  Change references to "quartz" to
21007	  say "flint", or remove them.
21008
21009Sun May 06 16:02:28 BST 2007  Olly Betts <olly@survex.com>
21010
21011	* configure.ac: Set version to mythical 0.9.99.
21012
21013Sun May 06 15:06:01 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21014
21015	* tests/api_db.cc: Add test_flintdatabaseformaterror1() which
21016	  checks what happens when an old-format flint database is opened.
21017	  It generates the old-format database by making a fake "iamflint"
21018	  file containing an old version number.
21019
21020Sun May 06 04:00:39 BST 2007  Olly Betts <olly@survex.com>
21021
21022	* expand/ortermlist.cc: Remove incorrect assertion check in
21023	  OrTermList::next(), replacing it with anexplanatory comment.
21024
21025Sun May 06 02:42:30 BST 2007  Olly Betts <olly@survex.com>
21026
21027	* net/remoteconnection.cc: Fix typo.
21028
21029Sun May 06 02:39:23 BST 2007  Olly Betts <olly@survex.com>
21030
21031	* net/remoteconnection.cc: Aha!  Richard's patch failed to compile
21032	  because stdlib.h was in "#ifndef __WIN32__" not "#ifdef __WIN32__".
21033
21034Sun May 06 02:27:18 BST 2007  Olly Betts <olly@survex.com>
21035
21036	* net/remoteconnection.cc: Protect _set_invalid_parameter_handler, etc
21037	  by _MSC_VER >= 1400 (MSVC 2005) and __STDC_SECURE_LIB__ (undocumented
21038	  but cribbed from the Python sources).  Refactor into a handy class
21039	  (MSVCIgnoreInvalidParameter) which just needs to be instantiated in
21040	  the scope where you want to allow invalid parameters to be passed.
21041
21042Sun May 06 01:42:06 BST 2007  Olly Betts <olly@survex.com>
21043
21044	* net/remoteconnection.cc: Rework use of _invalid_parameter_handler to
21045	  only apply when _MSC_VER is defined, to fix the mingw build.
21046
21047Sat May 05 22:30:01 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21048
21049	* net/remoteconnection.cc: Under __WIN32__, add an invalid
21050	  parameter handler which ignores the error and use it for the
21051	  calls to _get_osfhandle() which are sometimes expected to fail.
21052	  Requires stdlib.h according to msdn, so also #include that.
21053
21054Sat May 05 20:43:29 BST 2007  Olly Betts <olly@survex.com>
21055
21056	* bin/xapian-progsrv.cc,bin/xapian-tcpsrv.cc,common/remoteconnection.h,
21057	  common/remoteserver.h,common/tcpserver.h,net/remoteserver.cc,
21058	  net/tcpserver.cc: Open a fresh copy of the database(s) on each
21059	  connection to a xapian-tcpsrv rather than relying on being able to
21060	  share a database across fork() or between threads (which we don't
21061	  promise will work).  Largely based on patch from Mark Hammond.
21062	  Fixes some of bug#141 and all of bug#142.
21063
21064Sat May 05 02:19:39 BST 2007  Olly Betts <olly@survex.com>
21065
21066	* api/omdatabase.cc: Use RETURN() not return in methods with debug
21067	  logging.
21068
21069Sat May 05 02:19:11 BST 2007  Olly Betts <olly@survex.com>
21070
21071	* bin/xapian-compact.cc: Fix typo in comment.
21072
21073Fri May 04 23:59:54 BST 2007  Olly Betts <olly@survex.com>
21074
21075	* backends/flint/flint_version.cc: Remove the "u" suffix from
21076	  FLINT_VERSION as it's confusing in the "wrong format version"
21077	  error message and doesn't seem needed in the code.
21078
21079Fri May 04 23:56:32 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21080
21081	* backends/flint/: Revert patch from revision 8426 (except for the
21082	  bit which removed the unused prototypes), to avoid the
21083	  possibility that it introduces bugs into the code just before
21084	  1.0.0.  The patch is attached to bug #143 for later reference.
21085
21086Fri May 04 23:50:39 BST 2007  Olly Betts <olly@survex.com>
21087
21088	* examples/delve.cc: Report the error string if we catch Xapian::Error
21089	  while trying to open a database.
21090
21091Fri May 04 22:50:54 BST 2007  Olly Betts <olly@survex.com>
21092
21093	* docs/intro_ir.html: Fix a few typos; elaborate on a few points.
21094
21095Fri May 04 20:07:44 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21096
21097	* queryparser/termgenerator_internal.cc: Fix bug in termgenerator -
21098	  arguments to add_posting were the wrong way round.
21099
21100Fri May 04 20:00:40 BST 2007  Olly Betts <olly@survex.com>
21101
21102	* queryparser/termgenerator_internal.cc: Limit term length, handle
21103	  infix and suffix characters, and convert apostrophes to ASCII
21104	  representation.
21105
21106Fri May 04 19:47:43 BST 2007  Olly Betts <olly@survex.com>
21107
21108	* include/xapian/unicode.h: Fill in remaining missing documentation
21109	  comments.
21110
21111Fri May 04 19:30:56 BST 2007  Olly Betts <olly@survex.com>
21112
21113	* include/xapian/termgenerator.h: Add convenience version of
21114	  index_text() and index_text_without_positions() which take a
21115	  std::string instead of a Utf8Iterator.
21116
21117Fri May 04 17:11:11 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21118
21119	* unicode/utf8itor.cc: Fix segfault bug in Utf8Iterator::operator*().
21120	  If this was called when the iterator had reached end, invalid
21121	  memory was accessed because p was compared to end, p will always
21122	  be set to NULL when the iterator reaches the end.  No regression
21123	  test, but the smoketest tests I'm implementing in the bindings
21124	  will excercise this code.
21125
21126Fri May 04 16:29:51 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21127
21128	* include/xapian/unicode.h: Add documentation comments to
21129	  Utf8Iterator, so I don't have to work out how it works again.
21130
21131Fri May 04 14:55:32 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21132
21133	* include/xapian/unicode.h: Add assign() function which takes a
21134	  string, for symmetry with the constructors.  Also makes
21135	  implementing the bindings easier.
21136
21137Fri May 04 13:04:52 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21138
21139	* include/Makefile.mk: Add termgenerator.h to distribution
21140	  tarballs.
21141
21142Fri May 04 03:41:56 BST 2007  Olly Betts <olly@survex.com>
21143
21144	* tests/harness/testsuite.h: Test against pow(10, -DBL_DIG) rather
21145	  than DBL_EPSILON.  DBL_EPSILON is a little bit smaller, but we use
21146	  DBL_DIG for displaying the numbers and it looks stupid to say two
21147	  numbers which are displayed identically should be nearly the same!
21148
21149Fri May 04 03:33:51 BST 2007  Olly Betts <olly@survex.com>
21150
21151	* HACKING: Fix reference to --enable-maitainer-mode and documentation
21152	  rebuilding.
21153
21154Fri May 04 03:32:57 BST 2007  Olly Betts <olly@survex.com>
21155
21156	* configure.ac: Fix now erroneous references to tools "required in
21157	  maintainer mode" to "required to build documentation".
21158
21159Fri May 04 01:49:05 BST 2007  Olly Betts <olly@survex.com>
21160
21161	* HACKING: Document --enable-documentation.
21162
21163Fri May 04 01:38:44 BST 2007  Olly Betts <olly@survex.com>
21164
21165	* Makefile.am,bin/Makefile.mk,configure.ac,docs/Makefile.am,
21166	  examples/Makefile.mk: Add new configure option
21167	  "--enable-documentation" which enables the make rules to rebuild the
21168	  documentation.  By default this follows the setting of
21169	  "--enable-maintainer-mode" (so giving much the same behaviour as
21170	  currently), but the documentation rules can now be controlled
21171	  independently.  Also, if documentation isn't being built, the
21172	  configure probes for tools required to rebuild it are no longer run
21173	  which should shorten configure time a bit for end-users building
21174	  releases.
21175
21176Thu May 03 22:07:39 BST 2007  Olly Betts <olly@survex.com>
21177
21178	* common/remoteserver.h: Remove unused default values for
21179	  active_timeout_ and idle_timeout_ parameters.  Fix repeated typo
21180	  in documentation comments ('millisrconds' -> 'milliseconds').
21181
21182Thu May 03 15:05:24 BST 2007  Olly Betts <olly@survex.com>
21183
21184	* include/xapian.h,include/xapian/termgenerator.h,queryparser/:
21185	  Initial cut of TermGenerator class.
21186
21187Thu May 03 15:04:09 BST 2007  Olly Betts <olly@survex.com>
21188
21189	* generate-exceptions.in: Hide the internal constructors of generated
21190	  error classes in the doxygen-generated API docs.
21191
21192Thu May 03 04:37:51 BST 2007  Olly Betts <olly@survex.com>
21193
21194	* expand/ortermlist.cc,expand/ortermlist.h: Fix compilation error when
21195	  --enable-assertions is used.
21196
21197Thu May 03 03:57:42 BST 2007  Olly Betts <olly@survex.com>
21198
21199	* common/safeunistd.h: Provide a POSIX-compatible sleep() function.
21200	* common/utils.h: Remove inferior POSIX-compatible sleep() function.
21201
21202Thu May 03 03:17:02 BST 2007  Olly Betts <olly@survex.com>
21203
21204	* include/xapian/: Mark all @internal member variables and functions
21205	  which aren't private with @private so doxygen doesn't document them.
21206
21207Thu May 03 02:33:09 BST 2007  Olly Betts <olly@survex.com>
21208
21209	* include/xapian/: Mark DocIDWrapper, RefCntBase, RefCntPtr,
21210	  TermNameWrapper, and TermPosWrapper as "@internal" so that they don't
21211	  show up in the doxygen-generated API documentation.  In particular,
21212	  this makes the class collaboration diagrams much more useful.
21213	* include/xapian/errorhandler.h: Declare the class in namespace Xapian
21214	  rather than with namespace Xapian:: since the latter seems to
21215	  confuse doxygen.
21216
21217Thu May 03 02:31:33 BST 2007  Olly Betts <olly@survex.com>
21218
21219	* include/xapian/unicode.h: Fix wrapping of comment.
21220
21221Thu May 03 00:05:23 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21222
21223	* backends/flint/: Remove unused (and unimplemented) declarations
21224	  of begin_transaction_(), commit_transaction_() and
21225	  cancel_transaction_() from FlintWritableDatabase class.  Tidy up
21226	  handling of metainfo (total_length and lastdocid) to avoid
21227	  repeatedly parsing the special record, and make it easier to
21228	  store additional metainfo in future.
21229	  Also, remove code which ensures that there is always a special
21230	  record - this was added in revision 5459 when the special record
21231	  was stored in the record table, so that the number of documents
21232	  in the database could always be calculated by subtracting 1 from
21233	  the number of entries in the record table.  Now that the special
21234	  record is stored in the postlist table, this is no longer
21235	  necessary.
21236
21237Wed May 02 17:56:39 BST 2007  Olly Betts <olly@survex.com>
21238
21239	* backends/dbfactory_remote.cc,include/xapian/dbfactory.h:
21240	  Remote::open_writable() now defaults to no (active) timeout.  The
21241	  connection timeouts for Remote::open() and Remote::open_writable()
21242	  now default to 10 seconds rather than defaulting to the same as
21243	  the active timeout (which defaults to 10 seconds).
21244
21245Wed May 02 16:00:22 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21246
21247	* common/safeunistd.h,tests/harness/backendmanager.cc: Fix
21248	  compilation on windows - safeunistd.h was undefining ssize_t
21249	  and thus overriding the definition in config.h, and include
21250	  safewindows.h for backendmanager.cc
21251
21252Wed May 02 15:34:33 BST 2007  Olly Betts <olly@survex.com>
21253
21254	* common/safeunistd.h: Don't define ssize_t here for MSVC - do it in
21255	  config.h instead.  This avoids pulling in <windows.h> which will
21256	  hopefully fix another macro redefinition warning under MSVC.
21257
21258Wed May 02 15:20:56 BST 2007  Olly Betts <olly@survex.com>
21259
21260	* common/safewindows.h: Define NOGDI before including windows.h to
21261	  prevent it from defining a macro called "ERROR" which collides with
21262	  the generated queryparser sources, causing a warning in the MSVC
21263	  build.
21264
21265Wed May 02 14:38:33 BST 2007  Olly Betts <olly@survex.com>
21266
21267	* common/termlist.h: Forward declare ExpandStats as "class" not
21268	  "struct" for consistency with the actual declaration.
21269
21270Wed May 02 14:30:41 BST 2007  Olly Betts <olly@survex.com>
21271
21272	* configure.ac: Try '-lzlib' for zlib, which mingw reportedly needs.
21273
21274Wed May 02 14:21:40 BST 2007  Olly Betts <olly@survex.com>
21275
21276	* common/remoteconnection.h,include/xapian/dbfactory.h,
21277	  net/remoteserver.cc: A timeout of `0' in the remote backend now
21278	  means "no timeout" (code patch from Mark Hammond).
21279
21280Wed May 02 04:17:28 BST 2007  Olly Betts <olly@survex.com>
21281
21282	* Makefile.am,api/,backends/alltermslist.cc,backends/flint/,
21283	  backends/inmemory/inmemory_database.cc,
21284	  backends/inmemory/inmemory_database.h,
21285	  backends/multi/multi_termlist.cc,backends/multi/multi_termlist.h,
21286	  backends/quartz/,backends/remote/net_termlist.cc,
21287	  backends/remote/net_termlist.h,backends/remote/remote-database.cc,
21288	  common/,expand/,matcher/: Split expand functionality out of
21289	  "matcher" subdirectory into new "expand" subdirectory since it's
21290	  not really connected to query matching and the matcher subdirectory
21291	  is one of the largest.  Rewrite OrTermList, eliminating
21292	  BranchTermList entirely.  Alter expand to pass in an object (of
21293	  class Xapian::Internal::ExpandWeight) which accumulates statistics
21294	  instead of returning OmExpandBits objects which we then have to
21295	  merge (and eliminating the need for LeafTermList entirely).  Query
21296	  expansion for multiple databases should now give results more like
21297	  that for a single database with the same documents (if
21298	  USE_EXACT_TERMFREQ is used, the results should be the same).  Debug
21299	  logging from expand is now all of type EXPAND (some was of types
21300	  MATCHER and WTCALC before).
21301
21302Wed May 02 03:35:17 BST 2007  Olly Betts <olly@survex.com>
21303
21304	* docs/deprecation.rst: Add deprecation info for Omega too.
21305
21306Wed May 02 00:24:13 BST 2007  Olly Betts <olly@survex.com>
21307
21308	* tests/api_anydb.cc: Add test expandweights1 as a regression test for
21309	  the previous commit.
21310	* tests/harness/testsuite.h: Set the precision for TEST_EQUAL_DOUBLE
21311	  so we don't claim two numbers to be different yet display them the
21312	  same!
21313
21314Tue May 01 23:27:10 BST 2007  Olly Betts <olly@survex.com>
21315
21316	* backends/remote/net_termlist.cc,backends/remote/remote-database.cc,
21317	  common/remoteprotocol.h,docs/remote_protocol.html,
21318	  net/remoteserver.cc: Fix handling of the document length in the
21319	  termlist for the remote backend.
21320
21321Tue May 01 23:17:28 BST 2007  Olly Betts <olly@survex.com>
21322
21323	* tests/api_db.cc: Several tests were marked as "local db only" for
21324	  historical reasons.  Enable them for remote backends too.
21325	* backends/remote/net_postlist.cc,tests/api_db.cc: Fix a bug in
21326	  NetworkPostList::skip_to() which apitest's postlist4 reveals.
21327
21328Tue May 01 21:00:26 BST 2007  Olly Betts <olly@survex.com>
21329
21330	* api/omtermlistiterator.cc,api/omvalueiterator.cc,
21331	  backends/multi/multi_alltermslist.cc: Add explicit
21332	  `#include "omassert.h"'.
21333	* backends/multi/multi_alltermslist.cc: Remove all explicit
21334	  std:: qualifiers and add `using namespace std;'.
21335
21336Tue May 01 20:56:10 BST 2007  Olly Betts <olly@survex.com>
21337
21338	* common/multialltermslist.h: Add explicit std:: qualifiers for
21339	  string, for consistency with std::vector in this header.
21340
21341Tue May 01 15:19:53 BST 2007  Olly Betts <olly@survex.com>
21342
21343	* matcher/branchpostlist.h: Don't check for NULL pointer before
21344	  calling delete.
21345
21346Tue May 01 02:29:10 BST 2007  Olly Betts <olly@survex.com>
21347
21348	* common/document.h,common/documentterm.h,common/multialltermslist.h,
21349	  matcher/rset.cc,queryparser/queryparser.cc: Add some explicit
21350	  includes for headers which were previously only implicitly included
21351	  (in preparation for a forthcoming change which removes some of the
21352	  implicit inclusions).
21353
21354Tue May 01 01:20:53 BST 2007  Olly Betts <olly@survex.com>
21355
21356	* backends/database.cc,bin/quartzcheck.cc,docs/deprecation.rst,
21357	  include/xapian/dbfactory.h,tests/api_db.cc,
21358	  tests/harness/backendmanager.cc,tests/quartztest.cc: Deprecate
21359	  the Quartz backend and related functions and utilities.
21360
21361Fri Apr 27 12:56:13 BST 2007  Olly Betts <olly@survex.com>
21362
21363	* tests/Makefile.am: Pass '-no-install' when linking test programs,
21364	  since we don't ever install them.  This means libtool doesn't need
21365	  to generate shell script wrappers on most platforms.  Also prefer
21366	  '$(ldflags)' to '@ldflags' as the former allows the user to override
21367	  when they run 'make' which is sometimes useful.
21368
21369Fri Apr 27 03:44:15 BST 2007  Olly Betts <olly@survex.com>
21370
21371	* docs/intro_ir.html: Add links for the various researchers mentioned
21372	  by name.
21373
21374Thu Apr 26 17:57:10 BST 2007  Olly Betts <olly@survex.com>
21375
21376	* docs/bm25.html,docs/intro_ir.html: Assorted documentation
21377	  improvements.
21378
21379Thu Apr 26 15:43:24 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21380
21381	* docs/deprecation.rst: Update with changes to Python bindings.
21382
21383Thu Apr 26 06:01:45 BST 2007  Olly Betts <olly@survex.com>
21384
21385	* common/expandweight.h,matcher/expandweight.cc: Better handling of
21386	  expand with multiple databases.
21387
21388Wed Apr 25 18:35:13 BST 2007  Olly Betts <olly@survex.com>
21389
21390	* api/omenquire.cc: Delete nonsensical comment.
21391
21392Wed Apr 25 17:41:58 BST 2007  Olly Betts <olly@survex.com>
21393
21394	* docs/deprecation.rst: Use the collective term "features" rather than
21395	  overloading the term "functions".  Casual readers may miss the
21396	  definition altogether, and even dedicated readers will probably
21397	  already have a strong mental image of what a "function" is in the
21398	  context of an API.
21399
21400Wed Apr 25 14:52:11 BST 2007  Olly Betts <olly@survex.com>
21401
21402	* docs/intro_ir.html: Improve the look of the formulae.
21403
21404Wed Apr 25 03:56:18 BST 2007  Olly Betts <olly@survex.com>
21405
21406	* common/omqueryinternal.h,languages/generate-allsnowballheaders.in,
21407	  matcher/msetcmp.h,queryparser/queryparser_internal.h: Add missing
21408	  multiple inclusion guards.
21409
21410Wed Apr 25 03:12:50 BST 2007  Olly Betts <olly@survex.com>
21411
21412	* queryparser/queryparser_internal.h: Don't include <config.h> in
21413	  a header file.
21414
21415Wed Apr 25 03:05:09 BST 2007  Olly Betts <olly@survex.com>
21416
21417	* queryparser/queryparser.cc: Initialise `internal' member inline
21418	  for consistency with other classes.
21419
21420Tue Apr 24 04:55:45 BST 2007  Olly Betts <olly@survex.com>
21421
21422	* configure.ac: Add missing ')' to the error messages when zlib stuff
21423	  isn't found.
21424
21425Tue Apr 24 02:56:57 BST 2007  Olly Betts <olly@survex.com>
21426
21427	* backends/flint/flint_database.h,
21428	  backends/inmemory/inmemory_database.h,
21429	  backends/quartz/quartz_database.h: MSVC doesn't handle using
21430	  properly.
21431
21432Tue Apr 24 01:25:34 BST 2007  Olly Betts <olly@survex.com>
21433
21434	* matcher/bm25weight.cc,matcher/expandweight.cc: Fix typo in comments:
21435	  'releveant' -> 'relevant'.
21436
21437Mon Apr 23 23:00:23 BST 2007  Olly Betts <olly@survex.com>
21438
21439	* api/omenquire.cc,docs/deprecation.rst,include/xapian/enquire.h,
21440	  tests/api_anydb.cc,tests/api_db.cc: Deprecate
21441	  Enquire::include_query_terms and Enquire::use_exact_termfreq in
21442	  favour of capitalised versions Enquire::INCLUDE_QUERY_TERMS and
21443	  Enquire::USE_EXACT_TERMFREQ (for consistency with our other
21444	  manifest constants, and general C/C++ conventions).
21445
21446Mon Apr 23 18:14:20 BST 2007  Olly Betts <olly@survex.com>
21447
21448	* backends/flint/flint_table.cc,backends/quartz/btree.cc: Support for
21449	  VLAs in C++ is a GCC extension, so eliminate the need for them.
21450
21451Mon Apr 23 16:32:07 BST 2007  Olly Betts <olly@survex.com>
21452
21453	* docs/: svn:ignore deprecation.html. svn:ignore apidoc.pdf and
21454	  sourcedoc.pdf rather than *.pdf.
21455
21456Mon Apr 23 16:08:53 BST 2007  Olly Betts <olly@survex.com>
21457
21458	* tests/quartztest.cc: Resolve FIXME about MapTermList.
21459
21460Mon Apr 23 16:06:38 BST 2007  Olly Betts <olly@survex.com>
21461
21462	* api/valuerangeproc.cc,backends/flint/flint_check.cc,
21463	  backends/flint/flint_table.cc,backends/quartz/btree.cc,
21464	  backends/quartz/btreecheck.cc,bin/xapian-tcpsrv.cc,examples/,
21465	  languages/steminternal.h,tests/harness/testsuite.cc,
21466	  tests/harness/testsuite.h,tests/stemtest.cc: Fix compilation with
21467	  GCC 4.3 snapshot.
21468
21469Mon Apr 23 15:20:55 BST 2007  Olly Betts <olly@survex.com>
21470
21471	* common/safeunistd.h: Comment tweaks.
21472
21473Mon Apr 23 11:54:14 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21474
21475	* common/safeunistd.h: Include <process.h> on windows to get
21476	  getpid() instead of using a #define.
21477
21478Mon Apr 23 11:30:56 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21479
21480	* api/maptermlist.h: Fix typo in error message.
21481
21482Mon Apr 23 11:08:01 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21483
21484	* api/maptermlist.h: Throw an InvalidOperationError() if
21485	  MapTermList::get_termfreq() is called, instead of simply having
21486	  Assert(false): this gets called if a term iterator is accessed
21487	  for a freshly created Document, and the get_termfreq() method is
21488	  called on it.  The error message is specific to this situation,
21489	  since this is the only place in which MapTermList is used.
21490
21491Mon Apr 23 03:22:54 BST 2007  Olly Betts <olly@survex.com>
21492
21493	* backends/flint/flint_database.cc,backends/flint/flint_lock.cc,
21494	  backends/flint/flint_lock.h: Report why we failed to get a write
21495	  lock on a flint database.
21496
21497Mon Apr 23 01:44:13 BST 2007  Olly Betts <olly@survex.com>
21498
21499	* backends/flint/flint_version.cc: Update the flint format version
21500	  since older flint versions can't read compressed tags.
21501
21502Mon Apr 23 01:25:25 BST 2007  Olly Betts <olly@survex.com>
21503
21504	* configure.ac: Probe for zlib.h and -lz.
21505	* backends/flint/,bin/xapian-compact.cc: Use zlib to compress tags
21506	  in the record and termlist tables.
21507	* tests/Makefile.am,tests/runtest.in,tests/valgrind.supp: Add a
21508	  valgrind suppression for zlib (a known issue - for speed zlib
21509	  deliberately reads past the end of the buffer in some cases).
21510
21511Sun Apr 22 04:24:06 BST 2007  Olly Betts <olly@survex.com>
21512
21513	* backends/flint/: Remove documentation for blocksize_ parameters
21514	  which were removed some time ago.
21515
21516Sun Apr 22 00:02:13 BST 2007  Olly Betts <olly@survex.com>
21517
21518	* matcher/multimatch.cc: Track the minimum weight required to be
21519	  considered for the MSet separately from the minimum item which
21520	  could be considered.  Trying to combine the two is causing subtle
21521	  bugs (fixed bug#86).
21522
21523Sun Apr 22 00:00:39 BST 2007  Olly Betts <olly@survex.com>
21524
21525	* HACKING: Add notes about the files Omega uses from xapian-core.
21526
21527Sat Apr 21 23:49:58 BST 2007  Olly Betts <olly@survex.com>
21528
21529	* queryparser/queryparser.cc: Clear the stoplist when we parse a new
21530	  query.
21531	* tests/queryparsertest.cc: Add regression test.
21532
21533Sat Apr 21 23:27:33 BST 2007  Olly Betts <olly@survex.com>
21534
21535	* Makefile.am,common/Makefile.mk,getopt/: Move getopt.cc from getopt/
21536	  to common/.  Having a whole directory for a single source file
21537	  is a bit extravagent, and putting it in common/ allows us to share a
21538	  copy with omega easily.
21539
21540Sat Apr 21 21:38:20 BST 2007  Olly Betts <olly@survex.com>
21541
21542	* backends/flint/flint_database.cc,backends/quartz/quartz_database.cc,
21543	  backends/quartz/quartz_log.cc,common/omdebug.h,common/safeunistd.h,
21544	  tests/harness/testsuite.cc: safeunistd.h now defines getpid() to
21545	  GetCurrentProcessId() for MSVC, and we now include this where we
21546	  want to use getpid() rather than conditionally defining getpid().
21547
21548Sat Apr 21 04:13:12 BST 2007  Olly Betts <olly@survex.com>
21549
21550	* configure.ac: Explicitly set AM_CXXFLAGS to an empty value to start
21551	  with to avoid issues if it's set in the environment.  Cache the
21552	  results of the test to see if the C++ compiler actually works, and
21553	  in the XAPIAN_TEST_LINKER_FLAG macro.
21554	* configure.ac, include/xapian/visibility.h: Add --disable-visibility
21555	  option to configure to completely disable use of -fvisibility.
21556	* INSTALL: Document all --enable-backend-* options explicitly.
21557	  Document how to disable use of -fvisibility and
21558	  -Bsymbolic-functions should you want/need to.  Improve wording in
21559	  a few places.
21560
21561Fri Apr 20 19:20:23 BST 2007  Olly Betts <olly@survex.com>
21562
21563	* HACKING,configure.ac: Revert to requiring autoconf 2.59 so that the
21564	  .spec file for building RPMs can run `autoreconf' to work around a
21565	  libtool bug.
21566
21567Fri Apr 20 18:12:51 BST 2007  Olly Betts <olly@survex.com>
21568
21569	* docs/deprecation.rst: Document return type of ExpandDecider::Apply()
21570	  and MatchDecider::Apply() in C# is now bool instead of int.
21571
21572Fri Apr 20 18:01:18 BST 2007  Olly Betts <olly@survex.com>
21573
21574	* xapian.spec.in: Package xapian-check and its man page.
21575
21576Fri Apr 20 14:38:00 BST 2007  Olly Betts <olly@survex.com>
21577
21578	* docs/deprecation.rst: Note changed return type of
21579	  ExpandDecider::operator() and MatchDecider::operator().
21580
21581Fri Apr 20 14:28:39 BST 2007  Olly Betts <olly@survex.com>
21582
21583	* include/xapian/enquire.h: MatchDecider::operator() now returns
21584	  `bool' not `int'.  Remove declaraction of ExpandDecider.
21585	* include/xapian/expanddecider.h: Move declaration of ExpandDecider
21586	  to here.  ExpandDecider::operator() now returns `bool' not `int'.
21587	  ExpandDeciderAnd now names parameters `first' and `second' and
21588	  documents the order in which they are applied (useful if you have
21589	  an expensive and a cheap test).  ExpandDeciderAnd can now take
21590	  parameters by reference instead of pointer.
21591	* api/Makefile.mk,include/xapian/enquire.h,api/omenquire.cc,
21592	  api/expanddecider.cc: New home for definitions of virtual methods of
21593	  ExpandDecider and subclasses.
21594	* api/omenquire.cc,common/expand.h,matcher/expand.cc: Eliminate
21595	  internal class ExpandDeciderAlways - just test pointer against NULL
21596	  instead.
21597	* tests/api_anydb.cc,tests/api_db.cc: Update for change in return
21598	  type from MatchDecider::operator() and ExpandDecider::operator().
21599
21600Fri Apr 20 10:35:09 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21601
21602	* HACKING: Add note on rules with multiple targets.
21603
21604Thu Apr 19 19:02:42 BST 2007  Olly Betts <olly@survex.com>
21605
21606	* PLATFORMS: Remove reports for 0.7.* and demote reports for 0.8.* to
21607	  "older reports" status.  All SF compilefarm machines are now "no
21608	  longer available", so update the symbols and key to reflect this.
21609
21610Thu Apr 19 13:27:59 BST 2007  Olly Betts <olly@survex.com>
21611
21612	* HACKING: Fix vim magic comment.  Add space after URL to stop
21613	  '::' getting glued to it.
21614
21615Thu Apr 19 11:36:19 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21616
21617	* HACKING: Turn syntax highlighting off, since it's broken for the
21618	  restructured text in this file anyway.
21619
21620Thu Apr 19 03:26:28 BST 2007  Olly Betts <olly@survex.com>
21621
21622	* backends/flint/flint_database.h,
21623	  backends/inmemory/inmemory_database.h,
21624	  backends/quartz/quartz_database.h:
21625	  The trick of importing base class methods with 'using' breaks
21626	  compilation with GCC 2.95 which doesn't issue the warning we're
21627	  trying to avoid, so add a preprocessor check,
21628
21629Thu Apr 19 03:20:31 BST 2007  Olly Betts <olly@survex.com>
21630
21631	* common/progclient.h,net/progclient.cc: Always use pid_t not int for
21632	  holding a process id.
21633
21634Thu Apr 19 01:08:57 BST 2007  Olly Betts <olly@survex.com>
21635
21636	* docs/deprecation.rst: Update '#callable' footnote.
21637
21638Thu Apr 19 00:07:02 BST 2007  Olly Betts <olly@survex.com>
21639
21640	* backends/flint/flint_database.h,
21641	  backends/inmemory/inmemory_database.h,
21642	  backends/quartz/quartz_database.h: Add using declarations to
21643	  subclasses of Xapian::Database::Internal which don't override the
21644	  term forms of delete_document() and replace_document() to prevent
21645	  compiler warnings about these methods being hidden.
21646
21647Wed Apr 18 23:22:29 BST 2007  Olly Betts <olly@survex.com>
21648
21649	* net/remoteconnection.cc: Remove code which can't actually be
21650	  reached, which fixes a warning in the mingw build.
21651
21652Wed Apr 18 23:07:45 BST 2007  Olly Betts <olly@survex.com>
21653
21654	* api/omenquire.cc,common/multimatch.h,common/omenquireinternal.h,
21655	  include/xapian/enquire.h,matcher/Makefile.mk,
21656	  matcher/biaspostlist.h,matcher/multimatch.cc,net/remoteserver.cc:
21657	  Remove Enquire::set_bias().
21658	* docs/deprecation.rst: Update wrt Enquire::set_bias().  Fix typo.
21659
21660Wed Apr 18 18:51:42 BST 2007  Olly Betts <olly@survex.com>
21661
21662	* configure.ac: Require autoconf 2.60 or newer.  Drop docdir
21663	  compatibility hack which is no longer required.
21664	* HACKING: Document requirement.  Fix typo (or out-of-date info) for
21665	  automake requirement (we require 1.9.5 not 1.8.5).
21666
21667Wed Apr 18 18:27:35 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21668
21669	* docs/deprecation.rst: Note the deprecation of get_description()
21670	  methods for Python.
21671
21672Wed Apr 18 14:57:03 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21673
21674	* HACKING: Minimal changes to make this into valid restructured
21675	  text.
21676
21677Wed Apr 18 11:27:57 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21678
21679	* configure.ac: Require autoconf version 2.59c or later:
21680	  AC_TYPE_SSIZE_T isn't present in earlier versions.
21681
21682Wed Apr 18 11:08:13 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21683
21684	* docs/deprecation.rst: Fix table formatting error
21685
21686Wed Apr 18 01:32:48 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21687
21688	* docs/deprecation.rst: Update with methods which have been removed
21689	  from the bindings.
21690
21691Wed Apr 18 00:24:00 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21692
21693	* docs/deprecation.rst: Move methods which have just been removed
21694	  from the list of deprecated methods to the list of removed
21695	  methods.
21696
21697Tue Apr 17 23:58:53 BST 2007  Olly Betts <olly@survex.com>
21698
21699	* api/omdocument.cc,api/omenquire.cc,api/omquery.cc,include/xapian/,
21700	  languages/stem.cc,tests/api_db.cc: Remove methods we're deprecating
21701	  for 1.0.
21702
21703Tue Apr 17 23:50:06 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21704
21705	* docs/deprecation.rst: Note that is_empty() is not deprecated for
21706	  PHP after all!
21707
21708Tue Apr 17 22:17:41 BST 2007  Olly Betts <olly@survex.com>
21709
21710	* queryparser/queryparser.lemony: GCC 2.95 doesn't support
21711	  std::string::clear(), so use resize(0) instead.
21712	* HACKING: Document the above issue in a reworked section on C++
21713	  STL features.  Update the section on safeXXX.h headers.
21714
21715Tue Apr 17 22:07:39 BST 2007  Olly Betts <olly@survex.com>
21716
21717	* common/safesysselect.h: Correct typo in #error message.
21718
21719Tue Apr 17 19:18:00 BST 2007  Olly Betts <olly@survex.com>
21720
21721	* configure.ac: Factor out code to test for a linker flag into macro
21722	  XAPIAN_TEST_LINKER_FLAG.  With g++, use XAPIAN_TEST_LINKER_FLAG to
21723	  see if -Bsymbolic-functions is supported (it requires a very recent
21724	  version of ld currently).  This option reduces the size and load
21725	  time of the shared library by resolving references within the
21726	  library when it's created.  Currently untested on a box which
21727	  supports -Bsymbolic-functions.
21728
21729Tue Apr 17 12:01:46 BST 2007  Olly Betts <olly@survex.com>
21730
21731	* unicode/utf8itor.cc: Tidy up code layout.
21732
21733Tue Apr 17 02:06:39 BST 2007  Olly Betts <olly@survex.com>
21734
21735	* include/xapian/unicode.h,unicode/utf8itor.cc: Make nonascii_to_utf8
21736	  a public method.  Make get_case_type(), get_category(), and
21737	  get_delta() internal, but provide a public get_category() function
21738	  which takes a Unicode character value.
21739
21740Tue Apr 17 02:05:32 BST 2007  Olly Betts <olly@survex.com>
21741
21742	* backends/flint/Makefile.mk: Distribute flint_check.h.
21743
21744Tue Apr 17 01:47:05 BST 2007  Olly Betts <olly@survex.com>
21745
21746	* tests/api_posdb.cc: The remote backend now supports all database
21747	  operations, so merge localpositionaldb_tests into
21748	  positionaldb_tests.
21749	* tests/: Remove the trivial separate api_XXXdb.h headers, some of
21750	  which were out-of-step with their respective .cc sources.  Instead
21751	  just keep the array external declarations in apitest.h.
21752	* tests/apitest.h,tests/api_transdb.cc: Move TESTCASE and
21753	  END_OF_TESTCASES macros into header.
21754	* tests/api_db.cc: Remove test collapsekey2 - it's only relevant for
21755	  the Muscat 3.6 backend, so it's unused now that has been removed.
21756	* tests/: Add unicode tests, adapted from Omega's utftest.
21757
21758Tue Apr 17 00:14:16 BST 2007  Olly Betts <olly@survex.com>
21759
21760	* Makefile.am,include/Makefile.mk,include/xapian.h,
21761	  include/xapian/unicode.h,queryparser/,unicode/: Expose Unicode and
21762	  UTF-8 related classes and functions as a public API.
21763
21764Mon Apr 16 16:06:22 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21765
21766	* docs/deprecation.rst: Bring document fully up-to-date, listing
21767	  all the planned deprecations for the bindings.  Also, include the
21768	  full upgrade notes in the listings, so they can be preserved
21769	  accessibly for posterity.  I even retrieved the notes for the
21770	  already-removed QueryParser::set_stemming_options from 0.9.10.
21771
21772Mon Apr 16 11:36:18 BST 2007  Olly Betts <olly@survex.com>
21773
21774	* net/tcpclient.cc: Call WSAGetLastError() instead of socket_errno()
21775	  when we want to compare the result against WSAEWOULDBLOCK.
21776
21777Mon Apr 16 11:19:21 BST 2007  Olly Betts <olly@survex.com>
21778
21779	* common/remoteconnection.h,common/safewinsock2.h: Need to negate the
21780	  POSIX error codes we define in terms of winsock ones.
21781
21782Fri Apr 13 16:24:29 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21783
21784	* docs/doxygen_api_conf.in: Turn on XML output, so that we can use
21785	  it to populate docstrings for the python bindings.
21786
21787Fri Apr 13 11:38:39 BST 2007  Olly Betts <olly@survex.com>
21788
21789	* backends/Makefile.mk,backends/alltermslist.cc,common/alltermslist.h:
21790	  Split AllTermsList into header and code.  AllTermsList::get_wdf()
21791	  now throws InvalidOperationError() rather than asserting in a
21792	  debug build and returning 0 in a non-debug build.
21793	* backends/Makefile.mk: Correct list for "how to add a new backend".
21794
21795Fri Apr 13 10:17:46 BST 2007  Olly Betts <olly@survex.com>
21796
21797	* api/version.cc: Simpler and cleaner fix - the prototypes for the
21798	  version functions had moved from xapian/version.h to xapian.h so we
21799	  were including the wrong header and not seeing the prototypes with
21800	  visibility markup!
21801
21802Fri Apr 13 09:29:17 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21803
21804	* api/version.cc: Add visibility annotations to definitions of
21805	  version functions: the annotation apparently needs to be applied
21806	  to the definition as well as the declaration or it is ignored:
21807	  possibly the annotation on the declaration is ignored anyway,
21808	  but it should be kept there for documentation purposes in any
21809	  case.  Fixes link error with bindings under gcc 4.1.
21810
21811Fri Apr 13 01:39:57 BST 2007  Olly Betts <olly@survex.com>
21812
21813	* common/remoteconnection.h,net/progclient.cc,net/remoteconnection.cc:
21814	  GetLastError() has an unsigned return type, so need to cast to int
21815	  before negating.
21816
21817Fri Apr 13 01:39:20 BST 2007  Olly Betts <olly@survex.com>
21818
21819	* docs/deprecation.rst: Add xapian_version_string() and friends.
21820
21821Fri Apr 13 01:24:53 BST 2007  Olly Betts <olly@survex.com>
21822
21823	* tests/api_nodb.cc: More 'tout' output.
21824
21825Fri Apr 13 01:19:20 BST 2007  Olly Betts <olly@survex.com>
21826
21827	* api/Makefile.mk,api/error.cc,bin/xapian-tcpsrv.cc,
21828	  common/remoteconnection.h,common/safeerrno.h,configure.ac,
21829	  generate-exceptions.in,net/,tests/harness/testsuite.cc: On
21830	  MS Windows, if Xapian::Error::my_errno is the result of
21831	  GetLastError() or WSAGetLastError(), negate it (the error codes can
21832	  overlap with errno codes).  On UNIX, put h_errno negated in my_errno
21833	  if a call to gethostbyname() fails.  Add
21834	  Xapian::Error::get_error_string() method which decodes my_errno
21835	  in the appropriate way to give a string, and use this instead of
21836	  strerror(error.get_errno()).
21837
21838Fri Apr 13 01:17:08 BST 2007  Olly Betts <olly@survex.com>
21839
21840	* languages/generate-allsnowballheaders.in: win32 makefiles don't keep
21841	  the snowball header list in sorted order like we do, so fix that
21842	  here.  Also allow for '\' as path separator.
21843
21844Fri Apr 13 00:58:09 BST 2007  Olly Betts <olly@survex.com>
21845
21846	* tests/api_nodb.cc: Add "tout" debug output to stemlangs1.
21847
21848Thu Apr 12 21:37:04 BST 2007  Olly Betts <olly@survex.com>
21849
21850	* tests/Makefile.am: Add support for QUIET= and QUIET=y arguments to
21851	  "make".
21852
21853Thu Apr 12 21:35:50 BST 2007  Olly Betts <olly@survex.com>
21854
21855	* docs/Makefile.am: Use a substitution for RSTHTML (like we do for the
21856	  snowball generated sources).
21857
21858Thu Apr 12 20:41:18 BST 2007  Olly Betts <olly@survex.com>
21859
21860	* api/omqueryinternal.cc: Add validate_query() calls to the "term" and
21861	  "value range" constructors.
21862
21863Thu Apr 12 20:00:14 BST 2007  Olly Betts <olly@survex.com>
21864
21865	* api/omqueryinternal.cc,include/xapian/query.h: Only validate a
21866	  Query object when it's either constructed or changed to avoid O(n^2)
21867	  behaviour in some cases.
21868
21869Thu Apr 12 19:59:13 BST 2007  Olly Betts <olly@survex.com>
21870
21871	* queryparser/lemon.c: Fix nasty function casting for argument to
21872	  qsort - it's (at least technically) not portable.
21873
21874Thu Apr 12 17:47:47 BST 2007  Olly Betts <olly@survex.com>
21875
21876	* configure.ac: Fix GCC version test to only turn on
21877	  -fvisibility=hidden for GCC >= 4.
21878
21879Thu Apr 12 16:47:56 BST 2007  Olly Betts <olly@survex.com>
21880
21881	* backends/flint/flint_btreebase.h,backends/flint/flint_cursor.h,
21882	  backends/flint/flint_table.h,backends/quartz/,common/,configure.ac,
21883	  generate-exceptions.in,include/Makefile.mk,include/xapian.h,
21884	  include/xapian/: Add visibility annotations to the library, which
21885	  when using GCC >= 4 reduces the size and load time of the library
21886	  and increase the runtime speed a little.  Under x86_64, the stripped
21887	  library is 6.4% smaller (1.5% smaller with debug information).
21888
21889Thu Apr 12 16:45:57 BST 2007  Olly Betts <olly@survex.com>
21890
21891	* api/version.cc: Add missing "#include <config.h>".
21892
21893Thu Apr 12 13:41:52 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21894
21895	* tests/quartztest.cc: Put removedir() function back for now to fix
21896	  build.
21897
21898Thu Apr 12 13:02:30 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21899
21900	* net/progclient.cc: Some (but not all) versions of MSVC need
21901	  "#include <io.h>" to get the _open_osfhandle identifier.  Add it.
21902
21903Thu Apr 12 12:00:34 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21904
21905	* backends/remote/net_postlist.cc: Include config.h
21906
21907Thu Apr 12 11:54:50 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21908
21909	* backends/multi/multi_termlist.cc: Include config.h to get system
21910	  specific defines.
21911	* common/safesysstat.h: Change signature of mkdir to take mode_t
21912	  instead of int, to match unixy definition.
21913
21914Thu Apr 12 10:19:49 BST 2007  Olly Betts <olly@survex.com>
21915
21916	* configure.ac: Probe for mode_t.
21917
21918Thu Apr 12 01:10:18 BST 2007  Olly Betts <olly@survex.com>
21919
21920	* backends/flint/flint_positionlist.cc: Move BitReader class inside
21921	  Xapian namespace to avoid namespace pollution.
21922	* bin/xapian-check.cc: Include BitReader::decode_interpolative()
21923	  - previously we were relying on using the copy from the library.
21924
21925Thu Apr 12 01:02:53 BST 2007  Olly Betts <olly@survex.com>
21926
21927	* common/safesysstat.h: Under __WIN32__, provide a POSIX-like mkdir()
21928	  wrapper which takes 2 arguments, but ignores the file mode, so we
21929	  can just call mkdir with a mode argument everywhere.
21930	* common/utils.h: Remove special case handling of mkdir.
21931	* bin/xapian-compact.cc: Replace uses of om_tostring() with a call
21932	  to sprintf.  No longer need to `#include "utils.h"'.
21933
21934Thu Apr 12 00:44:18 BST 2007  Olly Betts <olly@survex.com>
21935
21936	* api/,backends/inmemory/inmemory_positionlist.cc,common/,matcher/,
21937	  net/remoteconnection.cc,net/serialise.cc: omdebug.h only includes
21938	  omassert.h for the trivial "STRINGIZE" macro, so just duplicate
21939	  that rather than pulling in an extra header everywhere.  Then fix
21940	  up the two dozen files which were relying on this implicit
21941	  inclusion!
21942
21943Thu Apr 12 00:10:48 BST 2007  Olly Betts <olly@survex.com>
21944
21945	* tests/harness/testsuite.cc: Tweak #ifdef XAPIAN_DEBUG_VERBOSE to
21946	  include DEBUGLINE() for clarity (no change in behaviour).
21947
21948Wed Apr 11 23:36:10 BST 2007  Olly Betts <olly@survex.com>
21949
21950	* queryparser/queryparser.lemony: Fix regression introduced by
21951	  Richard's change, and restructure to make the handling for each case
21952	  more obvious.
21953	* tests/queryparsertest.cc: Add a couple of testcases for the
21954	  regression.
21955	* queryparser/queryparser_internal.h: Remove reference to "bool" in
21956	  comment which no longer applies.
21957
21958Wed Apr 11 21:25:36 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21959
21960	* queryparser/queryparser_internal.h: Refactor boolean "flag"
21961	  member in BoolAndString class into an enum of possible prefix
21962	  types.  Rename "flag" to "type".  Rename BoolAndString to
21963	  PrefixInfo.
21964	* queryparser/queryparser.cc: Change add_prefix() and
21965	  add_boolean_prefix() to match changes to queryparser_internal.h
21966	* queryparser/queryparser.lemony: Refactor handling of prefixed
21967	  terms to match queryparser_internal, and to use a switch()
21968	  structure: no functional changes, but code is considerably more
21969	  readable (I hope).
21970
21971Wed Apr 11 21:13:31 BST 2007  Olly Betts <olly@survex.com>
21972
21973	* tests/api_db.cc,tests/quartztest.cc: Rework quartztest's "open1"
21974	  into API level tests for quartz and flint in apitest.
21975
21976Wed Apr 11 14:01:31 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21977
21978	* docs/deprecation.rst: Remove documentation of the "#define
21979	  XAPIAN_DEPRECATED(D) D" hack, and clarify documentation on how
21980	  long we support deprecated functions.
21981
21982Wed Apr 11 09:25:55 BST 2007  Richard Boulton <richard@lemurconsulting.com>
21983
21984	* docs/Makefile.am,docs/deprecation.rst: Add initial draft of
21985	  deprecation policy document, with list of all API items currently
21986	  marked for deprecation.
21987	* HACKING: Add note about keeping deprecation.rst up-to-date when
21988	  making a release.
21989
21990Tue Apr 10 19:07:24 BST 2007  Olly Betts <olly@survex.com>
21991
21992	* configure.ac: --enable-quiet now uses AS_HELP_STRING.
21993
21994Tue Apr 10 18:53:32 BST 2007  Olly Betts <olly@survex.com>
21995
21996	* tests/harness/index_utils.cc: Return the empty document we already
21997	  have rather than constructing another.
21998
21999Tue Apr 10 17:45:11 BST 2007  Olly Betts <olly@survex.com>
22000
22001	* net/remoteconnection.cc: Fix typo in comment.
22002
22003Tue Apr 10 17:35:57 BST 2007  Olly Betts <olly@survex.com>
22004
22005	* tests/harness/backendmanager.cc: Fix "if" to "is" typo in 3
22006	  comments.
22007
22008Tue Apr 10 16:46:09 BST 2007  Olly Betts <olly@survex.com>
22009
22010	* tests/harness/backendmanager.cc: Define XAPIAN_TCPSRV and
22011	  XAPIAN_PROGSRV under UNIX too, and use them everywhere.
22012
22013Tue Apr 10 16:33:48 BST 2007  Olly Betts <olly@survex.com>
22014
22015	* tests/harness/backendmanager.h: Remove "BackendManager::" from
22016	  method declaration.
22017
22018Tue Apr 10 15:35:50 BST 2007  Olly Betts <olly@survex.com>
22019
22020	* configure.ac: Define HAVE_SOCKETPAIR if we have socketpair().
22021
22022Tue Apr 10 15:29:49 BST 2007  Olly Betts <olly@survex.com>
22023
22024	* net/progclient.cc: Fix #endif placement so it compiles on UNIX.
22025
22026Tue Apr 10 14:18:06 BST 2007  Olly Betts <olly@survex.com>
22027
22028	* net/remoteconnection.cc: Remove debugging code.
22029
22030Tue Apr 10 12:57:51 BST 2007  Olly Betts <olly@survex.com>
22031
22032	* backends/dbfactory_remote.cc,common/progclient.h,net/progclient.cc,
22033	  net/remoteconnection.cc,tests/api_db.cc,tests/apitest.cc,
22034	  tests/harness/backendmanager.cc,tests/harness/backendmanager.h:
22035	  Add support for the "prog" variant of the remote backend (patch
22036	  started by me, finished by Mark Hammond).
22037
22038Tue Apr 10 12:23:46 BST 2007  Olly Betts <olly@survex.com>
22039
22040	* api/omqueryinternal.cc,backends/inmemory/inmemory_database.cc,
22041	  backends/quartz/quartz_alldocspostlist.cc,matcher/localmatch.cc,
22042	  matcher/multimatch.cc,tests/harness/testutils.cc: Prefer
22043	  `CONTAINER.empty()' to `CONTAINER.size() == 0'.
22044
22045Tue Apr 10 12:09:45 BST 2007  Olly Betts <olly@survex.com>
22046
22047	* api/omqueryinternal.cc: Tighten up an assertion.
22048
22049Mon Apr 09 20:56:23 BST 2007  Olly Betts <olly@survex.com>
22050
22051	* configure.ac,tests/harness/backendmanager.cc,tests/runsrv.in,
22052	  tests/runtest.in: Run the remote backend server using new "runsrv"
22053	  script instead of "runtest".  This doesn't echo anything to stdout,
22054	  and if valgrind is in use, runs the remote server under
22055	  "--tool=none" which is much quicker than using valgrind's default
22056	  memcheck tool (we need to run the remote server under valgrind
22057	  because valgrind's emulation of excess FP precision isn't exact and
22058	  otherwise we get tests failing because of these differences).
22059
22060Mon Apr 09 20:24:30 BST 2007  Olly Betts <olly@survex.com>
22061
22062	* tests/api_anydb.cc,tests/api_nodb.cc: Move test poscollapse2 to the
22063	  "no database" category, since it doesn't require a database!
22064
22065Mon Apr 09 18:04:40 BST 2007  Olly Betts <olly@survex.com>
22066
22067	* docs/remote_protocol.html: Correct documentation - MSG_REOPEN gives
22068	  a response of REPLY_UPDATE.
22069
22070Mon Apr 09 15:08:44 BST 2007  Olly Betts <olly@survex.com>
22071
22072	* ./: svn:eol-style not svn:eolstyle.
22073
22074Mon Apr 09 15:00:30 BST 2007  Olly Betts <olly@survex.com>
22075
22076	* ./: Set svn:eolstyle to native for most text files.
22077
22078Mon Apr 09 14:50:40 BST 2007  Olly Betts <olly@survex.com>
22079
22080	* backends/flint/flint_database.cc: Delete the corresponding entry
22081	  (if any) from doclens in delete_document().  Add assertion to
22082	  add_document_() that the corresponding entry in doclens isn't
22083	  already set, but in a non-debug build overwrite any existing
22084	  entry as that's more likely to be correct.
22085	* backends/quartz/quartz_database.cc: Ditto.
22086
22087Mon Apr 09 14:08:55 BST 2007  Olly Betts <olly@survex.com>
22088
22089	* backends/quartz/quartz_database.cc: Just assign to doclens[did].
22090
22091Mon Apr 09 14:06:58 BST 2007  Olly Betts <olly@survex.com>
22092
22093	* backends/flint/flint_database.cc: Just assign to doclens[did].
22094
22095Mon Apr 09 11:29:22 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22096
22097	* backends/quartz/quartz_database.cc: Apply same change to quartz.
22098
22099Mon Apr 09 11:24:31 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22100
22101	* backends/flint/flint_database.cc: Fix bug with document lengths
22102	  in replace document.  Was using doclens.insert() to set the new
22103	  document length, but this has no effect if the entry already
22104	  exists.  This fixes replacedoc3 for flint (and thus for remote
22105	  databases), but the same change is needed for quartz.
22106	* backends/flint/flint_postlist.cc: Add some debugging lines.
22107
22108Mon Apr 09 01:43:02 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22109
22110	* backends/flint/: Add some more debugging messages to help track
22111	  down the problem with document lengths shown up by previous
22112	  change.
22113
22114Mon Apr 09 01:40:34 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22115
22116	* tests/api_wrdb.cc: Add asserts to check that the value of
22117	  get_doclength() on the database and on the posting list are
22118	  correct.  Currently fails with the value from the posting list
22119	  for the document which has been replaced (or sooner if assertions
22120	  are turned on).
22121
22122Sun Apr 08 23:24:20 BST 2007  Olly Betts <olly@survex.com>
22123
22124	* Makefile.am,configure.ac: `./configure --enable-quiet' allows you to
22125	  specify at configure time to pass `--quiet' to libtool.  Now you can
22126	  override this at make-time by using `make QUIET=' (to turn off
22127	  `--quiet') or `make QUIET=y' (to turn on `--quiet').
22128
22129Sun Apr 08 23:23:50 BST 2007  Olly Betts <olly@survex.com>
22130
22131	* HACKING: Mention AssertEqParanoid and AssertNeParanoid.
22132
22133Sun Apr 08 22:45:45 BST 2007  Olly Betts <olly@survex.com>
22134
22135	* common/omassert.h: Add AssertEqParanoid and AssertNeParanoid macros.
22136	* backends/flint/flint_table.cc,backends/inmemory/inmemory_database.cc,
22137	  backends/multi/multi_postlist.cc,backends/quartz/btree.cc: Use them.
22138	* backends/multi/multi_postlist.cc: Add extra assertions to
22139	  MultiPostList::get_doclength().
22140
22141Sun Apr 08 22:16:11 BST 2007  Olly Betts <olly@survex.com>
22142
22143	* configure.ac: Fix typos: `AC_CHECK_SSIZE_T' -> `AC_TYPE_SSIZE_T';
22144	  `AC_CHECK_PID_T' -> `AC_TYPE_PID_T'.
22145
22146Sun Apr 08 22:04:54 BST 2007  Olly Betts <olly@survex.com>
22147
22148	* HACKING: Snapshots and releases are now generated with autoconf 2.61.
22149
22150Sun Apr 08 21:42:03 BST 2007  Olly Betts <olly@survex.com>
22151
22152	* configure.ac: Use AC_CHECK_SSIZE_T instead of our own test.  Add
22153	  AC_CHECK_PID_T for any platforms which don't have `pid_t'.
22154	* net/tcpserver.cc: Use `pid_t' instead of `int'.
22155	* common/progclient.h,net/progclient.cc: Cleaner rewritten version of
22156	  progclient.h.
22157
22158Sun Apr 08 19:59:43 BST 2007  Olly Betts <olly@survex.com>
22159
22160	* backends/flint/flint_lock.cc: If kill() fails, don't bother calling
22161	  waitpid().
22162
22163Sun Apr 08 19:41:11 BST 2007  Olly Betts <olly@survex.com>
22164
22165	* net/remoteconnection.cc: Don't explicitly pass "0" for errno.
22166
22167Sun Apr 08 16:58:58 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22168
22169	* queryparser/queryparser.lt: Fix warnings in debugging builds on
22170	  gcc 4.1 due to comparison of signed and unsigned types.  Also,
22171	  use the ParseTokenName function instead of explicitly doing a
22172	  range check each time an entry is looked up in yyTokenName, and
22173	  add a ParseRuleName function for looking up things in yyRuleName,
22174	  and use it similarly.
22175
22176Sun Apr 08 15:55:42 BST 2007  Olly Betts <olly@survex.com>
22177
22178	* configure.ac: Fix lingering references to enable_debug.
22179
22180Sun Apr 08 15:48:13 BST 2007  Olly Betts <olly@survex.com>
22181
22182	* tests/api_anydb.cc,tests/api_wrdb.cc: Remove hacks to automatically
22183	  SKIP tests which failed because of lack of support for some features
22184	  by the remote backend.
22185
22186Sun Apr 08 15:14:11 BST 2007  Olly Betts <olly@survex.com>
22187
22188	* queryparser/queryparser.lemony,queryparser/queryparser.lt: More
22189	  tweaks.
22190
22191Sun Apr 08 15:04:49 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22192
22193	* queryparser/queryparser.lt: Always include "omdebug.h", and put
22194	  one of the pieces of debugging code in #ifdef
22195	  XAPIAN_DEBUG_VERBOSE, to fix non-logging message builds.
22196
22197Sun Apr 08 14:23:06 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22198
22199	* docs/remote_protocol.html: Update for protocol version 27 by
22200	  adding documentation for MSG_POSTLIST and replies.  Also, fix a
22201	  typo.
22202
22203Sun Apr 08 13:50:20 BST 2007  Olly Betts <olly@survex.com>
22204
22205	* common/omdebug.h,queryparser/queryparser.lemony,
22206	  queryparser/queryparser.lt: Hook the debug tracing in the lemon
22207	  generated parser into Xapian's debug logging framework.
22208
22209Sun Apr 08 12:35:29 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22210
22211	* backends/remote/,common/remote-database.h,common/remoteprotocol.h,
22212	  common/remoteserver.h,net/remoteserver.cc: Implement postlists
22213	  for the remote database.  Increases
22214	  XAPIAN_REMOTE_PROTOCOL_VERSION to 27.
22215
22216Sun Apr 08 12:33:02 BST 2007  Olly Betts <olly@survex.com>
22217
22218	* HACKING,INSTALL,configure.ac: Rename --enable-debug* - conflating the
22219	  options to "turn on assertions" and "turn on logging" still confuses
22220	  me to the extent I need to read the documentation every time I use
22221	  them.  `--enable-debug[=partial]' become `--enable-assertions';
22222	  `--enable-debug-verbose' becomes `--enable-log' and
22223	  `--enable-debug=full' becomes `--enable-assertions --enable-log'.
22224	  For now the old options give an error telling you the new
22225	  equivalent.
22226
22227Sun Apr 08 10:45:40 BST 2007  Olly Betts <olly@survex.com>
22228
22229	* configure.ac: Eliminate use_quiet - just use enable_quiet instead.
22230
22231Fri Apr 06 19:06:07 BST 2007  Olly Betts <olly@survex.com>
22232
22233	* net/progclient.cc: Close stderr of the spawned backend program.
22234
22235Fri Apr 06 18:59:24 BST 2007  Olly Betts <olly@survex.com>
22236
22237	* net/progclient.cc: msecs_timeout_ -> msecs_timeout.
22238
22239Fri Apr 06 18:12:36 BST 2007  Olly Betts <olly@survex.com>
22240
22241	* net/remoteconnection.cc: Fix comment grammar.
22242
22243Fri Apr 06 18:10:31 BST 2007  Olly Betts <olly@survex.com>
22244
22245	* net/remoteconnection.cc: Deal with the exceptional case first.
22246
22247Fri Apr 06 17:51:20 BST 2007  Olly Betts <olly@survex.com>
22248
22249	* net/remoteconnection.cc: Use string::append(ptr, size) in preference
22250	  to string::append(ptr, ptr + size).
22251
22252Fri Apr 06 11:45:39 BST 2007  Olly Betts <olly@survex.com>
22253
22254	* api/omqueryinternal.cc,backends/flint/flint_database.cc,
22255	  backends/flint/flint_database.h,backends/flint/flint_postlist.cc,
22256	  backends/inmemory/inmemory_database.cc,
22257	  backends/inmemory/inmemory_database.h,
22258	  backends/quartz/quartz_database.cc,backends/quartz/quartz_database.h,
22259	  backends/quartz/quartz_postlist.cc,
22260	  backends/remote/remote-database.cc,common/database.h,
22261	  common/remote-database.h: Refactor to eliminate do_open_post_list
22262	  and any unnecessary call to term_exists().
22263
22264Fri Apr 06 11:44:25 BST 2007  Olly Betts <olly@survex.com>
22265
22266	* tests/api_wrdb.cc: Just use TEST on a boolean value rather than
22267	  TEST_EQUAL against true/false.
22268
22269Fri Apr 06 08:53:46 BST 2007  Olly Betts <olly@survex.com>
22270
22271	* net/remoteserver.cc: Remove "N" which we calculate but never use!
22272
22273Fri Apr 06 08:17:00 BST 2007  Olly Betts <olly@survex.com>
22274
22275	* backends/flint/Makefile.mk,backends/flint/flint_check.cc,
22276	  backends/flint/flint_check.h,bin/Makefile.mk,bin/xapian-check.cc:
22277	  Fix xapian-check not to use libquartzcheck.la.
22278
22279Fri Apr 06 07:20:47 BST 2007  Olly Betts <olly@survex.com>
22280
22281	* bin/Makefile.mk,bin/xapian-check.cc: Add new "xapian-check" program
22282	  which performs consistency checks on a flint database.
22283
22284Fri Apr 06 06:25:36 BST 2007  Olly Betts <olly@survex.com>
22285
22286	* bin/quartzcheck.cc: Test if this is a quartz database by looking at
22287	  "meta" not "record_DB".  If "record_DB" is >= 2GB and we don't have
22288	  a LFS aware stat function then stat can fail even though the file is
22289	  there.  Also open the database explicitly as a Quartz database for
22290	  extra robustness.
22291
22292Fri Apr 06 06:23:33 BST 2007  Olly Betts <olly@survex.com>
22293
22294	* AUTHORS: Thank Daniel Ménard.
22295
22296Thu Apr 05 18:20:53 BST 2007  Olly Betts <olly@survex.com>
22297
22298	* tests/harness/testsuite.cc: No need to explicitly initialise
22299	  std::string to ""; not doing so results in a smaller object
22300	  file.
22301
22302Thu Apr 05 18:20:12 BST 2007  Olly Betts <olly@survex.com>
22303
22304	* common/remoteprotocol.h: Note other changes in protocol version 26.
22305
22306Thu Apr 05 17:34:10 BST 2007  Olly Betts <olly@survex.com>
22307
22308	* tests/runtest.in: Pass "--leak-resolution=high" to valgrind to
22309	  prevent unrelated leak reports related to STL classes from being
22310	  combined.
22311
22312Thu Apr 05 17:26:39 BST 2007  Olly Betts <olly@survex.com>
22313
22314	* tests/api_wrdb.cc: Remove stray line left over from debugging.
22315
22316Thu Apr 05 16:47:36 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22317
22318	* tests/internaltest.cc: Fix test_serialiselength2: implementation
22319	  was correct, but test was failing.  Needed special casing for n=0
22320	  and 1, and was using arguments to string::append(size_type,
22321	  charT) the wrong way round (stupid C++ API).  Also, make it check
22322	  the return value of decode_length(), since we know what the
22323	  answer ought to be.
22324
22325Thu Apr 05 14:26:30 BST 2007  Olly Betts <olly@survex.com>
22326
22327	* api/omqueryinternal.cc,backends/remote/remote-database.cc,
22328	  common/serialise.h,net/remoteserver.cc,net/serialise.cc,
22329	  tests/internaltest.cc: Add a flag parameter to decode_length()
22330	  to indicate if the decoded value indicates the length of a
22331	  string in the protocol stream, and if it does, check it against
22332	  p_end - p after the length has been decoded (fixes bug#117).
22333
22334Thu Apr 05 14:08:02 BST 2007  Olly Betts <olly@survex.com>
22335
22336	* tests/api_wrdb.cc: In test uniqueterm1, check the document length
22337	  after every delete or replace for better coverage.
22338
22339Thu Apr 05 12:41:04 BST 2007  Olly Betts <olly@survex.com>
22340
22341	* net/serialise.cc: Encode deltas between docids (rather than the
22342	  docids themselves) in the RSet serialisation which reduces the
22343	  size of the encoding if a lot of large docids with small gaps
22344	  between them are present.
22345	* backends/remote/remote-database.cc,net/remoteserver.cc: Encode
22346	  deltas between termpositions in REPLY_POSITIONLIST, for similar
22347	  reasons.  No need to encode the term length for
22348	  MSG_DELETEDOCUMENTTERM as it's the last (indeed only) item, and more
22349	  consistent not to.
22350	* common/remoteprotocol.h: Bump protocol version to 26.
22351	* docs/remote_protocol.html: Document the new messages
22352	  MSG_DELETEDOCUMENTTERM and MSG_REPLACEDOCUMENTTERM.  Correct
22353	  reference to REPLY_DOCUMENT to REPLY_DOCDATA.  Fix documentation for
22354	  MSG_QUERY to include the serialised Weight and RSet objects.  Fix
22355	  "copy and paste" error in the description of Flush (should of course
22356	  be MSG_FLUSH not MSG_CANCEL).  Update for changes above.
22357
22358Thu Apr 05 12:18:19 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22359
22360	* backends/database.cc: Keep a RefCntPtr to the LeafPostList used
22361	  in implementations of delete_document and replace_document with a
22362	  unique term, so that the postlist isn't leaked.
22363
22364Thu Apr 05 11:56:57 BST 2007  Olly Betts <olly@survex.com>
22365
22366	* backends/database.cc: Database::Internal can't call the
22367	  PostingIterator(PostingIterator::Internal*) ctor (at least under
22368	  g++ 3.3.5) because it isn't a friend (only class Database is).
22369	  Can't seem to forward define Database::Internal to make
22370	  Database::Internal a friend so just use LeafPostList directly
22371	  as that seems less bad than pulling in the whole of database.h
22372	  or making PostingIterator::internal public.
22373
22374Thu Apr 05 08:27:26 BST 2007  Olly Betts <olly@survex.com>
22375
22376	* HACKING: Need to run svn-tag-release on ixion.
22377
22378Thu Apr 05 01:50:10 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22379
22380	* backends/remote/remote-database.cc,common/remote-database.h,
22381	  common/remoteprotocol.h,common/remoteserver.h,net/remoteserver.cc:
22382	  Implement unique term variants of delete and replace document for
22383	  the remote database.  Involves adding two new message types to the
22384	  protocol (and therefore bumping the protocol version to 25), and
22385	  overriding the standard implementations of delete_document(term)
22386	  and replace_document(term) in RemoteDatabase.
22387	* tests/api_wrdb.cc: Correct text in SKIP_TEST() message.
22388
22389Thu Apr 05 01:04:19 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22390
22391	* api/omdatabase.cc,backends/database.cc,common/database.h: Move
22392	  implementation of delete_document and replace_document with a
22393	  unique_term from WritableDatabase to Xapian::Database::Internal.
22394	  This will allow it to be overridden for databases which need a
22395	  special implementation (such as the remote database).
22396
22397Tue Apr 03 14:30:45 BST 2007  Olly Betts <olly@survex.com>
22398
22399	* common/remote-database.h: Remove unused and undefined method
22400	  RemoteDatabase::get_spawned_socket().
22401
22402Tue Apr 03 09:18:51 BST 2007  Olly Betts <olly@survex.com>
22403
22404	* tests/harness/backendmanager.cc: Under __WIN32__, launch
22405	  xapian-tcpsrv as a child process communicating via a pipe and handle
22406	  the port being already in use by trying the next port up (as we do
22407	  under UNIX).
22408
22409Tue Apr 03 06:50:48 BST 2007  Olly Betts <olly@survex.com>
22410
22411	* net/tcpserver.cc: For __WIN32__ and __CYGWIN__, use
22412	  SO_EXCLUSIVEADDRUSE (if available) on on listening sockets for
22413	  xapian-tcpsrv.
22414
22415Tue Apr 03 04:37:02 BST 2007  Olly Betts <olly@survex.com>
22416
22417	* include/xapian/positioniterator.h,include/xapian/postingiterator.h:
22418	  Fix mangled comment start in (C) headers.
22419
22420Tue Apr 03 03:27:12 BST 2007  Olly Betts <olly@survex.com>
22421
22422	* include/xapian/,generate-exceptions.in: Mark the following
22423	  constructors 'explicit': DocIDWrapper(docid), TermPosWrapper(const
22424	  std::string &), Query::Internal(const std::string &), Database(const
22425	  std::string &), all Error subclass constructors taking const
22426	  std::string &.  Only the Database and Error subclass changes should
22427	  be able to affect user code at all.
22428	* include/xapian/,api/omenquire.cc: Make the following methods
22429	  'const': RSet::contains(MSetIterator), Enquire::get_query().  This
22430	  shouldn't affect the validity of any user code.
22431
22432Mon Apr 02 11:44:26 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22433
22434	* HACKING: Add note on "Building from SVN on Windows with MSVC"
22435
22436Mon Apr 02 11:32:51 BST 2007  Olly Betts <olly@survex.com>
22437
22438	* api/omqueryinternal.cc: Fix assertion to allow for OP_VALUE_RANGE.
22439
22440Mon Apr 02 11:14:10 BST 2007  Olly Betts <olly@survex.com>
22441
22442	* autoconf/rjb_find_stlport.m4: Fix check that the user didn't say
22443	  `./configure --with-stlport-compiler' (without `=gcc' or similar
22444	  after it).
22445
22446Mon Apr 02 10:38:35 BST 2007  Olly Betts <olly@survex.com>
22447
22448	* tests/api_db.cc,tests/apitest.cc: Under __WIN32__ disable tests
22449	  which require the prog variant of the remote backend.
22450
22451Mon Apr 02 09:44:13 BST 2007  Olly Betts <olly@survex.com>
22452
22453	* net/tcpserver.cc: Don't use SO_REUSEADDR under __CYGWIN__ or
22454	  __WIN32__ as it has incorrect semantics.
22455
22456Mon Apr 02 09:37:14 BST 2007  Olly Betts <olly@survex.com>
22457
22458	* tests/harness/backendmanager.cc: Pull `1239' out as `DEFAULT_PORT'.
22459	  On Windows, cycle through 10 ports starting at DEFAULT_PORT so that
22460	  we can have multiple databases open at once.  Add a monotonic count
22461	  to the name of the log file created from the output of each
22462	  xapian-tcpsrv to avoid failures because the log file is already
22463	  open.
22464
22465Mon Apr 02 07:41:57 BST 2007  Olly Betts <olly@survex.com>
22466
22467	* tests/api_anydb.cc: Avoid having the same database open twice at
22468	  once.  Xapian itself copes, but the BackendManager class in the test
22469	  harness struggles in the remotetcp case under mingw.
22470
22471Mon Apr 02 07:14:13 BST 2007  Olly Betts <olly@survex.com>
22472
22473	* include/xapian/enquire.h: Make Enquire constructor explicit since
22474	  it can take a single parameter (of type Database).
22475
22476Mon Apr 02 02:32:23 BST 2007  Olly Betts <olly@survex.com>
22477
22478	* net/tcpserver.cc: Add "#error" if neither HAVE_FORK nor __WIN32__
22479	  is defined (otherwise we'd failed with a rather obscure link error
22480	  much later!)
22481
22482Mon Apr 02 01:54:20 BST 2007  Olly Betts <olly@survex.com>
22483
22484	* matcher/multimatch.cc: Remove unused variable left over from
22485	  recent change.
22486
22487Mon Apr 02 01:22:56 BST 2007  Olly Betts <olly@survex.com>
22488
22489	* net/tcpserver.cc: Actually remove SOCKOPT_OPTIONS_TYPE.
22490
22491Mon Apr 02 01:16:03 BST 2007  Olly Betts <olly@survex.com>
22492
22493	* net/tcpclient.cc,net/tcpserver.cc: Pass the 4th parameter of
22494	  setsockopt() as char* which works whether the function actually
22495	  takes char* or void* (since C++ allows implicit conversion from
22496	  char* to void*).  Only call socket_errno() after gethostbyname()
22497	  under __WIN32__ - on UNIX the error code is in h_errno (with
22498	  incompatible values to errno) and we don't want to confuse things by
22499	  reporting some random value of errno.
22500
22501Mon Apr 02 00:44:56 BST 2007  Olly Betts <olly@survex.com>
22502
22503	* tests/harness/backendmanager.cc: Factor out localhost address into
22504	  LOCALHOST.  Use new xapian-tcpsrv --interface option to only listen
22505	  for connections on localhost.  Run xapian-tcpsrv with "start /B" on
22506	  MS Windows (this stops the "flickbook of console windows" effect).
22507
22508Mon Apr 02 00:41:31 BST 2007  Olly Betts <olly@survex.com>
22509
22510	* common/Makefile.mk,common/safesyssocket.h: Oops, I checked
22511	  in safesysselect.h as safesyssocket.h!
22512
22513Mon Apr 02 00:30:54 BST 2007  Olly Betts <olly@survex.com>
22514
22515	* include/xapian/queryparser.h: Fix SimpleStopper::add to take
22516	  `const std::string &' not `const std::string'.
22517
22518Mon Apr 02 00:20:45 BST 2007  Olly Betts <olly@survex.com>
22519
22520	* bin/xapian-tcpsrv.cc,net/tcpserver.cc: Add "--interface" option to
22521	  allow the hostname or address of the interface to listen on to be
22522	  specified (default is the previous behaviour of listening on all
22523	  interfaces).
22524	* net/remoteconnection.cc,net/tcpclient.cc,common/safesysselect.h:
22525	  Factor out portability code for sys/select.h.
22526	* common/Makefile.mk: Ship common/safesysselect.h.
22527	* net/tcpserver.cc: Rename parameter of run_thread from "_param" to
22528	  "param_" (identifiers with leading underscores are reserved for the
22529	  compiler).
22530	* common/tcpclient.h,net/tcpclient.cc,common/tcpserver.h: Rewrite
22531	  headers with comments which are actually accurate and up-to-date!
22532	  TcpClient ctor is small so put inline in the header.  Pass
22533	  std::string by const reference.
22534	* common/tcpclient.h,common/tcpserver.h: TcpClient and TcpServer
22535	  classes now inherit from WinsockInitializer under __WIN32__ (as
22536	  a mixin class) instead of having a member of type WinsockInitializer
22537	  (the member is initialised too late, at least under mingw).
22538
22539Sun Apr 01 19:14:11 BST 2007  Olly Betts <olly@survex.com>
22540
22541	* common/omdebug.cc: Fix retrying of write to retry the part of
22542	  the string not already written!
22543
22544Sun Apr 01 18:37:15 BST 2007  Olly Betts <olly@survex.com>
22545
22546	* common/remoteconnection.h: Note in comments about use as a "mixin"
22547	  class.
22548
22549Sun Apr 01 17:42:19 BST 2007  Olly Betts <olly@survex.com>
22550
22551	* tests,examples,bin: Add .exe versions of built executables to
22552	  svn:ignore.
22553
22554Sun Apr 01 16:28:26 BST 2007  Olly Betts <olly@survex.com>
22555
22556	* common/omdebug.cc: Remove unused '#include <stdio.h>' - we switched
22557	  to using unbuffered I/O for logging long ago!
22558
22559Sun Apr 01 15:21:04 BST 2007  Olly Betts <olly@survex.com>
22560
22561	* common/safewinsock2.h: No, don't typedef socklen_t here - we use
22562	  SOCKLEN_T everywhere and have `#define SOCKLEN_T int' in
22563	  config.h.win32.
22564
22565Sun Apr 01 13:32:21 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22566
22567	* common/omdebug.cc: Include necessary headers to get O_CREAT and
22568	  friends defined (according to documentation in linux manpage),
22569	  to fix compile error.  Also, don't ignore the return value of
22570	  write() to fix compile warning (and to ensure that the whole
22571	  output gets written if possible).
22572
22573Sun Apr 01 13:19:52 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22574
22575	* queryparser/queryparser.cc: Fix Assert() on a RefCountPtr to
22576	  check the value of the pointer, to fix compile with asserts
22577	  turned on.
22578
22579Sun Apr 01 12:57:06 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22580
22581	* common/safewinsock2.h: Define socklen_t under MS compiler (since
22582	  Olly reported build success with mingw, presumably it's not
22583	  needed there).
22584
22585Sun Apr 01 06:42:14 BST 2007  Olly Betts <olly@survex.com>
22586
22587	* languages/Makefile.mk: $(snowball_algorithms:.sbl=.cc) is portable
22588	  according to the automake list so use that so we only need to list
22589	  the .sbl sources.
22590
22591Sun Apr 01 05:53:29 BST 2007  Olly Betts <olly@survex.com>
22592
22593	* common/tcpserver.h,net/tcpserver.cc: TcpServer's port member
22594	  variable is set but never used so remove it.
22595
22596Sun Apr 01 03:27:30 BST 2007  Olly Betts <olly@survex.com>
22597
22598	* bin/Makefile.mk,examples/Makefile.mk: Add $(EXEEXT) to dependency on
22599	  binaries in man page generation rules so they work on Windows.
22600
22601Sat Mar 31 22:17:55 BST 2007  Olly Betts <olly@survex.com>
22602
22603	* common/multimatch.h,matcher/multimatch.cc: When using a MatchDecider
22604	  with remote database(s), don't rerun the MatchDecider on documents
22605	  which a remote server has already checked.
22606
22607Sat Mar 31 10:44:26 BST 2007  Olly Betts <olly@survex.com>
22608
22609	* tests/harness/backendmanager.cc: Sort out path to xapian-tcpsrv
22610	  under mingw.  If neither HAVE_FORK nor __WIN32__ is defined,
22611	  make compilation fail with a suitable #error.
22612
22613Sat Mar 31 10:17:06 BST 2007  Olly Betts <olly@survex.com>
22614
22615	* api/Makefile,backends/Makefile,backends/flint/Makefile,
22616	  backends/inmemory/Makefile,backends/multi/Makefile,
22617	  backends/quartz/Makefile,backends/remote/Makefile,bin/Makefile,
22618	  common/Makefile,examples/Makefile,getopt/Makefile,include/Makefile,
22619	  languages/Makefile,matcher/Makefile,net/Makefile,
22620	  queryparser/Makefile,tests/harness/Makefile: Don't pass $(MAKEFLAGS)
22621	  on the command line to $(MAKE) when invoking the top level Makefile
22622	  from a static Makefile.  It's passed automatically anyway, and also
22623	  $(MAKEFLAGS) doesn't have a leading '-' so "make -s" tries to do
22624	  "make s" at the top level.
22625
22626Sat Mar 31 09:28:06 BST 2007  Olly Betts <olly@survex.com>
22627
22628	* tests/api_nodb.cc: Fix end of loop handling.
22629
22630Sat Mar 31 09:03:26 BST 2007  Olly Betts <olly@survex.com>
22631
22632	* tests/api_nodb.cc: Fix to compile.
22633
22634Sat Mar 31 07:53:25 BST 2007  Olly Betts <olly@survex.com>
22635
22636	* common/safewindows.h,common/safewinsock2.h: safewindows.h is
22637	  included by a lot of files so we want to keep it lightweight
22638	  so split winsock2.h related stuff into safewinsock2.h.
22639	* common/remoteconnection.h: Move WinsockInitializer here.
22640	* common/safeerrno.h: #include "safewinsock2.h" not <winsock2.h>.
22641
22642Sat Mar 31 07:19:06 BST 2007  Olly Betts <olly@survex.com>
22643
22644	* common/remoteserver.h: Stop trying to include "remoteserver.h"
22645	  because that's the SAME HEADER!
22646
22647Sat Mar 31 07:16:23 BST 2007  Olly Betts <olly@survex.com>
22648
22649	* common/tcpclient.h,common/tcpserver.h: Fix comments - the class is
22650	  called WinsockInitializer not WinsockInitialiser.
22651
22652Sat Mar 31 06:54:22 BST 2007  Olly Betts <olly@survex.com>
22653
22654	* net/progclient.cc: Don't compile any code from this file if
22655	  __WIN32__ is defined (for mingw).
22656
22657Sat Mar 31 06:52:27 BST 2007  Olly Betts <olly@survex.com>
22658
22659	* tests/api_nodb.cc: Simplify code in test_stemlangs1().
22660
22661Sat Mar 31 06:22:26 BST 2007  Olly Betts <olly@survex.com>
22662
22663	* net/remoteconnection.cc: Use const_cast to avoid GCC warning
22664	  about casting away const.  Use string::data() rather than
22665	  string::c_str() since we don't need a terminating zero byte.
22666
22667Sat Mar 31 06:20:07 BST 2007  Olly Betts <olly@survex.com>
22668
22669	* backends/dbfactory_remote.cc: Suppress "unused parameter" warnings.
22670
22671Sat Mar 31 06:17:35 BST 2007  Olly Betts <olly@survex.com>
22672
22673	* net/tcpserver.cc: Make global variable and function used only in
22674	  this file static.  Don't call delete on a void* (that's undefined
22675	  behaviour) - delete the cast version of the pointer instead.
22676
22677Sat Mar 31 06:17:20 BST 2007  Olly Betts <olly@survex.com>
22678
22679	* AUTHORS: Add a number of bug reporters I missed before.
22680
22681Sat Mar 31 04:49:27 BST 2007  Olly Betts <olly@survex.com>
22682
22683	* configure.ac: Clean up handling of --enable-backend-* options.  Let
22684	  mingw try to build the remote backend.
22685
22686Sat Mar 31 03:47:49 BST 2007  Olly Betts <olly@survex.com>
22687
22688	* tests/internaltest.cc: Don't compile test_serialisequery1
22689	  if the remote backend is disabled to avoid an "unused
22690	  function" warning (we were already disabling the use of
22691	  it).
22692
22693Fri Mar 30 22:43:27 BST 2007  Olly Betts <olly@survex.com>
22694
22695	* HACKING: Correct several inaccuracies: --enable-debug and
22696	  --enable-debug=partial don't cause the build system to compile in
22697	  debugging symbols (configure defaults to adding "-g" for GCC, while
22698	  for other compilers you must enable them by hand).  Also,
22699	  --enable-debug doesn't "produce warnings", but causes
22700	  Xapian::AssertionError to be thrown.  Add explanation for why
22701	  --enable-debug=partial" exists.  CC_FOR_BUILD is now needed for
22702	  snowball as well as lemon.
22703
22704Fri Mar 30 19:53:05 BST 2007  Olly Betts <olly@survex.com>
22705
22706	* common/utils.cc: Avoid GCC warning on format string "%I64d".
22707
22708Fri Mar 30 16:48:46 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22709
22710	* common/tcpserver.h,net/tcpserver.cc: Patch from Mark Hammond:
22711	  implement for windows.
22712
22713Fri Mar 30 16:21:03 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22714
22715	* common/tcpclient.h,net/tcpclient.cc: Patch from Mark Hammond:
22716	  implement for windows.
22717
22718Fri Mar 30 15:52:57 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22719
22720	* tests/harness/backendmanager.cc: Patch from Mark Hammond:
22721	  implement launcher for tcpserver, so that remotetcp tests can run
22722	  on windows.
22723
22724Fri Mar 30 15:42:49 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22725
22726	* common/safewindows.h: Include xapian/error.h so
22727	  WinsockInitialiser can throw an exception.
22728
22729Fri Mar 30 14:59:40 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22730
22731	* More code from Mark Hammond's patch
22732	* common/remoteconnection.h: Add explicit destructor and (for
22733	  windows compiles) a declare a helper method to calculate the
22734	  number of milliseconds until a timeout.
22735	* net/remoteconnection.cc: Implement windows versions for functions
22736	  which need it: constructor and destructor now do create and close
22737	  the overlapped IO stuff, read_at_least() and send_message() have
22738	  windows specific implementations.
22739
22740Fri Mar 30 13:05:27 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22741
22742	* More code adapted from Mark Hammond's patch
22743	* common/safewindows.h: When remote databases are compiled in,
22744	  include the winsock stuff, and define some useful bits and pieces
22745	  for using it.
22746	* common/remoteconnection.h: Add a member to RemoteConnection on
22747	  windows to hold an overlapped IO structure.
22748	* net/progclient.cc: Don't include winsock stuff directly (it's now
22749	  brought in by "safewindows.h"), and don't include <sys/wait.h> on
22750	  windows.
22751	* net/remoteserver.cc: Ignore more SIGPIPE stuff on windows.
22752
22753Fri Mar 30 12:37:15 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22754
22755	* Patch from Mark Hammond
22756	* backends/dbfactory_remote.cc: Ignore code to handle SIGPIPE on
22757	  windows, where it doesn't exist.
22758	* backends/remote/remote-database.cc: Raise UnimplementedError on
22759	  windows if a progclient backend is requested.
22760
22761Fri Mar 30 12:11:50 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22762
22763	* tests/harness/testsuite.cc: Fix srcdir guessing on windows -
22764	  search for windows style directory separators, and remove .exe
22765	  suffix from executable name.  Adapted from Mark Hammond's patch.
22766
22767Thu Mar 29 18:32:18 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22768
22769	* Changes related to Mark Hammond's patch:
22770	* common/safeerrno.h: Define a new inline function "socket_errno()"
22771	  which returns an error number relating to the last error caused
22772	  by a socket function on platforms which make such a distinction,
22773	  and the value of errno on other platforms.
22774	* net/tcpclient.cc,net/tcpserver.cc: Use the socket_errno()
22775	  function instead of checking the value of errno.  Also, check for
22776	  WSAEWOULDBLOCK instead of EINPROGRESS on windows.
22777
22778Thu Mar 29 15:36:45 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22779
22780	* bin/xapian-tcpsrv.cc,tests/harness/testsuite.cc: First of many
22781	  parts of a large patch from Mark Hammond working towards enabling
22782	  remote databases on windows.  When displaying errors which might
22783	  be socket errors, display the error number as well as the output
22784	  of strerror - on windows, strerror doesn't display useful
22785	  information for socket errors.
22786	* AUTHORS: Add Mark Hammond
22787
22788Thu Mar 29 06:07:35 BST 2007  Olly Betts <olly@survex.com>
22789
22790	* api/omqueryinternal.cc: Unserialisation shouldn't reject a
22791	  serialised query which ends after a termname.
22792	* tests/internaltest.cc: Add regression test.
22793
22794Wed Mar 28 17:17:42 BST 2007  Olly Betts <olly@survex.com>
22795
22796	* tests/queryparsertest.cc: Add feature tests for "prefer_mdy" and
22797	  "epoch" arguments of DateValueRangeProcessor.
22798
22799Wed Mar 28 04:52:34 BST 2007  Olly Betts <olly@survex.com>
22800
22801	* tests/queryparsertest.cc: Add more test cases for parsing of value
22802	  ranges.
22803
22804Wed Mar 28 04:18:14 BST 2007  Olly Betts <olly@survex.com>
22805
22806	* languages/compiler/generator.c,languages/compiler/header.h,
22807	  languages/steminternal.cc,languages/steminternal.h: For among with
22808	  functions (only used by finnish and lovins stemmers currently),
22809	  change to generating an array of unsigned byte offsets into an array
22810	  of function pointers rather than just an array of function pointers
22811	  - this generally requires a lot less space.
22812
22813Wed Mar 28 03:28:37 BST 2007  Olly Betts <olly@survex.com>
22814
22815	* queryparser/queryparser.lemony: Fix parsing of `hello a..b'.
22816	* tests/queryparsertest.cc: Add regression test for above.  Refactor
22817	  qp_value_range1 to use a table of queries.
22818
22819Wed Mar 28 00:35:50 BST 2007  Olly Betts <olly@survex.com>
22820
22821	* languages: Update svn:ignore for recent romanian changes.
22822
22823Wed Mar 28 00:08:11 BST 2007  Olly Betts <olly@survex.com>
22824
22825	* api/valuerangeproc.cc: Need #include <stdio.h> for snprintf or
22826	  sprintf.
22827
22828Tue Mar 27 23:53:18 BST 2007  Olly Betts <olly@survex.com>
22829
22830	* queryparser/queryparser.lemony: Fix infinite loop in value range
22831	  processing.  Fix value range to work as a filter when used with a
22832	  probabilistic query.
22833	* tests/queryparsertest.cc: Add regression tests for the above two
22834	  issues.  Refactor qp_value_range2 to use a table of queries.
22835
22836Tue Mar 27 22:09:57 BST 2007  Olly Betts <olly@survex.com>
22837
22838	* api/valuerangeproc.cc: Assume that the start date is before the
22839	  end date to help decide ambiguous cases.
22840
22841Tue Mar 27 21:49:15 BST 2007  Olly Betts <olly@survex.com>
22842
22843	* api/valuerangeproc.cc: Refactor to simplify and reduce duplication.
22844
22845Tue Mar 27 21:41:38 BST 2007  Olly Betts <olly@survex.com>
22846
22847	* configure.ac: datarootdir is new in 2.60 too, so use datadir when
22848	  setting docdir for 2.59.
22849
22850Tue Mar 27 18:39:11 BST 2007  Olly Betts <olly@survex.com>
22851
22852	* api/Makefile.mk,api/valuerangeproc.cc,include/xapian/queryparser.h:
22853	  Move NumberValueRangeProcessor::operator()() out of the header as
22854	  it's too complex for sane inlining.  Implement handling of dmy and
22855	  mdy dates and epochs for 2 digit years.
22856	* tests/queryparsertest.cc: Add tests.
22857
22858Tue Mar 27 11:57:53 BST 2007  Richard Boulton <richard@lemurconsulting.com>
22859
22860	* languages/romanian.sbl: Add Martin Porter's new romanian stemming
22861	  algorithm.
22862	* languages/romanian1.sbl,langauges/romanian2.sbl: Remove old
22863	  romanian stemming algorithms.
22864	* languages/Makefile.mk: Replace romanian1 and romanian2 by
22865	  romanian.
22866	* languages/stem.cc: Use romanian stemmer when asked for "ro" or
22867	  "romanian".  No longer give a stemmer for "romanian1" or
22868	  "romanian2".
22869
22870Tue Mar 27 04:50:36 BST 2007  Olly Betts <olly@survex.com>
22871
22872	* languages/german2.sbl: Copy over "hop 3" in utf-8 case from
22873	  snowball's latest version.
22874
22875Tue Mar 27 04:44:52 BST 2007  Olly Betts <olly@survex.com>
22876
22877	* tests/stemtest.cc: Remove lower casing of dictionary words before
22878	  stemming - instead we'll make sure the dictionary is already the
22879	  right case.
22880
22881Tue Mar 27 04:28:10 BST 2007  Olly Betts <olly@survex.com>
22882
22883	* languages/compiler/analyser.c,languages/compiler/generator.c,
22884	  languages/compiler/header.h,languages/steminternal.cc,
22885	  languages/steminternal.h: Add handling of among with functions.
22886	  We use a "shim" functions for each method we want to call in
22887	  this way.  The shim function is passed the "this" pointer and
22888	  calls a particular method on this.  Split the functions into
22889	  an optional separate array, since they're not used by most of
22890	  the stemming algorithms.
22891	* languages/Makefile.mk,languages/stem.cc: Enable the finnish
22892	  and lovins stemmers.
22893
22894Tue Mar 27 04:24:37 BST 2007  Olly Betts <olly@survex.com>
22895
22896	* languages/steminternal.cc: Fix typo bug in slice_to - if we needed
22897	  to increase the capacity of a snowball string variable, we trashed
22898	  the variable with p (bug discovered while trying to enable the
22899	  finnish stemmer).
22900
22901Tue Mar 27 02:55:51 BST 2007  Olly Betts <olly@survex.com>
22902
22903	* include/xapian/queryparser.h: Implement handling of ISO format dates
22904	  in DateValueRangeProcessor.
22905	* tests/queryparsertest.cc: Add feature tests.
22906
22907Tue Mar 27 01:47:36 BST 2007  Olly Betts <olly@survex.com>
22908
22909	* include/xapian/queryparser.h: Implement prefix and suffix handling
22910	  for NumberValueRangeProcessor.
22911	* tests/queryparsertest.cc: Add feature tests.
22912
22913Mon Mar 26 22:26:48 BST 2007  Olly Betts <olly@survex.com>
22914
22915	* queryparser/utf8itor.h: Add is_currency() predicate function.
22916	* queryparser/queryparser.lemony: Rejig parsing of RANGE_START to
22917	  allow all characters which are likely to be required.
22918	* tests/queryparsertest.cc: Test RANGE_START can contain "/".
22919	* queryparser/queryparser.lemony: Set "syntax=yacc" for vim, which
22920	  give fairly decent syntax highlighting.
22921
22922Mon Mar 26 15:43:50 BST 2007  Olly Betts <olly@survex.com>
22923
22924	* configure.ac: Use m4 comments not shell (dnl not #).
22925
22926Mon Mar 26 15:41:41 BST 2007  Olly Betts <olly@survex.com>
22927
22928	* configure.ac: Add code to ensure that docdir is set for autoconf
22929	  2.59 (starting from 2.60, it is defined as standard).
22930	* docs/Makefile.am: Use docdir for installing docs.
22931
22932Sun Mar 25 15:41:16 BST 2007  Olly Betts <olly@survex.com>
22933
22934	* bin/xapian-compact.cc: Prune unused docids off the start of each
22935	  source database's range of docid.
22936
22937Sat Mar 24 23:07:42 GMT 2007  Olly Betts <olly@survex.com>
22938
22939	* include/xapian/base.h: Add a note explaining why it's OK that
22940	  RefCntBase doesn't have a virtual destructor.
22941
22942Sat Mar 24 01:30:17 GMT 2007  Olly Betts <olly@survex.com>
22943
22944	* HACKING,configure.ac: Bump the automake required version to 1.9.5.
22945	  It was in Debian sarge, so any modern Linux distro should include
22946	  packages, and we've actually been bootstrapping with 1.9.6 for ages.
22947
22948Thu Mar 22 00:53:35 GMT 2007  Olly Betts <olly@survex.com>
22949
22950	* configure.ac: Disable probes for f77 more completely by preventing
22951	  the probe code from even appearing in configure.  Similarly
22952	  eliminate the code for gcj and rc probes - in total these changes
22953	  reduce the size of configure by 209KB (~25%).
22954
22955Fri Mar 09 14:28:01 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
22956
22957	* Makefile.am: Add include/xapian/error.h to list of headers to
22958	  install.
22959
22960Thu Mar 08 17:16:08 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
22961
22962	* generate-exceptions.in,exception_data.pm: Split definitions of
22963	  the exception hierarchy into a separate file, so it can be reused
22964	  elsewhere.
22965	* Makefile.am: Add exception_data.pm as a dependency for generating
22966	  error.h, and add it to EXTRA_DIST.
22967
22968Fri Mar 09 06:42:40 GMT 2007  Olly Betts <olly@survex.com>
22969
22970	* backends/flint/flint_cursor.cc,backends/flint/flint_cursor.h: We
22971	  always ignore the return value from FlintCursor::get_key() because
22972	  we only call it when it shouldn't fail, so restructure the code so
22973	  it can't fail and change the return value to void.
22974
22975Fri Mar 09 06:33:09 GMT 2007  Olly Betts <olly@survex.com>
22976
22977	* configure.ac: Suppress another aCC warning.
22978
22979Thu Mar 08 20:39:46 GMT 2007  Olly Betts <olly@survex.com>
22980
22981	* queryparser/queryparser.lemony,tests/queryparsertest.cc: Allow
22982	  arbitrary characters in a range end (anything except whitespace
22983	  and ')').
22984
22985Thu Mar 08 19:46:46 GMT 2007  Olly Betts <olly@survex.com>
22986
22987	* Makefile.am,languages/Makefile.mk: Depend on the autoconf
22988	  substituted version of a script, not the template version.  The
22989	  only thing we substitute is @PERL@, but configure won't update
22990	  a substituted file which hasn't changed so it's better to put
22991	  the dependency on the script itself where it belongs.
22992
22993Thu Mar 08 17:09:21 GMT 2007  Olly Betts <olly@survex.com>
22994
22995	* queryparser/queryparser.lemony,tests/queryparsertest.cc: Keep any
22996	  non-whitespace, non-term prefix for a term in case it turns out
22997	  to be the start of a range, so "$50..100" works.
22998
22999Thu Mar 08 16:21:14 GMT 2007  Olly Betts <olly@survex.com>
23000
23001	* HACKING: Add my "create docs/GNUmakefile" trick to avoid doxygen
23002	  delays.
23003
23004Thu Mar 08 16:13:39 GMT 2007  Olly Betts <olly@survex.com>
23005
23006	* HACKING: A few more coding guidelines.
23007
23008Thu Mar 08 14:26:21 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
23009
23010	* HACKING: Adjust wording to indicate that the build system is
23011	  indended not to break after SVN updates.
23012
23013Thu Mar 08 07:34:22 GMT 2007  Olly Betts <olly@survex.com>
23014
23015	* include/xapian/queryparser.h,tests/queryparsertest.cc: Add simple
23016	  implementations of DateValueRangeProcessor and
23017	  NumberValueRangeProcessor and add qp_value_range2 to check that
23018	  chaining ValueRangeProcessor subclasses works as intended.
23019
23020Thu Mar 08 06:06:15 GMT 2007  Olly Betts <olly@survex.com>
23021
23022	* docs/overview.html: Fix links to error classes in generated API
23023	  documentation.
23024
23025Thu Mar 08 05:37:13 GMT 2007  Olly Betts <olly@survex.com>
23026
23027	* include/xapian/queryparser.h,queryparser/queryparser.cc,
23028	  queryparser/queryparser.lemony,queryparser/queryparser_internal.h,
23029	  tests/queryparsertest.cc: Add the ability to parse "value ranges"
23030	  to the QueryParser (e.g. "10..50") which translate into a Query
23031	  with operator OP_VALUE_RANGE.
23032
23033Thu Mar 08 04:27:54 GMT 2007  Olly Betts <olly@survex.com>
23034
23035	* include/xapian/queryparser.h,queryparser/queryparser.cc: Remove
23036	  QueryParser::set_stemming_options() which has been deprecated
23037	  since 0.9.0.
23038
23039Thu Mar 08 03:37:07 GMT 2007  Olly Betts <olly@survex.com>
23040
23041	* backends/flint/flint_lock.cc: Handle write failing to send a single
23042	  byte down down the pipe to tell the parent we've got the lock (a
23043	  potential bug noticed by _FORTIFY_SOURCE!)  Handle read() failing
23044	  with an unexpected error on the parent side by failing the lock
23045	  attempt rather than risking an infinite loop.
23046
23047Thu Mar 08 02:52:26 GMT 2007  Olly Betts <olly@survex.com>
23048
23049	* include/xapian/types.h: Rewritten, with more accurate documentation
23050	  comments.  Add constant Xapian::BAD_VALUENO which is -1 cast to
23051	  Xapian::valueno.
23052	* api/omenquire.cc,include/xapian/enquire.h,matcher/multimatch.cc: Use
23053	  Xapian::BAD_VALUENO instead of Xapian::valueno(-1).
23054
23055Thu Mar 08 01:47:08 GMT 2007  Olly Betts <olly@survex.com>
23056
23057	* docs/Makefile.am: Try putting apidoc/html in EXTRA_DIST instead of
23058	  using dist-hook.
23059
23060Wed Mar 07 23:16:52 GMT 2007  Olly Betts <olly@survex.com>
23061
23062	* docs/Makefile.am: Stop shipping docs/apidoc/latex/* in the
23063	  xapian-core tarballs since it's just useless bloat.  Removing it
23064	  more than halves the size of the tarball (55% reduction!)
23065
23066Wed Mar 07 22:07:31 GMT 2007  Olly Betts <olly@survex.com>
23067
23068	* tests/runtest.in: If we aren't using valgrind, turn on
23069	  MALLOC_CHECK_ and MALLOC_PERTURB_ for glibc.
23070
23071Wed Mar 07 20:02:31 GMT 2007  Olly Betts <olly@survex.com>
23072
23073	* INSTALL: CVS -> SVN.
23074
23075Wed Mar 07 20:00:37 GMT 2007  Olly Betts <olly@survex.com>
23076
23077	* configure.ac: Define _FORTIFY_SOURCE in config.h if GCC is in use
23078	  and it's not already set.  That way the user can easily override.
23079	* INSTALL: Document this.
23080
23081Wed Mar 07 19:53:15 GMT 2007  Olly Betts <olly@survex.com>
23082
23083	* INSTALL: Remove reference to muscat36 backend.
23084
23085Wed Mar 07 17:37:07 GMT 2007  Olly Betts <olly@survex.com>
23086
23087	* configure.ac: Note GCC and glibc versions needed for _FORTIFY_SOURCE
23088	  support.
23089
23090Wed Mar 07 16:29:02 GMT 2007  Olly Betts <olly@survex.com>
23091
23092	* queryparser/lemon.c: Increase the length allowed for the filename
23093	  in an error message, as it was being truncated which makes for a
23094	  confusing error message and stops editors jumping to the line with
23095	  the error in.
23096
23097Wed Mar 07 15:57:15 GMT 2007  Olly Betts <olly@survex.com>
23098
23099	* common/Makefile.mk: Ship common/msvc_posix_wrapper.h and
23100	  common/msvc_posix_wrapper.cc.
23101
23102Wed Mar 07 10:01:31 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
23103
23104	* configure.ac: Add -D_FORTIFY_SOURCE to AM_CXXFLAGS for GCC
23105	  builds.  According to glibc CVS support for this was added in
23106	  October 2004, but it doesn't seem to be documented very well,
23107	  other than in features.h.  This adds some extra checking for
23108	  array bounds, partially at compile time, but doesn't currently
23109	  find any problems (or cause any noticeable slowdown).
23110
23111Wed Mar 07 04:49:01 GMT 2007  Olly Betts <olly@survex.com>
23112
23113	* api/omqueryinternal.cc: Include str_parameter in swap() and the copy
23114	  constructor.
23115	* tests/api_anydb.cc: get_mset(0, 20) not get_mset(1, 20)!  Also check
23116	  that we didn't miss any documents which should match the filter, not
23117	  just that we didn't get any documents which shouldn't.
23118
23119Wed Mar 07 03:07:49 GMT 2007  Olly Betts <olly@survex.com>
23120
23121	* tests/harness/unixcmds.h: Fixed reverse sense include guard test.
23122	* tests/api_db.cc: Still need #include "utils.h".
23123	* tests/harness/backendmanager.cc: Update for rmdir.h -> unixcmds.h
23124	  and rmdir() -> rm_rf().
23125
23126Wed Mar 07 02:22:30 GMT 2007  Olly Betts <olly@survex.com>
23127
23128	* backends/quartz/btree.cc,backends/quartz/quartz_database.cc,
23129	  backends/quartz/quartz_log.cc,common/utils.h,net/remoteconnection.cc,
23130	  net/tcpclient.cc,tests/api_db.cc,tests/btreetest.cc,tests/harness/,
23131	  tests/quartztest.cc: Rename rmdir() to rm_rf() since it does the
23132	  same as "rm -rf" not "rmdir".  The "touch()" function is only used
23133	  in the testsuite so move it from common/utils.h into
23134	  tests/harness/rmdir.cc and rename rmdir.cc to unixcmds.cc.
23135	  common/utils.h no longer include safefcntl.h, so add explicit
23136	  includes to the files which were previous relying on utils.h pulling
23137	  it in.
23138
23139Wed Mar 07 02:21:18 GMT 2007  Olly Betts <olly@survex.com>
23140
23141	* xapian.spec.in: Include ChangeLog.examples.
23142
23143Wed Mar 07 02:17:59 GMT 2007  Olly Betts <olly@survex.com>
23144
23145	* docs/index.html,docs/internals.html: Create a separate index page
23146	  for the "internal" documentation.
23147
23148Tue Mar 06 23:47:58 GMT 2007  Olly Betts <olly@survex.com>
23149
23150	* common/utils.cc,common/utils.h: Remove map_string_to_value() which
23151	  is no longer used.
23152	* common/utils.h: Remove prototype for rmdir() which I failed to
23153	  remove with the earlier commit.
23154
23155Tue Mar 06 22:51:51 GMT 2007  Olly Betts <olly@survex.com>
23156
23157	* tests/harness/rmdir.cc: Fix rmdir() on Unix to not be O(n^2) in the
23158	  worst case.
23159
23160Tue Mar 06 22:46:30 GMT 2007  Olly Betts <olly@survex.com>
23161
23162	* docs/Makefile.am: Use the "inline test || echo" idiom to merge the
23163	  VPATH and non-VPATH cases for distributing and installing the HTML
23164	  apidocs.
23165
23166Tue Mar 06 22:13:03 GMT 2007  Olly Betts <olly@survex.com>
23167
23168	* api/omqueryinternal.cc: Fix Query::get_description() on an
23169	  OP_VALUE_RANGE query.
23170
23171Tue Mar 06 09:03:33 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
23172
23173	* HACKING: Note on running preautoreconf and autoreconf to keep SVN
23174	  builds working.
23175	* PLATFORMS: Update with success reports for windows builds.
23176
23177Tue Mar 06 01:57:23 GMT 2007  Olly Betts <olly@survex.com>
23178
23179	* tests/internaltest.cc: Comment out the "unsigned long long" testcase
23180	  in tostring1 since the library doesn't currently have (or need) the
23181	  utility function for that case.
23182
23183Tue Mar 06 01:49:55 GMT 2007  Olly Betts <olly@survex.com>
23184
23185	* common/utils.cc,tests/btreetest.cc,tests/harness/,
23186	  tests/quartztest.cc: rmdir() is only used in the test suite, and not
23187	  in the library code, so move it into the testsuite.  Also, bow out
23188	  early if the pathname passed is empty, and on Unix protect against
23189	  filenames which start with "-".
23190
23191Mon Mar 05 02:52:49 GMT 2007  Olly Betts <olly@survex.com>
23192
23193	* configure.ac: Suppress more unhelpful aCC warnings.
23194
23195Mon Mar 05 02:15:29 GMT 2007  Olly Betts <olly@survex.com>
23196
23197	* tests/internaltest.cc: Add testcase autoptr1 which tests that an
23198	  autoptr correctly handles self-assignment.
23199
23200Mon Mar 05 02:05:53 GMT 2007  Olly Betts <olly@survex.com>
23201
23202	* tests/internaltest.cc: Rename "omtostring1" to "tostring1" (we don't
23203	  want to perpetuate references to "om"!)  Add more test cases to this
23204	  test.
23205
23206Mon Mar 05 01:18:17 GMT 2007  Olly Betts <olly@survex.com>
23207
23208	* configure.ac: Update in line with 0.9.10.
23209
23210Sun Mar 04 23:58:29 GMT 2007  Olly Betts <olly@survex.com>
23211
23212	* AUTHORS: Add reporters of bugs fixed in 0.9.10 to the "thanks" list.
23213
23214Sun Mar 04 00:44:17 GMT 2007  Olly Betts <olly@survex.com>
23215
23216	* api/errorhandler.cc,include/xapian/errorhandler.h: Move virtual
23217	  dtor for ErrorHandler out of the header.  Same reasons as previous
23218	  commit.
23219
23220Sun Mar 04 00:40:44 GMT 2007  Olly Betts <olly@survex.com>
23221
23222	* api/omenquire.cc,include/xapian/enquire.h,matcher/Makefile.mk,
23223	  matcher/weight.cc: Move virtual method definitions out of headers
23224	  for MatchDecider, ExpandDecider, Weight, BoolWeight.  This fixes
23225	  warnings from aCC, and it's rare that the compiler would be able
23226	  to inline a virtual method anyway.
23227
23228Sat Mar 03 21:40:43 GMT 2007  Olly Betts <olly@survex.com>
23229
23230	* configure.ac: For HP's aCC, we no longer need to suppress warning
23231	  #336 (empty translation unit) since dummy.cc is history.  But we
23232	  do want to suppress a couple of frequently reported "remarks" which
23233	  are unavoidable and don't indicate a problem.  Experimentally, add
23234	  "+wlint" for "link-like" warnings.
23235
23236Sat Mar 03 21:38:52 GMT 2007  Olly Betts <olly@survex.com>
23237
23238	* include/xapian.h,include/xapian/version_h.cc: Move function
23239	  prototypes into a non-generated header.
23240	* configure.ac,msvc/version.h.in: Generate version.h suitable for use
23241	  with MSVC.
23242	* Makefile.am: Distribute msvc/version.h.
23243
23244Sat Mar 03 19:49:11 GMT 2007  Olly Betts <olly@survex.com>
23245
23246	* tests/harness/backendmanager.cc: Rework how we start and handle
23247	  xapian-tcpsrv - it's now started by exec from a child process.
23248	  This means that the mechanism to try higher port numbers works
23249	  reliably, and we no longer leak file descriptors (which was causing
23250	  tests to fail on some platforms).
23251
23252Sat Mar 03 19:46:03 GMT 2007  Olly Betts <olly@survex.com>
23253
23254	* bin/xapian-tcpsrv.cc: Put "e.get_errno()" in a variable for clearer
23255	  code.
23256
23257Sat Mar 03 16:01:17 GMT 2007  Olly Betts <olly@survex.com>
23258
23259	* common/msvc_posix_wrapper.cc: Change `#include <fcntl.h>' to
23260	  `#include "safefcntl.h"' (currently makes no difference on
23261	  Windows, but it's more consistent to always use the safeXXX
23262	  headers).
23263	* common/msvc_posix_wrapper.cc: Merge two ECHILD cases.
23264	* common/msvc_posix_wrapper.cc: Make sure dwCreationDisposition
23265	  is initialised even if flags has a bogus value.
23266	* common/msvc_posix_wrapper.cc: Be consistent and always use O_CREAT,
23267	  etc, instead of sometimes using the MS alternative forms _O_CREAT,
23268	  etc.
23269
23270Sat Mar 03 03:25:05 GMT 2007  Olly Betts <olly@survex.com>
23271
23272	* generate-exceptions.in: The GCC visibility docs aren't clear whether
23273	  you need to make *thrown* exception types visible, or also *caught*
23274	  exception types.  But I've just been having odd problems catching
23275	  Xapian::DocNotFoundError with "const Xapian::Error &", so let's mark
23276	  the exception virtual baseclass Xapian::Error as visible too.
23277
23278Fri Mar 02 22:34:04 GMT 2007  Olly Betts <olly@survex.com>
23279
23280	* languages/Makefile.mk,languages/generate-allsnowballheaders.in:
23281	  Convert unreadable make rule for generating allsnowballheaders.h
23282	  to a perl script.
23283	* configure.ac: Substitute languages/allsnowballheaders.
23284
23285Fri Mar 02 14:31:11 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
23286
23287	* tests/internaltest.cc: Add a test for om_tostring(), mainly
23288	  aimed at 64 bit types on windows platforms.  Mingw builds report
23289	  a warning in this code, which merits further investigation - see
23290	  Bug #112 for details.
23291
23292Fri Mar 02 14:15:44 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
23293
23294	* common/msvc_posix_wrapper.cc: Improve accuracy of emulation of
23295	  posix open, and fix a bug which caused it to misinterpret the
23296	  "flags" argument - files were always being opened for writing:
23297	  O_RDONLY is 0, so the old test (flags & O_RDONLY) always
23298	  failed.
23299
23300Fri Mar 02 12:44:33 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
23301
23302	* common/msvc_posix_wrapper.cc: Fix whitespace issues.
23303
23304Fri Mar 02 12:18:42 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
23305
23306	* HACKING: Add note about how to generate ChangeLog timestamps
23307	  using the unix date command - and I've started generating them in
23308	  the same format as Olly is. (I hope.)
23309
23310Fri Mar  2 11:49:11 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
23311
23312	* common/msvc_posix_wrapper.h,common/safeerrno.h,
23313	  common/msvc_posix_wrapper.cc,backends/quartz/btree.cc,
23314	  backends/flint/flint_table.cc,backends/flint/flint_btreebase.cc:
23315	  Move MSVC specific code for opening files into
23316	  msvc_posix_wrapper.cc, and just leave a few conditional includes
23317	  and function calls elsewhere.
23318
23319Thu Mar 01 22:51:42 GMT 2007  Olly Betts <olly@survex.com>
23320
23321	* queryparser/queryparser.lemony: Add casts to U_isupper(), etc to
23322	  suppress warnings from aCC.
23323	* queryparser/queryparser.lemony: Use U_isdigit() instead of
23324	  C_isdigit(), etc - the truncation to a char can cause false
23325	  positives.
23326	* tests/queryparsertest.cc: Add a (rather contrived) regression test
23327	  for the above change.
23328
23329Thu Mar 01 21:49:37 GMT 2007  Olly Betts <olly@survex.com>
23330
23331	* queryparser/utf8itor.h: Add cast to suppress warning from aCC.
23332
23333Thu Mar  1 15:27:09 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
23334
23335	* common/utils.c,common/utils.h: For windows, add an om_tostring()
23336	  function for 64 bit integers: time() and GetProcessId() return
23337	  these, and without this, backends/quartz/quartz_log.cc reports
23338	  an error.
23339
23340Thu Mar  1 13:48:46 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
23341
23342	* queryparser/queryparser.lemony: Fix handling of hated wildcards
23343	  which don't expand to any terms.
23344
23345Thu Mar  1 13:45:04 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
23346
23347	* tests/queryparsertest.cc: Fix last two test cases for hated
23348	  wildcards to check for exactly what should be returned.
23349
23350Thu Mar  1 12:02:04 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
23351
23352	* common/safeerrno.h: Some of Microsoft's C++ compiler versions
23353	  earlier than 2005 do not have _set_errno, so #define it in this
23354	  case.
23355
23356Thu Mar 01 04:28:23 GMT 2007  Olly Betts <olly@survex.com>
23357
23358	* backends/quartz/btree.h: Correct comment ("read" -> "write").
23359
23360Thu Mar 01 04:21:52 GMT 2007  Olly Betts <olly@survex.com>
23361
23362	* backends/flint/flint_table.h: Correct comment ("read" -> "write").
23363
23364Thu Mar 01 01:30:02 GMT 2007  Olly Betts <olly@survex.com>
23365
23366	* tests/queryparsertest.cc: Add some test cases for hated wildcards
23367	  which don't expand to any terms.
23368
23369Thu Mar 01 01:21:42 GMT 2007  Olly Betts <olly@survex.com>
23370
23371	* api/omqueryinternal.cc: Complete truncated comment.  Prefer
23372	  preincrement to postincrement.
23373
23374Wed Feb 28 20:13:35 GMT 2007  Olly Betts <olly@survex.com>
23375
23376	* api/omdocument.cc: Really tweak OmDocumentTerm::add_position() so
23377	  that adding position 0 to an empty termlist takes the shortcut.
23378
23379Wed Feb 28 15:04:25 GMT 2007  Olly Betts <olly@survex.com>
23380
23381	* common/safeerrno.h: Correct <safeerrno.h> to "safeerrno.h" in
23382	  message in #error directive.
23383
23384Wed Feb 28 14:59:29 GMT 2007  Olly Betts <olly@survex.com>
23385
23386	* include/xapian/query.h: Removed documentation comment for
23387	  Xapian::Query::Internal which is no longer relevant (Query objects
23388	  are now immutable once constructed, so parameters can no longer be
23389	  set separately).
23390
23391Wed Feb 28 02:42:31 GMT 2007  Olly Betts <olly@survex.com>
23392
23393	* api/omqueryinternal.cc: Add support for serialising OP_VALUE_RANGE
23394	  queries.  Add support for OP_VALUE_RANGE queries to
23395	  Query::get_description().  If an OP_VALUE_RANGE query has a start
23396	  bound strictly greater than its end bound, simplify it by knowing
23397	  that it can't match anything.
23398	* common/remoteprotocol.h,docs/remote_protocol.html: Bump remote
23399	  protocol version to 24.
23400
23401Wed Feb 28 01:15:00 GMT 2007  Olly Betts <olly@survex.com>
23402
23403	* api/omquery.cc,api/omqueryinternal.cc,include/xapian/query.h,
23404	  matcher/: Add new Query operator OP_VALUE_RANGE which allows
23405	  a query to be filtered by checking if a value lies between
23406	  two limits.
23407	* tests/api_anydb.cc: Add feature test valuerange1.
23408
23409Wed Feb 28 01:07:53 GMT 2007  Olly Betts <olly@survex.com>
23410
23411	* tests/harness/testsuite.cc: Only hook the testsuite into valgrind if
23412	  env var XAPIAN_TESTSUITE_VALGRIND is set, to make it simple to run a
23413	  test program under valgrind normally.
23414	* tests/runtest.in: Set XAPIAN_TESTSUITE_VALGRIND if automatically
23415	  running a test program under valgrind.
23416
23417Tue Feb 27 23:51:34 GMT 2007  Olly Betts <olly@survex.com>
23418
23419	* tests/Makefile.am: Turn subdir-objects back on here so that the
23420	  harness objects end up in the harness subdirectory.
23421
23422Tue Feb 27 22:45:04 GMT 2007  Olly Betts <olly@survex.com>
23423
23424	* examples/delve.cc: Rename "-k" to "-V" since "keys" were renamed to
23425	  "values" long ago.  Keep "-k" as an alias for now, but don't
23426	  advertise it.  Add handling so "-V3" shows value #3 for every
23427	  document in the database.
23428
23429Tue Feb 27 21:35:35 GMT 2007  Olly Betts <olly@survex.com>
23430
23431	* tests/Makefile.am,tests/remotetest.cc: Get rid of remotetest since
23432	  it no longer does anything.
23433
23434Tue Feb 27 21:28:28 GMT 2007  Olly Betts <olly@survex.com>
23435
23436	* tests/api_db.cc,tests/remotetest.cc: Move netstats1 from remotetest
23437	  to apitest.  It will now run for "remotetcp" as well as "remote".
23438
23439Tue Feb 27 21:27:17 GMT 2007  Olly Betts <olly@survex.com>
23440
23441	* tests/harness/backendmanager.cc,tests/harness/backendmanager.h:
23442	  Inline trivial getter and setter methods in the header.  Make
23443	  getter method const.
23444
23445Tue Feb 27 20:22:58 GMT 2007  Olly Betts <olly@survex.com>
23446
23447	* examples/delve.cc: Change to not stem terms by default.  Add
23448	  "-s/--stemmer" option to allow a stemmer to be specified.
23449
23450Tue Feb 27 17:50:13 GMT 2007  Olly Betts <olly@survex.com>
23451
23452	* backends/flint/flint_table.cc: Test revision_supplied rather than
23453	  revision_ so that behaviour matches comments.
23454
23455Tue Feb 27 16:58:56 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
23456
23457	* tests/api_wrdb.cc: Enhance crashrecovery1 to check that the
23458	  readers reference a database with the expected number of
23459	  documents.  This checks that the base files which were removed
23460	  were the correct ones to leave the current database valid.
23461
23462Tue Feb 27 16:54:31 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
23463
23464	* backends/quartz/btree.cc,backends/quartz/btree.h,
23465	  backends/quartz/quartz_database.cc: Apply fix for opening
23466	  databases while under heavy modification to quartz, using Olly's
23467	  attachment to bug #108:
23468	  http://www.xapian.org/cgi-bin/bugzilla/attachment.cgi?id=43
23469	  Verified with loadtest that this resolves the issue.
23470
23471Tue Feb 27 13:12:31 GMT 2007  Olly Betts <olly@survex.com>
23472
23473	* tests/harness/backendmanager.h: Add get_dbtype() method to allow the
23474	  current backend type to be read.
23475	* tests/apitest.cc,tests/apitest.h: Add get_dbtype() function to allow
23476	  BackendManager::get_dbtype() to be called by tests.
23477	* tests/api_wrdb.cc: Add new test crashrecovery1 to verify that the
23478	  backend can recover from the latest revision missing some of the
23479	  base files.
23480
23481Tue Feb 27 12:45:00 GMT 2007  Olly Betts <olly@survex.com>
23482
23483	* tests/harness/backendmanager.cc: Fix how we start xapian-progsrv
23484	  when running under valgrind.
23485
23486Tue Feb 27 11:34:22 GMT 2007  Olly Betts <olly@survex.com>
23487
23488	* backends/flint/flint_database.cc: Remove the old throw for
23489	  DatabaseOpeningError so the new throw for DatabaseModifiedError will
23490	  actually be used.
23491
23492Tue Feb 27 09:22:52 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
23493
23494	* flint_table.cc,flint_table.h,flint_database.cc: If a database is
23495	  being frequently modified (ie, transactions committed extremely
23496	  frequently), flint can fail open all the tables at a consistent
23497	  revision on the first attempt.  The code to handle this in
23498	  flint_database.cc was not firing because flint_table.cc was
23499	  reporting all failures to open a table for reading by throwing an
23500	  exception.  This commit changes flint_table.cc to report failure
23501	  to open at a specific revision by returning false.
23502
23503	  In addition, there was a bug in flint_database.cc which caused
23504	  the attempts to re-try opening a database in this situation to
23505	  fail.  This is now fixed.
23506
23507	  Finally, flint_database.cc now throws a DatabaseModified error if
23508	  100 attempts to reopen the database fail because of continual
23509	  modifications - previously, it would have thrown a
23510	  DatabaseOpening error.
23511
23512	  There is no easy regression test - but my "loadtest.cc" program
23513	  attached to bug #108 shows the problem (if you comment out the
23514	  code which ignores DatabaseOpeningErrors).
23515
23516Tue Feb 27 01:25:00 GMT 2007  Olly Betts <olly@survex.com>
23517
23518	* docs/doxygen_api_conf.in,docs/doxygen_full_conf.in: Need to
23519	  define DOXYGEN so that the previous change to the generated
23520	  errordispatch.h works.  Remove obsolete macros from
23521	  EXPAND_AS_DEFINED and PREDEFINED.
23522	* docs/doxygen_full_conf.in: Increase MAX_DOT_GRAPH_WIDTH from
23523	  800 to 1024 to match doxygen_api_conf.in.
23524
23525Tue Feb 27 00:41:47 GMT 2007  Olly Betts <olly@survex.com>
23526
23527	* matcher/multimatch.cc: Fix warning with SGI's CC.
23528
23529Tue Feb 27 00:35:06 GMT 2007  Olly Betts <olly@survex.com>
23530
23531	* generate-exceptions.in: Wrap errordispatch.h in "#ifndef DOXYGEN"
23532	  and "#endif" because doxygen gets confused by a header full of
23533	  code.
23534
23535Mon Feb 26 21:53:41 GMT 2007  Olly Betts <olly@survex.com>
23536
23537	* tests/findheaders.pl: Remove long unused perl script.
23538
23539Mon Feb 26 19:23:50 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
23540
23541	* tests/api_wrdb.c: test_emptyterm2 used to delete a writable
23542	  database whilst the database was open.  Unfortunately, this
23543	  doesn't work on windows (and it doesn't seem to be easy to make
23544	  it work), so this patch changes the test to close each database
23545	  before opening the next writable database at the same path.
23546	  Fortunately, this seems to be the only test which behaves like
23547	  this.  Also, added a note to the win32 README file to document
23548	  this restriction.
23549
23550Mon Feb 26 19:19:34 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
23551
23552	* docs/Makefile.am: touch apidoc/html/index.html after apidoc.pdf
23553	  is created so that make doesn't attempt to regenerate it due to
23554	  the dependency of apidoc/html/index.html on apidoc.pdf.
23555	  Similarly for sourcedoc/html/index.html.
23556
23557Mon Feb 26 18:36:22 GMT 2007  Olly Betts <olly@survex.com>
23558
23559	* tests/harness/backendmanager.cc: Indent with tabs not spaces.
23560	* tests/harness/index_utils.cc: Add missing space after "if";
23561	  prefer "X.empty()" to "X.size() == 0".
23562
23563Mon Feb 26 16:10:31 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
23564
23565	* tests/harness/index_utils.cc,tests/harness/backendmanager.cc:
23566	  Fix for windows: windows file handling seems to have a bug
23567	  causing end of file conditions in ifstream to be missed.  As a
23568	  result, an empty string was being returned from the get_paragraph
23569	  function in the test harness, resulting in an out-of-bounds error
23570	  when generating a value from the paragraph.  Add a check that the
23571	  paragraph returned isn't empty, and return an empty document if
23572	  it is.  Then, check for empty documents (ie, contain some terms)
23573	  before adding them to the test database.
23574
23575Mon Feb 26 16:05:07 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
23576
23577	* backends/quartz/btree_base.cc,backends/flint/flint_btreebase.cc:
23578	  Fix for windows: string append method with a pointer and length
23579	  causes a segfault-type error on windows if the pointer is NULL,
23580	  even if the length is also 0.  Check for this case when appending
23581	  the bitmap to the base block, since a NULL pointer is passed for
23582	  an empty bitmap when a new database is being created.
23583
23584	  Also, initialise the bit_map0 and bitmap members to 0 in the
23585	  FlintTable_base constructor which takes a string and a char
23586	  argument - they had been omitted from this and were only being
23587	  initialised by the constructor which takes no argument.  This
23588	  didn't seem to be having any negative effect, but doing it makes
23589	  the code neater.
23590
23591Sun Feb 25 23:21:11 GMT 2007  Olly Betts <olly@survex.com>
23592
23593	* backends/inmemory/inmemory_database.cc: Create the RefCntPtr to this
23594	  as an explicit variable to make the code more readable.
23595
23596Sun Feb 25 19:20:33 GMT 2007  Olly Betts <olly@survex.com>
23597
23598	* matcher/multimatch.cc: Fix inconsistent ordering between pages with
23599	  set_sort_by_value_then_relevance (fixes bug#110).
23600	* tests/api_wrdb.cc: Enabled test consistency2.
23601
23602Sun Feb 25 17:28:09 GMT 2007  Olly Betts <olly@survex.com>
23603
23604	* matcher/: Also apply the "decreasing weights with remote database"
23605	  optimisations which we use in the sort_by_relevance case in the
23606	  sort_by_relevance_then_value case.
23607
23608Sat Feb 24 19:35:41 GMT 2007  Olly Betts <olly@survex.com>
23609
23610	* backends/inmemory/inmemory_database.cc: If replace_document is used
23611	  to set the docid of a newly added document which has previously
23612	  existed, then we need to mark that document as valid (caught by
23613	  existing test replacedoc4 in a debug build).
23614
23615Sat Feb 24 17:11:22 GMT 2007  Olly Betts <olly@survex.com>
23616
23617	* tests/api_wrdb.cc: Add regression test consistency2 for bug#110
23618	  (currently skipped since the bug isn't fixed yet).
23619
23620Thu Feb 22 15:18:53 GMT 2007  Olly Betts <olly@survex.com>
23621
23622	* configure.ac: Add proper detection for SGI's C++ (check stderr
23623	  output of "CC -v").  Automatically pass -ptused in CXXFLAGS for
23624	  xapian-core and any applications using xapian-config --cxxflags
23625	  since it seems to be required to avoid template linking errors.
23626
23627Thu Feb 22 09:04:30 GMT 2007  Olly Betts <olly@survex.com>
23628
23629	* docs/Makefile.am: Ship generated RSTHTML files.
23630
23631Wed Feb 21 19:01:06 GMT 2007  Olly Betts <olly@survex.com>
23632
23633	* languages/turkish.sbl: Make some simplifications to the code of the
23634	  turkish stemmer.
23635
23636Wed Feb 21 19:00:11 GMT 2007  Olly Betts <olly@survex.com>
23637
23638	* languages/Makefile.mk,languages/stem.cc,languages/turkish.sbl:
23639	  Add turkish stemmer.
23640
23641Wed Feb 21 18:55:03 GMT 2007  Olly Betts <olly@survex.com>
23642
23643	* languages/compiler/generator.c: Number m_test and c_test variables
23644	  to avoid variable shadowing warnings.
23645
23646Wed Feb 21 18:07:50 GMT 2007  Olly Betts <olly@survex.com>
23647
23648	* languages/compiler/generator.c: Remove duplicate copy of function
23649	  resulting from ham-fisted reverting and applying of patches.
23650
23651Wed Feb 21 18:03:12 GMT 2007  Olly Betts <olly@survex.com>
23652
23653	* languages/compiler/generator.c,languages/compiler/header.h: Number
23654	  mlimit variables to avoid variable shadowing warnings.
23655	* languages/compiler/generator.c: Use "if (foo() == -1) return -1;"
23656	  which avoids a temporary variable (improving readability of
23657	  generated code) and producing very slightly faster code.
23658	* languages/compiler/header.h: Use "#ifdef DISABLE_JAVA" around Java
23659	  generator specific struct members and prototypes.
23660
23661Wed Feb 21 17:47:13 GMT 2007  Olly Betts <olly@survex.com>
23662
23663	* languages/compiler/generator.c: Add "~C" comments to generated
23664	  source for more operations.
23665
23666Tue Feb 20 20:24:30 GMT 2007  Olly Betts <olly@survex.com>
23667
23668	* backends/flint/flint_table.cc,backends/quartz/btree.cc: Ensure
23669	  both_bases is set to false if we don't have both bases when
23670	  opening a table using an existing object.
23671
23672Tue Feb 20 15:57:05 GMT 2007  Olly Betts <olly@survex.com>
23673
23674	* preautoreconf: Fix to handle generating dependencies on generated
23675	  objects, at least for the "checked out tree from SVN" case.  Fixing
23676	  this fully is trickier, but currently this is stopped snapshots
23677	  from bootstrapping.
23678
23679Tue Feb 20 14:28:02 GMT 2007  Charlie Hull
23680
23681	* backends/flint/flint_btreebase.cc,backends/flint/flint_table.cc,
23682	  backends/quartz/btree.cc: Use MS Windows API calls to delete
23683	  files and open files we might want to delete while they are
23684	  still open (i.e. the flint and quartz btree base files).  This
23685	  fixes a problem when a writer can't discard an old revision at the
23686	  exact moment a reader is opening it (bug #108).
23687
23688Tue Feb 20 14:13:43 GMT 2007  Richard Boulton <richard@tartarus.org>
23689
23690	* .: Add generate-exceptions to svn:ignore property.
23691
23692Tue Feb 20 13:36:27 GMT 2007  Olly Betts <olly@survex.com>
23693
23694	* generate-exceptions.in: Add missing '}' to close 'namespace Xapian'
23695	  in generated header 'xapian/error.h'.
23696
23697Tue Feb 20 13:26:19 GMT 2007  Olly Betts <olly@survex.com>
23698
23699	* Makefile.am: Put generated exception headers in BUILT_SOURCES.
23700
23701Tue Feb 20 12:10:18 GMT 2007  Olly Betts <olly@survex.com>
23702
23703	* Makefile.am,configure.ac,generate-exceptions.in,include/Makefile.mk,
23704	  include/xapian/error.h,include/xapian/errortypes.h,net/serialise.cc:
23705	  Replace macro gymnastics with errortypes.h by a perl script which
23706	  generates the headers we require.  It's more flexible, and easier to
23707	  get doxygen to generate documentation from.
23708	* queryparser/queryparser.cc,tests/queryparsertest.cc: Throw new
23709	  Error subclass QueryParserError instead of throwing const char *
23710	  (fixes bug#101).
23711
23712Tue Feb 20 10:37:54 GMT 2007  Olly Betts <olly@survex.com>
23713
23714	* languages/steminternal.cc: p is never NULL once the class is
23715	  successfully constructed, so just use Assert() to confirm this.
23716
23717Tue Feb 20 10:29:25 GMT 2007  Olly Betts <olly@survex.com>
23718
23719	* queryparser/lemon.c: Fix compiler warnings.
23720
23721Mon Feb 19 18:50:12 GMT 2007  Olly Betts <olly@survex.com>
23722
23723	* common/serialise-double.cc,net/remoteconnection.cc: Throw
23724	  NetworkError rather than InternalError for invalid data received
23725	  over the remote protocol.
23726
23727Mon Feb 19 18:12:21 GMT 2007  Olly Betts <olly@survex.com>
23728
23729	* tests/internaltest.cc: Just disable serialisequery1 if the remote
23730	  backend is disabled, like we do for serialiselength1 and
23731	  serialisedoc1 rather than assuming InternalError is due to the
23732	  code being disabled.
23733
23734Mon Feb 19 09:48:02 GMT 2007  Olly Betts <olly@survex.com>
23735
23736	* docs/Makefile.am,docs/XapianAdminNotes.txt,docs/admin_notes.rst:
23737	  Generated file "XapianAdminNotes.html" doesn't fit the naming
23738	  conventions of other files at all, so renamed to "admin_notes.html".
23739	  Rename the source to ".rst" so we can use an implicit rule for
23740	  the conversion, in anticipation of other documentation in ReST
23741	  format.
23742
23743Mon Feb 19 09:10:48 GMT 2007  Olly Betts <olly@survex.com>
23744
23745	* docs/Makefile.am: Fix typos which stopped parallel make from working
23746	  correctly in "docs" subdirectory.
23747
23748Sun Feb 18 22:36:46 GMT 2007  Olly Betts <olly@survex.com>
23749
23750	* common/Makefile.mk,common/omstringstream.h,common/output.h,
23751	  include/Makefile.mk,include/xapian/output.h: Move
23752	  "<xapian/output.h>" to being an internal header in "common/" since
23753	  it hasn't been included by "<xapian.h>" since 0.7.0.
23754
23755Sun Feb 18 22:18:33 GMT 2007  Olly Betts <olly@survex.com>
23756
23757	* include/xapian/dbfactory.h: Add documentation comment for the "prog"
23758	  form of Remote::open_writable().
23759
23760Sun Feb 18 19:31:20 GMT 2007  Olly Betts <olly@survex.com>
23761
23762	* tests/queryparsertest.cc: Add test for "associative NEAR".
23763
23764Sun Feb 18 18:27:40 GMT 2007  Olly Betts <olly@survex.com>
23765
23766	* tests/harness/backendmanager.cc,tests/harness/backendmanager.h:
23767	  Merge BackendManager::change_names_to_paths() into
23768	  index_files_to_database() and make the latter a method of
23769	  class BackendManager.
23770	* tests/harness/backendmanager.cc: Remove mention of muscat36 backends
23771	  from error message listing valid backends.
23772	* tests/harness/backendmanager.h: Comment out prototypes for currently
23773	  disabled methods getdb_inmemoryerr, getwritedb_inmemory, etc.
23774
23775Sat Feb 17 15:38:05 GMT 2007  Olly Betts <olly@survex.com>
23776
23777	* backends/flint/flint_table.cc: new throws if allocation fails
23778	  so we don't need to check the return value.
23779
23780Sat Feb 17 02:08:22 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
23781
23782	* backends/flint/flint_table.cc: Fix memory double-frees if
23783	  FlintTable::close() is called twice on a table (without an open()
23784	  being called in between).  This was happening after a transaction
23785	  failed when the table was next opened.
23786	* backends/quartz/btree.cc: Fix double-frees, similarly.
23787
23788Fri Feb 16 20:11:13 GMT 2007  Olly Betts <olly@survex.com>
23789
23790	* languages/compiler/generator.c: Add missing "~Z" for compatibility
23791	  with C code generation (which we don't use for Xapian).
23792
23793Fri Feb 16 19:51:26 GMT 2007  Olly Betts <olly@survex.com>
23794
23795	* queryparser/tclUniData.h,queryparser/utf8itor.h: The tcl unicode
23796	  routines only have tables for characters in the BMP.  For other
23797	  characters, assume they're word characters, but can't be forced to
23798	  lowercase.
23799
23800Fri Feb 16 19:26:00 GMT 2007  Olly Betts <olly@survex.com>
23801
23802	* queryparser/utf8itor.cc: Fix bug in decoding of 4 byte utf-8
23803	  sequences - the returned value was 0x400000 too large!
23804
23805Thu Feb 15 19:37:26 GMT 2007  Olly Betts <olly@survex.com>
23806
23807	* queryparser/queryparser.lemony,tests/queryparsertest.cc: Keep
23808	  embedded apostrophe's in terms rather than generating a phrase
23809	  search for them.
23810
23811Thu Feb 15 18:42:49 GMT 2007  Olly Betts <olly@survex.com>
23812
23813	* languages/compiler/generator.c,languages/steminternal.cc,
23814	  languages/steminternal.h: Tweak the "grouping" functions to allow
23815	  skipping past multiple occurences and use this to implement "goto"
23816	  or "gopast" followed by a grouping or "non" grouping more
23817	  efficiently.
23818
23819Thu Feb 15 17:57:43 GMT 2007  Olly Betts <olly@survex.com>
23820
23821	* languages/compiler/generator.c,languages/steminternal.cc,
23822	  languages/steminternal.h: Inline lose_s().  Since lose_s()
23823	  checks if p is NULL, remove checks prior to calling lose_s().
23824	* languages/steminternal.h: Cast from symbol * to int * via
23825	  void * to try to suppress over-eager warnings about alignment.
23826
23827Thu Feb 15 12:43:04 GMT 2007  Olly Betts <olly@survex.com>
23828
23829	* languages/stem.cc: Add support for two letter ISO 639 codes.
23830
23831Thu Feb 15 10:40:40 GMT 2007  Olly Betts <olly@survex.com>
23832
23833	* docs/Makefile.am: Don't try to ship mkdoc.pl.
23834
23835Thu Feb 15 09:58:48 GMT 2007  Olly Betts <olly@survex.com>
23836
23837	* docs/gen_codestructure_doc.in: Fix to work in a VPATH build.
23838
23839Thu Feb 15 09:54:55 GMT 2007  Olly Betts <olly@survex.com>
23840
23841	* languages/compiler/generator.c: Fix Stem::get_description() to
23842	  return the right string.
23843
23844Thu Feb 15 09:44:54 GMT 2007  Olly Betts <olly@survex.com>
23845
23846	* docs/gen_codestructure_doc.in: Add links to viewvcs on
23847	  svn.xapian.org.
23848
23849Thu Feb 15 09:26:07 GMT 2007  Olly Betts <olly@survex.com>
23850
23851	* configure.ac,docs/Makefile.am,docs/gen_codestructure_doc.in,
23852	  docs/mkdoc.pl,preautoreconf: Rework how code_structure.html
23853	  is generated.  Nicer output, and the html document is now
23854	  regenerated if any of the dir_contents files change.
23855
23856Thu Feb 15 07:43:39 GMT 2007  Olly Betts <olly@survex.com>
23857
23858	* Makefile.am,bin/Makefile.mk,configure.ac,examples/Makefile.mk,
23859	  makemanpage.in: Add "makemanpage" script which takes care of all
23860	  the magic needed to generate a man page using help2man.  This
23861	  script is written in perl, but so is help2man, and they're both
23862	  only used in maintainer-mode.
23863
23864Thu Feb 15 06:33:41 GMT 2007  Olly Betts <olly@survex.com>
23865
23866	* bin/Makefile.mk: Fix typos in man page generation rules.
23867
23868Thu Feb 15 06:30:54 GMT 2007  Olly Betts <olly@survex.com>
23869
23870	* examples/Makefile.mk: Fix typos in previous commit.
23871
23872Thu Feb 15 06:03:35 GMT 2007  Olly Betts <olly@survex.com>
23873
23874	* Makefile.am,configure.ac,examples/Makefile,examples/Makefile.am,
23875	  examples/Makefile.mk: Convert examples subdirectory to use
23876	  non-recursive make.  Fixes wishlist bug#97.
23877
23878Thu Feb 15 05:48:38 GMT 2007  Olly Betts <olly@survex.com>
23879
23880	* Makefile.am,bin/Makefile,bin/Makefile.am,bin/Makefile.mk,
23881	  configure.ac: Convert bin subdirectory to use non-recursive make.
23882
23883Wed Feb 14 19:08:49 GMT 2007  Olly Betts <olly@survex.com>
23884
23885	* tests/Makefile.am: There's no longer a need to remove the temporary
23886	  directories for muscat36 backend tests, since we've removed the
23887	  muscat36 backend code.
23888
23889Wed Feb 14 18:58:31 GMT 2007  Olly Betts <olly@survex.com>
23890
23891	* languages/Makefile.mk: Move adjusting of INCLUDES to the top of the
23892	  file.
23893	* queryparser/Makefile.mk: Adjust INCLUDES for a VPATH build.
23894
23895Wed Feb 14 18:38:16 GMT 2007  Olly Betts <olly@survex.com>
23896
23897	* languages/Makefile.mk: Need -Ilanguages for VPATH builds from SVN.
23898
23899Wed Feb 14 18:37:54 GMT 2007  Olly Betts <olly@survex.com>
23900
23901	* languages/steminternal.cc,languages/steminternal.h: Add
23902	  SET_CAPACITY() macro.
23903
23904Wed Feb 14 17:39:50 GMT 2007  Olly Betts <olly@survex.com>
23905
23906	* languages/steminternal.h: Don't cast away const.
23907
23908Wed Feb 14 17:14:14 GMT 2007  Olly Betts <olly@survex.com>
23909
23910	* include/Makefile: Add stub makefile.
23911
23912Wed Feb 14 17:12:41 GMT 2007  Olly Betts <olly@survex.com>
23913
23914	* configure.ac: ac_abs_srcdir, etc aren't available in configure
23915	  itself, so we have to do the work ourselves.
23916
23917Wed Feb 14 12:54:26 GMT 2007  Olly Betts <olly@survex.com>
23918
23919	* configure.ac: Fix typo in last commit.
23920
23921Wed Feb 14 12:19:18 GMT 2007  Olly Betts <olly@survex.com>
23922
23923	* Makefile.am,configure.ac,languages/Makefile.mk: Define automake
23924	  conditional VPATH_BUILD so we can only add extra entries to
23925	  INCLUDES in VPATH builds.
23926
23927Wed Feb 14 11:59:02 GMT 2007  Olly Betts <olly@survex.com>
23928
23929	* languages/Makefile.mk: Ick, we need $(top_srcdir)/languages in
23930	  INCLUDES as the generated sources need to find non-generated
23931	  headers.
23932
23933Wed Feb 14 11:46:43 GMT 2007  Olly Betts <olly@survex.com>
23934
23935	* backends/database.cc,backends/remote/remote-database.cc,
23936	  common/database.h,common/remote-database.h,common/remoteprotocol.h,
23937	  docs/remote_protocol.html,net/remoteserver.cc: Support
23938	  get_lastdocid() on remote databases.
23939
23940Wed Feb 14 11:20:33 GMT 2007  Olly Betts <olly@survex.com>
23941
23942	* Makefile.am,configure.ac,include/Makefile.am,include/Makefile.mk:
23943	  Convert include subdirectory to use non-recursive make.
23944
23945Wed Feb 14 11:05:00 GMT 2007  Olly Betts <olly@survex.com>
23946
23947	* Makefile.am,bin/Makefile.am,configure.ac,examples/Makefile.am,
23948	  getopt/Makefile,getopt/Makefile.am,getopt/Makefile.mk,
23949	  tests/Makefile.am: Convert getopt subdirectory to use non-recursive
23950	  make.
23951
23952Wed Feb 14 10:56:15 GMT 2007  Olly Betts <olly@survex.com>
23953
23954	* tests/harness/Makefile.am: Remove as no longer used.
23955
23956Wed Feb 14 10:38:27 GMT 2007  Olly Betts <olly@survex.com>
23957
23958	* backends/quartz/Makefile.mk,bin/Makefile.am,tests/Makefile.am: Move
23959	  backends/quartz/libbtreecheck.la to libquartzcheck.la.
23960	* getopt/Makefile.am: Distribute getopt/dir_contents.
23961
23962Wed Feb 14 10:20:14 GMT 2007  Olly Betts <olly@survex.com>
23963
23964	* preautoreconf: Handle variables set with "+=" and ":=".
23965
23966Wed Feb 14 10:16:29 GMT 2007  Olly Betts <olly@survex.com>
23967
23968	* include/xapian/database.h: Add documentation comments for DB_*
23969	  constants.
23970
23971Wed Feb 14 10:11:37 GMT 2007  Olly Betts <olly@survex.com>
23972
23973	* examples/.cvsignore: Remove lingering relic of CVS days.
23974
23975Wed Feb 14 10:07:14 GMT 2007  Olly Betts <olly@survex.com>
23976
23977	* Makefile.am,configure.ac,net/Makefile,net/Makefile.am,
23978	  net/Makefile.mk: Convert net subdirectory to use non-recursive make.
23979	  Now libxapian.la is built completely non-recursively.
23980	* docs/Makefile.am,docs/mkdoc.pl: Fix mkdoc.pl to handle directories
23981	  which use non-recursive make.
23982
23983Wed Feb 14 09:10:27 GMT 2007  Olly Betts <olly@survex.com>
23984
23985	* Makefile.am,backends/Makefile,backends/Makefile.am,
23986	  backends/Makefile.mk,backends/flint/Makefile,
23987	  backends/flint/Makefile.am,backends/flint/Makefile.mk,
23988	  backends/inmemory/Makefile,backends/inmemory/Makefile.am,
23989	  backends/inmemory/Makefile.mk,backends/multi/Makefile,
23990	  backends/multi/Makefile.am,backends/multi/Makefile.mk,
23991	  backends/quartz/Makefile,backends/quartz/Makefile.am,
23992	  backends/quartz/Makefile.mk,backends/remote/Makefile,
23993	  backends/remote/Makefile.am,backends/remote/Makefile.mk,
23994	  configure.ac: Convert backends subdirectory (and subdirectories
23995	  thereof) to non-recursive make.
23996
23997Wed Feb 14 08:49:02 GMT 2007  Olly Betts <olly@survex.com>
23998
23999	* preautoreconf: Fix handling of backslash at the end of a line in
24000	  included files.
24001	* preautoreconf: Our handling of which directory a nested include is
24002	  sought from is consistent with automake, so remove the FIXME comment
24003	  about it.
24004
24005Wed Feb 14 08:07:07 GMT 2007  Olly Betts <olly@survex.com>
24006
24007	* Makefile.am,configure.ac,matcher/Makefile,matcher/Makefile.am,
24008	  matcher/Makefile.mk: Convert matcher subdirectory to non-recursive
24009	  make.
24010
24011Wed Feb 14 07:50:19 GMT 2007  Olly Betts <olly@survex.com>
24012
24013	* Makefile.am,api/Makefile,api/Makefile.am,api/Makefile.mk,
24014	  configure.ac: Convert api subdirectory to non-recursive make.
24015
24016Wed Feb 14 07:48:45 GMT 2007  Olly Betts <olly@survex.com>
24017
24018	* preautoreconf: No need to `chdir' to the current directory.
24019	* preautoreconf: Don't bother looking at the file we generate
24020	  when considering included files.
24021	* preautoreconf: Add included files to the dependency list.
24022
24023Wed Feb 14 07:38:19 GMT 2007  Olly Betts <olly@survex.com>
24024
24025	* preautoreconf: Generate dummy rules for the files which
24026	  preautoreconf depends on, so that "make" still works if one
24027	  of them is removed (by build system restructuring).
24028
24029Wed Feb 14 07:24:07 GMT 2007  Olly Betts <olly@survex.com>
24030
24031	* common,languages,tests/harness: svn:ignore: We do need to ignore
24032	  .dirstamp files after all.
24033
24034Wed Feb 14 07:22:29 GMT 2007  Olly Betts <olly@survex.com>
24035
24036	* Makefile.am,common/Makefile,common/Makefile.am,common/Makefile.mk,
24037	  configure.ac: Convert common subdirectory to non-recursive make.
24038
24039Wed Feb 14 07:03:27 GMT 2007  Olly Betts <olly@survex.com>
24040
24041	* .: svn:ignore: Ignore all vim swapfiles.  No need to ignore .deps
24042	  now that dummy.cc is history.
24043
24044Wed Feb 14 06:34:44 GMT 2007  Olly Betts <olly@survex.com>
24045
24046	* tests/stemtest.cc: Force ASCII capitals in sample vocabulary to
24047	  lower case before stemming.
24048
24049Wed Feb 14 06:14:42 GMT 2007  Olly Betts <olly@survex.com>
24050
24051	* Makefile.am,configure.ac,queryparser/Makefile,
24052	  queryparser/Makefile.am,queryparser/Makefile.mk:
24053	  Convert queryparser subdirectory to non-recursive make.
24054	* Makefile.am: Enable automake option "subdir-objects" so
24055	  that built objects for a non-recursively made directory
24056	  go into that directory.
24057
24058Wed Feb 14 06:12:29 GMT 2007  Olly Betts <olly@survex.com>
24059
24060	* tests/harness: svn:ignore: remove .dirstamp and depcomp.
24061
24062Wed Feb 14 06:10:44 GMT 2007  Olly Betts <olly@survex.com>
24063
24064	* languages/Makefile.mk: In maintainer-mode, remove snowball and
24065	  generated allsnowballheaders.h on "make clean".  When not in
24066	  maintainer-mode, remove them on "make maintainer-clean".
24067	* languages/: svn:ignore all vim swap files.
24068
24069Wed Feb 14 05:54:32 GMT 2007  Olly Betts <olly@survex.com>
24070
24071	* languages/Makefile.mk: Distribute the stub languages/Makefile.
24072	* tests/harness/Makefile.mk: No need to explicitly distribute
24073	  harness/Makefile.mk.
24074
24075Wed Feb 14 05:52:08 GMT 2007  Olly Betts <olly@survex.com>
24076
24077	* languages/Makefile.mk: Distribute languages/dir_contents.
24078
24079Wed Feb 14 05:44:10 GMT 2007  Olly Betts <olly@survex.com>
24080
24081	* api/Makefile.am,api/vectortermlist.h,common/Makefile.am,
24082	  queryparser/Makefile.am: We use vectortermlist.h from the
24083	  queryparser directory, so move it from api to common.
24084
24085Wed Feb 14 05:27:13 GMT 2007  Olly Betts <olly@survex.com>
24086
24087	* languages/Makefile.mk,languages/stem.cc: Disable finnish and lovins
24088	  temporarily, until I sort out merging the support for among with
24089	  functions properly.
24090
24091Wed Feb 14 05:24:36 GMT 2007  Olly Betts <olly@survex.com>
24092
24093	* languages/steminternal.cc,languages/steminternal.h: Temporarily
24094	  back out the changes to handling of among with functions.
24095
24096Tue Feb 13 19:11:57 GMT 2007  Olly Betts <olly@survex.com>
24097
24098	* tests/harness/testsuite.cc: If a test throws an unknwon exception,
24099	  say so in the test failure message.  If it throws std::string,
24100	  report the first 40 character (or first line) of the string.
24101
24102Tue Feb 13 17:48:11 GMT 2007  Olly Betts <olly@survex.com>
24103
24104	* languages/steminternal.cc: Fix decoding of 3 byte utf-8 sequences.
24105
24106Tue Feb 13 17:47:22 GMT 2007  Olly Betts <olly@survex.com>
24107
24108	* languages/Makefile.mk: Fix dependency of generated
24109	  languages/allsnowballheaders.h to be on languages/Makefile.mk.
24110
24111Tue Feb 13 17:46:42 GMT 2007  Olly Betts <olly@survex.com>
24112
24113	* languages/compiler/generator.c: Fix missing ";" in generated
24114	  code.
24115
24116Tue Feb 13 15:40:15 GMT 2007  Olly Betts <olly@survex.com>
24117
24118	* languages/Makefile.mk,languages/compiler/driver.c,
24119	  languages/compiler/generator.c,languages/compiler/header.h:
24120	  Changes towards getting C++ generation working.
24121
24122Tue Feb 13 15:39:23 GMT 2007  Olly Betts <olly@survex.com>
24123
24124	* languages/steminternal.cc,languages/steminternal.h: Revert to match
24125	  currently generated code.
24126
24127Tue Feb 13 14:09:31 GMT 2007  Olly Betts <olly@survex.com>
24128
24129	* languages/compiler/: Sync with current snowball SVN + submitted
24130	  patches.
24131
24132Tue Feb 13 10:53:34 GMT 2007  Olly Betts <olly@survex.com>
24133
24134	* tests/harness/backendmanager.cc: If we fail to start
24135	  xapian-tcpsrv, report why (give errno or the error output).
24136
24137Tue Feb 13 10:28:43 GMT 2007  Olly Betts <olly@survex.com>
24138
24139	* tests/remotetest.cc: Prune test cases which are redundant now that
24140	  apitest tests remote and remotetcp: apitest's simplequery1 performs
24141	  a superset of what netmatch1 and tcpmatch1 do; apitest's multidb1
24142	  performs a superset of what netmatch2 does; and the coverage given
24143	  by our netexpand1 is provided by various apitest tests.
24144
24145Mon Feb 12 06:36:58 GMT 2007  Olly Betts <olly@survex.com>
24146
24147	* languages/compiler/generator.c: In backward mode, among
24148	  can't match if there are fewer characters before the current
24149	  position than the minimum length string in the among.
24150
24151Mon Feb 12 05:56:31 GMT 2007  Olly Betts <olly@survex.com>
24152
24153	* configure.ac: Make sure that the languages subdirectory exists in
24154	  case this is a fresh SVN checkout and srcdir != builddir.
24155
24156Mon Feb 12 05:46:49 GMT 2007  Olly Betts <olly@survex.com>
24157
24158	* languages/Makefile.mk,languages/compiler/driver.c: -DDISABLE_JAVA
24159	  to not compile in Java support (inline with Richard's patch to
24160	  the upstream snowball sources).
24161	* languages/Makefile.mk: Remove inaccurate comment about processing
24162	  with automake.  Fix -n option we pass (remove directory name).
24163	  Use "" instead of <> in generated file allsnowballheaders.h.  Remove
24164	  snowball compiler and generated files on "make maintainer-clean".
24165
24166Mon Feb 12 01:08:50 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
24167
24168	* languages/compiler/header.h: Remove commented out header for
24169	  sort() prototype, to match snowball sources.
24170
24171Sun Feb 11 19:28:50 GMT 2007  Olly Betts <olly@survex.com>
24172
24173	* languages/api.h,languages/header.h: Remove headers which are no
24174	  longer used.
24175
24176Sun Feb 11 19:26:50 GMT 2007  Olly Betts <olly@survex.com>
24177
24178	* languages/api.cc,languages/utilities.cc: Remove sources which are
24179	  no longer used.
24180
24181Sun Feb 11 16:22:16 GMT 2007  Olly Betts <olly@survex.com>
24182
24183	* languages/compiler/driver.c: Use #ifdef instead of #if.
24184
24185Sun Feb 11 16:20:44 GMT 2007  Olly Betts <olly@survex.com>
24186
24187	* languages/compiler/driver.c: Disable java support, since we don't
24188	  use it and it means one less source file.
24189
24190Sun Feb 11 16:08:49 GMT 2007  Olly Betts <olly@survex.com>
24191
24192	* languages/compiler/analyser.c,languages/compiler/header.h: Use qsort
24193	  instead the snowball's own sort implementation to reduce the number
24194	  of source files we need for the snowball compiler.
24195
24196Sun Feb 11 16:04:19 GMT 2007  Olly Betts <olly@survex.com>
24197
24198	* languages/Makefile: Add stub Makefile to allow "make", "make check",
24199	  and "make clean" from the languages subdirectory.
24200
24201Sun Feb 11 16:00:51 GMT 2007  Olly Betts <olly@survex.com>
24202
24203	* languages/compiler/analyser.c: Cast the arguments, not the function
24204	  pointer as ISO C allows `void*' and `struct amongvec*' to have
24205	  different representations.
24206
24207Sun Feb 11 15:43:49 GMT 2007  Olly Betts <olly@survex.com>
24208
24209	* languages/compiler/space.c: Fix a typo of a function name in a
24210	  comment.
24211
24212Sun Feb 11 15:23:51 GMT 2007  Olly Betts <olly@survex.com>
24213
24214	* languages/compiler/header.h,languages/compiler/tokeniser.c: Give
24215	  syswords and syswords2 .h extensions for clarity.
24216
24217Sun Feb 11 15:17:28 GMT 2007  Olly Betts <olly@survex.com>
24218
24219	* Makefile.am,api/Makefile.am,api/omstem.cc,configure.ac,dummy.cc,
24220	  languages/Makefile.am,languages/Makefile.mk,languages/compiler/,
24221	  languages/: Update the stemmers to use utf-8 and the latest snowball
24222	  version (based on r421 from snowball SVN).  Further patches are
24223	  required to generate C++ classes from snowball, I'm checking in the
24224	  vanilla compiler first to help us track the patches.
24225
24226Sun Feb 11 14:16:35 GMT 2007  Olly Betts <olly@survex.com>
24227
24228	* api/omstem.cc: Add definition for Xapian::Stem::stem_word().
24229
24230Sun Feb 11 13:15:11 GMT 2007  Olly Betts <olly@survex.com>
24231
24232	* tests/api_anydb.cc,tests/api_db.cc,tests/api_posdb.cc: Prefer
24233	  Xapian::Stem::operator() to Xapian::Stem::stem_word().
24234
24235Sat Feb 10 19:10:31 GMT 2007  Olly Betts <olly@survex.com>
24236
24237	* queryparser/queryparser.lemony: Prefer Xapian::Stem::operator() to
24238	  Xapian::Stem::stem_word().
24239
24240Sat Feb 10 18:34:41 GMT 2007  Olly Betts <olly@survex.com>
24241
24242	* include/xapian/stem.h: Make Xapian::Stem::Internal as @internal for
24243	  doxygen.  Mark Xapian::Stem::stem_word() as deprecated.
24244
24245Sat Feb 10 18:34:05 GMT 2007  Olly Betts <olly@survex.com>
24246
24247	* HACKING: Add brief note about coding style.
24248
24249Sat Feb 10 18:24:28 GMT 2007  Olly Betts <olly@survex.com>
24250
24251	* preautoreconf: Add licence and copyright notice.  Add support for
24252	  automake include directives.  Warn about unknown variables.
24253
24254Sat Feb 10 18:19:26 GMT 2007  Olly Betts <olly@survex.com>
24255
24256	* tests/harness/testsuite.cc: Conditionalise all the valgrind specific
24257	  code on RUNNING_ON_VALGRIND to minimise the overhead if valgrind
24258	  is installed but we aren't running tests under it.
24259
24260Sat Feb 10 17:42:05 GMT 2007  Olly Betts <olly@survex.com>
24261
24262	* tests/harness/index_utils.cc,tests/stemtest.cc: Prefer
24263	  Xapian::Stem::operator() to Xapian::Stem::stem_word().
24264
24265Sat Feb 10 17:27:27 GMT 2007  Olly Betts <olly@survex.com>
24266
24267	* examples/delve.cc,examples/simpleindex.cc,examples/simplesearch.cc:
24268	  Prefer Xapian::Stem::operator() to Xapian::Stem::stem_word().
24269
24270Wed Feb 07 04:23:09 GMT 2007  Olly Betts <olly@survex.com>
24271
24272	* queryparser/queryparser.lemony,queryparser/queryparser.lt: Use
24273	  new/delete instead of malloc/free to allocate struct yyParser
24274	  and pass it around as "yyParser *" instead of "void *".
24275
24276Wed Feb 07 03:44:16 GMT 2007  Olly Betts <olly@survex.com>
24277
24278	* include/xapian/queryparser.h,queryparser/queryparser.cc,
24279	  queryparser/queryparser.lemony,queryparser/queryparser_internal.h,
24280	  tests/queryparsertest.cc: Allow the default prefix to be specified
24281	  so you can use QueryParser to parse a text entry box for "author"
24282	  etc.
24283	* configure.ac: Note API change for LIBRARY_VERSION_INFO updating.
24284
24285Wed Feb 07 01:14:37 GMT 2007  Olly Betts <olly@survex.com>
24286
24287	* common/safeunistd.h: Add '#include <sys/types.h>' so that we've seen
24288	  a typedef for off_t before we hide it behind a #define to avoid a
24289	  compilation error if <sys/types.h> or <wchar.h> is included after
24290	  we are.
24291
24292Tue Feb 06 06:26:24 GMT 2007  Olly Betts <olly@survex.com>
24293
24294	* INSTALL: Mention MSVC makefiles.  Note that we still test build with
24295	  GCC 2.95.4 even though we recommend using a newer version.
24296
24297Tue Feb 06 06:13:48 GMT 2007  Olly Betts <olly@survex.com>
24298
24299	* AUTHORS,HACKING,backends/flint/,backends/quartz/btree.cc,
24300	  backends/quartz/quartz_database.cc,bin/quartzcompact.cc,
24301	  bin/xapian-compact.cc,common/,tests/btreetest.cc,
24302	  tests/harness/backendmanager.cc,tests/harness/testsuite.cc,
24303	  tests/quartztest.cc: Support large files in stat() and fstat()
24304	  when building with MSVC.  Factor MSVC specific header magic
24305	  into new replacement headers "safeunistd.h" and "safesysstat.h".
24306	* AUTHORS: Thanks to Charlie Hull for the original patch to support
24307	  stat() on large files with MSVC (and past MSVC related stuff!)
24308
24309Sat Jan 13 02:06:15 GMT 2007  Olly Betts <olly@survex.com>
24310
24311	* include/xapian/database.h: Add pointer from
24312	  WritableDatabase::add_document() to replace_document() in case the
24313	  user wants to specify the docid themselves.  Also improve the
24314	  wording of the warning about changes not being committed to disk
24315	  right away.
24316
24317Tue Jan  2 15:49:43 GMT 2007  Richard Boulton <richard@lemurconsulting.com>
24318
24319	* backends/quartz/btree.cc,backends/flint/flint_io.h: Patches from
24320	  Charlie Hull to allow 2GB+ index files work when compiled using
24321	  Visual C++.
24322
24323Sat Dec 30 13:48:54 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
24324
24325	* queryparser/queryparser.lemony,include/xapian/queryparser.h:
24326	  Add support for partially entered queries, to better support
24327	  incremental searching.  Also fix a typo in a comment.
24328	* docs/queryparser.html: Document the new partial query option, and
24329	  what it's useful for.
24330	* tests/queryparsertest.cc: Test partial queries.
24331
24332Wed Dec 20 16:42:24 GMT 2006  Olly Betts <olly@survex.com>
24333
24334	* PLATFORMS: Updated with success reports from debian buildds.
24335
24336Wed Dec 20 00:53:19 GMT 2006  Olly Betts <olly@survex.com>
24337
24338	* api/omqueryinternal.cc: Fix "unused parameter" warning when building
24339	  with the remote backend disabled.  Also update a comment - the query
24340	  serialisation isn't really one line of text since we now store term
24341	  names with the length prefixed, and they can contain arbitrary
24342	  characters including linefeeds.
24343
24344Tue Dec 19 20:40:27 GMT 2006  Olly Betts <olly@survex.com>
24345
24346	* tests/Makefile.am: Need libgetopt.la for test programs which
24347	  use the test harness for platforms where GNU getopt isn't in
24348	  the standard C library.
24349
24350Tue Dec 19 20:34:16 GMT 2006  Olly Betts <olly@survex.com>
24351
24352	* queryparser/utf8itor.h: Need <string.h> for strlen.
24353
24354Tue Dec 19 16:35:58 GMT 2006  Olly Betts <olly@survex.com>
24355
24356	* common/omstringstream.h: Fix "warning: comparison between signed and
24357	  unsigned".
24358
24359Tue Dec 19 15:33:19 GMT 2006  Olly Betts <olly@survex.com>
24360
24361	* backends/flint/flint_positionlist.cc: Turn the second (and
24362	  potentially slightly deeper) recursion in encode_interpolative
24363	  and decode_interpolative into explicit iteration in case the
24364	  compiler fails to optimise the tail recursion.
24365
24366Mon Dec 18 03:39:41 GMT 2006  Olly Betts <olly@survex.com>
24367
24368	* matcher/: Add ExactPhrasePostList to handle the common special case
24369	  where the window size of OP_PHRASE is equal to the number of terms
24370	  in the phrase.
24371
24372Mon Dec 18 02:21:32 GMT 2006  Olly Betts <olly@survex.com>
24373
24374	* tests/harness/testsuite.cc: Remove accidentally committed "NO
24375	  PROBLEM" message when running under valgrind.
24376
24377Wed Dec 13 21:15:57 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
24378
24379	* include/xapian/document.h: Another tweak to the documentation
24380	  comment.
24381
24382Wed Dec 13 18:07:51 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
24383
24384	* include/xapian/document.h: Improve documentation comment for
24385	  Document::get_value().
24386
24387Wed Dec 13 03:38:37 GMT 2006  Olly Betts <olly@survex.com>
24388
24389	* include/xapian/enquire.h: In the description of the TradWeight
24390	  class, replace reference to "Muscat 3.6" (meaningless to most
24391	  people) with a generally useful explanation.
24392
24393Wed Dec 13 03:27:14 GMT 2006  Olly Betts <olly@survex.com>
24394
24395	* docs/: svn:ignore XapianAdminNotes.html.
24396
24397Wed Dec 13 03:16:44 GMT 2006  Olly Betts <olly@survex.com>
24398
24399	* configure.ac: Yet more valgrind test improvements!  Give up testing
24400	  valgrind features if VALGRIND_COUNT_LEAKS isn't supported.  Fix the
24401	  common shortcut case to not try logging to /dev/null.<pid> so it
24402	  can actually get used.  Also don't use /dev/null in the --logfile
24403	  case either as it will probably cause problems there too (though I
24404	  don't have an old enough valgrind handy to verify this).  Also report
24405	  results of valgrind tests in a couple more places.
24406
24407Wed Dec 13 00:31:04 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
24408
24409	* docs/Makefile.am: New rules for generating XapianAdminNotes.html
24410	  from XapianAdminNotes.txt
24411	* configure.ac: Check for rst2html, and require it in maintainer
24412	  mode.
24413	* HACKING: document rst2html as a requirement.
24414
24415Tue Dec 12 23:58:13 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
24416
24417	* docs/XapianAdminNotes.txt: Add new document giving an
24418	  introduction to Xapian concepts for system administrators.
24419
24420Tue Dec 12 21:33:38 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
24421
24422	* docs/quartzdesign.html: Fix an unmatched bracket.
24423
24424Tue Dec 12 21:18:54 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
24425
24426	* backends/quartz/quartz_alldocspostlist.cc: Fix memory leak
24427	  discovered by valgrind in QuartzAllDocsPostList constructor: was
24428	  failing to delete the Bcursor.
24429
24430Tue Dec 12 21:05:47 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
24431
24432	* queryparser/queryparser.lemony: Fix parsing of queries of the
24433	  form "+foo* bar", where no terms in the database match the
24434	  wildcard "foo*", but bar does exist in the database.  Previously,
24435	  such queries would be equivalent to "bar".  Now, they will match
24436	  no documents.  This required using a new "QpQuery" object
24437	  internally so we can distinguish between deliberately "match
24438	  nothing" queries, and empty lists of queries.
24439	* tests/api_anydb.cc,tests/queryparsertest.cc: Test above fix, and
24440	  general parsing of wildcard queries with +terms, and test
24441	  performing a match with a query resulting from a wildcard query
24442	  which matches nothing.
24443
24444Tue Dec 12 21:05:15 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
24445
24446	* tests/api_nodb.cc,api/omqueryinternal.cc,api/omquery.cc: Fix some
24447	  copyright assertions I missed.
24448
24449Tue Dec 12 19:38:39 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
24450
24451	* include/xapian/query.h,api/omqueryinternal.cc,api/omquery.cc: Add
24452	  two static Query objects: Xapian::Query::MatchAll and
24453	  Xapian::Query::MatchNothing, which match all documents and no
24454	  documents in the database, respectively.  (Equivalent to
24455	  Query("") and Query()).  Allow empty queries such as MatchNothing
24456	  to be combined with other queries.  Change methods of
24457	  Xapian::Query::Internal to use pointers to query internals
24458	  instead of references, so they can handle the NULL pointer
24459	  internals of an empty query.
24460	* tests/api_nodb.cc: Test combining of MatchNothing queries with
24461	  other queries with OP_AND and OP_OR.
24462
24463Tue Dec 12 20:01:58 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
24464
24465	* configure.ac: Fix valgrind better: --log-file-exactly isn't what
24466	  is wanted, because it messes up if multiple processes are traced.
24467	  Instead, use a temporary file instead of /dev/null, so we don't
24468	  get the permission denied error.
24469
24470Tue Dec 12 19:15:20 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
24471
24472	* configure.ac: Fix detection of valgrind for newer valgrind.  My
24473	  version of valgrind (valgrind-3.2.1-Debian, from ubuntu feisty)
24474	  treats the parameter supplied to --log-file as a base path, and
24475	  appends a process ID. This caused the test for the log-file
24476	  option to fail with permission denied errors due to trying to
24477	  write to files of the form '/dev/null.16098'.  Solution - test
24478	  for the --log-file-exactly option, and use that.  Also, change
24479	  configure.ac to display the result of the tests for valgrind; was
24480	  displaying that it had found it, but not mentioning that it
24481	  couldn't make it work.
24482
24483Tue Dec 05 21:12:12 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
24484
24485	* include/xapian/query.h,api/omqueryinternal.cc: Fix query
24486	  serialisation bug.  Was failing to propagate "curpos" parameter
24487	  across subqueries, resulting in incorrect serialisation of
24488	  termpositions.
24489	* tests/internaltest.cc: Regression test for this bug.
24490
24491Tue Dec 05 01:34:07 GMT 2006  Olly Betts <olly@survex.com>
24492
24493	* HACKING: Clarify how XAPIAN_DEBUG_FLAGS works.
24494
24495Tue Dec 05 01:23:12 GMT 2006  Olly Betts <olly@survex.com>
24496
24497	* examples/quest.cc: Add "--stemmer" option to allow stemming language
24498	  to be set, or stemming to be disabled.
24499
24500Sun Dec 03 00:34:27 GMT 2006  Olly Betts <olly@survex.com>
24501
24502	* queryparser/queryparser.lemony,tests/queryparsertest.cc: Add entries
24503	  to the "unstem" map for prefixed boolean filters (e.g. type:html).
24504	  Also don't corrupt non-ASCII characters in a prefixed boolean
24505	  filter.
24506
24507Sat Nov 25 04:17:23 GMT 2006  Olly Betts <olly@survex.com>
24508
24509	* backends/flint/flint_database.cc,backends/flint/flint_version.cc:
24510	  The "my_fls()" change actually results in a different interpolative
24511	  encoding in a few cases - the old encoding could vary between
24512	  architectures so we have to change it.  So bump the FLINT_VERSION
24513	  and change the "flicklock" file to be "flintlock" as it should have
24514	  been all along!
24515
24516Wed Nov 22 18:55:42 GMT 2006  Olly Betts <olly@survex.com>
24517
24518	* xapian-config.in: Improve --version output so that help2man produces
24519	  a better man page.
24520
24521Mon Nov 20 07:21:07 GMT 2006  Olly Betts <olly@survex.com>
24522
24523	* backends/flint/flint_positionlist.cc: Fix another off-by-one
24524	  error (> should be >=).
24525
24526Mon Nov 20 07:12:11 GMT 2006  Olly Betts <olly@survex.com>
24527
24528	* backends/flint/flint_positionlist.cc: Fix off-by-one error in code
24529	  which calls my_fls().
24530
24531Sat Nov 18 08:32:08 GMT 2006  Olly Betts <olly@survex.com>
24532
24533	* backends/flint/flint_positionlist.cc: "const static" -> "static
24534	  const".
24535
24536Sat Nov 18 08:05:17 GMT 2006  Olly Betts <olly@survex.com>
24537
24538	* backends/flint/flint_positionlist.cc: Make decode_interpolative
24539	  a member function of BitReader.
24540
24541Sat Nov 18 07:45:19 GMT 2006  Olly Betts <olly@survex.com>
24542
24543	* backends/flint/flint_positionlist.cc: Add highly optimised fls()
24544	  implementation and make use of it.
24545
24546Thu Nov 16 04:22:36 GMT 2006  Olly Betts <olly@survex.com>
24547
24548	* m4/xapian.m4: If XAPIAN_CONFIG wasn't specified and xapian-config
24549	  wasn't found, see if the library seems to be present - if so give
24550	  a different error message which suggests the user needs to install
24551	  a -dev or -devel package.
24552
24553Thu Nov 16 02:11:34 GMT 2006  Olly Betts <olly@survex.com>
24554
24555	* docs/install.html: omega tarball is now xapian-omega.
24556
24557Tue Nov 14 22:42:05 GMT 2006  Olly Betts <olly@survex.com>
24558
24559	* tests/harness/Makefile: Add static Makefile so you can make all,
24560	  check, and clean from the subdirectory.
24561	* tests/harness/Makefile.mk: Ship Makefile.mk and Makefile.
24562
24563Tue Nov 14 21:53:45 GMT 2006  Olly Betts <olly@survex.com>
24564
24565	* tests/: Remove muscat36 temporary directories from svn:ignore
24566	  property.
24567
24568Tue Nov 14 19:47:30 GMT 2006  Olly Betts <olly@survex.com>
24569
24570	* configure.ac,tests/Makefile.am,tests/harness/Makefile.mk: Use
24571	  non-recursive make to build the test harness, so it only gets
24572	  built if "make check" is run.
24573
24574Tue Nov 14 19:43:48 GMT 2006  Olly Betts <olly@survex.com>
24575
24576	* tests/quartztest.cc: Removed unused static function unlink_table.
24577
24578Tue Nov 14 17:41:26 GMT 2006  Olly Betts <olly@survex.com>
24579
24580	* include/xapian/queryparser.h,queryparser/queryparser.lemony,
24581	  tests/queryparsertest.cc: Add QueryParser::FLAG_PURE_NOT to allow
24582	  pure NOT queries to be enabled (they are now disabled by default).
24583
24584Tue Nov 14 04:19:40 GMT 2006  Olly Betts <olly@survex.com>
24585
24586	* backends/database.cc,backends/flint/dir_contents,
24587	  backends/quartz/dir_contents,docs/overview.html,
24588	  docs/quartzdesign.html,docs/scalability.html: Make flint the default
24589	  backend.
24590
24591Tue Nov 14 03:25:19 GMT 2006  Olly Betts <olly@survex.com>
24592
24593	* tests/api_nodb.cc: Xapian::Query("") now builds a query which
24594	  matches all documents rather than throwing InvalidArgumentError
24595	  so fix emptyquery1 test.
24596
24597Tue Nov 14 02:03:29 GMT 2006  Olly Betts <olly@survex.com>
24598
24599	* api/omdocument.cc: Tweak OmDocumentTerm::add_position() so that
24600	  adding position 0 to an empty termlist takes the shortcut.
24601
24602Mon Nov 13 05:46:15 GMT 2006  Olly Betts <olly@survex.com>
24603
24604	* docs/queryparser.html: Document the new pure NOT feature.
24605
24606Mon Nov 13 05:24:30 GMT 2006  Olly Betts <olly@survex.com>
24607
24608	* api/omqueryinternal.cc,queryparser/queryparser.lemony,
24609	  tests/queryparsertest.cc: Allow "pure NOT" queries - e.g.
24610	  "NOT apples".  Fixes bug #99.
24611
24612Mon Nov 13 04:54:04 GMT 2006  Olly Betts <olly@survex.com>
24613
24614	* api/omqueryinternal.cc: Undo changes accidentally committed in last
24615	  check-in.
24616
24617Mon Nov 13 04:47:57 GMT 2006  Olly Betts <olly@survex.com>
24618
24619	* api/omqueryinternal.cc,backends/Makefile.am,backends/database.cc,
24620	  backends/muscat36/,configure.ac,docs/overview.html,
24621	  docs/quartzdesign.html,docs/tests.html,include/xapian/dbfactory.h,
24622	  include/xapian/version_h.cc,tests/api_anydb.cc,tests/apitest.cc,
24623	  tests/harness/backendmanager.cc,tests/harness/backendmanager.h,
24624	  tests/harness/index_utils.cc: Remove support for the old Muscat 3.6
24625	  backends.
24626
24627Mon Nov 13 04:02:27 GMT 2006  Richard Boulton <richard@lemurconsulting.com>
24628
24629	* common/database.h,api/omdatabase.cc,
24630	  backends/inmemory/inmemory_database.cc,
24631	  backends/inmemory/inmemory_database.h,
24632	  backends/quartz/Makefile.am,backends/quartz/quartz_database.cc,
24633	  backends/quartz/quartz_alldocspostlist.h,
24634	  backends/quartz/quartz_alldocspostlist.cc,
24635	  backends/flint/Makefile.am,backends/flint/flint_database.cc,
24636	  backends/flint/flint_alldocspostlist.cc,
24637	  backends/flint/flint_alldocspostlist.h:
24638	  Implement posting lists which return a list of all documents in
24639	  the database.  Such a posting list is obtained by calling
24640	  Xapian::Database::postlist_begin() with an empty term (ie, "").
24641	  Also, all Xapian::Database methods which take a termname now
24642	  accept an empty term, and return appropriate values (ie,
24643	  get_termfreq("") and get_collection_freq("") return the number of
24644	  documents in the database, and term_exists("") returns true
24645	  unless the database is empty).  Fixes Bug #47.
24646	* docs/quartzdesign.html: Document the inefficiency of all-document
24647	  postlists for Quartz.
24648	* tests/api_anydb.cc,tests/api_db.cc,tests/api_wrdb.cc: Add tests for
24649	  all-document postlists, and for passing an empty term to all the
24650	  applicable database methods.  This defines the new tests
24651	  allpostlist1, allpostlist2, emptyterm1, and emptyterm2.  These
24652	  tests currently skip for the remote backend where postlist_begin()
24653	  isn't yet implemented.
24654
24655Mon Nov 13 02:06:03 GMT 2006  Olly Betts <olly@survex.com>
24656
24657	* Merge in utf8 branch:
24658
24659	Thu Sep 14 23:49:48 BST 2006  Olly Betts <olly@survex.com>
24660
24661		* queryparser/,tests/queryparsertest.cc: Update to work with
24662		  UTF-8.  Stop normalising accents - the general sentiment
24663		  seems to be firmly against it, and where it is still
24664		  appropriate we should get the stemmers to do it.
24665
24666Sun Nov 12 22:38:56 GMT 2006  Olly Betts <olly@survex.com>
24667
24668	* NEWS: Update from ChangeLog file in preparation for branching and
24669	  merging.
24670
24671Sun Nov 12 19:32:01 GMT 2006  Olly Betts <olly@survex.com>
24672
24673	* backends/flint/flint_database.cc,
24674	  backends/inmemory/inmemory_database.cc,
24675	  backends/inmemory/inmemory_database.h,
24676	  backends/quartz/quartz_database.cc: Fix replace_document() not to
24677	  lose positional information for a document if it is replaced with
24678	  itself with unmodified postings.
24679	* tests/api_wrdb.cc: Add testcase replace_document5 as regression test
24680	  for the replace_document bug.
24681	* backends/remote/remote-database.cc: Fix
24682	  RemoteDatabase::has_positions() to refetch the cached value if it
24683	  might be out of date.
24684
24685Sun Nov 12 17:07:00 GMT 2006  Olly Betts <olly@survex.com>
24686
24687	* docs/Makefile.am: Need to increase pool_size further still to build
24688	  sourcedoc.pdf (2000000 now).
24689
24690Sun Nov 12 16:24:15 GMT 2006  Olly Betts <olly@survex.com>
24691
24692	* HACKING: Add "update ReleaseNotes on wiki" to release checklist.
24693
24694Sun Nov 12 16:23:19 GMT 2006  Olly Betts <olly@survex.com>
24695
24696	* xapian.spec.in: Remove "." from end of "Summary:".  Package
24697	  new man page for xapian-progsrv.
24698
24699Sun Nov 12 00:43:36 GMT 2006  Olly Betts <olly@survex.com>
24700
24701	* docs/stemming.html: Update another "CVS" reference to say "SVN".
24702
24703Sun Nov 12 00:42:22 GMT 2006  Olly Betts <olly@survex.com>
24704
24705	* docs/install.html: Update reference to "CVS" to say "SVN".
24706
24707Thu Nov 09 01:11:52 GMT 2006  Olly Betts <olly@survex.com>
24708
24709	* HACKING: Reorder the release checklist a little.  I've fixed
24710	  update_website.sh to get the latest version from version.php, so
24711	  now only version.php needs updating.
24712
24713Thu Nov 09 00:17:35 GMT 2006  Olly Betts <olly@survex.com>
24714
24715	* NEWS,PLATFORMS,configure.ac: Update for 0.9.9.
24716
24717Wed Nov 08 20:54:31 GMT 2006  Olly Betts <olly@survex.com>
24718
24719	* xapian.spec.in: Apply changes from Neal Becker to run "autoreconf
24720	  --force" so that we don't set rpath for /usr/lib64, and add "libs"
24721	  to %post and %postun.
24722	* AUTHORS: Thank Neal Becker.
24723
24724Wed Nov 08 04:27:17 GMT 2006  Olly Betts <olly@survex.com>
24725
24726	* docs/tests.html: Update for "testsuite" -> "tests/harness".  Mark
24727	  paths and programs with <code>...</code>.  Improve wording in a few
24728	  places.
24729
24730Wed Nov 08 03:10:37 GMT 2006  Olly Betts <olly@survex.com>
24731
24732	* bin/xapian-tcpsrv.cc: Need '#include "safeerrno.h"' for EADDRINUSE.
24733
24734Wed Nov 08 02:36:59 GMT 2006  Olly Betts <olly@survex.com>
24735
24736	* bin/Makefile.am,bin/xapian-progsrv.cc,bin/xapian-tcpsrv.cc:
24737	  xapian-progsrv now uses getopt for option processing, and we can
24738	  now generate a man page using help2man.  Fixes Bug #98.
24739
24740Wed Nov 08 01:47:19 GMT 2006  Olly Betts <olly@survex.com>
24741
24742	* bin/xapian-tcpsrv.cc: If the port requested is in use, exit with
24743	  code 69 (EX_UNAVAILABLE) which is useful if you're trying to
24744	  automate launching of xapian-tcpsrv instances.
24745	* tests/harness/backendmanager.cc: If we can't start xapian-tcpsrv
24746	  because the port is in use, try higher numbered ports.
24747	* tests/harness/testsuite.cc: Catch and report std::string exceptions.
24748
24749Tue Nov 07 22:40:58 GMT 2006  Olly Betts <olly@survex.com>
24750
24751	* net/tcpclient.cc: Turn on TCP_NODELAY for the client too.
24752
24753Tue Nov 07 21:46:39 GMT 2006  Olly Betts <olly@survex.com>
24754
24755	* net/tcpserver.cc: Turn on TCP_NODELAY for xapian-tcpsrv which
24756	  increases throughput for the remote backend over tcp.
24757
24758Tue Nov 07 21:08:57 GMT 2006  Olly Betts <olly@survex.com>
24759
24760	* backends/flint/flint_btreebase.cc: Add missing '#include'-s.
24761
24762Tue Nov 07 17:57:22 GMT 2006  Olly Betts <olly@survex.com>
24763
24764	* backends/quartz/btree_base.cc: Add missing '#include'-s.
24765
24766Tue Nov 07 05:12:40 GMT 2006  Olly Betts <olly@survex.com>
24767
24768	* backends/flint/flint_positionlist.h,backends/flint/flint_table.cc,
24769	  backends/quartz/btree.cc: Add missing '#include <vector>' which
24770	  "utils.h" was implicitly pulling in.
24771	* common/utils.h: Move '#include "safefcntl.h"' to more logical place.
24772
24773Tue Nov 07 04:18:27 GMT 2006  Olly Betts <olly@survex.com>
24774
24775	* common/safefcntl.h: Actually add the new file to SVN.
24776
24777Tue Nov 07 03:36:59 GMT 2006  Olly Betts <olly@survex.com>
24778
24779	* HACKING,backends/flint/flint_io.h,backends/flint/flint_lock.cc,
24780	  backends/flint/flint_lock.h,backends/muscat36/io_system.cc,common/,
24781	  net/tcpserver.cc,tests/harness/backendmanager.cc,
24782	  tests/harness/testsuite.cc: Create "safefcntl.h" as a replacement
24783	  for <fcntl.h> instead of using "utils.h" for this purpose, since
24784	  "utils.h" pulls in many other things we often don't want.
24785	* common/utils.cc,common/utils.h,net/progclient.cc: Move split_words
24786	  to progclient.cc which is the only user of it.  Rewrite it to not
24787	  modified the string being split which risks being O(n^2).
24788	* net/progclient.cc,common/progclient.h: Pass std::string by const
24789	  reference.
24790	* configure.ac: Fix DJGPP build (fork is present but always fails).
24791
24792Tue Nov 07 03:21:24 GMT 2006  Olly Betts <olly@survex.com>
24793
24794	* matcher/biaspostlist.h: Don't need '#include "utils.h"'.
24795
24796Tue Nov 07 01:15:14 GMT 2006  Olly Betts <olly@survex.com>
24797
24798	* common/c_strtod.cc: Remove file which was checked in but is unused!
24799
24800Mon Nov 06 15:24:02 GMT 2006  Olly Betts <olly@survex.com>
24801
24802	* tests/internaltest.cc: Disable serialiselength1 and serialisedoc1
24803	  when the remote backend is disabled.
24804
24805Mon Nov 06 15:23:40 GMT 2006  Olly Betts <olly@survex.com>
24806
24807	* tests/Makefile.am: Fix typo in recent check-in.
24808
24809Mon Nov 06 01:43:37 GMT 2006  Olly Betts <olly@survex.com>
24810
24811	* tests/Makefile.am: Need "harness" in "$(srcdir)" for VPATH builds to
24812	  work.
24813
24814Sun Nov 05 19:55:26 GMT 2006  Olly Betts <olly@survex.com>
24815
24816	* backends/quartz/Makefile.am: Remove explicit dependency of
24817	  libbtreecheck.la on libxapian.la.  We always link in libxapian.la
24818	  and the explicit dependency makes it hard to build things in a
24819	  sane order.
24820
24821Sun Nov 05 19:29:17 GMT 2006  Olly Betts <olly@survex.com>
24822
24823	* net/tcpserver.cc: Don't define on_SIGCHLD() unless we'll use it.
24824	* tests/harness/backendmanager.cc: Use a proper signal handler for
24825	  SIGCHLD if we have waitpid() - POSIX leaves the semantics of
24826	  SIG_IGN on SIGCHLD unspecified.
24827
24828Sun Nov 05 19:11:36 GMT 2006  Olly Betts <olly@survex.com>
24829
24830	* backends/quartz/Makefile.am,backends/quartz/btreecheck.cc,
24831	  backends/quartz/btreecheck.h,bin/Makefile.am,tests/Makefile.am,
24832	  tests/harness/: Use _exit(0) instead of exit(0) in the child
24833	  process which closes the pipe to xapian-tcpsrv in BackendManager
24834	  since we don't want to call atexit functions from the child.  Move
24835	  btreecheck stuff into backends/quartz.
24836
24837Sun Nov 05 17:12:05 GMT 2006  Olly Betts <olly@survex.com>
24838
24839	* Makefile.am,bin/Makefile.am,configure.ac,tests/Makefile.am,
24840	  tests/harness/Makefile.am,tests/harness/dir_contents,testsuite/:
24841	  Move the testsuite harness from "testsuite/" to "tests/harness/".
24842
24843Sun Nov 05 16:36:56 GMT 2006  Olly Betts <olly@survex.com>
24844
24845	* testsuite/backendmanager.cc,testsuite/backendmanager.h: Now needs
24846	  <stdio.h>.  Set SIG_IGN for SIG_CHLD so we don't get zombie child
24847	  processes.
24848
24849Sun Nov 05 03:53:24 GMT 2006  Olly Betts <olly@survex.com>
24850
24851	* tests/apitest.cc: Make backendmanager static.
24852
24853Sun Nov 05 03:51:36 GMT 2006  Olly Betts <olly@survex.com>
24854
24855	* bin/xapian-tcpsrv.cc: Output "Listening..." once the socket is
24856	  open and read for connections.
24857	* testsuite/backendmanager.cc: Use popen() to run xapian-tcpsrv
24858	  and wait for "Listening..." before returning rather than just
24859	  sleeping for 1 second and hoping that's enough.
24860
24861Sun Nov 05 02:54:23 GMT 2006  Olly Betts <olly@survex.com>
24862
24863	* tests/api_db.cc: Remove unnecessary inclusion of backendmanager.h.
24864
24865Fri Nov 03 02:09:26 GMT 2006  Olly Betts <olly@survex.com>
24866
24867	* HACKING: Update debian packaging checklist.
24868
24869Fri Nov 03 00:57:35 GMT 2006  Olly Betts <olly@survex.com>
24870
24871	* docs/Makefile.am: Building sourcedoc.pdf needs a larger pool_size
24872	  now.
24873
24874Thu Nov 02 19:12:34 GMT 2006  Olly Betts <olly@survex.com>
24875
24876	* AUTHORS: Updated.
24877
24878Thu Nov 02 15:41:46 GMT 2006  Olly Betts <olly@survex.com>
24879
24880	* HACKING,NEWS,configure.ac: Update for 0.9.8.
24881
24882Thu Nov 02 15:20:05 GMT 2006  Olly Betts <olly@survex.com>
24883
24884	* PLATFORMS: Update from tinderbox.
24885
24886Thu Nov 02 11:53:53 GMT 2006  Olly Betts <olly@survex.com>
24887
24888	* configure.ac: GCC's -Wendif-labels is enabled by default on versions
24889	  which support it, which simplifies our tests.
24890
24891Thu Nov 02 00:22:44 GMT 2006  Olly Betts <olly@survex.com>
24892
24893	* backends/remote/dir_contents: Update.
24894
24895Wed Nov 01 15:33:12 GMT 2006  Olly Betts <olly@survex.com>
24896
24897	* common/omstringstream.h: Fix our implementation of om_ostringstream
24898	  to work with OmTime.
24899
24900Wed Nov 01 03:27:36 GMT 2006  Olly Betts <olly@survex.com>
24901
24902	* queryparser/queryparser.lemony,tests/queryparsertest.cc: Don't
24903	  require a prefixed boolean term to start with an alphanumeric
24904	  - allow the same set of characters as we do for the second and
24905	  subsequent characters.
24906
24907Sat Oct 28 04:12:13 BST 2006  Olly Betts <olly@survex.com>
24908
24909	* bin/quartzcheck.cc: Add catch for unknown exceptions.
24910
24911Sat Oct 28 03:49:19 BST 2006  Olly Betts <olly@survex.com>
24912
24913	* HACKING,configure.ac,docs/Makefile.am,docs/doxygen_api_conf.in,
24914	  docs/doxygen_full_conf.in: Produce a PDF for apidoc rather than
24915	  PostScript, since the PDF is smaller, and easier to view for most
24916	  users.  Use pdflatex to generate the PDF directly rather than
24917	  going via a DVI file.  This also avoids problems on some Linux
24918	  distros where latex is a symlink to pdfelatex (bug#81, bug#95).
24919
24920Thu Oct 26 22:12:20 BST 2006  Richard Boulton <richard@lemurconsulting.com>
24921
24922	* bin/quartzcheck.cc: Catch (and display) any exceptions which are
24923	  of type "const char *error".  btreecheck.cc raises an exception
24924	  of this type if a btree error is found, and this avoids
24925	  quartzcheck dying quite so horribly in this case.
24926
24927Wed Oct 25 23:30:26 BST 2006  Olly Betts <olly@survex.com>
24928
24929	* configure.ac: -Wendif-labels is new in GCC 3.3.
24930	* configure.ac: Revert accidental change which turned on -Werror in
24931	  non-maintainer builds.
24932	* configure.ac: Avoid non-portable use of double quotes in
24933	  double-quoted backticks.
24934
24935Wed Oct 25 01:19:24 BST 2006  Olly Betts <olly@survex.com>
24936
24937	* configure.ac: Redhat's GCC 2.96 doesn't support -Wundef even
24938	  though real GCC version before and after it do!  Also, use
24939	  -Wshadow and -Wendif-labels even when not in maintainer mode.
24940
24941Tue Oct 24 04:17:58 BST 2006  Olly Betts <olly@survex.com>
24942
24943	* backends/flint/flint_lock.cc,bin/quartzcheck.cc: Eliminate
24944	  a couple of variables whose value is never used.
24945
24946Tue Oct 24 00:31:25 BST 2006  Olly Betts <olly@survex.com>
24947
24948	* backends/quartz/quartz_database.cc: Only force a flush on
24949	  WritableDatabase::allterms_begin() if there are actually pending
24950	  changes.
24951
24952Mon Oct 23 23:49:52 BST 2006  Olly Betts <olly@survex.com>
24953
24954	* backends/flint/flint_database.cc: Only force a flush on
24955	  WritableDatabase::allterms_begin() if there are actually pending
24956	  changes.
24957
24958Mon Oct 23 02:24:12 BST 2006  Olly Betts <olly@survex.com>
24959
24960	* configure.ac: When checking if we need -lm, don't use a constant
24961	  argument to log as the compiler might simply evaluate the whole
24962	  expression at compile time.
24963
24964Sat Oct 21 20:42:52 BST 2006  Olly Betts <olly@survex.com>
24965
24966	* HACKING: Mention automake 1.10 is out but we've not tested it yet.
24967
24968Sat Oct 21 20:39:57 BST 2006  Olly Betts <olly@survex.com>
24969
24970	* HACKING: Add entries to release checklist: make sure new API methods
24971	  are wrapped by the bindings, and that bug submitters are thanked.
24972
24973Fri Oct 20 13:56:50 BST 2006  Richard Boulton <richard@lemurconsulting.com>
24974
24975	* backends/flint/flint_io.cc: Fix compilation on windows (needs to
24976	  #include "safewindows.h" to get definition of SSIZE_T).
24977
24978Tue Oct 17 02:16:37 BST 2006  Olly Betts <olly@survex.com>
24979
24980	* testsuite/backendmanager.cc: Fix compilation when valgrind is
24981	  detected by configure.
24982
24983Thu Oct 12 13:30:05 BST 2006  Olly Betts <olly@survex.com>
24984
24985	* xapian.spec.in: Package xapian-progsrv.
24986
24987Thu Oct 12 00:49:47 BST 2006  Olly Betts <olly@survex.com>
24988
24989	* HACKING: Note that on Debian, tetex-extra is needed for
24990	  fancyhdr.sty.
24991	* HACKING: Note that dch can be used to update debian/changelog.
24992
24993Wed Oct 11 23:35:08 BST 2006  Olly Betts <olly@survex.com>
24994
24995	* docs/Makefile.am: If running latex on refman.ps fails, cat
24996	  refman.log since that is likely to show what failed.
24997
24998Tue Oct 10 17:24:00 BST 2006  Olly Betts <olly@survex.com>
24999
25000	* NEWS: Bump release date.
25001
25002Sun Oct 08 21:41:04 BST 2006  Olly Betts <olly@survex.com>
25003
25004	* NEWS,PLATFORMS,configure.ac: Update for 0.9.7.
25005
25006Sun Oct 08 10:06:51 BST 2006  Olly Betts <olly@survex.com>
25007
25008	* testsuite/testsuite.cc: Use lseek() to skip existing valgrind output
25009	  instead of repeated calls to read.  Handle the old valgrind naming
25010	  convention for log files.
25011
25012Sun Oct 08 09:35:59 BST 2006  Olly Betts <olly@survex.com>
25013
25014	* matcher/multimatch.cc: Fix a couple of typos in comments.
25015
25016Sun Oct 08 05:36:36 BST 2006  Olly Betts <olly@survex.com>
25017
25018	* configure.ac: Disable probing and short-cut tests for a FORTRAN
25019	  compiler.  We don't use one, but current libtool versions always
25020	  check for it regardless.
25021
25022Sat Oct 07 21:19:35 BST 2006  Olly Betts <olly@survex.com>
25023
25024	* configure.ac,tests/runtest.in,testsuite/backendmanager.cc,
25025	  testsuite/testsuite.cc: Fix testsuite harness to show valgrind
25026	  output when a test fails (when running under valgrind in verbose
25027	  mode).  This probably stopped working due to changes in valgrind 3.
25028	* testsuite/backendmanager.cc: Run xapian-tcpsrv under valgrind if
25029	  apitest is.
25030
25031Fri Oct  6 18:27:13 BST 2006  Richard Boulton <richard@lemurconsulting.com>
25032
25033	* tests/runtest.in: export $LIBTOOL, $VALGRIND and $VG_LOG_FD.
25034	* testsuite/backendmanager.cc: If $LIBTOOL, $VALGRIND and
25035	  $VG_LOG_FD are set, run progsrv under valgrind.  Fixes
25036	  Bug #94.
25037	* net/remoteserver.cc: Use an AutoPtr to hold the unserialised
25038	  query, so it gets deleted if an exception is thrown.
25039	* api/omqueryinternal.cc: Use AutoPtr in one place, and a try-catch
25040	  in another, to ensure that partially unserialised queries get
25041	  deleted if exceptions are thrown.
25042	* tests/internaltest.cc: Add copyright notices to file for recent
25043	  change.
25044	* AUTHORS: Add myself as a current developer, now that I've started
25045	  committing to the core again.
25046
25047Fri Oct 06 17:44:21 BST 2006  Olly Betts <olly@survex.com>
25048
25049	* api/omqueryinternal.cc: Fix memory leak in query unserialisation.
25050
25051Fri Oct  6 17:34:59 BST 2006  Richard Boulton <richard@lemurconsulting.com>
25052
25053	* tests/runtest.in: Cache result of test for $VG_LOG_FD if we
25054	  find the new option.  Saves 2 seconds for each invocation on my
25055	  machine, which is half the time when running just a single simple
25056	  test.
25057
25058Fri Oct  6 16:35:46 BST 2006  Richard Boulton <richard@lemurconsulting.com>
25059
25060	* tests/internaltest.cc: Check serialisation and unserialisation of
25061	  Query objects.  Currently fails under valgrind due to a memory
25062	  leak somewhere in the unserialisation code.
25063
25064Thu Oct 05 14:13:55 BST 2006  Olly Betts <olly@survex.com>
25065
25066	* include/xapian/error.h: Only enable the SWIG visibility hook when
25067	  using GCC 4 or later.
25068
25069Wed Oct 04 20:32:43 BST 2006  Olly Betts <olly@survex.com>
25070
25071	* m4/xapian.m4: Remove overquoting.
25072
25073Wed Oct  4 13:28:09 BST 2006  Richard Boulton <richard@lemurconsulting.com>
25074
25075	* common/utils.h: MSVC seems to #define open.  However, the
25076	  workaround for this problem implemented for old versions of
25077	  solaris doesn't work for windows, so avoid applying the fix for
25078	  windows, and just #undef open.  (Windows seems to define some
25079	  open() functions, as well as #defining open!)
25080
25081Wed Oct  4 13:26:18 BST 2006  Richard Boulton <richard@lemurconsulting.com>
25082
25083	* net/serialise.cc: Use "unsigned char" instead of "char" when
25084	  serialising lengths, to avoid problems on platforms where char is
25085	  signed (eg, windows).
25086
25087Wed Oct 04 12:25:51 BST 2006  Olly Betts <olly@survex.com>
25088
25089	* backends/flint/flint_version.cc: Remove "100" from start of file so
25090	  it actually compiles.
25091
25092Mon Oct 02 13:57:56 BST 2006  Olly Betts <olly@survex.com>
25093
25094	* xapian-config.in: Fix typo - "@libdir" should be "@libdir@".
25095	  This would lead to -L/usr/lib not being pruned, which is really
25096	  just a cosmetic problem (the typo was introduced in 0.9.3).
25097
25098Thu Sep 28 02:00:05 BST 2006  Olly Betts <olly@survex.com>
25099
25100	* matcher/multimatch.cc: Reserve the right number of entries in the
25101	  subrsets vector.
25102
25103Fri Sep 22 07:48:32 BST 2006  Olly Betts <olly@survex.com>
25104
25105	* common/serialise-double.cc: Fix warning with aCC.
25106
25107Fri Sep 22 04:43:06 BST 2006  Olly Betts <olly@survex.com>
25108
25109	* HACKING: Expand note on _GLIBCXX_DEBUG;  Now using autoconf 2.60 for
25110	  snapshots and releases;  Now using a libtool patch which improves
25111	  support for -library=stlport4 with Sun's C++;  Give URL to Alexandre
25112	  Duret-Lutz's autotools tutorial, which is much more up-to-date than
25113	  the "goat book".
25114
25115Fri Sep 22 04:42:08 BST 2006  Olly Betts <olly@survex.com>
25116
25117	* common/serialise-double.cc: Fix a few compiler warnings.
25118
25119Fri Sep 22 04:29:18 BST 2006  Olly Betts <olly@survex.com>
25120
25121	* backends/flint/flint_lock.cc: Retry on EINTR from fcntl or waitpid.
25122
25123Fri Sep 22 03:39:12 BST 2006  Olly Betts <olly@survex.com>
25124
25125	* include/xapian/version_h.cc: Only check _GLIBCXX_DEBUG for GCC 3.4
25126	  and later (which are the versions which support it).
25127
25128Fri Sep 22 03:37:02 BST 2006  Olly Betts <olly@survex.com>
25129
25130	* bin/xapian-tcpsrv.cc: Report errno if we catch a Xapian::Error which
25131	  has it set.
25132
25133Fri Sep 22 03:30:25 BST 2006  Olly Betts <olly@survex.com>
25134
25135	* configure.ac: Turn on -Wportability to help ensure our Makefile.am's
25136	  are written in a portable way.
25137
25138Fri Sep 22 03:29:25 BST 2006  Olly Betts <olly@survex.com>
25139
25140	* tests/runtest.in: Turn on GLIBCXX_FORCE_NEW when running tests under
25141	  valgrind.
25142
25143Tue Sep 19 06:28:47 BST 2006  Olly Betts <olly@survex.com>
25144
25145	* tests/internaltest.cc: Check that the the destructor on a temporary
25146	  object gets called at the correct time (Sun C++ deliberately gets
25147	  this wrong by default).
25148
25149Tue Sep 19 04:32:04 BST 2006  Olly Betts <olly@survex.com>
25150
25151	* include/xapian/enquire.h: Revert change to Xapian::Weight's copy
25152	  constructor because it prevents Omega from compiling.
25153
25154Tue Sep 19 04:01:14 BST 2006  Olly Betts <olly@survex.com>
25155
25156	* configure.ac: Make the argument of log() a double to avoid
25157	  potential compiler warnings.
25158
25159Mon Sep 18 22:58:19 BST 2006  Olly Betts <olly@survex.com>
25160
25161	* include/xapian/enquire.h: Xapian::Weight's copy constructor should
25162	  be private not protected (direct copying isn't allowed).
25163
25164Mon Sep 18 07:03:51 BST 2006  Olly Betts <olly@survex.com>
25165
25166	* configure.ac: We reportedly need "-lm" to get maths functions on
25167	  some versions of Sun's C++ compiler.
25168
25169Sat Sep 16 12:08:25 BST 2006  Olly Betts <olly@survex.com>
25170
25171	* configure.ac: Sun's C++ compiler implements non-standards-conforming
25172	  lifetimes for temporary objects (for "backwards compatibility" with
25173	  old Sun C++ specific code).  We don't care about such code, so
25174	  always pass "-features=tmplife" for Sun C++.
25175
25176Sat Sep 16 03:04:57 BST 2006  Olly Betts <olly@survex.com>
25177
25178	* bin/xapian-progsrv.cc: Oops, fix compilation error.
25179
25180Sat Sep 16 02:13:22 BST 2006  Olly Betts <olly@survex.com>
25181
25182	* bin/xapian-progsrv.cc: Fix messages send by xapian-progsrv if an
25183	  exception is thrown while opening the database.
25184
25185Fri Sep 15 06:29:55 BST 2006  Olly Betts <olly@survex.com>
25186
25187	* tests/internaltest.cc: 1/DBL_MAX may be less than DBL_MIN but on
25188	  platforms like x86 which hold results in registers with extra
25189	  precision, this is still representable, but not reliably so
25190	  the test sometimes fails.
25191
25192Fri Sep 15 02:40:52 BST 2006  Olly Betts <olly@survex.com>
25193
25194	* backends/flint/flint_btreebase.cc: Avoid copying beyond the end of
25195	  the bitmap block.
25196
25197Thu Sep 14 02:01:58 BST 2006  Olly Betts <olly@survex.com>
25198
25199	* backends/flint/flint_version.cc: Fix warning from GCC 4.1.0.
25200
25201Wed Sep 13 18:12:43 BST 2006  Olly Betts <olly@survex.com>
25202
25203	* backends/flint/flint_io.cc,backends/flint/flint_io.h,
25204	  backends/flint/flint_version.cc: Fix compiler warnings.
25205
25206Wed Sep 13 06:09:40 BST 2006  Olly Betts <olly@survex.com>
25207
25208	* backends/flint/flint_version.cc,backends/flint/flint_version.h:
25209	  Actually commit the new files!
25210
25211Wed Sep 13 05:21:04 BST 2006  Olly Betts <olly@survex.com>
25212
25213	* backends/flint/,common/utils.h: Rewrite some of flint's low level IO
25214	  functions, and the "iamflint" handling class.
25215
25216Tue Sep 12 20:22:57 BST 2006  Olly Betts <olly@survex.com>
25217
25218	* backends/remote/remote-database.cc: Fix to compile.
25219
25220Tue Sep 12 18:56:16 BST 2006  Olly Betts <olly@survex.com>
25221
25222	* backends/remote/remote-database.cc,common/remote-database.h:
25223	  Fix bug in remote backend which incorrectly returned an empty MSet
25224	  under certain circumstances!
25225
25226Tue Sep 12 11:51:31 BST 2006  Olly Betts <olly@survex.com>
25227
25228	* matcher/msetcmp.cc: "static inline" -> "inline" since the static is
25229	  superfluous and Sun's C++ warns.
25230
25231Mon Sep 11 23:42:28 BST 2006  Olly Betts <olly@survex.com>
25232
25233	* configure.ac: Check $CXX not $CC to identify which C++ compiler we
25234	  have.
25235
25236Mon Sep 11 16:32:37 BST 2006  Olly Betts <olly@survex.com>
25237
25238	* api/omenquire.cc,api/vectortermlist.h,
25239	  backends/flint/flint_positionlist.cc,configure.ac,
25240	  net/remoteconnection.cc,net/tcpclient.cc,
25241	  queryparser/queryparser.lemony,tests/api_anydb.cc,tests/api_db.cc,
25242	  tests/api_nodb.cc: I've discovered that -library=stlport4 puts
25243	  Sun's compiler into an "ANSI C++ compliant" mode, so do that
25244	  automatically in configure and throw away all the annoying special
25245	  bits of alternative code we'd accumulated just for this one
25246	  compiler.
25247
25248Mon Sep 11 16:01:20 BST 2006  Olly Betts <olly@survex.com>
25249
25250	* tests/api_wrdb.cc: Speed up deldoc4 when run in verbose mode
25251	  - some stringstream implementations are very inefficient when
25252	  the string grows long.
25253
25254Mon Sep 11 05:30:29 BST 2006  Olly Betts <olly@survex.com>
25255
25256	* HACKING: Add some advice regarding debugging using -D_GLIBCXX_DEBUG,
25257	  valgrind, and gdb.
25258
25259Sun Sep 10 02:24:47 BST 2006  Olly Betts <olly@survex.com>
25260
25261	* configure.ac: Fix last check-in to actually work.
25262
25263Sat Sep 09 04:19:44 BST 2006  Olly Betts <olly@survex.com>
25264
25265	* configure.ac: Ensure that if _GLIBCXX_DEBUG has been specified that
25266	  it also passed when generating version.h.
25267
25268Sat Sep 09 04:01:40 BST 2006  Olly Betts <olly@survex.com>
25269
25270	* tests/internaltest.cc: Give more useful output should the double
25271	  serialisation test fail.
25272
25273Sat Sep 09 03:19:20 BST 2006  Olly Betts <olly@survex.com>
25274
25275	* include/xapian/version_h.cc: Add a check that _GLIBCXX_DEBUG is
25276	  set compatibly if we're compiling with GNU C++.
25277
25278Sat Sep 09 02:55:38 BST 2006  Olly Betts <olly@survex.com>
25279
25280	* backends/flint/flint_modifiedpostlist.cc: Fix potential access to
25281	  iterator which has already reached its end.
25282
25283Fri Sep 08 04:05:28 BST 2006  Olly Betts <olly@survex.com>
25284
25285	* backends/remote/remote-database.cc,common/,matcher/bm25weight.cc,
25286	  matcher/tradweight.cc,net/,tests/internaltest.cc: Split the double
25287	  serialisation code off into its own file - it is used by BM25Weight
25288	  and TradWeight, so it needs to be compiled in even when the remote
25289	  backend is disabled.
25290
25291Thu Sep 07 00:09:41 BST 2006  Olly Betts <olly@survex.com>
25292
25293	* testsuite/backendmanager.cc: Discard stderr from xapian-tcpsrv
25294	  so we don't get "write error" messages appearing in the testsuite
25295	  output when we've just closed the connection at the client side.
25296
25297Tue Sep 05 21:07:40 BST 2006  Olly Betts <olly@survex.com>
25298
25299	* api/omqueryinternal.cc: Fix warning when remote backend
25300	  is disabled.
25301
25302Tue Sep 05 20:58:52 BST 2006  Olly Betts <olly@survex.com>
25303
25304	* docs/Makefile.am: Add extra dependencies so that parallel make
25305	  doesn't try to run latex twice simultaneously.
25306
25307Tue Sep 05 20:58:13 BST 2006  Olly Betts <olly@survex.com>
25308
25309	* AUTHORS: Updated.
25310
25311Tue Sep 05 20:56:50 BST 2006  Olly Betts <olly@survex.com>
25312
25313	* Makefile.am: Fix typo.
25314
25315Tue Sep 05 03:23:14 BST 2006  Olly Betts <olly@survex.com>
25316
25317	* docs/queryparser.html,queryparser/queryparser.lemony,
25318	  tests/queryparsertest.cc: Implement "ADJ" operator - like
25319	  "NEAR" except the terms must appear in matching documents in the
25320	  same order as in the query.
25321
25322Tue Sep 05 03:19:12 BST 2006  Olly Betts <olly@survex.com>
25323
25324	* backends/remote/remote-database.cc,common/,docs/remote_protocol.html,
25325	  matcher/bm25weight.cc,matcher/tradweight.cc,net/remoteserver.cc,
25326	  net/serialise.cc,tests/internaltest.cc: Change how doubles are
25327	  serialised by TradWeight, BM25Weight, and in the remote backend
25328	  protocol.  The new encoding allows us to transfer any double
25329	  value which can be represented by both machines precisely and
25330	  compactly.
25331
25332Tue Sep 05 02:27:36 BST 2006  Olly Betts <olly@survex.com>
25333
25334	* docs/queryparser.html,queryparser/queryparser.lemony,
25335	  tests/queryparsertest.cc: Allow a distance to be specified
25336	  for NEAR - e.g. "cats NEAR/3 dogs" (bug#92).
25337
25338Fri Sep 01 00:29:10 BST 2006  Olly Betts <olly@survex.com>
25339
25340	* backends/remote/remote-database.cc,common/remote-database.h:
25341	  Fix RemoteDatabase::reopen() to not be const so it actually
25342	  overrides the virtual method it is supposed to.
25343
25344Thu Aug 31 21:40:53 BST 2006  Olly Betts <olly@survex.com>
25345
25346	* testsuite/backendmanager.h: Remove unneeded BackendManager::
25347	  qualifications.
25348
25349Thu Aug 31 17:08:16 BST 2006  Olly Betts <olly@survex.com>
25350
25351	* matcher/msetpostlist.cc,matcher/msetpostlist.h: Move #include
25352	  "omenquireinternal.h" into the header to fix compilation error
25353	  with older versions of GCC.
25354
25355Thu Aug 31 16:38:33 BST 2006  Olly Betts <olly@survex.com>
25356
25357	* PLATFORMS: Added success report for Nexenta (alpha 5).
25358
25359Wed Aug 30 23:41:08 BST 2006  Olly Betts <olly@survex.com>
25360
25361	* configure.ac: Fix generation of version.h to work with Solaris sed.
25362
25363Sat Aug 26 15:28:22 BST 2006  Olly Betts <olly@survex.com>
25364
25365	* docs/index.html: Add links to the wiki.
25366
25367Sun Jul 16 03:48:26 BST 2006  Olly Betts <olly@survex.com>
25368
25369	* common/Makefile.am: Ship remoteprotocol.h.
25370
25371Sun Jul 16 02:23:54 BST 2006  Olly Betts <olly@survex.com>
25372
25373	* common/remote-database.h: Add new file I missed in the previous
25374	  commit.
25375
25376Sun Jul 16 01:58:25 BST 2006  Olly Betts <olly@survex.com>
25377
25378	* Makefile.am,api/,backends/Makefile.am,backends/database.cc,
25379	  backends/dbfactory_remote.cc,backends/flint/flint_database.cc,
25380	  backends/flint/flint_termlist.cc,backends/flint/flint_termlist.h,
25381	  backends/inmemory/inmemory_database.cc,
25382	  backends/inmemory/inmemory_database.h,
25383	  backends/multi/multi_termlist.cc,backends/multi/multi_termlist.h,
25384	  backends/net/,backends/quartz/quartz_termlist.cc,
25385	  backends/quartz/quartz_termlist.h,backends/remote/,bin/Makefile.am,
25386	  bin/xapian-progsrv.cc,bin/xapian-tcpsrv.cc,common/,configure.ac,
25387	  docs/remote_protocol.html,include/xapian/,matcher/,net/,tests/,
25388	  testsuite/backendmanager.cc,testsuite/backendmanager.h: Rewrite
25389	  most of the remote backend.  It now supports most operations
25390	  which a local database does (including writing!), the protocol
25391	  used is more compact, and a number of layers of classes have
25392	  been eliminated and the sequences of method calls simplified, so the
25393	  code should be easier to understand and maintain despite doing more.
25394	  A number of bugs have been fixed in the process.
25395
25396Sat Jul 15 05:10:38 BST 2006  Olly Betts <olly@survex.com>
25397
25398	* tests/api_nodb.cc: Doesn't need <iostream>.
25399
25400Sat Jul 15 01:06:27 BST 2006  Olly Betts <olly@survex.com>
25401
25402	* README: Add link to the wiki.  Tweak wording.
25403
25404Fri Jul 14 15:21:39 BST 2006  Olly Betts <olly@survex.com>
25405
25406	* configure.ac: Note in error message that dot is in graphviz.
25407
25408Fri Jul 14 15:17:36 BST 2006  Olly Betts <olly@survex.com>
25409
25410	* docs/overview.html: Add discussion of uses of terms vs values.
25411
25412Fri Jul 14 15:01:04 BST 2006  Olly Betts <olly@survex.com>
25413
25414	* docs/overview.html: Rewrite the section on Xapian::Document to
25415	  remove some very out-of-date information and make it clearer.
25416
25417Tue Jul 11 18:41:07 BST 2006  Olly Betts <olly@survex.com>
25418
25419	* queryparser/queryparser.lemony: Fix problem I believe was introduced
25420	  by previous fix.
25421	* tests/queryparsertest.cc: Add regression test and some additional
25422	  related test cases.
25423
25424Tue Jul 11 03:32:48 BST 2006  Olly Betts <olly@survex.com>
25425
25426	* queryparser/queryparser.lemony: Fix bug in how we handle prefixed
25427	  quoted phrases and prefixed brackets.
25428	* tests/queryparsertest.cc: Add regression tests.
25429
25430Mon Jul 10 23:17:58 BST 2006  Olly Betts <olly@survex.com>
25431
25432	* include/xapian/database.h: Note that automatically allocated
25433	  document IDs don't reuse IDs from deleted document.
25434
25435Wed Jul 05 01:06:35 BST 2006  Olly Betts <olly@survex.com>
25436
25437	* tests/api_wrdb.cc: Tweak whitespace.
25438
25439Mon Jun 26 23:56:02 BST 2006  Olly Betts <olly@survex.com>
25440
25441	* PLATFORMS: Added success reports for MSVC and sparc linux.
25442
25443Sat Jun 17 02:01:35 BST 2006  Olly Betts <olly@survex.com>
25444
25445	* Makefile.am,tests/Makefile.am: Tweak new check-* rules to be more
25446	  portable and robust.
25447
25448Sun Jun 11 23:29:48 BST 2006  Olly Betts <olly@survex.com>
25449
25450	* queryparser/queryparser.lemony,tests/queryparsertest.cc: Fix parsing
25451	  of loved and hated prefixed phrases and bracketted expressions.  Fix
25452	  handling of stopwords in boolean expressions.  Don't ignore a
25453	  stopword if it's the only query term.  Add regression tests for all
25454	  these cases.
25455
25456Fri Jun 09 15:21:07 BST 2006  Olly Betts <olly@survex.com>
25457
25458	* docs/queryparser.html: Add pointer to set_database when describing
25459	  FLAG_WILDCARD.
25460
25461Fri Jun 09 13:51:03 BST 2006  Olly Betts <olly@survex.com>
25462
25463	* include/xapian/queryparser.h: Add note that FLAG_WILDCARD requires
25464	  you to call set_database.
25465
25466Fri Jun 09 13:49:34 BST 2006  Olly Betts <olly@survex.com>
25467
25468	* api/omqueryinternal.cc: Don't compile query serialisation if the
25469	  remote backend is disabled.
25470
25471Fri Jun 09 01:48:25 BST 2006  Olly Betts <olly@survex.com>
25472
25473	* api/omdocument.cc,tests/api_nodb.cc: add_value failed to replace an
25474	  existing value with the same number, contrary to what the
25475	  documentation says (bug #82).
25476
25477Thu Jun 08 21:36:54 BST 2006  Olly Betts <olly@survex.com>
25478
25479	* matcher/multimatch.cc: Don't fetch the document data when fetching
25480	  the value to sort on.  Simple benchmarking showed this to speed
25481	  up sort by value by a factor of between 3 and 9!
25482
25483Sun Jun 04 17:36:01 BST 2006  Olly Betts <olly@survex.com>
25484
25485	* backends/flint/: Remove forced flush when iterating the posting list
25486	  of a term which has modified posting pending.
25487
25488Sat Jun 03 21:38:43 BST 2006  Olly Betts <olly@survex.com>
25489
25490	* backends/flint/flint_database.cc,backends/flint/flint_termlist.cc,
25491	  backends/quartz/quartz_database.cc,tests/api_wrdb.cc: We can't flush
25492	  during a transaction, which means that we can't use flush to avoid
25493	  having to handle corner cases (like deleting a document right after
25494	  adding it before it's been flushed) so handle corner cases properly
25495	  (except for postlist_begin() and allterms_begin() which are
25496	  harder - these now throw UnimplementedError at least...)
25497	* backends/flint/flint_database.cc,backends/quartz/quartz_database.cc:
25498	  replace_document(did, doc) was double-incrementing the "changes"
25499	  counter when document did didn't exist - fixed.
25500
25501Sat Jun 03 17:53:41 BST 2006  Olly Betts <olly@survex.com>
25502
25503	* HACKING: Document "make check-flint" and "make check-quartz".
25504
25505Sat Jun 03 17:49:25 BST 2006  Olly Betts <olly@survex.com>
25506
25507	* Makefile.am,tests/Makefile.am: Added make targets "check-flint" and
25508	  "check-quartz" which run the subset of tests which test the flint
25509	  and quartz backends respectively.
25510
25511Sat Jun 03 04:03:00 BST 2006  Olly Betts <olly@survex.com>
25512
25513	* api/omdatabase.cc,backends/database.cc,
25514	  backends/flint/flint_database.cc,backends/flint/flint_database.h,
25515	  backends/inmemory/inmemory_database.cc,
25516	  backends/inmemory/inmemory_database.h,backends/quartz/dir_contents,
25517	  backends/quartz/quartz_database.cc,backends/quartz/quartz_database.h,
25518	  common/database.h,include/xapian/database.h,tests/apitest.cc:
25519	  Rework transactions to support "unflushed" transactions, and so
25520	  they work with quartz as well as with flint.
25521
25522Sat Jun 03 03:18:22 BST 2006  Olly Betts <olly@survex.com>
25523
25524	* HACKING: Document "make check-remote".
25525
25526Sat Jun 03 00:23:46 BST 2006  Olly Betts <olly@survex.com>
25527
25528	* backends/database.cc,backends/flint/dir_contents,
25529	  backends/flint/flint_database.cc,backends/flint/flint_database.h,
25530	  backends/quartz/dir_contents,common/database.h,
25531	  include/xapian/database.h,tests/: Implement transactions for
25532	  flint.
25533
25534Sat Jun 03 00:14:37 BST 2006  Olly Betts <olly@survex.com>
25535
25536	* tests/apitest.cc: Run tests on flint if flint is enabled, rather
25537	  than if quartz is enabled.
25538
25539Sun May 28 23:01:45 BST 2006  Olly Betts <olly@survex.com>
25540
25541	* common/omtime.h: Add operator+ and operator+= with argument of
25542	  type Xapian::timeout.
25543
25544Sun May 28 22:02:30 BST 2006  Olly Betts <olly@survex.com>
25545
25546	* include/xapian/errorhandler.h: Fix typos in private assignment
25547	  operator and copy ctor (Error -> ErrorHandler!)
25548
25549Sun May 28 21:54:05 BST 2006  Olly Betts <olly@survex.com>
25550
25551	* Makefile.am,tests/Makefile.am: Add "check-remote" target which runs
25552	  the subset of tests which test the remote backend.
25553
25554Thu May 25 16:06:06 BST 2006  Olly Betts <olly@survex.com>
25555
25556	* api/omdatabase.cc,backends/database.cc,common/database.h:
25557	  Merge Xapian::Internal::open_database() into the Xapian::Database
25558	  ctor which calls it; merge Xapian::Internal::open_writable_database()
25559	  into the Xapian::WritableDatabase ctor which calls it.
25560
25561Wed May 24 08:28:40 BST 2006  Olly Betts <olly@survex.com>
25562
25563	* net/socketserver.cc: OmLineBuf -> OmSocketLineBuf.
25564
25565Wed May 24 08:27:22 BST 2006  Olly Betts <olly@survex.com>
25566
25567	* common/socketserver.h: OmLineBuf -> OmSocketLineBuf.
25568
25569Wed May 24 07:50:51 BST 2006  Olly Betts <olly@survex.com>
25570
25571	* common/Makefile.am,common/omlinebuf.h,common/socketcommon.h,
25572	  net/Makefile.am,net/omlinebuf.cc,net/socketcommon.cc:
25573	  Merge OmLineBuf into OmSocketLineBuf.
25574	* common/Makefile.am: Fix netutils.cc to be conditionally included
25575	  when the remote backend is enabled, not the quartz backend!
25576
25577Tue May 23 18:59:09 BST 2006  Olly Betts <olly@survex.com>
25578
25579	* api/Makefile.am,api/errorhandler.cc,api/omerror.cc,
25580	  include/xapian/error.h,include/xapian/errorhandler.h:
25581	  Redo the Xapian::Error and Xapian::ErrorHandler classes.
25582	  The new versions have better, clearer documentation comments
25583	  and are cleaner internally.
25584	* include/xapian/error.h: Add hook to allow SWIG bindings to
25585	  be built using GCC's visibility support.
25586
25587Tue May 23 10:08:02 BST 2006  Olly Betts <olly@survex.com>
25588
25589	* backends/quartz/btree.cc: Remove superfluous '#include <autoptr.h>'.
25590
25591Tue May 23 09:42:52 BST 2006  Olly Betts <olly@survex.com>
25592
25593	* backends/Makefile.am,backends/database.cc,
25594	  backends/dbfactory_remote.cc,backends/net/net_database.cc,
25595	  backends/net/net_termlist.cc,backends/net/net_termlist.h,common/,
25596	  include/xapian/dbfactory.h,matcher/,net/socketclient.cc,
25597	  net/socketcommon.cc: Eliminate the NetClient class by merging
25598	  it into NetDatabase.
25599
25600Mon May 22 08:51:16 BST 2006  Olly Betts <olly@survex.com>
25601
25602	* common/omtime.h: Fix OmTime::operator> which failed to return false
25603	  if the seconds were strictly less but the microsecond fraction was
25604	  more.
25605
25606Sun May 21 11:53:29 BST 2006  Olly Betts <olly@survex.com>
25607
25608	* Makefile.am,bin/Makefile.am,docs/Makefile.am,examples/Makefile.am:
25609	  Make use of the dist_ prefix to avoid having to list files in
25610	  EXTRA_DIST as well as in *_DATA and man_MANS.
25611
25612Sun May 21 05:55:00 BST 2006  Olly Betts <olly@survex.com>
25613
25614	* api/dir_contents,getopt/dir_contents,queryparser/dir_contents:
25615	  Add missing dir_contents files.
25616
25617Sun May 21 05:45:44 BST 2006  Olly Betts <olly@survex.com>
25618
25619	* tests/remotetest.cc: Remove unnecessary "#include <sys/wait.h>".
25620
25621Sat May 20 11:02:43 BST 2006  Olly Betts <olly@survex.com>
25622
25623	* docs/Makefile.am: doxygen_api_conf and doxygen_full_conf are
25624	  generated, so aren't in srcdir!
25625
25626Sat May 20 10:14:52 BST 2006  Olly Betts <olly@survex.com>
25627
25628	* docs/Makefile.am: automake adds suitable rules for rebuilding
25629	  doxygen_api_conf and doxygen_source_conf, so remove our less
25630	  accurate versions.
25631
25632Fri May 19 14:43:47 BST 2006  Olly Betts <olly@survex.com>
25633
25634	* docs/Makefile.am,docs/doxygen_api_conf.in,docs/doxygen_full_conf.in:
25635	  Remove "XAPIAN_DEPRECATED" from generated documentation.
25636	* docs/Makefile.am: Fix dependencies for regenerating the doxygen
25637	  documentation.
25638
25639Fri May 19 08:12:51 BST 2006  Olly Betts <olly@survex.com>
25640
25641	* docs/scalability.html: quartzcompact and xapian-compact now allow
25642	  you to set the blocksize, so there's no need to use copydatabase
25643	  if you want to migrate a database to a larger blocksize.  Mention
25644	  gmane.  Other minor tweaks.
25645
25646Fri May 19 07:52:23 BST 2006  Olly Betts <olly@survex.com>
25647
25648	* bin/quartzcompact.cc: Add --blocksize option to allow the blocksize
25649	  to be set (default is 8K as before.)
25650
25651Fri May 19 07:47:13 BST 2006  Olly Betts <olly@survex.com>
25652
25653	* bin/xapian-compact.cc: Add --blocksize option to allow the blocksize
25654	  to be set (default is 8K as before.)
25655
25656Thu May 18 11:24:17 BST 2006  Olly Betts <olly@survex.com>
25657
25658	* api/vectortermlist.h: Whitespace tweak.
25659
25660Tue May 16 10:09:53 BST 2006  Olly Betts <olly@survex.com>
25661
25662	* HACKING: Update details of the debian stable backport version
25663	  numbering scheme.
25664
25665Tue May 16 06:55:14 BST 2006  Olly Betts <olly@survex.com>
25666
25667	* configure.ac: Remove unused variable from snprintf testing code.
25668
25669Tue May 16 04:32:34 BST 2006  Olly Betts <olly@survex.com>
25670
25671	* HACKING: Expand on the debian package building checklist.
25672
25673Tue May 16 04:32:07 BST 2006  Olly Betts <olly@survex.com>
25674
25675	* include/xapian/enquire.h: Note that "set_sort_by_relevance" is the
25676	  default setting.
25677
25678Mon May 15 06:59:01 BST 2006  Olly Betts <olly@survex.com>
25679
25680	* HACKING: Update debian package building checklist.
25681
25682Mon May 15 03:53:53 BST 2006  Olly Betts <olly@survex.com>
25683
25684	* PLATFORMS: Update one more result before the actual release.
25685
25686Mon May 15 02:15:18 BST 2006  Olly Betts <olly@survex.com>
25687
25688	* NEWS,configure.ac: Updated for 0.9.6.
25689
25690Mon May 15 01:35:33 BST 2006  Olly Betts <olly@survex.com>
25691
25692	* PLATFORMS: Updated in preparation for the next release.
25693
25694Sun May 14 19:05:37 BST 2006  Olly Betts <olly@survex.com>
25695
25696	* backends/flint/flint_lock.h: Added workaround for newlib header bug.
25697
25698Sat May 13 07:04:14 BST 2006  Olly Betts <olly@survex.com>
25699
25700	* configure.ac: Fix snprintf tests.
25701
25702Sat May 13 04:52:53 BST 2006  Olly Betts <olly@survex.com>
25703
25704	* configure.ac: Tweak version.h generation to cope with CXXCPP putting
25705	  carriage returns into its output as can happen on cygwin.
25706
25707Fri May 12 21:49:33 BST 2006  Olly Betts <olly@survex.com>
25708
25709	* HACKING: Update with the libtool patches we're now using.
25710
25711Fri May 12 21:43:02 BST 2006  Olly Betts <olly@survex.com>
25712
25713	* include/xapian/version_h.cc: Trim trailing whitespace.
25714
25715Fri May 12 20:43:47 BST 2006  Olly Betts <olly@survex.com>
25716
25717	* configure.ac,include/xapian/version_h.cc: Replace @@ with " instead
25718	  of @, so we can write @deprecated.  Fix more compilation problems.
25719
25720Fri May 12 19:00:08 BST 2006  Olly Betts <olly@survex.com>
25721
25722	* include/xapian/version_h.cc: Fix compilation problem.
25723
25724Fri May 12 01:19:14 BST 2006  Olly Betts <olly@survex.com>
25725
25726	* api/version.cc,include/xapian/version_h.cc: Rename
25727	  Xapian::xapian_version_string() and companions to
25728	  Xapian::version_string().  Keep the old functions as aliases
25729	  which are marked as deprecated.
25730
25731Wed May 10 18:25:59 BST 2006  Olly Betts <olly@survex.com>
25732
25733	* include/xapian/enquire.h: Remove bogus documentation for a
25734	  parameter which doesn't exist.
25735
25736Tue May 09 19:17:23 BST 2006  Olly Betts <olly@survex.com>
25737
25738	* bin/Makefile.am: Remove trailing whitespace.
25739	* bin/xapian-compact.cc: Fix renaming of "iamflint.tmp" for MS Windows
25740	  where you can't rename an open file.
25741
25742Tue May 09 15:57:26 BST 2006  Olly Betts <olly@survex.com>
25743
25744	* configure.ac: Fix reversed conditional in test for snprintf (which
25745	  affects cygwin).
25746
25747Mon May 01 21:49:46 BST 2006  Olly Betts <olly@survex.com>
25748
25749	* tests/queryparsertest.cc: Add another prefix testcase to improve
25750	  coverage.
25751
25752Sat Apr 29 20:16:46 BST 2006  Olly Betts <olly@survex.com>
25753
25754	* docs/remote_protocol.html: Document keep-alive messages.
25755
25756Thu Apr 13 14:49:48 BST 2006  Olly Betts <olly@survex.com>
25757
25758	* queryparser/queryparser.lemony,tests/queryparsertest.cc: Add rules
25759	  to handle a boolean filter with a "+" in front (such as
25760	  +site:xapian.org).
25761
25762Wed Apr 12 18:42:31 BST 2006  Olly Betts <olly@survex.com>
25763
25764	* PLATFORMS: More updates for 0.9.5.
25765
25766Tue Apr 11 19:56:16 BST 2006  Olly Betts <olly@survex.com>
25767
25768	* matcher/Makefile.am: Need to add "-I${top_builddir}/include" to
25769	  INCLUDES so that xapian/version.h is found.
25770
25771Tue Apr 11 19:24:59 BST 2006  Olly Betts <olly@survex.com>
25772
25773	* backends/database.cc,configure.ac,include/xapian/version_h.cc,
25774	  matcher/multimatch.cc,matcher/stats.cc,tests/apitest.cc,
25775	  testsuite/backendmanager.cc,testsuite/backendmanager.h:
25776	  Eliminate XAPIAN_BUILD_BACKEND_* from config.h and just use
25777	  XAPIAN_HAS_*_BACKEND from xapian/version.h instead.
25778
25779Tue Apr 11 18:32:52 BST 2006  Olly Betts <olly@survex.com>
25780
25781	* include/Makefile.am: Add xapian/version.h.timestamp as a dependency
25782	  on all-local so that xapian/version.h actually gets regenerated
25783	  when required.
25784
25785Tue Apr 11 17:52:24 BST 2006  Olly Betts <olly@survex.com>
25786
25787	* api/omenquire.cc,backends/flint/flint_btreebase.cc,
25788	  backends/quartz/btree_base.cc,common/utils.h,configure.ac:
25789	  Disable MSVC warning 4800 (on int to bool conversions) in config.h
25790	  and then we can remove the "fixes" elsewhere.
25791
25792Tue Apr 11 16:28:01 BST 2006  Olly Betts <olly@survex.com>
25793
25794	* configure.ac: Simpler check for VALGRIND being set to empty value.
25795
25796Tue Apr 11 01:04:32 BST 2006  Olly Betts <olly@survex.com>
25797
25798	* PLATFORMS: Add a summary.
25799
25800Tue Apr 11 00:45:55 BST 2006  Olly Betts <olly@survex.com>
25801
25802	* PLATFORMS: Updates from boxes which were down when I did the
25803	  release.
25804
25805Mon Apr 10 17:06:46 BST 2006  Olly Betts <olly@survex.com>
25806
25807	* api/omenquire.cc,backends/flint/flint_btreebase.cc,
25808	  backends/flint/flint_utils.h,backends/quartz/btree_base.cc,
25809	  backends/quartz/quartz_utils.h,common/omassert.h:
25810	  Fix more MSVC7 warnings (I spoke too soon).
25811
25812Mon Apr 10 15:56:52 BST 2006  Olly Betts <olly@survex.com>
25813
25814	* include/xapian/query.h: Another MSVC7 warning fix.  Should be free
25815	  of warnings now.
25816
25817Mon Apr 10 14:46:34 BST 2006  Olly Betts <olly@survex.com>
25818
25819	* backends/flint/flint_database.cc,backends/flint/flint_utils.h,
25820	  backends/quartz/quartz_utils.h,bin/quartzcompact.cc,
25821	  bin/xapian-compact.cc,common/omdebug.h,common/utils.h,
25822	  include/xapian/query.h,languages/header.h,matcher/multimatch.cc:
25823	  Fix assorted MSVC7 warnings.
25824
25825Sun Apr 09 04:56:09 BST 2006  Olly Betts <olly@survex.com>
25826
25827	* HACKING: Expand on details of what's required when changing Xapian
25828	  (discuss documentation requirements, expand on why feature tests
25829	  are vital).
25830	* HACKING: Update section on building debian packages.
25831
25832Sat Apr 08 20:02:19 BST 2006  Olly Betts <olly@survex.com>
25833
25834	* NEWS,PLATFORMS,configure.ac: Updated for 0.9.5.
25835
25836Fri Apr 07 23:53:08 BST 2006  Olly Betts <olly@survex.com>
25837
25838	* tests/api_anydb.cc,tests/api_db.cc,tests/btreetest.cc: Correct
25839	  spelling of "existant" to "existent".
25840
25841Fri Apr 07 19:13:24 BST 2006  Olly Betts <olly@survex.com>
25842
25843	* configure.ac: We don't use strcasecmp, so don't probe for it.
25844
25845Fri Apr 07 18:30:40 BST 2006  Olly Betts <olly@survex.com>
25846
25847	* common/utils.h: Fixes for MSVC7 compilation.
25848
25849Fri Apr 07 17:19:43 BST 2006  Olly Betts <olly@survex.com>
25850
25851	* backends/flint/flint_table.cc,backends/quartz/btree.cc: Fixes for
25852	  MSVC compilation.
25853
25854Fri Apr 07 16:04:08 BST 2006  Olly Betts <olly@survex.com>
25855
25856	* backends/flint/flint_cursor.h: Fix incorrect example code in
25857	  documentation comment.
25858	* backends/flint/flint_table.cc,backends/flint/flint_table.h:
25859	  Remove unused method FlintTable::find_key().
25860
25861Fri Apr 07 16:02:40 BST 2006  Olly Betts <olly@survex.com>
25862
25863	* AUTHORS: Updated.
25864
25865Fri Apr 07 15:58:31 BST 2006  Olly Betts <olly@survex.com>
25866
25867	* debian/control.in: copydatabase and xapian-compact are packaged
25868	  in xapian-tools, so add them to the documented list of tools
25869	  included.
25870
25871Fri Apr 07 15:12:43 BST 2006  Olly Betts <olly@survex.com>
25872
25873	* net/tcpserver.cc: Set xapian-tcpsrv to allow 5 connections in the
25874	  listen queue instead of just one.
25875
25876Fri Apr 07 13:28:15 BST 2006  Olly Betts <olly@survex.com>
25877
25878	* tests/remotetest.cc: Check mset size in tcpmatch1.
25879
25880Fri Apr 07 01:26:03 BST 2006  Olly Betts <olly@survex.com>
25881
25882	* xapian.spec.in: Man pages may be gzipped.
25883
25884Thu Apr 06 14:41:29 BST 2006  Olly Betts <olly@survex.com>
25885
25886	* HACKING: aclocal is part of automake, not autoconf.
25887
25888Thu Apr 06 01:29:21 BST 2006  Olly Betts <olly@survex.com>
25889
25890	* bin/,examples/copydatabase.cc,examples/delve.cc,examples/quest.cc:
25891	  In the "--help" output, add "Options:" before the list of options.
25892
25893Thu Apr 06 01:11:31 BST 2006  Olly Betts <olly@survex.com>
25894
25895	* xapian-config.in: Tweak to improve help2man output.
25896
25897Wed Apr 05 16:26:15 BST 2006  Fabrice Colin
25898
25899	* xapian.spec.in: Package man pages.
25900
25901Wed Apr 05 16:23:49 BST 2006  Olly Betts <olly@survex.com>
25902
25903	* Makefile.am,bin/Makefile.am,examples/Makefile.am: Include generated
25904	  man pages in the distribution tarball.
25905
25906Wed Apr 05 02:48:27 BST 2006  Olly Betts <olly@survex.com>
25907
25908	* debian/TODO: Updated.
25909
25910Wed Apr 05 02:44:15 BST 2006  Olly Betts <olly@survex.com>
25911
25912	* ./,examples: svn:ignore man pages.
25913
25914Wed Apr 05 02:43:08 BST 2006  Olly Betts <olly@survex.com>
25915
25916	* bin/Makefile.am,examples/Makefile.am: No need to make man pages
25917	  depend on config.h, since the binaries will already.
25918
25919Wed Apr 05 02:42:42 BST 2006  Olly Betts <olly@survex.com>
25920
25921	* Makefile.am: Generate man page for xapian-config.
25922
25923Wed Apr 05 00:59:53 BST 2006  Olly Betts <olly@survex.com>
25924
25925	* examples/Makefile.am: Use help2man to generate manpages for the
25926	  installed binaries in examples.
25927
25928Wed Apr 05 00:56:11 BST 2006  Olly Betts <olly@survex.com>
25929
25930	* bin/omtcpsrv.cc: Rename to bin/xapian-tcpsrv.cc.
25931	* bin/omprogsrv.cc: Rename to bin/xapian-progsrv.cc.
25932	* HACKING,bin/Makefile.am,configure.ac: Use help2man to generate
25933	  manpages for the installed binaries in bin.
25934
25935Tue Apr 04 16:44:54 BST 2006  Olly Betts <olly@survex.com>
25936
25937	* include/xapian/enquire.h: Note example of BM25Weight parameters
25938	  which make set_sort_by_relevance_then_value useful.
25939
25940Tue Apr 04 16:35:58 BST 2006  Olly Betts <olly@survex.com>
25941
25942	* api/omenquire.cc,include/xapian/enquire.h,matcher/,tests/api_db.cc:
25943	  Implement Enquire::set_sort_by_relevance_then_value().
25944
25945Tue Apr 04 01:05:41 BST 2006  Olly Betts <olly@survex.com>
25946
25947	* common/omenquireinternal.h: sort_key no longer needs to be mutable
25948	  now that MSetSortCmp has been removed.
25949
25950Mon Apr 03 02:03:12 BST 2006  Olly Betts <olly@survex.com>
25951
25952	* matcher/multimatch.cc: Removed dead code (class MSetSortCmp).
25953
25954Sun Apr 02 16:37:38 BST 2006  Olly Betts <olly@survex.com>
25955
25956	* net/tcpserver.cc: Don't perform a name lookup on the IP address
25957	  which an incoming connection is from as that could easily slow
25958	  down the search response - instead just print the IP address itself
25959	  if output is verbose.
25960
25961Sun Apr 02 13:28:31 BST 2006  Olly Betts <olly@survex.com>
25962
25963	* api/omenquire.cc,common/,docs/remote_protocol.html,
25964	  matcher/multimatch.cc,matcher/networkmatch.cc,matcher/networkmatch.h,
25965	  net/socketclient.cc,net/socketserver.cc: Change bool
25966	  sort_by_relevance to enum sort_by in preparation for adding
25967	  "sort_by_relevance_then_value".
25968
25969Fri Mar 31 22:32:16 BST 2006  Olly Betts <olly@survex.com>
25970
25971	* examples/copydatabase.cc,examples/quest.cc: Add --help and --version
25972	  options.
25973	* examples/delve.cc: Tidy up output from --help and --version options.
25974
25975Fri Mar 31 19:01:25 BST 2006  Olly Betts <olly@survex.com>
25976
25977	* bin/quartzcheck.cc: Fix SEGV when run with no arguments (introduced
25978	  by last change).
25979
25980Fri Mar 31 17:57:27 BST 2006  Olly Betts <olly@survex.com>
25981
25982	* bin/quartzcheck.cc: Add --version option.  Tidy up output from
25983	  --help.
25984
25985Fri Mar 31 17:43:25 BST 2006  Olly Betts <olly@survex.com>
25986
25987	* bin/quartzcompact.cc: Include --help and --version in --help output.
25988	* bin/quartzdump.cc: Add --help and --version options.  Terminate list
25989	  of long options so that "quartzdump --foo" no longer segfaults.
25990
25991Fri Mar 31 17:27:09 BST 2006  Olly Betts <olly@survex.com>
25992
25993	* bin/quartzcompact.cc: Tweak --help and --version output for
25994	  consistency with other binaries.  Terminate list of long options so
25995	  that "quartzcompact --foo" no longer segfaults.
25996
25997Fri Mar 31 16:47:02 BST 2006  Olly Betts <olly@survex.com>
25998
25999	* bin/omtcpsrv.cc: Make OPT_HELP and OPT_VERSION positive numbers.
26000	  Only give synopsis line for --help, not for syntax error.
26001	* bin/xapian-compact.cc: List --help and --version in --help output.
26002	  Terminate list of long options so that "xapian-compact --foo" no
26003	  longer segfaults.
26004
26005Fri Mar 31 16:20:24 BST 2006  Olly Betts <olly@survex.com>
26006
26007	* bin/omtcpsrv.cc: Added --help and --version options.
26008
26009Thu Mar 30 11:51:21 BST 2006  Philip Neustrom
26010
26011	* docs/remote_protocol.html: Document messages for requesting and
26012	  sending a termlist and a document.
26013
26014Wed Mar 29 19:39:05 BST 2006  Olly Betts <olly@survex.com>
26015
26016	* backends/flint/flint_termlist.cc,backends/quartz/quartz_termlist.cc:
26017	  Add missing spaces in debug output.
26018
26019Fri Mar 17 09:22:54 GMT 2006  Olly Betts <olly@survex.com>
26020
26021	* api/vectortermlist.h,backends/net/net_termlist.cc,
26022	  backends/net/net_termlist.h,common/alltermslist.h,common/termlist.h,
26023	  matcher/branchtermlist.h: Make TermList::positionlist_begin() pure
26024	  virtual and put dummy implementations in BranchTermList and other
26025	  subclasses which can't (or don't) implement it.  This makes it
26026	  hard to accidentally fail to implement it in a backend's TermList
26027	  subclass.
26028	* backends/net/net_termlist.h: positionlist_begin() now throws
26029	  UnimplementedError instead of InvalidOperationError.
26030
26031Fri Mar 17 08:46:52 GMT 2006  Olly Betts <olly@survex.com>
26032
26033	* api/omdatabase.cc: There's no need for the MultiTermList wrapper in
26034	  the common case where we're only dealing with a single database.
26035
26036Fri Mar 17 07:54:54 GMT 2006  Olly Betts <olly@survex.com>
26037
26038	* backends/net/net_termlist.h: Remove unused "positions" member.
26039
26040Fri Mar 17 07:07:57 GMT 2006  Olly Betts <olly@survex.com>
26041
26042	* backends/multi/multi_termlist.cc,backends/multi/multi_termlist.h,
26043	  tests/api_posdb.cc: Fix TermIterator::positionlist_begin() to work
26044	  on TermIterator from Database::termlist_begin().
26045
26046Fri Mar 17 03:47:04 GMT 2006  Olly Betts <olly@survex.com>
26047
26048	* include/xapian/enquire.h: Fix "unused parameter" warning from
26049	  previous change.
26050
26051Thu Mar 16 05:20:16 GMT 2006  Olly Betts <olly@survex.com>
26052
26053	* api/omenquire.cc,include/xapian/enquire.h:  Move
26054	  Enquire::get_matching_terms_end() inline in header.
26055
26056Thu Mar 16 04:28:20 GMT 2006  Olly Betts <olly@survex.com>
26057
26058	* api/omdocument.cc,configure.ac,include/xapian/document.h: Move
26059	  Document::termlist_end() inline in header.
26060
26061Fri Mar 10 04:55:57 GMT 2006  Olly Betts <olly@survex.com>
26062
26063	* INSTALL: Improve wording.
26064
26065Fri Mar 10 04:49:09 GMT 2006  Olly Betts <olly@survex.com>
26066
26067	* backends/quartz/bcursor.h: Fix incorrect method name in
26068	  documentation comment.
26069
26070Fri Mar 10 04:39:45 GMT 2006  Olly Betts <olly@survex.com>
26071
26072	* backends/quartz/btree.cc,backends/quartz/btree.h: Btree::find_key()
26073	  is unused so remove it.
26074
26075Fri Mar 10 04:29:46 GMT 2006  Olly Betts <olly@survex.com>
26076
26077	* HACKING: Note that we now use a lightly patched version of libtool
26078	  1.5.22.
26079
26080Fri Mar 10 02:55:48 GMT 2006  Olly Betts <olly@survex.com>
26081
26082	* docs/overview.html: Bring up to date.
26083
26084Wed Mar 08 02:32:49 GMT 2006  Olly Betts <olly@survex.com>
26085
26086	* queryparser/queryparser.lemony: Fix FLAG_BOOLEAN_ANY_CASE to really
26087	  allow any case combination - previously it only allowed all
26088	  uppercase or all lowercase.
26089	* tests/queryparsertest.cc: Add feature and regression tests for
26090	  FLAG_BOOLEAN_ANY_CASE.
26091	* tests/queryparsertest.cc: Rename test cases to more descriptive
26092	  names.
26093
26094Tue Mar 07 19:59:54 GMT 2006  Olly Betts <olly@survex.com>
26095
26096	* queryparser/queryparser.lemony,tests/queryparsertest.cc:
26097	  Fix QueryParser's handling of terms with trailing "#", "+",
26098	  or "-" when set_database has been called and the term doesn't
26099	  exist in the database with the suffix.
26100
26101Tue Feb 21 21:14:22 GMT 2006  Olly Betts <olly@survex.com>
26102
26103	* include/xapian/deprecated.h: Allow xapian-bindings to override
26104	  deprecation warnings.
26105
26106Tue Feb 21 17:55:17 GMT 2006  Olly Betts <olly@survex.com>
26107
26108	* backends/flint/flint_database.cc: Note that "flicklock" should be
26109	  "flintlock"!
26110
26111Tue Feb 21 14:13:08 GMT 2006  Olly Betts <olly@survex.com>
26112
26113	* PLATFORMS: Updated.
26114
26115Tue Feb 21 14:12:47 GMT 2006  Olly Betts <olly@survex.com>
26116
26117	* HACKING: Update the "how to do a release" list.
26118
26119Tue Feb 21 00:17:40 GMT 2006  Olly Betts <olly@survex.com>
26120
26121	* NEWS,PLATFORMS,configure.ac: Updated for 0.9.4.
26122
26123Mon Feb 20 21:15:46 GMT 2006  Olly Betts <olly@survex.com>
26124
26125	* api/omdocument.cc,api/omenquire.cc,api/omquery.cc,include/xapian/,
26126	  queryparser/queryparser.cc: GCC 3.2 actually doesn't like
26127	  __attribute__((deprecated)) on method definitions, so just
26128	  put declarations of deprecated methods in the headers, and
26129	  move definitions into the library.
26130
26131Mon Feb 20 16:04:33 GMT 2006  Olly Betts <olly@survex.com>
26132
26133	* tests/api_anydb.cc,tests/api_db.cc,tests/api_nodb.cc: Update uses
26134	  of deprecated methods and functions.
26135
26136Mon Feb 20 15:47:31 GMT 2006  Olly Betts <olly@survex.com>
26137
26138	* include/xapian/document.h: __attribute__((deprecated)) doesn't
26139	  work on method definitions with default parameters on GCC 3.2
26140	  so fix header to overload instead.
26141
26142Mon Feb 20 13:44:14 GMT 2006  Olly Betts <olly@survex.com>
26143
26144	* include/xapian/enquire.h: Add documentation comment for
26145	  Enquire::set_sort_by_value_then_relevance().
26146
26147Sun Feb 19 23:18:09 GMT 2006  Olly Betts <olly@survex.com>
26148
26149	* include/Makefile.am,include/xapian/: Flag deprecated methods such
26150	  that the compiler gives a warning, for compilers which support
26151	  such a feature.
26152
26153Sun Feb 19 22:58:55 GMT 2006  Olly Betts <olly@survex.com>
26154
26155	* COPYING: Update second occurrence of old FSF address.
26156
26157Sun Feb 19 22:46:49 GMT 2006  Olly Betts <olly@survex.com>
26158
26159	* README: Add pointer to HACKING.  Change "CVS access" to "SVN
26160	  access".
26161
26162Sun Feb 19 01:46:00 GMT 2006  Olly Betts <olly@survex.com>
26163
26164	* api/version.cc: Correct typo in name of function xapian_revision().
26165
26166Thu Feb 16 10:23:59 GMT 2006  Olly Betts <olly@survex.com>
26167
26168	* xapian-config.in: Oops, fix previous fix (I'd pasted the substituted
26169	  result from testing the patch...)
26170
26171Thu Feb 16 10:16:31 GMT 2006  Olly Betts <olly@survex.com>
26172
26173	* PLATFORMS: Updated from tinderbox.
26174
26175Thu Feb 16 10:15:51 GMT 2006  Olly Betts <olly@survex.com>
26176
26177	* xapian-config.in: Need to set exec_prefix and prefix at top of
26178	  script as they're used by various @SUBSTITUTIONS@.
26179
26180Thu Feb 16 00:09:34 GMT 2006  Olly Betts <olly@survex.com>
26181
26182	* NEWS,PLATFORMS,configure.ac: Updated for 0.9.3.
26183
26184Wed Feb 15 21:58:23 GMT 2006  Olly Betts <olly@survex.com>
26185
26186	* xapian-config.in: Fix option loop to work on shells other than bash.
26187
26188Wed Feb 15 21:38:38 GMT 2006  Olly Betts <olly@survex.com>
26189
26190	* include/xapian/database.h: Tweak wording of a documentation comment.
26191
26192Wed Feb 15 21:34:55 GMT 2006  Olly Betts <olly@survex.com>
26193
26194	* include/xapian/queryparser.h: Fix documentation comments for the
26195	  values of QueryParser::feature_flag so doxygen actually pulls out
26196	  the documentation for them.  Add documentation for the parameters
26197	  of QueryParser::parse_query().
26198
26199Wed Feb 15 21:26:48 GMT 2006  Olly Betts <olly@survex.com>
26200
26201	* bin/quartzcheck.cc: If the database is too broken to open, emit a
26202	  warning message and bump the error count.
26203
26204Wed Feb 15 21:23:38 GMT 2006  Olly Betts <olly@survex.com>
26205
26206	* docs/queryparser.html: Document right-truncation.
26207
26208Wed Feb 15 21:08:37 GMT 2006  Olly Betts <olly@survex.com>
26209
26210	* xapian-config.in: Fixed to output usage correctly if no arguments
26211	  are specified.
26212
26213Mon Feb 13 17:43:08 GMT 2006  Olly Betts <olly@survex.com>
26214
26215	* xapian-config.in: Expand dependency_libs recursively.  It's not
26216	  *that* hard, and we're just storing up problems for the future
26217	  by ignoring the issue.
26218
26219Mon Feb 13 16:57:36 GMT 2006  Olly Betts <olly@survex.com>
26220
26221	* HACKING: Devlopers also need makeindex installed for documentation
26222	  building.  Note that dvips and makeindex are usually packaged with
26223	  TeX.
26224
26225Mon Feb 13 15:16:02 GMT 2006  Olly Betts <olly@survex.com>
26226
26227	* configure.ac,xapian-config.in: Some Linux distros have an
26228	  unhelpful policy of not packaging .la files, and on Linux
26229	  link_all_deplibs_CXX=no so we don't actually need to link
26230	  in the dependency_libs.  So use the value of link_all_deplibs_CXX
26231	  from configure to control whether we link against dependency_libs.
26232	* xapian-config.in: Factor out common code into shell functions,
26233	  and tidy up --help output.
26234	* xapian-config.in: Re entry "Tue May 11 20:55:56 BST 2004": the (C)
26235	  dates I mined from CVS included a BrightStation (C), but the few
26236	  fragments of that version which survive are actually from
26237	  glib-config (or one of the myriad of *-config scripts which look
26238	  very like it), and are just standard Bourne shell idioms anyway.
26239
26240Mon Feb 13 13:59:02 GMT 2006  Olly Betts <olly@survex.com>
26241
26242	* PLATFORMS: td174 is gone.
26243	* PLATFORMS: Compaq C++ 7.1 seems to have better template support
26244	  (but fails to link binaries).
26245
26246Mon Feb 13 12:22:23 GMT 2006  Olly Betts <olly@survex.com>
26247
26248	* HACKING,testsuite/testsuite.cc: XAPIAN_TESTSUITE_PLAIN_OUTPUT
26249	  -> XAPIAN_TESTSUITE_OUTPUT=plain.
26250
26251Sun Feb 12 18:29:55 GMT 2006  Olly Betts <olly@survex.com>
26252
26253	* backends/database.cc,tests/api_nodb.cc: Trying to open a database
26254	  for reading which doesn't exist now fails with DatabaseOpeningError
26255	  instead of FeatureUnavailableError.  Added regression test
26256	  nosuchdb1.
26257
26258Thu Feb 09 10:48:10 GMT 2006  Olly Betts <olly@survex.com>
26259
26260	* net/socketserver.cc: Add missing '#include <iostream>'
26261	  when TIMING_PATCH is defined.
26262
26263Wed Feb 08 08:22:09 GMT 2006  Olly Betts <olly@survex.com>
26264
26265	* HACKING: Now use libtool 1.5.22 for generating snapshots and
26266	  releases (includes a number of bug-fixes).
26267	* HACKING,docs/doxygen_api_header.html_tmpl,
26268	  docs/doxygen_full_header.html_tmpl: Now use doxygen 1.4.6 for
26269	  generating snapshots and releases (nicer output).
26270	* docs/doxygen_full_header.html_tmpl: Title "Internal Source
26271	  Documentation" rather than "Full source documentation".
26272
26273Sun Feb 05 06:19:29 GMT 2006  Olly Betts <olly@survex.com>
26274
26275	* queryparser/queryparser.lemony,tests/queryparsertest.cc: The
26276	  QueryParser now recognises "AND NOT" as a synonym for "NOT".
26277
26278Mon Jan 16 18:19:26 GMT 2006  Olly Betts <olly@survex.com>
26279
26280	* backends/quartz/quartz_utils.h: Fix compiler warning.
26281
26282Mon Jan 16 18:17:27 GMT 2006  Olly Betts <olly@survex.com>
26283
26284	* HACKING,backends/flint/,backends/muscat36/,backends/quartz/,
26285	  bin/quartzcompact.cc,bin/xapian-compact.cc,common/Makefile.am,
26286	  common/safeerrno.h,net/,tests/btreetest.cc,tests/quartztest.cc,
26287	  testsuite/backendmanager.cc,testsuite/testsuite.cc: Sorted out
26288	  a cleaner workaround for Compaq C++'s <errno.h> oddity.
26289
26290Mon Jan 16 17:18:56 GMT 2006  Olly Betts <olly@survex.com>
26291
26292	* common/safewindows.h: Fix typo in file description.
26293
26294Mon Jan 16 13:29:48 GMT 2006  Olly Betts <olly@survex.com>
26295
26296	* backends/quartz/quartz_database.cc: Reverse order of errno includes
26297	  which seems to make Compaq's C++ compiler happier.
26298
26299Sun Jan 15 23:52:01 GMT 2006  Olly Betts <olly@survex.com>
26300
26301	* backends/flint/flint_database.cc,backends/flint/flint_table.cc,
26302	  backends/quartz/btree.cc,backends/quartz/quartz_database.cc,
26303	  backends/quartz/quartz_log.cc,configure.ac,net/socketcommon.cc,
26304	  net/tcpclient.cc,testsuite/backendmanager.cc: Compaq C++ requires
26305	  sys/errno.h to get ENOENT and most other EXXX codes defined.
26306
26307Sun Jan 15 23:41:15 GMT 2006  Olly Betts <olly@survex.com>
26308
26309	* bin/xapian-compact.cc: Initialise 2 variables to avoid compiler
26310	  warnings.
26311
26312Sun Jan 15 23:38:11 GMT 2006  Olly Betts <olly@survex.com>
26313
26314	* xapian-config.in: If libxapian.la's dependency_libs contains
26315	  another .la file, crudely transform to a pair of -L and -l
26316	  options.  Ideally we should recursively pull in dependency_libs
26317	  from that .la file, but that's too hard to do in sh.
26318
26319Sun Jan 15 21:43:26 GMT 2006  Olly Betts <olly@survex.com>
26320
26321	* queryparser/queryparser.lemony,queryparser/queryparser.lt:
26322	  Eliminate ParseAlloc's mallocProc parameter and ParseFree's freeProc
26323	  parameter - we always pass malloc and free, and get warnings from
26324	  some compilers because we're passing a C-linkage function for a
26325	  C++-linkage function pointer.
26326	* testsuite/testsuite.cc,testsuite/testsuite.h: Fix functions
26327	  registered as signal handlers and pass to atexit to have C linkage.
26328
26329Sun Jan 15 14:49:45 GMT 2006  Olly Betts <olly@survex.com>
26330
26331	* backends/quartz/quartz_log.cc: #include <string.h> for strerror.
26332
26333Sun Jan 15 04:36:49 GMT 2006  Olly Betts <olly@survex.com>
26334
26335	* include/xapian/queryparser.h,queryparser/queryparser.cc:
26336	  Add Stopper::get_description() and SimpleStopper::get_description().
26337
26338Sat Jan 14 21:43:32 GMT 2006  Olly Betts <olly@survex.com>
26339
26340	* configure.ac: Fix backwards logic in snprintf configure test.
26341	  Also define SNPRINTF_ISO to be an snprintf with ISO C90 semantics
26342	  for the return value (if one exists), with SNPRINTF being defined
26343	  to any snprintf which at least performs truncation (which in many
26344	  cases is sufficient).
26345
26346Sat Jan 14 04:47:33 GMT 2006  Olly Betts <olly@survex.com>
26347
26348	* queryparser/queryparser.lt: Fix aCC warnings.
26349
26350Sat Jan 14 04:47:00 GMT 2006  Olly Betts <olly@survex.com>
26351
26352	* common/utils.h: Fix aCC warning.
26353
26354Fri Jan 13 18:25:04 GMT 2006  Olly Betts <olly@survex.com>
26355
26356	* configure.ac: Turn on more warnings for aCC; suppress existing
26357	  warning ("Entire translation unit was empty") since it's not
26358	  useful to us.
26359
26360Fri Jan 13 03:22:26 GMT 2006  Olly Betts <olly@survex.com>
26361
26362	* configure.ac: The configure test for snprintf uses memcmp, so
26363	  we need to "#include <string.h>" for it to work reliably.
26364
26365Wed Jan 11 03:14:30 GMT 2006  Olly Betts <olly@survex.com>
26366
26367	* configure.ac: If not cross-compiling, try to actually run a test
26368	  program built with the C++ compiler, not just link one.
26369
26370Wed Jan 11 03:06:28 GMT 2006  Olly Betts <olly@survex.com>
26371
26372	* configure.ac: Note the library version info which 0.9.3 will
26373	  probably need.
26374
26375Tue Jan 10 22:41:36 GMT 2006  Olly Betts <olly@survex.com>
26376
26377	* configure.ac: Fix to actually skip the check for valgrind if
26378	  VALGRIND is set to an empty value.
26379
26380Tue Jan 10 01:08:10 GMT 2006  Olly Betts <olly@survex.com>
26381
26382	* PLATFORMS: Updates from the tinderbox.
26383
26384Mon Jan 09 01:35:57 GMT 2006  Olly Betts <olly@survex.com>
26385
26386	* backends/muscat36/io_system.cc,bin/xapian-compact.cc,
26387	  common/omdebug.cc: More sprintf tweaks.
26388
26389Mon Jan 09 00:58:33 GMT 2006  Olly Betts <olly@survex.com>
26390
26391	* bin/xapian-compact.cc: Use snprintf if we have it.
26392
26393Sun Jan 08 03:51:52 GMT 2006  Olly Betts <olly@survex.com>
26394
26395	* testsuite/backendmanager.cc: Fix conditional compilation of
26396	  flint backend to use XAPIAN_BUILD_BACKEND_FLINT instead
26397	  of XAPIAN_BUILD_BACKEND_QUARTZ.
26398
26399Sun Jan 08 02:11:30 GMT 2006  Olly Betts <olly@survex.com>
26400
26401	* configure.ac: Disable flint backend by default if building for
26402	  djgpp or msdos.
26403
26404Sun Jan 08 02:09:48 GMT 2006  Olly Betts <olly@survex.com>
26405
26406	* backends/flint/flint_lock.cc: Cast NULL to (void*) to avoid
26407	  "missing sentinel" warning from GCC4.
26408
26409Sat Jan 07 19:09:33 GMT 2006  Olly Betts <olly@survex.com>
26410
26411	* HACKING,docs/tests.html: Merge the "running tests" section of
26412	  docs/tests.html into the similar section in HACKING, and make
26413	  docs/tests.html refer the reader to HACKING for more information.
26414	* HACKING,tests/apitest.cc: Remove OM_TEST_BACKEND.  You can now
26415	  use the "-b" switch to apitest to control which backend is used
26416	  so it's pretty much redundant.
26417	* HACKING,testsuite/testsuite.cc: Rename XAPIAN_SIG_DFL to
26418	  XAPIAN_TESTSUITE_SIG_DFL.
26419	* HACKING,testsuite/testsuite.cc: Add XAPIAN_TESTSUITE_PLAIN_OUTPUT
26420	  to disable use of ANSI escape sequences in test output.
26421
26422Sat Jan 07 09:13:06 GMT 2006  Olly Betts <olly@survex.com>
26423
26424	* tests/queryparsertest.cc: Write top-bit set characters using \xXX
26425	  notation to avoid warnings from Intel's C++ compiler.
26426
26427Sat Jan 07 07:13:25 GMT 2006  Olly Betts <olly@survex.com>
26428
26429	* configure.ac: TYPE_SOCKLEN_T fails hard, so only run it if we've
26430	  successfully run other socket tests.
26431
26432Sat Jan 07 05:29:39 GMT 2006  Olly Betts <olly@survex.com>
26433
26434	* queryparser/accentnormalisingitor.h: #include <limits.h> for
26435	  CHAR_BIT.
26436
26437Fri Jan 06 21:24:01 GMT 2006  Olly Betts <olly@survex.com>
26438
26439	* bin/xapian-compact.cc: Fix printf type mismatch on 64 bit platforms.
26440
26441Fri Jan 06 18:05:30 GMT 2006  Olly Betts <olly@survex.com>
26442
26443	* queryparser/queryparser.cc,queryparser/queryparser.lemony,
26444	  queryparser/queryparser_internal.h: Replace pair<bool, string>
26445	  with a simple class BoolAndString - the pair results in a
26446	  4328 byte symbol on HP-UX which gets truncated (to 4000 bytes).
26447
26448Fri Jan 06 12:55:37 GMT 2006  Olly Betts <olly@survex.com>
26449
26450	* PLATFORMS: Updated from tinderbox.
26451
26452Thu Jan 05 16:12:00 GMT 2006  Olly Betts <olly@survex.com>
26453
26454	* configure.ac: Oops, remove hack left over from testing.
26455
26456Thu Jan 05 16:09:06 GMT 2006  Olly Betts <olly@survex.com>
26457
26458	* configure.ac: Add sanity check for MS Windows that "find" is
26459	  Unix-like find, not MSDOS-like.
26460
26461Thu Jan 05 04:27:29 GMT 2006  Olly Betts <olly@survex.com>
26462
26463	* INSTALL,PLATFORMS,README: Updated.
26464
26465Mon Dec 19 12:53:38 GMT 2005  Olly Betts <olly@survex.com>
26466
26467	* AUTHORS,PLATFORMS: Add success report for Fedora Core 4.
26468
26469Mon Dec 19 12:52:55 GMT 2005  Olly Betts <olly@survex.com>
26470
26471	* include/xapian/database.h: Improve a couple of documentation
26472	  comments.
26473
26474Sun Dec 11 01:33:58 GMT 2005  Olly Betts <olly@survex.com>
26475
26476	* queryparser/queryparser.lemony: Fix handling of "+" terms in a query
26477	  when the default query operator is AND.
26478	* tests/queryparsertest.cc: Add regression test.
26479
26480Fri Dec 09 05:54:33 GMT 2005  Olly Betts <olly@survex.com>
26481
26482	* languages/api.cc: Check for malloc and calloc failing to allocate
26483	  memory and throw an exception.  Richard has fix this upstream in
26484	  snowball, so this is a temporary fix until we import a new version
26485	  of snowball.
26486
26487Fri Dec 09 02:15:38 GMT 2005  Olly Betts <olly@survex.com>
26488
26489	* api/omenquire.cc: Added assertions that the internal ptr isn't NULL
26490	  to ESet::end() and ESet::get_description().
26491
26492Fri Dec 09 02:14:13 GMT 2005  Olly Betts <olly@survex.com>
26493
26494	* HACKING: Note platforms valgrind now has solid support for; Improve
26495	  phrasing in a few places.
26496
26497Thu Dec 08 23:13:09 GMT 2005  Olly Betts <olly@survex.com>
26498
26499	* INSTALL: Update URL for stlport to sourceforge site, which seems to
26500	  be where the action is now.
26501
26502Thu Dec 08 04:13:11 GMT 2005  Olly Betts <olly@survex.com>
26503
26504	* testsuite/testsuite.cc: Fix testsuite harness to work with valgrind
26505	  on 64 bit platforms (it's not documented, but VALGRIND_COUNT_LEAKS
26506	  requires the count parameters to be 64 bit on such platforms - i.e.
26507	  long rather than int as we were using).
26508
26509Tue Nov 01 13:22:50 GMT 2005  Olly Betts <olly@survex.com>
26510
26511	* PLATFORMS: Sourceforge have a ppc64 linux box.  Xapian builds and
26512	  works out of the box, so add success report for this platform.
26513
26514Thu Oct 27 09:32:24 BST 2005  Fabrice Colin
26515
26516	* xapian.spec.in: Invoke %setup correctly.
26517
26518Sat Oct 01 03:25:50 BST 2005  Olly Betts <olly@survex.com>
26519
26520	* bin/xapian-compact.cc: Added "--multipass" option to merge postlists
26521	  in pairs or triples until all are merged.  Generally this is faster
26522	  than an N-way merge, but it does require more disk space for
26523	  temporary files so it's not the default.
26524
26525Fri Sep 30 18:02:32 BST 2005  Olly Betts <olly@survex.com>
26526
26527	* include/xapian/enquire.h: Give pointer to replacements for the
26528	  deprecated Enquire sorting methods.
26529
26530Wed Sep 28 02:16:03 BST 2005  Olly Betts <olly@survex.com>
26531
26532	* bin/xapian-compact.cc: Use a vector<string> to store the list of
26533	  source databases, in preparation for merging multiple postlist
26534	  tables in more than one pass.
26535
26536Mon Sep 26 22:22:24 BST 2005  Olly Betts <olly@survex.com>
26537
26538	* .: svn:ignore docsource.mk.
26539
26540Mon Sep 26 19:54:15 BST 2005  Olly Betts <olly@survex.com>
26541
26542	* bin/: svn:ignore xapian-compact.
26543
26544Mon Sep 26 19:50:13 BST 2005  Olly Betts <olly@survex.com>
26545
26546	* backends/flint/flint_positionlist.cc: Remove trailing whitespace.
26547
26548Wed Sep 21 01:31:23 BST 2005  Olly Betts <olly@survex.com>
26549
26550	* api/Makefile.am: Fixed VPATH build which was broken by the addition
26551	  of version.cc.
26552
26553Tue Sep 20 23:38:05 BST 2005  Olly Betts <olly@survex.com>
26554
26555	* backends/flint/flint_lock.cc: Don't pass NULL for second parameter
26556	  of execl().
26557
26558Tue Sep 20 21:32:04 BST 2005  Olly Betts <olly@survex.com>
26559
26560	* api/Makefile.am,api/version.cc,include/xapian/version_h.cc: Add 4
26561	  functions to report version information for the library version
26562	  being used (which may not be the same as that compiled against
26563	  if shared libraries are in use):  xapian_version_string(),
26564	  xapian_major_version(), xapian_minor_version(), xapian_revision().
26565
26566Sat Sep 17 14:07:32 BST 2005  Richard Boulton <richard@tartarus.org>
26567
26568	* backends/flint/flint_lock.cc: Pass two NULLs to execl() to avoid
26569	  getting a warning ("not enough variable arguments to fit a
26570	  sentinel", observed on Ubuntu breezy powerpc).  Reported by
26571	  Sidnei da Silva.
26572
26573Wed Sep 14 23:54:14 BST 2005  Olly Betts <olly@survex.com>
26574
26575	* HACKING: Now generate snapshots and releases with automake 1.9.6
26576	  (was 1.9.5) and libtool 1.5.20 (was 1.5.18).
26577
26578Tue Aug 30 14:01:55 BST 2005  Olly Betts <olly@survex.com>
26579
26580	* backends/inmemory/inmemory_database.h: Forward declare class
26581	  InMemoryDatabase to fix compilation with GCC 4.0.1.
26582
26583Fri Aug 19 12:13:39 BST 2005  Olly Betts <olly@survex.com>
26584
26585	* backends/quartz/quartz_postlist.cc,backends/flint/flint_postlist.cc:
26586	  Correct uses of termcount which should be doccount.
26587
26588Fri Aug 19 11:48:51 BST 2005  Olly Betts <olly@survex.com>
26589
26590	* include/xapian/enquire.h: Fix prototype for ESet::operator[] to
26591	  take parameter of type termcount instead of doccount.
26592
26593Wed Aug 17 11:50:54 BST 2005  Olly Betts <olly@survex.com>
26594
26595	* common/safewindows.h: Fix compilation for cygwin.
26596
26597Tue Aug 16 16:01:36 BST 2005  Olly Betts <olly@survex.com>
26598
26599	* backends/flint/flint_types.h,backends/quartz/quartz_types.h:  Using
26600	  a double to hold the total document length would be a bad idea as
26601	  we need to store it exactly so kill FIXME comments that suggest
26602	  perhaps we should.
26603
26604Fri Jul 15 11:11:35 BST 2005  Olly Betts <olly@survex.com>
26605
26606	* configure.ac,NEWS,PLATFORMS: Updated for 0.9.2.
26607
26608Fri Jul 15 02:31:11 BST 2005  Olly Betts <olly@survex.com>
26609
26610	* preautoreconf: Change directory to the directory that the
26611	  preautoreconf script is in before doing anything else.
26612
26613Fri Jul 15 01:02:29 BST 2005  Olly Betts <olly@survex.com>
26614
26615	* docs/doxygen_api_conf.in,docs/doxygen_full_conf.in,configure.ac:
26616	  Eliminate TOP_SRCDIR and TOP_BUILDDIR - it's better to just use
26617	  top_srcdir and top_builddir directly.
26618
26619Fri Jul 15 00:48:39 BST 2005  Olly Betts <olly@survex.com>
26620
26621	* configure.ac: Fix superfluous shell quoting.
26622
26623Fri Jul 15 00:28:40 BST 2005  Olly Betts <olly@survex.com>
26624
26625	* configure.ac,docs/Makefile.am,preautoreconf,Makefile.am: Generate
26626	  the list of source files to feed to doxygen by inspecting all the
26627	  Makefile.am files prior to running autoreconf rather than by using
26628	  "find" when the user runs ./configure.  This speeds up configure,
26629	  avoids generating docs for random .cc and .h files which aren't
26630	  part of xapian-core, and avoids problems with picking up FIND.EXE
26631	  on MS Windows.
26632
26633Thu Jul 14 12:49:36 BST 2005  Olly Betts <olly@survex.com>
26634
26635	* common/,matcher/multimatch.cc,matcher/networkmatch.cc,
26636	  matcher/networkmatch.h,net/socketclient.cc,net/socketserver.cc,
26637	  tests/api_db.cc: Implement sorting on a value with the remote
26638	  backend.
26639
26640Wed Jul 13 01:25:17 BST 2005  Olly Betts <olly@survex.com>
26641
26642	* include/xapian/database.h,include/xapian/dbfactory.h,
26643	  net/socketclient.cc: Regularise horizontal whitespace.
26644
26645Tue Jul 05 03:03:57 BST 2005  Olly Betts <olly@survex.com>
26646
26647	* include/xapian/queryparser.h: Oops, failed to check in header
26648	  changes for last change.
26649
26650Mon Jul 04 15:50:55 BST 2005  Olly Betts <olly@survex.com>
26651
26652	* queryparser/queryparser.lemony,queryparser/queryparser.cc:
26653	  Add flag FLAG_BOOLEAN_ANY_CASE which tells the QueryParser that
26654	  boolean operators such as "AND", "OR", and "NEAR" should be
26655	  recognised even if they aren't fully capitalised (so "and",
26656	  "And", "aNd", etc will work too).  Add flag FLAG_WILDCARD which
26657	  tells the QueryParser to allow right truncation e.g. "xap*".
26658	* tests/queryparsertest.cc: Add tests for FLAG_WILDCARD.
26659
26660Sun Jul 03 15:24:12 BST 2005  Olly Betts <olly@survex.com>
26661
26662	* backends/database.cc: Fixed to auto-detect database type when
26663	  opening an existing Flint database as a WritableDatabase.
26664
26665Sat Jul 02 18:49:22 BST 2005  Olly Betts <olly@survex.com>
26666
26667	* tests/queryparsertest.cc: Add test case: "-site:xapian.org mail".
26668
26669Sat Jul 02 18:49:03 BST 2005  Olly Betts <olly@survex.com>
26670
26671	* common/Makefile.am: Ship safewindows.h header.
26672
26673Sat Jul 02 18:04:18 BST 2005  Olly Betts <olly@survex.com>
26674
26675	* bin/quartzcompact.cc,bin/xapian-compact.cc,
26676	  backends/muscat36/io_system.cc,backends/quartz/btree.cc,
26677	  backends/quartz/quartz_log.cc,backends/quartz/quartz_database.cc,
26678	  backends/flint/,common/,net/,tests/,testsuite/backendmanager.cc,
26679	  testsuite/testsuite.cc: Assorted tweaks towards allowing
26680	  compilation with MSVC.
26681
26682Sat Jul 02 05:08:54 BST 2005  Olly Betts <olly@survex.com>
26683
26684	* backends/quartz/: Always define WIN32_LEAN_AND_MEAN before
26685	  including windows.h to reduce the amount of stuff it includes
26686	  and speed up builds; Eliminate Btree::max_key_len as MSVC
26687	  doesn't like the way we define it and it actually seems
26688	  simpler to just use BTREE_MAX_KEY_LEN everywhere anyway.
26689	* backends/quartz/btree.cc: Added a few more assertions.
26690
26691Sat Jul 02 04:11:01 BST 2005  Olly Betts <olly@survex.com>
26692
26693	* queryparser/queryparser.lemony,tests/queryparsertest.cc: Fixed to
26694	  handle "-site:microsoft.com" where site is a boolean prefix.
26695	* queryparser/Makefile.am: Add dependency to generate
26696	  queryparser_token.h.
26697
26698Thu Jun 30 02:14:16 BST 2005  Olly Betts <olly@survex.com>
26699
26700	* testsuite/testsuite.cc: Update URL for valgrind FAQ in comment.
26701
26702Thu Jun 30 00:11:52 BST 2005  Olly Betts <olly@survex.com>
26703
26704	* include/xapian/enquire.h: More explicit explanation of the
26705	  "descending docid with boolean weighting" trick for fast
26706	  date ordered searching.
26707
26708Wed Jun 29 13:16:13 BST 2005  Olly Betts <olly@survex.com>
26709
26710	* NEWS: Fix typo: "configurec" -> "configure".
26711
26712Mon Jun 27 04:21:34 BST 2005  Olly Betts <olly@survex.com>
26713
26714	* xapian.spec.in: Package xapian-compact.
26715
26716Mon Jun 27 03:41:23 BST 2005  Olly Betts <olly@survex.com>
26717
26718	* backends/flint/flint_positionlist.cc,tests/api_wrdb.cc: Fixed
26719	  mispacking of length for Flint positionlists with more than 127
26720	  entries, and added regression test longpositionlist1.
26721
26722Sun Jun 26 02:04:33 BST 2005  Olly Betts <olly@survex.com>
26723
26724	* bin/xapian-compact.cc,backends/flint/flint_cursor.h: Let
26725	  PostlistCursor take ownership of the FlintTable it's iterating over
26726	  which makes clean-up tidier.
26727	* bin/xapian-compact.cc: We were accidentally skipping the first
26728	  entry in various tables (which essentially meant the first
26729	  document from each database would go missing when merging
26730	  databases).
26731
26732Sat Jun 25 23:45:42 BST 2005  Olly Betts <olly@survex.com>
26733
26734	* api/omdatabase.cc: Tweak get_lastdocid() code to be a little
26735	  clearer.
26736
26737Wed Jun 22 20:50:43 BST 2005  Olly Betts <olly@survex.com>
26738
26739	* configure.ac,include/xapian/version.h.in,include/xapian/version_h.cc,
26740	  include/Makefile.am: Eliminate use of "ln -s" when generating
26741	  include/xapian/version.h since it seems to cause problems on Solaris
26742	  in some setups and isn't really necessary.  Also add dependency
26743	  mechanism so version.h gets regenerated when the template is
26744	  changed.
26745
26746Wed Jun 22 18:47:05 BST 2005  Olly Betts <olly@survex.com>
26747
26748	* docs/intro_ir.html: Citeseer has moved, so update link.
26749
26750Mon Jun 20 13:33:42 BST 2005  Olly Betts <olly@survex.com>
26751
26752	* configure.ac: -Wshadow causes false positives with GCC 3.0.4, so
26753	  only enable it for 3.1 and up.
26754
26755Mon Jun 20 03:09:07 BST 2005  Olly Betts <olly@survex.com>
26756
26757	* queryparser/queryparser.lemony: "utilpy" -> "utility"!
26758
26759Fri Jun 17 19:54:44 BST 2005  Olly Betts <olly@survex.com>
26760
26761	* COPYING: Update FSF address.
26762
26763Thu Jun 16 18:43:33 BST 2005  Olly Betts <olly@survex.com>
26764
26765	* backends/flint/flint_table.cc: Fix warnings from older GCC versions.
26766	* backends/flint/flint_lock.cc: '#include <signal.h>' so that SIGHUP
26767	  gets defined reliably.
26768
26769Thu Jun 16 17:54:39 BST 2005  Olly Betts <olly@survex.com>
26770
26771	* bin/Makefile.am,bin/xapian-compact.cc: Added new "xapian-compact"
26772	  program which can compact and merge flint databases in a similar
26773	  way to how quartzcompact does for quartz databases.
26774
26775Thu Jun 16 01:22:45 BST 2005  Olly Betts <olly@survex.com>
26776
26777	* configure.ac: Check for spaces in build directory, source directory,
26778	  or install prefix and die with a helpful message.
26779
26780Wed Jun 15 01:00:11 BST 2005  Olly Betts <olly@survex.com>
26781
26782	* backends/flint/flint_lock.cc: It seems we need to explicitly kill
26783	  the child process.  Otherwise when we have two databases locked
26784	  just closing the connection doesn't cause the child to die.  I
26785	  don't understand why it's needed, but this fix is at least clean.
26786
26787Mon Jun 13 00:13:33 BST 2005  Olly Betts <olly@survex.com>
26788
26789	* backends/flint/flint_alltermslist.cc,
26790	  backends/flint/flint_alltermslist.h,
26791	  backends/flint/flint_database.cc: Rewrite of FlintAllTermsList
26792	  with several fewer member variables.  Also fixes a bug (the old
26793	  version wasn't ignoring the metainfo entry so tests were failing).
26794
26795Sun Jun 12 13:08:16 BST 2005  Olly Betts <olly@survex.com>
26796
26797	* backends/quartz/quartz_alltermslist.cc: Disable assertion which is
26798	  incorrect in a corner case.
26799	* tests/api_db.cc: Add test_specialterms2 as a regression test.
26800
26801Sun Jun 12 02:03:52 BST 2005  Olly Betts <olly@survex.com>
26802
26803	* backends/flint/flint_positionlist.cc: Encoding and decoding of
26804	  position list size, and first and last entries didn't match.
26805	  Reworked to match using a slightly smaller encoding.
26806	* backends/flint/flint_metafile.cc: Bumped format version.
26807
26808Sun Jun 12 02:02:35 BST 2005  Olly Betts <olly@survex.com>
26809
26810	* backends/flint/flint_table.cc: We were failing to append "DB" to the
26811	  path when opening a table for reading - fixed.
26812
26813Sun Jun 12 02:00:30 BST 2005  Olly Betts <olly@survex.com>
26814
26815	* testsuite/backendmanager.cc: When a flint database was requested, we
26816	  were incorrectly creating a quartz database instead - fixed.
26817
26818Sat Jun 11 17:53:12 BST 2005  Olly Betts <olly@survex.com>
26819
26820	* bin/quartzcompact.cc: Fix mis-repacking of keys in positionlist
26821	  table when merging several databases.
26822
26823Thu Jun 09 01:06:35 BST 2005  Olly Betts <olly@survex.com>
26824
26825	* Makefile.am,configure.ac: Pass automake options to AM_INIT_AUTOMAKE
26826	  rather than specifying them in Makefile.am.  This way, the version
26827	  requirements for autoconf and automake are stated close together.
26828
26829Mon Jun 06 19:49:36 BST 2005  Olly Betts <olly@survex.com>
26830
26831	* HACKING: Minor updates to release checklist.
26832
26833Mon Jun 06 17:44:19 BST 2005  Olly Betts <olly@survex.com>
26834
26835	* NEWS,configure.ac: Updated for 0.9.1.
26836
26837Mon Jun 06 17:28:34 BST 2005  Olly Betts <olly@survex.com>
26838
26839	* configure.ac: Describe CC_FOR_BUILD in configure --help output.
26840
26841Mon Jun 06 16:00:26 BST 2005  Olly Betts <olly@survex.com>
26842
26843	* PLATFORMS: Updated for 0.9.1.
26844
26845Fri Jun 03 03:49:33 BST 2005  Olly Betts <olly@survex.com>
26846
26847	* backends/flint/flint_lock.cc,backends/flint/flint_lock.h: Fixed
26848	  compilation failure on mingw.
26849
26850Fri Jun 03 01:58:08 BST 2005  Olly Betts <olly@survex.com>
26851
26852	* PLATFORMS: Updated from tinderbox.
26853
26854Fri Jun 03 00:46:00 BST 2005  Olly Betts <olly@survex.com>
26855
26856	* HACKING,NEWS: Snapshot and release tarballs are now bootstrapped
26857	  using libtool 1.5.18 and automake 1.9.5 (though neither is currently
26858	  an enforced requirement for bootstrapping).
26859
26860Thu Jun 02 17:36:36 BST 2005  Olly Betts <olly@survex.com>
26861
26862	* NEWS: First draft of release notes for 0.9.1.
26863
26864Thu Jun 02 02:05:47 BST 2005  Olly Betts <olly@survex.com>
26865
26866	* backends/flint/flint_record.cc: Fix get_doccount() to not return
26867	  one too low now that the special entry is no longer in the record
26868	  table!
26869
26870Wed Jun 01 12:41:59 BST 2005  Olly Betts <olly@survex.com>
26871
26872	* backends/flint/flint_positionlist.cc: Placate Sun's C++ compiler.
26873
26874Tue May 31 19:31:24 BST 2005  Olly Betts <olly@survex.com>
26875
26876	* backends/flint/flint_positionlist.h,
26877	  backends/flint/flint_positionlist.cc,
26878	  backends/flint/flint_metafile.cc: positionlist entries are now
26879	  stored using interpolative coding (which is significantly more
26880	  compact).
26881
26882Mon May 30 01:48:17 BST 2005  Olly Betts <olly@survex.com>
26883
26884	* backends/flint/flint_lock.cc,backends/flint/flint_lock.h:  Added
26885	  locking code for MS Windows (untested).
26886
26887Sun May 29 01:00:41 BST 2005  Olly Betts <olly@survex.com>
26888
26889	* HACKING,NEWS,testsuite/testsuite.h: Fixed spelling mistakes.
26890
26891Sat May 28 22:51:15 BST 2005  Olly Betts <olly@survex.com>
26892
26893	* tests/: svn:ignore .flint/ subdirectory.
26894	* tests/Makefile.am: Remove .flint subdirectory on 'make clean'.
26895
26896Sat May 28 22:45:24 BST 2005  Olly Betts <olly@survex.com>
26897
26898	* docs/quartzdesign.html: Remove warning that quartz is still in
26899	  development.
26900
26901Sat May 28 16:24:43 BST 2005  Olly Betts <olly@survex.com>
26902
26903	* backends/flint/flint_lock.h: Removed unused FlintLock method
26904	  'operator int()' which was confusing Sun's C++ compiler.
26905
26906Sat May 28 16:18:11 BST 2005  Olly Betts <olly@survex.com>
26907
26908	* include/xapian/query.h: Removed superfluous "Query::" which was
26909	  causing the build to fail with aCC.
26910
26911Sat May 28 14:31:33 BST 2005  Olly Betts <olly@survex.com>
26912
26913	* backends/flint/flint_metafile.cc: Added missing '#include <errno.h>'.
26914
26915Sat May 28 14:15:36 BST 2005  Olly Betts <olly@survex.com>
26916
26917	* backends/flint/flint_positionlist.cc: Simplify code a bit.
26918
26919Sat May 28 02:01:12 BST 2005  Olly Betts <olly@survex.com>
26920
26921	* backends/flint/: Move the special item holding the total document
26922	  length and doc id high water mark from the record table to the
26923	  postlist table.  This means that when appending documents, the
26924	  insertion point will now always be at the end of the record table.
26925	  We need to jump around the postlist table to merge anyway.
26926
26927Sat May 28 00:42:25 BST 2005  Olly Betts <olly@survex.com>
26928
26929	* backends/flint/flint_metafile.cc: Change metafile magic to be
26930	  different from quartz, and make the metafile version a datestamp
26931	  which we'll change each time the format changes; check the return
26932	  value of close on the metafile.
26933
26934Fri May 27 22:09:45 BST 2005  Olly Betts <olly@survex.com>
26935
26936	* backends/Makefile.am,backends/flint/: Implement new fork+fcntl+exec
26937	  based locking;  Fix new GCC warnings.
26938
26939Fri May 27 22:06:14 BST 2005  Olly Betts <olly@survex.com>
26940
26941	* api/omquery.cc: Missed a warning fix.
26942
26943Fri May 27 22:04:18 BST 2005  Olly Betts <olly@survex.com>
26944
26945	* backends/quartz/btree.cc,backends/quartz/btree.h,
26946	  backends/quartz/quartz_postlist.cc,common/omtime.h,matcher/,
26947	  net/socketserver.cc,net/socketcommon.cc,net/socketclient.cc,
26948	  testsuite/btreecheck.h,testsuite/testsuite.cc: Fix GCC warnings
26949	  from new flags.
26950
26951Fri May 27 20:06:52 BST 2005  Olly Betts <olly@survex.com>
26952
26953	* queryparser/queryparser.lemony: Add missing '#include <config.h>'.
26954
26955Fri May 27 12:20:03 BST 2005  Olly Betts <olly@survex.com>
26956
26957	* common/omdebug.h: Oops, change to static_cast reveals that we were
26958	  discarding const (harmlessly).
26959
26960Fri May 27 12:16:03 BST 2005  Olly Betts <olly@survex.com>
26961
26962	* common/omdebug.h: Replace C style cast with static_cast<>.
26963
26964Fri May 27 12:07:48 BST 2005  Olly Betts <olly@survex.com>
26965
26966	* configure.ac: -Wendif should be -Wendif-labels.
26967
26968Wed May 25 20:41:39 BST 2005  Olly Betts <olly@survex.com>
26969
26970	* configure.ac: Pass more -W flags to g++ (including -Wundef which
26971	  caught the getopt problem fixed by the previous commit).
26972
26973Wed May 25 20:32:35 BST 2005  Olly Betts <olly@survex.com>
26974
26975	* getopt/getopt.cc: Added accidentally pruned #define so that getopt
26976	  code isn't compiled in when the system uses glibc.
26977
26978Wed May 25 18:36:41 BST 2005  Olly Betts <olly@survex.com>
26979
26980	* configure.ac: Add -Wredundant-decls to the default CXXFLAGS for GCC.
26981
26982Wed May 25 03:33:34 BST 2005  Olly Betts <olly@survex.com>
26983
26984	* tests/apitest.cc,tests/api_db.cc,tests/api_db.h,
26985	  testsuite/backendmanager.cc,testsuite/backendmanager.h:
26986	  apitest now runs tests on flint as well.
26987
26988Wed May 25 03:20:12 BST 2005  Olly Betts <olly@survex.com>
26989
26990	* backends/database.cc: When automatically determining which backend
26991	  to use when creating a WritableDatabase, don't try to open it as
26992	  both Flint *AND* Quartz (an "else" was missing).
26993
26994Wed May 25 03:19:21 BST 2005  Olly Betts <olly@survex.com>
26995
26996	* backends/flint/flint_btreebase.cc: Fix typo in code which prevented
26997	  a flint database from being opened.
26998
26999Wed May 25 01:10:51 BST 2005  Olly Betts <olly@survex.com>
27000
27001	* include/xapian/version.h.in,include/xapian/dbfactory.h,
27002	  include/xapian/queryparser.h,backends/quartz/,backends/flint/:
27003	  Flint backend hooked in fully, and everything now builds once
27004	  more.
27005
27006Tue May 24 02:30:39 BST 2005  Olly Betts <olly@survex.com>
27007
27008	* HACKING: Add "email Fabrice" to the release checklist so that RPM
27009	  spec files don't lag behind.  The new svn-tag-release script
27010	  actually builds the release tarballs rather than just copying
27011	  snapshots like cvs-tag-release did, so document that.
27012
27013Tue May 24 01:21:18 BST 2005  Olly Betts <olly@survex.com>
27014
27015	* include/xapian/queryparser.h: Added missing documentation comments.
27016
27017Mon May 23 02:36:06 BST 2005  Olly Betts <olly@survex.com>
27018
27019	* configure.ac,backends/database.cc,backends/Makefile.am,
27020	  backends/flint/: Cloned the quartz backend to form the basis of the
27021	  new flint backend.  Currently it's the same except that the quartz
27022	  log feature has been removed.  When creating a database without a
27023	  specified backend, quartz is still used unless the environmental
27024	  variable XAPIAN_PREFER_FLINT is set to a non-empty value.
27025
27026Sat May 21 20:58:48 BST 2005  Olly Betts <olly@survex.com>
27027
27028	* xapian.spec.in: Remove bogus %setup line left over from when we
27029	  packaged xapian-core and xapian-examples together from separate
27030	  tarballs.
27031
27032Thu May 19 01:12:27 BST 2005  Olly Betts <olly@survex.com>
27033
27034	* bin/quartzcheck.cc: Fixed corner case where you couldn't check a
27035	  single Btree table which was just the DB and baseA/baseB files
27036	  in a directory (Xapian doesn't produce anything like this, but
27037	  btreetest does while unit testing the Btree code).
27038
27039Wed May 18 16:59:23 BST 2005  Olly Betts <olly@survex.com>
27040
27041	* api/omquery.cc,include/xapian/query.h: Put Query::get_terms_end()
27042	  inline in header.
27043
27044Wed May 18 16:41:56 BST 2005  Olly Betts <olly@survex.com>
27045
27046	* api/omquery.cc,tests/api_nodb.cc: Fix SEGV on get_terms_begin()
27047	  on an empty Query object.
27048
27049Mon May 16 22:58:09 BST 2005  Olly Betts <olly@survex.com>
27050
27051	* api/omqueryinternal.cc: Fixed compilation with --enable-debug.
27052
27053Sat May 14 01:02:33 BST 2005  Olly Betts <olly@survex.com>
27054
27055	* docs/doxygen_full_conf.in: Fix lingering DOXYGEN_HAVE_DOT reference.
27056
27057Sat May 14 00:36:14 BST 2005  Olly Betts <olly@survex.com>
27058
27059	* HACKING: Update information about the SVN tag name to use for
27060	  debian files.
27061
27062Fri May 13 23:21:54 BST 2005  Olly Betts <olly@survex.com>
27063
27064	* HACKING: Updated release instructions to refer to SVN.
27065
27066Fri May 13 20:58:15 BST 2005  Olly Betts <olly@survex.com>
27067
27068	* PLATFORMS: Updated for 0.9.0.
27069
27070Fri May 13 02:47:42 BST 2005  Olly Betts <olly@survex.com>
27071
27072	* include/xapian/queryparser.h: Fix for Sun's C++ compiler.
27073
27074Fri May 13 00:09:07 BST 2005  Olly Betts <olly@survex.com>
27075
27076	* NEWS,configure.ac: Updated for 0.9.0.
27077
27078Thu May 12 18:54:11 BST 2005  Olly Betts <olly@survex.com>
27079
27080	* docs/doxygen_api_conf.in,docs/Makefile.am: Fix to generate docs
27081	  for all backend factory functions like 0.8.5 did.
27082
27083Thu May 12 16:59:22 BST 2005  Olly Betts <olly@survex.com>
27084
27085	* backends/database.cc,backends/Makefile.am,include/xapian/database.h,
27086	  include/xapian/dbfactory.h,include/xapian.h,include/Makefile.am:
27087	  Split off database factory methods into xapian/dbfactory.h - this
27088	  allows us to fix recent breakage in VPATH builds (caused by the
27089	  need to include the generated file xapian/version.h from
27090	  xapian/database.h) without modifying almost every Makefile.am.
27091
27092Wed May 11 16:52:41 BST 2005  Olly Betts <olly@survex.com>
27093
27094	* queryparser/queryparser.lemony: Move prefixed, bracketed
27095	  subexpression to be an alternative for stop_term which allows
27096	  "term prefix:(term2 term3)" to parse correctly. Also move
27097	  non-prefixed, bracketed subexpression to be an alternative
27098	  for stop_term - this doesn't change how things parse, but
27099	  makes the grammar simpler.
27100	* tests/queryparsertest.cc: Added regression test for the above.
27101	* tests/Makefile.am,tests/queryparsertest.cc: Reworked queryparsertest
27102	  to use the standard testsuite harness.
27103
27104Wed May 11 16:09:32 BST 2005  Olly Betts <olly@survex.com>
27105
27106	* include/xapian/query.h: Fix OP_ELITE_SET at 10 (the value it had
27107	  in 0.8.5).
27108
27109Tue May 10 22:56:45 BST 2005  Olly Betts <olly@survex.com>
27110
27111	* docs/Makefile.am: Removed check for DOXYGEN_HAVE_DOT which I removed
27112	  recently.
27113
27114Tue May 10 01:09:01 BST 2005  Olly Betts <olly@survex.com>
27115
27116	* queryparser/queryparser.lemony: Removed state parameter from
27117	  TermList::add_term() since it is no longer used.
27118
27119Mon May 09 20:56:40 BST 2005  Olly Betts <olly@survex.com>
27120
27121	* docs/Makefile.am: Explicitly set the pool_size for latex, because we
27122	  seem to overflow the default setting on many systems.
27123	* docs/Makefile.am: Use $(MAKE) instead of make.
27124
27125Sun May 08 23:22:37 BST 2005  Olly Betts <olly@survex.com>
27126
27127	* configure.ac: Corrected $CC -> $CXX to fix bogus message "Checking
27128	  for  option to enable ANSI C++ mode".
27129	* configure.ac: If any tools needed for documentation are missing
27130	  and we're in maintainer mode, die with a suitable error in
27131	  configure rather than with strange errors when building the
27132	  documentation.
27133
27134Sun May 08 01:43:55 BST 2005  Olly Betts <olly@survex.com>
27135
27136	* include/xapian/queryparser.h,queryparser/queryparser.lemony,
27137	  queryparser/queryparser_internal.h,queryparser/queryparser.cc:
27138	  Remove QueryParser::termlist_begin() and termlist_end() since
27139	  you can just use Query::terms_begin() and terms_end() on the
27140	  Query object returned by QueryParser::parse_query().
27141
27142Thu May 05 01:00:26 BST 2005  Olly Betts <olly@survex.com>
27143
27144	* common/utils.cc: On WIN32, don't define NOMINMAX if it is already
27145	  defined.
27146
27147Wed May 04 00:52:04 BST 2005  Olly Betts <olly@survex.com>
27148
27149	* matcher/bm25weight.cc: Avoid needing document length if we're simply
27150	  going to multiply it by zero!
27151
27152Tue May 03 14:07:20 BST 2005  Olly Betts <olly@survex.com>
27153
27154	* HACKING: CVS -> SVN;  Note that tabs should be 8 spaces.
27155
27156Thu Apr 28 21:13:17 BST 2005  Olly Betts <olly@survex.com>
27157
27158	* include/xapian/database.h: Don't declare the backend factory
27159	  functions if the corresponding backend has been disabled.  This
27160	  means that trying to use a disabled backend will be caught at
27161	  compile time rather than link time.
27162
27163Thu Apr 28 21:12:43 BST 2005  Olly Betts <olly@survex.com>
27164
27165	* docs/intro_ir.html: Corrected two errors.
27166
27167Wed Apr 27 23:04:53 BST 2005  Olly Betts <olly@survex.com>
27168
27169	* configure.ac,include/xapian/version.h.in: Define
27170	  XAPIAN_HAS_xxx_BACKEND for each backend which is enabled.  The
27171	  bindings need this, and user code might find it useful too.
27172
27173Wed Apr 27 03:31:50 BST 2005  Olly Betts <olly@survex.com>
27174
27175	* api/omdatabase.cc,api/ompostlistiterator.cc,
27176	  api/omtermlistiterator.cc,include/xapian/,
27177	  queryparser/queryparser.cc: Where end iterator is just
27178	  FooIterator(NULL) put it inline in the header for efficiency.
27179	  If we ever need to change an implementation, we can easily move
27180	  methods back into the library and bump the library version suitably.
27181
27182Wed Apr 27 02:40:43 BST 2005  Olly Betts <olly@survex.com>
27183
27184	* examples/quest.cc,include/xapian/queryparser.h,
27185	  queryparser/queryparser.cc,tests/queryparsertest.cc: Rename
27186	  QueryParser::set_stemming_options() to set_stemming_strategy()
27187	  - it's a better name and avoids confusion with the old deprecated
27188	  method called set_stemming_options().
27189	* examples/quest.cc: Added stopword handling.
27190
27191Wed Apr 27 02:39:33 BST 2005  Olly Betts <olly@survex.com>
27192
27193	* include/xapian/enquire.h: Fixed documentation comment.
27194
27195Sun Apr 24 03:02:47 BST 2005  Olly Betts <olly@survex.com>
27196
27197	* api/omstem.cc: Simplified Xapian::Stem::Internal.
27198
27199Sun Apr 24 02:21:22 BST 2005  Olly Betts <olly@survex.com>
27200
27201	* tests/api_nodb.cc: Extended stemlang1 to check that trying to create
27202	  a stemmer for a non-existent language throws InvalidArgumentError.
27203
27204Fri Apr 22 01:20:57 BST 2005  Olly Betts <olly@survex.com>
27205
27206	* include/xapian/document.h: Clearer documentation comments.
27207
27208Thu Apr 21 15:03:42 BST 2005  Olly Betts <olly@survex.com>
27209
27210	* docs/overview.html,include/xapian/query.h: Removed lingering
27211	  references to OP_WEIGHT_CUTOFF.
27212
27213Thu Apr 21 01:46:51 BST 2005  Olly Betts <olly@survex.com>
27214
27215	* PLATFORMS: Added success report for Ubuntu 5.04 on x86_64.
27216
27217Mon Apr 18 02:54:10 BST 2005  Olly Betts <olly@survex.com>
27218
27219	* docs/stemming.html: Stemming appears to be applicable to Japanese
27220	  so don't say it isn't!
27221
27222Sat Apr 16 01:08:22 BST 2005  Olly Betts <olly@survex.com>
27223
27224	* PLATFORMS: Updated from tinderbox.
27225
27226Fri Apr 15 23:18:58 BST 2005  Olly Betts <olly@survex.com>
27227
27228	* languages/: Remove lingering .c versions of snowball generated
27229	  sources.
27230
27231Fri Apr 15 02:05:27 BST 2005  Olly Betts <olly@survex.com>
27232
27233	* include/xapian/queryparser.h,queryparser/queryparser_internal.h,
27234	  queryparser/queryparser.cc: Implemented QueryParser::set_database()
27235	  method.
27236	* queryparser/queryparser.lemony: Allow searches for C#, etc.  If a
27237	  database has been set, for this and + and - suffixes, check if the
27238	  term actually exists, and if not, ignore the suffix if the
27239	  unsuffixed term exists.
27240	* tests/queryparsertest.cc: Added tests for # suffix.
27241
27242Thu Apr 14 23:39:57 BST 2005  Olly Betts <olly@survex.com>
27243
27244	* include/xapian/stem.h: Rewritten with better documentation comments.
27245	* include/xapian/stem.h: Added operator() as preferred alternative
27246	  to stem_word().
27247	* api/omstem.cc,include/xapian/stem.h: Simplified by restructuring
27248	  to eliminate a few internal methods.
27249
27250Thu Apr 14 23:35:47 BST 2005  Olly Betts <olly@survex.com>
27251
27252	* queryparser/queryparser.cc: Make get_description() debug tracing
27253	  message category INTRO not API.
27254
27255Thu Apr 14 19:57:06 BST 2005  Olly Betts <olly@survex.com>
27256
27257	* include/xapian/queryparser.h,queryparser/queryparser.cc: Added
27258	  QueryParser::get_description() method (not very descriptive yet!)
27259
27260Thu Apr 14 03:30:09 BST 2005  Olly Betts <olly@survex.com>
27261
27262	* include/xapian/queryparser.h: Fixed to only include the xapian
27263	  headers we actually depend on.
27264	* include/xapian/queryparser.h: Added \file and \brief documentation
27265	  comments.
27266
27267Thu Apr 14 02:50:36 BST 2005  Olly Betts <olly@survex.com>
27268
27269	* examples/quest.cc,include/xapian.h,tests/queryparsertest.cc:
27270	  Change xapian.h to automatically include xapian/queryparser.h
27271	  and fix direct includes of xapian/queryparser.h in tests and
27272	  examples.
27273
27274Thu Apr 14 01:48:39 BST 2005  Olly Betts <olly@survex.com>
27275
27276	* include/xapian/queryparser.h: Added Xapian::SimpleStopper which
27277	  should be sufficient for the majority of uses.
27278	* include/xapian/queryparser.h,queryparser/queryparser_internal.h,
27279	  queryparser/queryparser.cc: Changed QueryParser::set_stopper() to
27280	  take a const pointer.
27281
27282Thu Apr 07 15:57:15 BST 2005  Olly Betts <olly@survex.com>
27283
27284	* api/omenquire.cc,common/omenquireinternal.h,common/multimatch.h,
27285	  matcher/multimatch.cc,net/socketserver.cc: Tidy up after sort_bands.
27286
27287Thu Apr 07 15:15:27 BST 2005  Olly Betts <olly@survex.com>
27288
27289	* api/omenquire.cc,common/,include/xapian/enquire.h,
27290	  matcher/networkmatch.cc,matcher/multimatch.cc,matcher/networkmatch.h,
27291	  net/socketserver.cc,net/socketclient.cc,tests/api_db.cc:
27292	  Enhanced Enquire sorting API and added ability to reverse sort on
27293	  a value.
27294	* api/omenquire.cc: Enquire::get_description() now includes output of
27295	  Enquire::Internal::get_description().
27296
27297Thu Apr 07 13:55:56 BST 2005  Olly Betts <olly@survex.com>
27298
27299	* HACKING: Fixed a typo.
27300
27301Thu Apr 07 13:37:02 BST 2005  Olly Betts <olly@survex.com>
27302
27303	* backends/quartz/btree.cc,backends/quartz/btree.h,
27304	  bin/quartzcompact.cc: The "fuller compaction" code needs changes
27305	  to btree.h which I'd failed to check in.  Also document --fuller
27306	  in 'quartzcompact --help'.
27307
27308Thu Apr 07 03:35:36 BST 2005  Olly Betts <olly@survex.com>
27309
27310	* bin/quartzcompact.cc: Added "fuller compaction" mode, which ignores
27311	  the usual "at least 4 items per block" rule.
27312
27313Thu Apr 07 03:28:32 BST 2005  Olly Betts <olly@survex.com>
27314
27315	* PLATFORMS: Added success result for GCC 3.2.3 on FreeBSD 4.8; fixed
27316	  a typo.
27317
27318Wed Apr 06 23:04:15 BST 2005  Olly Betts <olly@survex.com>
27319
27320	* queryparser/queryparser.lemony: Added FIXME comment.
27321
27322Wed Apr 06 22:52:53 BST 2005  Olly Betts <olly@survex.com>
27323
27324	* ./: Removed ylwrap from svn:ignore.
27325
27326Tue Apr 05 22:34:16 BST 2005  Olly Betts <olly@survex.com>
27327
27328	* queryparser/queryparsertest.cc,queryparser/Makefile.am,
27329	  tests/Makefile.am: Moved queryparsertest into tests/.
27330
27331Tue Apr 05 22:15:05 BST 2005  Olly Betts <olly@survex.com>
27332
27333	* examples/: Updated svn:ignore property.
27334
27335Tue Apr 05 21:34:13 BST 2005  Olly Betts <olly@survex.com>
27336
27337	* queryparser/Makefile.am,configure.ac,extra/xapian/queryparser.h,
27338	  extra/,include/Makefile.am,Makefile.am: Move extra/ to queryparser/;
27339	  Merge extra/xapian/ into include/xapian/.
27340
27341Tue Apr 05 16:37:32 BST 2005  Olly Betts <olly@survex.com>
27342
27343	* m4/xapian.m4: Fix m4 quoting (argh!)
27344
27345Tue Apr 05 16:28:06 BST 2005  Olly Betts <olly@survex.com>
27346
27347	* m4/xapian.m4: Fix XO_LIB_XAPIAN to trim off any _svn6789 from
27348	  XAPIAN_VERSION.
27349
27350Tue Apr 05 16:17:31 BST 2005  Olly Betts <olly@survex.com>
27351
27352	* configure.ac: Fix m4 quoting.
27353
27354Tue Apr 05 15:16:38 BST 2005  Olly Betts <olly@survex.com>
27355
27356	* configure.ac: #define VERSION in version.h shouldn't include any
27357	  _svn6789 suffix.
27358
27359Tue Apr 05 13:28:23 BST 2005  Olly Betts <olly@survex.com>
27360
27361	* configure.ac: Snapshot generator now appends _svn6789 or similar to
27362	  the version string, so take that into account when finding REVISION.
27363
27364Tue Apr 05 12:55:52 BST 2005  Olly Betts <olly@survex.com>
27365
27366	* ChangeLog.examples,Makefile.am,examples/ChangeLog: Move
27367	  xapian-examples ChangeLog to ChangeLog.examples in the top-level
27368	  and include in the tarball.
27369
27370Tue Apr 05 02:18:08 BST 2005  Olly Betts <olly@survex.com>
27371
27372	* examples/dir_contents,examples/README: Converted xapian-examples
27373	  README into a dir_contents file.
27374
27375Tue Apr 05 02:12:31 BST 2005  Olly Betts <olly@survex.com>
27376
27377	* docs/overview.html,docs/install.html,configure.ac,Makefile.am,
27378	  xapian.spec.in,examples/Makefile.am: Moved xapian-examples module
27379	  to examples subdirectory of xapian-core.
27380
27381Tue Apr 05 00:37:05 BST 2005  Olly Betts <olly@survex.com>
27382
27383	* m4/.cvsignore,debian/.cvsignore,matcher/.cvsignore,docs/.cvsignore,
27384	  tests/.cvsignore,bin/.cvsignore,.cvsignore,autoconf/.cvsignore,
27385	  extra/.cvsignore,include/xapian/.cvsignore,include/.cvsignore,
27386	  net/.cvsignore,common/.cvsignore,testsuite/.cvsignore,
27387	  getopt/.cvsignore,languages/.cvsignore,api/.cvsignore,
27388	  backends/inmemory/.cvsignore,backends/muscat36/.cvsignore,
27389	  backends/net/.cvsignore,backends/quartz/.cvsignore,
27390	  backends/multi/.cvsignore,backends/.cvsignore: Remove .cvsignore
27391	  files, as they're not used by SVN.
27392
27393Thu Mar 10 01:48:20 GMT 2005  Olly Betts <olly@survex.com>
27394
27395	* testsuite/backendmanager.cc,testsuite/index_utils.cc,
27396	  testsuite/index_utils.h: Rewrite of index_utils code, removing
27397	  unused and unusual features.
27398	* tests/testdata/: Cleaned up data for apitest now that paragraphs
27399	  don't have the odd minimum number of lines!
27400	* tests/testdata/apitest_space.txt: New index_utils code has C-like
27401	  \ escapes for control characters rather than ^ escapes.
27402
27403Wed Mar 09 22:04:08 GMT 2005  Olly Betts <olly@survex.com>
27404
27405	* common/utils.h: Added C_isxdigit and C_isnotxdigit.
27406
27407Wed Mar 09 15:22:35 GMT 2005  Olly Betts <olly@survex.com>
27408
27409	* testsuite/index_utils.cc: Fixed ^x to actually decode hex values
27410	  correctly.
27411
27412Tue Mar 08 16:57:25 GMT 2005  Olly Betts <olly@survex.com>
27413
27414	* matcher/multimatch.cc: Minor code tidy.
27415
27416Tue Mar 08 15:48:38 GMT 2005  Olly Betts <olly@survex.com>
27417
27418	* api/omenquire.cc,docs/matcherdesign.html,include/xapian/enquire.h,
27419	  matcher/multimatch.cc,tests/api_db.cc: Removed sort_bands support.
27420
27421Tue Mar 08 04:13:03 GMT 2005  Olly Betts <olly@survex.com>
27422
27423	* bin/quartzcompact.cc: Fixed to add items for all tables in key order
27424	  which produces results around 40% more compact (previously in the
27425	  merge case, this was only happening for the postlist table).
27426
27427Tue Mar 08 03:30:06 GMT 2005  Olly Betts <olly@survex.com>
27428
27429	* testsuite/btreecheck.cc: Make default check output fit on a single
27430	  line (at least for many databases).
27431
27432Tue Mar 08 02:34:41 GMT 2005  Olly Betts <olly@survex.com>
27433
27434	* matcher/multimatch.cc: Fix warning from newer versions of GCC.
27435
27436Sat Mar 05 00:25:07 GMT 2005  Olly Betts <olly@survex.com>
27437
27438	* api/omenquire.cc,common/omenquireinternal.h,include/xapian/enquire.h,
27439	  matcher/multimatch.cc,tests/api_db.cc: Fixed Xapian::RSet to have
27440	  the same "it's a handle" copy semantics as most of the other
27441	  classes.
27442
27443Sat Mar 05 00:23:47 GMT 2005  Olly Betts <olly@survex.com>
27444
27445	* testsuite/testsuite.h: Fixed TEST_EQUAL_DOUBLE to use DBL_EPSILON
27446	  correctly.
27447
27448Fri Mar 04 21:06:38 GMT 2005  Olly Betts <olly@survex.com>
27449
27450	* tests/testdata/etext.txt: Stripped carriage returns.
27451
27452Fri Mar 04 21:04:25 GMT 2005  Olly Betts <olly@survex.com>
27453
27454	* PLATFORMS: Assorted updates.
27455
27456Thu Mar 03 01:17:07 GMT 2005  Olly Betts <olly@survex.com>
27457
27458	* bin/quartzcompact.cc: Fixed to allow compacting a single database.
27459	  Fixed handling of very last term when merging postlists.
27460
27461Wed Mar 02 03:18:30 GMT 2005  Olly Betts <olly@survex.com>
27462
27463	* backends/quartz/quartz_values.cc: Values are stored in sorted order
27464	  so we can stop unpacking the list once we get to one after the one
27465	  we're looking for.
27466
27467Wed Mar 02 02:59:23 GMT 2005  Olly Betts <olly@survex.com>
27468
27469	* bin/quartzcheck.cc: Now checks the structure of all the tables, not
27470	  just the postlist table, and cross-checks doclen values between
27471	  termlist and postlist tables.  Recognises "--help" option.  Should
27472	  now continue after an error (typically it would crash before), and
27473	  counts the number of errors found.  Now exits with non-zero status
27474	  if any errors were found.
27475
27476Tue Mar 01 18:48:25 GMT 2005  Olly Betts <olly@survex.com>
27477
27478	* xapian.spec.in: '/usr/share' -> '%{_datadir}'.
27479
27480Tue Mar 01 16:21:07 GMT 2005  Olly Betts <olly@survex.com>
27481
27482	* tests/api_db.cc: Fixed warning from Sun's C++ compiler.
27483
27484Tue Mar 01 02:02:15 GMT 2005  Olly Betts <olly@survex.com>
27485
27486	* bin/quartzcompact.cc: Extended to allow merging several quartz
27487	  databases to produce a single compact quartz database.  This
27488	  allows for faster building - simple index in chunks, then merge
27489	  the chunks.
27490
27491Tue Mar 01 00:08:12 GMT 2005  Olly Betts <olly@survex.com>
27492
27493	* xapian.spec.in: Put the .so in the -devel package (it's only useful
27494	  for linking to - the .so.* files are all that's needed at runtime).
27495
27496Tue Mar 01 00:05:25 GMT 2005  Olly Betts <olly@survex.com>
27497
27498	* Makefile.am,xapian-config.in,xapian.spec.in,extra/.cvsignore,
27499	  extra/Makefile.am: Eliminated the extra library for the queryparser
27500	  - it's tiny compared to the main library and having it around just
27501	  complicates things.
27502
27503Mon Feb 28 23:52:19 GMT 2005  Olly Betts <olly@survex.com>
27504
27505	* tests/api_anydb.cc: More set_length() changes.
27506
27507Mon Feb 28 20:31:13 GMT 2005  Olly Betts <olly@survex.com>
27508
27509	* net/socketclient.cc,net/socketserver.cc,api/omenquire.cc,
27510	  api/omquery.cc,api/omqueryinternal.cc,common/,
27511	  include/xapian/enquire.h,include/xapian/query.h,matcher/:
27512	  Remove Query::set_length() in favour of an optional length
27513	  parameter to Enquire::set_query().
27514
27515Mon Feb 28 15:32:32 GMT 2005  Olly Betts <olly@survex.com>
27516
27517	* api/omqueryinternal.cc,common/Makefile.am,common/deleter_vector.h:
27518	  Removed deleter_vector as it's no longer used anywhere.
27519
27520Mon Feb 28 15:27:42 GMT 2005  Olly Betts <olly@survex.com>
27521
27522	* api/omquery.cc,api/omqueryinternal.cc,include/xapian/query.h,
27523	  matcher/localmatch.cc,tests/api_anydb.cc,tests/api_nodb.cc:
27524	  Eliminated Query::set_elite_set_size().
27525
27526Mon Feb 28 15:15:45 GMT 2005  Olly Betts <olly@survex.com>
27527
27528	* HACKING: Note how to disable use of VALGRIND on the make check
27529	  command line, or when using runtest directly.
27530
27531Mon Feb 28 13:36:07 GMT 2005  Olly Betts <olly@survex.com>
27532
27533	* common/omqueryinternal.h: Removed out-of-date commented out version
27534	  of Xapian::Query::Internal.
27535
27536Mon Feb 28 13:07:42 GMT 2005  Olly Betts <olly@survex.com>
27537
27538	* backends/quartz/quartz_alltermslist.cc,tests/api_db.cc: Updated (C)
27539	  dates for changes earlier this year.
27540
27541Mon Feb 28 13:04:41 GMT 2005  Olly Betts <olly@survex.com>
27542
27543	* api/omquery.cc,api/omqueryinternal.cc,include/xapian/query.h,
27544	  matcher/localmatch.cc,matcher/localmatch.h,tests/api_anydb.cc,
27545	  tests/api_nodb.cc,tests/api_posdb.cc: Eliminated Query::set_window
27546	  in favour of an optional parameter to the constructor, with the aim
27547	  of making Query objects immutable once constructed.
27548
27549Mon Feb 28 12:32:26 GMT 2005  Olly Betts <olly@survex.com>
27550
27551	* extra/queryparser.lemony: Updated 2 uses of Query::set_window().
27552
27553Mon Feb 28 04:43:20 GMT 2005  Olly Betts <olly@survex.com>
27554
27555	* api/omquery.cc,api/omqueryinternal.cc,common/socketcommon.h,
27556	  include/xapian/query.h,matcher/,tests/api_anydb.cc:
27557	  Removed OP_WEIGHT_CUTOFF, since it doesn't actually seem to
27558	  add useful functionality over using Enquire::set_cutoff().
27559
27560Mon Feb 28 04:31:58 GMT 2005  Olly Betts <olly@survex.com>
27561
27562	* matcher/weightcutoffpostlist.cc: Fix updating of docid in
27563	  WeightCutoffPostList - the current code works, but can end up doing
27564	  lots (potentially millions) of pointless loop iterations.
27565
27566Mon Feb 28 02:57:29 GMT 2005  Olly Betts <olly@survex.com>
27567
27568	* docs/queryparser.html: Note that + and - work on phrases and
27569	  bracketed expressions.
27570
27571Fri Feb 25 17:06:23 GMT 2005  Olly Betts <olly@survex.com>
27572
27573	* backends/quartz/quartz_alltermslist.cc: Fix skip_to on an allterms
27574	  TermIterator to set the current term when the skip_to-ed term is
27575	  in the database.
27576	* tests/api_db.cc: Add regression test for this (allterms5).
27577
27578Wed Feb 23 19:07:30 GMT 2005  Olly Betts <olly@survex.com>
27579
27580	* configure.ac: Suppress 2 Intel C++ warnings which we can't easily
27581	  code around, and enable -Werror automatically with
27582	  --enable-maintainer-mode.
27583	* configure.ac: Check that the C++ compiler can actually link a
27584	  program.  AC_LANG_CXX doesn't, and if it can't find a C++ compiler
27585	  it'll just return "g++" which just leads to a later configure
27586	  test failing in a confusing way.
27587
27588Tue Feb 22 13:39:07 GMT 2005  Olly Betts <olly@survex.com>
27589
27590	* include/xapian/enquire.h: Improved documentation comments.
27591	* api/omenquire.cc,include/xapian/enquire.h: MSet::max_size() (which
27592	  only exists so that MSet is an STL compiler) now returns
27593	  MSet::size() and is inlined from the header.
27594	* include/xapian/enquire.h: Added ESet::max_size() (for STL
27595	  compatibility).
27596
27597Tue Feb 22 00:18:33 GMT 2005  Olly Betts <olly@survex.com>
27598
27599	* configure.ac: corrected "none known for yes" or "none known for no"
27600	  to "none known for g++-3.2" or similar.
27601	* configure.ac: autoconf identifies Intel's C++ compiler as GCC, so
27602	  probe for which it actually is.
27603
27604Mon Feb 21 21:54:29 GMT 2005  Olly Betts <olly@survex.com>
27605
27606	* PLATFORMS: Updated.
27607
27608Mon Feb 21 16:06:32 GMT 2005  Olly Betts <olly@survex.com>
27609
27610	* PLATFORMS: Added success report for Intel C++ 8.1 on ia64 Linux
27611	  (and also GCC 3.2.3 on ia64 Linux).
27612
27613Mon Feb 21 05:33:46 GMT 2005  Olly Betts <olly@survex.com>
27614
27615	* backends/multi/: Don't delare methods in headers if they're virtual
27616	  or large.
27617
27618Mon Feb 21 04:11:23 GMT 2005  Olly Betts <olly@survex.com>
27619
27620	* backends/inmemory/inmemory_database.cc,
27621	  backends/inmemory/inmemory_database.h: Don't delare methods in
27622	  headers if they're virtual or large.
27623
27624Sun Feb 20 21:13:40 GMT 2005  Olly Betts <olly@survex.com>
27625
27626	* common/multimatch.h: Removed unused "class SocketServer;".
27627
27628Sun Feb 20 19:47:01 GMT 2005  Olly Betts <olly@survex.com>
27629
27630	* net/socketserver.cc: Fixed typo in debug code.
27631
27632Sat Feb 19 18:44:17 GMT 2005  Olly Betts <olly@survex.com>
27633
27634	* PLATFORMS: Added minimal testcase which fails to compile with
27635	  Compaq's C++ compiler (cxx).
27636
27637Sat Feb 19 04:23:51 GMT 2005  Olly Betts <olly@survex.com>
27638
27639	* backends/quartz/btree.cc,backends/quartz/btree.h: Change
27640	  Btree::find_in_block to take a bool indicating if this is a leaf
27641	  block rather than an offset to subtract when it is.
27642
27643Fri Feb 18 04:27:16 GMT 2005  Olly Betts <olly@survex.com>
27644
27645	* HACKING: Added better description of how reference-counted API
27646	  classes are structured.
27647	* include/xapian/postingiterator.h,include/xapian/termiterator.h:
27648	  More (and better) documentation comments.
27649
27650Fri Feb 18 03:05:40 GMT 2005  Olly Betts <olly@survex.com>
27651
27652	* backends/quartz/btree.cc: Made full compaction a tiny bit more
27653	  compact.  Improved compaction by a few % in non-full case.
27654	  Tighter bound on amount of memory to reserve to read the tag
27655	  into.
27656
27657Fri Feb 18 00:47:41 GMT 2005  Olly Betts <olly@survex.com>
27658
27659	* api/omenquire.cc: Removed duplicate "#include <xapian/enquire.h>".
27660
27661Thu Feb 17 01:33:01 GMT 2005  Olly Betts <olly@survex.com>
27662
27663	* extra/queryparser_internal.h: Further Sun C++ fixes.
27664
27665Wed Feb 16 05:32:40 GMT 2005  Olly Betts <olly@survex.com>
27666
27667	* extra/queryparser.lemony: Attempted fix for Sun's C++ compiler.
27668
27669Tue Feb 15 02:10:35 GMT 2005  Olly Betts <olly@survex.com>
27670
27671	* extra/queryparser.cc,extra/queryparser.lemony,
27672	  extra/queryparser_internal.h: Fixed namespace stuff to keep Sun's C++
27673	  compiler happy.
27674
27675Mon Feb 14 21:21:08 GMT 2005  Olly Betts <olly@survex.com>
27676
27677	* api/vectortermlist.h: Workaround a shortcoming in Sun's C++
27678	  compiler.
27679
27680Mon Feb 14 21:16:05 GMT 2005  Olly Betts <olly@survex.com>
27681
27682	* PLATFORMS: Results from upgraded sourceforge x86_64 box.
27683
27684Mon Feb 14 18:36:40 GMT 2005  Olly Betts <olly@survex.com>
27685
27686	* extra/xapian/queryparser.h: Fixed compilation error.
27687
27688Mon Feb 14 18:00:12 GMT 2005  Olly Betts <olly@survex.com>
27689
27690	* extra/xapian/queryparser.h: Added backward compatibility wrapper for
27691	  old version of QueryParser::set_stemming_options().
27692
27693Mon Feb 14 17:50:47 GMT 2005  Olly Betts <olly@survex.com>
27694
27695	* extra/xapian/queryparser.h: Added dummy QueryParser::set_database()
27696	  (currently it ignores the parameter).
27697
27698Mon Feb 14 15:34:13 GMT 2005  Olly Betts <olly@survex.com>
27699
27700	* extra/lemon.c: C90, not C99!
27701
27702Mon Feb 14 15:20:11 GMT 2005  Olly Betts <olly@survex.com>
27703
27704	* extra/lemon.c: C, not C++.
27705
27706Mon Feb 14 05:49:50 GMT 2005  Olly Betts <olly@survex.com>
27707
27708	* extra/: Tweak lemon so we can avoid generating files in builddir
27709	  in a VPATH build.
27710
27711Mon Feb 14 02:44:17 GMT 2005  Olly Betts <olly@survex.com>
27712
27713	* extra/Makefile.am: Update to reflect lempar.c -> queryparser.lt.
27714
27715Mon Feb 14 02:25:53 GMT 2005  Olly Betts <olly@survex.com>
27716
27717	* extra/lempar.c,extra/queryparser.lt: Rename lemon template to .lt
27718	  which is more sensible than calling it lempar.c and should work
27719	  with VPATH builds.
27720
27721Mon Feb 14 02:12:51 GMT 2005  Olly Betts <olly@survex.com>
27722
27723	* extra/Makefile.am: Fixes for VPATH builds.
27724
27725Mon Feb 14 01:43:59 GMT 2005  Olly Betts <olly@survex.com>
27726
27727	* configure.ac: Need to AC_SUBST(CC_FOR_BUILD).
27728
27729Mon Feb 14 00:19:45 GMT 2005  Olly Betts <olly@survex.com>
27730
27731	* extra/Makefile.am: Added dependency for building queryparser.h.
27732
27733Sun Feb 13 23:30:02 GMT 2005  Olly Betts <olly@survex.com>
27734
27735	* extra/queryparser.cc,extra/queryparser_internal.h,
27736	  extra/xapian/queryparser.h: Fixed to compile with GCC 3.3.
27737
27738Sun Feb 13 23:09:15 GMT 2005  Olly Betts <olly@survex.com>
27739
27740	* configure.ac: Enhanced valgrind test to (a) see if --tool=memcheck
27741	  is needed and (b) see if valgrind actually works (we don't want to
27742	  try to use an x86 valgrind on an x86_64 box).
27743
27744Mon Jan 17 03:21:29 GMT 2005  Olly Betts <olly@survex.com>
27745
27746	* api/vectortermlist.h,extra/,extra/xapian/queryparser.h: Rewritten
27747	  QueryParser class.  Uses Lemon instead of Bison to generate the
27748	  parser, which enables us to stop using static data, so this class
27749	  is at last reentrant.  It now uses a PIMPL style with reference
27750	  counted internals like most of the other Xapian classes.  And
27751	  direct access to member variables has gone, which unfortunately
27752	  forces an API change (bug #39).  The rewrite also supports more
27753	  features than the original did.
27754	* HACKING,configure.ac: No longer need Bison.
27755	* configure.ac: Need CC_FOR_BUILD to compile Lemon with.
27756
27757Mon Jan 17 02:40:40 GMT 2005  Olly Betts <olly@survex.com>
27758
27759	* PLATFORMS: IRIX + SGI C++ now compiles with just two warnings -
27760	  unused variables in Snowball generated code.
27761
27762Sun Jan 16 03:19:56 GMT 2005  Olly Betts <olly@survex.com>
27763
27764	* xapian.spec.in: Don't say "%makeinstall" in a comment since rpm
27765	  tries to expand it and explodes.
27766
27767Sat Jan 15 03:30:33 GMT 2005  Olly Betts <olly@survex.com>
27768
27769	* docs/Makefile.am: Clearer rules for making Postscript doxygen docs.
27770
27771Sat Jan 15 02:45:19 GMT 2005  Olly Betts <olly@survex.com>
27772
27773	* HACKING: Note that '#include <limits>' isn't supported by GCC 2.95,
27774	  and other assorted minor tweaks.
27775
27776Sat Jan 08 16:09:10 GMT 2005  Olly Betts <olly@survex.com>
27777
27778	* api/maptermlist.h,backends/inmemory/inmemory_database.h,
27779	  backends/quartz/quartz_postlist.h,common/,matcher/localmatch.h,
27780	  matcher/mergepostlist.h,matcher/phrasepostlist.h,net/progclient.cc:
27781	  Fixes for SGI C++ warnings.
27782
27783Fri Jan  7 13:02:49 GMT 2005  Richard Boulton <richard@tartarus.org>
27784
27785	* common/positionlist.h: Correct out-of-date documentation comment.
27786
27787Tue Jan 04 03:05:26 GMT 2005  Olly Betts <olly@survex.com>
27788
27789	* matcher/multimatch.cc: Removed unnecessary class declaration.
27790
27791Tue Jan 04 03:02:02 GMT 2005  Olly Betts <olly@survex.com>
27792
27793	* configure.ac: Automatically enable ANSI C++ mode for SGI's compiler
27794	  with '-LANG:std'; check that any automatically determined flags
27795	  for ANSI C++ mode actually allow us to compile a trivial program
27796	  - if they don't it probably means the compiler isn't the one we
27797	  were expecting, but one installed with the same name, so we now
27798	  drop the flags in this case.
27799
27800Thu Dec 30 00:50:58 GMT 2004  Olly Betts <olly@survex.com>
27801
27802	* extra/queryparser.yy: QueryParser::parse_query() was failing to
27803	  clear termlist and unstem.
27804
27805Fri Dec 24 00:07:28 GMT 2004  Olly Betts <olly@survex.com>
27806
27807	* PLATFORMS: Updated from tinderbox.
27808
27809Thu Dec 23 21:13:46 GMT 2004  Olly Betts <olly@survex.com>
27810
27811	* backends/quartz/btree.cc: Fixed GCC compilation warning.
27812
27813Thu Dec 23 17:22:15 GMT 2004  Olly Betts <olly@survex.com>
27814
27815	* INSTALL,README: Updated.
27816	* README: Don't quote chunks of the GPL - just refer people to the
27817	  full text in COPYING.
27818
27819Thu Dec 23 16:55:03 GMT 2004  Olly Betts <olly@survex.com>
27820
27821	* NEWS,PLATFORMS,configure.ac: Updated for 0.8.5 release.
27822
27823Tue Dec 21 13:26:55 GMT 2004  Olly Betts <olly@survex.com>
27824
27825	* docs/quickstart.html: Improved wording.
27826
27827Tue Dec 21 13:03:06 GMT 2004  Olly Betts <olly@survex.com>
27828
27829	* HACKING: Updated to reflect extra jobs which cvs-tag-release now
27830	  does.
27831
27832Mon Dec 20 16:25:21 GMT 2004  Olly Betts <olly@survex.com>
27833
27834	* bin/Makefile.am: quartzcompact now uses getopt, so need to link
27835	  it in our version to build on non-glibc platforms.
27836
27837Mon Dec 20 16:23:28 GMT 2004  Olly Betts <olly@survex.com>
27838
27839	* backends/quartz/btree.cc: Added comment noting why we can't
27840	  truncate separating keys at higher levels.
27841
27842Thu Dec 16 14:46:28 GMT 2004  Olly Betts <olly@survex.com>
27843
27844	* HACKING: Fixed a typo, and improved wording.
27845
27846Mon Dec 13 02:52:52 GMT 2004  Olly Betts <olly@survex.com>
27847
27848	* backends/multi/multi_postlist.cc: Updated (C) date.
27849
27850Mon Dec 13 02:50:44 GMT 2004  Olly Betts <olly@survex.com>
27851
27852	* languages/: Added missing '#include <config.h>' to .cc files
27853	  (probably harmless, but it should be included as the first thing any
27854	  source file does).
27855
27856Mon Dec 13 02:21:28 GMT 2004  Olly Betts <olly@survex.com>
27857
27858	* bin/quartzdump.cc: Mark the long options as const.
27859
27860Mon Dec 13 02:20:08 GMT 2004  Olly Betts <olly@survex.com>
27861
27862	* bin/quartzcompact.cc: Tables sizes will always be a whole number of
27863	  Kbytes, since the blocksize is, so report the size in K.  Also
27864	  report the change in size as well as the before and after sizes.
27865
27866Mon Dec 13 02:11:59 GMT 2004  Olly Betts <olly@survex.com>
27867
27868	* common/netutils.cc: Added missing '#include <config.h>' (probably
27869	  harmless, but it should be included as the first thing any source
27870	  file does).
27871
27872Mon Dec 13 01:39:53 GMT 2004  Olly Betts <olly@survex.com>
27873
27874	* backends/quartz/btree.cc,backends/quartz/btree.h: Renamed
27875	  Btree::compress() to Btree::compact() for consistency with
27876	  "full_compaction" and "quartzcompact".  Also, "compress" is
27877	  confusing since use "compact" and we use that term in the zlib
27878	  patch.
27879	* backends/quartz/btree.cc: When full_compaction is enabled, don't
27880	  fill the last few bytes of a block if that would mean we needed
27881	  an extra item and the overhead for that item would use up more
27882	  of the next block than we save.  This reduces the table size
27883	  after full compaction by up to 0.2% in my tests!
27884
27885Mon Dec 13 01:39:02 GMT 2004  Olly Betts <olly@survex.com>
27886
27887	* backends/multi/multi_postlist.cc: Fixed to build with AssertParanoid
27888	  enabled.
27889
27890Mon Dec 13 00:41:28 GMT 2004  Olly Betts <olly@survex.com>
27891
27892	* bin/quartzcompact.cc: Added missing '#include <config.h>' so that
27893	  largefile support is enabled and we report compression statistics
27894	  for tables > 2G.
27895	* bin/quartzcompact.cc: Added --no-full / -n option to disable full
27896	  compaction.  This may be useful if you want to update the database
27897	  after compacting it (need to test to see if this option is actually
27898	  useful).
27899
27900Sun Dec 12 21:26:27 GMT 2004  Olly Betts <olly@survex.com>
27901
27902	* xapian-config.in: Previous attempted fix to --libs output was wrong
27903	  - made it actually work.
27904
27905Sun Dec 12 21:24:44 GMT 2004  Olly Betts <olly@survex.com>
27906
27907	* xapian.spec.in: %makeinstall puts the wrong paths in the .la files
27908	  so use "make DESTDIR=... install" instead.
27909
27910Wed Dec 08 15:59:44 GMT 2004  Olly Betts <olly@survex.com>
27911
27912	* NEWS: Bumped the 0.8.4 release date.
27913
27914Wed Dec 08 15:32:46 GMT 2004  Olly Betts <olly@survex.com>
27915
27916	* xapian-config.in: Make sure that --libs output doesn't include
27917	  libxapian.la (from libxapianqueryparser.la's dependencies).
27918
27919Tue Dec 07 18:18:26 GMT 2004  Olly Betts <olly@survex.com>
27920
27921	* backends/quartz/quartz_log.cc: Fixed to compile on mingw.
27922
27923Tue Dec 07 15:57:44 GMT 2004  Olly Betts <olly@survex.com>
27924
27925	* NEWS: Updated.
27926	* api/omdatabase.cc,backends/database.cc,bin/omtcpsrv.cc,
27927	  common/database.h,docs/,include/xapian/database.h,tests/api_db.cc:
27928	  Added constructors to Database and WritableDatabase which fulfil the
27929	  role that the Auto::open() factory functions currently do.
27930	  Auto::open() is now deprecated.
27931	* api/,backends/inmemory/inmemory_database.cc,
27932	  backends/quartz/quartz_database.cc,backends/quartz/quartz_postlist.h,
27933	  common/expandweight.h,common/stats.h,include/xapian.h:
27934	  #include <xapian.h> no longer pulls in xapian/output.h - this
27935	  removes the external ability to write a Xapian object to an
27936	  ostream directly, as it's little used and potentially dangerous
27937	  ('cout << mset[i];' will compile, but you almost certainly meant
27938	  'cout << *mset[i];').  You can get the old effect by writing
27939	  'cout << obj->get_description();' instead of 'cout << obj;'.
27940	  Adjusted all the library sources which relied on xapian/output.h
27941	  pulling in various other xapian/ headers.
27942	* backends/muscat36/da_database.cc,backends/muscat36/db_database.cc:
27943	  Debug output tweaks.
27944	* common/emptypostlist.h,matcher/mergepostlist.cc,matcher/multimatch.cc:
27945	  Added EmptyPostList::get_maxweight() which always returns 0, so you
27946	  no longer need to explicitly set a weighting scheme on an
27947	  EmptyPostList.
27948	* common/omdebug.h: Only include omstringstream.h if
27949	  XAPIAN_DEBUG_VERBOSE is in effect.
27950	* extra/Makefile.am: queryparsertest needs to link to libxapian.la
27951	  explicitly.
27952	* net/progclient.cc: Whitespace tweak.
27953	* testsuite/: Eliminated barely used sources indexer.h,
27954	  textfile_indexer.h, and textfile_indexer.cc.
27955	* testsuite/backendmanager.cc: Removed unused functions
27956	  make_strvec() and index_file_to_database().
27957
27958Wed Dec 01 07:15:46 GMT 2004  Olly Betts <olly@survex.com>
27959
27960	* PLATFORMS: SF CF x86_64 machine no longer needs --disable-shared.
27961
27962Tue Nov 30 21:53:33 GMT 2004  Olly Betts <olly@survex.com>
27963
27964	* NEWS,PLATFORMS,configure.ac: Updated for 0.8.4 release.
27965
27966Tue Nov 30 03:07:43 GMT 2004  Olly Betts <olly@survex.com>
27967
27968	* configure.ac,backends/database.cc,backends/quartz/bcursor.cc,
27969	  backends/quartz/quartz_database.cc,
27970	  backends/quartz/quartz_postlist.cc,common/omassert.h,
27971	  common/omdebug.cc,common/omdebug.h,docs/doxygen_full_conf.in,
27972	  matcher/localmatch.cc,matcher/multimatch.cc,matcher/stats.cc,
27973	  tests/apitest.cc,tests/btreetest.cc,testsuite/backendmanager.cc,
27974	  testsuite/backendmanager.h,testsuite/testsuite.cc: Rename all the
27975	  MUS_xxx defines to XAPIAN_xxx.
27976
27977Tue Nov 30 02:36:33 GMT 2004  Olly Betts <olly@survex.com>
27978
27979	* configure.ac,backends/quartz/btree.cc: Get configure to probe for
27980	  the prototypes (if any) needed for pread and pwrite.
27981
27982Tue Nov 30 01:09:26 GMT 2004  Olly Betts <olly@survex.com>
27983
27984	* backends/quartz/btree.cc: Instead of trying to coax pread/pwrite
27985	  prototypes out of the system headers, let's try just providing our
27986	  own!
27987
27988Mon Nov 29 19:51:13 GMT 2004  Olly Betts <olly@survex.com>
27989
27990	* extra/Makefile.am: Moved -no-undefined to the right place, plus we
27991	  also need to pass @ldflags@ and ../libxapian.la in
27992	  libxapianqueryparser_la_LIBADD.
27993
27994Mon Nov 29 18:28:57 GMT 2004  Olly Betts <olly@survex.com>
27995
27996	* AUTHORS: Updated.
27997
27998Mon Nov 29 18:27:12 GMT 2004  Olly Betts <olly@survex.com>
27999
28000	* extra/Makefile.am: Added -no-undefined to
28001	  libxapianqueryparser_la_LDFLAGS so it builds on mingw.
28002
28003Mon Nov 29 17:46:54 GMT 2004  Olly Betts <olly@survex.com>
28004
28005	* tests/Makefile.am: Don't try to run "runtest" as a test - it just
28006	  needs to be a dependency of the tests.
28007
28008Sat Nov 27 02:58:28 GMT 2004  Olly Betts <olly@survex.com>
28009
28010	* backends/inmemory/dir_contents: Trimmed whitespace.
28011
28012Sat Nov 27 02:05:51 GMT 2004  Olly Betts <olly@survex.com>
28013
28014	* NEWS: Updated ready for 0.8.4 release.
28015
28016Sat Nov 27 02:03:40 GMT 2004  Olly Betts <olly@survex.com>
28017
28018	* tests/Makefile.am: Added a dependency so "make check" regenerates
28019	  runtest if necessary.
28020
28021Sat Nov 27 02:02:58 GMT 2004  Olly Betts <olly@survex.com>
28022
28023	* AUTHORS: Updated.
28024
28025Sat Nov 27 01:59:18 GMT 2004  Olly Betts <olly@survex.com>
28026
28027	* README: Minor tweak.
28028
28029Sat Nov 27 01:58:53 GMT 2004  Olly Betts <olly@survex.com>
28030
28031	* configure.ac: Improved a couple of comments.
28032
28033Sat Nov 27 01:42:32 GMT 2004  Olly Betts <olly@survex.com>
28034
28035	* docs/: Trimmed trailing whitespace.
28036
28037Sat Nov 27 01:41:33 GMT 2004  Olly Betts <olly@survex.com>
28038
28039	* docs/stemming.html: Reworded text from BrightStation times which
28040	  talked about "the open source release".
28041
28042Fri Nov 26 17:32:55 GMT 2004  Olly Betts <olly@survex.com>
28043
28044	* docs/indexerquickstart.html: Removed dead documentation.
28045
28046Fri Nov 26 17:11:19 GMT 2004  Olly Betts <olly@survex.com>
28047
28048	* PLATFORMS: Updated with new cygwin report.
28049
28050Fri Nov 26 17:07:21 GMT 2004  Olly Betts <olly@survex.com>
28051
28052	* tests/api_anydb.cc,tests/api_nodb.cc,docs/bm25.html,
28053	  include/xapian/enquire.h,matcher/bm25weight.cc: Renamed BM25
28054	  parameters to match standard naming in papers and elsewhere
28055	  (A->k3, B->k1, C->k2, D->b), eliminated the extra factor of 2
28056	  which our C had, and reordered the parameters to k1, k2, k3.
28057	  This is an incompatible API change for BM25Weight(), so if
28058	  you are using custom parameters for BM25 you'll need to
28059	  update your code.
28060
28061Fri Nov 26 15:20:16 GMT 2004  Olly Betts <olly@survex.com>
28062
28063	* tests/runtest.in: Allow VALGRIND environmental variable to override
28064	  the value we got from configure.
28065
28066Fri Nov 26 03:50:36 GMT 2004  Olly Betts <olly@survex.com>
28067
28068	* matcher/bm25weight.cc,matcher/tradweight.cc: termfreq is always
28069	  exact for matching (we only approximate it for query expansion)
28070	  so replace code to work around bad approximations with Assert() to
28071	  make sure this never happens.
28072
28073Fri Nov 26 00:19:22 GMT 2004  Olly Betts <olly@survex.com>
28074
28075	* matcher/expandweight.cc,matcher/tradweight.cc: If we estimate the
28076	  term frequency, ensure it has a sane value (>= r and <= N - R + r)
28077	  rather than bodging around the problem later on.
28078
28079Thu Nov 25 01:29:36 GMT 2004  Olly Betts <olly@survex.com>
28080
28081	* backends/quartz/quartz_database.cc: Fixed recent cygwin change to
28082	  actually compile.
28083
28084Thu Nov 25 01:06:03 GMT 2004  Olly Betts <olly@survex.com>
28085
28086	* bin/quartzcompact.cc: Added --help and --version; Check that the
28087	  source path and desitination path aren't the same; Report each table
28088	  name when we start compacting it, and some simple stats on the
28089	  compaction achieved when we finish.
28090
28091Tue Nov 23 16:19:09 GMT 2004  Olly Betts <olly@survex.com>
28092
28093	* configure.ac: Fixed m4 quoting problem.
28094
28095Tue Nov 23 12:47:54 GMT 2004  Olly Betts <olly@survex.com>
28096
28097	* configure.ac: Fix the test for GCC3 used to turn on -Werror with
28098	  --enable-maintainer-mode.
28099
28100Mon Nov 22 03:08:10 GMT 2004  Olly Betts <olly@survex.com>
28101
28102	* PLATFORMS: Assorted updates.
28103
28104Mon Nov 22 02:15:22 GMT 2004  Olly Betts <olly@survex.com>
28105
28106	* tests/quartztest.cc: Test with DB_CREATE_OR_OPEN in writelock1.
28107
28108Mon Nov 22 01:37:13 GMT 2004  Olly Betts <olly@survex.com>
28109
28110	* common/utils.cc: define NOMINMAX as a cleaner way to prevent
28111	  windows.h from polluting the namespace and colliding with ANSI C++.
28112
28113Sat Nov 20 14:36:43 GMT 2004  Olly Betts <olly@survex.com>
28114
28115	* tests/runtest.in: --logfile-fd was renamed to --log-fd in valgrind
28116	  2.1.2 with no support for the old option name, so we must probe
28117	  to decide which to use.
28118
28119Fri Nov 19 13:18:43 GMT 2004  Olly Betts <olly@survex.com>
28120
28121	* backends/quartz/bcursor.cc,backends/quartz/bcursor.h: Eliminated
28122	  Bcursor::get_tag() - it's an internal method only used from one
28123	  other method, and it now just a trivial wrapper around
28124	  Btree::read_tag().
28125
28126Fri Nov 19 04:20:39 GMT 2004  Olly Betts <olly@survex.com>
28127
28128	* backends/quartz/bcursor.cc,backends/quartz/btree.cc,
28129	  backends/quartz/btree.h: Factored out near identical code from
28130	  Btree::find_tag() and Bcursor::get_tag() into Btree::read_tag().
28131
28132Thu Nov 18 03:27:52 GMT 2004  Olly Betts <olly@survex.com>
28133
28134	* backends/quartz/btree.cc: Applied the Quartz "DANGEROUS" patch, but
28135	  disabled for now.  This way it won't keep being broken by changes
28136	  to the code.
28137
28138Tue Nov 16 04:29:25 GMT 2004  Olly Betts <olly@survex.com>
28139
28140	* backends/quartz/btree.cc: Ah, it's __sun__/__sun/sun, not
28141	  __solaris__ (at least for x86 Solaris 9).
28142
28143Tue Nov 16 02:56:44 GMT 2004  Olly Betts <olly@survex.com>
28144
28145	* backends/quartz/btree.cc: Solaris defines __solaris__ not
28146	  __SOLARIS__.
28147
28148Mon Nov 15 12:40:38 GMT 2004  Olly Betts <olly@survex.com>
28149
28150	* tests/api_db.cc: Added new test userweight1 to test user defined
28151	  matching schemes.
28152
28153Sun Nov 14 05:20:34 GMT 2004  Olly Betts <olly@survex.com>
28154
28155	* backends/quartz/quartz_metafile.cc,
28156	  backends/quartz/quartz_metafile.h: Removed unused
28157	  QuartzMetaFile::erase() method.
28158
28159Sun Nov 14 04:55:05 GMT 2004  Olly Betts <olly@survex.com>
28160
28161	* backends/quartz/quartz_database.cc: For cygwin, use the underlying
28162	  MoveFile API call for locking, as link() doesn't work on FAT
28163	  partitions.  And don't rely on HAVE_LINK to control whether we
28164	  use link() otherwise - if the configure test somehow misfires, a
28165	  compilation error is better than using rename() on Unix as that
28166	  would cause a second writer to smash the lock of the first.
28167
28168Thu Nov 11 06:58:41 GMT 2004  Olly Betts <olly@survex.com>
28169
28170	* backends/quartz/btree.cc: Removed superfluous statement.
28171
28172Tue Nov 09 23:50:10 GMT 2004  Olly Betts <olly@survex.com>
28173
28174	* backends/quartz/btree.cc: Need to include sys/types.h to define
28175	  ssize_t, size_t, and off_t before we prototype pread and pwrite
28176	  for OSF.
28177
28178Tue Nov 09 22:39:00 GMT 2004  Olly Betts <olly@survex.com>
28179
28180	* backends/quartz/btree.cc: Tweaked the pread/pwrite mess to try to
28181	  get it to work on OSF and x86 Solaris while not breaking it
28182	  elsewhere.
28183
28184Tue Nov 09 19:29:37 GMT 2004  Olly Betts <olly@survex.com>
28185
28186	* backends/quartz/btree.cc,backends/quartz/btree.h: More refactoring.
28187
28188Tue Nov 09 17:13:10 GMT 2004  Olly Betts <olly@survex.com>
28189
28190	* backends/quartz/: More refactoring.  Also rearranged the contents
28191	  of the quartz and btree headers, eliminating btree_types.h in the
28192	  process.
28193
28194Tue Nov 09 16:47:13 GMT 2004  Olly Betts <olly@survex.com>
28195
28196	* backends/quartz/quartz_metafile.cc: Using fdcloser is less clear in
28197	  trivial cases.
28198
28199Tue Nov 09 16:38:47 GMT 2004  Olly Betts <olly@survex.com>
28200
28201	* backends/quartz/quartz_database.cc: Close the fd of the lock file
28202	  before trying to rename it on Windows.
28203
28204Tue Nov 09 07:58:02 GMT 2004  Olly Betts <olly@survex.com>
28205
28206	* backends/quartz/btree.cc,backends/quartz/btree.h,
28207	  backends/quartz/btree_util.h: More refactoring.
28208
28209Tue Nov 09 03:24:59 GMT 2004  Olly Betts <olly@survex.com>
28210
28211	* xapian-config.in: Added --swigflags option for use with SWIG.
28212
28213Mon Nov 08 22:54:55 GMT 2004  Olly Betts <olly@survex.com>
28214
28215	* configure.ac,xapian-config.in: If flags are needed to select ANSI
28216	  mode with the current compiler, then make xapian-config --cxxflags
28217	  include them so that Xapian users don't have to jump through the
28218	  same hoops we do.
28219
28220Mon Nov 08 04:49:21 GMT 2004  Olly Betts <olly@survex.com>
28221
28222	* backends/inmemory/inmemory_database.cc,
28223	  backends/inmemory/inmemory_database.h,backends/muscat36/,
28224	  backends/net/net_database.cc,backends/quartz/quartz_database.cc,
28225	  backends/quartz/quartz_database.h,common/database.h,
28226	  common/net_database.h,matcher/localmatch.cc: If a database contains
28227	  no positional information, change NEAR and PHRASE queries into AND
28228	  queries (as otherwise they'd return no matches at all) (bug#56).
28229	* tests/api_wrdb.cc: Added feature test phraseorneartoand1.
28230
28231Mon Nov 08 04:09:04 GMT 2004  Olly Betts <olly@survex.com>
28232
28233	* configure.ac,backends/quartz/btree.cc: Improved what we do to
28234	  turn on pread and pwrite declarations in unistd.h so that it works
28235	  on OSF and doesn't need the HAVE_GLIBC test, yet still works on
28236	  OpenBSD.
28237
28238Mon Nov 08 03:55:51 GMT 2004  Olly Betts <olly@survex.com>
28239
28240	* backends/quartz/,testsuite/btreecheck.cc: More refactoring.
28241
28242Sun Nov 07 20:42:32 GMT 2004  Olly Betts <olly@survex.com>
28243
28244	* configure.ac: One more tweak.
28245
28246Sun Nov 07 18:18:19 GMT 2004  Olly Betts <olly@survex.com>
28247
28248	* configure.ac,include/xapian/version.h.in: Another tweak to hopefully
28249	  get version.h generation to work everywhere.
28250
28251Sun Nov 07 15:01:23 GMT 2004  Olly Betts <olly@survex.com>
28252
28253	* configure.ac,include/xapian/version.h.in: Terminating lines with 'N'
28254	  makes Sun's C++ unhappy.  Try ',' instead.
28255
28256Sun Nov 07 03:54:42 GMT 2004  Olly Betts <olly@survex.com>
28257
28258	* tests/api_nodb.cc: Added test_weight1 which tests the built-in
28259	  Xapian::Weight subclasses (bug#8).
28260
28261Sun Nov 07 03:36:19 GMT 2004  Olly Betts <olly@survex.com>
28262
28263	* backends/quartz/btree.cc,backends/quartz/btree_util.h,
28264	  testsuite/btreecheck.cc: More refactoring.
28265
28266Sun Nov 07 03:33:24 GMT 2004  Olly Betts <olly@survex.com>
28267
28268	* matcher/bm25weight.cc,matcher/tradweight.cc: Fixed definitions to
28269	  match declarations after recent change.
28270
28271Sun Nov 07 02:33:50 GMT 2004  Olly Betts <olly@survex.com>
28272
28273	* configure.ac: Noted LIBRARY_VERSION_INFO which 0.8.4 will get.
28274
28275Sun Nov 07 02:28:38 GMT 2004  Olly Betts <olly@survex.com>
28276
28277	* include/xapian/enquire.h: BoolWeight::unserialise() returns
28278	  BoolWeight*, etc.  BoolWeight::clone() returns BoolWeight *.
28279
28280Sun Nov 07 02:24:17 GMT 2004  Olly Betts <olly@survex.com>
28281
28282	* HACKING: Note that C++ style casts are preferable to C style casts;
28283	  Improve wording in a few places.
28284
28285Sun Nov 07 01:05:58 GMT 2004  Olly Betts <olly@survex.com>
28286
28287	* backends/quartz/btree.cc,backends/quartz/btree_util.h,
28288	  testsuite/btreecheck.cc: Moved set_block_given_by()
28289	  and block_given_by() into Item class.
28290
28291Sat Nov 06 21:16:15 GMT 2004  Olly Betts <olly@survex.com>
28292
28293	* configure.ac,include/xapian/version.h.in: Fix generation of
28294	  version.h to work with aCC -E which concatenates adjacent literal
28295	  strings.
28296
28297Sat Nov 06 20:58:00 GMT 2004  Olly Betts <olly@survex.com>
28298
28299	* backends/quartz/,testsuite/btreecheck.cc: Started to refactor the
28300	  Btree manager by introducing Item and Key classes which take care
28301	  of handling the on-disk format.
28302
28303Sat Nov 06 15:40:05 GMT 2004  Olly Betts <olly@survex.com>
28304
28305	* xapian-config.in,m4/xapian.m4: Pass across ac_top_srcdir and use it
28306	  if provided to say "configure.ac" or "configure.in" rather than
28307	  "configure.in (or configure.ac)" in the "Add AC_PROG_LIBTOOL"
28308	  error message.
28309
28310Sat Nov 06 14:49:05 GMT 2004  Olly Betts <olly@survex.com>
28311
28312	* configure.ac: Updated comment - we now find SOURCEDOC in 2 goes (as
28313	  there are no longer any C sources).
28314
28315Sat Nov 06 14:43:16 GMT 2004  Olly Betts <olly@survex.com>
28316
28317	* configure.ac: Oops, STLPORT_CXXFLAGS *is* used (in xapian-config.in)
28318	  so revert the change which removes it.
28319
28320Sat Nov 06 13:37:23 GMT 2004  Olly Betts <olly@survex.com>
28321
28322	* include/xapian/enquire.h,matcher/bm25weight.cc,
28323	  matcher/tradweight.cc: Move virtual methods of BM25Weight and
28324	  TradWeight out of the header.
28325
28326Sat Nov 06 13:19:32 GMT 2004  Olly Betts <olly@survex.com>
28327
28328	* configure.ac,include/xapian/version.h.in: Another rework of how
28329	  include/xapian/version.h is generated - this time to make it work
28330	  with Sun's C++ compiler again; XAPIAN_VERSION is now a string;
28331	  Define XAPIAN_REVISION (which is 4 for version 0.8.4).
28332
28333Sat Nov 06 04:22:57 GMT 2004  Olly Betts <olly@survex.com>
28334
28335	* configure.ac: Don't AC_SUBST(STLPORT_CXXFLAGS) as it is never used
28336	  that way (it's included in AM_CXXFLAGS).
28337
28338Sat Nov 06 01:03:53 GMT 2004  Olly Betts <olly@survex.com>
28339
28340	* testsuite/testsuite.h: Removed incorrect comment about how STRINGIZE
28341	  is used.
28342
28343Fri Nov 05 14:41:59 GMT 2004  Olly Betts <olly@survex.com>
28344
28345	* include/xapian/database.h: Removed a default parameter value from one
28346	  variant of open_db so that there's only one candidate for
28347	  open_db(string).
28348
28349Fri Nov 05 14:40:38 GMT 2004  Olly Betts <olly@survex.com>
28350
28351	* backends/database.cc: Renamed parameter from keys to values to
28352	  reflect current external naming.
28353
28354Fri Nov 05 14:38:07 GMT 2004  Olly Betts <olly@survex.com>
28355
28356	* include/xapian/version.h.in,configure.ac: Fixed generation of
28357	  include/xapian/version.h to work with aCC.
28358
28359Thu Nov 04 12:17:50 GMT 2004  Olly Betts <olly@survex.com>
28360
28361	* configure.ac: Try "-std strict_ansi" for Compaq C++.
28362
28363Thu Nov 04 11:22:52 GMT 2004  Olly Betts <olly@survex.com>
28364
28365	* configure.ac: Fourth argument to AC_CHECK_HEADERS must be non-empty
28366	  to make a difference.
28367
28368Thu Nov 04 10:21:25 GMT 2004  Olly Betts <olly@survex.com>
28369
28370	* configure.ac: Found clean fix for inttypes.h problem (previous bodge
28371	  didn't work anyway).
28372
28373Thu Nov 04 01:18:55 GMT 2004  Olly Betts <olly@survex.com>
28374
28375	* configure.ac: Eliminated use of \( \) in sed expression as it
28376	  appears to cause problems on HP-UX.
28377
28378Thu Nov 04 00:54:11 GMT 2004  Olly Betts <olly@survex.com>
28379
28380	* configure.ac: Added icky workaround to Compaq C++ oddness - cc can
28381	  find inttypes.h but cxx can't.
28382
28383Wed Nov 03 23:58:48 GMT 2004  Olly Betts <olly@survex.com>
28384
28385	* api/omenquire.cc,common/multimatch.h,matcher/multimatch.cc,
28386	  net/socketserver.cc: Tweaked to compile with Compaq C++.
28387
28388Wed Nov 03 22:55:04 GMT 2004  Olly Betts <olly@survex.com>
28389
28390	* configure.ac: Need to put flags to select ANSI C++ mode in CXXFLAGS
28391	  not AM_CXXFLAGS.
28392
28393Wed Nov 03 22:27:08 GMT 2004  Olly Betts <olly@survex.com>
28394
28395	* api/omenquire.cc: Fixed typo.
28396
28397Wed Nov 03 21:58:53 GMT 2004  Olly Betts <olly@survex.com>
28398
28399	* api/omenquire.cc: Added explicit cast to try to help Compaq C++
28400	  build.
28401
28402Wed Nov 03 21:38:29 GMT 2004  Olly Betts <olly@survex.com>
28403
28404	* configure.ac: Probe for C++ compiler switches for ANSI mode as early
28405	  as possible.  With Compaq's C++, we need -D__USE_STD_IOSTREAM to
28406	  successfully #include <streambuf>.
28407
28408Wed Nov 03 21:07:43 GMT 2004  Olly Betts <olly@survex.com>
28409
28410	* configure.ac: Fixed snprintf configure test.
28411
28412Wed Nov 03 19:37:32 GMT 2004  Olly Betts <olly@survex.com>
28413
28414	* common/utils.cc: Fixed typo.
28415
28416Wed Nov 03 19:27:22 GMT 2004  Olly Betts <olly@survex.com>
28417
28418	* configure.ac,common/utils.cc: Improved snprintf checking.
28419
28420Wed Nov 03 15:43:54 GMT 2004  Olly Betts <olly@survex.com>
28421
28422	* getopt/getopt.cc: Fixed to compile when not using glibc.
28423
28424Wed Nov 03 14:55:29 GMT 2004  Olly Betts <olly@survex.com>
28425
28426	* bin/omtcpsrv.cc,bin/quartzdump.cc,common/Makefile.am,common/getopt.h,
28427	  common/gnu_getopt.h,getopt/,testsuite/testsuite.cc: Major overhaul
28428	  of getopt use.  Move from getopt(), getopt_long(), getopt_long_only()
28429	  to gnu_getopt(), etc so we don't need to dance around avoiding
28430	  clashes with getopt() stuff in system headers.  The new gnu_getopt.h
28431	  header is cruft free and hopefully won't trip up assorted compilers
28432	  or platforms.
28433
28434Wed Nov 03 14:53:39 GMT 2004  Olly Betts <olly@survex.com>
28435
28436	* tests/Makefile.am: quartztest doesn't use getopt directly, so no
28437	  need to link it.
28438
28439Wed Nov 03 12:56:56 GMT 2004  Olly Betts <olly@survex.com>
28440
28441	* tests/stemtest.cc: Prune unused #includes.
28442
28443Wed Nov 03 03:47:46 GMT 2004  Olly Betts <olly@survex.com>
28444
28445	* getopt/getopt.cc: Defining _NO_PROTO is a really bad idea for C++
28446	  code!
28447
28448Wed Nov 03 03:34:06 GMT 2004  Olly Betts <olly@survex.com>
28449
28450	* configure.ac: Removed AC_HEADER_STDC - Compaq's C++ compiler can't
28451	  find inttypes.h, but their C compiler can!
28452
28453Wed Nov 03 02:48:04 GMT 2004  Olly Betts <olly@survex.com>
28454
28455	* net/tcpclient.cc,net/tcpserver.cc: Use SOCKLEN_T for the type we
28456	  need to pass to various socket calls, since HPUX defines socklen_t
28457	  yet wants int in those calls.
28458
28459Wed Nov 03 02:43:26 GMT 2004  Olly Betts <olly@survex.com>
28460
28461	* autoconf/type_socklen_t.m4,matcher/networkmatch.cc,net/: If
28462	  __WIN32__ is defined, we want winsock2.h instead of sys/socket.h.
28463	  Mingw doesn't seem to even have the latter, so I think previously
28464	  we've been compiling by picking one up from somewhere random!
28465
28466Wed Nov 03 01:10:01 GMT 2004  Olly Betts <olly@survex.com>
28467
28468	* autoconf/type_socklen_t.m4: Rewritten to work with HPUX which
28469	  helpfully defines socklen_t but doesn't use it!
28470
28471Tue Nov 02 21:29:40 GMT 2004  Olly Betts <olly@survex.com>
28472
28473	* getopt/getopt.cc: Fixes for Compaq C++.
28474
28475Tue Nov 02 18:51:43 GMT 2004  Olly Betts <olly@survex.com>
28476
28477	* getopt/getopt.cc: Protect getopt definition for possible getopt
28478	  macro declared in getopt.h.
28479
28480Tue Nov 02 16:52:21 GMT 2004  Olly Betts <olly@survex.com>
28481
28482	* configure.ac: AM_CONFIG_HEADER -> AC_CONFIG_HEADERS; removed
28483	  commented out AC_LANG_SAVE and AC_LANG_RESTORE.
28484
28485Tue Nov 02 15:56:02 GMT 2004  Olly Betts <olly@survex.com>
28486
28487	* configure.ac: # comments -> dnl comments.
28488
28489Tue Nov 02 15:54:46 GMT 2004  Olly Betts <olly@survex.com>
28490
28491	* configure.ac: $GCC -> $GXX; $CC -> $CXX.
28492
28493Tue Nov 02 15:38:21 GMT 2004  Olly Betts <olly@survex.com>
28494
28495	* configure.ac,docs/Makefile.am: Removed SOURCEDOC_C_SRC.
28496
28497Tue Nov 02 06:51:39 GMT 2004  Olly Betts <olly@survex.com>
28498
28499	* getopt/getopt.cc,getopt/getopt1.cc: Fixed function declarations to
28500	  not use K&R C syntax.
28501
28502Tue Nov 02 05:31:57 GMT 2004  Olly Betts <olly@survex.com>
28503
28504	* getopt/getopt.cc: Make _getopt_internal extern "C" too.
28505
28506Tue Nov 02 04:43:08 GMT 2004  Olly Betts <olly@survex.com>
28507
28508	* Makefile.am,configure.ac,HACKING,PLATFORMS,backends/muscat36/,
28509	  getopt/Makefile.am,getopt/getopt.cc,getopt/getopt1.cc,languages/:
28510	  Change the few C sources to be C++.  This way we don't need to
28511	  worry about configure choosing a mismatching pair of compilers,
28512	  or about whether configure tests with the C compiler don't apply
28513	  to the C++ compiler, or vice versa.
28514
28515Tue Nov 02 04:31:49 GMT 2004  Olly Betts <olly@survex.com>
28516
28517	* backends/muscat36/: More C casts converted to C++ casts.
28518
28519Tue Nov 02 04:28:07 GMT 2004  Olly Betts <olly@survex.com>
28520
28521	* matcher/bm25weight.cc,matcher/tradweight.cc: More C casts converted
28522	  to C++ casts.
28523
28524Tue Nov 02 03:22:52 GMT 2004  Olly Betts <olly@survex.com>
28525
28526	* backends/muscat36/: Removed unused test harness sources.
28527
28528Tue Nov 02 02:44:34 GMT 2004  Olly Betts <olly@survex.com>
28529
28530	* languages/pool.c,languages/pool.h: Removed unused sources.
28531
28532Tue Nov 02 01:51:30 GMT 2004  Olly Betts <olly@survex.com>
28533
28534	* configure.ac: AC_TYPE_SIZE_T causes problems with Compaq C++ when it
28535	  fails to spot size_t (which is there) and the "#define size_t
28536	  unsigned long" it adds to config.h breaks "using std::size_t;".
28537	  Also removed AC_C_CONST as I don't believe that's needed either
28538	  in a largely C++ library.  Both of these have been in configure.in
28539	  since the very first version so I suspect autoscan decided we wanted
28540	  them.
28541
28542Mon Nov 01 05:44:02 GMT 2004  Olly Betts <olly@survex.com>
28543
28544	* matcher/multimatch.cc: Fixed compilation problem on alpha Linux.
28545
28546Mon Nov 01 03:16:36 GMT 2004  Olly Betts <olly@survex.com>
28547
28548	* api/omqueryinternal.cc,api/omstem.cc,
28549	  backends/inmemory/inmemory_database.h,
28550	  backends/multi/multi_termlist.h,backends/quartz/,
28551	  extra/queryparser.yy,matcher/,net/tcpserver.cc,tests/api_anydb.cc,
28552	  tests/api_db.cc,tests/quartztest.cc,testsuite/backendmanager.cc,
28553	  testsuite/btreecheck.cc,testsuite/testsuite.cc: Changed C style
28554	  casts to C++ style.  The syntax is ugly, but they do make the intent
28555	  clearer which is a good thing.
28556
28557Mon Nov 01 02:56:31 GMT 2004  Olly Betts <olly@survex.com>
28558
28559	* configure.ac: Select ANSI iostream implementation for Compaq C++.
28560
28561Mon Nov 01 02:41:58 GMT 2004  Olly Betts <olly@survex.com>
28562
28563	* configure.ac: Compaq's C++ compiler doesn't know snprintf, yet their
28564	  C compiler does.  Let's try running *all* the configure checks with
28565	  the C++ compiler, since that's what we compile most code with.
28566
28567Mon Nov 01 01:12:43 GMT 2004  Olly Betts <olly@survex.com>
28568
28569	* common/netutils.cc: Fixed to compile.
28570
28571Mon Nov 01 01:06:13 GMT 2004  Olly Betts <olly@survex.com>
28572
28573	* common/Makefile.am,common/netutils.cc,common/netutils.h:
28574	  encode_tname() and decode_tname() aren't really sensible candidates
28575	  for inlining so move them out of a header.
28576
28577Sun Oct 31 15:34:18 GMT 2004  Olly Betts <olly@survex.com>
28578
28579	* configure.ac: Turn on -AA when compiling with HP's aCC.
28580
28581Sun Oct 31 15:10:02 GMT 2004  Olly Betts <olly@survex.com>
28582
28583	* testsuite/testutils.cc: Fixed mset_range_is_same() and
28584	  mset_range_is_same_weights() which were only comparing the
28585	  first items in the range.  Luckily the tests still all pass
28586	  so this wasn't hiding any bugs.
28587
28588Sat Oct 30 19:15:48 BST 2004  Olly Betts <olly@survex.com>
28589
28590	* configure.ac: Disable pread/pwrite on HP-UX as they don't work when
28591	  LFS in enabled, and we definitely want LFS.
28592
28593Sat Oct 30 16:42:24 BST 2004  Olly Betts <olly@survex.com>
28594
28595	* backends/quartz/bcursor.cc: Fix Bcursor::del() which didn't always
28596	  leave the cursor on the next item like it should.
28597	* backends/quartz/quartz_postlist.cc: If we're removing a posting
28598	  list entirely, often there will only be one chunk, so avoid
28599	  creating a Bcursor in this case.
28600
28601Sat Oct 30 16:55:19 BST 2004  Olly Betts <olly@survex.com>
28602
28603	* languages/header.h: Removed unused #define MAXINT and MININT which
28604	  were clashing with some header on HP-UX.
28605
28606Sat Oct 30 07:09:33 BST 2004  Olly Betts <olly@survex.com>
28607
28608	* docs/bm25.html,docs/intro_ir.html: Reworked to talk about Xapian
28609	  rather than Muscat.  Also improved the appearance of the formulae.
28610
28611Sat Oct 30 06:07:14 BST 2004  Olly Betts <olly@survex.com>
28612
28613	* backends/quartz/btree.cc: Btree::read_block - debug log the value
28614	  of p, not the irrelevant contents of the block it points to.
28615
28616Fri Oct 29 22:37:31 BST 2004  Olly Betts <olly@survex.com>
28617
28618	* backends/quartz/quartz_postlist.cc: Improved comments.
28619
28620Fri Oct 29 05:10:02 BST 2004  Olly Betts <olly@survex.com>
28621
28622	* backends/quartz/btree.cc: Fixed ultra-obscure bug in the code which
28623	  finds a key suitable to discriminating between two blocks in a
28624	  B-tree branch (discovered by reading the code).  Comparing the keys
28625	  didn't consider the length of the second, so it is possible the code
28626	  would miscompare.  But in reality this is extremely unlikely to
28627	  happen, and even then would probably just mean that the
28628	  discriminating key wouldn't be as short as it could be.
28629
28630Fri Oct 29 04:12:09 BST 2004  Olly Betts <olly@survex.com>
28631
28632	* backends/quartz/btree.cc: Simplified Btree::compare_keys() by
28633	  removing the last case which was dead code as it was covered by
28634	  an earlier case.
28635
28636Wed Oct 27 21:17:12 BST 2004  Olly Betts <olly@survex.com>
28637
28638	* HACKING,tests/runtest.in:
28639	  Enhanced runtest to allow it to run test programs under valgrind
28640	  and other tools (gdb was already supported).
28641	* testsuite/testsuite.cc: Point the user to the runtest script if
28642	  srcdir can't be guessed.  And no longer look for the test program
28643	  in the tests subdirectory of the current directory.
28644	* common/omdebug.cc: Removed compatibility code for checking
28645	  OM_DEBUG_FILE and OM_DEBUG_TYPES.
28646	* HACKING: Document that %% in XAPIAN_DEBUG_LOG is substituted with
28647	  the process-id, and that setting XAPIAN_DEBUG_FLAGS to -1 enables
28648	  all debug messages.
28649	* HACKING: Valgrind now supports x86 FreeBSD and PowerPC Linux.
28650	* HACKING: Removed mentions of long-dead configure options
28651	  --enable-profiling, --enable-purify and --enable-insure.
28652
28653Wed Oct 27 21:16:10 BST 2004  Olly Betts <olly@survex.com>
28654
28655	* include/xapian/enquire.h: Document parameters of
28656	  Enquire::register_match_decider().
28657
28658Wed Oct 27 21:14:32 BST 2004  Olly Betts <olly@survex.com>
28659
28660	* PLATFORMS: Updated.
28661
28662Wed Oct 13 20:21:38 BST 2004  Olly Betts <olly@survex.com>
28663
28664	* backends/quartz/btree.cc,backends/quartz/btree.h: Revert the
28665	  previous change as runtime sized arrays are a g++ extension.
28666	  Calling new and delete on every call to add_item() is probably
28667	  unwise.
28668
28669Tue Oct 12 23:40:36 BST 2004  Olly Betts <olly@survex.com>
28670
28671	* backends/quartz/btree.cc,backends/quartz/btree.h: split_p is only
28672	  used by Btree::add_item(), so make it a temporary in that method
28673	  rather than a class member variable which we need to take care to
28674	  allocate and deallocate.
28675
28676Mon Oct 11 16:32:10 BST 2004  Olly Betts <olly@survex.com>
28677
28678	* tests/btreetest.cc: Fix memory leaks in test_cursor1.
28679
28680Mon Oct 11 02:24:50 BST 2004  Olly Betts <olly@survex.com>
28681
28682	* docs/quartzdesign.html: Use 5 tables in the example for how we keep
28683	  revisions in step, since we use 5 tables in quartz.
28684
28685Thu Oct 07 22:51:28 BST 2004  Olly Betts <olly@survex.com>
28686
28687	* backends/quartz/btree.cc: An interrupted update could cause any
28688	  further updates to fail with "New revision too low" because the
28689	  new revision was being calculated incorrectly - fixed.
28690
28691Wed Oct 06 15:42:31 BST 2004  Olly Betts <olly@survex.com>
28692
28693	* backends/quartz/btree.cc,include/xapian/database.h: Check that any
28694	  user specified block size is a power of 2.  And if the block size
28695	  passed is invalid, use the default of 8192 rather than throwing an
28696	  exception.
28697
28698Wed Oct 06 12:19:39 BST 2004  Olly Betts <olly@survex.com>
28699
28700	* PLATFORMS: Updated from tinderbox.
28701
28702Wed Oct 06 01:10:46 BST 2004  Olly Betts <olly@survex.com>
28703
28704	* backends/quartz/btree.cc,backends/quartz/quartz_document.cc,
28705	  matcher/multimatch.cc,common/multimatch.h: Fix some warnings
28706	  from Sun's C++ compiler.
28707
28708Thu Sep 30 22:16:37 BST 2004  Olly Betts <olly@survex.com>
28709
28710	* common/utils.cc,common/utils.h: Fixes for win32 and sun's c++
28711	  compiler.
28712
28713Thu Sep 30 18:24:20 BST 2004  Olly Betts <olly@survex.com>
28714
28715	* common/utils.h,extra/queryparser.yy: Fixed bug which caused
28716	  misparsing of certain prefixed queries, introduced by C_isXXXXX
28717	  change.
28718
28719Thu Sep 30 11:09:17 BST 2004  Olly Betts <olly@survex.com>
28720
28721	* tests/api_anydb.cc: Modified version of changequery1 fails - the
28722	  fix is tricky, so just make it SKIP for now.
28723
28724Wed Sep 29 21:33:29 BST 2004  Olly Betts <olly@survex.com>
28725
28726	* extra/Makefile.am: Fixed to work when srcdir != builddir.
28727
28728Wed Sep 29 18:52:04 BST 2004  Olly Betts <olly@survex.com>
28729
28730	* PLATFORMS,docs/Makefile.am: Workaround odd latex problem.
28731
28732Wed Sep 29 17:10:00 BST 2004  Olly Betts <olly@survex.com>
28733
28734	* configure.ac,docs/doxygen_api_conf.in,docs/doxygen_full_conf.in:
28735	  Updated doxygen conf files for doxygen 1.3.8.
28736
28737Wed Sep 29 16:52:53 BST 2004  Olly Betts <olly@survex.com>
28738
28739	* common/utils.cc,common/utils.h,extra/Makefile.am,
28740	  extra/queryparser.yy,tests/api_anydb.cc,testsuite/index_utils.cc:
28741	  Provide our own C_isalpha(), etc replacements for isalpha(), etc
28742	  which always work in the C locale and avoid signed char problems.
28743
28744Tue Sep 28 00:04:11 BST 2004  Olly Betts <olly@survex.com>
28745
28746	* common/utils.cc,common/utils.h: rmdir() isn't a sensible candidate
28747	  for inlining so move it out of the header.
28748
28749Mon Sep 27 17:33:23 BST 2004  Olly Betts <olly@survex.com>
28750
28751	* extra/queryparser.yy: Be smarter about when to add a ':' when adding
28752	  a term prefix.
28753
28754Mon Sep 27 16:01:37 BST 2004  Olly Betts <olly@survex.com>
28755
28756	* docs/scalability.html: Added note warning about benchmarking from
28757	  cold.
28758
28759Mon Sep 27 15:20:13 BST 2004  Olly Betts <olly@survex.com>
28760
28761	* HACKING: Note that we use doxygen 1.3.8 for snapshots and releases;
28762	  Note that --enable-maintainer-mode now automatically enables -Werror
28763	  with GCC 3.0 or newer.
28764
28765Wed Sep 22 16:49:20 BST 2004  Olly Betts <olly@survex.com>
28766
28767	* matcher/: Pruned unneeded #include-s and other tidying, some
28768	  enabled by the previous change.
28769
28770Wed Sep 22 14:04:27 BST 2004  Olly Betts <olly@survex.com>
28771
28772	* common/positionlist.h,matcher/: Moved all of the implementations
28773	  of the XXXPostList classes from the .h files into the .cc files.
28774	  All the methods are virtual, so we aren't going to gain anything
28775	  from being able to inline them.
28776
28777Wed Sep 22 02:58:59 BST 2004  Olly Betts <olly@survex.com>
28778
28779	* configure.ac: Automatically add -Werror to CFLAGS and CXXFLAGS if
28780	  maintainer mode is enabled and we're using GCC3 or newer.  Don't
28781	  do this for older GCCs as GCC 2.95 issues spurious warnings.
28782
28783Wed Sep 22 02:41:41 BST 2004  Olly Betts <olly@survex.com>
28784
28785	* backends/quartz/quartz_record.cc,backends/quartz/quartz_utils.h:
28786	  Introduced CASSERT_TYPE_UNSIGNED to replace the common use of
28787	  CASSERT to assert at compile time that a type is unsigned.
28788
28789Tue Sep 21 15:58:05 BST 2004  Olly Betts <olly@survex.com>
28790
28791	* PLATFORMS: Removed reports from versions prior to 0.7.0.  So much
28792	  has changed that these are of little value.
28793
28794Mon Sep 20 15:24:27 BST 2004  Olly Betts <olly@survex.com>
28795
28796	* NEWS,PLATFORMS,configure.ac: Version 0.8.3.
28797
28798Mon Sep 20 15:13:34 BST 2004  Olly Betts <olly@survex.com>
28799
28800	* AUTHORS: Updated.
28801
28802Mon Sep 20 14:26:35 BST 2004  Olly Betts <olly@survex.com>
28803
28804	* xapian.spec.in: Removed reference to xapian-examples' createdatabase
28805	  (which is no longer in xapian-examples).
28806
28807Mon Sep 20 13:06:59 BST 2004  Olly Betts <olly@survex.com>
28808
28809	* xapian.spec.in: Updated version from Fabrice Colin (incorporating
28810	  changes from Alan Cox's RPM spec files): split off libs into a
28811	  separate package to allow 32 and 64 bit versions to be installed
28812	  concurrently; include binaries from xapian-examples; updated source
28813	  URLs.
28814
28815Mon Sep 20 03:25:44 BST 2004  Olly Betts <olly@survex.com>
28816
28817	* tests/api_anydb.cc: Added regression test for previous bug (test
28818	  checkatleast1).
28819
28820Mon Sep 20 03:16:14 BST 2004  Olly Betts <olly@survex.com>
28821
28822	* matcher/multimatch.cc: Fixed segfault with check_at_least when there
28823	  were no matches.
28824
28825Sun Sep 19 17:54:52 BST 2004  Olly Betts <olly@survex.com>
28826
28827	* api/omenquire.cc,common/omdebug.cc: Fixed to compile with debug
28828	  tracing enabled.
28829
28830Sat Sep 18 19:02:54 BST 2004  Olly Betts <olly@survex.com>
28831
28832	* tests/api_db.cc: Updated missed use of omprogsrv to xapian-progsrv.
28833
28834Tue Sep 14 18:09:19 BST 2004  Olly Betts <olly@survex.com>
28835
28836	* xapian.spec.in,bin/.cvsignore,bin/Makefile.am,debian/control.in,
28837	  debian/xapian-tools.install,docs/remote.html,tests/remotetest.cc,
28838	  testsuite/backendmanager.cc: Rename omtcpsrv to xapian-tcpsrv and
28839	  omprogsrv to xapian-progsrv.
28840
28841Tue Sep 14 16:25:06 BST 2004  Olly Betts <olly@survex.com>
28842
28843	* xapian.spec.in: Fixed mangled URL in last checkin.
28844
28845Tue Sep 14 15:35:00 BST 2004  Olly Betts <olly@survex.com>
28846
28847	* xapian.spec.in: Updated URL for tarball.
28848
28849Tue Sep 14 02:49:34 BST 2004  Olly Betts <olly@survex.com>
28850
28851	* HACKING: Updated the "how to do a release" tasklist.
28852
28853Mon Sep 13 03:19:47 BST 2004  Olly Betts <olly@survex.com>
28854
28855	* NEWS,PLATFORMS,configure.ac: Version 0.8.2.
28856
28857Sat Sep 11 16:39:08 BST 2004  Olly Betts <olly@survex.com>
28858
28859	* include/xapian/version.h.in: GCC 3.1 reported the wrong value for
28860	  __GXX_ABI_VERSION (100 not 101) so check 3.0 and 3.1 by version
28861	  number, keeping the __GXX_ABI_VERSION check for newer versions.
28862
28863Sat Sep 11 02:57:48 BST 2004  Olly Betts <olly@survex.com>
28864
28865	* backends/quartz/bcursor.cc: Fixed and reenabled Bcursor::prev()
28866	  (not currently used, but it will be useful for running posting
28867	  lists backwards!)
28868
28869Fri Sep 10 13:13:51 BST 2004  Olly Betts <olly@survex.com>
28870
28871	* tests/Makefile.am: Need to ship test data for new test.
28872
28873Thu Sep 09 21:58:37 BST 2004  Olly Betts <olly@survex.com>
28874
28875	* tests/api_db.cc: Extended feature test sortrel1 to check interaction
28876	  with Enquire::set_sort_forward(false).
28877
28878Thu Sep 09 21:46:12 BST 2004  Olly Betts <olly@survex.com>
28879
28880	* api/omenquire.cc,common/multimatch.h,common/omenquireinternal.h,
28881	  include/xapian/enquire.h,matcher/multimatch.cc,net/socketserver.cc,
28882	  tests/api_db.cc,tests/testdata/apitest_sortrel.txt: You can now
28883	  specify to sort by value, then relevance, then docid instead of
28884	  by value then docid.
28885
28886Thu Sep 09 19:30:07 BST 2004  Olly Betts <olly@survex.com>
28887
28888	* docs/todo.xml: Removed unused file - todo entries are now in
28889	  bugzilla.
28890
28891Thu Sep 09 13:11:52 BST 2004  Olly Betts <olly@survex.com>
28892
28893	* api/omenquire.cc,common/multimatch.h,common/omenquireinternal.h,
28894	  include/xapian/enquire.h,matcher/multimatch.cc,net/socketserver.cc:
28895	  Added optional "checkatleast" parameter to Enquire::get_mset()
28896	  which allows Omega's MIN_HITS functionality to be implemented
28897	  in the matcher (a bit more efficient).
28898
28899Thu Sep 09 04:18:32 BST 2004  Olly Betts <olly@survex.com>
28900
28901	* NEWS: Updated.
28902
28903Thu Sep 09 03:39:52 BST 2004  Olly Betts <olly@survex.com>
28904
28905	* PLATFORMS: Updated from the tinderbox.  Sun's C++ compiler can
28906	  now build Xapian on sparc!
28907
28908Thu Sep 09 02:19:43 BST 2004  Olly Betts <olly@survex.com>
28909
28910	* tests/api_wrdb.cc: Added feature test for
28911	  WritableDatabase::replace_document() and delete_document() with
28912	  a unique term (apitest:uniqueterm1.
28913	* backends/inmemory/inmemory_alltermslist.cc,
28914	  backends/inmemory/inmemory_database.cc,
28915	  backends/inmemory/inmemory_database.h:
28916	  Fixed bugs thrown up by the new test.
28917
28918Wed Sep 08 19:45:37 BST 2004  Olly Betts <olly@survex.com>
28919
28920	* HACKING: Updated details of Solaris open workaround.
28921
28922Wed Sep 08 19:42:15 BST 2004  Olly Betts <olly@survex.com>
28923
28924	* common/utils.h,backends/quartz/btree.cc,
28925	  backends/quartz/quartz_database.cc,backends/quartz/quartz_log.cc:
28926	  New version of the Solaris open dance - now we always pass in
28927	  const char * for the filename, and we don't need the dance on
28928	  new versions, so only dance if open is defined.
28929
28930Wed Sep 08 16:26:15 BST 2004  Olly Betts <olly@survex.com>
28931
28932	* api/omquery.cc,include/xapian/query.h: Renamed Query::is_empty()
28933	  to Query::empty() for consistency.  Keep Query::is_empty() for
28934	  now as a deprecated alias.
28935
28936Wed Sep 08 16:24:44 BST 2004  Olly Betts <olly@survex.com>
28937
28938	* tests/api_wrdb.cc: replace_doc -> replace_doc1; added new test
28939	  replace_doc2 to test using replace_doc to add a document with
28940	  a specified docid.
28941
28942Wed Sep 08 16:23:50 BST 2004  Olly Betts <olly@survex.com>
28943
28944	* backends/inmemory/inmemory_database.h: Removed unused member
28945	  variable "indexing".
28946
28947Wed Sep 08 16:14:47 BST 2004  Olly Betts <olly@survex.com>
28948
28949	* backends/quartz/quartz_database.cc: If replace_document() is used
28950	  to add a document with did greater than lastdocid, raise lastdocid
28951	  so future calls to add_document() won't clash.
28952
28953Wed Sep 08 16:13:51 BST 2004  Olly Betts <olly@survex.com>
28954
28955	* backends/inmemory/inmemory_database.cc: Fixed bug
28956	  Database::replace_document() to work with a document id greater
28957	  than lastdocid.
28958
28959Wed Sep 08 05:10:01 BST 2004  Olly Betts <olly@survex.com>
28960
28961	* common/utils.h: The latest fcntl.h dance causes a compile error on
28962	  mingw, so don't use it there.
28963
28964Wed Sep 08 03:38:20 BST 2004  Olly Betts <olly@survex.com>
28965
28966	* common/utils.h: Use a namespace as an extra step in the Sun fcntl
28967	  open64 dance.
28968
28969Tue Sep 07 02:33:50 BST 2004  Olly Betts <olly@survex.com>
28970
28971	* tests/test.da: Another cruft file removed.
28972
28973Tue Sep 07 02:21:49 BST 2004  Olly Betts <olly@survex.com>
28974
28975	* tests/btreetest.cc,tests/quartztest.cc: Moved overwrite1 from
28976	  quartztest to btreetest.  Added const in a few places.
28977
28978Tue Sep 07 02:07:43 BST 2004  Olly Betts <olly@survex.com>
28979
28980	* tests/quartztest.cc: Removed overwrite2 test.  Digging back in CVS
28981	  it's been disabled since the day after it added.  After all this
28982	  time it's hard to guess exactly what it was intended to test, so
28983	  just removing it seems simplest.  We already have overwrite1 to test
28984	  getting DatabaseModifiedError.
28985
28986Tue Sep 07 01:52:25 BST 2004  Olly Betts <olly@survex.com>
28987
28988	* tests/btreetest.cc: Cleaned up paths to temporary Btrees.
28989
28990Mon Sep 06 17:51:27 BST 2004  Olly Betts <olly@survex.com>
28991
28992	* tests/btreetest.cc,tests/quartztest.cc: Now that QuartzTable,
28993	  QuartzDiskTable, QuartzBufferedTable, QuartzCursor,
28994	  QuartzDiskCursor, and QuartzBufferedCursor are gone, move
28995	  quartztest tests which now just use Btree and Bcursor to btreetest.
28996	  This is more logical and should help make quartztest less of a
28997	  monster to compile.
28998
28999Mon Sep 06 12:47:47 BST 2004  Olly Betts <olly@survex.com>
29000
29001	* tests/Makefile.am: Ship testdata/apitest_allterms4.txt.
29002
29003Mon Sep 06 02:46:32 BST 2004  Olly Betts <olly@survex.com>
29004
29005	* tests/quartztest.cc: Xapian::Database will create the directory for
29006	  the database so there's no need to create it ourselves.
29007
29008Mon Sep 06 02:40:57 BST 2004  Olly Betts <olly@survex.com>
29009
29010	* tests/,tests/testdata/apitest_allterms4.txt: Split off tests which
29011	  require a writable database backend and tests which should work with
29012	  any database backend from api_db.cc as it was getting rather large.
29013	  Fixed simplequery2 to work with backends which don't return the
29014	  document length (such as the muscat36 backends).  Fixed allterms4
29015	  to work with muscat36 backends.
29016
29017Mon Sep 06 02:39:29 BST 2004  Olly Betts <olly@survex.com>
29018
29019	* backends/muscat36/da_database.cc,backends/muscat36/db_database.cc:
29020	  Fixed to compile now that internal_end_session() has gone.
29021
29022Mon Sep 06 00:59:36 BST 2004  Olly Betts <olly@survex.com>
29023
29024	* tests/runtest.in: Added support for running gdb on a test program,
29025	  automatically sorting out srcdir and libtool.
29026
29027Mon Sep 06 00:49:11 BST 2004  Olly Betts <olly@survex.com>
29028
29029	* tests/apitest_parser.pm: Removed long unused file.
29030
29031Sun Sep 05 22:53:27 BST 2004  Olly Betts <olly@survex.com>
29032
29033	* include/xapian/enquire.h: Tweaked documentation comment to stop
29034	  doxygen parsing a hyphen as a single entry bullet point list.
29035
29036Sun Sep 05 20:20:01 BST 2004  Olly Betts <olly@survex.com>
29037
29038	* testsuite/backendmanager.h: Added missing "std::" so code will
29039	  compile with GCC >= 3.
29040
29041Sun Sep 05 13:54:58 BST 2004  Olly Betts <olly@survex.com>
29042
29043	* testsuite/backendmanager.h: Removed superfluous "BackendManager::".
29044
29045Sun Sep 05 01:54:49 BST 2004  Olly Betts <olly@survex.com>
29046
29047	* common/utils.cc,common/utils.h: Removed now unused files_exist()
29048	  function.
29049
29050Sun Sep 05 01:50:35 BST 2004  Olly Betts <olly@survex.com>
29051
29052	* tests/api_db.cc,tests/apitest.cc,tests/apitest.h,
29053	  testsuite/backendmanager.cc,testsuite/backendmanager.h:
29054	  Cleaned up BackendManager by removing complications only required
29055	  by absentfile1 test, which can be implemented more directly anyway.
29056
29057Sun Sep 05 01:33:16 BST 2004  Olly Betts <olly@survex.com>
29058
29059	* tests/quartztest.cc: Cleaned up rather odd code which is a hangover
29060	  from when keys and tags weren't simply C++ strings.
29061
29062Sat Sep 04 12:35:12 BST 2004  Olly Betts <olly@survex.com>
29063
29064	* HACKING: Updated details of which autotools we require.
29065
29066Fri Sep 03 17:51:59 BST 2004  Olly Betts <olly@survex.com>
29067
29068	* configure.ac: Require autoconf 2.59.  Noted LIBRARY_VERSION_INFO
29069	  which 0.8.2 will probably have.
29070	* Makefile.am: Require automake 1.8.5.
29071
29072Fri Sep 03 16:40:11 BST 2004  Olly Betts <olly@survex.com>
29073
29074	* PLATFORMS: Updated with results from tinderbox.
29075
29076Fri Sep 03 14:34:00 BST 2004  Olly Betts <olly@survex.com>
29077
29078	* autoconf/definedir.m4,autoconf/rjb_find_stlport.m4: Quote macro
29079	  names to fix warning from newer aclocal.  Removed comments about
29080	  future autodetection of stlport, as the user will always need to
29081	  decide between the STL supplied with the compiler and stlport.
29082
29083Thu Sep 02 17:55:33 BST 2004  Olly Betts <olly@survex.com>
29084
29085	* matcher/andpostlist.cc: Initialise lmax and rmax to 0.  Hopefully
29086	  this will fix SIGFPE on apitest's qterminfo2 on alpha linux.
29087
29088Thu Sep 02 14:50:20 BST 2004  Olly Betts <olly@survex.com>
29089
29090	* backends/quartz/quartz_database.cc: Not storing the document length
29091	  and last docid on every add means that the magic key won't always
29092	  exists when there are records and
29093	  QuartzWritableDatabase::get_doccount() is sometimes off by one.  Fix
29094	  crudely for now by making sure that the magic key does always exist.
29095	  Longer term the magic key probably should be in the postlist table
29096	  but that's an incompatible change.
29097
29098Wed Sep 01 16:15:23 BST 2004  Olly Betts <olly@survex.com>
29099
29100	* backends/quartz/: Change QuartzWritableDatabase to store the total
29101	  document length and the last docid itself rather than tallying added
29102	  and removed document length and writing the last docid back every
29103	  time a document is added.  This gives cleaner code and a small
29104	  performance win.  Removed XAPIAN_FLUSH_THRESHOLD_LENGTH as we no
29105	  longer tally the length changes, and made the default flush
29106	  threshold 10000 documents (was 1000).
29107
29108Wed Sep 01 14:21:19 BST 2004  Olly Betts <olly@survex.com>
29109
29110	* backends/quartz/btree.cc: Turn on previously commented-out code to
29111	  make the first key null for blocks more than 1 away from the leaves.
29112	  It saves disk space for a tiny CPU and RAM cost so is bound to be
29113	  a win overall.
29114
29115Tue Aug 31 13:55:58 BST 2004  Olly Betts <olly@survex.com>
29116
29117	* backends/quartz/btree.cc,backends/quartz/btree.h,
29118	  backends/quartz/btree_util.h: Merged Btree::make_index_item() into
29119	  Btree::enter_key().
29120
29121Tue Aug 31 01:07:19 BST 2004  Olly Betts <olly@survex.com>
29122
29123	* NEWS: Updated in preparation for a release.
29124
29125Tue Aug 31 00:53:35 BST 2004  Olly Betts <olly@survex.com>
29126
29127	* backends/quartz/btree.cc: Short-cutting Btree::cancel causes
29128	  problems so disable that for the time being at least.
29129
29130Fri Aug 27 13:09:56 BST 2004  Olly Betts <olly@survex.com>
29131
29132	* testsuite/btreecheck.cc: Fixed %% to % (presumably a hangover from
29133	  converting printf to cout).
29134
29135Thu Aug 26 18:11:50 BST 2004  Olly Betts <olly@survex.com>
29136
29137	* backends/quartz/quartz_postlist.cc: Reduce quartz postlist chunk
29138	  threshold from 2048 to 2000 so that chunks won't get split by the
29139	  Btree.
29140
29141Thu Aug 26 18:10:27 BST 2004  Olly Betts <olly@survex.com>
29142
29143	* backends/quartz/quartz_record.cc: Throw DocNotFoundError if we
29144	  try to delete a record which doesn't exist.
29145
29146Thu Aug 26 17:18:56 BST 2004  Olly Betts <olly@survex.com>
29147
29148	* configure.ac: Don't define DATADIR - we no longer use it and clashes
29149	  with more recent mingw headers.
29150
29151Wed Aug 25 22:47:06 BST 2004  Olly Betts <olly@survex.com>
29152
29153	* docs/quartzdesign.html: Started section on quartzcompact.
29154
29155Wed Aug 25 22:45:48 BST 2004  Olly Betts <olly@survex.com>
29156
29157	* api/omdatabase.cc,include/xapian/database.h: Changed new
29158	  WritableDatabase::replace_document(term, doc) method to return
29159	  the docid which the document was given.
29160
29161Tue Aug 24 13:45:52 BST 2004  Olly Betts <olly@survex.com>
29162
29163	* api/omenquire.cc,include/xapian/enquire.h: Added new ESet methods
29164	  swap(), back() and operator[].
29165	* include/xapian/enquire.h: Added documentation comments for
29166	  MSet methods size(), empty(), swap(), begin(), end(), back().
29167	* include/xapian/enquire.h: Removed bogus documentation saying
29168	  that some Enquire methods can throw DatabaseOpeningError.
29169
29170Tue Aug 24 10:24:30 BST 2004  Olly Betts <olly@survex.com>
29171
29172	* HACKING: Noted automake 1.8 may be problematic.  Tweaked list of
29173	  release tasks.
29174
29175Tue Aug 24 10:16:38 BST 2004  Olly Betts <olly@survex.com>
29176
29177	* matcher/multimatch.cc: If a matchdecider is specified and no matches
29178	  are requested, the lower bound on the number of matches must be 0
29179	  (since the matchdecider could reject all the matches).
29180
29181Mon Aug 23 23:03:12 BST 2004  Olly Betts <olly@survex.com>
29182
29183	* backends/quartz/btree.cc: Improved the "Db block overwritten"
29184	  message.  The DatabaseCorruptError version now suggests multiple
29185	  writers may be the cause, while the DatabaseModifiedError version
29186	  uses less alarming wording and says to call Database::reopen().
29187
29188Sun Aug 22 14:07:35 BST 2004  Olly Betts <olly@survex.com>
29189
29190	* indexer/: Removed the old XML-based indexer framework.  It's not
29191	  worked for ages, and nobody seems interested in ressurecting it.
29192	  If anyone ever is, they can fetch it back from CVS, but otherwise
29193	  it's just bulking up CVS checkouts.
29194
29195Sun Aug 22 13:02:25 BST 2004  Olly Betts <olly@survex.com>
29196
29197	* Makefile.am,configure.ac,extra/Makefile.am: Moved the older library
29198	  version information into configure.ac.
29199
29200Sun Aug 22 12:58:21 BST 2004  Olly Betts <olly@survex.com>
29201
29202	* HACKING,configure.in,configure.ac,backends/Makefile.am,
29203	  docs/Makefile.am: Renamed configure.in to configure.ac.
29204
29205Sun Aug 22 12:47:43 BST 2004  Olly Betts <olly@survex.com>
29206
29207	* xapian-config.in: Add "(or configure.ac)" in message telling the
29208	  user to add a line to their configure.in.
29209
29210Sun Aug 22 11:38:55 BST 2004  Olly Betts <olly@survex.com>
29211
29212	* backends/quartz/btree.cc,backends/quartz/btree_util.h: Adjusted
29213	  some Asserts to check c is within blocksize rather than
29214	  65536.  Added a FIXME for those which can't be trivially changed.
29215
29216Sun Aug 22 10:56:56 BST 2004  Olly Betts <olly@survex.com>
29217
29218	* backends/quartz/quartz_database.cc: No need to force a flush on
29219	  QuartzWritableDatabase::open_document() (the document will read
29220	  things lazily from the database, and that may trigger a forced
29221	  flush).
29222	* backends/quartz/quartz_database.cc,
29223	  backends/quartz/quartz_database.h: Eliminated
29224	  QuartzDatabase::open_post_list_internal() and
29225	  QuartzDatabase::open_term_list_internal().
29226
29227Sun Aug 22 01:33:05 BST 2004  Olly Betts <olly@survex.com>
29228
29229	* backends/quartz/quartz_database.cc,backends/quartz/quartz_record.cc,
29230	  backends/quartz/quartz_record.h: WritableDatabase::get_avlength()
29231	  no longer forces pending changes to be flushed.  This means you can
29232	  now search a modified WritableDatabase without causing a flush
29233	  unless the search includes a term whose postlist has pending
29234	  modifications.
29235
29236Fri Aug 20 20:03:59 BST 2004  Olly Betts <olly@survex.com>
29237
29238	* backends/quartz/btree_util.h,common/,docs/overview.html,
29239	  docs/quickstart.html,include/xapian/enquire.h,
29240	  matcher/branchpostlist.h,matcher/multimatch.cc,tests/api_db.cc:
29241	  Corrected multiple occurrences of "an Xapian::XXX" to "a Xapian::XXX"
29242	  (presumably these all resulted from replacing "Om" with "Xapian::").
29243
29244Fri Aug 20 17:38:15 BST 2004  Olly Betts <olly@survex.com>
29245
29246	* backends/quartz/,bin/quartzcheck.cc,bin/quartzcompact.cc,
29247	  bin/quartzdump.cc,tests/btreetest.cc,tests/quartztest.cc:
29248	  Merged QuartzCursor into Bcursor.
29249
29250Fri Aug 20 13:43:04 BST 2004  Olly Betts <olly@survex.com>
29251
29252	* NEWS,backends/quartz/: Fixed the problem with "lazy tag reading"
29253	  in QuartzCursor and reenable that code.  The problem was with
29254	  deleting the current key, so added QuartzCursor::del() which
29255	  deletes the current key, leaving the cursor on the next item.
29256
29257Fri Aug 20 13:04:33 BST 2004  Olly Betts <olly@survex.com>
29258
29259	* tests/api_db.cc: Reenabled test allterms2, but with the iterator
29260	  copying parts removed - TermIterator is an input_iterator so
29261	  that part was invalid.
29262
29263Thu Aug 19 19:19:48 BST 2004  Olly Betts <olly@survex.com>
29264
29265	* NEWS: Updated from recent ChangeLog entries.
29266
29267Thu Aug 19 14:09:28 BST 2004  Olly Betts <olly@survex.com>
29268
29269	* tests/api_db.cc: Added regression test for bug #37.
29270
29271Thu Aug 19 13:31:37 BST 2004  Olly Betts <olly@survex.com>
29272
29273	* matcher/localmatch.cc: Fixed problems handling termweights in
29274	  queries with the same term repeated (bug #37).
29275
29276Thu Aug 19 13:22:12 BST 2004  Olly Betts <olly@survex.com>
29277
29278	* backends/quartz/quartz_table.cc: Disable the "lazy tag reading" in
29279	  QuartzCursor for the time being - it seems to cause problems.
29280
29281Thu Aug 19 12:58:10 BST 2004  Olly Betts <olly@survex.com>
29282
29283	* bin/quartzcheck.cc,bin/quartzdump.cc: Added calls to
29284	  QuartzCursor::read_tag().
29285
29286Thu Aug 19 12:56:53 BST 2004  Olly Betts <olly@survex.com>
29287
29288	* matcher/multimatch.cc: Removed superfluous clear() of a map.
29289
29290Thu Aug 19 12:56:08 BST 2004  Olly Betts <olly@survex.com>
29291
29292	* tests/api_db.cc: Corrected a comment - a pure boolean query has all
29293	  weights set to 0, not 1.
29294
29295Mon Aug 16 15:41:33 BST 2004  Olly Betts <olly@survex.com>
29296
29297	* docs/: Removed unused and very out of date class diagrams in dia
29298	  format.  Doxygen generates similar but up-to-date diagrams
29299	  automatically anyway.
29300
29301Mon Aug 16 15:27:30 BST 2004  Olly Betts <olly@survex.com>
29302
29303	* xapian.spec.in,debian/libxapianVERSION-dev.install,
29304	  extra/.cvsignore,extra/Makefile.am,extra/omparsequery.h,
29305	  include/Makefile.am,include/om/.cvsignore,include/om/dir_contents,
29306	  include/om/om.h,m4/xapian.m4: Removed the compatibility layer which
29307	  allowed programs written against the pre-0.7.0 API to be compiled.
29308
29309Mon Aug 16 15:08:08 BST 2004  Olly Betts <olly@survex.com>
29310
29311	* backends/quartz/quartz_table.cc: Fixed QuartzCursor::find()
29312	  to work again after the last change.
29313
29314Mon Aug 16 14:43:08 BST 2004  Olly Betts <olly@survex.com>
29315
29316	* backends/quartz/,tests/quartztest.cc: QuartzCursor no longer
29317	  automatically reads the tag - you have to call read_tag() to
29318	  get it read.  This speeds up iterator over all the terms in
29319	  a database.  Also commented out QuartzCursor::prev as it's
29320	  unused and untested (at least in its latest form).
29321
29322Mon Aug 16 12:39:56 BST 2004  Olly Betts <olly@survex.com>
29323
29324	* backends/quartz/btree_types.h: Made Bcursor.rewrite bool rather than
29325	  int.
29326
29327Mon Aug 16 12:35:07 BST 2004  Olly Betts <olly@survex.com>
29328
29329	* backends/quartz/btree.cc,backends/quartz/btree.h: Calculate and
29330	  store the latest revision number, rather than storing the other
29331	  one and working out which is newer every time we're asked.
29332
29333Mon Aug 16 12:32:59 BST 2004  Olly Betts <olly@survex.com>
29334
29335	* docs/install.html: We haven't "only [...] UNIX" for ages, so don't
29336	  claim we are.  We use libtool as well as autoconf and automake.
29337	  Link to the CVS snapshots.  And also mention downloading omega.
29338
29339Mon Aug 16 12:20:04 BST 2004  Olly Betts <olly@survex.com>
29340
29341	* docs/index.html: exaplains -> explains.
29342
29343Mon Aug 16 12:18:34 BST 2004  Olly Betts <olly@survex.com>
29344
29345	* docs/overview.html: Removed references to "our company" (meaning
29346	  BrightStation) and to the now defunct special parameters which
29347	  the inmemory backend accepted to cause deliberate errors for
29348	  testing.
29349
29350Sun Aug 15 23:48:20 BST 2004  Olly Betts <olly@survex.com>
29351
29352	* tests/btreetest.cc: item_count -> get_entry_count(); revision_number
29353	  -> get_open_revision_number().
29354
29355Sun Aug 15 23:15:34 BST 2004  Olly Betts <olly@survex.com>
29356
29357	* backends/Makefile.am,backends/inmemory/Makefile.am: Fixed to compile
29358	  with --disable-inmemory (bug #33).
29359
29360Sat Aug 14 18:56:06 BST 2004  Olly Betts <olly@survex.com>
29361
29362	* Makefile.am: Improved library versioning comment.
29363
29364Sat Aug 14 18:55:17 BST 2004  Olly Betts <olly@survex.com>
29365
29366	* docs/overview.html: Fixed om_queryop to Xapian::Query::op, and added
29367	  missing OP_* codes to the list.
29368
29369Sat Aug 14 17:44:39 BST 2004  Olly Betts <olly@survex.com>
29370
29371	* backends/quartz/bcursor.h,backends/quartz/btree.cc,
29372	  backends/quartz/btree.h,bin/quartzcompact.cc,docs/quartzdesign.html:
29373	  Updated quartz design docs to reflect recent changes.  Also pulled
29374	  out the Btree and Bcursor API docs and slotted them in as doxygen
29375	  documentation comments - this way they're much more likely to
29376	  be kept up-to-date.
29377
29378Sat Aug 14 15:59:07 BST 2004  Olly Betts <olly@survex.com>
29379
29380	* backends/quartz/btree.cc,backends/quartz/btree.h: Removed unused
29381	  Btree default ctor.
29382
29383Sat Aug 14 15:45:28 BST 2004  Olly Betts <olly@survex.com>
29384
29385	* backends/quartz/btree.cc,backends/quartz/btree.h: Don't redundantly
29386	  store next_revision - it's always just revision_number + 1.
29387
29388Sat Aug 14 15:30:30 BST 2004  Olly Betts <olly@survex.com>
29389
29390	* backends/quartz/btree.cc: Implemented Btree::cancel directly rather
29391	  than closing and reopening the Btree.
29392
29393Sat Aug 14 14:46:43 BST 2004  Olly Betts <olly@survex.com>
29394
29395	* backends/quartz/,bin/quartzcheck.cc,bin/quartzcompact.cc,
29396	  bin/quartzdump.cc,tests/btreetest.cc,tests/quartztest.cc,
29397	  testsuite/btreecheck.cc,testsuite/btreecheck.h: Eliminated
29398	  QuartzTable which had become just a thin wrapper around Btree.
29399
29400Fri Aug 13 19:19:02 BST 2004  Olly Betts <olly@survex.com>
29401
29402	* backends/quartz/quartz_postlist.cc:
29403	  QuartzPostList::move_to_chunk_containing now calls next_chunk if
29404	  required, rather than forcing the caller to do the fix-up.
29405
29406Fri Aug 13 17:54:53 BST 2004  Olly Betts <olly@survex.com>
29407
29408	* backends/quartz/quartz_database.cc,
29409	  backends/quartz/quartz_database.h: Added tunable flush thresholds
29410	  - set XAPIAN_FLUSH_THRESHOLD=5000 to flush every 5000 documents
29411	  or XAPIAN_FLUSH_THRESHOLD_LENGTH=1000000 to flush every 1000000
29412	  total change in document length.  Set both to flush whichever is
29413	  reached first.  Set neither and the default is to flush every
29414	  1000 documents as before.
29415
29416Fri Aug 13 15:54:21 BST 2004  Olly Betts <olly@survex.com>
29417
29418	* backends/quartz/: Removed no-longer-used Btree::erase and
29419	  QuartzTable::erase methods.
29420
29421Fri Aug 13 15:37:15 BST 2004  Olly Betts <olly@survex.com>
29422
29423	* backends/quartz/btree.cc,backends/quartz/quartz_database.cc:
29424	  Changed Btree::create() to remove any pre-existing alternate base
29425	  file, so we no longer need to call Btree::erase before
29426	  Btree::create.
29427
29428Fri Aug 13 15:37:15 BST 2004  Olly Betts <olly@survex.com>
29429
29430	* NEWS: Updated with changes since last release.
29431
29432Fri Aug 13 15:36:04 BST 2004  Olly Betts <olly@survex.com>
29433
29434	* tests/api_posdb.cc,tests/quartztest.cc: Reworked quartztest's
29435	  positionlist1 into a generic api test as apitest's poslist3.
29436
29437Thu Aug 12 16:26:42 BST 2004  Olly Betts <olly@survex.com>
29438
29439	* backends/quartz/quartz_table.cc,backends/quartz/quartz_table.h,
29440	  bin/quartzcheck.cc,bin/quartzdump.cc: QuartzCursor now has a
29441	  Bcursor member, rather than an AutoPtr<Bcursor> member.
29442
29443Thu Aug 12 14:13:37 BST 2004  Olly Betts <olly@survex.com>
29444
29445	* tests/btreetest.cc: Fixed up in line with the recent refactoring.
29446
29447Thu Aug 12 13:23:31 BST 2004  Olly Betts <olly@survex.com>
29448
29449	* m4/xapian.m4: XO_LIB_XAPIAN now AC_SUBSTs XAPIAN_VERSION.
29450
29451Thu Aug 12 13:21:36 BST 2004  Olly Betts <olly@survex.com>
29452
29453	* backends/quartz/,tests/quartztest.cc: Refactored, replacing
29454	  Quartz*Manager with Quartz*Table.
29455
29456Thu Aug 12 02:00:58 BST 2004  Olly Betts <olly@survex.com>
29457
29458	* backends/quartz/: Merged QuartzTableManager into QuartzDatabase.
29459
29460Wed Aug 11 23:40:34 BST 2004  Olly Betts <olly@survex.com>
29461
29462	* backends/quartz/quartz_database.cc,backends/quartz/quartz_database.h:
29463	  Eliminated buffered_tables member of QuartzWritableDatabase.
29464
29465Wed Aug 11 21:26:35 BST 2004  Olly Betts <olly@survex.com>
29466
29467	* backends/inmemory/inmemory_database.cc,
29468	  backends/quartz/quartz_database.cc,backends/quartz/quartz_database.h,
29469	  docs/todo.xml: WritableDatabase::replace_document can now be used
29470	  to add a document with a specific docid (to allow keeping docids
29471	  in sync with numeric UIDs from another system).
29472
29473Wed Aug 11 20:09:15 BST 2004  Olly Betts <olly@survex.com>
29474
29475	* api/omdatabase.cc,include/xapian/database.h: Added replace_document
29476	  and delete_document variants which take a unique id term name rather
29477	  than a document id.
29478	* include/xapian/database.h: Better documentation for replace_document
29479	  and delete_document.
29480
29481Wed Aug 11 16:15:10 BST 2004  Olly Betts <olly@survex.com>
29482
29483	* backends/quartz/,bin/quartzcheck.cc,bin/quartzdump.cc,
29484	  tests/quartztest.cc: Eliminated QuartzBufferedTable.
29485
29486Wed Jun 30 20:34:08 BST 2004  Olly Betts <olly@survex.com>
29487
29488	* NEWS: Fixed an unwrapped line.
29489
29490Wed Jun 30 20:32:31 BST 2004  Olly Betts <olly@survex.com>
29491
29492	* HACKING: Added note about the cvs-tag-release script.
29493
29494Wed Jun 30 19:05:45 BST 2004  Olly Betts <olly@survex.com>
29495
29496	* HACKING,NEWS,PLATFORMS,configure.in: Version 0.8.1.
29497
29498Wed Jun 30 14:23:20 BST 2004  Olly Betts <olly@survex.com>
29499
29500	* AUTHORS,PLATFORMS: Updated.
29501
29502Tue Jun 29 23:24:59 BST 2004  Olly Betts <olly@survex.com>
29503
29504	* tests/api_nodb.cc: Make emptyquery1 check that Query("") causes an
29505	  InvalidArgumentError exception.
29506
29507Tue Jun 29 17:29:03 BST 2004  Richard Boulton <richard@tartarus.org>
29508
29509	* Makefile.am: Remove Debian files from distribution tarballs,
29510	  since there will often be multiple patch releases for each
29511	  release.  Debian files will be available from an apt repository
29512	  in future.
29513
29514Mon Jun 28 01:29:00 BST 2004  Olly Betts <olly@survex.com>
29515
29516	* NEWS: Mostly updated for 0.8.1 release.
29517
29518Sun Jun 27 23:37:01 BST 2004  Olly Betts <olly@survex.com>
29519
29520	* backends/quartz/quartz_postlist.cc: Fixed bug in postlist merging.
29521
29522Sat Jun 26 00:51:04 BST 2004  Olly Betts <olly@survex.com>
29523
29524	* AUTHORS: Add Malcolm Baldridge (helped fix a problem with building
29525	  the PHP bindings with newer versions of SWIG and PHP).
29526
29527Fri Jun 26 00:29:10 BST 2004  Olly Betts <olly@survex.com>
29528
29529	* HACKING,api/ompositionlistiterator.cc,api/ompostlistiterator.cc,
29530	  api/omtermlistiterator.cc,include/xapian/: MSetIterator and
29531	  ESetIterator are now bidirectional iterators (rather than
29532	  just input iterators);  Fixed post-increment forms of
29533	  PostingIterator, TermIterator, PositionIterator, and ValueIterator
29534	  so that *i++ works (as it must for them to be true input iterators).
29535
29536Thu Jun 24 18:03:46 BST 2004  Olly Betts <olly@survex.com>
29537
29538	* PLATFORMS: Added success report for Slackware Linux 9.1.
29539
29540Mon Jun 21 16:33:16 BST 2004  Olly Betts <olly@survex.com>
29541
29542	* backends/quartz/quartz_postlist.cc: Corrected -> to . so code
29543	  compiles with debug enabled.
29544
29545Mon Jun 21 03:25:24 BST 2004  Olly Betts <olly@survex.com>
29546
29547	* backends/quartz/btree.cc: Eliminated two calls to abort() - throw
29548	  exceptions instead.
29549
29550Mon Jun 21 03:21:14 BST 2004  Olly Betts <olly@survex.com>
29551
29552	* backends/quartz/quartz_postlist.cc: Finish backing out incorrect
29553	  change from "Fri May 07 03:16:29 BST 2004" - failed to change two
29554	  lines back before.
29555
29556Fri Jun 18 16:48:10 BST 2004  Richard Boulton <richard@tartarus.org>
29557
29558	* configure.in: Fix typo (STLPORT_CXXLAGS -> STLPORT_CXXFLAGS)
29559
29560Thu Jun 17 03:46:32 BST 2004  Olly Betts <olly@survex.com>
29561
29562	* backends/quartz/quartz_database.cc: Cleaned up code to track
29563	  add vs delete vs modify of a posting list entry since we now
29564	  force a flush if an entry is about to be retouched.
29565
29566Thu Jun 17 03:44:21 BST 2004  Olly Betts <olly@survex.com>
29567
29568	* backends/quartz/quartz_postlist.cc: Back out incorrect change from
29569	  "Fri May 07 03:16:29 BST 2004".  We do need to call get_or_make_tag
29570	  in this case because we're modifying the tag.
29571
29572Wed Jun 16 15:40:21 BST 2004  Olly Betts <olly@survex.com>
29573
29574	* backends/inmemory/inmemory_database.h: Implemented get_lastdocid()
29575	  for InMemory backend.
29576
29577Wed Jun 16 02:39:41 BST 2004  Olly Betts <olly@survex.com>
29578
29579	* configure.in: Note the value of LIBRARY_VERSION_INFO which 0.8.1
29580	  would get if it were released now.
29581
29582Wed Jun 16 02:39:11 BST 2004  Robert Pollak <robert.pollak@fabasoft.com>
29583
29584	* api/omdatabase.cc, include/xapian/database.h,
29585	  backends/database.cc, common/database.h,
29586	  backends/quartz/quartz_database.cc, backends/quartz/quartz_database.h,
29587	  backends/quartz/quartz_record.cc, backends/quartz/quartz_record.h:
29588	  New method Database::get_lastdocid for re-synchronizing an old
29589	  quartz index.
29590
29591Wed Jun 16 02:05:07 BST 2004  Richard Boulton <richard@tartarus.org>
29592
29593	* matcher/multimatch.cc: When collapsing, keep track of the number
29594	  of collapses performed, and use this information to modify the
29595	  bounds and estimate of the number of matches.
29596	* tests/api_db.cc: Added tests for this.
29597	* include/xapian/enquire.h: Update documentation comments for
29598	  MSet::get_matches_*() functions to make clear that collapsing and
29599	  cutoffs are taken into account.  (Previously, the most likely
29600	  interpretation of the comments was that they wouldn't be taken
29601	  into account, but the implementation was that percentage cutoffs
29602	  were taken into account.)  Due to this ambiguity, I think it is
29603	  reasonable to say this isn't an API change.
29604
29605Wed Jun 16 01:55:29 BST 2004  Olly Betts <olly@survex.com>
29606
29607	* matcher/multimatch.cc: Rearranged code so that the behaviour can
29608	  be easily seen to be unchanged, but so that it's closer to the
29609	  result of applying Richard's patch for bug #31.
29610
29611Wed Jun 16 01:27:09 BST 2004  Olly Betts <olly@survex.com>
29612
29613	* matcher/multimatch.cc: Trimmed extra whitespace.
29614
29615Tue Jun 15 15:40:11 BST 2004  Olly Betts <olly@survex.com>
29616
29617	* backends/quartz/quartz_postlist.cc: Fixed PostlistChunkReader to
29618	  take a copy of the postlist data being read to avoid problems with
29619	  reading data from a string that's been deleted.
29620
29621Tue Jun 15 15:26:54 BST 2004  Olly Betts <olly@survex.com>
29622
29623	* HACKING: Updated the list of tasks required for a new release.
29624
29625Tue Jun 15 15:24:04 BST 2004  Olly Betts <olly@survex.com>
29626
29627	* Makefile.am,configure.in,extra/Makefile.am: Unify the shlib version
29628	  numbers (the small benefit of tracking them individually makes it
29629	  hard to justify the extra work required, and having one version
29630	  simplifies debian packaging too).
29631
29632Tue Jun 15 14:52:36 BST 2004  Robert Pollak <robert.pollak@fabasoft.com>
29633
29634	* extra/xapian/queryparser.h: Fixed memory leaked upon QueryParser
29635	  destruction.
29636
29637Fri Jun 11 02:18:35 BST 2004  Olly Betts <olly@survex.com>
29638
29639	* backends/quartz/quartz_postlist.cc: Refactored a loop.
29640
29641Fri Jun 11 02:17:05 BST 2004  Olly Betts <olly@survex.com>
29642
29643	* backends/quartz/quartz_postlist.cc: Fixed bug which meant we
29644	  sometimes failed to remove a posting when deleting or replacing
29645	  a document.
29646
29647Fri Jun 11 02:16:16 BST 2004  Olly Betts <olly@survex.com>
29648
29649	* backends/quartz/quartz_postlist.cc,
29650	  backends/quartz/quartz_postlist.h: Merged move_to() into skip_to().
29651
29652Fri Jun 11 02:14:56 BST 2004  Olly Betts <olly@survex.com>
29653
29654	* backends/quartz/quartz_postlist.cc: Fixed typo in comment.
29655
29656Thu May 27 15:41:45 BST 2004  Olly Betts <olly@survex.com>
29657
29658	* backends/quartz/btree.cc,backends/quartz/btree.h: Eliminated the
29659	  split cursor - we only actually need a single block buffer to
29660	  handle splitting blocks.
29661
29662Wed May 26 04:02:18 BST 2004  Olly Betts <olly@survex.com>
29663
29664	* include/om/om.h,include/xapian/errortypes.h: Removed several unused
29665	  Xapian::Error subclasses (these were used by the indexer framework
29666	  which we decided was a failed experiment).
29667
29668Wed May 26 01:54:13 BST 2004  Olly Betts <olly@survex.com>
29669
29670	* backends/quartz/btree.cc,backends/quartz/btree.h: More DEBUGCALL
29671	  tracing added; split_root now uses level member rather than a
29672	  parameter.
29673
29674Sun May 23 00:56:41 BST 2004  Olly Betts <olly@survex.com>
29675
29676	* backends/quartz/btree.cc,backends/quartz/btree.h: Merge split_off()
29677	  into add_item().
29678
29679Sat May 22 01:28:58 BST 2004  Olly Betts <olly@survex.com>
29680
29681	* backends/quartz/btree.cc: Another DEBUGCALL.
29682	* backends/quartz/quartz_table.h: Improved comments.
29683
29684Fri May 21 23:17:01 BST 2004  Olly Betts <olly@survex.com>
29685
29686	* backends/quartz/btree.cc: Removed unnecessary assignment which is
29687	  a hangover from the shared level code we removed long ago.
29688
29689Fri May 21 20:31:56 BST 2004  Olly Betts <olly@survex.com>
29690
29691	* backends/quartz/,docs/quartzdesign.html,testsuite/btreecheck.cc:
29692	  Removed overwritten flag (unused as we throw an exception anyway).
29693	  If Btree is writable, throw DatabaseCorruptError if we detect
29694	  overwritten.  Make use of bool return types consistent.  Removed
29695	  documentation of Btree error codes (the error codes themselves
29696	  were removed a month ago).
29697
29698Thu May 20 03:50:46 BST 2004  Olly Betts <olly@survex.com>
29699
29700	* include/xapian/database.h: Remove references to sessions in doxygen
29701	  comments.
29702
29703Thu May 20 03:44:28 BST 2004  Olly Betts <olly@survex.com>
29704
29705	* api/omdatabase.cc,backends/database.cc,
29706	  backends/inmemory/inmemory_database.cc,
29707	  backends/inmemory/inmemory_database.h,
29708	  backends/muscat36/da_database.h,backends/muscat36/db_database.h,
29709	  backends/net/net_database.cc,backends/quartz/quartz_database.cc,
29710	  backends/quartz/quartz_database.h,common/database.h,
29711	  common/net_database.h: Clean up the backend interface.
29712
29713Thu May 20 03:18:30 BST 2004  Olly Betts <olly@survex.com>
29714
29715	* backends/database.cc,backends/inmemory/inmemory_database.cc,
29716	  backends/inmemory/inmemory_database.h,backends/muscat36/,
29717	  backends/net/net_database.cc,backends/quartz/quartz_database.cc,
29718	  backends/quartz/quartz_database.h,common/database.h:
29719	  Stripped out the session machinery - all that is actually required
29720	  is to ensure that any unflushed changes are flushed when the dtor
29721	  runs.
29722
29723Mon May 17 01:04:17 BST 2004  Olly Betts <olly@survex.com>
29724
29725	* backends/quartz/btree.cc,backends/quartz/btree.h,
29726	  backends/quartz/btree_types.h: Reworked split_p and split_n
29727	  members of Cursor into a separate C_split cursor.  This
29728	  reduces the memory overhead of each Bcursor (and hence each
29729	  QuartzPostList).
29730
29731Sat May 15 01:29:40 BST 2004  Olly Betts <olly@survex.com>
29732
29733	* docs/quickstart.html: Corrected lingering reference to "om.h" and
29734	  note that we need <iostream>.
29735	* docs/quickstartindex.cc.html,docs/quickstartexpand.cc.html,
29736	  docs/quickstartsearch.cc.html: Add <iostream>.
29737	* AUTHORS: Add John Ward for pointing out the above problems.
29738
29739Fri May 14 00:59:51 BST 2004  Olly Betts <olly@survex.com>
29740
29741	* HACKING: Added the start of a list of subtasks when doing a release.
29742	  Currently it's always me that does this, but it may not always be
29743	  and anyhow it'll help me to have a list to run through.
29744
29745Fri May 14 00:59:21 BST 2004  Olly Betts <olly@survex.com>
29746
29747	* docs/todo.xml: Updated.
29748
29749Thu May 13 17:14:18 BST 2004  Olly Betts <olly@survex.com>
29750
29751	* extra/queryparser.yy: When stripping non-alphanums prior to
29752	  reparsing, keep dots ('.').
29753	* extra/queryparsertest.cc: Pruned near-duplicate queryparsertest
29754	  testcases.
29755
29756Thu May 13 12:09:19 BST 2004  Olly Betts <olly@survex.com>
29757
29758	* docs/quartzdesign.html: "interger" -> "integer".
29759
29760Thu May 13 11:20:44 BST 2004  Olly Betts <olly@survex.com>
29761
29762	* Makefile.am: Removed bogus extra line added by last change.
29763
29764Thu May 13 11:11:31 BST 2004  Olly Betts <olly@survex.com>
29765
29766	* configure.in,Makefile.am,autoconf/.cvsignore,autoconf/Makefile.am,
29767	  m4/.cvsignore,m4/Makefile.am: Removed trivial m4/Makefile.am and
29768	  and autoconf/Makefile.am and do the work from the top level
29769	  Makefile.am instead.  It's easy to see the structure this way, and
29770	  it also removes a couple of recursive make invocations.
29771
29772Thu May 13 09:32:22 BST 2004  Olly Betts <olly@survex.com>
29773
29774	* backends/quartz/btree.cc,backends/quartz/btree.h: Added DEBUGCALL
29775	  tracing;  Stripped out C_ parameters where they are always the
29776	  internal cursor C.
29777
29778Thu May 13 00:05:45 BST 2004  Olly Betts <olly@survex.com>
29779
29780	* extra/queryparser.yy,extra/queryparsertest.cc: If we fail to parse
29781	  a query, try stripping out non-alphanumerics and reparsing.
29782
29783Wed May 12 14:32:54 BST 2004  Olly Betts <olly@survex.com>
29784
29785	* common/omtime.h: Corrected file description.
29786
29787Wed May 12 02:08:44 BST 2004  Olly Betts <olly@survex.com>
29788
29789	* backends/quartz/btree.cc: Fixed typos in comment.
29790
29791Tue May 11 20:55:56 BST 2004  Olly Betts <olly@survex.com>
29792
29793	* xapian-config.in: Added comment saying why we filter out
29794	  -I/usr/include; Removed no longer used "optarg" stuff; Added licence
29795	  boilerplate text (with (C) dates mined from CVS).
29796
29797Tue May 11 13:42:38 BST 2004  Olly Betts <olly@survex.com>
29798
29799	* backends/quartz/bcursor.cc,backends/quartz/btree.cc: Added lots
29800	  of assertions.
29801
29802Tue May 11 09:29:51 BST 2004  Richard Boulton <richard@tartarus.org>
29803
29804	* debian/: Added basic Debian packaging.
29805
29806Mon May 10 17:17:45 BST 2004  Olly Betts <olly@survex.com>
29807
29808	* docs/quartzdsign.html: Corrected various pieces of out of date
29809	  information.
29810
29811Mon May 10 01:30:35 BST 2004  Olly Betts <olly@survex.com>
29812
29813	* backends/quartz/btree.h: Removed unused forward declaration of
29814	  class BtreeCheck.
29815
29816Mon May 10 01:30:24 BST 2004  Olly Betts <olly@survex.com>
29817
29818	* backends/quartz/btree.cc: Fixed typo.
29819
29820Sat May 08 20:14:40 BST 2004  Olly Betts <olly@survex.com>
29821
29822	* backends/quartz/: Pruned some #include-s which were unused, or could
29823	  be replaced by forward class declarations.
29824
29825Fri May 07 14:38:10 BST 2004  Olly Betts <olly@survex.com>
29826
29827	* backends/quartz/quartz_postlist.cc: Slight efficiency tweak to the
29828	  "deleting the whole posting list" case.
29829
29830Fri May 07 03:16:29 BST 2004  Olly Betts <olly@survex.com>
29831
29832	* backends/quartz/quartz_postlist.cc: Removed another unnecessary use
29833	  of QuartzBufferedTable::get_or_make_tag().
29834
29835Fri May 07 02:56:22 BST 2004  Olly Betts <olly@survex.com>
29836
29837	* backends/quartz/btree.cc: Initialise prev_ptr and next_ptr at open
29838	  time for a writable Btree.
29839
29840Fri May 07 02:46:53 BST 2004  Olly Betts <olly@survex.com>
29841
29842	* backends/quartz/quartz_postlist.cc: Remove unneeded call to
29843	  QuartzBufferedTable::get_or_make_tag() in a case when we're using a
29844	  cursor which has already fetched the tag.
29845
29846Thu May 06 23:30:12 BST 2004  Olly Betts <olly@survex.com>
29847
29848	* backends/quartz/btree.cc: Improved a comment.
29849
29850Thu May 06 22:20:43 BST 2004  Olly Betts <olly@survex.com>
29851
29852	* backends/quartz/btree.cc: Added a few more assertions.
29853
29854Thu May 06 02:25:33 BST 2004  Olly Betts <olly@survex.com>
29855
29856	* backends/quartz/quartz_positionlist.cc,
29857	  backends/quartz/quartz_utils.h: Added SON_OF_QUARTZ define to
29858	  disable incompatible changes to database formats by default, and
29859	  use it to control the docid encoding for keys such that we're always
29860	  inserting at the end of the table when added new documents.
29861
29862Thu May 06 02:23:02 BST 2004  Olly Betts <olly@survex.com>
29863
29864	* backends/quartz/quartz_postlist.cc: Improved a FIXME comment.
29865
29866Thu May 06 00:32:17 BST 2004  Olly Betts <olly@survex.com>
29867
29868	* extra/queryparsertest.cc: Added test case for `term NOT "a phrase'.
29869
29870Thu May 06 00:28:32 BST 2004  Olly Betts <olly@survex.com>
29871
29872	* common/omdebug.cc,common/omdebug.h: Renamed OmTimer class used
29873	  internally by the --enable-debug=profile code to
29874	  Xapian::Internal::Timer.
29875
29876Wed May 05 13:59:47 BST 2004  Olly Betts <olly@survex.com>
29877
29878	* docs/scalability.html: Reworded to remove use of first person.
29879
29880Mon May 03 21:42:05 BST 2004  Olly Betts <olly@survex.com>
29881
29882	* Makefile.am: Improved wording of a FIXME comment.
29883
29884Sun May 02 10:18:55 BST 2004  Olly Betts <olly@survex.com>
29885
29886	* backends/quartz/btree.cc: Improved a couple of comments.
29887
29888Sat May 01 04:42:43 BST 2004  Olly Betts <olly@survex.com>
29889
29890	* backends/quartz/btree.cc,backends/quartz/btree.h,
29891	  backends/quartz/quartz_table.cc: Reopening the readonly version
29892	  of a writable Btree is now more efficient.
29893
29894Sat May 01 01:41:24 BST 2004  Olly Betts <olly@survex.com>
29895
29896	* PLATFORMS: Added up-to-date success reports for x86-openbsd and
29897	  x86-solaris.
29898
29899Fri Apr 30 04:05:15 BST 2004  Olly Betts <olly@survex.com>
29900
29901	* backends/quartz/: Don't delete and reload the Btree_base just after
29902	  saving it - instead reuse the existing Btree_base object.
29903
29904Fri Apr 30 02:41:50 BST 2004  Olly Betts <olly@survex.com>
29905
29906	* backends/quartz/btree.cc: Clean up new code in Btree::commit()
29907	  from last change.
29908
29909Thu Apr 29 22:41:05 BST 2004  Olly Betts <olly@survex.com>
29910
29911	* backends/quartz/btree.cc,backends/quartz/quartz_table.cc: Don't
29912	  close and reopen the database table file descriptors every time
29913	  we flush changes.
29914
29915Thu Apr 29 22:40:36 BST 2004  Olly Betts <olly@survex.com>
29916
29917	* docs/quartzdesign.html: Improved wording in a couple of places.
29918
29919Thu Apr 29 16:50:45 BST 2004  Olly Betts <olly@survex.com>
29920
29921	* backends/quartz/bcursor.cc: Removed references to Btree::error
29922	  from debug code since Btree::error was removed a week ago.
29923
29924Tue Apr 27 20:46:25 BST 2004  Olly Betts <olly@survex.com>
29925
29926	* backends/quartz/btree.cc,configure.in: Added configure test for
29927	  glibc, because otherwise we need to include a header before we
29928	  can check for glibc in order to define something we should be
29929	  defining before we include any headers!
29930
29931Tue Apr 27 17:45:51 BST 2004  Olly Betts <olly@survex.com>
29932
29933	* backends/quartz/btree.cc: Only defined _XOPEN_SOURCE if __GLIBC__
29934	  is defined.  OpenBSD seems to do the opposite to Linux and *disable*
29935	  pread and pwrite if this is defined!
29936
29937Tue Apr 27 14:35:47 BST 2004  Olly Betts <olly@survex.com>
29938
29939	* api/omenquire.cc,tests/api_db.cc: Need to adjust index by firstitem
29940	  when indexing into items (bug#28).
29941
29942Mon Apr 26 23:45:15 BST 2004  Olly Betts <olly@survex.com>
29943
29944	* PLATFORMS: Successfully built with gcc-3.5-20040327 snapshot on x86
29945	  linux.
29946
29947Fri Apr 23 11:26:07 BST 2004  Olly Betts <olly@survex.com>
29948
29949	* PLATFORMS: Successfully built and tested on arm linux.
29950
29951Fri Apr 23 11:24:23 BST 2004  Olly Betts <olly@survex.com>
29952
29953	* tests/remotetest.cc: Use 127.0.0.1 instead of localhost so that
29954	  tcpmatch1 doesn't fail just because the network setup is broken.
29955
29956Thu Apr 22 00:54:58 BST 2004  Olly Betts <olly@survex.com>
29957
29958	* backends/quartz/: Stripped out Btree_errors as it's almost
29959	  totally unused now.  Fixed up the last few uses.
29960	* backends/quartz/quartz_table.cc: Fixed another case where read
29961	  and write Btrees should share fds.
29962
29963Wed Apr 21 02:51:08 BST 2004  Olly Betts <olly@survex.com>
29964
29965	* backends/quartz/btree.cc: Check the return value of
29966	  fdatasync()/fsync()/_commit() and raise an error.  They aren't
29967	  likely to fail harmlessly.
29968
29969Wed Apr 21 02:45:28 BST 2004  Olly Betts <olly@survex.com>
29970
29971	* backends/quartz/btree.cc,backends/quartz/btree.h,
29972	  backends/quartz/quartz_table.cc: Share file descriptors between
29973	  the read and write Btree objects so that a quartz WritableDatabase
29974	  now uses 5 fds rather than 10.
29975
29976Wed Apr 21 02:37:38 BST 2004  Olly Betts <olly@survex.com>
29977
29978	* docs/scalability.html: Removed the reference to the Quartz update
29979	  bottleneck "currently being addressed for Xapian 0.8" as it's now
29980	  been addressed!
29981
29982Wed Apr 21 00:24:08 BST 2004  Olly Betts <olly@survex.com>
29983
29984	* backends/quartz/btree.cc: Corrected a comment.
29985
29986Mon Apr 19 14:42:06 BST 2004  Olly Betts <olly@survex.com>
29987
29988	* NEWS: Final update for 0.8.0.
29989
29990Mon Apr 19 14:02:33 BST 2004  Olly Betts <olly@survex.com>
29991
29992	* AUTHORS: Added people who've contributed build reports for the
29993	  PLATFORMS file.
29994
29995Mon Apr 19 14:01:38 BST 2004  Olly Betts <olly@survex.com>
29996
29997	* PLATFORMS: More updates from tinderbox and elsewhere.
29998
29999Sat Apr 17 02:24:11 BST 2004  Olly Betts <olly@survex.com>
30000
30001	* PLATFORMS: Lots of updates from tinderbox and mailing list.
30002
30003Sat Apr 17 00:13:26 BST 2004  Olly Betts <olly@survex.com>
30004
30005	* HACKING: Added notes about using "using", and pointers to a couple
30006	  of useful C++ web resources.
30007
30008Mon Apr 12 00:56:04 BST 2004  Olly Betts <olly@survex.com>
30009
30010	* Makefile.am,NEWS,configure.in,extra/Makefile.am: Version 0.8.0.
30011
30012Mon Apr 12 00:31:15 BST 2004  Olly Betts <olly@survex.com>
30013
30014	* NEWS: Updated for 0.8.0.
30015
30016Sun Apr 11 21:18:47 BST 2004  Olly Betts <olly@survex.com>
30017
30018	* extra/queryparser.yy,extra/queryparsertest.cc: Don't use a raw term
30019	  for a term which starts with a digit.
30020
30021Sat Apr 10 17:20:23 BST 2004  Olly Betts <olly@survex.com>
30022
30023	* AUTHORS: "Open Muscat" not "OmSee"; Updated the list of contributors
30024	  (more work needed...)
30025
30026Sat Apr 10 16:41:28 BST 2004  Olly Betts <olly@survex.com>
30027
30028	* m4/xapian.m4: Make XO_LIB_XAPIAN with no arguments do what most
30029	  users will want: check for Xapian and fail if it's not found,
30030	  or AC_SUBST XAPIAN_CXXFLAGS and XAPIAN_LIBS if it is.  Those
30031	  will unusual needs can supply one or both arguments as at
30032	  present.
30033
30034Sat Apr 10 15:00:28 BST 2004  Olly Betts <olly@survex.com>
30035
30036	* docs/todo.xml: Updated.
30037
30038Sat Apr 10 00:32:07 BST 2004  Olly Betts <olly@survex.com>
30039
30040	* PLATFORMS: Added success report for GCC 3.4 (prerelease).
30041
30042Sat Apr 10 00:27:58 BST 2004  Olly Betts <olly@survex.com>
30043
30044	* extra/xapian/queryparser.h: Added doxygen documentation comments.
30045
30046Sat Apr 10 00:23:13 BST 2004  Olly Betts <olly@survex.com>
30047
30048	* testsuite/testsuite.cc: Removed a now superfluous line.
30049
30050Sat Apr 10 00:21:15 BST 2004  Olly Betts <olly@survex.com>
30051
30052	* testsuite/testsuite.cc: Give a more accurate message if valgrind
30053	  spots a test doing something dodgy (e.g. free() of memory allocated
30054	  with new).
30055
30056Thu Apr 08 17:22:20 BST 2004  Olly Betts <olly@survex.com>
30057
30058	* net/.cvsignore: No longer need to ignore readquery.cc.
30059
30060Thu Apr 08 17:19:43 BST 2004  Olly Betts <olly@survex.com>
30061
30062	* include/xapian/base.h: Note in doxygen comment why the ref_count
30063	  is mutable.
30064
30065Thu Apr 08 15:33:16 BST 2004  Olly Betts <olly@survex.com>
30066
30067	* testsuite/testsuite.cc: valgrinding code needs errno.h too.
30068
30069Thu Apr 08 15:28:44 BST 2004  Olly Betts <olly@survex.com>
30070
30071	* include/xapian/enquire.h: Make Xapian::Weight::Weight() protected
30072	  rather than private as we want to be able to call it from derived
30073	  classes (GCC 3.4 flags this, other compilers seem to miss it).
30074
30075Tue Apr 06 03:32:39 BST 2004  Olly Betts <olly@survex.com>
30076
30077	* net/omerr_string.cc,include/xapian/error.h,
30078	  include/xapian/errortypes.h,include/xapian/output.h:
30079	  Fixed some doxygen warnings.
30080
30081Mon Apr 05 17:21:06 BST 2004  Olly Betts <olly@survex.com>
30082
30083	* README: There never was an Omsee release - the last BrightStation
30084	  release was "OpenMuscat 0.4.1".
30085
30086Mon Apr 05 17:19:38 BST 2004  Olly Betts <olly@survex.com>
30087
30088	* backends/quartz/quartz_database.cc,
30089	  backends/quartz/quartz_database.h: Make the flush criterion 1000
30090	  documents changed (added, removed, or replaced) as that seems to
30091	  perform much better over a wide variety of document sizes.
30092
30093Thu Apr 01 01:04:17 BST 2004  Olly Betts <olly@survex.com>
30094
30095	* tests/quartztest.cc: Fixed temporary directory used (a slash was
30096	  missing).
30097
30098Thu Apr 01 00:39:59 BST 2004  Olly Betts <olly@survex.com>
30099
30100	* docs/todo.xml: Updated.
30101
30102Fri Mar 26 22:33:30 GMT 2004  Olly Betts <olly@survex.com>
30103
30104	* backends/quartz/quartz_database.cc: Fix problems with termfreq and
30105	  collfreq in postlist getting out of step when a recently modified
30106	  or deleted document is deleted or remodified.
30107
30108Fri Mar 26 12:31:24 GMT 2004  Olly Betts <olly@survex.com>
30109
30110	* configure.in: Fixed check for --enable-runtime-pseudo-reloc.
30111
30112Fri Mar 26 12:31:00 GMT 2004  Olly Betts <olly@survex.com>
30113
30114	* bin/Makefile.am: Removed spurious "-lz" from quartzdump_LDADD.
30115
30116Thu Mar 25 00:22:13 GMT 2004  Olly Betts <olly@survex.com>
30117
30118	* bin/quartzcheck.cc: Check the structure with the postlist Btree
30119	  as well as the Btree structures themselves.
30120
30121Sun Mar 21 00:00:59 GMT 2004  Olly Betts <olly@survex.com>
30122
30123	* backends/quartz/quartz_table_manager.cc: Fix for building on mingw.
30124
30125Sat Mar 20 23:04:27 GMT 2004  Olly Betts <olly@survex.com>
30126
30127	* include/xapian/positioniterator.h,include/xapian/postingiterator.h:
30128	  Add doxygen comments in front of PostingIterator and
30129	  PositionListIterator classes so that doxygen pulls out the
30130	  existing documentation for their methods.
30131
30132Sat Mar 20 16:23:13 GMT 2004  Olly Betts <olly@survex.com>
30133
30134	* configure.in,backends/quartz/quartz_table_manager.cc,common/utils.h:
30135	  Added configure test for link() to avoid infinite loop on mingw!
30136
30137Thu Mar 18 12:20:18 GMT 2004  Olly Betts <olly@survex.com>
30138
30139	* configure.in: Improved the --enable-runtime-pseudo-reloc check.
30140
30141Thu Mar 18 00:45:15 GMT 2004  Olly Betts <olly@survex.com>
30142
30143	* bin/Makefile.am,tests/Makefile.am: Pass the magic mingw/cygwin flag
30144	  when linking the programs in bin and tests.
30145
30146Thu Mar 18 00:33:22 GMT 2004  Olly Betts <olly@survex.com>
30147
30148	* configure.in,xapian-config.in: mingw and cygwin both need
30149	  -Wl,--enable-runtime-pseudo-reloc passing when linking.
30150	  Arrange for xapian-config to include this, and check that
30151	  the ld installed is a new enough version (or at least that
30152	  it was at configure time).
30153
30154Tue Mar 16 01:40:43 GMT 2004  Olly Betts <olly@survex.com>
30155
30156	* docs/matcherdesign.html: Merged in more details from a message I
30157	  sent to the mailing list.
30158
30159Mon Mar 15 20:39:21 GMT 2004  Olly Betts <olly@survex.com>
30160
30161	* tests/quartztest.cc: Fail the test if there's still a directory after
30162	  rmdir(), or there isn't a directory after mkdir().  Close a
30163	  QuartzDatabase or QuartzWritableDatabase before trying to overwrite
30164	  it - cygwin doesn't allow use to delete open/locked files...
30165
30166Mon Mar 15 20:38:11 GMT 2004  Olly Betts <olly@survex.com>
30167
30168	* backends/database.cc: Database::Internal::Internal::keep_alive()
30169	  should be Database::Internal::keep_alive().
30170
30171Mon Mar 15 17:20:58 GMT 2004  Olly Betts <olly@survex.com>
30172
30173	* include/xapian/base.h: Returning a void result makes SGI's compiler
30174	  complain - don't!
30175
30176Mon Mar 15 14:34:44 GMT 2004  Olly Betts <olly@survex.com>
30177
30178	* common/omdebug.cc: Only use O_SYNC (on the debug log) if we have it.
30179
30180Sun Mar 14 17:48:52 GMT 2004  Olly Betts <olly@survex.com>
30181
30182	* tests/runtest.in: Mark with @configure_input@.
30183
30184Thu Mar 11 23:53:43 GMT 2004  Olly Betts <olly@survex.com>
30185
30186	* common/database.h,common/termlist.h,include/xapian/database.h,
30187	  include/xapian/enquire.h: Attempted fixes for warnings given by
30188	  SGI's MIPSpro C++ compiler.
30189
30190Thu Mar 11 23:51:10 GMT 2004  Olly Betts <olly@survex.com>
30191
30192	* configure.in: GCC 2.95 supported -Wno-long-long and is our minimum
30193	  recommended version, so unconditionally use -Wno-long-long with
30194	  GCC, and don't test for it on other compilers (the test incorrectly
30195	  decided to use it with SGI's compiler leading to a warning for
30196	  every file compiled).
30197
30198Thu Mar 11 17:29:24 GMT 2004  Olly Betts <olly@survex.com>
30199
30200	* docs/intro_ir.html: Added a link to "Information Retrieval"
30201	  by Keith v.R. which can be read on his website!
30202
30203Thu Mar 11 17:12:35 GMT 2004  Olly Betts <olly@survex.com>
30204
30205	* PLATFORMS: Added IRIX success reports from Jim Lynch.
30206
30207Thu Mar 11 12:17:21 GMT 2004  Olly Betts <olly@survex.com>
30208
30209	* backends/quartz/quartz_database.cc: Fixes for Sun C++'s fussy
30210	  template matching.
30211
30212Thu Mar 11 12:12:46 GMT 2004  Olly Betts <olly@survex.com>
30213
30214	* include/xapian/enquire.h: Another friend fix for Sun's C++.
30215
30216Thu Mar 11 01:56:19 GMT 2004  Olly Betts <olly@survex.com>
30217
30218	* include/xapian/query.h: Another fix for Sun's C++.
30219
30220Tue Mar 09 21:02:08 GMT 2004  Olly Betts <olly@survex.com>
30221
30222	* include/xapian/document.h: string -> std::string.
30223
30224Tue Mar 09 19:04:48 GMT 2004  Olly Betts <olly@survex.com>
30225
30226	* api/omdocument.cc,common/document.h,include/xapian/document.h,
30227	  tests/api_db.cc,tests/api_posdb.cc: Renamed
30228	  Xapian::Document::add_term_nopos to Xapian::Document::add_term
30229	  (with forwarding wrapper method for compatibility with existing
30230	  code).
30231
30232Sat Mar 06 02:32:58 GMT 2004  Olly Betts <olly@survex.com>
30233
30234	* docs/: Updated the quickstart tutorial and removed the warning
30235	  that "this document isn't up to date".
30236
30237Sat Mar 06 01:56:17 GMT 2004  Olly Betts <olly@survex.com>
30238
30239	* api/omenquire.cc: Another tweak for Sun's C++ compiler.
30240
30241Sat Mar 06 01:31:29 GMT 2004  Olly Betts <olly@survex.com>
30242
30243	* common/omenquireinternal.h: Tweaked friend class declarations a
30244	  bit so Sun's C++ compiler can cope.
30245
30246Thu Mar 04 23:58:17 GMT 2004  Olly Betts <olly@survex.com>
30247
30248	* PLATFORMS: Updated with results from the tinderbox.
30249
30250Thu Mar 04 23:29:28 GMT 2004  Olly Betts <olly@survex.com>
30251
30252	* tests/btreetest.cc,tests/quartztest.cc: NetBSD mkdir() doesn't cope
30253	  with a trailing / on the path - fixed our code to cope with this.
30254
30255Wed Mar 03 19:14:09 GMT 2004  Olly Betts <olly@survex.com>
30256
30257	* docs/todo.xml: Updated.
30258
30259Fri Feb 13 23:56:44 GMT 2004  Olly Betts <olly@survex.com>
30260
30261	* api/omquery.cc,tests/api_nodb.cc: Throw error when an empty query is
30262	  used to build in the binary operator Query ctor.  Added regression
30263	  test.
30264
30265Fri Feb 13 15:08:09 GMT 2004  Olly Betts <olly@survex.com>
30266
30267	* HACKING: XAPIAN_DEBUG_TYPES should be XAPIAN_DEBUG_FLAGS.
30268
30269Sat Feb 07 14:26:54 GMT 2004  Olly Betts <olly@survex.com>
30270
30271	* docs/queryparser.html: Grammar fixes.
30272
30273Fri Jan 16 02:06:53 GMT 2004  Olly Betts <olly@survex.com>
30274
30275	* backends/quartz/quartz_postlist.cc: Fixed bug flagged up by deldoc4.
30276
30277Thu Jan 15 01:00:48 GMT 2004  Olly Betts <olly@survex.com>
30278
30279	* backends/quartz/quartz_termlist.cc: Use Xapian::doccount instead of
30280	  unsigned int in set_entries().
30281
30282Thu Jan 15 00:56:47 GMT 2004  Olly Betts <olly@survex.com>
30283
30284	* backends/quartz/btree.cc,backends/quartz/btree.h,
30285	  testsuite/btreecheck.cc: Made some static functions into static
30286	  member functions of Btree so we can avoid duplicating code in
30287	  btreecheck.cc.  Also tweaked compare_keys to use memcmp and
30288	  special case when the keys are the same length (each of these
30289	  changes gives a very small speed gain).
30290
30291Thu Jan 15 00:54:47 GMT 2004  Olly Betts <olly@survex.com>
30292
30293	* api/maptermlist.h: Removed a FIXME which already had been fixed.
30294	  Removed a couple of asserts from a function which should never be
30295	  called (and so had `Assert(false)' anyway).
30296
30297Mon Jan 12 00:32:37 GMT 2004  Olly Betts <olly@survex.com>
30298
30299	* bin/quartzdump.cc: Backslash escape space and backslash in output
30300	  rather than hex encoding them; renamed start-term and end-term to
30301	  start-key and end-key; removed rather pointless "Calling next"
30302	  message; if there's an error, write it to stderr not stdout, and
30303	  exit with return code 1.
30304
30305Sun Jan 11 03:23:17 GMT 2004  Olly Betts <olly@survex.com>
30306
30307	* backends/quartz/quartz_termlist.cc: When possible, pack the wdf into
30308	  the same byte as the reuse length - doing so typically makes the
30309	  termlist 14% smaller!  This change is backward compatible.
30310
30311Sat Jan 10 03:04:22 GMT 2004  Olly Betts <olly@survex.com>
30312
30313	* backends/quartz/quartz_postlist.cc: Fixed bug in new postlist
30314	  chunking code.
30315
30316Sat Jan 10 00:45:04 GMT 2004  Olly Betts <olly@survex.com>
30317
30318	* backends/quartz/quartz_termlist.cc: Removed unused
30319	  OLD_TERMLIST_FORMAT code.
30320
30321Fri Jan 09 21:54:34 GMT 2004  Olly Betts <olly@survex.com>
30322
30323	* backends/quartz/quartz_postlist.cc: Fix incorrect code which just
30324	  happens to build and work with GCC 2.95.
30325
30326Fri Jan 09 14:40:00 GMT 2004  Olly Betts <olly@survex.com>
30327
30328	* backends/quartz/quartz_postlist.cc: Tidied the initial call to
30329	  get_chunk() out of the merge loop (gives ~4% speedup!)
30330
30331Fri Jan 09 01:31:05 GMT 2004  Olly Betts <olly@survex.com>
30332
30333	* backends/quartz/quartz_postlist.cc: Implement chunking of postlists
30334	  once again.
30335
30336Thu Jan 08 21:06:37 GMT 2004  Olly Betts <olly@survex.com>
30337
30338	* backends/quartz/quartz_postlist.cc: Shortcut the very common case
30339	  of appending to a posting list (which happens when we're just
30340	  adding new documents).  Declare small helper functions as "inline".
30341
30342Wed Jan 07 23:21:59 GMT 2004  Olly Betts <olly@survex.com>
30343
30344	* backends/quartz/quartz_database.cc: Set threshold for flushing to
30345	  a saner value for the value we are now using.
30346	* backends/quartz/: Use freq_deltas to update the stats in the first
30347	  chunk of each postlist.
30348
30349Mon Jan 05 16:00:07 GMT 2004  Olly Betts <olly@survex.com>
30350
30351	* include/xapian/enquire.h: Made the TradWeight constructor explicit.
30352	  This is technically an API change as before you could pass a
30353	  double where a Xapian::Weight was required - now you must pass
30354	  Xapian::TradWeight(2.0) instead of 2.0.  That seems desirable, and
30355	  it's unlikely any existing code will be affected.
30356
30357Mon Jan 05 15:08:26 GMT 2004  Olly Betts <olly@survex.com>
30358
30359	* include/xapian/: Added "explicit" qualifier to internal ctors
30360	  which take a single parameter.
30361
30362Mon Jan 05 15:04:12 GMT 2004  Olly Betts <olly@survex.com>
30363
30364	* include/xapian/base.h: Assigning a normal pointer to a RefCntPtr no
30365	  longer creates a temporary RefCntPtr from it.
30366
30367Thu Dec 25 05:49:03 GMT 2003  Olly Betts <olly@survex.com>
30368
30369	* backends/quartz/quartz_postlist.cc: Changed to merge a batch of
30370	  changes into a posting list in one pass.
30371
30372Thu Dec 25 05:48:09 GMT 2003  Olly Betts <olly@survex.com>
30373
30374	* docs/quartzdesign.html: Some minor improvements.
30375
30376Thu Dec 25 05:39:57 GMT 2003  Olly Betts <olly@survex.com>
30377
30378	* tests/api_db.cc: Check returned docids are the expected values in a
30379	  couple more cases.  Improved wording of a comment.
30380
30381Thu Dec 25 05:38:43 GMT 2003  Olly Betts <olly@survex.com>
30382
30383	* backends/quartz/quartz_utils.h: Updated explanation of string
30384	  encoding.
30385
30386Thu Dec 25 05:37:36 GMT 2003  Olly Betts <olly@survex.com>
30387
30388	* backends/quartz/quartz_values.cc: Fixed problem with dereferencing
30389	  a pointer to the end of a string in debug output.
30390
30391Sun Dec 21 23:35:49 GMT 2003  Olly Betts <olly@survex.com>
30392
30393	* backends/quartz/quartz_postlist.cc: Refactor recently relocated code
30394	  to reduce duplication.
30395
30396Sun Dec 21 21:44:07 GMT 2003  Olly Betts <olly@survex.com>
30397
30398	* backends/quartz/quartz_postlist.cc: Renamed
30399	  skip_and_check_tname_in_key() to check_tname_in_key() as it doesn't
30400	  do any sort of skipping!
30401
30402Sun Dec 21 14:54:49 GMT 2003  Olly Betts <olly@survex.com>
30403
30404	* backends/quartz/quartz_postlist.cc,backends/quartz/quartz_postlist.h,
30405	  tests/quartztest.cc: Subsumed QuartzPostList::add_entry and
30406	  QuartzPostList::delete_entry into QuartzPostList::merge_changes.
30407
30408Sun Dec 21 03:21:42 GMT 2003  Olly Betts <olly@survex.com>
30409
30410	* backends/quartz/quartz_database.cc,
30411	  backends/quartz/quartz_postlist.cc,
30412	  backends/quartz/quartz_postlist.h: Move merging on postlist changes
30413	  into QuartzPostList in preparation for an efficient
30414	  reimplementation.
30415
30416Sun Dec 21 01:47:07 GMT 2003  Olly Betts <olly@survex.com>
30417
30418	* backends/quartz/quartz_postlist.h,
30419	  backends/quartz/quartz_table_entries.h: Fixed typos and incorrect
30420	  comments.
30421
30422Sat Dec 20 22:11:26 GMT 2003  Olly Betts <olly@survex.com>
30423
30424	* backends/quartz/: Removed several needless inclusions of
30425	  quartz_table_entries.h.
30426
30427Sat Dec 20 16:31:46 GMT 2003  Olly Betts <olly@survex.com>
30428
30429	* backends/quartz/,docs/quartzdesign.html: Removed all the quartz
30430	  lexicon code and docs.  It's been disabled for ages, and we've
30431	  not missed it.
30432
30433Sat Dec 20 01:21:47 GMT 2003  Olly Betts <olly@survex.com>
30434
30435	* backends/quartz/quartz_database.h: Added doxygen comments for the
30436	  QuartzWritableDatabase members we use to buffer changes.
30437
30438Sat Dec 20 01:19:10 GMT 2003  Olly Betts <olly@survex.com>
30439
30440	* backends/quartz/quartz_database.cc: Trigger autoflush on
30441	  totlen_added + totlen_removed rather than specially tracking the
30442	  number of document add/delete/replace operations.
30443
30444Fri Dec 19 22:51:26 GMT 2003  Olly Betts <olly@survex.com>
30445
30446	* backends/quartz/: Buffer up changes to the postlists and apply them
30447	  all at once (at present they're applied inefficiently, but this is
30448	  change enables us to apply them with an efficient merge).
30449	* tests/api_db.cc,tests/quartztest.cc: Added a couple of tests, and
30450	  commented out some test lines which fail in debug builds.
30451
30452Sun Dec 14 03:38:55 GMT 2003  Olly Betts <olly@survex.com>
30453
30454	* common/omdebug.cc: Open debug log with flag O_WRONLY so that we can
30455	  actually write to it!
30456
30457Mon Dec 08 01:53:24 GMT 2003  Olly Betts <olly@survex.com>
30458
30459	* HACKING: Update to mention that building from CVS requires
30460	  ./configure --enable-maintainer-mode (or use bootstrap).
30461
30462Mon Dec 01 19:03:00 GMT 2003  Olly Betts <olly@survex.com>
30463
30464	* configure.in: Fixed the "fixed" valgrind test.
30465
30466Sun Nov 30 23:42:52 GMT 2003  Olly Betts <olly@survex.com>
30467
30468	* configure.in,testsuite/testsuite.cc: Fix test for valgrind - it
30469	  wasn't working correctly when valgrind was installed but was too
30470	  a version to support VALGRIND_COUNT_ERRORS and VALGRIND_COUNT_LEAKS.
30471
30472Wed Nov 26 16:31:19 GMT 2003  Olly Betts <olly@survex.com>
30473
30474	* Makefile.am,extra/Makefile.am: Updated libtool -version-info
30475	  parameters for 0.7.5.
30476
30477Wed Nov 26 15:32:45 GMT 2003  Olly Betts <olly@survex.com>
30478
30479	* NEWS,PLATFORMS,configure.in: Version 0.7.5.
30480
30481Wed Nov 26 15:31:56 GMT 2003  Olly Betts <olly@survex.com>
30482
30483	* extra/queryparser.yy: Special case stemming language "none".
30484
30485Tue Nov 25 04:37:50 GMT 2003  Olly Betts <olly@survex.com>
30486
30487	* api/ompositionlistiterator.cc,api/ompostlistiterator.cc,
30488	  include/xapian/positioniterator.h,include/xapian/postingiterator.h,
30489	  tests/api_db.cc: Added missing default ctors for PostingIterator and
30490	  PositionIterator classes; fixed PositionIterator assignment operator.
30491
30492Tue Nov 25 03:40:11 GMT 2003  Olly Betts <olly@survex.com>
30493
30494	* tests/btreetest.cc: Fixed 2 compiler warnings.
30495
30496Tue Nov 25 02:47:16 GMT 2003  Olly Betts <olly@survex.com>
30497
30498	* common/,include/xapian/: Fixed incorrect doxygen comments which
30499	  resulted in some missing text in the collated API and internal
30500	  classes documentation.
30501
30502Fri Nov 21 03:23:57 GMT 2003  Olly Betts <olly@survex.com>
30503
30504	* Makefile.am,include/xapian/termiterator.h,api/omtermlistiterator.cc:
30505	  TermIterator::TermIterator() fix which actually works!
30506
30507Fri Nov 21 01:14:23 GMT 2003  Olly Betts <olly@survex.com>
30508
30509	* HACKING,configure.in,docs/Makefile.am,extra/Makefile.am: Change to
30510	  using AM_MAINTAINER_MODE.  If you're doing development work on
30511	  Xapian, you should configure with "--enable-maintainer-mode" and
30512	  ideally use GNU make.
30513
30514Fri Nov 21 01:13:25 GMT 2003  Olly Betts <olly@survex.com>
30515
30516	* include/xapian/termiterator.h,tests/api_nodb.cc: Added TermIterator
30517	  default ctor which had disappeared somehow.  Added regression test.
30518
30519Thu Nov 20 03:19:37 GMT 2003  Olly Betts <olly@survex.com>
30520
30521	* configure.in: Fixed test for fdatasync to work (I suspect a change
30522	  in a recent autoconf broke it as it relied on autoconf internal
30523	  naming).
30524
30525Tue Nov 18 17:53:29 GMT 2003  Olly Betts <olly@survex.com>
30526
30527	* extra/Makefile.am: Tweaked workaround for FreeBSD make in VPATH
30528	  builds.
30529
30530Tue Nov 18 17:53:01 GMT 2003  Olly Betts <olly@survex.com>
30531
30532	* extra/queryparsertest.cc: Added another testcase.
30533
30534Tue Nov 18 17:37:20 GMT 2003  Olly Betts <olly@survex.com>
30535
30536	* docs/: Added first cut of documentation for Xapian::QueryParser
30537	  query syntax.
30538	* docs/scalability.html: Fixed typo.
30539
30540Fri Oct 31 18:17:13 GMT 2003  Olly Betts <olly@survex.com>
30541
30542	* extra/queryparser.yy,extra/queryparsertest.cc: Added support for
30543	  term prefixes on phrases and expressions (e.g. author:(twain OR poe)
30544	  subject:"space flight").
30545
30546Tue Oct 28 15:03:01 GMT 2003  Olly Betts <olly@survex.com>
30547
30548	* api/omenquire.cc: Added FIXME comment.
30549
30550Tue Oct 28 15:01:14 GMT 2003  Olly Betts <olly@survex.com>
30551
30552	* docs/todo.xml: Removed Java from list of language bindings we'd
30553	  like to support, as we should have up-to-date Java bindings soon.
30554
30555Sun Oct 26 20:18:24 GMT 2003  Olly Betts <olly@survex.com>
30556
30557	* bin/quartzcompact.cc: Fix the name that the meta file gets copied
30558	  to (was /path/to/dbdirmeta rather than /path/to/dbdir/meta).
30559
30560Tue Oct 21 22:26:51 BST 2003  Olly Betts <olly@survex.com>
30561
30562	* extra/Makefile.am: Backed out previous change - the original rule
30563	  does work, but the build machine had a generated file which stopped
30564	  the symlink being generated.
30565
30566Tue Oct 21 22:14:22 BST 2003  Olly Betts <olly@survex.com>
30567
30568	* extra/Makefile.am: Tweaked rule to symlink queryparser.cc.
30569
30570Tue Oct 21 17:31:10 BST 2003  Olly Betts <olly@survex.com>
30571
30572	* extra/Makefile.am: Added rule to symlink queryparser.cc from source
30573	  tree to build tree - otherwise FreeBSD's make insists on
30574	  regenerating it...
30575
30576Wed Oct 08 14:04:44 BST 2003  Olly Betts <olly@survex.com>
30577
30578	* backends/quartz/.cvsignore,tests/Makefile.am,testsuite/.cvsignore:
30579	  Updated to reflect move of libbtreecheck.la from backends/quartz
30580	  to testsuite.
30581
30582Wed Oct 08 13:22:08 BST 2003  Olly Betts <olly@survex.com>
30583
30584	* backends/quartz/btree.cc: Don't pass mode argument to open when we
30585	  aren't specifying O_CREAT.
30586
30587Thu Oct 02 15:29:38 BST 2003  Olly Betts <olly@survex.com>
30588
30589	* NEWS: Another entry for omega for 0.7.4.
30590
30591Thu Oct 02 14:57:25 BST 2003  Olly Betts <olly@survex.com>
30592
30593	* configure.in,extra/Makefile.am: Version 0.7.4.
30594
30595Thu Oct 02 14:56:36 BST 2003  Olly Betts <olly@survex.com>
30596
30597	* HACKING: Improved wording in a few places.
30598
30599Thu Oct 02 14:39:49 BST 2003  Olly Betts <olly@survex.com>
30600
30601	* NEWS: Updated.
30602
30603Thu Oct 02 13:35:46 BST 2003  Olly Betts <olly@survex.com>
30604
30605	* xapian.spec.in: Don't hardcode the shared library versioning info.
30606
30607Wed Oct 01 13:51:15 BST 2003  Olly Betts <olly@survex.com>
30608
30609	* PLATFORMS: Updated - Solaris 8 + Sun Workshop C++ doesn't actually
30610	  pass "make check" (I forgot the tinderbox builds omega before "make
30611	  check").
30612
30613Tue Sep 30 21:39:20 BST 2003  Olly Betts <olly@survex.com>
30614
30615	* configure.in: Another stab at fixing the test for -lsocket.
30616
30617Tue Sep 30 18:29:31 BST 2003  Olly Betts <olly@survex.com>
30618
30619	* configure.in: Quote arguments to test in a couple of places.
30620
30621Tue Sep 30 11:20:09 BST 2003  Olly Betts <olly@survex.com>
30622
30623	* configure.in: Fixed test for -lsocket.
30624
30625Tue Sep 30 10:17:09 BST 2003  Olly Betts <olly@survex.com>
30626
30627	* PLATFORMS: Updated - Solaris 8 + Sun Workshop C++ builds and passes
30628	  "make check" (but Omega fails to build).
30629
30630Mon Sep 29 00:41:19 BST 2003  Olly Betts <olly@survex.com>
30631
30632	* configure.in: Fixed dependency libs for libxapian.
30633
30634Sun Sep 28 23:55:49 BST 2003  Olly Betts <olly@survex.com>
30635
30636	* Makefile.am,backends/quartz/Makefile.am,
30637	  backends/quartz/btreecheck.cc,backends/quartz/btreecheck.h,
30638	  bin/Makefile.am,testsuite/Makefile.am,testsuite/btreecheck.cc,
30639	  testsuite/btreecheck.h: libbtreecheck.la now has an explicit
30640	  dependency on libxapian.la.
30641
30642Sun Sep 28 17:29:55 BST 2003  Olly Betts <olly@survex.com>
30643
30644	* Makefile.am,configure.in: Tell libtool about any libraries which
30645	  libxapian needs to depend on.
30646
30647Fri Sep 26 09:39:29 BST 2003  Olly Betts <olly@survex.com>
30648
30649	* bin/Makefile.am: Swap order of libbtreecheck.la and libxapian.la
30650	  when linking quartzcheck to see if that gets it to work with
30651	  Sun's CC.
30652
30653Thu Sep 25 17:25:17 BST 2003  Olly Betts <olly@survex.com>
30654
30655	* xapian-config.in: Fixed stupid mistake in previous check-in.
30656
30657Thu Sep 25 16:50:00 BST 2003  Olly Betts <olly@survex.com>
30658
30659	* xapian-config.in: Link with libxapianqueryparser before libxapian,
30660	  since that's the dependency order.
30661
30662Thu Sep 25 16:43:20 BST 2003  Olly Betts <olly@survex.com>
30663
30664	* include/om/om.h: Updated comment about why we `#include <iostream>'.
30665
30666Thu Sep 25 13:13:37 BST 2003  Olly Betts <olly@survex.com>
30667
30668	* api/omqueryinternal.cc,backends/database.cc,common/omdebug.cc,
30669	  common/omstringstream.h,include/xapian/output.h: Removed or replaced
30670	  uses of <iostream> and <iosfwd> - we don't need or want the library
30671	  to pull in cin and friends.
30672
30673Thu Sep 25 13:12:31 BST 2003  Olly Betts <olly@survex.com>
30674
30675	* Makefile.am: Improved several comments.
30676
30677Thu Sep 25 11:57:03 BST 2003  Olly Betts <olly@survex.com>
30678
30679	* api/omqueryinternal.cc: Removed `#include <iostream>' left over from
30680	  debugging; changed to `using namespace std;'.
30681
30682Mon Sep 15 00:41:10 BST 2003  Olly Betts <olly@survex.com>
30683
30684	* extra/queryparser.yy: Fixed to build with Sun's C++ compiler.
30685
30686Thu Sep 11 03:35:29 BST 2003  Olly Betts <olly@survex.com>
30687
30688	* dummy.c,dummy.cc,Makefile.am: Change the default file to be C++ so
30689	  that automake tells libtool that this is a C++ library.
30690	* Makefile.am: Pass -no-undefined to libtool so that it will build
30691	  a DLL on MS Windows.
30692
30693Wed Sep 10 02:53:46 BST 2003  Olly Betts <olly@survex.com>
30694
30695	* docs/scalability.html: Fixed oops (32GB should be 32TB);  Added
30696	  note about Linux 2.4 and ext2 filesize limits.
30697
30698Tue Sep 09 03:36:05 BST 2003  Olly Betts <olly@survex.com>
30699
30700	* backends/quartz/quartz_database.cc: don't start the document's
30701	  TermIterator from scratch on every iteration in replace_document().
30702	  Should be a small performance win.
30703
30704Sun Sep 07 22:17:27 BST 2003  Olly Betts <olly@survex.com>
30705
30706	* configure.in: Fixed check for socketpair - we were automatically
30707	  disabling the remote backend on platforms where socketpair is
30708	  in libsocket (such as Solaris).
30709
30710Sun Sep 07 19:56:57 BST 2003  Olly Betts <olly@survex.com>
30711
30712	* PLATFORMS: Added success report for cygwin from Eric B. Ridge.
30713
30714Sun Sep 07 03:53:48 BST 2003  Olly Betts <olly@survex.com>
30715
30716	* testsuite/testsuite.cc: Also need to rerun test if it "probably
30717	  leaked".
30718
30719Sun Sep 07 03:51:37 BST 2003  Olly Betts <olly@survex.com>
30720
30721	* tests/api_db.cc: Use x & (x - 1) trick to check for x being a power
30722	  of 2, rather than an elaborate loop with shifting; use Xapian::docid
30723	  rather than "int" and "unsigned int".
30724
30725Sun Sep 07 02:24:06 BST 2003  Olly Betts <olly@survex.com>
30726
30727	* api/omenquire.cc: Fixed small memory leak if
30728	  Xapian::Enquire::set_query() is called more than once.
30729
30730Sun Sep 07 02:12:47 BST 2003  Olly Betts <olly@survex.com>
30731
30732	* common/omenquireinternal.h,include/xapian/enquire.h: Fixed
30733	  Xapian::ESet to have reference counted internals
30734	* Makefile.am: bumped libxapian version-info to 1:0:0 because of this.
30735
30736Sun Sep 07 02:09:50 BST 2003  Olly Betts <olly@survex.com>
30737
30738	* testsuite/testsuite.cc: Delete any buffered test output before
30739	  asking valgrind to check for leaks, as otherwise the buffered
30740	  output may be reported as a leak; also fixed |= to != in several
30741	  places - a cosmetic bug which lead to extra newlines after test
30742	  output.
30743
30744Sun Sep 07 00:09:32 BST 2003  Olly Betts <olly@survex.com>
30745
30746	* testsuite/testsuite.cc: Actually open temporary file for valgrind
30747	  to log to.
30748
30749Sat Sep 06 20:50:58 BST 2003  Olly Betts <olly@survex.com>
30750
30751	* configure.in,testsuite/testsuite.cc: Fixed up detection of valgrind
30752	  and testsuite code to use it.
30753
30754Sat Sep 06 20:48:17 BST 2003  Olly Betts <olly@survex.com>
30755
30756	* tests/btreetest.cc: Reinstated non-superfluous `/'s which I had
30757	  overeagerly removed!
30758
30759Sat Sep 06 17:28:00 BST 2003  Olly Betts <olly@survex.com>
30760
30761	* matcher/Makefile.am: Ship networkmatch.cc even if "make dist" is run
30762	  from a tree with the remote backend disabled.
30763
30764Thu Aug 28 00:01:22 BST 2003  Olly Betts <olly@survex.com>
30765
30766	* tests/btreetest.cc: Removed superfluous `/'s from constructed paths.
30767
30768Fri Aug 15 15:12:24 BST 2003  Olly Betts <olly@survex.com>
30769
30770	* PLATFORMS: Updated with current testsuite results for mingw build.
30771
30772Fri Aug 15 15:10:59 BST 2003  Olly Betts <olly@survex.com>
30773
30774	* backends/quartz/btree.cc: Use O_BINARY for database I/O if it
30775	  exists.
30776
30777Fri Aug 15 15:10:30 BST 2003  Olly Betts <olly@survex.com>
30778
30779	* common/utils.h: mkdir() only takes one argument on mingw.
30780
30781Fri Aug 15 01:26:22 BST 2003  Olly Betts <olly@survex.com>
30782
30783	* common/utils.h,testsuite/backendmanager.cc: Touch file using
30784	  open() rather than system().
30785
30786Fri Aug 15 01:06:06 BST 2003  Olly Betts <olly@survex.com>
30787
30788	* common/utils.h: Fixed parameter name of system from "filename" to
30789	  "command" (cosmetic change).
30790
30791Thu Aug 14 22:31:23 BST 2003  Olly Betts <olly@survex.com>
30792
30793	* net/progclient.cc: Tidied a little.
30794
30795Tue Aug 12 12:50:19 BST 2003  Olly Betts <olly@survex.com>
30796
30797	* backends/quartz/quartz_database.cc: Pass 0 for the lexicon/postlist
30798	  table when creating a termlist just to find the doc length.
30799
30800Tue Aug 12 02:08:50 BST 2003  Olly Betts <olly@survex.com>
30801
30802	* api/maptermlist.h,api/omdocument.cc,common/documentterm.h:
30803	  Removed unused OmDocumentTerm::termfreq member variable.
30804
30805Tue Aug 12 00:53:02 BST 2003  Olly Betts <olly@survex.com>
30806
30807	* api/omdocument.cc,common/documentterm.h: OmDocumentTerm ctor now
30808	  takes wdf, and replaced set_wdf() with inc_wdf() and dec_wdf().
30809
30810Mon Aug 11 16:11:26 BST 2003  Olly Betts <olly@survex.com>
30811
30812	* backends/quartz/quartz_table_entries.cc: Removed rather unnecessary
30813	  use of const_cast.
30814
30815Mon Aug 11 16:11:05 BST 2003  Olly Betts <olly@survex.com>
30816
30817	* backends/quartz/quartz_table.cc: Removed unused variable.
30818
30819Mon Aug 11 16:09:57 BST 2003  Olly Betts <olly@survex.com>
30820
30821	* backends/quartz/quartz_postlist.cc: Fixed typo in comment.
30822
30823Mon Aug 11 15:51:20 BST 2003  Olly Betts <olly@survex.com>
30824
30825	* tests/quartztest.cc: adddoc2 now checks that there weren't any extra
30826	  values created.
30827
30828Mon Aug 11 12:55:49 BST 2003  Olly Betts <olly@survex.com>
30829
30830	* configure.in: Sorted out tests for gethostbyname and gethostbyaddr
30831	  using standard autoconf macros.
30832
30833Mon Aug 11 12:05:13 BST 2003  Olly Betts <olly@survex.com>
30834
30835	* common/match.h,matcher/: Removed unused open_document() method from
30836	  SubMatch and derived classes; calls made by the matcher to
30837	  Document::Internal::open_document() now use the lazy flag provided
30838	  for precisely this purpose, but apparently never used - this should
30839	  give quite a speed boost to any matcher options which use values
30840	  (e.g. sort, collapse).
30841
30842Sun Aug 10 02:25:59 BST 2003  Olly Betts <olly@survex.com>
30843
30844	* PLATFORMS: Out of curiosity, I tried to build with a Linux->DJGPP
30845	  cross-compiler I had to hand.  It built (just had to disable the
30846	  remote backend if socketpair isn't found and add the workaround for
30847	  not having snprintf).
30848
30849Sun Aug 10 01:38:17 BST 2003  Olly Betts <olly@survex.com>
30850
30851	* common/utils.cc: Fixed to compile if snprintf isn't available.
30852
30853Sun Aug 10 01:37:44 BST 2003  Olly Betts <olly@survex.com>
30854
30855	* backends/quartz/btree.cc: Fixed "initialisation reordered" warning.
30856
30857Sun Aug 10 01:26:58 BST 2003  Olly Betts <olly@survex.com>
30858
30859	* acinclude.m4: Updated in line with previous change.
30860
30861Sun Aug 10 01:00:08 BST 2003  Olly Betts <olly@survex.com>
30862
30863	* configure.in: If fork is found, but socketpair isn't, automatically
30864	  disable the remote backend rather than configure dying with an
30865	  error.
30866	* autoconf/: Removed various unused autoconf macros.
30867
30868Sat Aug 09 23:57:44 BST 2003  Olly Betts <olly@survex.com>
30869
30870	* backends/quartz/btree.h: Made "overwritten" protected.
30871
30872Sat Aug 09 23:45:26 BST 2003  Olly Betts <olly@survex.com>
30873
30874	* docs/quartzdesign.html: Wrapped an overlong line.
30875
30876Sat Aug 09 23:31:30 BST 2003  Olly Betts <olly@survex.com>
30877
30878	* backends/quartz/btree.cc,backends/quartz/btree.h,
30879	  backends/quartz/quartz_table.cc,docs/quartzdesign.html:
30880	  Improved class Btree's encapsulation.
30881
30882Sat Aug 09 22:30:13 BST 2003  Olly Betts <olly@survex.com>
30883
30884	* NEWS: Fixed a few typos.
30885
30886Sat Aug 09 22:29:52 BST 2003  Olly Betts <olly@survex.com>
30887
30888	* PLATFORMS: Updated with results from the Tinderbox.
30889
30890Sat Aug 09 22:19:12 BST 2003  Fabrice Colin
30891
30892	* xapian.spec.in: Updated RPM packaging to reflect changes in 0.7.3.
30893
30894Fri Aug 08 01:38:40 BST 2003  Olly Betts <olly@survex.com>
30895
30896	* Makefile.am,configure.in,extra/Makefile.am: Version 0.7.3.
30897
30898Fri Aug 08 01:35:04 BST 2003  Olly Betts <olly@survex.com>
30899
30900	* NEWS: Updated.
30901
30902Fri Aug 08 01:34:29 BST 2003  Olly Betts <olly@survex.com>
30903
30904	* PLATFORMS: Updated with more tinderbox results.
30905
30906Wed Aug 06 16:27:34 BST 2003  Olly Betts <olly@survex.com>
30907
30908	* HACKING: Noted that libtool 1.5 is the first version to actually
30909	  support linking C++ libraries properly.
30910
30911Wed Aug 06 16:25:15 BST 2003  Olly Betts <olly@survex.com>
30912
30913	* api/omenquire.cc,net/socketcommon.cc,common/omenquireinternal.h:
30914	  Moved rset serialisation into a method of RSet::Internal, so
30915	  omrset_to_string() is now just glue code.  This eliminates the
30916	  need for it to be a friend of RSet::Internal which Sun's C++
30917	  compiler didn't seem to be able to cope with.
30918
30919Wed Aug 06 01:57:11 BST 2003  Olly Betts <olly@survex.com>
30920
30921	* api/omenquire.cc: Applied patch from Olivier Galibert to fix
30922	  MSetIterator::get_document() when get_mset() was called with
30923	  first != 0.
30924	* tests/api_db.cc: Added regression test (msetiterator3).
30925
30926Mon Aug 04 12:40:25 BST 2003  Olly Betts <olly@survex.com>
30927
30928	* languages/Makefile.am: Fixed compilation for compilers other than
30929	  GCC.
30930
30931Wed Jul 30 17:03:14 BST 2003  Olly Betts <olly@survex.com>
30932
30933	* common/getopt.h: Another try - the previous one failed on FreeBSD.
30934
30935Wed Jul 30 15:07:58 BST 2003  Olly Betts <olly@survex.com>
30936
30937	* common/getopt.h: Another iteration of the getopt C++ prototype fix
30938	  as the previous one failed on Solaris.
30939
30940Wed Jul 30 02:38:47 BST 2003  Olly Betts <olly@survex.com>
30941
30942	* testsuite/backendmanager.cc: Fixed breakage caused by remotetest
30943	  cleanup.
30944
30945Tue Jul 29 13:22:20 BST 2003  Olly Betts <olly@survex.com>
30946
30947	* tests/remotetest.cc: Cleaned up uses of
30948	  BackendManager::get_database() to pass a string rather than a vector
30949	  with one string in.
30950
30951Tue Jul 29 11:58:21 BST 2003  Olly Betts <olly@survex.com>
30952
30953	* testsuite/testutils.cc: Added output of const vector<unsigned int>
30954	  for platforms which use our internal stringstream implementation.
30955
30956Tue Jul 29 11:42:54 BST 2003  Olly Betts <olly@survex.com>
30957
30958	* PLATFORMS: Updated with results from the tinderbox.
30959
30960Tue Jul 29 01:21:53 BST 2003  Olly Betts <olly@survex.com>
30961
30962	* testsuite/testsuite.cc,testsuite/testsuite.h: Only use \r in test
30963	  output if the output is a tty.
30964
30965Mon Jul 28 23:56:10 BST 2003  Olly Betts <olly@survex.com>
30966
30967	* xapian-config.in: Fixed fix of --cxxflags for uninstalled VPATH
30968	  builds.
30969
30970Mon Jul 28 23:37:15 BST 2003  Olly Betts <olly@survex.com>
30971
30972	* testsuite/backendmanager.cc: Increased default timeout used by
30973	  tests running on the remote backend from 10 seconds to 5 minutes
30974	  to avoid tests failing just because the machine running them is
30975	  slow and/or busy.
30976
30977Mon Jul 28 15:41:12 BST 2003  Olly Betts <olly@survex.com>
30978
30979	* testsuite/testutils.h: Fixed check for broken exception handling
30980	  - we were getting "Xapian::" prefixed to one version and not on the
30981	  other.
30982
30983Mon Jul 28 15:34:54 BST 2003  Olly Betts <olly@survex.com>
30984
30985	* tests/runtest.in: Set srcdir if it isn't already to make it easy
30986	  to manually run test programs from a VPATH build.
30987
30988Mon Jul 28 10:38:04 BST 2003  Olly Betts <olly@survex.com>
30989
30990	* xapian-config.in: Fixed --cxxflags for uninstalled VPATH builds.
30991
30992Mon Jul 28 10:37:17 BST 2003  Olly Betts <olly@survex.com>
30993
30994	* PLATFORMS: Updated FreeBSD success report.
30995
30996Sun Jul 27 16:01:25 BST 2003  Olly Betts <olly@survex.com>
30997
30998	* configure.in: Explicitly remove include/xapian/version.h from
30999	  APIDOC_SRC to avoid us trying to run doxygen unnecessarily.
31000
31001Sun Jul 27 14:31:36 BST 2003  Olly Betts <olly@survex.com>
31002
31003	* docs/todo.xml: Assorted updates.
31004
31005Sun Jul 27 13:02:36 BST 2003  Olly Betts <olly@survex.com>
31006
31007	* extra/.cvsignore: We still create libomqueryparser.la for backward
31008	  compatibility.
31009
31010Sun Jul 27 04:56:40 BST 2003  Olly Betts <olly@survex.com>
31011
31012	* xapian-config.in,m4/xapian.m4: Added --from-xo-lib-xapian option
31013	  to xapian-config for use by XO_LIB_XAPIAN to allow us to give a
31014	  more helpful error message if asked to link an uninstalled
31015	  libxapian.
31016
31017Sun Jul 27 04:46:48 BST 2003  Olly Betts <olly@survex.com>
31018
31019	* xapian-config.in: Fixed --cxxflags in non-installed case.
31020	  Tidied up --help output and error messages.
31021
31022Sun Jul 27 01:40:39 BST 2003  Olly Betts <olly@survex.com>
31023
31024	* tests/api_db.cc: Check termfreq in allterms4.
31025
31026Sun Jul 27 01:39:57 BST 2003  Olly Betts <olly@survex.com>
31027
31028	* extra/queryparsertest.cc: Fixed for relocated queryparser.h.
31029
31030Sun Jul 27 00:59:56 BST 2003  Olly Betts <olly@survex.com>
31031
31032	* .cvsignore,backends/quartz/.cvsignore,extra/.cvsignore: Updated.
31033
31034Sun Jul 27 00:19:11 BST 2003  Olly Betts <olly@survex.com>
31035
31036	* tests/Makefile.am: Oops, failed to remove btreecheck.cc reference
31037	  in previous check-in.
31038
31039Sat Jul 26 23:36:01 BST 2003  Olly Betts <olly@survex.com>
31040
31041	* backends/quartz/Makefile.am,bin/Makefile.am,tests/Makefile.am:
31042	  Hopefully fixed "make dist" in VPATH builds.
31043
31044Sat Jul 26 22:58:27 BST 2003  Olly Betts <olly@survex.com>
31045
31046	* backends/quartz/Makefile.am: Need to distribute btreecheck.cc.
31047
31048Sat Jul 26 20:05:47 BST 2003  Olly Betts <olly@survex.com>
31049
31050	* xapian-config.in,extra/Makefile.am,extra/queryparser.h,
31051	  extra/queryparser.yy,extra/xapian/queryparser.h: Sorted out
31052	  xapian-config so it handles using QueryParser too.
31053
31054Sat Jul 26 19:03:04 BST 2003  Olly Betts <olly@survex.com>
31055
31056	* xapian-config.in: Updated logic in --libs and --cxxflags in line
31057	  with recent change in --ltlibs.
31058
31059Sat Jul 26 18:31:11 BST 2003  Olly Betts <olly@survex.com>
31060
31061	* xapian-config.in: Reworked logic for finding libxapian.la in
31062	  --ltlibs - it may not yet exist in the non-installed case.
31063	* m4/xapian.m4: Don't pass --libs when checking if xapian-config
31064	  works as it will fail in the non-installed case.
31065
31066Sat Jul 26 01:25:46 BST 2003  Olly Betts <olly@survex.com>
31067
31068	* NEWS: Updated.
31069
31070Fri Jul 25 10:20:18 BST 2003  Olly Betts <olly@survex.com>
31071
31072	* NEWS: Updated in preparation for 0.7.3 release.
31073
31074Thu Jul 24 23:20:14 BST 2003  Olly Betts <olly@survex.com>
31075
31076	* backends/quartz/quartz_alltermslist.cc,
31077	  backends/quartz/quartz_alltermslist.h,tests/api_db.cc:
31078	  Fixed allterms TermIterator to not give duplicate terms with a
31079	  quartz database when a posting list is chunked; added regression
31080	  test (allterms4).
31081
31082Mon Jul 21 15:06:59 BST 2003  Richard Boulton <richard@tartarus.org>
31083
31084	* include/xapian/enquire.h: Fix incorrect documentation comment
31085	  for Enquire::set_set_forward().  (Looked like a cut&paste error)
31086
31087Mon Jul 21 01:10:55 BST 2003  Olly Betts <olly@survex.com>
31088
31089	* docs/install.html,m4/xapian.m4: Added XO_LIB_XAPIAN to replace
31090	  OM_PATH_XAPIAN.  XO_LIB_XAPIAN will automagically enable use of
31091	  "xapian-config --ltlibs" if A[CM]_PROG_LIBTOOL is used in
31092	  configure.in.
31093
31094Sun Jul 20 16:00:43 BST 2003  Olly Betts <olly@survex.com>
31095
31096	* .cvsignore,Makefile.am,configure.in,xapian-config.in,
31097	  xapian-config.nodep.in: Reworked xapian-config so that it
31098	  now supports linking with libtool - using libtool means that the
31099	  run-time library path is set and that you can now link with an
31100	  uninstalled libxapian.  Also xapian-config will now work
31101	  once configure is run, rather than only after "make all".
31102
31103Thu Jul 17 01:42:47 BST 2003  Olly Betts <olly@survex.com>
31104
31105	* backends/quartz/bcursor.cc,backends/quartz/btree.cc: Check for
31106	  EINTR when reading or writing blocks and retry the operation.
31107
31108Thu Jul 17 00:56:35 BST 2003  Olly Betts <olly@survex.com>
31109
31110	* COPYING: Updated FSF address, and reinstated missing section: "How
31111	  to Apply These Terms to Your New Programs"
31112
31113Thu Jul 17 00:48:40 BST 2003  Olly Betts <olly@survex.com>
31114
31115	* HACKING,bootstrap: Removed bootstrap in favour of top-level
31116	  bootstrap.
31117
31118Mon Jul 14 23:36:14 BST 2003  Olly Betts <olly@survex.com>
31119
31120	* PLATFORMS: Updated some linux results: RH7.3 on x86, and Debian on
31121	  alpha and arm.
31122
31123Mon Jul 14 23:33:17 BST 2003  Olly Betts <olly@survex.com>
31124
31125	* configure.in,Makefile.am,extra/Makefile.am: Added versioning
31126	  information to libxapian and libomqueryparser.
31127
31128Mon Jul 14 23:32:15 BST 2003  Olly Betts <olly@survex.com>
31129
31130	* bin/quartzdump.cc,testsuite/testsuite.cc: Added long option support
31131	  to quartzdump, and to the testsuite programs.
31132
31133Mon Jul 14 22:45:53 BST 2003  Olly Betts <olly@survex.com>
31134
31135	* tests/internaltest.cc: Changed test exception1 to actually test
31136	  something (hopefully what was originally intended!)
31137
31138Mon Jul 14 17:15:28 BST 2003  Olly Betts <olly@survex.com>
31139
31140	* common/getopt.h: #include <stdlib.h> before defining getopt as a
31141	  macro - hopefully that'll avoid problems with clobbering prototypes
31142	  of getopt() in system headers.
31143
31144Sat Jul 12 09:15:26 BST 2003  Olly Betts <olly@survex.com>
31145
31146	* bin/quartzcompact.cc: Need stdio.h for rename().
31147
31148Sat Jul 12 01:11:54 BST 2003  Olly Betts <olly@survex.com>
31149
31150	* HACKING: Noted another reason why libtool 1.5 is needed.
31151
31152Sat Jul 12 01:11:08 BST 2003  Olly Betts <olly@survex.com>
31153
31154	* docs/mkdoc.pl: Don't choke on a comment at the end of the
31155	  DIST_SUBDIRS line in a Makefile.am.
31156
31157Fri Jul 11 22:00:36 BST 2003  Olly Betts <olly@survex.com>
31158
31159	* HACKING: Added note about additional tools needed for building a
31160	  distribution.
31161
31162Fri Jul 11 15:13:08 BST 2003  Olly Betts <olly@survex.com>
31163
31164	* NEWS,PLATFORMS,configure.in: Version 0.7.2.
31165
31166Fri Jul 11 12:36:18 BST 2003  Olly Betts <olly@survex.com>
31167
31168	* NEWS: Updated in preparation for 0.7.2.
31169
31170Fri Jul 11 12:12:40 BST 2003  Olly Betts <olly@survex.com>
31171
31172	* configure.in: Fixed test for snprintf.
31173
31174Fri Jul 11 09:37:14 BST 2003  Olly Betts <olly@survex.com>
31175
31176	* testsuite/testsuite.cc: Fixed dereference of a NULL pointer which
31177	  was happening when a test threw an unexpected exception.
31178
31179Fri Jul 11 09:31:40 BST 2003  Olly Betts <olly@survex.com>
31180
31181	* testsuite/backendmanager.cc: Backed out incorrect hunk of previous
31182	  patch which was causing test failures.
31183
31184Fri Jul 11 01:48:21 BST 2003  Olly Betts <olly@survex.com>
31185
31186	* backends/quartz/quartz_table_manager.cc,tests/quartztest.cc,
31187	  testsuite/backendmanager.cc: Tidying up around directory creation.
31188
31189Fri Jul 11 00:57:12 BST 2003  Olly Betts <olly@survex.com>
31190
31191	* include/xapian/database.h: Document that the directory is created.
31192
31193Fri Jul 11 00:53:59 BST 2003  Olly Betts <olly@survex.com>
31194
31195	* backends/quartz/quartz_table_manager.cc: When asked to create a
31196	  quartz database, try to create the directory if it doesn't already
31197	  exist.  Then we don't have to do it in every single Xapian program
31198	  which wants to create a database...
31199
31200Fri Jul 11 00:36:00 BST 2003  Olly Betts <olly@survex.com>
31201
31202	* common/getopt.h: Removed space between \ and newline.
31203
31204Fri Jul 11 00:32:40 BST 2003  Olly Betts <olly@survex.com>
31205
31206	* PLATFORMS: Added MacOS X 10.2 success report.
31207
31208Thu Jul 10 20:05:58 BST 2003  Olly Betts <olly@survex.com>
31209
31210	* common/getopt.h: Fixed to work better with C++ compilers on
31211	  non-glibc platforms.
31212
31213Thu Jul 10 19:21:00 BST 2003  Olly Betts <olly@survex.com>
31214
31215	* backends/quartz/btree.cc: Modified setting of _XOPEN_SOURCE to
31216	  actually work!
31217
31218Thu Jul 10 19:19:30 BST 2003  Olly Betts <olly@survex.com>
31219
31220	* backends/quartz/btree.cc: Defined _XOPEN_SOURCE=500 for GLIBC
31221	  so we get pread() and pwrite().
31222
31223Thu Jul 10 00:28:25 BST 2003  Olly Betts <olly@survex.com>
31224
31225	* HACKING,Makefile.am,configure.in,bindings/.cvsignore,
31226	  bindings/Makefile.am,bindings/dir_contents,bindings/guile/.cvsignore,
31227	  bindings/guile/Makefile.am,bindings/php4/.cvsignore,
31228	  bindings/php4/ABOUT,bindings/php4/Makefile.am,bindings/python/,
31229	  bindings/swig/,bindings/tcl8/.cvsignore,bindings/tcl8/Makefile.am,
31230	  docs/todo.xml: Removed bindings - they'll shortly reappear in a
31231	  separate module named xapian-bindings.
31232
31233Thu Jul 10 00:03:04 BST 2003  Olly Betts <olly@survex.com>
31234
31235	* bindings/swig/om_util_perl5.i: Removed.
31236
31237Wed Jul 09 15:35:56 BST 2003  Olly Betts <olly@survex.com>
31238
31239	* bindings/guile/Makefile.am,bindings/php4/Makefile.am,
31240	  bindings/python/Makefile.am,bindings/swig/,
31241	  bindings/tcl8/Makefile.am: Removed omtypes.i and merged omstem.i
31242	  into xapian.i; added forward declaration for upwrapped classes
31243	  to xapian.i.
31244
31245Wed Jul 09 15:34:11 BST 2003  Olly Betts <olly@survex.com>
31246
31247	* bindings/java/,bindings/java/com/muscat/om/,bindings/java/native/:
31248	  Removed old Java bindings - we'll do them using SWIG instead.
31249
31250Wed Jul 09 14:51:51 BST 2003  Olly Betts <olly@survex.com>
31251
31252	* bindings/php4/Makefile.am,bindings/php4/xapian/.cvsignore: More
31253	  work on the php4 bindings.
31254
31255Wed Jul 09 03:00:17 BST 2003  Olly Betts <olly@survex.com>
31256
31257	* bindings/guile/Makefile.am,bindings/python/Makefile.am,
31258	  bindings/tcl8/Makefile.am: Worked towards getting guile and tcl8
31259	  bindings up-to-date.
31260	* bindings/php4/.cvsignore: Ignore the whole xapian subdirectory.
31261
31262Wed Jul 09 02:37:12 BST 2003  Olly Betts <olly@survex.com>
31263
31264	* bindings/perl5/: Removed remaining files.
31265
31266Wed Jul 09 02:30:55 BST 2003  Olly Betts <olly@survex.com>
31267
31268	* configure.in,bindings/Makefile.am,bindings/php4/Makefile.am:
31269	  Working towards getting the php4 bindings functional again.
31270
31271Wed Jul 09 01:27:39 BST 2003  Olly Betts <olly@survex.com>
31272
31273	* bindings/swig/om_util_php4.i: om_termname -> std::string.
31274
31275Wed Jul 09 01:25:11 BST 2003  Olly Betts <olly@survex.com>
31276
31277	* docs/overview.html,include/xapian/base.h,include/xapian/database.h:
31278	  Improvements to doxygen-generated documentation.
31279
31280Wed Jul 09 01:23:55 BST 2003  Olly Betts <olly@survex.com>
31281
31282	* configure.in,docs/todo.xml: Added check for SWIG version (require
31283	  at least 1.3.14).
31284
31285Tue Jul  8 20:59:08 2003  James Aylett  <james@tartarus.org>
31286
31287	* common/utils.h: missing #include <ctype.h>
31288
31289Tue Jul  8 18:06:23 2003  James Aylett  <james@tartarus.org>
31290
31291	* bindings/swig/xapian.i: over-enthusiastic automatic
31292	  conversion of termname to std::string
31293
31294Tue Jul 08 17:45:16 BST 2003  Olly Betts <olly@survex.com>
31295
31296	* common/utils.h: Improved mingw implementation of rmdir().
31297
31298Tue Jul 08 17:43:21 BST 2003  Olly Betts <olly@survex.com>
31299
31300	* NEWS,PLATFORMS,configure.in: Version 0.7.1.
31301
31302Sun Jul 06 21:35:08 BST 2003  Olly Betts <olly@survex.com>
31303
31304	* backends/quartz/btree.cc: Minor tweak.
31305
31306Sun Jul 06 21:34:30 BST 2003  Olly Betts <olly@survex.com>
31307
31308	* common/utils.h: Compile fixes for mingw.
31309
31310Sun Jul 06 17:59:26 BST 2003  Olly Betts <olly@survex.com>
31311
31312	* docs/scalability.html: Fixed typo.
31313
31314Sun Jul 06 13:02:09 BST 2003  Olly Betts <olly@survex.com>
31315
31316	* docs/scalability.html: Fixed typo.
31317
31318Sun Jul 06 12:56:08 BST 2003  Olly Betts <olly@survex.com>
31319
31320	* docs/Makefile.am,docs/index.html,docs/scalability.html: Added new
31321	  document on Xapian's scalability.
31322
31323Sun Jul 06 12:15:34 BST 2003  Olly Betts <olly@survex.com>
31324
31325	* backends/quartz/: Made quartz block count unsigned, which should
31326	  nearly double the size of database for a given block size.
31327
31328Sun Jul 06 11:47:46 BST 2003  Olly Betts <olly@survex.com>
31329
31330	* backends/quartz/: Use BLK_UNUSED rather than literal -1.
31331
31332Sun Jul 06 11:47:14 BST 2003  Olly Betts <olly@survex.com>
31333
31334	* common/utils.h: Fixed last check-in to compile.
31335
31336Sun Jul 06 11:01:03 BST 2003  Olly Betts <olly@survex.com>
31337
31338	* common/utils.h,tests/btreetest.cc,tests/quartztest.cc,
31339	  testsuite/backendmanager.cc: Replaced system("rm -rf ...") with
31340	  rmdir() function and added two ms windows implementations for
31341	  Sam to try.
31342
31343Sat Jul 05 10:37:35 BST 2003  Olly Betts <olly@survex.com>
31344
31345	* getopt/getopt.c: Suppress "unused variable" warnings from getopt.c.
31346
31347Sat Jul 05 02:21:11 BST 2003  Olly Betts <olly@survex.com>
31348
31349	* docs/todo.xml: Updated.
31350
31351Sat Jul 05 02:09:06 BST 2003  Olly Betts <olly@survex.com>
31352
31353	* configure.in,backends/quartz/btree.cc: Use pread() and pwrite() if
31354	  available - this avoids one syscall per block read/write.
31355
31356Fri Jul 04 22:05:14 BST 2003  Olly Betts <olly@survex.com>
31357
31358	* PLATFORMS: Added results from building 0.7.0 on my Linux dev box.
31359
31360Fri Jul 04 18:52:07 BST 2003  Olly Betts <olly@survex.com>
31361
31362	* extra/Makefile.am: Distribute symboltab.h.
31363
31364Fri Jul 04 18:04:53 BST 2003  Olly Betts <olly@survex.com>
31365
31366	* common/Makefile.am: Distribute documentterm.h.
31367
31368Fri Jul 04 15:30:28 BST 2003  Olly Betts <olly@survex.com>
31369
31370	* configure.in: Disabled guile, tcl8, and php4 here as well as in
31371	  bindings/Makefile.am.
31372
31373Fri Jul  4 11:27:53 2003  James Aylett  <james@tartarus.org>
31374
31375	* bindings/Makefile.am: change commenting so mkdoc.pl doesn't
31376	  choke
31377
31378Fri Jul  4 10:51:04 2003  James Aylett  <james@tartarus.org>
31379
31380	* bootstrap: add missing ';;' as case pattern delimiter
31381
31382Thu Jul 03 23:46:14 BST 2003  Olly Betts <olly@survex.com>
31383
31384	* bindings/Makefile.am,bindings/python/Makefile.am: Fixed to work with
31385	  "make dist".
31386
31387Thu Jul 03 23:29:06 BST 2003  Olly Betts <olly@survex.com>
31388
31389	* NEWS,PLATFORMS,configure.in: Version 0.7.0.
31390
31391Thu Jul 03 22:57:22 BST 2003  Olly Betts <olly@survex.com>
31392
31393	* PLATFORMS: Updated (Linux GCC 2.95 and Linux to mingw cross).
31394
31395Thu Jul 03 22:55:54 BST 2003  Olly Betts <olly@survex.com>
31396
31397	* extra/queryparser.yy,extra/queryparsertest.cc: Allow more than one
31398	  adjacent phrase generating character.
31399
31400Thu Jul 03 22:12:18 BST 2003  Olly Betts <olly@survex.com>
31401
31402	* extra/queryparser.yy,extra/queryparsertest.cc: Always ignore phrase
31403	  generating characters at start and end of query.
31404
31405Thu Jul 03 21:02:10 BST 2003  Olly Betts <olly@survex.com>
31406
31407	* extra/Makefile.am: Fixed for mingw compile.
31408
31409Thu Jul 03 19:24:50 BST 2003  Olly Betts <olly@survex.com>
31410
31411	* buildall,docs/OMAims: Removed unwanted old files.
31412
31413Thu Jul 03 19:18:41 BST 2003  Olly Betts <olly@survex.com>
31414
31415	* backends/quartz/runquartztest: Obsolete, so removed.
31416
31417Thu Jul 03 01:26:03 BST 2003  Olly Betts <olly@survex.com>
31418
31419	* common/omenquireinternal.h: Fix for building with GCC 3.3.
31420
31421Thu Jul 03 01:02:54 BST 2003  Olly Betts <olly@survex.com>
31422
31423	* NEWS: Updated.
31424
31425Wed Jul 02 22:18:07 BST 2003  Olly Betts <olly@survex.com>
31426
31427	* backends/quartz/bcursor.cc,backends/quartz/bcursor.h:
31428	  Made Bcursor::get_key(string * key) const.
31429
31430Wed Jul 02 21:51:43 BST 2003  Olly Betts <olly@survex.com>
31431
31432	* backends/quartz/: Workaround for shared_level problem turns out to
31433	  be arguably the better approach, so made it permanent and tidied up
31434	  code.
31435
31436Mon Jun 23 21:39:50 BST 2003  Olly Betts <olly@survex.com>
31437
31438	* NEWS: Updated in preparation for 0.7.0 release.
31439
31440Mon Jun 23 21:18:23 BST 2003  Olly Betts <olly@survex.com>
31441
31442	* extra/omparsequery.h: Corrected include protection token comment on
31443	  #endif to match that used in the #ifdef.
31444
31445Mon Jun 23 21:10:33 BST 2003  Olly Betts <olly@survex.com>
31446
31447	* bootstrap: Check for Bison 1.875 which doesn't work with Xapian.
31448
31449Mon Jun 23 21:08:35 BST 2003  Olly Betts <olly@survex.com>
31450
31451	* HACKING: Automake 1.7 works reliably with Xapian; CFLAGS=-Werror can
31452	  now be used as we suppress the warnings from the Snowball generated
31453	  C code.
31454
31455Mon Jun 23 16:55:54 BST 2003  Olly Betts <olly@survex.com>
31456
31457	* api/,backends/inmemory/inmemory_database.cc,
31458	  backends/inmemory/inmemory_database.h,backends/quartz/,
31459	  bindings/swig/om_util_python.i,bindings/swig/xapian.i,common/,
31460	  include/Makefile.am,include/xapian.h,include/om/om.h,include/xapian/,
31461	  matcher/localmatch.h,matcher/phrasepostlist.h,tests/api_db.cc,
31462	  tests/api_posdb.cc,tests/quartztest.cc:
31463	  Xapian::Xapian::PostListIterator -> Xapian::PostingIterator;
31464	  Xapian::PositionListIterator -> Xapian::PositionIterator;
31465	  xapian/postlistiterator.h -> xapian/postingiterator.h;
31466	  xapian/positionlistiterator.h -> xapian/positioniterator.h.
31467
31468Mon Jun 23 15:31:30 BST 2003  Olly Betts <olly@survex.com>
31469
31470	* backends/database.cc,backends/inmemory/inmemory_database.h,
31471	  backends/muscat36/,backends/quartz/,bindings/python/Makefile.am,
31472	  bindings/swig/om_util.i,bindings/swig/omstem.i,docs/quickstart.html,
31473	  docs/todo.xml,include/xapian/database.h,include/xapian/enquire.h,
31474	  include/xapian/errortypes.h,tests/api_db.cc,tests/quartztest.cc,
31475	  testsuite/backendmanager.cc,testsuite/textfile_indexer.cc:
31476	  Xapian::OpeningError renamed to Xapian::DatabaseOpeningError.
31477	* include/om/om.h: OmOpeningError now maps to
31478	  Xapian::DatabaseOpeningError.
31479
31480Mon Jun 23 01:44:45 BST 2003  Olly Betts <olly@survex.com>
31481
31482	* api/,backends/inmemory/inmemory_database.cc,
31483	  backends/muscat36/da_database.cc,backends/muscat36/db_database.cc,
31484	  backends/net/net_database.cc,backends/net/net_termlist.cc,
31485	  backends/net/net_termlist.h,backends/quartz/,bin/omprogsrv.cc,
31486	  bin/quartzdump.cc,common/,include/xapian/error.h,
31487	  include/xapian/errorhandler.h,matcher/emptymatch.h,net/,
31488	  tests/quartztest.cc,tests/stemtest.cc,testsuite/testsuite.cc,
31489	  testsuite/textfile_indexer.cc: Use '#include <...>' for headers
31490	  in include/.
31491
31492Thu Jun 19 17:55:07 BST 2003  Olly Betts <olly@survex.com>
31493
31494	* common/netserver.h,common/socketserver.h,matcher/localmatch.cc,
31495	  matcher/multimatch.cc,net/socketserver.cc: Removed unused header
31496	  inclusion; pass Stats and Xapian::Database by const reference, not
31497	  value.
31498
31499Thu Jun 19 14:50:49 BST 2003  Olly Betts <olly@survex.com>
31500
31501	* extra/queryparser.yy,extra/symboltab.h: Force control characters to
31502	  spaces; Added note that accent normalisation is perhaps done at the
31503	  wrong time...
31504
31505Thu Jun 19 14:40:36 BST 2003  Olly Betts <olly@survex.com>
31506
31507	* extra/queryparsertest.cc: Added test for control characters.
31508
31509Thu Jun 19 14:31:12 BST 2003  Olly Betts <olly@survex.com>
31510
31511	* extra/queryparsertest.cc: Added checks for weird whitespace in
31512	  queries.
31513
31514Wed Jun 18 19:02:14 BST 2003  Olly Betts <olly@survex.com>
31515
31516	* extra/queryparser.yy: Reworked parsing of boolean operators to
31517	  improve error reporting.
31518	* extra/queryparsertest.cc: Added 2 more testcases and fixed to better
31519	  handle tests for expected errors.
31520
31521Wed Jun 18 19:00:55 BST 2003  Olly Betts <olly@survex.com>
31522
31523	* extra/queryparser.yy: Trim leading and trailing whitespace before
31524	  attempting to parse the query.
31525
31526Wed Jun 18 17:58:56 BST 2003  Olly Betts <olly@survex.com>
31527
31528	* extra/queryparser.yy: `using namespace Xapian;'
31529
31530Fri Jun 06 01:33:33 BST 2003  Olly Betts <olly@survex.com>
31531
31532	* docs/quartzdesign.html: Commented out the section on the Lexicon,
31533	  which we no longer use.
31534
31535Thu Jun 05 22:40:21 BST 2003  Olly Betts <olly@survex.com>
31536
31537	* bindings/python/.cvsignore,bindings/python/Makefile.am,
31538	  bindings/python/dothemake.txt,bindings/swig/om_util_python.i:
31539	  Cleaned up building of python bindings by making better use of
31540	  automake.
31541
31542Thu Jun 05 22:17:40 BST 2003  Olly Betts <olly@survex.com>
31543
31544	* languages/Makefile.am: Reenable standard warnings apart from the
31545	  -Wunused.
31546
31547Thu Jun 05 20:21:08 BST 2003  Olly Betts <olly@survex.com>
31548
31549	* api/omqueryinternal.cc: Fixed a couple of problems with the new
31550	  query serialisation.
31551
31552Thu Jun 05 17:55:21 BST 2003  Olly Betts <olly@survex.com>
31553
31554	* HACKING,configure.in: Flex is no longer used, so removed configure
31555	  tests and note in HACKING.
31556
31557Thu Jun 05 17:53:30 BST 2003  Olly Betts <olly@survex.com>
31558
31559	* tests/remotetest.cc: In test netexpand1, use TEST() rather than
31560	  Assert() so that the check is made in non-debug builds too.
31561
31562Thu Jun 05 17:52:17 BST 2003  Olly Betts <olly@survex.com>
31563
31564	* api/omqueryinternal.cc,common/socketcommon.h,docs/todo.xml,
31565	  include/xapian/query.h,net/: Reworked query serialisation so that
31566	  the code is now all in api/omqueryinternal.cc.  Serialisation is
31567	  now rather more compact and no longer relies on flex for parsing.
31568
31569Thu Jun 05 17:45:00 BST 2003  Olly Betts <olly@survex.com>
31570
31571	* bin/Makefile.am: omprogsrv depends on libtest.la, so it need to be
31572	  in check_PROGRAMS.
31573
31574Thu Jun 05 17:09:10 BST 2003  Olly Betts <olly@survex.com>
31575
31576	* Makefile.am: Moved bindings after extra in SUBDIRS - the bindings
31577	  wrap Xapian::QueryParser so they need to be built after it.
31578
31579Thu Jun 05 01:28:01 BST 2003  Olly Betts <olly@survex.com>
31580
31581	* bindings/python/Makefile.am: Use $(SWIG) (as detected by configure).
31582
31583Thu Jun 05 00:46:16 BST 2003  Olly Betts <olly@survex.com>
31584
31585	* configure.in,bindings/Makefile.am,bindings/python/Makefile.am:
31586	  Check for python and find the correct paths for building python
31587	  bindings; Added dependencies for building _xapian.so.
31588
31589Wed Jun  4 17:19:37 2003  James Aylett  <james@tartarus.org>
31590
31591	* configure.in, Makefile.am, bindings: build system will build
31592	  bindings as part of normal build process.  No longer build
31593	  Perl or Java bindings; for Perl, use Search::Xapian; Java will
31594	  be replaced with SWIG-based bindings.
31595
31596	* bindings: bindings now use Xapian:: namespace names rather than
31597	  the old Om* ones. Almost all of the API should now be wrapped.
31598
31599Wed Jun 04 02:52:38 BST 2003  Olly Betts <olly@survex.com>
31600
31601	* docs/overview.html: Added start of "Design Principles" section.
31602	* docs/todo.xml: Added a couple more items.
31603
31604Wed Jun 04 02:51:56 BST 2003  Olly Betts <olly@survex.com>
31605
31606	* Makefile.am: Build testsuite later - it now doesn't need to be built
31607	  until just before tests.
31608
31609Wed Jun 04 02:43:08 BST 2003  Olly Betts <olly@survex.com>
31610
31611	* backends/muscat36/: Split up spec into comments in the appropriate
31612	  header files; fixed to build after recent Om -> Xapian changes.
31613
31614Wed Jun 04 01:56:46 BST 2003  Olly Betts <olly@survex.com>
31615
31616	* HACKING: Bison 1.75 and 1.875a both checked with parsequery.yy
31617	  - no problems found.
31618
31619Mon Jun 02 20:14:22 BST 2003  Olly Betts <olly@survex.com>
31620
31621	* ChangeLog.0: Fixed 2 typos.
31622
31623Mon Jun 02 20:09:01 BST 2003  Olly Betts <olly@survex.com>
31624
31625	* NEWS: Updated in preparation for 0.7.0 release.
31626
31627Mon Jun 02 16:25:18 BST 2003  Olly Betts <olly@survex.com>
31628
31629	* configure.in: Fix m4 quoting so that MINOR_VERSION is set correctly.
31630
31631Mon Jun  2 15:22:30 2003  James Aylett  <james@tartarus.org>
31632
31633	* bindings/swig/xapian.i: move QueryParser wrapping to use
31634	  the new namespace location, and fix include so it can work
31635	  out of the build directory rather than just the installed
31636	  library
31637
31638Mon Jun 02 14:15:14 BST 2003  Olly Betts <olly@survex.com>
31639
31640	* Makefile.am,configure.in,bindings/Makefile.am,docs/todo.xml:
31641	  Added --enable-bindings to configure - if this is specified and
31642	  swig is detected, try to build the language bindings.
31643
31644Mon Jun 02 12:46:18 BST 2003  Olly Betts <olly@survex.com>
31645
31646	* backends/database.cc: Fixed parsing of port number in remote stub
31647	  databases.
31648
31649Sat May 31 15:03:47 BST 2003  James Aylett  <james@tartarus.org>
31650
31651	* bindings/swig: update so can build Python bindings against
31652	  latest Xapian; untested, and other languages are likely to
31653	  fail
31654
31655Fri May 30 02:59:48 BST 2003  Olly Betts <olly@survex.com>
31656
31657	* extra/queryparser.yy,extra/queryparsertest.cc: Embedded '.' is
31658	  now a phrase maker; Ignore `""' in query; Ignore ')' at start
31659	  of query.
31660
31661Fri May 30 01:22:49 BST 2003  Olly Betts <olly@survex.com>
31662
31663	* extra/queryparsertest.cc: Added another 405 queries which fail to
31664	  parse (courtesy of Arjen van der Meijden).
31665
31666Thu May 29 19:08:28 BST 2003  Olly Betts <olly@survex.com>
31667
31668	* docs/todo.xml,extra/queryparsertest.cc: Extracted two more
31669	  queryparser testcases which need fixing from the old todo list.
31670
31671Thu May 29 17:14:04 BST 2003  Olly Betts <olly@survex.com>
31672
31673	* extra/queryparser.yy,extra/queryparsertest.cc: A phrasemaker isn't
31674	  a phrasemaker unless it's preceded by an alphanumeric, "+", or "-";
31675	  If a single term is in (), ignore the ().
31676
31677Thu May 29 16:45:39 BST 2003  Olly Betts <olly@survex.com>
31678
31679	* extra/queryparser.yy,extra/queryparsertest.cc: Improved handling
31680	  of various odd queries encountered in real life applications.
31681
31682Thu May 29 01:50:51 BST 2003  Olly Betts <olly@survex.com>
31683
31684	* docs/todo.xml: Updated more.
31685
31686Thu May 29 01:26:50 BST 2003  Olly Betts <olly@survex.com>
31687
31688	* api/,backends/database.cc,backends/inmemory/,backends/multi/,
31689	  backends/muscat36/,backends/net/,backends/quartz/,common/,
31690	  docs/overview.html,docs/quickstart.html,
31691	  docs/quickstartexpand.cc.html,extra/queryparser.yy,include/om/om.h,
31692	  include/xapian/,matcher/,net/,tests/api_db.cc,tests/api_posdb.cc,
31693	  tests/quartztest.cc,testsuite/: Converted remaining om_xxx types
31694	  to Xapian::xxx.
31695
31696Wed May 28 23:06:18 BST 2003  Olly Betts <olly@survex.com>
31697
31698	* docs/todo.xml: Updated.
31699
31700Wed May 28 22:59:17 BST 2003  Olly Betts <olly@survex.com>
31701
31702	* tests/api_db.cc: Spelling correction: accross -> across.
31703
31704Wed May 28 20:24:32 BST 2003  Olly Betts <olly@survex.com>
31705
31706	* extra/: OmQueryParser -> Xapian::QueryParser, etc.
31707
31708Wed May 28 20:03:48 BST 2003  Olly Betts <olly@survex.com>
31709
31710	* api/omdocument.cc: Removed include of defunct header
31711	  modifieddocument.h.
31712
31713Wed May 28 20:00:56 BST 2003  Olly Betts <olly@survex.com>
31714
31715	* api/maptermlist.h,api/omdocument.cc,api/omvalueiterator.cc,
31716	  backends/inmemory/inmemory_document.cc,
31717	  backends/inmemory/inmemory_document.h,backends/muscat36/,
31718	  backends/net/net_document.cc,backends/net/net_document.h,
31719	  backends/quartz/quartz_document.cc,backends/quartz/quartz_document.h,
31720	  common/Makefile.am,common/document.h,common/modifieddocument.h,
31721	  include/xapian/document.h,tests/api_db.cc: Fixed bug in refactored
31722	  Xapian::Document when modifying a copy.  Added regression test.
31723
31724Wed May 28 19:23:26 BST 2003  Olly Betts <olly@survex.com>
31725
31726	* common/omenquireinternal.h,include/xapian/database.h,
31727	  include/xapian/enquire.h,include/xapian/query.h: Where possible,
31728	  declare classes rather than including headers (in public headers).
31729
31730Wed May 28 17:32:14 BST 2003  Olly Betts <olly@survex.com>
31731
31732	* include/xapian/document.h: Just declare "class TermIterator;" rather
31733	  than including <xapian/termiterator.h>.
31734
31735Tue May 27 16:59:34 BST 2003  Olly Betts <olly@survex.com>
31736
31737	* common/progserver.h,common/socketserver.h,net/socketserver.cc:
31738	  Reduced needless header inclusion.
31739
31740Tue May 27 16:53:40 BST 2003  Olly Betts <olly@survex.com>
31741
31742	* bin/omprogsrv.cc,tests/api_db.cc: Use variable name "dbs" in
31743	  preference to "dbgrp".  OmDatabaseGroup hasn't existed for
31744	  years!
31745
31746Tue May 27 16:51:30 BST 2003  Olly Betts <olly@survex.com>
31747
31748	* Makefile.am: Fixed typo: "bin" should be "net" in remote_subdirs.
31749
31750Tue May 27 02:43:32 BST 2003  Olly Betts <olly@survex.com>
31751
31752	* backends/quartz/Makefile.am: Removed -I referencing testsuite
31753	  directory.
31754
31755Tue May 27 02:39:43 BST 2003  Olly Betts <olly@survex.com>
31756
31757	* backends/quartz/,docs/tests.html,tests/: Moved quartztest and
31758	  btreetest to tests/ directory.
31759
31760Tue May 27 02:03:07 BST 2003  Olly Betts <olly@survex.com>
31761
31762	* Makefile.am,configure.in,xapian.spec.in,backends/quartz/,bin/,
31763	  docs/remote.html,netprogs/,tests/api_db.cc,tests/remotetest.cc,
31764	  testsuite/backendmanager.cc,testsuite/testsuite.cc: Sorted out
31765	  the source tree structure so that programs which aren't tests which
31766	  were previously built by "make check" are now be built by "make".
31767
31768Tue May 27 01:01:40 BST 2003  Olly Betts <olly@survex.com>
31769
31770	* autoconf/dir_contents,backends/dir_contents,
31771	  backends/inmemory/dir_contents,backends/multi/dir_contents,
31772	  backends/muscat36/dir_contents,backends/net/dir_contents,
31773	  backends/quartz/dir_contents,bindings/dir_contents,
31774	  common/dir_contents,docs/dir_contents,include/om/dir_contents,
31775	  include/xapian/dir_contents,include/dir_contents,
31776	  indexer/dir_contents,indexer/indexgraph/dir_contents,
31777	  languages/dir_contents,m4/dir_contents,tests/dir_contents:
31778	  Updated all the dir_contents files - many were out-of-date.
31779
31780Tue May 27 00:42:54 BST 2003  Olly Betts <olly@survex.com>
31781
31782	* Makefile.am: Filter any .la files out of dependency_libs.
31783
31784Tue May 27 00:11:18 BST 2003  Olly Betts <olly@survex.com>
31785
31786	* netprogs/.cvsignore,netprogs/Makefile.am,netprogs/nettest.cc,
31787	  tests/.cvsignore,tests/Makefile.am,tests/remotetest.cc:
31788	  netprogs/nettest -> tests/remotetest.
31789
31790Mon May 26 23:49:49 BST 2003  Olly Betts <olly@survex.com>
31791
31792	* netprogs/nettest.cc: Removed test tcpclient1 - the functionality it
31793	  tests is also tested by tcpmatch1, and it introduces dependencies on
31794	  internal headers.
31795
31796Mon May 26 22:00:01 BST 2003  Olly Betts <olly@survex.com>
31797
31798	* backends/quartz/quartz_table_manager.cc: Give a better error message
31799	  if asked to open a pre-0.6 Quartz database.
31800
31801Mon May 26 20:43:21 BST 2003  Olly Betts <olly@survex.com>
31802
31803	* HACKING,Makefile.am,backends/Makefile.am,docs/mkdoc.pl,
31804	  net/Makefile.am: Fixed to never leave partial files in place of the
31805	  expected output if a build is interrupted.
31806
31807Mon May 26 16:50:59 BST 2003  Olly Betts <olly@survex.com>
31808
31809	* HACKING: Added note adapted from an old email noting why compile-time
31810	  options are generally best avoided.
31811
31812Mon May 26 12:03:29 BST 2003  Olly Betts <olly@survex.com>
31813
31814	* testsuite/backendmanager.cc,testsuite/textfile_indexer.cc: Corrected
31815	  odd uses of std::string::erase() (instead of `str = str.erase(n, m)'
31816	  just use `str.erase(n,m)').
31817
31818Sun May 25 22:59:44 BST 2003  Olly Betts <olly@survex.com>
31819
31820	* PLATFORMS: Updated.
31821
31822Sun May 25 22:58:28 BST 2003  Olly Betts <olly@survex.com>
31823
31824	* languages/Makefile.am: Suppress "unused" warnings in Snowball
31825	  generated C code.
31826
31827Sun May 25 21:43:34 BST 2003  Olly Betts <olly@survex.com>
31828
31829	* api/omtermlistiterator.cc: Removed iostream.h include left over from
31830	  debugging.
31831
31832Sun May 25 12:27:11 BST 2003  Olly Betts <olly@survex.com>
31833
31834	* docs/,extra/omparsequery.h,extra/parsequery.yy,include/Makefile.am,
31835	  include/xapian.h,include/om/om.h,tests/,testsuite/backendmanager.cc,
31836	  testsuite/backendmanager.h,testsuite/testutils.h: Created xapian.h
31837	  header and changed everything to use it.
31838
31839Sat May 24 23:35:46 BST 2003  Olly Betts <olly@survex.com>
31840
31841	* api/,backends/inmemory/inmemory_database.cc,
31842	  backends/inmemory/inmemory_document.h,
31843	  backends/quartz/quartz_database.cc,backends/quartz/quartztest.cc,
31844	  common/,include/Makefile.am,include/om/om.h,
31845	  include/om/omvalueiterator.h,include/xapian/,
31846	  testsuite/backendmanager.cc: OmValueIterator -> Xapian::ValueIterator
31847	  etc.
31848
31849Fri May 23 15:32:29 BST 2003  Olly Betts <olly@survex.com>
31850
31851	* api/,backends/database.cc,backends/inmemory/,backends/muscat36/,
31852	  backends/net/net_database.cc,backends/net/net_document.cc,
31853	  backends/net/net_document.h,backends/quartz/,common/,docs/,
31854	  include/Makefile.am,include/om/om.h,include/om/omdocument.h,
31855	  include/om/omvalueiterator.h,include/xapian/,indexer/omindexer.h,
31856	  matcher/,net/,netprogs/nettest.cc,tests/api_db.cc,tests/api_posdb.cc,
31857	  tests/internaltest.cc,testsuite/: OmDocument -> Xapian::Document, etc.
31858	* include/Makefile.am: Fixed library headers to install in xapian and
31859	  om subdirectories as they should.
31860
31861Fri May 23 15:31:05 BST 2003  Olly Betts <olly@survex.com>
31862
31863	* backends/quartz/btree.cc: Consistently use int4 for block number -
31864	  it really should be unsigned and this is a first step.
31865
31866Mon May 19 13:20:46 BST 2003  Olly Betts <olly@survex.com>
31867
31868	* configure.in: Create include/xapian if it doesn't exist so that
31869	  VPATH builds work.
31870
31871Mon May 19 13:17:16 BST 2003  Olly Betts <olly@survex.com>
31872
31873	* Makefile.am: Disabled exported symbol regex for now.
31874
31875Tue May 13 05:08:54 BST 2003  Olly Betts <olly@survex.com>
31876
31877	* api/,backends/database.cc,backends/dir_contents,backends/inmemory/,
31878	  backends/multi/,backends/muscat36/,backends/net/,backends/quartz/,
31879	  common/,docs/,extra/omparsequery.h,include/,matcher/,net/,netprogs/,
31880	  tests/: OmDatabase -> Xapian::Database, etc.
31881
31882Tue May 13 05:07:41 BST 2003  Olly Betts <olly@survex.com>
31883
31884	* NEWS: Corrected spelling: "maintainance" to "maintenance".
31885
31886Tue May 13 00:40:47 BST 2003  Olly Betts <olly@survex.com>
31887
31888	* ChangeLog.0,NEWS,backends/inmemory/inmemory_database.h,
31889	  backends/muscat36/da_database.h,backends/muscat36/db_database.h,
31890	  backends/quartz/quartz_postlist.h,
31891	  indexer/indexgraph/omstopwordnode.cc: Spelling correction:
31892	  "occurence" should be "occurrence".
31893
31894Mon May 12 22:39:27 BST 2003  Olly Betts <olly@survex.com>
31895
31896	* api/ompositionlistiteratorinternal.h,
31897	  include/om/ompositionlistiterator.h: Removed unused files.
31898
31899Mon May 12 20:51:03 BST 2003  Olly Betts <olly@survex.com>
31900
31901	* api/omdatabaseinternal.cc,backends/database.cc: Moved database
31902	  factory functions from api to backends.
31903
31904Fri May 09 04:02:29 BST 2003  Olly Betts <olly@survex.com>
31905
31906	* common/expandweight.h: Removed cruft.
31907
31908Fri May 09 03:50:36 BST 2003  Olly Betts <olly@survex.com>
31909
31910	* common/rset.h: Removed unused RSetI ctor variant.
31911
31912Fri May 09 02:00:03 BST 2003  Olly Betts <olly@survex.com>
31913
31914	* api/omenquire.cc,common/,docs/overview.html,include/om/om.h,
31915	  include/xapian/enquire.h,include/xapian/output.h,matcher/,
31916	  net/socketclient.cc,net/socketcommon.cc,net/socketserver.cc,
31917	  netprogs/nettest.cc,tests/api_db.cc: OmRSet -> Xapian::RSet.
31918
31919Fri May 09 01:06:32 BST 2003  Olly Betts <olly@survex.com>
31920
31921	* api/omenquire.cc: Fixed MSet::Internal::get_description() to include
31922	  class name.
31923
31924Fri May 09 01:04:12 BST 2003  Olly Betts <olly@survex.com>
31925
31926	* common/rset.h,matcher/expand.cc,matcher/rset.cc: RSetI now uses
31927	  set<Xapian::docid> (as OmRSet::Internal) rather than
31928	  vector<RSetItem>.
31929
31930Fri May 09 00:41:20 BST 2003  Olly Betts <olly@survex.com>
31931
31932	* api/omenquire.cc,common/,docs/quickstartexpand.cc.html,matcher/:
31933	  RSet internal class renamed to RSetI to aid upcoming OmRSet ->
31934	  Xapian::RSet change.  RSetI looks like it can be eliminated
31935	  later.
31936
31937Thu May 08 23:54:44 BST 2003  Olly Betts <olly@survex.com>
31938
31939	* tests/: Removed make_dbgrp() helper function from apitest as it
31940	  makes the test code less clear without making it easier to write.
31941
31942Thu May 08 01:24:53 BST 2003  Olly Betts <olly@survex.com>
31943
31944	* api/ompostlistiterator.cc,docs/overview.html,tests/api_db.cc:
31945	  Fixed OmWeight and OmMatchDecider in comments, docs, and
31946	  testsuite.
31947
31948Thu May 08 01:16:30 BST 2003  Olly Betts <olly@survex.com>
31949
31950	* api/omenquire.cc,backends/multi/multi_postlist.h,common/,
31951	  include/om/om.h,include/xapian/enquire.h,matcher/,
31952	  net/socketclient.cc,net/socketserver.cc: OmMatchDecider ->
31953	  Xapian::MatchDecider; OmWeight -> Xapian::Weight; BoolWeight,
31954	  TradWeight, BM25Weight -> Xapian::.
31955
31956Wed May 07 23:06:47 BST 2003  Olly Betts <olly@survex.com>
31957
31958	* backends/quartz/btreetest.cc,backends/quartz/quartztest.cc,
31959	  configure.in,netprogs/nettest.cc,tests/,testsuite/: Minor overhaul
31960	  of testsuite.
31961
31962Wed May 07 17:54:34 BST 2003  Olly Betts <olly@survex.com>
31963
31964	* backends/,common/document.h,matcher/Makefile.am,matcher/document.cc:
31965	  Removed do_ wrappers for Document methods get_value(),
31966	  get_all_values() and get_data().  The wrappers used to perform
31967	  thread locking, but now they're just pointless overhead.
31968
31969Wed May 07 17:24:00 BST 2003  Olly Betts <olly@survex.com>
31970
31971	* HACKING: Started section of API structure.
31972
31973Wed May 07 02:16:03 BST 2003  Olly Betts <olly@survex.com>
31974
31975	* api/omenquire.cc,common/expand.h,common/omenquireinternal.h,
31976	  common/omstringstream.h,docs/quickstart.html,include/om/om.h,
31977	  include/xapian/enquire.h,include/xapian/output.h,matcher/expand.cc,
31978	  matcher/multimatch.cc,net/socketcommon.cc,netprogs/nettest.cc,
31979	  tests/api_db.cc,testsuite/testutils.cc: OmMSet -> Xapian::MSet,
31980	  similarly for OmMSetIterator, OmESet, and OmESetIterator.
31981
31982Tue May 06 19:31:42 BST 2003  Olly Betts <olly@survex.com>
31983
31984	* include/xapian/query.h: New file I failed to checkin on Friday.
31985
31986Tue May 06 14:16:41 BST 2003  Olly Betts <olly@survex.com>
31987
31988	* HACKING,configure.in,tests/.cvsignore,tests/Makefile.am,
31989	  tests/runtest.in,testsuite/testsuite.cc: Sorted out autodetection
31990	  of valgrind for running testsuite.
31991	* HACKING: Added note about how to run gdb on dynamically linked
31992	  binaries built using libtool.
31993	* HACKING: Recommend libtool 1.5 as in 1.4.2 libtool --mode=execute
31994	  doesn't seem to handle programs with arguments.
31995
31996Tue May 06 00:25:03 BST 2003  Olly Betts <olly@survex.com>
31997
31998	* PLATFORMS: Updated.
31999
32000Fri May 02 16:58:15 BST 2003  Olly Betts <olly@survex.com>
32001
32002	* configure.in: Improved check that LEX is flex - it will now accept
32003	  "flex" with a path and/or prefix.
32004
32005Fri May 02 16:12:46 BST 2003  Olly Betts <olly@survex.com>
32006
32007	* api/,common/,include/,matcher/,net/,netprogs/nettest.cc,
32008	  netprogs/omtcpsrv.cc,tests/api_db.cc,tests/api_posdb.cc,
32009	  testsuite/testutils.cc,testsuite/testutils.h: OmEnquire ->
32010	  Xapian::Enquire, OmQuery -> Xapian::Query, etc.
32011
32012Fri May 02 03:14:28 BST 2003  Olly Betts <olly@survex.com>
32013
32014	* tests/internaltest.cc: Reenabled tests for leak checking and fixed
32015	  them up to work with valgrind.
32016
32017Fri May 02 02:14:28 BST 2003  Olly Betts <olly@survex.com>
32018
32019	* testsuite/testsuite.cc,testsuite/testsuite.h: If a testsuite program
32020	  is run using "valgrind --logfile-fd=255 ./footest" then the harness
32021	  will show valgrind's output for tests which fail because valgrind
32022	  spotted errors or leaks (untested under valgrind).
32023
32024Thu May 01 21:25:01 BST 2003  Olly Betts <olly@survex.com>
32025
32026	* api/omenquire.cc,api/omquery.cc,api/omqueryinternal.cc,common/,
32027	  docs/overview.html,docs/quickstart.html,extra/omparsequery.h,
32028	  extra/parsequery.yy,extra/parsequerytest.cc,include/,matcher/,
32029	  net/,netprogs/nettest.cc,tests/api_db.cc,tests/api_nodb.cc,
32030	  tests/api_posdb.cc: OmQuery -> Xapian::Query, etc.  For now
32031	  I've had to expose Xapian::Query::Internal in xapian/query.h
32032	  which isn't ideal.
32033
32034Wed Apr 30 20:37:27 BST 2003  Olly Betts <olly@survex.com>
32035
32036	* api/omenquire.cc,common/omenquireinternal.h,include/:
32037	  typedefs om_* -> Xapian::*, but not changed all internal uses yet.
32038
32039Wed Apr 30 03:51:52 BST 2003  Olly Betts <olly@survex.com>
32040
32041	* api/,backends/,common/,extra/omparsequery.h,extra/parsequery.yy,
32042	  include/,matcher/localmatch.h,matcher/orpostlist.h,tests/api_db.cc:
32043	  OmPostListIterator -> Xapian::PostListIterator, etc.
32044
32045Wed Apr 30 02:13:31 BST 2003  Olly Betts <olly@survex.com>
32046
32047	* docs/matcherdesign.html,include/om/omenquire.h: Merged docs
32048	  discussing OmMSetIterator::get_collapse_count() into the doxygen
32049	  documentation comments - they're docs aimed at the API user so
32050	  really don't belong in the internal matcher design docs.
32051
32052Wed Apr 30 01:08:39 BST 2003  Olly Betts <olly@survex.com>
32053
32054	* .cvsignore: Added config.guess.
32055
32056Tue Apr 29 21:08:40 BST 2003  Olly Betts <olly@survex.com>
32057
32058	* include/om/om.h,include/xapian/base.h,include/xapian/error.h,
32059	  include/xapian/errorhandler.h,include/xapian/expanddecider.h,
32060	  include/xapian/positionlistiterator.h,include/xapian/stem.h,
32061	  include/xapian/termiterator.h: OM_HGUARD_* -> XAPIAN_INCLUDED_*.
32062
32063Tue Apr 29 20:37:01 BST 2003  Olly Betts <olly@survex.com>
32064
32065	* api/,backends/,common/,include/,indexer/omnodeinstanceiterator.h,
32066	  indexer/ompaditerator.h,net/readquery.h,testsuite/indexer.h:
32067	  om/omoutput.h -> xapian/output.h; om/omtypes.h -> xapian/types.h.
32068
32069Tue Apr 29 18:28:27 BST 2003  Olly Betts <olly@survex.com>
32070
32071	* api/,backends/,common/,include/,matcher/,net/socketserver.cc,tests/,
32072	  testsuite/backendmanager.cc,testsuite/testsuite.cc: OmTermIterator
32073	  -> Xapian::TermIterator, etc.
32074
32075Tue Apr 29 17:39:34 BST 2003  Olly Betts <olly@survex.com>
32076
32077	* common/omdebug.cc: Setting XAPIAN_DEBUG_LOG caused an exception
32078	  (with GCC 3.0 at least) unless the value contained %% - fixed.
32079
32080Tue Apr 29 14:29:36 BST 2003  Olly Betts <olly@survex.com>
32081
32082	* api/ompositionlistiterator.cc: Fixed to compile in debug mode.
32083
32084Tue Apr 29 01:06:02 BST 2003  Olly Betts <olly@survex.com>
32085
32086	* xapian.spec.in: Removed %changelog - it hasn't been reliably updated
32087	  and only really makes sense when the packaging is done by a third
32088	  party anyway.
32089
32090Tue Apr 29 01:03:20 BST 2003  Fabrice Colin
32091
32092	* xapian.spec.in: Fixed packaging of docs.
32093
32094Tue Apr 29 00:33:21 BST 2003  Olly Betts <olly@survex.com>
32095
32096	* HACKING,testsuite/testsuite.cc,testsuite/testsuite.h: valgrind is
32097	  now mostly hooked into the testsuite.
32098	* HACKING: Bison 1.875 doesn't work but Bison 1.875a probably does;
32099	  suggest CXXFLAGS=-Werror, not CFLAGS.
32100
32101Tue Apr 29 00:14:00 BST 2003  Olly Betts <olly@survex.com>
32102
32103	* INSTALL: Updated.
32104
32105Wed Apr 23 14:31:51 BST 2003  Olly Betts <olly@survex.com>
32106
32107	* api/omtermlistiterator.cc,api/omtermlistiteratorinternal.h,
32108	  api/omvalueiteratorinternal.h,backends/inmemory/inmemory_database.cc,
32109	  backends/inmemory/inmemory_positionlist.cc,
32110	  common/inmemory_positionlist.h: Added InMemoryPositionList ctor
32111	  which takes the positions data to avoid needing to construct and
32112	  immediately call set_data().
32113
32114Wed Apr 23 14:14:34 BST 2003  Olly Betts <olly@survex.com>
32115
32116	* api/,backends/,common/,include/,matcher/: OmPositionListIterator
32117	  -> Xapian::PositionListIterator, etc.
32118
32119Wed Apr 23 13:47:49 BST 2003  Olly Betts <olly@survex.com>
32120
32121	* xapian.spec.in: Minor tweaks.
32122
32123Sun Apr 20 22:55:04 BST 2003  Olly Betts <olly@survex.com>
32124
32125	* extra/omparsequery.h,include/xapian/stem.h,tests/api_db.cc,
32126	  tests/api_nodb.cc,tests/api_posdb.cc,testsuite/backendmanager.cc:
32127	  OmStem -> Xapian::Stem; OmExpandDecider -> Xapian::ExpandDecider.
32128
32129Sun Apr 20 22:52:42 BST 2003  Olly Betts <olly@survex.com>
32130
32131	* configure.in,api/omenquire.cc,common/expand.h,
32132	  common/omenquireinternal.h,docs/overview.html,include/,
32133	  matcher/expand.cc,tests/api_db.cc: OmExpandDecider ->
32134	  Xapian::ExpandDecider, etc.
32135
32136Sun Apr 20 22:42:32 BST 2003  Olly Betts <olly@survex.com>
32137
32138	* PLATFORMS,api/,backends/,common/,docs/,include/,matcher/,net/,
32139	  netprogs/,tests/,testsuite/: OmError -> Xapian::Error, etc.
32140
32141Fri Apr 18 22:40:31 BST 2003  Sam Liddicott <sam@liddicott.com>
32142
32143	* matcher/multimatch.cc: Fixed so that it updates the OmMSetItem in
32144	  the MSet with the collapse_count from the OmMSetItem twin in
32145	  collapse_tab or we lose collapse_count if newer collapsing hits are
32146	  less relevant than the hits they collapse over.  I think we need
32147	  collapse_tab maybe to keep a reference to the item in the mset?  But
32148	  this works for now.
32149	* xapian.spec.in: Fixed to also install include/xapian stuff
32150
32151Fri Apr 18 19:17:56 BST 2003  Olly Betts <olly@survex.com>
32152
32153	* configure.in,include/Makefile.am,include/om/.cvsignore,
32154	  include/om/Makefile.am,include/om/om.h,include/om/om.h.in,
32155	  include/xapian/.cvsignore,include/xapian/Makefile.am,
32156	  include/xapian/dir_contents,include/xapian/version.h.in:
32157	  C++ ABI version checking is now done by xapian/version.h.
32158
32159Fri Apr 18 17:57:21 BST 2003  Olly Betts <olly@survex.com>
32160
32161	* configure.in,api/omstem.cc,include/Makefile.am,include/om/om.h.in,
32162	  include/om/omstem.h,include/xapian/.cvsignore,
32163	  include/xapian/Makefile.am,include/xapian/base.h,
32164	  include/xapian/stem.h: Reworked OmStem to use reference counted
32165	  internals; renamed OmStem to Xapian::Stem and added a #define for
32166	  compatibility with existing code.
32167
32168Fri Apr 18 17:02:56 BST 2003  Olly Betts <olly@survex.com>
32169
32170	* api/,backends/,common/,docs/overview.html,docs/quickstart.html,
32171	  docs/quickstartexpand.cc.html,extra/,include/om/,matcher/,net/,
32172	  tests/,testsuite/: Use std::string instead of typedef-ing it as
32173	  om_termname.  The typedef doesn't really buy us anything.  Keep
32174	  a typedef for compatibility with existing code for now.
32175
32176Fri Apr 18 16:12:32 BST 2003  Olly Betts <olly@survex.com>
32177
32178	* PLATFORMS: GCC 3.2.2 on Redhat 7.1 works with CXXFLAGS=-Werror
32179
32180Thu Apr 10 20:05:27 BST 2003  Olly Betts <olly@survex.com>
32181
32182	* common/Makefile.am,common/indexer.h,testsuite/Makefile.am,
32183	  testsuite/indexer.h: Moved indexer.h from common to testsuite
32184	  and altered it to use iosfwd instead of iostream and to
32185	  declare OmDocument as a class instead of include omdocument.h.
32186
32187Thu Apr 10 18:55:55 BST 2003  Olly Betts <olly@survex.com>
32188
32189	* xapian-config.nodep.in: Removed --prefix and --exec-prefix - you
32190	  can't reliably install Xapian with a different prefix to the one
32191	  it was configured with, yet these options give the impression you
32192	  can.
32193
32194Thu Apr 10 18:53:53 BST 2003  Olly Betts <olly@survex.com>
32195
32196	* .cvsignore: Added config.sub.
32197
32198Thu Apr 10 02:41:50 BST 2003  Olly Betts <olly@survex.com>
32199
32200	* NEWS,configure.in: Updated for 0.6.5 release.
32201
32202Thu Apr 10 02:29:12 BST 2003  Olly Betts <olly@survex.com>
32203
32204	* docs/doxygen_api_footer.html_tmpl,docs/doxygen_full_footer.html_tmpl,
32205	  docs/overview.html: Use http://www.doxygen.org/ as URL for doxygen.
32206	* docs/overview.html: Fixed bad link to our own website!
32207
32208Thu Apr 10 02:12:00 BST 2003  Olly Betts <olly@survex.com>
32209
32210	* Makefile.am,backends/Makefile.am,backends/net/.cvsignore,
32211	  backends/net/Makefile.am,netprogs/.cvsignore: Renamed libnetdb.la
32212	  to libremote.la, and LIB_REMOTE1 to LIBNET_LA.
32213
32214Thu Apr 10 02:08:24 BST 2003  Olly Betts <olly@survex.com>
32215
32216	* PLATFORMS: Updated mingw notes to reflect the change to
32217	  automatically disable the remote backend when fork() isn't
32218	  available.
32219
32220Thu Apr 10 01:56:34 BST 2003  Olly Betts <olly@survex.com>
32221
32222	* docs/mkdoc.pl: Fixed to only look at directories listed in
32223	  DIST_SUBDIRS.
32224
32225Thu Apr 10 00:23:28 BST 2003  Olly Betts <olly@survex.com>
32226
32227	* configure.in: Automatically disable the remote backend if we don't
32228	  have fork() since the remote backend requires it in several places;
32229	  AM_CONDITIONAL ENABLE_SHARED isn't used anywhere so commented it
32230	  out.
32231
32232Wed Apr 09 22:48:20 BST 2003  Olly Betts <olly@survex.com>
32233
32234	* NEWS: Updated with recent changes.
32235
32236Wed Apr 09 22:43:31 BST 2003  Olly Betts <olly@survex.com>
32237
32238	* docs/remote_protocol.html: Talk about Server/Client rather than
32239	  ProgServer/ProgClient; reworked first paragraph.
32240
32241Wed Apr 09 13:23:05 BST 2003  Olly Betts <olly@survex.com>
32242
32243	* docs/Makefile.am: Install docs in /usr/share/doc/xapian-core to be
32244	  FHS compliant.
32245	* xapian.spec.in: Package quartzcheck and quartzcompact too; sorted
32246	  out docs so they all install in the right place.
32247
32248Wed Apr 09 01:16:11 BST 2003  Olly Betts <olly@survex.com>
32249
32250	* configure.in,backends/quartz/quartz_log.cc,
32251	  backends/quartz/quartz_table_manager.cc,common/omdebug.cc,
32252	  common/omdebug.h: Don't use HAVE_GETPID - if it's not set we assume
32253	  GetCurrentProcessId() works, so it's cleaner to test with
32254	  #ifdef WIN32 instead.
32255
32256Tue Apr 08 19:56:57 BST 2003  Olly Betts <olly@survex.com>
32257
32258	* PLATFORMS: Updated with the results of many test builds.
32259
32260Tue Apr 08 19:55:15 BST 2003  Olly Betts <olly@survex.com>
32261
32262	* configure.in,backends/quartz/Makefile.am,backends/quartz/btree.cc,
32263	  netprogs/nettest.cc,common/getopt.h,common/omtime.h,common/utils.cc,
32264	  common/utils.h,tests/Makefile.am,tests/api_db.cc: Now builds with
32265	  Linux to mingw cross-compiler.
32266	* tests/Makefile.am: don't include findheaders.pl in the tarball -
32267	  it's no longer used.
32268	* tests/internaltest.cc: removed "#include <dlfcn.h>" and disabled
32269	  code which used to use it.
32270	* testsuite/backendmanager.cc,testsuite/backendmanager.h: fixed to
32271	  work if any backends are disabled.
32272
32273Tue Apr 08 16:09:11 BST 2003  Olly Betts <olly@survex.com>
32274
32275	* backends/quartz/btree.cc,backends/quartz/quartz_log.cc,
32276	  backends/quartz/quartz_table_manager.cc,testsuite/testsuite.cc:
32277	  Some fixes for building with Linux to mingw cross-compiler.
32278
32279Tue Apr 08 02:26:51 BST 2003  Olly Betts <olly@survex.com>
32280
32281	* backends/quartz/btreetest.cc: If we don't have <sstream> and so are
32282	  using our own stringstream implementation, we can't pass it as an
32283	  ostream reference so BtreeCheck::check() can't be run in btreetest.
32284	  This is only an issue on old compilers (for GCC <= 2.95.2 it seems)
32285	  so just disable the checking in that case - it's probably not worth
32286	  the effort of trying to make our stringstream a subclass of ostream.
32287
32288Tue Apr 08 01:20:36 BST 2003  Olly Betts <olly@survex.com>
32289
32290	* testsuite/testsuite.cc: Updated unfinished hooks to use valgrind in
32291	  the test harness.
32292
32293Fri Apr 04 03:12:27 BST 2003  Olly Betts <olly@survex.com>
32294
32295	* api/omenquire.cc,api/omstem.cc,common/omdebug.cc: Fixed to compile
32296	  when configure-d with --enable-debug-verbose --enable-debug=full.
32297
32298Fri Apr 04 03:10:53 BST 2003  Olly Betts <olly@survex.com>
32299
32300	* common/omstringstream.h: Removed unused code for writing
32301	  vector<string> to our own implementation of om_ostringstream.
32302
32303Fri Apr 04 03:08:35 BST 2003  Olly Betts <olly@survex.com>
32304
32305	* api/ompostlistiterator.cc: Use "using namespace std;"; replaced
32306	  gratuitous use of om_ostringstream.
32307
32308Fri Apr 04 03:07:05 BST 2003  Olly Betts <olly@survex.com>
32309
32310	* tests/api_nodb.cc: Use "using namespace std;"; removed stray cout
32311	  debug line.
32312
32313Wed Apr 02 16:54:50 BST 2003  Olly Betts <olly@survex.com>
32314
32315	* tests/internaltest.cc: More Sun C++ fixes.
32316	* PLATFORMS: Updated.
32317
32318Wed Apr 02 16:39:48 BST 2003  Olly Betts <olly@survex.com>
32319
32320	* tests/api_db.cc,net/tcpserver.cc,common/tcpserver.h: More Sun C++
32321	  fettling.
32322
32323Wed Apr 02 15:42:54 BST 2003  Olly Betts <olly@survex.com>
32324
32325	* matcher/emptymatch.h,tests/api_db.cc: More fixes for Sun C++.
32326
32327Wed Apr 02 15:13:58 BST 2003  Olly Betts <olly@survex.com>
32328
32329	* api/omenquire.cc,api/omqueryinternal.cc,
32330	  backends/inmemory/inmemory_database.h,common/document.h,
32331	  common/netclient.h,common/netserver.h,common/networkstats.h,
32332	  common/omlinebuf.h,common/stats.h,include/om/omerror.h,
32333	  include/om/omerrorhandler.h,indexer/indexgraph/nodetest.cc,
32334	  indexer/indexgraph/omindexerbuilder.cc,
32335	  indexer/indexgraph/omindexerinternal.h,
32336	  indexer/indexgraph/omstopwordnode.cc,
32337	  indexer/indexgraph/regexcommon.h,indexer/indexgraph/toposort.h,
32338	  tests/api_db.cc,tests/api_nodb.cc,testsuite/backendmanager.h:
32339	  More fixes for Sun C++; removed many superfluous ";" after "}".
32340
32341Wed Apr 02 03:45:42 BST 2003  Olly Betts <olly@survex.com>
32342
32343	* api/omdocument.cc,api/omenquire.cc,api/omtermlistiteratorinternal.h,
32344	  backends/inmemory/inmemory_database.h,backends/quartz/btree.cc,
32345	  backends/quartz/btree.h,common/alltermslist.h,common/expandweight.h,
32346	  common/getopt.h,common/utils.h,include/om/omenquire.h,
32347	  matcher/expandweight.cc,matcher/multimatch.cc,
32348	  testsuite/backendmanager.h: Resolved various issues so that
32349	  libxapian now builds with Sun's C++ compiler.  However
32350	  libomqueryparser and the test programs don't yet.
32351
32352Tue Apr 01 02:52:57 BST 2003  Olly Betts <olly@survex.com>
32353
32354	* backends/quartz/quartz_types.h: use "unsigned int" rather than
32355	  "unsigned long int" so that quartz_tablesize_t matches om_doccount
32356	  on 64 bit machines.
32357
32358Mon Mar 31 19:34:54 BST 2003  Olly Betts <olly@survex.com>
32359
32360	* AUTHORS,xapian.spec.in: Merged in changes to RPM packaging from
32361	  Fabrice Colin and reworked further.
32362
32363Fri Mar 28 20:04:04 GMT 2003  Olly Betts <olly@survex.com>
32364
32365	* NEWS: Updated.
32366
32367Fri Mar 28 19:53:59 GMT 2003  Olly Betts <olly@survex.com>
32368
32369	* README: Removed out-of-date sourceforge references; tidied up
32370	  wording in places.
32371
32372Fri Mar 28 19:52:11 GMT 2003  Olly Betts <olly@survex.com>
32373
32374	* HACKING: Removed out-of-date sourceforge references; tidied up
32375	  wording in places; docs/tests.txt is now docs/tests.html .
32376
32377Fri Mar 28 17:35:15 GMT 2003  Olly Betts <olly@survex.com>
32378
32379	* NEWS: Wrote most of the entries for the next release.
32380
32381Fri Mar 28 17:34:57 GMT 2003  Olly Betts <olly@survex.com>
32382
32383	* docs/todo.xml: Updated.
32384
32385Thu Mar 27 05:42:41 GMT 2003  Olly Betts <olly@survex.com>
32386
32387	* .cvsignore,Makefile.am,configure.in,docs/.cvsignore,docs/Makefile.am,
32388	  docs/index.html,docs/todo2html.pl: removed machinery to generate
32389	  TODO, TODO.release, docs/todo.html, and docs/todo-release.html from
32390	  docs/todo.xml - bug and todo items will be tracked in bugzilla
32391	  instead.
32392
32393Thu Mar 27 05:25:12 GMT 2003  Olly Betts <olly@survex.com>
32394
32395	* docs/todo.xml: Removed completed items and those already fed into
32396	  bugzilla.
32397
32398Thu Mar 27 05:17:05 GMT 2003  Olly Betts <olly@survex.com>
32399
32400	* api/omstem.cc,include/om/omstem.h: Added default OmStem ctor,
32401	  and "none" language.  Both of these give a stemmer object which
32402	  leaves terms unchanged which should allow for simpler logic
32403	  in programs using Xapian.  The default ctor also removes the
32404	  need to mess with pointers in some cases.
32405
32406Thu Mar 27 04:52:27 GMT 2003  Olly Betts <olly@survex.com>
32407
32408	* NEWS: Started to prepare for next release.
32409
32410Thu Mar 27 04:49:52 GMT 2003  Olly Betts <olly@survex.com>
32411
32412	* include/om/omenquire.h,include/om/omerror.h: Improved documentation
32413	  comments.
32414
32415Thu Mar 27 01:09:04 GMT 2003  Olly Betts <olly@survex.com>
32416
32417	* docs/todo.xml,tests/api_db.cc: Added regression test for Quartz
32418	  bug which caused problems with long terms on machines with signed
32419	  chars.
32420
32421Wed Mar 26 20:30:18 GMT 2003  Olly Betts <olly@survex.com>
32422
32423	* matcher/multimatch.cc: fixed interaction of collapsing and
32424	  sort_bands == 1.
32425
32426Wed Mar 26 01:04:30 GMT 2003  Olly Betts <olly@survex.com>
32427
32428	* matcher/multimatch.cc: Fixed sort_bands == 1 bug which would
32429	  incorrectly reject many documents with a low score.
32430
32431Thu Mar 06 13:04:06 GMT 2003  Sam Liddicott <sam.liddicott@orange.co.uk>
32432
32433	* docs/matcherdesign.html: Add writeup about document collapsing.
32434
32435Thu Mar 06 11:32:05 GMT 2003  Sam Liddicott <sam.liddicott@orange.co.uk>
32436
32437	* Add collapse_count threshold checking to ensure that most
32438	  relevant collapsed-away hit is more relevant than threshold
32439	  (if specified)
32440
32441Mon Mar 03 14:04:56 GMT 2003  Olly Betts <olly@survex.com>
32442
32443	* docs/quartzdesign.html: Corrected 2kB to 2KB.
32444
32445Fri Feb 28 10:11:04 GMT 2003  Sam Liddicott <sam.liddicott@orange.co.uk>
32446
32447	* Add get_collapse_count() to OmMSetIterator
32448	* Add collapse_count to OmMSetItem
32449	* Add collapse_count tracking to get_mset()
32450
32451Thu Feb 27 15:28:08 GMT 2003  Olly Betts <olly@survex.com>
32452
32453	* common/match.h,common/multimatch.h,matcher/multimatch.cc: Optimise
32454	  the common sort_bands == 1 case better.
32455	* tests/api_db.cc: sortbands2 now tests 1 sortband as well as 10.
32456
32457Wed Feb 26 09:58:01 GMT 2003  Sam Liddicott <sam.liddicott@orange.co.uk>
32458
32459	* bootstrap: Fix success message when building in non-src dir
32460	  as configure is written to the src dir.
32461
32462Mon Feb 24 10:33:52 GMT 2003  Olly Betts <olly@survex.com>
32463
32464	* matcher/multimatch.cc: Disabled (for now) sort_bands
32465	  optimisation which is misbehaving.  Fixed forward ordered boolean
32466	  optimisation broken by last check-in.
32467	* tests/api_db.cc: Added test_sortbands2 based on James' test code.
32468
32469Sun Feb 23 20:28:47 GMT 2003  Olly Betts <olly@survex.com>
32470
32471	* matcher/multimatch.cc: Fixed problem with sort_bands when asking
32472	  for an m-set which didn't start with the first match.
32473
32474Sun Jan 05 22:20:33 GMT 2003  Olly Betts <olly@survex.com>
32475
32476	* testsuite/index_utils.cc: Handling of ^x was just downright wrong
32477	  due to a typo.
32478
32479Sun Jan 05 22:19:56 GMT 2003  Olly Betts <olly@survex.com>
32480
32481	* backends/quartz/.cvsignore: Ignore quartzcompact binary.
32482
32483Sun Jan 05 22:18:57 GMT 2003  Olly Betts <olly@survex.com>
32484
32485	* extra/parsequerytest.cc: Fixed to build with GCC 2.95.
32486
32487Tue Dec 24 20:21:03 GMT 2002  Olly Betts <olly@survex.com>
32488
32489	* NEWS: Added omega 0.6.4 changes.
32490
32491Tue Dec 24 19:53:10 GMT 2002  Olly Betts <olly@survex.com>
32492
32493	* NEWS,PLATFORMS,configure.in: Version 0.6.4.
32494
32495Tue Dec 24 19:29:27 GMT 2002  Olly Betts <olly@survex.com>
32496
32497	* backends/quartz/quartz_database.cc,backends/quartz/quartz_table.cc:
32498	  Don't bother checking is position_list is empty - just delete it and
32499	  let the layer below handle not having anything to delete.
32500	* backends/quartz/quartz_termlist.cc,docs/todo.xml: Fixed unpacking
32501	  of termlist on platforms where char is signed.
32502
32503Tue Dec 24 05:48:06 GMT 2002  Olly Betts <olly@survex.com>
32504
32505	* backends/quartz/quartz_database.cc: Fixed double setting of position
32506	  list when updating a document with term position information.  The
32507	  behaviour before was correct, just inefficient.
32508
32509Mon Dec 23 04:44:46 GMT 2002  Olly Betts <olly@survex.com>
32510
32511	* docs/todo.xml: Updated.
32512
32513Mon Dec 23 03:22:19 GMT 2002  Olly Betts <olly@survex.com>
32514
32515	* extra/parsequery.yy: If a stemmed form with a "." is in the query,
32516	  include the "." on the form in the unstem multimap.
32517
32518Sun Dec 22 21:44:06 GMT 2002  Olly Betts <olly@survex.com>
32519
32520	* extra/omparsequery.h,extra/parsequery.yy,extra/parsequerytest.cc:
32521	  Added support for searching probabilistic fields (using
32522	  <field>:<term>).
32523
32524Sat Dec 21 01:38:59 GMT 2002  Olly Betts <olly@survex.com>
32525
32526	* configure.in: Don't include "om.h" in APIDOC_SRC, otherwise
32527	  people building from source will need to regenerate the source
32528	  docs which will require them to have doxygen installed.
32529
32530Fri Dec 20 15:39:51 GMT 2002  James Aylett  <james@tartarus.org>
32531
32532	* Bindings build using SWIG 1.3.14u-20020706-1222, with very
32533	  basic functionality tested with the Python target.
32534
32535Fri Dec 20 12:38:26 GMT 2002  James Aylett  <tartarus@users.sourceforge.net>
32536
32537	* Tidied up some bindings-related issues, including changes to
32538	  the Python bindings to work with Python 2.2. This probably won't
32539	  compile as it stands, but it's disabled anyway.
32540
32541Sun Dec 15 18:23:42 GMT 2002  Olly Betts <olly@survex.com>
32542
32543	* api/omdatabase.cc,backends/muscat36/da_database.cc,
32544	  backends/muscat36/db_database.cc,matcher/phrasepostlist.cc:
32545	  Muscat 3.6 DA and DB databases don't have word position information.
32546	  Instead of throwing an exception when this information is requested,
32547	  return an empty position list (i.e. behave as a quartz database with
32548	  no position information would).
32549
32550Sun Dec 15 03:08:28 GMT 2002  Olly Betts <olly@survex.com>
32551
32552	* backends/muscat36/: DADatabase and DBDatabase ctors need to public
32553	  so that they can called from the database factory functions.
32554	* api/omenquire.cc,backends/muscat36/,backends/quartz/btree.cc,
32555	  tests/api_db.cc: Fixed compilation warnings.
32556
32557Sat Dec 14 23:02:55 GMT 2002  Olly Betts <olly@survex.com>
32558
32559	* docs/quartzdesign.html,docs/todo.xml: Updated.
32560
32561Sat Dec 14 22:57:41 GMT 2002  Olly Betts <olly@survex.com>
32562
32563	* backends/quartz/Makefile.am,backends/quartz/quartzcheck.cc,
32564	  backends/quartz/quartzcompact.cc,backends/quartz/quartzdump.cc:
32565	  Enhanced quartzcheck to check all the btrees in a quartz database
32566	  if passed a directory name.  It also default to "v" rather than
32567	  "+" which is more appropriate for an end user checking if tables
32568	  in a non-trivial sized database are corrupt.  Added quartzcompact
32569	  utility to make a copy of a quartz database with full compaction
32570	  turned on - this results in a smaller database which is faster to
32571	  search.  The next update will result in a lot of block splitting
32572	  though (since all blocks are as full as possible).
32573
32574Sat Dec 14 16:28:11 GMT 2002  Olly Betts <olly@survex.com>
32575
32576	* NEWS: Updated for 0.6.3 release.
32577
32578Sat Dec 14 04:28:16 GMT 2002  Olly Betts <olly@survex.com>
32579
32580	* PLATFORMS,configure.in: Version 0.6.3.
32581
32582Sat Dec 14 03:54:08 GMT 2002  Olly Betts <olly@survex.com>
32583
32584	* extra/omparsequery.h,extra/parsequery.yy: Create an "unstem" multimap
32585	  so users can convert the stemmed terms back into their query
32586	  representation.
32587
32588Sat Dec 14 03:48:27 GMT 2002  Olly Betts <olly@survex.com>
32589
32590	* docs/todo.xml: Updated.
32591
32592Sat Dec 14 02:37:41 GMT 2002  Olly Betts <olly@survex.com>
32593
32594	* docs/todo.xml: Updated.
32595
32596Sat Dec 14 02:26:29 GMT 2002  Olly Betts <olly@survex.com>
32597
32598	* docs/remote_protocol.html,net/socketclient.cc,net/socketserver.cc:
32599	  Updated remote protocol description.
32600
32601Sat Dec 14 02:05:59 GMT 2002  Olly Betts <olly@survex.com>
32602
32603	* docs/: Updated.
32604
32605Fri Dec 13 23:43:23 GMT 2002  Olly Betts <olly@survex.com>
32606
32607	* include/om/om.h.in: Removed bogus // in the middle of a comment.
32608
32609Fri Dec 13 22:17:41 GMT 2002  Olly Betts <olly@survex.com>
32610
32611	* configure.in,testsuite/testsuite.cc: Added hooks for using valgrind
32612	  to find leaks in the test suite.  Just need to sort out suitable
32613	  hooks in valgrind now!
32614
32615Fri Dec 13 19:57:23 GMT 2002  Olly Betts <olly@survex.com>
32616
32617	* docs/: OmSettings removal updates.
32618
32619Fri Dec 13 19:44:23 GMT 2002  Olly Betts <olly@survex.com>
32620
32621	* bindings/: Made a start updating bindings for OmSettings removal.
32622
32623Fri Dec 13 19:13:36 GMT 2002  Olly Betts <olly@survex.com>
32624
32625	* api/omenquire.cc,common/omenquireinternal.h,include/om/omenquire.h,
32626	  net/socketclient.cc,tests/api_db.cc: Finished removal of OmSettings
32627	  - all tests now pass once more!
32628
32629Fri Dec 13 16:35:12 GMT 2002  Olly Betts <olly@survex.com>
32630
32631	* api/,backends/quartz/quartz_table_manager.h,common/,docs/,include/,
32632	  matcher/,net/,tests/internaltest.cc: Removed last use of OmSettings.
32633	  Just a check-point check in - the code compiles, but doesn't pass
32634	  tests yet.
32635
32636Fri Dec 13 12:53:01 GMT 2002  Olly Betts <olly@survex.com>
32637
32638	* netprogs/nettest.cc: Updated disabled code to use new database
32639	  factory functions; Added "using namespace std;".
32640
32641Thu Dec 12 23:52:32 GMT 2002  Olly Betts <olly@survex.com>
32642
32643	* docs/todo.xml: Tidied my desk and converted lots of scraps of paper
32644	  to todo entries.
32645
32646Thu Dec 12 16:43:22 GMT 2002  Olly Betts <olly@survex.com>
32647
32648	* backends/quartz/btree.cc: Added workaround for shared_level problem;
32649	  Improved error reporting.
32650
32651Thu Dec 12 01:05:00 GMT 2002  Olly Betts <olly@survex.com>
32652
32653	* docs/overview.html: Updated docs on stub databases.
32654
32655Wed Dec 11 20:49:11 GMT 2002  Olly Betts <olly@survex.com>
32656
32657	* api/omdatabaseinternal.cc,include/om/omdatabase.h,tests/api_db.cc:
32658	  Reimplemented stub databases in the new scheme of things.
32659	* backends/inmemory/: fully disabled inmemory_errornext and
32660	  inmemory_abortnext code.
32661
32662Tue Dec 10 13:47:44 GMT 2002  Olly Betts <olly@survex.com>
32663
32664	* HACKING: Added note that Bison 1.50 seems to work with Xapian's
32665	  .yy files.
32666
32667Mon Dec 09 20:13:00 GMT 2002  Olly Betts <olly@survex.com>
32668
32669	* api/omenquire.cc,common/omenquireinternal.h,docs/todo.xml,
32670	  include/om/omenquire.h,tests/api_db.cc: OmEnquire::get_eset()
32671	  now takes a flags argument of bit constants |-ed together
32672	  instead of 2 bools.
32673
32674Mon Dec 09 12:52:38 GMT 2002  Olly Betts <olly@survex.com>
32675
32676	* backends/quartz/btree.cc,backends/quartz/btree.h: Applied patch
32677	  from Martin Porter with better fix for sequential addition bug.
32678
32679Mon Dec 09 09:57:42 GMT 2002  Olly Betts <olly@survex.com>
32680
32681	* docs/todo.xml: Updated.
32682
32683Mon Dec 09 07:32:46 GMT 2002  Olly Betts <olly@survex.com>
32684
32685	* backends/quartz/quartztest.cc: Corrected name of database used
32686	  by test adddoc2 (was using testdb_adddoc1!)
32687
32688Mon Dec 09 05:10:09 GMT 2002  Olly Betts <olly@survex.com>
32689
32690	* backends/quartz/quartz_postlist.cc,backends/quartz/quartz_table.cc:
32691	  More fettling.
32692
32693Mon Dec 09 04:48:39 GMT 2002  Olly Betts <olly@survex.com>
32694
32695	* backends/quartz/: Minor code fettle.
32696
32697Mon Dec 09 03:32:11 GMT 2002  Olly Betts <olly@survex.com>
32698
32699	* backends/quartz/quartz_postlist.cc: Gratuitous layout fettling.
32700
32701Mon Dec 09 03:30:27 GMT 2002  Olly Betts <olly@survex.com>
32702
32703	* docs/quartzdesign.html: Improved wording and punctuation in 3
32704	  places.
32705
32706Mon Dec 09 03:25:09 GMT 2002  Olly Betts <olly@survex.com>
32707
32708	* common/,docs/todo.xml,include/om/omenquire.h,matcher/,
32709	  net/socketclient.cc,net/socketserver.cc,netprogs/omprogsrv.cc,
32710	  netprogs/omtcpsrv.cc: Fixed the remote backend to handle non-default
32711	  weighting schemes.  You can now even implement your own weighting
32712	  scheme and use it with the remote backend provided you register it
32713	  with SocketServer at runtime.
32714
32715Sat Dec 07 21:18:39 GMT 2002  Olly Betts <olly@survex.com>
32716
32717	* PLATFORMS: Updated.
32718
32719Sat Dec 07 21:09:52 GMT 2002  Olly Betts <olly@survex.com>
32720
32721	* NEWS,PLATFORMS,configure.in: Version 0.6.2.
32722
32723Sat Dec 07 20:24:46 GMT 2002  Olly Betts <olly@survex.com>
32724
32725	* NEWS: Updated.
32726
32727Sat Dec 07 20:21:41 GMT 2002  Olly Betts <olly@survex.com>
32728
32729	* docs/quickstart.html: Fixed parameters passed to OmQuartz__open().
32730
32731Sat Dec 07 20:17:42 GMT 2002  Olly Betts <olly@survex.com>
32732
32733	* backends/quartz/quartztest.cc: Fixed parameters passed to
32734	  OmQuartz__open().
32735
32736Sat Dec 07 16:41:25 GMT 2002  Olly Betts <olly@survex.com>
32737
32738	* docs/tests.html,testsuite/testsuite.cc: The testsuite won't install
32739	  its signal handler if XAPIAN_SIG_DFL is set.
32740
32741Sat Dec 07 16:39:01 GMT 2002  Olly Betts <olly@survex.com>
32742
32743	* HACKING: OM_DEBUG_XXX -> XAPIAN_DEBUG_YYY.
32744
32745Sat Dec 07 04:48:37 GMT 2002  Olly Betts <olly@survex.com>
32746
32747	* backends/quartz/btree.cc: max_item_size wasn't being set due to
32748	  some over-zealous code pruning.  It was defaulting to 0, and
32749	  was causing the code to write off the end of allocated memory
32750	  blocks.
32751
32752Sat Dec 07 03:22:05 GMT 2002  Olly Betts <olly@survex.com>
32753
32754	* backends/inmemory/,matcher/multimatch.cc: Minor code tidying.
32755	* backends/quartz/btree.cc: Added Assert in Btree::add() to detect
32756	  running off end of buffer.
32757
32758Sat Dec 07 03:20:52 GMT 2002  Olly Betts <olly@survex.com>
32759
32760	* matcher/localmatch.cc: fixed handling of wtscheme() - we were
32761	  trying to use it for the extra weights, and then double
32762	  deleting it!
32763
32764Fri Dec 06 23:05:22 GMT 2002  Olly Betts <olly@survex.com>
32765
32766	* api/omstem.cc,backends/quartz/,common/omdebug.cc,common/utils.h,
32767	  matcher/tradweight.cc,net/socketcommon.cc,net/tcpclient.cc,
32768	  tests/api_db.cc: Fixed to build with configure --enable-debug=full.
32769
32770Fri Dec 06 23:01:08 GMT 2002  Olly Betts <olly@survex.com>
32771
32772	* common/omdebug.cc,common/omdebug.h: Fixed permissions on newly
32773	  created log file (was getting 000!); Simplified class internals;
32774	  Renamed env vars: OM_DEBUG_FILE is now XAPIAN_DEBUG_LOG,
32775	  OM_DEBUG_TYPES is now XAPIAN_DEBUG_FLAGS (old versions still work
32776	  for now).
32777
32778Fri Dec 06 22:58:57 GMT 2002  Olly Betts <olly@survex.com>
32779
32780	* testsuite/testsuite.cc: Fixed so running "gdb .libs/apitest"
32781	  finds srcdir (for an in-tree build at least).
32782
32783Fri Dec 06 03:51:35 GMT 2002  Olly Betts <olly@survex.com>
32784
32785	* common/,include/om/omenquire.h,matcher/localmatch.h,matcher/rset.cc,
32786	  matcher/stats.cc: Fixed to compile with GCC 3.0.
32787
32788Thu Dec 05 23:28:29 GMT 2002  Olly Betts <olly@survex.com>
32789
32790	* include/om/omdatabase.h: Added missing "std::".
32791
32792Thu Dec 05 23:27:57 GMT 2002  Olly Betts <olly@survex.com>
32793
32794	* docs/remote.html: Updated from OmSettings to factory functions.
32795
32796Thu Dec 05 23:26:42 GMT 2002  Olly Betts <olly@survex.com>
32797
32798	* PLATFORMS: ixion is actually Linux 2.2.
32799
32800Thu Dec 05 04:32:40 GMT 2002  Olly Betts <olly@survex.com>
32801
32802	* testsuite/backendmanager.cc: Fixed BackendManager::do_getdb_quartz()
32803	  and do_getwritedb_quartz() to work correctly and so resolved some
32804	  test failures.
32805
32806Wed Dec 04 03:35:12 GMT 2002  Olly Betts <olly@survex.com>
32807
32808	* api/omdatabaseinternal.cc,backends/quartz/,docs/todo.xml,
32809	  include/om/omdatabase.h: Replace create and allow_overwrite
32810	  boolean flags with OM_DB_XXX constants.  And we now support
32811	  OM_DB_CREATE_OR_OPEN which is a common action to want to
32812	  perform, but was fiddly to achieve before.
32813
32814Tue Dec 03 23:59:30 GMT 2002  Olly Betts <olly@survex.com>
32815
32816	* docs/todo.xml: Updated.
32817
32818Tue Dec 03 23:26:27 GMT 2002  Olly Betts <olly@survex.com>
32819
32820	* api/omenquire.cc,backends/quartz/quartz_postlist.h,common/,
32821	  docs/omsettings,docs/todo.xml,include/om/omenquire.h,matcher/,
32822	  net/socketcommon.cc,net/socketserver.cc,tests/api_db.cc,
32823	  tests/api_posdb.cc: Weighting schemes are now specified by passing
32824	  in a weighting object, rather than via OmSetttings.  The weight
32825	  class can be sub-classed by the library user to allow them to
32826	  specify their own weighting scheme).  Everything works apart
32827	  from the remote backend where the weighting scheme type and
32828	  parameters aren't passed across the link.
32829
32830Mon Dec 02 20:12:31 GMT 2002  Olly Betts <olly@survex.com>
32831
32832	* NEWS: Updated with changes since 0.6.1.
32833
32834Mon Dec 02 19:44:37 GMT 2002  Olly Betts <olly@survex.com>
32835
32836	* api/ompostlistiterator.cc,backends/multi/multi_postlist.h,
32837	  common/irweight.h,common/leafpostlist.h,matcher/: IRWeight
32838	  renamed to OmWeight in preparation for making it externally
32839	  visible.
32840
32841Mon Dec 02 18:10:55 GMT 2002  Olly Betts <olly@survex.com>
32842
32843	* matcher/bm25weight.cc,matcher/irweight.cc,matcher/tradweight.cc,
32844	  matcher/tradweight.h: Started to rework weighting scheme code.
32845
32846Mon Dec 02 17:36:21 GMT 2002  Olly Betts <olly@survex.com>
32847
32848	* api/omdatabaseinternal.cc,backends/quartz/quartz_table_manager.cc:
32849	  Tidying up after the recent backend reworking.
32850
32851Mon Dec 02 03:59:39 GMT 2002  Olly Betts <olly@survex.com>
32852
32853	* matcher/: Changed BoolWeight ctor not to take an OmSettings
32854	  parameter which is simply ignored.
32855
32856Mon Dec 02 01:35:41 GMT 2002  Olly Betts <olly@survex.com>
32857
32858	* include/om/omdatabase.h: Added documentation comments for all of
32859	  the database factory functions.
32860
32861Sun Dec 01 21:45:49 GMT 2002  Olly Betts <olly@survex.com>
32862
32863	* include/om: Added \file documentation comments so doxygen
32864	  extracts documentation for functions too.
32865	* docs/: Made a start on updating for the new database factory
32866	  functions.
32867
32868Sun Dec 01 15:38:10 GMT 2002  Olly Betts <olly@survex.com>
32869
32870	* api/,backends/,common/,docs/omsettings,docs/todo.xml,
32871	  include/om/omdatabase.h,netprogs/,tests/,testsuite/backendmanager.cc,
32872	  testsuite/backendmanager.h: No longer use OmSettings to specify
32873	  parameters for constructing databases.  Instead there's a factory
32874	  function for each database type - temporary naming scheme is
32875	  OmXxx__open(), mostly because it's easy to grep for later.  At
32876	  present stub databases and the machinery in InMemory to allow
32877	  the multierrhandler1 test aren't working.  Everything else should
32878	  be.
32879
32880Thu Nov 28 20:15:47 GMT 2002  Olly Betts <olly@survex.com>
32881
32882	* api/omenquire.cc,common/omenquireinternal.h,docs/omsettings,
32883	  docs/overview.html,include/om/omenquire.h,tests/api_db.cc:
32884	  No longer use OmSettings in OmEnquire::get_eset(); fixed
32885	  reversed sense of use_query_terms (and fixed reversed sense
32886	  test in apitest which meant this wasn't spotted).
32887
32888Thu Nov 28 20:14:54 GMT 2002  Olly Betts <olly@survex.com>
32889
32890	* docs/index.html: Link to annotated class lists in doxygen generated
32891	  documentation rather than rather empty index page.
32892
32893Thu Nov 28 02:23:33 GMT 2002  Olly Betts <olly@survex.com>
32894
32895	* configure.in,NEWS: Version 0.6.1.
32896
32897Thu Nov 28 01:38:05 GMT 2002  Olly Betts <olly@survex.com>
32898
32899	* PLATFORMS: Updated.
32900
32901Thu Nov 28 01:33:25 GMT 2002  Olly Betts <olly@survex.com>
32902
32903	* backends/quartz/: Fixed to compile with GCC 3.0.
32904
32905Thu Nov 28 01:32:31 GMT 2002  Olly Betts <olly@survex.com>
32906
32907	* PLATFORMS: Updated with test results from 0.5.4 release.
32908
32909Wed Nov 27 22:11:38 GMT 2002  Olly Betts <olly@survex.com>
32910
32911	* backends/quartz/btree.h: fixed "public:" bodge added during
32912	  factoring-out of BtreeCheck.
32913
32914Wed Nov 27 05:01:14 GMT 2002  Olly Betts <olly@survex.com>
32915
32916	* NEWS,PLATFORMS,configure.in: Updated for 0.6.0 release.
32917
32918Wed Nov 27 05:00:39 GMT 2002  Olly Betts <olly@survex.com>
32919
32920	* AUTHORS,HACKING: Removed or replaced sourceforge.net URLs.
32921
32922Wed Nov 27 04:58:29 GMT 2002  Olly Betts <olly@survex.com>
32923
32924	* docs/quartzdesign.html: Reworded "under development" warning;
32925	  Updated Btree::check(), which is now BtreeCheck::check().
32926
32927Wed Nov 27 01:36:26 GMT 2002  Olly Betts <olly@survex.com>
32928
32929	* backends/quartz/btreecheck.cc,backends/quartz/btreecheck.h,
32930	  backends/quartz/btreetest.cc: Tidied up BtreeCheck - btreetest now
32931	  sends check output to tout so it's only displayed if the check fails
32932	  (or btreetest is run with -v).
32933
32934Tue Nov 26 19:47:24 GMT 2002  Olly Betts <olly@survex.com>
32935
32936	* backends/quartz/: Split the btree checking code out into a separate
32937	  file, so it's not linked in when we don't need it.
32938
32939Tue Nov 26 05:47:32 GMT 2002  Olly Betts <olly@survex.com>
32940
32941	* backends/quartz/btree.cc: Suppress all output from a successful
32942	  Btree::Check() is no options are specified, so that btreetest
32943	  generates clean output when all tests pass.
32944
32945Tue Nov 19 02:08:30 GMT 2002  Olly Betts <olly@survex.com>
32946
32947	* NEWS: Updated.
32948
32949Tue Nov 19 01:46:35 GMT 2002  Olly Betts <olly@survex.com>
32950
32951	* backends/quartz/btree.cc,backends/quartz/btree.h,
32952	  backends/quartz/btreetest.cc,backends/quartz/quartztest.cc,
32953	  docs/quartzdesign.html: Quartz B-tree minimum blocksize is
32954	  now 2048 bytes (as was in fact documented already).  This
32955	  means the max term length is now always 252 bytes.
32956
32957Mon Nov 18 22:16:57 GMT 2002  Olly Betts <olly@survex.com>
32958
32959	* api/omenquire.cc,matcher/expand.cc,matcher/expandweight.cc:
32960	  Bit of an expand tidy up.
32961
32962Mon Nov 18 19:49:09 GMT 2002  Olly Betts <olly@survex.com>
32963
32964	* backends/quartz/quartz_termlist.cc: I'd put the new termlist stuff
32965	  in the disabled branch of a "#ifdef" so it wasn't being used!  Fixed
32966	  this and made it actually compile as an encore.
32967
32968Mon Nov 18 02:51:55 GMT 2002  Olly Betts <olly@survex.com>
32969
32970	* docs/todo.xml: Retargetted 0.6 tasks for 0.7 or 0.8; updated a few
32971	  entries.
32972
32973Mon Nov 18 02:28:55 GMT 2002  Olly Betts <olly@survex.com>
32974
32975	* docs/quartzdesign.html,backends/quartz/: We can just store the term
32976	  name raw in position list key, since we know its length from the key
32977	  length; tweaked storing of deltas to store (delta - 1) as 0 is
32978	  invalid.
32979
32980Mon Nov 18 00:47:54 GMT 2002  Olly Betts <olly@survex.com>
32981
32982	* backends/quartz/quartz_termlist.cc: First cut of compressed term
32983	  lists.
32984
32985Sun Nov 17 20:19:23 GMT 2002  Olly Betts <olly@survex.com>
32986
32987	* backends/quartz/quartz_lexicon.cc,backends/quartz/quartz_values.cc:
32988	  Use new pack_uint_last() and unpack_uint_last() where appropriate.
32989
32990Sun Nov 17 20:03:24 GMT 2002  Olly Betts <olly@survex.com>
32991
32992	* backends/quartz/quartz_record.cc,backends/quartz/quartz_utils.h:
32993	  Added a more compact integer packing for the last integer in
32994	  a key or tag.
32995
32996Sun Nov 17 18:54:05 GMT 2002  Olly Betts <olly@survex.com>
32997
32998	* backends/quartz/btree.cc,backends/quartz/btree.h: more
32999	  int -> bool changes.
33000	* backends/quartz/btree_base.cc: Clarified comments.
33001
33002Sun Nov 17 14:19:30 GMT 2002  Olly Betts <olly@survex.com>
33003
33004	* docs/quartzdesign.html: Updated to reflect removal of Btree_item.
33005
33006Sun Nov 17 14:12:12 GMT 2002  Olly Betts <olly@survex.com>
33007
33008	* backends/quartz/: Eliminate Btree_item - wherever it's used we
33009	  only actually want the tag or key, so it's cleaner and clearer
33010	  to just pass a pointer to a string.
33011
33012Sun Nov 17 13:34:08 GMT 2002  Olly Betts <olly@survex.com>
33013
33014	* backends/quartz/,docs/quartzdesign.html: Quartz mini-overhaul:
33015	  Removed Btree::Bcursor_create() and just made Bcursor's ctor
33016	  public - now you can just create a Bcursor on the stack rather
33017	  than being forced to use AutoPtr; removed valid_handle - the
33018	  code is clearer without it; sys_close now inlined from header;
33019	  changed int/char to bool where appropriate; changed some methods
33020	  which now always throw on error to return void not bool; moved
33021	  quartztest's test_btree1 to btreetest as test_simple1; changed
33022	  a few remaining uses of "struct Btree" to just plain "Btree";
33023	  brought the btree docs in quartzdesign.html up-to-date, apart
33024	  from the error handling section.
33025
33026Sat Nov 16 01:45:28 GMT 2002  Olly Betts <olly@survex.com>
33027
33028	* backends/inmemory/inmemory_database.cc,
33029	  backends/inmemory/inmemory_database.h,
33030	  backends/quartz/quartz_table.cc: Tidying up odds and ends.
33031
33032Fri Nov 15 17:46:38 GMT 2002  Olly Betts <olly@survex.com>
33033
33034	* NEWS: Updated ready for 0.6.0 with changes made so far.
33035
33036Fri Nov 15 17:06:58 GMT 2002  Olly Betts <olly@survex.com>
33037
33038	* testsuite/testsuite.cc: Avoid double debug output if we get a
33039	  signal inside the testsuite code itself.
33040
33041Fri Nov 15 17:00:15 GMT 2002  Olly Betts <olly@survex.com>
33042
33043	* backends/quartz/btree_api.txt,docs/Makefile.am,docs/index.html,
33044	  docs/quartzdesign.html,docs/remote_protocol.html,
33045	  net/README_progprotocol.txt: Converted Btree API documentation
33046	  to HTML and add it to the quartz design document; converted the
33047	  (seriously out of date) remote protocol document to HTML, moved it
33048	  into docs/, and linked it in.
33049
33050Fri Nov 15 13:05:06 GMT 2002  Olly Betts <olly@survex.com>
33051
33052	* backends/quartz/quartz_record.cc,backends/quartz/quartz_utils.h,
33053	  docs/quartzdesign.html: Changed encoding of keys for quartz record
33054	  and termlist tables.
33055
33056Fri Nov 15 12:54:39 GMT 2002  Olly Betts <olly@survex.com>
33057
33058	* backends/quartz/quartz_table_entries.cc: Fixed
33059	  QuartzTableEntries::empty() which would never return true before.
33060
33061Fri Nov 15 03:08:49 GMT 2002  Olly Betts <olly@survex.com>
33062
33063	* backends/quartz/btree_api.txt: Fixed typos.
33064
33065Fri Nov 15 03:06:41 GMT 2002  Olly Betts <olly@survex.com>
33066
33067	* backends/quartz/quartztest.cc,backends/quartz/btreetest.cc:
33068	  added another test (btreetest: emptykey1) and added extra
33069	  checks to existing tests.
33070
33071Thu Nov 14 01:59:06 GMT 2002  Olly Betts <olly@survex.com>
33072
33073	* matcher/multimatch.cc,tests/api_db.cc,docs/todo.xml:
33074	  match_sort_bands code fettled, and added regression test for the
33075	  >100% problem (test_sortbands1).
33076
33077Tue Nov 12 00:00:44 GMT 2002  Olly Betts <olly@survex.com>
33078
33079	* backends/inmemory/inmemory_database.h,backends/quartz/,
33080	  include/om/omtypes.h: Pushed average length calc down into
33081	  QuartzRecordManager; removed unnecessary types om_totlength
33082	  and om_termid.
33083
33084Mon Nov 11 18:10:23 GMT 2002  Olly Betts <olly@survex.com>
33085
33086	* docs/index.html: Fixed broken link.
33087
33088Mon Nov 11 18:07:41 GMT 2002  Olly Betts <olly@survex.com>
33089
33090	* backends/quartz/,docs/quartzdesign.html: Store next free docid
33091	  and total doc length in the same tag in QuartzRecord.
33092
33093Wed Nov 06 22:38:40 GMT 2002  Olly Betts <olly@survex.com>
33094
33095	* backends/quartz/quartz_database.cc,backends/quartz/quartz_database.h:
33096	  Eliminated QuartzDatabase::get_doccount_internal() and
33097	  QuartzDatabase::get_avlength_internal() - now the thread
33098	  locking code has gone, the indirection serves no purpose.
33099
33100Wed Nov 06 17:50:12 GMT 2002  Olly Betts <olly@survex.com>
33101
33102	* backends/quartz/: Removed QuartzBufferedTable::write() (unused and
33103	  unimplemented), and merged QuartzBufferedTable::write_internal()
33104	  into QuartzBufferedTable::write_internal().
33105
33106Wed Nov 06 01:56:41 GMT 2002  Olly Betts <olly@survex.com>
33107
33108	* backends/quartz/: disable quartz lexicon table unless USE_LEXICON
33109	  is defined.
33110
33111Wed Nov 06 01:54:30 GMT 2002  Olly Betts <olly@survex.com>
33112
33113	* docs/overview.html: Corrected link to API docs on website.
33114
33115Mon Nov 04 02:35:22 GMT 2002  Olly Betts <olly@survex.com>
33116
33117	* include/om/omerror.h,net/omerr_string.cc,netprogs/omprogsrv.cc,
33118	  netprogs/omtcpsrv.cc,testsuite/testsuite.cc: don't use typeid().
33119
33120Mon Nov 04 01:31:47 GMT 2002  Olly Betts <olly@survex.com>
33121
33122	* testsuite/testsuite.cc: Catch by const reference.
33123
33124Mon Nov 04 01:18:53 GMT 2002  Olly Betts <olly@survex.com>
33125
33126	* HACKING: Added note about use of various C++ features.  Also
33127	  tidied up various odds and ends.
33128
33129Sun Nov 03 22:59:34 GMT 2002  Olly Betts <olly@survex.com>
33130
33131	* api/omdatabaseinternal.cc: Eliminated entirely superfluous use of
33132	  dynamic_cast.
33133
33134Sun Nov 03 22:46:34 GMT 2002  Olly Betts <olly@survex.com>
33135
33136	* matcher/multimatch.cc,common/database.h,common/net_database.h:
33137	  Replace Database::is_network() with Database::as_networkdatabase()
33138	  which returns a pointer or NULL.  This eliminates the need to use
33139	  dynamic_cast in MultiMatch.
33140
33141Wed Oct 23 05:24:14 BST 2002  Olly Betts <olly@survex.com>
33142
33143	* docs/todo.xml: Resolved TODO entry by consulting Stroustrup
33144	  (it is safe to throw and catch an exception in a destructor,
33145	  even when that destructor is being called during a stack unwind
33146	  caused by an exception being thrown).
33147
33148Wed Oct 16 20:05:39 BST 2002  Olly Betts <olly@survex.com>
33149
33150	* backends/quartz/btreetest.cc: Suppress (most) output from
33151	  Btree::check unless verbose (-v) is enabled.
33152
33153Mon Oct 14 15:13:18 BST 2002  Olly Betts <olly@survex.com>
33154
33155	* testsuite/testsuite.cc: Fixed compilation problem with std:: on
33156	  GCC 3.2.
33157
33158Mon Oct 14 15:07:03 BST 2002  Olly Betts <olly@survex.com>
33159
33160	* api/omstem.cc: French and Finnish stemmers were switched!
33161
33162Mon Oct 14 02:49:12 BST 2002  Olly Betts <olly@survex.com>
33163
33164	* backends/quartz/quartz_utils.h: change sort preserving packing for
33165	  strings.  This one does better provided the strings being packed
33166	  don't contain many zero bytes (which is true of the termnames which
33167	  we pack with this).
33168
33169Mon Oct 14 02:45:20 BST 2002  Olly Betts <olly@survex.com>
33170
33171	* tests/stemtest.cc: Updated to reflect new naming of stemming test
33172	  data.
33173
33174Sun Oct 13 17:06:26 BST 2002  Olly Betts <olly@survex.com>
33175
33176	* docs/todo.xml: Updated.
33177
33178Sun Oct 13 16:40:24 BST 2002  Olly Betts <olly@survex.com>
33179
33180	* api/omstem.cc,backends/quartz/,common/,extra/omparsequery.h,matcher/,
33181	  net/socketclient.cc: Added private copy ctors and assignment
33182	  operators to classes with pointer members (which shouldn't be
33183	  copied).
33184
33185Sun Oct 13 15:12:40 BST 2002  Olly Betts <olly@survex.com>
33186
33187	* docs/todo.xml: Updated.
33188
33189Sun Oct 13 02:33:57 BST 2002  Olly Betts <olly@survex.com>
33190
33191	* .cvsignore: Added install-sh.
33192
33193Sun Oct 13 02:16:31 BST 2002  Olly Betts <olly@survex.com>
33194
33195	* backends/quartz/{quartz_lexicon.cc,quartz_lexicon.h}: key to lexicon
33196	  is now simply the termname - no need to encode the length there too
33197	  since the Btree knows how long the key is.
33198	* backends/quartz/{quartz_table_manager.cc,quartz_values.cc}: finished
33199	  the terminology change from "attribute" to "value" (including
33200	  renaming the btree files, which is why it wasn't done before).
33201
33202Sun Oct 13 02:09:00 BST 2002  Olly Betts <olly@survex.com>
33203
33204	* tests/api_db.cc: Snowball stems "this" to "this" rather than "thi",
33205	  so update apitest source to reflect this.
33206
33207Sun Oct 13 01:03:04 BST 2002  Olly Betts <olly@survex.com>
33208
33209	* configure.in: Removed references to languages/*/Makefile.
33210
33211Sun Oct 13 00:50:01 BST 2002  Olly Betts <olly@survex.com>
33212
33213	* docs/indexerquickstart.html,docs/quartzdesign.html: Updated.
33214
33215Sat Oct 12 23:34:52 BST 2002  Olly Betts <olly@survex.com>
33216
33217	* languages/{api.c,api.h,header.h,utilities.c}: 4 new files.
33218
33219Sat Oct 12 23:29:50 BST 2002  Olly Betts <olly@survex.com>
33220
33221	* languages/: removed all the old .cvsignore files.
33222
33223Sat Oct 12 22:34:01 BST 2002  Olly Betts <olly@survex.com>
33224
33225	* api/omstem.cc,docs/stemming.html,docs/todo.xml,languages/: Replaced
33226	  our stemmers with those from Snowball.  Note that these give better
33227	  results, but this also means that existing databases won't work
33228	  quite correctly if they contain stemmed terms.
33229
33230Sat Oct 12 17:17:26 BST 2002  Olly Betts <olly@survex.com>
33231
33232	* configure.in,NEWS: Version 0.5.3.
33233
33234Sat Oct 12 16:49:50 BST 2002  Olly Betts <olly@survex.com>
33235
33236	* PLATFORMS,api/omvalueiteratorinternal.h,extra/parsequery.yy,
33237	  include/om/omdocument.h: Fixed std:: namespace issues to
33238	  allow compilation with GCC 3 once again.
33239
33240Sat Oct 12 15:43:22 BST 2002  Olly Betts <olly@survex.com>
33241
33242	* docs/todo.xml: Updated.
33243
33244Fri Oct 11 02:14:47 BST 2002  Olly Betts <olly@survex.com>
33245
33246	* backends/quartz/Makefile.am: Include test data for btreetest
33247	  in distribution tarball.
33248
33249Fri Oct 11 01:43:03 BST 2002  Olly Betts <olly@survex.com>
33250
33251	* backends/quartz/{z_note,z_sequence,z_Cversion/,z_make/,z_test/}:
33252	  Removed all the unused old C btree stuff.
33253
33254Thu Oct 10 17:32:10 BST 2002  Olly Betts <olly@survex.com>
33255
33256	* backends/quartz/{btree.cc,btree.h}: More Btree tidying.
33257
33258Thu Oct 10 17:14:28 BST 2002  Olly Betts <olly@survex.com>
33259
33260	* backends/quartz/{bcursor.cc,btree.cc,btree.h}: Btree::prev* and
33261	  Btree::next* are no longer static methods.
33262	* backends/quartz/btree.h: Tweaked comments so doxygen will
33263	  understand them.
33264
33265Thu Oct 10 16:12:29 BST 2002  Olly Betts <olly@survex.com>
33266
33267	* backends/quartz/quartz_postlist.cc: return docids rather
33268	  than passing in a pointer to fill in.
33269
33270Thu Oct 10 16:08:22 BST 2002  Olly Betts <olly@survex.com>
33271
33272	* backends/quartz/quartzcheck.cc: Fixed #include-d files;
33273	  Example in usage message now uses the directory where
33274	  omega looks for its database by default.
33275
33276Thu Oct 10 15:25:10 BST 2002  Olly Betts <olly@survex.com>
33277
33278	* backends/quartz/btree.cc,backends/quartz/btree.h: More comment
33279	  improvments; Removed superfluous Cursor parameter from
33280	  Btree::add_kt() - it always gets passed the C member of Btree
33281	  which we have available anyway.
33282
33283Thu Oct 10 14:49:11 BST 2002  Olly Betts <olly@survex.com>
33284
33285	* backends/quartz/btree.cc: Removed "struct" from in front of
33286	  Btree and Cursor; Updated and reformatted many comments.
33287
33288Thu Oct 10 03:45:56 BST 2002  Olly Betts <olly@survex.com>
33289
33290	* testsuite/backendmanager.cc: Reworded comment to make it clearer.
33291
33292Thu Oct 10 03:29:52 BST 2002  Olly Betts <olly@survex.com>
33293
33294	* docs/todo.xml: Updated.
33295
33296Wed Oct 09 14:05:07 BST 2002  Olly Betts <olly@survex.com>
33297
33298	* backends/quartz/{quartz_alltermslist.cc,quartz_alltermslist.h,
33299	  quartz_database.cc}: Implemented
33300	  QuartzAllTermsList::get_approx_size().
33301
33302Wed Oct 09 10:46:42 BST 2002  Olly Betts <olly@survex.com>
33303
33304	* extra/omparsequery.h,include/om/omvalueiterator.h: Don't use
33305	  "using std::foo;" in externally visible headers.
33306
33307Wed Oct 09 10:26:05 BST 2002  Olly Betts <olly@survex.com>
33308
33309	* extra/omparsequery.h: fixed unused parameter warning.
33310
33311Tue Oct 08 20:32:46 BST 2002  Olly Betts <olly@survex.com>
33312
33313	* tests/stemtest.cc: Added missing space to output.
33314
33315Tue Oct 08 20:10:35 BST 2002  Olly Betts <olly@survex.com>
33316
33317	* With GCC, add warning flags "-Wall -W" rather than "-Wall -Wunused"
33318	  (-Wall implies -Wunused anyway).  Fixed all the warnings this throws
33319	  up, except in languages/ (that code is to be replaced with Snowball
33320	  soon).
33321
33322Tue Oct 08 19:57:03 BST 2002  Olly Betts <olly@survex.com>
33323
33324	* testsuite/: Disable colour test output if stdout isn't a terminal;
33325	  reworked check for broken exception handling as the previous
33326	  version never seemed to fire; added "using" for all the things
33327	  we want from std::; improved how signal handlers are set and
33328	  unset; report exception class for exceptions derived from OmError
33329	  rather than a blanket "OMEXCEPT"; added private copy ctor and
33330	  assignment to test_driver to prevent copying.
33331
33332Tue Oct 08 19:53:02 BST 2002  Olly Betts <olly@survex.com>
33333
33334	* include/om/Makefile.am: remove include/om/om.h on "make distclean",
33335	  not "make clean".  Otherwise "./configure ; make clean ; make"
33336	  fails which is wrong.
33337
33338Sun Oct 06 18:37:39 BST 2002  Olly Betts <olly@survex.com>
33339
33340	* PLATFORMS: Updated.
33341	* docs/: Removed Martin's paper - background information for stemmers
33342	  is best left to the Snowball documentation.
33343
33344Sat Oct 05 20:31:55 BST 2002  Olly Betts <olly@survex.com>
33345
33346	* NEWS,configure.in: 0.5.2 release.
33347
33348Sat Oct 05 03:01:49 BST 2002  Olly Betts <olly@survex.com>
33349
33350	* PLATFORMS: Updated.
33351
33352Sat Oct 05 02:09:35 BST 2002  Olly Betts <olly@survex.com>
33353
33354	* docs/todo.xml: Updated.
33355
33356Fri Oct 04 22:34:12 BST 2002  Olly Betts <olly@survex.com>
33357
33358	* PLATFORMS,testsuite/testutils.h: Code to spot mishandled exceptions
33359	  doesn't always work - noted this in PLATFORMS, and tweaked the code
33360	  a little.
33361
33362Fri Oct 04 19:08:08 BST 2002  Olly Betts <olly@survex.com>
33363
33364	* backends/quartz/.cvsignore: Added quartzcheck.
33365
33366Fri Oct 04 18:24:55 BST 2002  Olly Betts <olly@survex.com>
33367
33368	* docs/: converted all text docs to HTML (except omsettings which will
33369	  has odd markup (LaTeX?) and will probably soon be obsolete anyway).
33370	* docs/todo.xml: updated.
33371
33372Fri Oct 04 17:18:33 BST 2002  Olly Betts <olly@survex.com>
33373
33374	* net/socketcommon.cc: Fixed handling of timeouts in the past.
33375
33376Fri Oct 04 13:51:39 BST 2002  Olly Betts <olly@survex.com>
33377
33378	* PLATFORMS,testsuite/testutils.h: Use typeid() to spot when GCC 2.95
33379	  mishandles an exception, and don't count this as a test failure.
33380
33381Fri Oct 04 03:59:29 BST 2002  Olly Betts <olly@survex.com>
33382
33383	* api/omdatabaseinternal.cc,backends/multi/multi_termlist.h,
33384	  matcher/multimatch.cc,matcher/networkmatch.cc,matcher/networkmatch.h:
33385	  pulled uses of dynamic_cast<> to higher up in the code.
33386
33387Fri Oct 04 03:53:44 BST 2002  Olly Betts <olly@survex.com>
33388
33389	* PLATFORMS,backends/quartz/{btree.cc,quartz_metafile.cc}: Fixed quartz
33390	  problems on platforms where sizeof(long) != 4.
33391	* PLATFORMS: Updated in the light of investigations into test failures
33392	  on x86 Redhat Linux - only multierrhandler1 with the remote backend
33393	  is actually a problem.
33394
33395Wed Oct 02 16:32:48 BST 2002  Olly Betts <olly@survex.com>
33396
33397	* NEWS: Updated for 0.5.1 release.
33398
33399Wed Oct 02 16:01:50 BST 2002  Olly Betts <olly@survex.com>
33400
33401	* PLATFORMS,configure.in: 0.5.1 release.
33402
33403Tue Oct 01 13:34:24 BST 2002  Olly Betts <olly@survex.com>
33404
33405	* docs/: tweaked navigation links in index.html; converted bm25
33406	  text document to HTML and linked it in; added todo entry to
33407	  locate the "illusion of control" paper.
33408
33409Tue Oct 01 12:48:41 BST 2002  Olly Betts <olly@survex.com>
33410
33411	* docs/: renamed intro.html to install.html, and userman.html to
33412	  overview.html; changed navbar on index.html.
33413
33414Tue Oct 01 12:37:20 BST 2002  Olly Betts <olly@survex.com>
33415
33416	* bootstrap: fixed adding of directory with xapian.m4 in to
33417	  ACLOCAL_FLAGS; added trap to tell user if bootstrapping failed.
33418
33419Tue Oct 01 12:33:38 BST 2002  Olly Betts <olly@survex.com>
33420
33421	* HACKING,Makefile.am,bootstrap,buildall,xapian.spec.in,
33422	  autoconf/dir_contents,docs/todo.xml: Added bootstrap script as a
33423	  replacement for buildall (buildall left in place for now until
33424	  bootstrap receives wider testing).
33425
33426Tue Oct 01 12:19:32 BST 2002  Olly Betts <olly@survex.com>
33427
33428	* HACKING,Makefile.am,configure.in,PLATFORMS: require automake 1.6.3
33429	  (and hence autoconf 2.54) to fix problem building tests/internaltest
33430	  with Solaris make.
33431
33432Mon Sep 30 20:30:42 BST 2002  Olly Betts <olly@survex.com>
33433
33434	* PLATFORMS: Improved wording about bogus OMEXCEPT failures);
33435	  Added results for OpenBSD 3.0 and Solaris 8 on x86 (both work).
33436
33437Mon Sep 30 20:25:03 BST 2002  Olly Betts <olly@survex.com>
33438
33439	* docs/: Pruned .cvsignore; removed cvs.html (link to CVS info
33440	  on website directly); removed using_stemmers.html - those
33441	  wishing to use the C API to the stemmers ought to look at
33442	  Snowball instead; include HTML versions of quickstart*.cc
33443	  in tarballs; improved wording in various places.
33444
33445Mon Sep 23 19:33:31 BST 2002  Olly Betts <olly@survex.com>
33446
33447	* net/Makefile.am: Fixed building of readquery.cc from readquery.ll.
33448
33449Sun Sep 22 03:57:20 BST 2002  Olly Betts <olly@survex.com>
33450
33451	* PLATFORMS: Updated.
33452
33453Fri Sep 20 15:09:25 BST 2002  Olly Betts <olly@survex.com>
33454
33455	* PLATFORMS: Added note about bogus OMEXCEPT test failures with
33456	  GCC 2.95.
33457
33458Fri Sep 20 01:36:35 BST 2002  Olly Betts <olly@survex.com>
33459
33460	* NEWS,PLATFORMS,configure.in: 0.5.0 release!
33461
33462Fri Sep 20 01:01:52 BST 2002  Olly Betts <olly@survex.com>
33463
33464	* Makefile.am: Perl module we need to process todo.xml is XML::Parser
33465	  not XML, so corrected error message.
33466	* configure.in: Commented out MSG_WARN() when Perl modules XML::Parser
33467	  or Text::Format aren't found.  In a release tarball, this only
33468	  matters if you modify docs/todo.xml, and the warning message(s) may
33469	  alarm those building the software.
33470
33471Thu Sep 19 00:57:23 BST 2002  Olly Betts <olly@survex.com>
33472
33473	* .cvsignore: Added depcomp, missing, mkinstalldirs.
33474
33475Thu Sep 19 00:49:01 BST 2002  Olly Betts <olly@survex.com>
33476
33477	* HACKING: Added note about safe way to generate files in make rules.
33478
33479Thu Sep 19 00:45:51 BST 2002  Olly Betts <olly@survex.com>
33480
33481	* PLATFORMS: Tested on Solaris 7 with GCC 2.95.3 (works) and Solaris 8
33482	  Sun Workshop C++ compiler (fails to compile).
33483
33484Thu Sep 19 00:41:53 BST 2002  Olly Betts <olly@survex.com>
33485
33486	* ar-wrapper-solaris,ltconfig,Makefile.am: libtool 1.4 doesn't use
33487	  ltconfig, and that's the only thing that uses ar-wrapper-solaris,
33488	  so removed both.  Fairly sure the problem they address was fixed
33489	  in libtool so time ago.  Xapian doesn't build with Sun's C++
33490	  compiler at the moment anyway, so it's moot for the release.
33491
33492Thu Sep 19 00:26:37 BST 2002  Olly Betts <olly@survex.com>
33493
33494	* docs/todo2html.pl: Handle release "*" specially - it indicates
33495	  tasks to be done for each release.
33496
33497Thu Sep 19 00:05:40 BST 2002  Olly Betts <olly@survex.com>
33498
33499	* configure.in,include/om/om.h.in: Tweaked how generation of om.h
33500	  works to avoid problems with Sun's C++ compiler.
33501
33502Wed Sep 18 19:21:47 BST 2002  Olly Betts <olly@survex.com>
33503
33504	* net/Makefile.am,net/readquery.ll: #include <config.h>
33505	  must be included before any other headers, but that seems to be
33506	  impossible to arrange in lex/flex so we use echo and cat in the
33507	  Makefile to arrange this.
33508
33509Wed Sep 18 17:35:00 BST 2002  Olly Betts <olly@survex.com>
33510
33511	* include/om/Makefile.am: We want to install om/om.h, but not
33512	  distribute it or people with a different compiler to whoever
33513	  ran "make dist" will get the "ABI mismatch" error.
33514
33515Wed Sep 18 13:16:14 BST 2002  Richard Boulton <richard@tartarus.org>
33516
33517	* docs/.cvsignore: Add docs/doxygen_full_warnings.
33518	* include/om/.cvsignore: Add include/om/om.h.
33519
33520Wed Sep 18 11:06:12 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
33521
33522	* include/om/Makefile.am: We really should install om/om.h, or
33523	  applications can't build against us.
33524
33525Wed Sep 18 05:10:24 BST 2002  Richard Boulton <richard@tartarus.org>
33526
33527	* docs/doxygen_{api,full}_header.html_tmpl: Remove meta robots tag -
33528	  why shouldn't this be indexed?  Now the omega I set up pointing
33529	  at copies of this should actually index something.
33530
33531Wed Sep 18 04:52:20 BST 2002  Olly Betts <olly@survex.com>
33532
33533	* configure.in: Merged two sed invocations into one - we don't want
33534	  configure to run any slower than it has to.
33535
33536Wed Sep 18 04:17:58 BST 2002  Richard Boulton <richard@tartarus.org>
33537
33538	* configure.in: Don't put confdefs.h into SOURCEDOC_H_SRC - this
33539	  file only exists during the configure run.  Fixes failure of
33540	  "make doxygen_docs" in docs/
33541
33542Tue Sep 17 13:07:39 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
33543
33544	* Updated PLATFORMS file.
33545
33546Mon Sep 16 19:40:02 BST 2002  Olly Betts <olly@survex.com>
33547
33548	* docs/todo.xml: Updated.
33549
33550Mon Sep 16 18:09:29 BST 2002  Olly Betts <olly@survex.com>
33551
33552	* tests/api_db.cc: don't run consistency1 test on the remote backend
33553	  - it's particularly slow with that, and testing it there doesn't
33554	  actually improve the test coverage really.
33555
33556Mon Sep 16 17:15:46 BST 2002  Olly Betts <olly@survex.com>
33557
33558	* configure.in,docs/Makefile.am: Added workaround for pattern length
33559	  limits in Solaris sed.
33560
33561Mon Sep 16 17:13:20 BST 2002  Olly Betts <olly@survex.com>
33562
33563	* include/om/om.h.in: Added explanatory comments for developers.
33564
33565Mon Sep 16 14:22:48 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
33566
33567	* om/om.h needs to be in CLEANFILES or make distcheck fails
33568
33569Mon Sep 16 13:37:04 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
33570
33571	* Now om/om.h is built from om/om.h.in, it may be in the build
33572	  directly. Consequently, we need to add that to the include path
33573	  for VPATH builds. Plus (also for VPATH), om/om.h needs to be
33574	  output after AC_OUTPUT, because otherwise the destination
33575	  directory may not exist.
33576
33577Mon Sep 16 04:19:54 BST 2002  Olly Betts <olly@survex.com>
33578
33579	* configure.in,docs/todo.xml,include/om/Makefile.am,include/om/om.h,
33580	  include/om/om.h.in: When building the library with GCC, generate
33581	  include/om/om.h with preprocessor code to check that any version
33582	  of GCC used to build applications has a matching C++ ABI.
33583
33584	  This means that users get a nice explanatory error message rather
33585	  than a confusing link failure (or worse a program which builds
33586	  but crashes).  Another benefit is that the check happens near the
33587	  start of compilation of the first source file which uses Xapian
33588	  in the user's application, rather than during the first attempt
33589	  to link with Xapian.
33590
33591Sun Sep 15 01:42:19 BST 2002  Olly Betts <olly@survex.com>
33592
33593	* net/tcpserver.cc: Solved std mystery - "using namespace std;" was
33594	  inside a #ifdef which wasn't enabled!
33595
33596Sun Sep 15 01:21:34 BST 2002  Richard Boulton <richard@tartarus.org>
33597
33598	* tests/tcpserver.cc: Hacky fix to compile with gcc-3.2 snapshot in
33599	  Debian unstable - add a FIXME to work out why this is needed.
33600	* todo: add entry about checking ABI versions using
33601	  __GXX_ABI_VERSION macro.
33602
33603Sat Sep 14 22:39:11 BST 2002  Olly Betts <olly@survex.com>
33604
33605	* configure.in,tests/Makefile.am,tests/internaltest.cc: It turns out
33606	  that internaltest *does* need -fno-access-control, so put it back.
33607	  Not quite sure how I missed this.  Changed to skip refcnt tests
33608	  when -fno-access-control isn't available (rather than omitting them
33609	  entirely).
33610
33611	* tests/api_db.cc: Fixed compile problem.
33612
33613Sat Sep 14 21:44:34 BST 2002  Olly Betts <olly@survex.com>
33614
33615	* internaltest: doesn't actually need -fno-access-control these
33616	  days, so removed it and the configure tests for it.
33617
33618	* stemtest: recoded to be all in C++ and removed use of intermediate
33619	  files for random data tests - now runs ~15% faster; no longer need
33620	  HAVE_PERL so removed from configure.
33621
33622	* apitest: use C++ streams rather than stdio; stubdb1 now cleans up
33623	  the temporary file it creates.
33624
33625Sat Sep 14 12:54:52 BST 2002  Olly Betts <olly@survex.com>
33626
33627	* docs/Makefile.am: fix "mv apidoc/latex/refman.ps avidoc.ps" which
33628	  fails after recent change.
33629
33630Sat Sep 14 11:15:33 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
33631
33632	* Renamed simple* programs in quickstart docs to quickstart* to
33633	  avoid confusion with the simple* programs in xapian-examples.
33634	  (Thanks to Alex Bowley for pointing out the confusion.)
33635
33636Sat Sep 14 10:00:35 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
33637
33638	* configure.in: returned AC_CONDITIONAL for HAVE_PERL
33639
33640Sat Sep 14 09:29:08 BST 2002  Richard Boulton <richard@tartarus.org>
33641
33642	* buildall: change to srcdir before testing for neccessary tools
33643	  so that scripts which guess which autotools version to use have more
33644	  information available to guess with: for example, the Debian
33645	  autoconf version guessing script looks for "configure.ac" as a sign
33646	  that autoconf 2.50+ is required.
33647
33648Sat Sep 14 02:50:23 BST 2002  Olly Betts <olly@survex.com>
33649
33650	* docs/distributed.txt,docs/quartzdesign.html,docs/todo.xml: assorted
33651	  documentation updates.
33652
33653Sat Sep 14 02:10:12 BST 2002  Olly Betts <olly@survex.com>
33654
33655	* PLATFORMS: removed note about VPATH problems.
33656
33657Sat Sep 14 02:02:58 BST 2002  Olly Betts <olly@survex.com>
33658
33659	* btree.cc,btree.h: rearranged Btree::del() so control flow is clearer.
33660
33661Sat Sep 14 01:56:44 BST 2002  Olly Betts <olly@survex.com>
33662
33663	* HACKING,docs/Makefile.am: added evil hack to allow VPATH builds to
33664	  work with BSD make.
33665
33666Wed Sep 11 11:29:07 BST 2002  Olly Betts <olly@survex.com>
33667
33668	* backends/database_builder.cc: Quartz is fairly mature - change
33669	  comment which suggests that the btree names will change.
33670
33671Wed Sep 11 11:13:43 BST 2002  Olly Betts <olly@survex.com>
33672
33673	* configure.in: Don't double quote `$MISSING foo' as autoconf adds them
33674	* docs/Makefile.am: Use `test a = b' rather than `test a == b'
33675
33676Tue Sep 10 14:50:16 BST 2002  Olly Betts <olly@survex.com>
33677
33678	* configure.in: tweaked test for perl modules - stderr is now
33679	  fully supressed on sh (which behaves slightly differently to bash).
33680
33681Tue Sep 10 14:27:15 BST 2002  Richard Boulton <richard@tartarus.org>
33682
33683	* backend_manager.cc: Fix stub database code so that it doesn't use
33684	  the gnu extension "getline()".
33685
33686Tue Sep 10 13:51:20 BST 2002  Olly Betts <olly@survex.com>
33687
33688	* quartz_table.cc: don't form tag when we just want to check if a
33689	  key is present before calling Btree::del().  Working out why
33690	  we can't call Btree::del() would still be worthwhile though.
33691
33692Tue Sep 10 13:02:04 BST 2002  Olly Betts <olly@survex.com>
33693
33694	* quartztest.cc: removed unused #include-s; describe valid options
33695	  in usage message.
33696
33697Tue Sep 10 02:07:29 BST 2002  Olly Betts <olly@survex.com>
33698
33699	* remote backend: implemented term_exists() and get_termfreq();
33700	  added test to check they work.
33701
33702Mon Sep  9 12:59:15 BST 2002  Richard Boulton <richard@tartarus.org>
33703
33704	* Add stub databases: if backend type is auto, and auto_dir points
33705	  to a file, read in settings from the file (overwriting the
33706	  existing ones), and then use them to open the database.
33707	  This allows, for example, omega to open a remote database by
33708	  putting in a stub database file in the omega directory.
33709	  Updated documentation for opening databases in userman.html.
33710	* apitest: Added test for stub databases.
33711
33712Mon Sep 09 02:26:36 BST 2002  Olly Betts <olly@survex.com>
33713
33714	* Documentation updates: move suggested books into intro_ir.html
33715	  and added URL for citeseer reference Richard posted to mailing
33716	  list recently; clarified wording in a couple of places.
33717
33718Sat Sep  7 12:52:12 2002  James Aylett  <tartarus@users.sourceforge.net>
33719
33720	* docs: fixed references to OmDocumentContents (now OmDocument)
33721	  which had clearly been broken for a while. Also fixed get_data()
33722	  and set_data() example usage so it reflects reality (I hope).
33723
33724Wed Sep 04 22:46:17 BST 2002  Olly Betts <olly@survex.com>
33725
33726	* Corrected min_item.wt to min_wt in two assertions.
33727
33728Thu Aug 15 11:42:20 BST 2002  Richard Boulton <richard@tartarus.org>
33729
33730	* buildall: Only add the directory derived from xapian-config
33731	  to ACLOCAL_FLAGS if it actually exists.
33732
33733Mon Aug 12 01:13:55 BST 2002  Richard Boulton <richard@tartarus.org>
33734
33735	* quartz_table.cc: Check that a key exists before calling
33736	  Btree::del() - there seems to be a bug in the btree code
33737	  causing a failure when deleting keys if they don't exist.
33738	  This work around appears to make things work correctly, but
33739	  won't be terribly efficient.
33740
33741Mon Aug 12 00:09:21 BST 2002  Richard Boulton <richard@tartarus.org>
33742
33743	* quartz_table_manager.cc: When unable to apply modifications,
33744	  call cancel on the buffered table after reopening disk table
33745	  at old revision - otherwise, the entry count gets messed up.
33746	* quartz_table.cc, quartz_database.cc: Improve debugging and
33747	  error reporting: I'm trying to work out why the failure Olly
33748	  reported is occurring.
33749
33750Sat Aug 10 15:12:42 2002  James Aylett  <tartarus@users.sourceforge.net>
33751
33752	* Fixed missing include in quartzcheck.cc
33753
33754Sat Aug 10 14:57:17 2002  James Aylett  <tartarus@users.sourceforge.net>
33755
33756	* Fixed typo in quartzcheck.cc
33757
33758Tue Jul 23 22:12:34 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
33759
33760	* Added a note to the effect that the indexgraph stuff isn't
33761	  really considered useful to the HTML document introducing it.
33762
33763Tue Jul 23 22:09:39 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
33764
33765	* Added some comments in quartztest test_create1(), in case anyone
33766	  else who didn't write it needs to understand it.
33767
33768	* Added Olly as an active participant to the AUTHORS file :)
33769
33770Tue Jul 23 21:59:50 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
33771
33772	* Reworded quickstart document so it does not refer to the example
33773	  code (it was never actually in sync).
33774
33775Mon Jul 22 14:07:18 BST 2002  Sam Liddicott <sam@ananova.com>
33776
33777	* Forgot to actually add the quartzcheck.cc file last time
33778
33779Mon Jul 22 13:28:09 BST 2002  Sam Liddicott <sam@ananova.com>
33780
33781	* Add buildprereq to package
33782	  Add quartzcheck which runs btree::check to backends
33783
33784Tue Jul 16 09:44:56 BST 2002  Sam Liddicott <sam@ananova.com>
33785
33786	* Fix banding problem; bands are now based on the percentage
33787	  not the weight, and using integer maths to avoid problems
33788	  with ceil() rounding up supposed integers which are really
33789	  slightly larger due to precision errors
33790
33791Thu Jul 11 00:16:22 BST 2002  Olly Betts <olly@survex.com>
33792
33793	* configure.in, docs/Makefile.am: configure fixes for Solaris - clear
33794	  cached result for fdatasync since it may be wrong if we decide we
33795	  need to link librt; split SOURCEDOC_SRC into two to avoid hitting
33796	  4096 char line length in Solaris sed.
33797
33798Tue Jul 09 17:47:31 BST 2002  Olly Betts <olly@survex.com>
33799
33800	* PLATFORMS, tests/Makefile.am: improved internaltest.cc automake rules
33801	  - they should now work in VPATH builds with Solaris make.
33802
33803Tue Jul 09 03:30:41 BST 2002  Olly Betts <olly@survex.com>
33804
33805	* configure.in, docs/Makefile.am: Fixed up apidoc and sourcedoc
33806	  dependencies so that they work correctly in VPATH builds.  Also
33807	  only use portable find arguments to generate SOURCEDOC_SRC.
33808
33809Sat Jul 06 13:53:27 BST 2002  Olly Betts <olly@survex.com>
33810
33811	* xapian.spec.in: Updated in preparation for release.
33812
33813Sat Jul 06 13:04:45 BST 2002  Olly Betts <olly@survex.com>
33814
33815	* docs/Makefile.am: Run latex twice to get forward references resolved.
33816
33817Fri Jul 05 18:23:08 BST 2002  Olly Betts <olly@survex.com>
33818
33819	* matcher/multimatch.cc: better (perhaps even completely correct) fix
33820	  for sorting into bands.
33821
33822	* matcer/localmatch.cc: removed entirely bogus comment from over-eager
33823	  cut-and-paste.
33824
33825	* tests/api_db.cc: added otherwise pointless statement to deldoc3
33826	  which seems to fix occasional miscompilation by GCC 2.95.
33827
33828Fri Jul 05 16:37:12 BST 2002  Olly Betts <olly@survex.com>
33829
33830	* docs/Makefile.am: "make dist" now fails if dot (part of graphviz)
33831	  isn't installed.
33832
33833Fri Jul 05 08:54:33 BST 2002  Sam Liddicott <sam@ananova.com>
33834
33835	* bindings/: removed some typemap hacks as swig has better typemaps now
33836
33837Fri Jul 05 08:46:06 BST 2002  Sam Liddicott <sam@ananova.com>
33838
33839	* matcher/multimatch.cc: Quick hack to stop 100% being in a band all on
33840	  its own.  The real problem is that bands need to include the integer
33841	  at the upper end of the range, rather than the lower end.
33842
33843Thu Jul 04 16:23:52 BST 2002  Olly Betts <olly@survex.com>
33844
33845	* docs/mkdoc.pl: Fixed to work in VPATH builds.
33846
33847Thu Jul 04 12:42:06 BST 2002  Olly Betts <olly@survex.com>
33848
33849	* configure.in, docs/Makefile.am: use "missing" to give more helpful
33850	  errors when we don't find tools we need.
33851
33852Wed Jul 03 12:39:15 BST 2002  Olly Betts <olly@survex.com>
33853
33854	* NEWS: incorporated recent changes into provisional version.
33855
33856	* docs/: sorted out make rules for running doxygen; don't tell doxygen
33857	  to build man pages which we aren't using.
33858
33859Tue Jul 02 16:36:54 BST 2002  Olly Betts <olly@survex.com>
33860
33861	* docs/: run through ispell; fixed OM_MOP to OmQuery::OP; other
33862	  corrections.
33863
33864Fri Jun 28 02:59:49 BST 2002  Olly Betts <olly@survex.com>
33865
33866	* Backend "auto" now works when creating an OmWritableDatabase which
33867	  doesn't already exist - it'll pick a backend which supports writing
33868	  and is compiled in (currently this means quartz).
33869
33870Thu Jun 27 20:31:13 BST 2002  Richard Boulton <richard@tartarus.org>
33871
33872	* backends/quartz/btreetest.cc (sequent1): Add regression test for
33873	  recently fixed bug with sequential addition.
33874	* backends/quartz/z_data/ordnum[+-]: Data files for new test.
33875
33876Thu Jun 27 13:13:37 BST 2002  Olly Betts <olly@survex.com>
33877
33878	* Documentation fettling: removed docs/Notes and
33879	  docs/coding_policy.txt moving relevant content into HACKING,
33880	  common/postlist.h, docs/todo.xml, and include/om/omtypes.h; install
33881	  docs as PostScript rather than DVI; include text docs in tarball and
33882	  install them; "make dist" will now fail if a tool needed to build
33883	  docs is missing; removed last vestiges of Doc++ support;
33884	  doc/Makefile no longer uses include (include isn't portable);
33885	  improved doc/tests.txt.
33886
33887Thu Jun 27 12:10:37 BST 2002  Olly Betts <olly@survex.com>
33888
33889	* apitest: doesn't directly use anything from utils.h, so don't
33890	  #include it.
33891
33892Thu Jun 27 12:05:53 BST 2002  Olly Betts <olly@survex.com>
33893
33894	* Removed includetest - it was useful early in development, but isn't
33895	  really now.
33896
33897Wed Jun 26 22:09:57 BST 2002  Olly Betts <olly@survex.com>
33898
33899	* apitest: deldoc2 and deldoc3 now pass when the library is compiled
33900	  with --enable-debug.
33901
33902Wed Jun 26 19:35:56 BST 2002  Olly Betts <olly@survex.com>
33903
33904	* Removed code which causes quartztest to fail with an --enable-debug
33905	  build.
33906
33907Wed Jun 26 13:55:11 BST 2002  Olly Betts <olly@survex.com>
33908
33909	* todo.xml: added note to fix 100% being in its own sort band.
33910
33911Wed Jun 26 13:46:02 BST 2002  Richard Boulton <richard@tartarus.org>
33912
33913	* btree.cc: Fix splitting of blocks in sequential mode to ensure
33914	  that split happens no earlier than the midpoint.
33915
33916Wed Jun 26 12:32:47 BST 2002  Richard Boulton <richard@tartarus.org>
33917
33918	* btree.cc: Asserts to check that add_item in sequential mode
33919	  when splitting a block is not trying to add to the wrong block,
33920	  or to add to a new block which is not empty (or containing more
33921	  than one item).
33922
33923Tue Jun 25 17:53:19 BST 2002  Olly Betts <olly@survex.com>
33924
33925	* Assert that the value of c is sane in GETINT1, etc.
33926
33927Tue Jun 25 16:30:09 BST 2002  Olly Betts <olly@survex.com>
33928
33929	* btreetest.cc: use C++ IO rather than C stdio; removed commented out
33930	  LFSinsertdelete1 test (it was never written and a test suite which
33931	  creates 2G files is probably a bit too resource hungry).
33932
33933Tue Jun 25 13:56:01 BST 2002  Olly Betts <olly@survex.com>
33934
33935	* btree/quartz: More use of const pointers; more use of C++ strings.
33936
33937Wed Jun 19 08:56:00 BST 2002  Sam Liddicott <sam@ananova.com>
33938
33939	* Fixed spec file to build for prefix=/usr not just install there
33940
33941Fri Jun 14 16:35:04 BST 2002  Olly Betts <olly@survex.com>
33942
33943	* docs/todo.xml: added 4 new tasks.
33944
33945Fri Jun 14 16:33:08 BST 2002  Olly Betts <olly@survex.com>
33946
33947	* backends/quartz/quartz_database.cc: Cosmetic changes.
33948
33949Wed Jun 12 16:31:11 BST 2002  Olly Betts <olly@survex.com>
33950
33951	* QuartzDbKey, QuartzDbTag: just use a string instead of a string
33952	  wrapped in a structure.  We've stopped inflicting this on external
33953	  developers (OmData, OmKey/OmValue) so why inflict it on ourselves?
33954
33955Wed Jun 12 12:26:04 BST 2002  Olly Betts <olly@survex.com>
33956
33957	* Btree_item: use C++ strings rather than trying to reimplement them.
33958
33959	* Fix a few warnings about unused parameters.
33960
33961Wed Jun 12 02:53:16 BST 2002  Olly Betts <olly@survex.com>
33962
33963	* Btree_full_compaction, Btree_close: removed - they just wrap methods
33964	  of Btree.
33965
33966Wed Jun 12 02:28:30 BST 2002  Olly Betts <olly@survex.com>
33967
33968	* Btree_item_create and Btree_item_lose subsumed into Btree_item
33969	  and ~Btree_item.
33970
33971	* Pass C++ strings rather than const char * into various Btree open
33972	  methods.
33973
33974	* Removed pointless wrapper functions for Btree open methods.
33975
33976	* Btree_quit removed (just use delete directly).
33977
33978	* Btree_create removed (just use Btree::create directly).
33979
33980Wed Jun 12 00:48:52 BST 2002  Olly Betts <olly@survex.com>
33981
33982	* form_key is now a method of Btree; more passing of strings rather
33983	  than pointer/length pairs); buffer overrun check added to btreetest.
33984
33985Tue Jun 11 18:04:08 BST 2002  Olly Betts <olly@survex.com>
33986
33987	* More C++ like interfaces (e.g. bool returns, strings rather than
33988	  pointer/length pairs).
33989
33990Tue Jun 11 16:40:08 BST 2002  Richard Boulton <richard@tartarus.org>
33991
33992	* quartz/btree.cc: Fix so that it compiles when BTREE_FULL_DEBUG is on,
33993	  and added a couple of Assert()s.
33994
33995Tue Jun 11 13:09:39 BST 2002  Olly Betts <olly@survex.com>
33996
33997	* Removed a number of btree functions which were simply wrappers for
33998	  calling methods on their first parameter, and most of which weren't
33999	  even used!
34000
34001	* btree_api.txt: updated to better reflect the object-ized API.
34002
34003Tue Jun 11 02:01:53 BST 2002  Olly Betts <olly@survex.com>
34004
34005	* Btree::make_index_item(): Added check for buffer overflow.
34006
34007Tue Jun 11 01:49:51 BST 2002  Olly Betts <olly@survex.com>
34008
34009	* Still more...
34010
34011Tue Jun 11 01:08:03 BST 2002  Olly Betts <olly@survex.com>
34012
34013	* More btree and quartz tidying.
34014
34015Mon Jun 10 20:33:24 BST 2002  Olly Betts <olly@survex.com>
34016
34017	* btree.cc,btree.h: cleaned up further.
34018
34019Mon Jun 10 15:54:49 BST 2002  Olly Betts <olly@survex.com>
34020
34021	* Further btree and quartz cleanups.
34022
34023Mon Jun 10 14:46:00 BST 2002  Olly Betts <olly@survex.com>
34024
34025	* Fixed typo in recent quartzdump change.
34026
34027Mon Jun 10 13:20:20 BST 2002  Olly Betts <olly@survex.com>
34028
34029	* Quartz clean-ups - especially QuartzTermList.
34030
34031Mon Jun 10 12:18:40 BST 2002  Olly Betts <olly@survex.com>
34032
34033	* Bcursor_create made a method of class Btree as suggested by a FIXME.
34034
34035Mon Jun 10 01:57:53 BST 2002  Olly Betts <olly@survex.com>
34036
34037	* More btree fixes and tidying.  Fixed bug introduced by typo in
34038	  previous change which causes tests to fail.
34039
34040Sun Jun 09 17:50:28 BST 2002  Olly Betts <olly@survex.com>
34041
34042	* btree_util.h: use inlines rather than macros.
34043
34044	* Fix CompileTimeAssert() to avoid potential clashes.
34045
34046Sun Jun 09 12:46:25 BST 2002  Olly Betts <olly@survex.com>
34047
34048	* btree.cc,btree.h: fixed bug caused by local variable masking member
34049	  variable with same name.  Tidied up a lot.
34050
34051Wed Jun  5 12:22:57 BST 2002  Sam Liddicott <sam@ananova.com>
34052
34053	* Fix OmQuery::op enum handling.
34054
34055Mon May 27 14:28:06 BST 2002  Sam Liddicott <sam@ananova.com>
34056
34057	* Add crash-protected next() to OmMSetIterator
34058
34059	* Add ->valid() method to iterator which returns FALSE if
34060	  the iterator has reached the end
34061
34062	* Added namespace fixes for latest cvs swig to be released next month
34063
34064Fri May 24 15:28:18 BST 2002  Sam Liddicott <sam@ananova.com>
34065
34066	* Took out the string typemaps as swig now has them in stl.i
34067
34068	* Added om_percent to omtypes.i - I wonder if we might just
34069	  read omtypes.h instead, as swig can
34070
34071	* Added OmMSetIterator and made changes to OmMSet
34072
34073Fri May 24 11:46:50 BST 2002  Sam Liddicott <sam@ananova.com>
34074
34075	* Now support get_matching_terms via swig
34076	  I'm not sure how to generally map iterators to php but in
34077	  cases where we know only a small number of items exist
34078	  to be iterated over it makes sense to return them as a
34079	  php array
34080
34081Tue May 21 15:28:40 BST 2002  Richard Boulton <richard@tartarus.org>
34082
34083	* multi_postlist.cc (get_doclength):  Get the document length from
34084	  the appropriate sub-postlist, rather than from the database.
34085	  This causes a huge speedup in some cases, since it avoids having
34086	  to go to the termlist database for every document considered for
34087	  an mset to get the document length.
34088	  Added an AssertParanoid to check that the value from the postlist
34089	  is the same as that from the database.
34090	  This problem was noticed because "delve -v" was running several
34091	  orders of magnitude slower than without -v - it is now of
34092	  comparable speed.
34093
34094Tue May 21 15:27:37 BST 2002  Richard Boulton <richard@tartarus.org>
34095
34096	* quartz_values.cc: Small fixes to enable it to compile with debug
34097	  turned on.
34098
34099Fri May 17 14:52:45 BST 2002  Olly Betts <olly@survex.com>
34100
34101	* OmQueryParser::set_database() method added.
34102
34103	* Added disabled code to search for a keyword used in the query.
34104
34105	* Added ' and * to the list of "phrase making characters".
34106
34107	* To make a phrase, a phrase-maker must be followed by an alphanumeric
34108	  rather than just a non-space.
34109
34110Fri May 17 14:49:54 BST 2002  Olly Betts <olly@survex.com>
34111
34112	* INSTALL: GCC 3.1 release version works, so noted this.
34113
34114	* HACKING: Added note about warning-free compilation being desirable
34115	  and suggesting using "./configure CFLAGS=-Werror" to promote this.
34116
34117	* NEWS: Minor updates.
34118
34119Thu May 16 16:57:42 BST 2002  Olly Betts <olly@survex.com>
34120
34121	* Minor tweaks to get a warning-less compile with GCC 3.1.
34122
34123Thu May 16 13:36:19 BST 2002  Sam Liddicott <sam@ananova.com>
34124
34125	* Clean up the spec file
34126
34127Thu May 16 12:20:09 BST 2002  Olly Betts <olly@survex.com>
34128
34129	* Documented match_sort_key.
34130
34131Thu May 16 10:42:47 BST 2002  Sam Liddicott <sam@ananova.com>
34132
34133	* A few quick tips from Olly, now the tarfile name and version no.
34134	  stuff comes from autoconf so the spec file won't need tweaking
34135	  each time the version number changes
34136
34137Wed May 15 15:48:42 BST 2002  Sam Liddicott <sam@ananova.com>
34138
34139	* This can build RPM packages.
34140	  Get the make-dist tarball and do:
34141	  rpm -ta xapian-core-0.4.1-cvs.tar.gz
34142	  and it will make source and binary rpms
34143	  It doesn't build bindings packages yet but this will come when I
34144	  build them
34145
34146Wed May 15 13:27:21 BST 2002  Richard Boulton <richard@tartarus.org>
34147
34148	* buildall: Allow use of automake 1.6.1 and later, and CVS
34149	  automake (versions 1.6[a-z])
34150
34151Wed May 15 11:40:58 BST 2002  Sam Liddicott <sam@ananova.com>
34152
34153	* SWIG cvs (php4) now writes all output files to the same directory as
34154	  the main output file, so need for hacks to move these, also no more
34155	  clobbering our source files when building in the checkout dir
34156
34157Tue May 14 21:54:02 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
34158
34159	* Updated PLATFORMS file.
34160
34161Tue May 14 16:48:07 BST 2002  Olly Betts <olly@survex.com>
34162
34163	* Removed multiple-include protection from config.h - if it's
34164	  included more than once it's now a bug and we want to know!
34165
34166Tue May 14 15:25:05 BST 2002  Olly Betts <olly@survex.com>
34167
34168	* OmQueryParser: parse acronyms as a single term (so "E.T." -> "ET"
34169	  and "N.A.T.O" -> "NATO").
34170
34171Tue May 14 15:23:20 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
34172
34173	* Fixed config.h includes: source definition (ie not header) files
34174	  #include <config.h> as their first action.
34175
34176Tue May 14 14:47:00 BST 2002  Olly Betts <olly@survex.com>
34177
34178	* Updated todo.
34179
34180	* extra/parsequery.yy: Fettled indentation.
34181
34182Tue May 14 13:14:51 BST 2002  Olly Betts <olly@survex.com>
34183
34184	* Added test case for new "embedded &" rule, and fix problem bug it
34185	  revealed.
34186
34187Tue May 14 13:10:33 BST 2002  Olly Betts <olly@survex.com>
34188
34189	* OmQueryParser: Parse <word>&<word> as a single term (e.g. AT&T,
34190	  M&S, A&P).
34191
34192Tue May 14 11:50:03 BST 2002  Olly Betts <olly@survex.com>
34193
34194	* When including config.h, always specify it as <config.h>, not
34195	  "config.h", and always do it first.  Both are recommended by
34196	  the autoconf documentation.
34197
34198Mon May 13 17:17:13 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
34199
34200	* missing fallback rule all-local in docs/Makefile.am was failing
34201	  the build on Solaris
34202
34203Mon May 13 15:50:31 BST 2002  Sam Liddicott <sam@ananova.com>
34204
34205	* Use new %extends notation for swig.
34206
34207	* Update for new omValue usage
34208
34209	* Add omqueryparser support
34210
34211Mon May 13 15:12:30 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
34212
34213	* shipped getopt will now build in absence of system getopt
34214
34215Mon May 13 15:09:17 BST 2002  Olly Betts <olly@survex.com>
34216
34217	* configure.in: Moved AH_TOP/AH_BOTTOM to more logical place.
34218
34219	* docs/todo.xml: Updated.
34220
34221Mon May 13 14:13:27 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
34222
34223	* added getopt to DIST_SUBDIRS so distributions work
34224
34225Fri May 10 14:54:06 BST 2002  Olly Betts <olly@survex.com>
34226
34227	* getopt/: Checked in files I missed last time.
34228
34229Fri May 10 14:35:52 BST 2002  Olly Betts <olly@survex.com>
34230
34231	* Make sure GNU getopt is linked to everything which might need it so
34232	  we build in non-glibc environments.
34233
34234Fri May 10 13:42:59 BST 2002  Olly Betts <olly@survex.com>
34235
34236	* Replaced second match_sort_key optimisation with one which is
34237	  faster and not flawed.
34238
34239Thu May 09 18:27:30 BST 2002  Olly Betts <olly@survex.com>
34240
34241	* match_sort_key now runs at a sensible speed (approx. 20x speed
34242	  up on my test case).
34243
34244Thu May 09 16:58:11 BST 2002  Olly Betts <olly@survex.com>
34245
34246	* Added another optimisation for match_sort_key - my test case
34247	  is now 25% faster (still slow though).
34248
34249Thu May 09 11:57:59 BST 2002  Olly Betts <olly@survex.com>
34250
34251	* NEWS, PLATFORMS, README: Updated to something approximating what we
34252	  want for a release.
34253
34254	* docs/todo.xml: Updated.
34255
34256Thu May 09 10:57:59 BST 2002  Olly Betts <olly@survex.com>
34257
34258	* Removed references to match_max_or_terms (which was replaced
34259	  by OmQuery::OP_ELITE_SET long, long ago).
34260
34261Wed May 08 17:38:50 BST 2002  Olly Betts <olly@survex.com>
34262
34263	* Improved api documentation comments.
34264
34265Wed May 08 17:09:14 BST 2002  Olly Betts <olly@survex.com>
34266
34267	* Include findheaders.pl in tarball.
34268
34269Wed May 08 16:09:14 BST 2002  Olly Betts <olly@survex.com>
34270
34271	* Killed off acconfig.h.
34272
34273Wed May 08 15:53:11 BST 2002  Olly Betts <olly@survex.com>
34274
34275	* Added autom4te-*.cache to .cvsignore.
34276
34277Wed May 08 15:50:56 BST 2002  Olly Betts <olly@survex.com>
34278
34279	* Rebuild docs on "make", not just "make dist" or "make install".
34280
34281Wed May 08 15:07:01 BST 2002  Olly Betts <olly@survex.com>
34282
34283	* Added workaround for problems with <fcntl.h> on Solaris when LFS
34284	  is enabled.
34285
34286Wed May 08 13:44:10 BST 2002  Olly Betts <olly@survex.com>
34287
34288	* Matcher can now sort on a key.  Can be rather slow at present...
34289
34290Wed May 08 13:15:21 BST 2002  Olly Betts <olly@survex.com>
34291
34292	* Updated todo.
34293
34294Wed May 08 12:22:53 BST 2002  Olly Betts <olly@survex.com>
34295
34296	* Removed ltmain.sh-s from CVS.
34297
34298Wed May 08 12:21:32 BST 2002  Olly Betts <olly@survex.com>
34299
34300	* buildall: run libtoolize; stripped out unnecessary stuff.
34301
34302Wed May 08 09:44:45 BST 2002  Olly Betts <olly@survex.com>
34303
34304	* matcher/msetpostlist.cc: Removed bogus comment cut and pasted from
34305	  matcher/mergepostlist.cc.
34306
34307Tue May 07 17:51:57 BST 2002  Olly Betts <olly@survex.com>
34308
34309	* It's "m4_include", not "m4include".
34310
34311Tue May 07 17:52:36 BST 2002  Olly Betts <olly@survex.com>
34312
34313	* Added autoconf/type_socklen_t macro.
34314
34315Tue May 07 16:50:20 BST 2002  Olly Betts <olly@survex.com>
34316
34317	* Now require autoconf 2.50, which allows us to clean up some of the
34318	  more unpleasant parts of the build system.
34319
34320Tue May 07 14:55:37 BST 2002  Olly Betts <olly@survex.com>
34321
34322	* Added "match_sort_bands" option to sort results within relevance
34323	  bands.  Currently the sort within each band is by document id, which
34324	  isn't really very useful.  The plan is to allow sorting by a key.
34325
34326Tue May 07 14:54:12 BST 2002  Olly Betts <olly@survex.com>
34327
34328	* Sorted out tests/findheaders.pl wrt last change.
34329
34330Tue May 07 13:12:23 BST 2002  Olly Betts <olly@survex.com>
34331
34332	* Run perl scripts from Makefiles explicitly with $(PERL) rather than
34333	  having them as generated files in AC_OUTPUT.
34334
34335Mon May  6 16:04:37 2002  James Aylett  <tartarus@users.sourceforge.net>
34336
34337	* Distribution fixes: make clean should now clear up all
34338	  required files.
34339
34340Mon May  6 14:42:46 2002  James Aylett  <tartarus@users.sourceforge.net>
34341
34342	* Don't include dlfcn.h since we don't use it (and doesn't exist
34343	  on some target platforms).
34344
34345Mon May  6 14:07:24 2002  James Aylett  <tartarus@users.sourceforge.net>
34346
34347	* Minor documentation corrections.
34348
34349Fri May 03 18:14:14 BST 2002  Olly Betts <olly@survex.com>
34350
34351	* Changed autoconf/automake project name to xapian-core, and updated
34352	  the documentation to reflect this.
34353
34354	* Disabled the bindings from being included in distribution tarballs.
34355
34356Fri May 03 18:13:43 BST 2002  Olly Betts <olly@survex.com>
34357
34358	* Updated todo list.
34359
34360Fri May  3 18:02:06 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
34361
34362	* Overloading ambiguity resolutions for linux/alpha build on CF
34363
34364Fri May 03 17:13:36 BST 2002  Olly Betts <olly@survex.com>
34365
34366	* buildall: Don't run configure or make; removed --no-make and --quiet.
34367
34368Fri May  3 16:52:01 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
34369
34370	* tests/testdata/etext.txt needs to be included in the distribution
34371
34372Fri May 03 16:18:38 BST 2002  Olly Betts <olly@survex.com>
34373
34374	* Removed OmValue in favour of simply using a string (analogous to
34375	  recent OmData change).
34376
34377Fri May 03 14:52:04 BST 2002  Olly Betts <olly@survex.com>
34378
34379	* Removed unused om_docname typedef.
34380
34381Fri May 03 14:42:31 BST 2002  Olly Betts <olly@survex.com>
34382
34383	* Terminology change - a "key" (in the OmKey sense) is now a "value".
34384
34385Fri May  3 14:31:57 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
34386
34387	* Fixed up todo list and HTML generation script to cope with
34388	  items without an assigned priority.
34389
34390Fri May 03 14:29:58 BST 2002  Olly Betts <olly@survex.com>
34391
34392	* It's HACKING (not INSTALL) that has details of developer tools.
34393
34394Thu May 02 15:57:48 BST 2002  Olly Betts <olly@survex.com>
34395
34396	* Removed OmData - just return and take a string instead.
34397
34398Thu May 02 14:40:21 BST 2002  Olly Betts <olly@survex.com>
34399
34400	* docs/.cvsignore: updated.
34401
34402Thu May 02 14:38:36 BST 2002  Olly Betts <olly@survex.com>
34403
34404	* Removed assorted references to pthread locking; updated HACKING.
34405
34406Thu May 02 14:15:47 BST 2002  Olly Betts <olly@survex.com>
34407
34408	* Stripped out OmBatchEnquire stuff, as it's unlikely to get sorted
34409	  out any time soon, and it can be extracted from CVS when someone
34410	  wants it.
34411
34412Thu May 02 13:50:04 BST 2002  Olly Betts <olly@survex.com>
34413
34414	* Check for bison >= 1.35 in buildall.
34415
34416Wed May 01 17:39:57 BST 2002  Olly Betts <olly@survex.com>
34417
34418	* Removed lingering references to Omsee and OpenMuscat.
34419
34420Wed May 01 16:34:13 BST 2002  Olly Betts <olly@survex.com>
34421
34422	* Removed unused methods from NetClient (read_data and write_data).
34423
34424Wed May 01 14:01:12 BST 2002  Olly Betts <olly@survex.com>
34425
34426	* Added test consistency1 to check matcher optimisations don't
34427	  result in inconsistent results (i.e. that same matches and
34428	  weights are returned regardless of size of mset asked for).
34429
34430Wed May 01 11:48:10 BST 2002  Olly Betts <olly@survex.com>
34431
34432	* Fixed mismatched tags in todo.xml.
34433
34434Wed May 01 11:46:42 BST 2002  Olly Betts <olly@survex.com>
34435
34436	* Updated todo.
34437
34438Wed May 01 11:40:47 BST 2002  Olly Betts <olly@survex.com>
34439
34440	* Corrected configure warning message - it's XML::Parser not XML.
34441
34442Wed May 01 11:34:49 BST 2002  Olly Betts <olly@survex.com>
34443
34444	* Tweaks to get queryparser building cleanly.
34445
34446Tue Apr 30 17:44:48 BST 2002  Olly Betts <olly@survex.com>
34447
34448	* Updated query parser in extra from the updated one in omega,
34449	  and fettled it to cope better with multiple instantiations
34450	  (though it's a long way from being reentrant at the moment).
34451
34452Tue Apr 30 11:03:44 BST 2002  Olly Betts <olly@survex.com>
34453
34454	* Updated todo.
34455
34456Mon Apr 29 19:28:04 BST 2002  Olly Betts <olly@survex.com>
34457
34458	* More string.c_str() tidying.
34459
34460Mon Apr 29 17:41:33 BST 2002  Olly Betts <olly@survex.com>
34461
34462	* Tidied up some uses of string.c_str().
34463
34464	* Cleaned up todo list.
34465
34466Mon Apr 29 16:08:21 BST 2002  Olly Betts <olly@survex.com>
34467
34468	* Updated buildall to check various tools have the required version
34469	  numbers.
34470
34471Mon Apr 29 15:58:57 BST 2002  Olly Betts <olly@survex.com>
34472
34473	* Tweaked use of HAVE_STREAMBUF
34474
34475Fri Apr 26 14:41:09 BST 2002  Sam Liddicott <sam@ananova.com>
34476
34477	* Swig is now modified so it can build config.m4 and Makefile.in
34478	  for php modules so I removed these from bindings/php4
34479
34480Tue Apr 23 18:21:03 BST 2002  Olly Betts <olly@survex.com>
34481
34482	* Tried compiling with GCC 3.1 prerelease snapshot and fixed various
34483	  STL-related warnings (mostly uses of istrstream).
34484
34485	* Fixed usage of AM_CFLAGS and AM_CXXFLAGS.
34486
34487Tue Apr 23 15:48:36 BST 2002  Olly Betts <olly@survex.com>
34488
34489	* Updated buildall (and had to tweak it again, sigh).
34490
34491Tue Apr 23 14:21:01 BST 2002  Sam Liddicott <sam@ananova.com>
34492
34493	* Added typemap conversion to generate OmSettings from php hash
34494	* Changed order of classes in interface file
34495
34496Tue Apr 23 14:20:05 BST 2002  Olly Betts <olly@survex.com>
34497
34498	* Revamped xapian-config and xapian.m4.  Important change - it's now
34499	  "xapian-config --cxxflags" and XAPIAN_CXXFLAGS, not --cflags and
34500	  _CFLAGS.
34501
34502Mon Apr 22 17:58:56 BST 2002  Olly Betts <olly@survex.com>
34503
34504	* Removed leak checker.
34505
34506Mon Apr 22 13:40:01 BST 2002  Olly Betts <olly@survex.com>
34507
34508	* Tiny code tweak.
34509
34510Mon Apr 22 13:11:32 BST 2002  Olly Betts <olly@survex.com>
34511
34512	* Write debug log using unbuffered IO and O_APPEND which should prevent
34513	  the log file becoming garbled when used from applications which use
34514	  Xapian objects in multiple threads.
34515
34516Mon Apr 22 12:19:18 BST 2002  Olly Betts <olly@survex.com>
34517
34518	* Updated copyright notices for last change.
34519
34520Mon Apr 22 11:20:28 BST 2002  Olly Betts <olly@survex.com>
34521
34522	* Removed thread locks.
34523
34524Fri Apr 19 17:38:23 BST 2002  Olly Betts <olly@survex.com>
34525
34526	* Removed completed tasks from todo list.
34527
34528Fri Apr 19 17:26:23 BST 2002  Olly Betts <olly@survex.com>
34529
34530	* Removed placeholder code for OmQuery::OP_PERCENT_CUTOFF - it's
34531	  actually impossible to implement since we started rescaling
34532	  percentages so that 100% is attainable.
34533
34534Fri Apr 19 16:42:42 BST 2002  Olly Betts <olly@survex.com>
34535
34536	* Tracked down and fixed the bug in the quartz backend which was making
34537	  test poslist2 fail.
34538
34539Fri Apr 19 16:06:39 BST 2002  Olly Betts <olly@survex.com>
34540
34541	* Fixed some compilation problems which I somehow failed to notice
34542	  before the last check-in.
34543
34544Fri Apr 19 15:04:13 BST 2002  Olly Betts <olly@survex.com>
34545
34546	* Added more RETURN(...) wrappers.
34547
34548Fri Apr 19 14:46:19 BST 2002  Olly Betts <olly@survex.com>
34549
34550	* Added more DEBUGCALL tracing to quartz.
34551
34552Fri Apr 19 13:29:57 BST 2002  Olly Betts <olly@survex.com>
34553
34554	* Minor tweaks to quartz_database.cc.
34555
34556Fri Apr 19 13:07:50 BST 2002  Olly Betts <olly@survex.com>
34557
34558	* Moved test poslist1 into correct place and renamed it to poslist2
34559	  since there's already a poslist1...
34560
34561Fri Apr 19 11:19:15 BST 2002  Olly Betts <olly@survex.com>
34562
34563	* poslist1 (when actually run!) reveals that Quartz fails to throw
34564	  errors in this case.  Disabled test for now, as I can't see why it
34565	  fails to throw...
34566
34567Thu Apr 18 17:44:56 BST 2002  Olly Betts <olly@survex.com>
34568
34569	* Added poslist1 test as suggested by a TODO entry.
34570
34571Thu Apr 18 14:17:24 BST 2002  Olly Betts <olly@survex.com>
34572
34573	* buildall: Removed search for GNU make (as of automake
34574	  1.5 it's not needed for automake and we aim to have portable
34575	  makefiles).  Made buildall more portable.
34576
34577Thu Apr 18 14:16:18 BST 2002  Olly Betts <olly@survex.com>
34578
34579	* xapian-config.nodep is a generated file, so don't look for it in
34580	  srcdir.
34581
34582Thu Apr 18 12:45:04 BST 2002  Olly Betts <olly@survex.com>
34583
34584	* Added bindings/php4/xapian/.cvsignore.
34585
34586Thu Apr 18 12:36:53 BST 2002  Olly Betts <olly@survex.com>
34587
34588	* Minor tweaks to "Makefile" section in HACKING.
34589
34590Thu Apr 18 12:26:21 BST 2002  Olly Betts <olly@survex.com>
34591
34592	* Yet more Makefile portability fixes; added section to HACKING
34593	  summarising my recent experiences.
34594
34595Thu Apr 18 11:26:37 BST 2002  Olly Betts <olly@survex.com>
34596
34597	* Corrected the sense of the test in the previous check-in.
34598
34599Thu Apr 18 11:08:04 BST 2002  Olly Betts <olly@survex.com>
34600
34601	* Use case instead of echo/sed to replace dirname.
34602
34603Thu Apr 18 10:19:01 BST 2002  Olly Betts <olly@survex.com>
34604
34605	* Another Makefile portability tweak.
34606
34607Wed Apr 17 16:07:02 BST 2002  Olly Betts <olly@survex.com>
34608
34609	* bindings/php4/Makefile.am: Fixed a couple of problems with
34610	  recent changes.
34611
34612Wed Apr 17 15:32:44 BST 2002  Olly Betts <olly@survex.com>
34613
34614	* Makefile portability improvements.
34615
34616Wed Apr 17 14:29:21 BST 2002  Olly Betts <olly@survex.com>
34617
34618	* Replaced uses of GNU make specific features with more portable
34619	  ones.
34620
34621Wed Apr 17 12:43:07 BST 2002  Olly Betts <olly@survex.com>
34622
34623	* Update todo list.
34624
34625Wed Apr 17 12:41:03 BST 2002  Olly Betts <olly@survex.com>
34626
34627	* Removed BrightStation's logo from the documentation.
34628
34629Wed Apr 17 12:27:07 BST 2002  Olly Betts <olly@survex.com>
34630
34631	* xapian-config: Removed --uninst support - it's very hard to make it
34632	  work reliably and we're better off directing our efforts towards
34633	  improving the library than trying to get it working and keep it
34634	  working.
34635
34636Wed Apr 17 10:39:02 BST 2002  Olly Betts <olly@survex.com>
34637
34638	* Fixed btreetest code to use new names "ord+" and "ord-" for
34639	  datafiles; disabled LFSinsertdelete1 test as it's exactly the
34640	  same as insertdelete1 (despite the comment above which suggests
34641	  it tests files >2G).
34642
34643Mon Apr 15 17:14:22 BST 2002  Olly Betts <olly@survex.com>
34644
34645	* Fix a few OmDatabase::InternalInterface uses I'd somehow missed.
34646
34647Mon Apr 15 16:08:20 BST 2002  Olly Betts <olly@survex.com>
34648
34649	* Mark internal classes as @internal for doxygen; removed all uses
34650	  of OmDatabase::InternalInterface as it's no longer needed.
34651
34652Mon Apr 15 15:42:47 BST 2002  Olly Betts <olly@survex.com>
34653
34654	* Updated TODO list.
34655
34656Mon Apr 15 2002  Sam Liddicott <sam@ananova.com>
34657
34658	* Hacked around bindings and bindings/php to remove some SWIG
34659	  workarounds.  SWIG cvs + some new non-comitted patches is need still.
34660
34661Mon Apr 15 12:12:05 BST 2002  Olly Betts <olly@survex.com>
34662
34663	* stemtest: getopt fix.
34664
34665	* stemtest.pl.in: output now: less verbose by default and coloured.
34666
34667Mon Apr 15 11:18:58 BST 2002  Olly Betts <olly@survex.com>
34668
34669	* Updated HACKING to say that automake 1.5 is required, and note that
34670	  automake 1.6.1 is better than 1.6.
34671
34672Sat Apr 13 20:35:51 2002  James Aylett  <tartarus@users.sourceforge.net>
34673
34674	* Fixed stemtest getopt usage so it works again.
34675
34676Sat Apr 13 20:20:52 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
34677
34678	* Fixed omtcpsrv getopt usage so it works again.
34679
34680Fri Apr 12 16:24:06 BST 2002  Olly Betts <olly@survex.com>
34681
34682	* Require automake 1.5.
34683
34684Fri Apr 12 12:11:57 BST 2002  Olly Betts <olly@survex.com>
34685
34686	* omtcpsrv: Namespace fixes.
34687
34688Fri Apr 12 12:25:42 BST 2002  Olly Betts <olly@survex.com>
34689
34690	* Fixed everything to use getopt rather than icky handparsing of
34691	  options.
34692
34693Fri Apr 12 11:26:57 BST 2002  Olly Betts <olly@survex.com>
34694
34695	* Removed delve - it's going to be an example program.
34696
34697Thu Apr 11 18:09:35 BST 2002  Olly Betts <olly@survex.com>
34698
34699	* Command line argument improvements - added FIXMEs where getopt
34700	  should be used.
34701
34702Thu Apr 11 17:01:44 BST 2002  Richard Boulton <richard@tartarus.org>
34703
34704	* Fixes to work with automake 1.6.1.
34705	  I recommend using 1.6.1 rather than 1.6, since this fixes many
34706	  bugs in 1.6.  I havn't tested with 1.6 recently, but it is likely
34707	  to report problems.
34708
34709Thu Apr 11 17:25:37 BST 2002  Olly Betts <olly@survex.com>
34710
34711	* Use GNU getopt.
34712
34713Thu Apr 11 15:06:15 BST 2002  Olly Betts <olly@survex.com>
34714
34715	* Updated to recommend automake 1.5, noting problem with automake 1.4
34716	  and that we'll probably soon insist on 1.5, and later autoconf 2.50.
34717	  Also added notes on recommended and usable GCC versions.
34718
34719Thu Apr 11 14:23:44 BST 2002  Olly Betts <olly@survex.com>
34720
34721	* Cleaning up build system.
34722
34723Thu Apr 11 13:18:23 BST 2002  Olly Betts <olly@survex.com>
34724
34725	* Use AndPostList with boolean weights on the RHS instead of
34726	  FilterPostList - this appears to fix a bug, but I suspect it's
34727	  actually just moving it around.  Will investigate later.
34728
34729Thu Apr 11 10:11:11 BST 2002  Olly Betts <olly@survex.com>
34730
34731	* Sorted out automake for php4 bindings.
34732
34733Wed Apr 10 14:44:50 BST 2002  Olly Betts <olly@survex.com>
34734
34735	* Removed a superfluous DEBUGLINE.
34736
34737Tue Apr  9 19:02:09 BST 2002  Richard Boulton <richard@tartarus.org>
34738
34739	* Fix some DEBUGLINE() macros in the matcher which had
34740	  the first parameter missing.
34741
34742Tue Apr 09 17:50:44 BST 2002  Olly Betts <olly@survex.com>
34743
34744	* Removed stray bit of debug code.
34745
34746Tue Apr 09 17:05:09 BST 2002  Olly Betts <olly@survex.com>
34747
34748	* More debug tracing added.
34749
34750Tue Apr 09 10:48:42 BST 2002  Olly Betts <olly@survex.com>
34751
34752	* Disabled pthread support by default.
34753
34754Sat Apr  6 20:45:21 2002  James Aylett  <tartarus@users.sourceforge.net>
34755
34756	* Reordered some output generation in configure so it won't
34757	  complain about directories not existing. (I don't understand
34758	  what the problem is, but this does fix it.)
34759
34760Sat Apr 06 20:27:57 BST 2002  Olly Betts <olly@survex.com>
34761
34762	* Moved a few lingering traces of XML indexer stuff to indexer
34763	  subdirectory.
34764
34765Sat Apr 06 17:37:02 BST 2002  Olly Betts <olly@survex.com>
34766
34767	* Removed -pedantic (read the gcc docs - it's doesn't turn on
34768	  useful warnings) and fixed all the remaining compilation
34769	  warnings in a non-debug build.
34770
34771Fri Apr 05 10:21:28 BST 2002  Olly Betts <olly@survex.com>
34772
34773	* Removed --enable-profiling, --enable-purify, and --enable-insure.
34774	  They don't do anything which can't be achieved by passing
34775	  environment variables and switches to configure (now documented
34776	  in HACKING).  Adding a separate switch for every profiling and
34777	  code-quality tool out there isn't a sensible approach.
34778
34779Thu Apr 04 20:37:12 BST 2002  Olly Betts <olly@survex.com>
34780
34781	* Updated .cvsignore files.
34782
34783Thu Apr 04 20:25:41 BST 2002  Olly Betts <olly@survex.com>
34784
34785	* PTHREAD_CFLAGS was only being used for compiling C, not C++, which
34786	  was causing builds to fail unless threading was disabled.  This
34787	  problem has been there a long time, but until recently was hidden
34788	  by the check for fdatasync erroneously linking in -lrt which pulls
34789	  in pthreads anyway (at least this is the situation on Linux).
34790
34791Thu Apr 04 20:06:00 BST 2002  Olly Betts <olly@survex.com>
34792
34793	* Removed XML indexer stuff from the main xapian library.  All the
34794	  removed bits are now in the indexer subdirectory, ready to be
34795	  reassembled into a supplementary library.
34796
34797Thu Apr 04 15:43:43 BST 2002  Olly Betts <olly@survex.com>
34798
34799	* More debug tracing in the matcher.
34800
34801Thu Apr 04 14:17:10 BST 2002  Olly Betts <olly@survex.com>
34802
34803	* Added debug tracing to most of the matcher.
34804
34805Thu Mar 28 17:21:16 GMT 2002  Olly Betts <olly@survex.com>
34806
34807	* Give up trying to make internals private or protected in the
34808	  header files in include - the consequences are just too ugly, and
34809	  it's clear enough that they shouldn't be messed with except by the
34810	  library itself.
34811
34812Wed Mar 27 10:24:26 GMT 2002  Olly Betts <olly@survex.com>
34813
34814	* Don't add "-lrt" to the link line unless it's actually needed for
34815	  fdatasync().
34816
34817Wed Mar 27 10:11:09 GMT 2002  Olly Betts <olly@survex.com>
34818
34819	* Fixed two problems in the matcher which were respectively causing
34820	  problems with boolean filters, and with situations where OR or
34821	  ANDMAYBE decayed to AND.
34822
34823Fri Jan 11 18:00:44 GMT 2002  James Aylett  <tartarus@users.sourceforge.net>
34824
34825	* Various build fixes for libxml2: define CHAR as needed,
34826	  --enable-validation (off by default), check for and discard
34827	  'blank' text/cdata nodes as we encounter them
34828
34829Fri Jan 11 15:40:50 GMT 2002  Sam Liddicott <sam@ananova.com>
34830
34831	* Added Large File Support in the same way it was added to GNU tar.
34832	  (If it's good enough for them...)
34833	  This is by means of autoconf/ac_sys_largefile which I'm told is
34834	  built in to later versions of autoconf, and may possibly give us
34835	  trouble redefining it for those versions...  But we'll see about
34836	  that when/if it happens.
34837
34838	  It seems to work fine here on some DB's which I had to stop growing
34839	  cos they got too big; I'm now past the 2G boundry with no problems
34840
34841	  I guess we should still add overflow detection for 2^31 blocks.
34842	  Ideas?
34843
34844	  I need some help on the btreetest.cc as I haven't yet worked out
34845	  what it does; so while I've added a test, it doesn't yet test
34846	  what it says it does.  I have changed btreetest.cc so you can
34847	  tell it where to dump the test DB
34848
34849Fri Dec 21 17:48:09 GMT 2001  Olly Betts <olly@survex.com>
34850
34851	* Fixed halflife calculation in OmBiasFunctor.
34852
34853Fri Dec 21 15:24:58 GMT 2001  Olly Betts <olly@survex.com>
34854
34855	* Added a temporary API to allow use of OmBiasFunctor.
34856
34857Fri Dec 21 12:58:23 GMT 2001  Olly Betts <olly@survex.com>
34858
34859	* Disable conversion of OR to AND/ANDMAYBE in matcher tree - there's
34860	  a bug which sometimes manifests when there's a date filter and a
34861	  threshold cutoff in omega, and results in just one match when there
34862	  should be more.  I don't believe the bug is actually in OrPostList
34863	  but I've been tracking it for 4 days without success and turning off
34864	  this optimisation seems to stop it occurring so will have to do for
34865	  now.
34866
34867Thu Dec 20 17:41:04 GMT 2001  Olly Betts <olly@survex.com>
34868
34869	* matcher/multimatch.cc: added more percent_cutoff assertions.
34870
34871Thu Dec 20 13:41:41 GMT 2001  Olly Betts <olly@survex.com>
34872
34873	* Fixed incorrectly classified debug message; fixed compiler warning;
34874	  more comments about matches_* with a percent_cutoff.
34875
34876Thu Dec 20 13:09:51 GMT 2001  Olly Betts <olly@survex.com>
34877
34878	* Better OmPostListIterator::get_description() (call get_description
34879	  on internal->postlist).
34880
34881Thu Dec 20 12:42:55 GMT 2001  Olly Betts <olly@survex.com>
34882
34883	* Fixed assorted problems with omtcpsrv and co from recent change.
34884
34885Thu Dec 20 10:41:57 GMT 2001  Richard Boulton <richard@tartarus.org>
34886
34887	* In ./configure --help, correctly report muscat36 backend as
34888	  defaulting to off.
34889
34890Thu Dec 20 10:36:18 GMT 2001  Olly Betts <olly@survex.com>
34891
34892	* Don't delete internal in ~OmWritableDatabase - ~OmDatabase
34893	  does that for us (internal was zeroed after delete, so this
34894	  was probably harmless)
34895
34896	* Tweaked OmEnquire::get_description() and
34897	  OmPostListIterator::get_description() to do less - there's a
34898	  debug related bug somewhere and get_description() should be a
34899	  non-intrusive method...
34900
34901Thu Dec 20 10:32:56 GMT 2001  Richard Boulton <richard@tartarus.org>
34902
34903	* Fix a couple of misquoted messages in configure.in.
34904
34905Tue Dec 18 23:22:00 2001  James Aylett  <tartarus@users.sourceforge.net>
34906
34907	* Use xapian.org where appropriate in documentation references
34908
34909Tue Dec 18 14:32:32 2001  James Aylett  <tartarus@users.sourceforge.net>
34910
34911	* Use xapian.org not sourceforge for schemas
34912
34913Mon Dec 17 18:47:08 GMT 2001  Olly Betts <olly@survex.com>
34914
34915	* Cured problems with string('x') caused by overzealous search
34916	  and replace on my part.
34917
34918Mon Dec 17 16:44:31 GMT 2001  Olly Betts <olly@survex.com>
34919
34920	* Improved matches_estimated when a percent_cutoff is in effect.
34921
34922Sun Dec 16 18:09:28 GMT 2001  Olly Betts <olly@survex.com>
34923
34924	* You can now register a match decider functor by name with an
34925	  OmEnquire object.  It's not yet used for anything though.
34926
34927Sun Dec 16 17:31:08 GMT 2001  Olly Betts <olly@survex.com>
34928
34929	* omtcpsrv: simplified arguments - just list database directories and
34930	  they'll be opened with the auto backend.  Removed --im as it didn't
34931	  work as advertised and nobody's noticed (as actually implemented it
34932	  was useless).
34933
34934Sat Dec 15 14:10:32 GMT 2001  Olly Betts <olly@survex.com>
34935
34936	* Minor update to todo.xml.
34937
34938Sat Dec 15 13:43:47 GMT 2001  Olly Betts <olly@survex.com>
34939
34940	* More fettling of OmBiasFunctor stuff - still not ready for use yet...
34941
34942Tue Dec 11 13:06:08 GMT 2001  Olly Betts <olly@survex.com>
34943
34944	* Don't work out probabilistic weights for boolean bits of the query
34945	  (rhs of FILTER and AND_NOT) which fixes incorrect percentage weights
34946	  in filtered queries.
34947
34948Tue Dec 11 12:26:44 GMT 2001  Olly Betts <olly@survex.com>
34949
34950	* Added test singlesubq1 to keep an eye on can_replace_by_single_subq.
34951
34952Mon Dec 10 16:58:21 GMT 2001  Olly Betts <olly@survex.com>
34953
34954	* can_replace_by_single_subq shouldn't return true for OP_ELITE_SET
34955	  since you can't call set_elite_set_size() on an arbitrary subquery.
34956
34957Thu Dec  6 15:02:05 GMT 2001  Richard Boulton <richard@tartarus.org>
34958
34959	* (omqueryinternal.cc, omtermlistiteratorinternal.h)
34960	  Fix some compiler warnings (when compiling with no debug) due
34961	  to methods which should return a value but simply contain
34962	  "Assert(false);".  Throw an exception in such methods instead
34963	  (after the Assert).
34964
34965Mon Dec 03 11:20:42 GMT 2001  Olly Betts <olly@survex.com>
34966
34967	* New BiasPostList - not yet enabled as it needs more work.
34968
34969Mon Dec 03 11:16:44 GMT 2001  Olly Betts <olly@survex.com>
34970
34971	* quartzdump: give syntax error if no tables specified.
34972
34973Thu Nov 29 14:10:43 GMT 2001  Olly Betts <olly@survex.com>
34974
34975	* ExtraWeightPostlist wasn't handling prune correctly.
34976
34977Thu Nov 22 13:46:59 GMT 2001  Olly Betts <olly@survex.com>
34978
34979	* Fixed segfault when percentage_cutoff emptied the proto-mset.
34980
34981Thu Nov 22 12:27:49 GMT 2001  Olly Betts <olly@survex.com>
34982
34983	* Enhanced test emptyquery1.
34984
34985Fri Nov 16 15:32:09 GMT 2001  Olly Betts <olly@survex.com>
34986
34987	* Added OmQuery::is_empty() method.
34988
34989Thu Nov 15 15:36:07 GMT 2001  Olly Betts <olly@survex.com>
34990
34991	* Updated todo list.
34992
34993Thu Nov 15 13:03:05 GMT 2001  Olly Betts <olly@survex.com>
34994
34995	* Fixed percent_cutoff problems.
34996
34997Wed Nov 14 12:05:44 GMT 2001  Olly Betts <olly@survex.com>
34998
34999	* Empty OmQuery() now matches no documents (rather than causing an
35000	  exception).
35001
35002Thu Nov 08 18:23:21 GMT 2001  Olly Betts <olly@survex.com>
35003
35004	* SIGSTKFLT isn't portable, so added #ifdef checks for it.
35005
35006Wed Nov 07 15:34:29 GMT 2001  Olly Betts <olly@survex.com>
35007
35008	* Fixed 2 GCC 3.0 warnings in muscat36 backend.
35009
35010Wed Nov 07 14:21:47 GMT 2001  Olly Betts <olly@survex.com>
35011
35012	* Made doc counts returned from percentage cutoff matches more
35013	  accurate.
35014
35015Wed Nov 07 12:30:32 GMT 2001  Olly Betts <olly@survex.com>
35016
35017	* GCC 3.0 fixes.
35018
35019Tue Nov 06 11:16:42 GMT 2001  Olly Betts <olly@survex.com>
35020
35021	* Matcher now calculates percentages like Omega does (or did as I'm
35022	  about to remove that code from Omega), rather than as a percentage
35023	  of the theoretical maximum possible weight.  The old way generally
35024	  gives disappointingly low values, and by pushing the percentage
35025	  code down into the matcher, it can be used to optimise the query.
35026
35027Tue Nov 06 11:13:06 GMT 2001  Olly Betts <olly@survex.com>
35028
35029	* Quick fix for problems with null OmQuery-s.
35030
35031Mon Nov 05 15:52:55 GMT 2001  Olly Betts <olly@survex.com>
35032
35033	* Added signal handling to testsuite - if a testcase generates a
35034	  signal it is caught and reported, then the testsuite continues
35035	  with further testcases.
35036
35037Wed Oct 31 14:26:59 GMT 2001  Olly Betts <olly@survex.com>
35038
35039	* Removed needless complications in matcher when a weight threshold
35040	  has been set.
35041
35042Tue Oct 30 16:50:46 GMT 2001  Olly Betts <olly@survex.com>
35043
35044	* Removed superfluous lines from configure.in; fixed warning from
35045	  automake 1.5.
35046
35047Mon Oct 29 11:54:36 GMT 2001  Olly Betts <olly@survex.com>
35048
35049	* Changed matcher to form proto-mset using a min-heap (as described
35050	  in "Managing Gigabytes", 2nd ed., pp 211-213).  Compared to the
35051	  previous "nth-element" approach, this uses about half the memory,
35052	  allows the min-weight based matcher optimisations to work sooner,
35053	  and should be inherently faster (not yet benchmarked though).  The
35054	  code's slightly simpler too.
35055
35056Mon Oct 29 11:53:38 GMT 2001  Olly Betts <olly@survex.com>
35057
35058	* Fixed remote backend to pass match_cutoff setting across.
35059
35060Fri Oct 26 13:43:08 BST 2001  Olly Betts <olly@survex.com>
35061
35062	* Reserve size needed for mset vector.
35063
35064Thu Oct 25 18:00:54 BST 2001  Olly Betts <olly@survex.com>
35065
35066	* Fixed a couple of stray references to the old sleepycat backend.
35067
35068Tue Oct 23 18:19:32 BST 2001  Olly Betts <olly@survex.com>
35069
35070	* More cleaning up of MultiMatch.
35071
35072Tue Oct 23 16:14:27 BST 2001  Olly Betts <olly@survex.com>
35073
35074	* Removed RemotePostList - it was an experimental idea which proved
35075	  to be too slow even on a fast network.  Cleaned up code where hooks
35076	  were bodged in for it.
35077
35078Tue Oct 23 13:27:12 2001  James Aylett  <tartarus@users.sourceforge.net>
35079
35080	* Added documentation of the test system (albeit brief). Also
35081	  mentioned the autotools book in HACKING.
35082
35083Tue Oct 23 12:07:59 BST 2001  Olly Betts <olly@survex.com>
35084
35085	* Updated .cvsignore files.
35086
35087Tue Oct 23 11:29:47 BST 2001  Olly Betts <olly@survex.com>
35088
35089	* Code tidying while investigating sporadic fails from quartztest.
35090
35091Mon Oct 22 17:42:30 BST 2001  Olly Betts <olly@survex.com>
35092
35093	* Minor fettles to quartztest: fixed warnings, whitespace tidying,
35094	  use mkdir(...) rather than system("mkdir ...")
35095
35096Mon Oct 22 16:41:12 2001  James Aylett  <tartarus@users.sourceforge.net>
35097
35098	* Renamed project to Xapian.
35099
35100Mon Oct 22 14:22:00 BST 2001  Olly Betts <olly@survex.com>
35101
35102	* Fixed non-ISO C++ code so Xapian will compile under GCC 3.0
35103	  (and also RedHat's "GCC 2.96").
35104
35105Mon Oct 22 11:21:45 2001  James Aylett  <tartarus@users.sourceforge.net>
35106
35107	* Altered omseek-config and the AC m4 macro to make uninst
35108	  executables link to the right version of the library
35109
35110Mon Oct 22 10:38:20 2001  James Aylett  <tartarus@users.sourceforge.net>
35111
35112	* Minor fixes to enable build (and test) under Solaris.
35113
35114Fri Jun 22 13:24:59 2001  Sam Liddicott <sam@ananova.com>
35115
35116	* Added some explicit type casts in xmlindexer and quartz backend
35117	  to help gcc2.96 compile.
35118
35119Thu Jun 21 11:05:31 2001  James Aylett  <tartarus@users.sourceforge.net>
35120
35121	* HACKING updated to (a) remove inaccurate statements about
35122	  copyright assignment, and (b) talk about developer write
35123	  access to CVS.
35124
35125Mon Jun 11 13:24:43 2001  James Aylett  <tartarus@users.sourceforge.net>
35126
35127	* pthread support detected using an automake macro. Should
35128	  be more portable as a result.
35129
35130	* We need GNU make: buildall now tries to find it.
35131
35132Mon Jun 11 12:07:00 2001  Hein Ragas <hragas@users.sourceforge.net>
35133
35134	* Modified QuartzWritableDatabase::do_add_document and
35135	  QuartzWritableDatabase::do_replace_document to leave the PositionList
35136	  empty for a term with no positions associated with it.
35137
35138Mon May 29 12:17:00 2001  Hein Ragas <hragas@users.sourceforge.net>
35139
35140	* Modified QuartzPostList::add_entry to allow for adding of entries
35141	  in the middle of the postlist, not only at the end.
35142
35143Mon May 28 12:00:00 2001  Hein Ragas <hragas@users.sourceforge.net>
35144
35145	* Fixed a bug in replace_document for Quartz, added a test to
35146	  ensure proper working of the fix.
35147
35148Fri Apr 27 15:16:10 2001  James Aylett  <tartarus@users.sourceforge.net>
35149
35150	* Project name change to Omseek.
35151
35152Wed Apr 11 09:06:37 BST 2001 Chris Emerson <chris.emerson@omsee.com>
35153
35154	* Implemented deleting of items from postlists, and added some
35155	  tests to check that it works properly.
35156
35157	* Fixed a potential memory leak in QuartzPostList if an exception
35158	  was thrown from the constructor.
35159
35160	* BackendManager now sets the quartz_logfile setting, to make
35161	  the logs available from the testsuite.
35162
35163	* Added mention of quartz_logfile to docs/omsettings
35164
35165	* Removed a bad assert from InMemoryDatabase::get_doclength()
35166
35167Mon Apr  9 21:48:18 BST 2001 Chris Emerson <chris.emerson@omsee.com>
35168
35169	* Added #include <cmath> to testutils.cc
35170
35171Fri Mar 30 17:37:24 BST 2001 Olly Betts
35172
35173	* Added extra/.cvsignore
35174
35175Fri Mar 30 17:22:13 BST 2001 Olly Betts
35176
35177	* Disabled allocation checking of new[] and delete[] since some STL
35178	  implementations use them which leads to leaks being reported where
35179	  none exist.  This is addressable longer term...
35180
35181Thu Mar 29 19:05:46 BST 2001  Richard Boulton <richard.boulton@omsee.com>
35182
35183	* Add "extra" directory to om source tree, to hold extra libraries
35184	  for use with omsee, which aren't part of the core.
35185
35186	* Put a query parser into "extra".  This is roughly the parser
35187	  from omega.  Needs some work: in particular, it needs to be
35188	  made reentrant.
35189
35190	* Added extra/ directory to top level Makefile.am and configure.in.
35191	  Added AC_PROG_YACC to Makefile.am
35192
35193	* Add includes of required header files to omquery.h.
35194
35195Wed Mar 28 17:15:22 BST 2001  Richard Boulton <richard.boulton@omsee.com>
35196
35197	* Modifications to OmQuery.  Remove the isbool flag: there is
35198	  no longer any need for the concept of a "pure boolean query".
35199	  The same effect as was obtained by setting isbool can be
35200	  obtained by setting the match_weighting_scheme parameter to
35201	  bool.
35202
35203	* Also, undefined queries may no longer be used when
35204	  building up composite queries; the correct behaviour for this
35205	  is hard to define and implement and harder to document, and
35206	  removing this removes lots of special case code.
35207
35208	* Updated network query passing code.
35209
35210	* Remove special cases for bool weighting in localmatch and irweight.
35211
35212	* Updated omsettings docs.  Updated comments in omsetting.h.
35213
35214	* Updated todo.xml
35215
35216	* Incremented network protocol version.
35217
35218	* Added test_emptyop1, which checks what happens when an attempt is
35219	  made to use an empty list of subqueries to build up a query, and
35220	  then use the query.
35221
35222	* Remove test_boolsubq1: no such thing as a boolean query now, so
35223	  no need to test what happens when one is used.
35224
35225	* Updated testsuite to use "match_weighting_scheme" setting, rather
35226	  than calling OmQuery::set_bool().
35227
35228Wed Mar 28 15:05:46 BST 2001 Chris Emerson <chris.emerson@omsee.com>
35229
35230	* Fixes to InMemoryDatabase:
35231	  + do_open_post_list returns an EmptyPostList rather than an
35232	    assertion error if the term doesn't exist
35233	  + Fixed doccount(), which wasn't decrementing on delete_doc()
35234	  + Remove terms from the database when they have no more postings.
35235	  + Implement collection frequencies, and run collfreq tests for
35236	    inmemory.
35237
35238Wed Mar 28 14:24:38 BST 2001  Richard Boulton <richard.boulton@omsee.com>
35239
35240	* Set elite set size to max(10, sqrt(number of subqueries)) by
35241	  default.  This is rather more useful than the old default of 0.
35242
35243Wed Mar 28 10:25:35 BST 2001 Chris Emerson <chris.emerson@omsee.com>
35244
35245	* QuartzDatabase now implements replace_document(), and
35246	  delete_document() now removes keys/attributes as well.
35247	  However, postlist entries are not yet correctly removed,
35248	  so this will cause problems.
35249
35250	* Added a test for deleting/replacing documents, which passes.
35251
35252Tue Mar 27 17:31:58 BST 2001 Chris Emerson <chris.emerson@omsee.com>
35253
35254	* QuartzAttributes now has a method to delete a document's
35255	  attributes, and QuartzRecordManager has a replace_ method.
35256	  (But the code which uses these isn't in this commit).
35257
35258Thu Mar 22 15:58:08 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
35259
35260	* Change definition of OmQuery::is_defined(), so that elite set
35261	  queries are undefined until a size is specified for the set.
35262
35263Wed Mar 21 14:29:04 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
35264
35265	* Implemented delete_document and replace_document in inmemory
35266	  database.
35267
35268Wed Mar 21 12:39:13 GMT 2001 Olly Betts
35269
35270	* Tweak to docs/quickstart.html.
35271
35272Wed Mar 21 02:50:19 GMT 2001 Olly Betts
35273
35274	* Entirely removed sleepcat backend and all references to it.
35275
35276	* Disable muscat36 backend by default.
35277
35278Tue Mar 20 18:47:12 GMT 2001 Olly Betts
35279
35280	* open_document() now takes a lazy flag - if not set we need to check
35281	  that the docid given actually exists.
35282
35283	* heavy_duty flag now a bool instead of an int.
35284
35285Mon Mar 19 19:16:34 GMT 2001 Olly Betts
35286
35287	* Added test getdoc1 to check exceptions are thrown for out-of-range
35288	  docids (currently they aren't for quartz and muscat36 backends).
35289
35290Mon Mar 19 17:17:31 GMT 2001 Olly Betts
35291
35292	* New simpler implementation of leak detection in testsuite.
35293	  Currently doesn't support malloc/calloc/realloc/free.
35294
35295Mon Mar 19 16:46:16 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
35296
35297	* Further small modification to omsee-config: will now look in
35298	  .libs subdirectories, too.
35299
35300Mon Mar 19 15:57:18 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
35301
35302	* Update omsee-config to work when a prefix is specified that
35303	  points directly to the directory with the library, rather than
35304	  expecting the library to be in a subdir "libs/".  (libs/ is
35305	  still used if it exists).
35306
35307	* Update omsee.m4, to use omsee-config even when using an
35308	  uninstalled version of omsee.  This in turn fixes problems using
35309	  uninstalled versions of omsee with STLport.
35310
35311Fri Mar 16 18:14:52 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
35312
35313	* Updated licenses, to include year 2001.
35314
35315Fri Mar 16 15:40:49 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
35316
35317	* Fix up small bug in quartztest causing it to fail for lack of an
35318	  expected exception.  Initialise values in quartz_positionlist.cc
35319	  when position list is not present.
35320
35321Thu Mar 15 17:40:38 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
35322
35323	* Make timeout absolute, rather than cumulative, when fetching
35324	  multiple documents from database: if two nodes fail, the total
35325	  timeout should still be that specified, not twice it.
35326
35327	* Make the timeout set by SocketClient::set_query() get reset
35328	  correctly if an exception happens (which used to prevent
35329	  SocketClient::get_mset() ever getting called).
35330
35331Thu Mar 15 17:06:51 GMT 2001 Olly Betts
35332
35333	* Oops, checked in too much - backing out the wrong stuff.
35334
35335Thu Mar 15 16:30:14 GMT 2001 Olly Betts
35336
35337	* Include autoconf/definedir.m4 in tarball.
35338
35339Thu Mar 15 16:06:02 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
35340
35341	* Updated network protocol number to reflect change adding
35342	  OP_ELITE_SET.
35343
35344Thu Mar 15 15:31:35 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
35345
35346	* QuartzPositionList should no longer complain if positional
35347	  information isn't available for a particular term / document
35348	  combination.
35349
35350	* Updated todo.
35351
35352Thu Mar 15 13:55:53 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
35353
35354	* Removed OmDocument::set_wdf() and OmDocument::add_term().
35355	  Replaced with OmDocument::add_term_nopos(), which adds a term
35356	  without specifying positional information, taking an optional
35357	  wdfinc parameter.  Updated testsuite correspondingly.
35358
35359Thu Mar 15 13:14:10 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
35360
35361	* Update TODO
35362
35363Wed Mar 14 17:51:40 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
35364
35365	* Added new operator OP_ELITE_SET, which replaces match_max_or_terms
35366	  option.  Can now specify exactly which terms to apply max_or_terms
35367	  to.  max_or_terms is obsolete: an error will be thrown if an
35368	  attempt is made to use it.
35369
35370Wed Mar 14 15:56:20 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
35371
35372	* Added test for and implementation of multiple XOR queries.
35373
35374	* Fix small bugs with get_termfreq_est() for xor and andnot
35375	  postlists.
35376
35377Mon Mar  5 16:08:01 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
35378
35379	* Catch exceptions within the loop in SocketServer - exceptions
35380	  should normally not kill the server.  This means that that a
35381	  client still works after eg an OmDocNotFoundError, which was
35382	  causing problems before.
35383
35384Fri Mar  2 18:15:47 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
35385
35386	* Add a new query operator, OP_WEIGHT_CUTOFF, which returns only
35387	  those documents from a query which have a weight greater than a
35388	  specified cutoff value.  Also added OP_PERCENT_CUTOFF, but this
35389	  is not yet implemented.
35390
35391	* Added test of new cutoff function, cutoff2.
35392
35393	* Updated network protocol to pass new queries.  Increased protocol
35394	  version number (to 10).
35395
35396	* Added set_cutoff() function to OmQuery, to set cutoff parameter.
35397
35398	* Updated TODO.
35399
35400	* Remove unused member "PostList * postlist" of LocalSubMatch.
35401
35402Thu Mar  1 12:04:53 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
35403
35404	* Updates to HACKING.
35405
35406Wed Feb 28 18:42:47 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
35407
35408	* Fixes to neaten up configure output, and to test for the Perl
35409	  Text::Format module, thanks to James Aylett (patch slightly
35410	  modified, so if it doesn't work it's probably my fault).
35411
35412	* configure.in checks for presence of ftime() and gettimeofday()
35413
35414	* Added OmTime, a class to deal with times to an accuracy of
35415	  microseconds, or whatever the best accuracy the system supports
35416	  is.
35417
35418	* Use OmTime in network code instead of time(NULL).
35419
35420Wed Feb 28 14:23:11 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
35421
35422	* Merge common code from OmSocketLineBuf::wait_for_data() and
35423	  OmSocketLineBuf::do_readline() into
35424	  OmSocketLineBuf::attempt_to_read(), and thus fix bug in
35425	  wait_for_data() when 0 bytes returned from read().
35426
35427Tue Feb 27 18:40:33 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
35428
35429	* Fixes to remote matcher code to cope better with failure of
35430	  submatchers:
35431	  - Timeout for all submatches now correctly start at same time.
35432
35433	* Added more extensive testing of above code, involving adding
35434	  new parameters to inmemory to cause abort()s at various stages of
35435	  the match.
35436
35437	* Remove obsolete (and unused) method
35438	  SocketServer::read_global_stats()
35439
35440	* Errors are now generated from strings by using omerrortypes.h with
35441	  suitable #defines before including it.  Updated todo accordingly.
35442
35443	* Extend scope of try{} clause in socketserver, so that
35444	  SocketServerFinished exception never escapes.
35445
35446	* Default timeout in progserver increased to 30000.
35447
35448	* Default timeout in tcpserver increased to 15000.
35449
35450Mon Feb 26 23:51:23 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
35451
35452	* Split query generation into stages: make new query, add subqueries,
35453	  then finalise.  Add private methods to OmQuery reflecting this, and
35454	  convert constructors into template methods, allowing any iterator
35455	  to be used for constructing queries.  Removed reference to
35456	  <vector> from omquery.h
35457
35458	* Add omqueryinternal.cc, containing implementation of query
35459	  internals. (surprise!)
35460
35461	* OmQuery::Internal now has some helper functions to determine the
35462	  properties of each particular query.  These should be converted
35463	  into a lookup table, and the remaining hard-coded properties (for
35464	  AND_MAYBE, AND_NOT and FILTER) factored out.
35465
35466	* window property removed from constructor.  This can now be set by a
35467	  separate call, to "OmQuery::set_window()"
35468
35469	* Added a deleter_vector class, to store subquery pointers in a more
35470	  exception-safe way.
35471
35472	* Represent undefined queries by the new OP_UNDEF operation, rather
35473	  than a dedicated flag - cleaned up some logic.
35474
35475	* Some modifications to XOR handling: should now behave like OR and
35476	  AND - doesn't need to be binary.  (*untested*)
35477
35478	* Fixes to serialisation code in socketcommon.cc to work with new
35479	  OmQuery::Internals - this should really be done in
35480	  OmQuery::Internal.
35481
35482	* One tiny fix in tcpclient.cc - an &fdset was missed for exception
35483	  conditions in a select() call.
35484
35485	* Testsuite modified and expanded to check changes to OmQuery.
35486
35487Mon Feb 26 18:20:16 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
35488
35489	* Fixed some compiler warnings reported by James Aylett.
35490
35491Mon Feb 26 14:27:09 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
35492
35493	* Avoid waiting for a timeout when closing a SocketClient.
35494
35495Fri Feb 23 14:38:09 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
35496
35497	* Updated todo.xml
35498
35499Thu Feb 22 18:14:41 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
35500
35501	* OmRegexFilterNode has an output for non-matching strings as
35502	  well as matching.  "out" output renamed to "matching".
35503
35504Thu Feb 22 16:56:33 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
35505
35506	* Fixed a bug in the fetch() bits: requesting documents at the
35507	  same time from different OmMSet instances could cause a
35508	  document to disappear from the cache at the wrong moment.
35509
35510Thu Feb 22 15:39:49 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
35511
35512	* Updated todo.
35513
35514Thu Feb 22 12:14:12 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
35515
35516	* Some small changes in quartz to improve exception safety and
35517	  error checking.
35518
35519	* Remove unwanted OmExpandWeight::get_expand_k() method.
35520
35521Wed Feb 21 19:02:44 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
35522
35523	* Overhauled the OmMSet::fetch() etc. methods.  Documents are
35524	  requested when fetch() is called, but are only fetched (all
35525	  at once) when the first get_document() is called.
35526
35527Wed Feb 21 19:30:20 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
35528
35529	* Add an errorhandler member to MultiMatch, and remove it from
35530	  various calls which used to pass it about.
35531
35532	* Add an EmptyMatch object, which always returns an emptypostlist.
35533
35534	* Implement errorhandlers at start of query for initially down
35535	  nodes.  Improve test for errorhandlers to cover many more cases.
35536
35537	* Add many debug messages to error handling code.
35538
35539Wed Feb 21 14:33:50 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
35540
35541	* Use a deque<> directly instead of a queue, due to conflict
35542	  with Solaris headers.
35543
35544	* Split the collect_doc loop into a seperate function
35545
35546	* SocketClient should be more robust against request_doc() being
35547	  used without collect_doc().
35548
35549Tue Feb 20 18:01:13 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
35550
35551	* SocketClient implements a queue/cache system which means that
35552	  collect_doc() doesn't need to be called in the same order as
35553	  request_doc().
35554
35555Mon Feb 19 15:43:49 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
35556
35557	* Converted btree code to use new/delete instead of [mc]alloc/free.
35558
35559Mon Feb 19 13:52:23 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
35560
35561	* Added new test collapsekey2 designed to work with muscat36
35562	  databases, which have different key handling.  Added two new
35563	  categories of tests to cope with this.
35564
35565	* Adjusted BackendManager's key generation, and updated
35566	  test_specialterms1() accordingly.
35567
35568Fri Feb 16 17:26:59 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
35569
35570	* Implemented a test for keep-alives
35571
35572	* Added "-tNNNN" option to omprogsrv to pass a timeout value in.
35573
35574	* Added get_network_database() in apitest to set the timeout.
35575
35576Fri Feb 16 16:13:47 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
35577
35578	* Incremented the remote protocol version, since a new message
35579	  type has been added.
35580
35581Fri Feb 16 15:55:31 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
35582
35583	* Added an OmDatabase keep_alive() method to gently prod any
35584	  remote databases.  Applications can use it to avoid the remote
35585	  servers timing out between queries.  Not properly tested yet...
35586
35587Thu Feb 15 19:05:24 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
35588
35589	* The remote server now supports a seperate timeout used while
35590	  idle, rather than actually servicing a request from the client.
35591	  Options --idle-timeout and --active-timeout added to omtcpsrv,
35592	  and --timeout sets both timeouts.
35593
35594	* Added a documentation comment or two.
35595
35596Wed Feb 14 18:43:00 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
35597
35598	* In Muscat3.6 backends, don't read the key from the keyfile unless
35599	  keyno is 0.
35600
35601Tue Feb 13 13:57:34 GMT 2001 Andy MacFarlane <andym@omsee.com>
35602
35603	* Added parameter expand_k in omsettings in order to change
35604	  value of weighting in expand process.
35605
35606Tue Feb 13 13:25:45 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
35607
35608	* Network timeouts now apply to write() operations as well
35609	  as read().
35610
35611	* SocketLineBuf::do_writeline() now correctly deals with EAGAIN.
35612
35613	* SocketServer has new method writeline() which handles write
35614	  access to the OmLineBuf.
35615
35616Mon Feb 12 12:35:41 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
35617
35618	* Make OmPositionListIterators and any other appropriate iterators
35619	  (postlist, termlist) have a default constructor allowing them to
35620	  be declared uninitialised.
35621
35622Mon Feb 12 10:51:41 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
35623
35624	* Updated todo.xml
35625
35626Thu Feb  8 17:59:44 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
35627
35628	* Moved omnodepad.h from include/om to indexer/indexgraph/
35629
35630	* Updated todo.xml
35631
35632Thu Feb  8 17:35:45 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
35633
35634	* Updated todo.xml
35635
35636Thu Feb  8 17:00:02 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
35637
35638	* Quartz now has a metafile which for now has a magic string
35639	  and a version number.
35640
35641	* sys_open_to_read() and delete_file() exported from btree.cc.
35642	  The latter was renamed to sys_unlink_if_exists().
35643
35644	* Include btree_types.h from btree_util.h
35645
35646Wed Feb  7 17:33:00 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
35647
35648	* Fix to InMemory databases: terms can be added even if they
35649	  don't have any positions.  (Was causing adddoc2 to fail).
35650
35651Tue Feb  6 18:06:13 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
35652
35653	* Rename OmMSet::fetch_items() to fetch().  Add an overloaded
35654	  fetch() method taking a single iterator, to fetch a single item.
35655
35656	* Fix some documentation comments.
35657
35658Mon Feb  5 19:16:45 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
35659
35660	* Update TODO
35661
35662Mon Feb  5 19:12:39 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
35663
35664	* Test behaviour of OmDocument methods add_term(), set_wdf(),
35665	  remove_posting() and remove_term().  Fails for inmemory databases.
35666
35667Mon Feb  5 17:46:16 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
35668
35669	* Modified the behaviour of timeouts during a match.  Internally,
35670	  an absolute timeout time is set from start_match().  Now remote
35671	  nodes should timeout at NOW + remote_timeout, rather than
35672	  waiting remote_timeout milliseconds for each read().  Needs
35673	  some more testing.
35674
35675Mon Feb  5 17:21:52 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
35676
35677	* Fix a missing #include in socketcommon.h
35678
35679Mon Feb  5 17:15:46 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
35680
35681	* Sort generated todo lists.
35682
35683Fri Feb  2 17:44:54 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
35684
35685	* Add an OmDocument::add_term() method.
35686
35687	* Remove an unwanted check that wdf's are greater than 0: wdf of 0
35688	  _is_ allowed.
35689
35690Fri Feb  2 15:04:08 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
35691
35692	* Hopefully, a fix for segfaults/assertions when network errors
35693	  happen halfway through a match, when handled by OmErrorHandler
35694	  objects: give the place-holder EmptyTermLists weighting objects.
35695
35696Thu Feb  1 19:03:10 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
35697
35698	* Fixes to OmDocument interface: add parameters specifying the
35699	  changes to be made to the wdf to add_posting and remove_posting,
35700	  properly implement remove_posting and remove_term, including
35701	  throwing of exceptions, and add a set_wdf() method to set the wdf
35702	  to an absolute value.  Corresponding modifications to
35703	  OmDocumentTerm.
35704
35705	* Fix commented out errorhandler code in multimatch.cc, so it still
35706	  compiles.
35707
35708	* Add a check to avoid division by zero in bm25weight.cc
35709
35710Thu Feb  1 15:59:30 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
35711
35712	* Add a missed #include to omqueryinternal.h
35713
35714Thu Feb  1 14:44:04 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
35715
35716	* Add some error handler code, with a "#if 0"ed out comment,
35717	  to multimatch.cc
35718
35719Wed Jan 31 15:45:16 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
35720
35721	* Remote servers should close down more gracefully when the
35722	  client closes down in the middle of a request.
35723
35724Tue Jan 30 16:52:05 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
35725
35726	* Removed unneeded #includes of STL headers from API headers.
35727
35728	* All #includes of files which are not installed use "" rather than
35729	  <>.  This means all #includes of OM files except for those which
35730	  are in example programs (and hence might be compiled against the
35731	  installed library).  "" search paths are a superset of <> search
35732	  paths: hence this should ensure that the om headers work however
35733	  they are used.
35734
35735	* Moved supplied OmExpandDecider subclasses into
35736	  include/om/omexpanddecider.h
35737
35738	* Remove om_termname_list from API: not used except by code which
35739	  displays it, and in testsuite.
35740
35741Tue Jan 30 12:45:22 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
35742
35743	* Removed #include <vector> from omstem.h
35744
35745Tue Jan 30 11:09:29 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
35746
35747	* OmStem::get_available_languages() now returns a string
35748	  rather than a vector.  Languages are space-separated.
35749	  Updated apitest.
35750
35751	* Added definition of RTLD_DEFAULT to internaltest.cc
35752
35753Mon Jan 29 16:11:15 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
35754
35755	* OmIndexerMessage's copy-on-write slightly more careful.
35756
35757	* Improved debugging in OmIndexerNode
35758
35759	* Fixed a bug in the termlistadd node - it tried to append to a
35760	  non-vector.
35761
35762Fri Jan 26 16:21:09 GMT 2001 Olly Betts
35763
35764	* indexerxml.cc: Removed some dead code.
35765
35766Fri Jan 26 16:11:13 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
35767
35768	* Added omindexerdescinternal.h to the Makefile
35769
35770Fri Jan 26 15:50:32 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
35771
35772	* Move OmQuery definition into a separate header file.
35773
35774Fri Jan 26 15:46:42 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
35775
35776	* Move OmQuery::OP_LEAF out of public visibility, by taking it out
35777	  of the enum, making it a static const member of OmQuery::Internal,
35778	  and introducing an OmQuery::Internal::op_t to store query
35779	  operators in internally.  We lose the ability for the compiler to
35780	  warn us if we forget to check for a particular operator in a
35781	  switch statement, but this can't really be avoided.
35782
35783Fri Jan 26 13:49:33 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
35784
35785	* Added get_output_{node,pad} to OmIndexerDesc
35786
35787	* Implemented and testes OmNodeInstanceIterator
35788
35789	* Implemented OmIndexerBuilder::build_from_desc, which somehow
35790	  hadn't been.  indextest now uses it.
35791
35792Thu Jan 25 18:47:08 GMT 2001 Olly Betts
35793
35794	* Fixed various .cvsignore files (omus -> omsee, and
35795	  bindings/java/.cvsignore which seemed to have been copied from
35796	  the top level one at some point).
35797
35798	* Fixed bug in OrPostList when used in a pure boolean context
35799	  (uninitialised variables).
35800
35801	* tests/internaltest.cc: removed unused reference to getopt.h.
35802
35803	* tests/stemtest.pl.in: removed lots of bogus semicolons after
35804	  closing braces.
35805
35806Thu Jan 25 17:53:08 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
35807
35808	* Turn debugging messages (OM_DEBUG_TYPES) off by default.
35809
35810	* Add todo items for release to pages generated for website.
35811
35812Thu Jan 25 15:11:14 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
35813
35814	* Add a couple of documentation comments: we need many more of
35815	  these.  No method, and certainly no class, in the API should be
35816	  without an explanatory comment (not least so that they're
35817	  accessible from the doxygen browser).
35818
35819Thu Jan 25 14:51:55 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
35820
35821	* Hide the internals of OmIndexerDesc, and adding member functions
35822	  to do all the necessary operations (not all yet implemented).
35823
35824	* Indexer internals mostly deal with OmIndexerDesc::Internal
35825
35826	* Removed '#include <vector>' from omindexerdesc.h
35827
35828Thu Jan 25 13:45:49 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
35829
35830	* When setting up an RSet, allow documents to be referenced by
35831	  OmMSetIterator, for convenience.
35832
35833	* Allow OmMSetIterators and OmESetIterators to be created without
35834	  initialising, also for convenience.
35835
35836	* Include CFLAGS for STLPORT in the flags produced by omsee-config.
35837
35838	* Change several more missed "omus"s to omsee.
35839
35840Thu Jan 25 13:50:06 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
35841
35842	* Changed a mention of libomus in netprogs/Makefile.am to libomsee
35843
35844Thu Jan 25 12:33:46 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
35845
35846	* Build only the API docs when making dist / install.  Full source
35847	  docs only get built if explicitly asked for.
35848
35849Thu Jan 25 11:36:39 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
35850
35851	* Project name changed to Omsee.
35852
35853	  Ramifications from a technical viewpoint are:
35854
35855	  - library name changed from libomus.* to libomsee.*
35856	  - libomus-config renamed to omsee-config
35857	  - Autoconf macro file libomus.m4 renamed to omsee.m4,
35858	    macro name OM_PATH_LIBOMUS changed to OM_PATH_OMSEE
35859	    and macro now defines OMSEE_CFLAGS and OMSEE_LIBS rather
35860	    than LIBOMUS_CFLAGS and LIBOMUS_LIBS.  configure arguments
35861	    changed name, also.
35862
35863Wed Jan 24 15:57:10 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
35864
35865	* Improve test of OmMSetIterators equality comparisions.
35866
35867	* Update TODO
35868
35869Wed Jan 24 15:11:11 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
35870
35871	* Renamed OmNodeConnection to OmNodePad.  The old name was
35872	  confusing.
35873
35874	* Added OmPadIterator, and OmNodeDescriptor::{in,out}puts_{begin,end}.
35875	  Also implemented OmNodeDescriptor::get_type()
35876
35877	* Added output function for OmPadIterator
35878
35879	* Added test for OmPadIterators
35880
35881Tue Jan 23 19:01:29 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
35882
35883	* Remove OmBatchEnquire from system: it may return at a later date,
35884	  but for now it is simply out of date and a maintainance liability,
35885	  and gives no significant advantage.  Code now exists in
35886	  ombatchenquire.h in CVS, but is not part of build process.
35887
35888	* Make OmEnquire and OmMSet have reference counted internals: this
35889	  introduces a further layer of indirection, but tidies up things
35890	  greatly.
35891
35892	* Remove get_docs() and get_doc() methods from OmEnquire.
35893	  get_doc(docid) is catered for by OmDatabase::get_document(docid).
35894	  Added OmMSetIterator::get_document() to replace get_doc on a
35895	  MSetIterator.  Added OmMSet::fetch_items() to replace get_docs():
35896	  it prefetches the documents (or just those specified by some
35897	  MSetIterators into a cache in the Mset).
35898
35899	* OmMSet internals now have a reference to the creating OmEnquire
35900	  object: this is set up after the mset returns from the matcher.
35901	  If the reference is null, the Mset was created standalone, and
35902	  get_doc methods will fail.
35903
35904	* OmMSetIterators now have a reference to the MSet, instead of a
35905	  percent_factor stored.  This allows the percent_factor to be
35906	  lazily calculated, and also allows get_doc to work.
35907
35908	* Add get_rank() method to OmMSetIterators.
35909
35910	* Improve introspection on OmDocument, and fix a bug with assignment
35911	  of OmDocument (wasn't assigning most of the internals).
35912
35913	* Add a missing std:: on a string in omstopwordnode.
35914
35915	* Fixed several documentation comments.
35916
35917	* Add some more debugging to quartz.
35918
35919	* Update TODO.
35920
35921	* Add test_fetchdocs1 to apitest.  Disable test_batchquery1.
35922
35923	* Remove sign comparison error in VectorTermList.
35924
35925Tue Jan 23 16:24:04 GMT 2001 Olly Betts
35926
35927	* No longer compile with -ansi under gcc - it causes problems by
35928	  preventing Linux system headers defining various functions we need.
35929
35930	* testsuite/testsuite.cc: when reporting exceptions, display
35931	  exception's errno value if set.
35932
35933Tue Jan 23 15:13:58 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
35934
35935	* Killed OmIndexerBuilder::NodeType.  Now use OmNodeDescriptor
35936	  in its place, getting rid of another vector usage in the API.
35937
35938	* OmNodeDescriptor adjusted for its new role: internals are
35939	  refcounted, and some query as well as setting functions.
35940
35941	* Cast the fourth argument to getsockopt() to void *.  On Solaris
35942	  that argument is char *.
35943
35944Tue Jan 23 11:24:13 GMT 2001 Olly Betts
35945
35946	* Tiny tweak to da_document.cc.
35947
35948Fri Jan 19 18:36:15 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
35949
35950	* Removed get/set vector methods from OmSettings
35951
35952	* Remote/prog arguments now passed in a string separated be spaces,
35953	  not a vector.
35954
35955	* split_words() moved from netutils.h to utils.{h,cc}
35956
35957	* Some unnecessary #include <vector> lines removed from API headers
35958
35959	* Removed get_config_vector() from OmIndexerNode
35960
35961	* OmConstantNode no longer handles vector values, and
35962	  OmStopWordNode and OmSelectItemsNode use space-separated
35963	  values instead.
35964
35965Thu Jan 18 17:31:55 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
35966
35967	* Removed mentions of std::vector from OmIndexerMessage, and
35968	  updated the relevant bits.
35969
35970	* Fixed a bug with the copy-on-write parts of OmIndexerMessage.
35971
35972Thu Jan 18 17:09:43 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
35973
35974	* Fix to btreetest.cc: shouldn't fail if test data files are not
35975	  available.
35976
35977	* Fix to multimatch.cc: clamp hits values to number of documents
35978	  matched after collapsing and match functors, rather than before.
35979
35980Thu Jan 18 14:13:21 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
35981
35982	* Fix error messages thrown by quartz when a database doesn't exist /
35983	  already exists and isn't to be overwritten.
35984
35985	* Make quartz clean up an old database directory, if
35986	  database_allow_overwrite is specified, so that old base files don't
35987	  confuse things.
35988
35989Wed Jan 17 18:18:50 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
35990
35991	* Added all used toplevel directories to DIST_SUBDIRS
35992
35993Wed Jan 17 18:13:50 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
35994
35995	* Martin committed changes to btree.cc which should fix some random
35996	  problems experienced with quartz.
35997
35998	* Added in a test framework for the btree code, which exhibited the
35999	  bug fixed by martin until updating to his fixed version.
36000
36001Wed Jan 17 16:10:02 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
36002
36003	* Moved the socklen_t definition so that tcpclient.cc could see
36004	  it.
36005
36006Tue Jan 16 20:35:18 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
36007
36008	* Fix creation of quartz databases in backendmanager: all tests should
36009	  now pass.
36010
36011Tue Jan 16 20:28:46 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
36012
36013	* Fix quartztest so that the tables / databases get created.
36014	  Implement new test "create1" to check that creation of databases
36015	  works as specified.
36016
36017	* Fix test for whether we are allowed to overwrite a database.
36018
36019	* Implement much better logging from quartz when making new databases.
36020
36021	* Clean up an error message from btree.cc
36022
36023Tue Jan 16 19:24:49 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
36024
36025	* Don't display messages about allocation failures in the first
36026	  iteration: if the failures go away when repeating, we're not
36027	  interested.
36028
36029Tue Jan 16 18:28:03 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
36030
36031	* Add two new OmSettings, for use when opening databases:
36032	  database_create and database_allow_overwrite.  The idea is that
36033	  databases will only be created if database_create is specified,
36034	  and that when they are being created an exception will be thrown
36035	  if there's an existing database unless database_allow_overwrite
36036	  is specified.
36037
36038	* Implemented database_create and database_allow_overwrite for
36039	  Quartz, which is the only relevant type for now.  Note that this
36040	  breaks the testsuite, quite badly.
36041
36042	* Add OmDatabaseCreateError, which is thrown when creating a database
36043	  fails.
36044
36045Tue Jan 16 17:08:47 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
36046
36047	* Fixed a typo in -ldl detection
36048
36049Tue Jan 16 15:15:30 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
36050
36051	* Remove OmNeedRecoveryError, and quartz's quartz_perform_recovery
36052	  parameter.  Quartz now always performs recovery if needed: there
36053	  is no need for this added complication.
36054
36055	* Update TODO
36056
36057Tue Jan 16 14:25:03 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
36058
36059	* Changed references to SIGCLD to SIGCHLD as it's more portable.
36060
36061Tue Jan 16 14:02:34 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
36062
36063	* Added check for whether -ldl is necessary.
36064
36065Tue Jan 16 11:51:25 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
36066
36067	* Added compatibility bits for early libxml1 versions.
36068
36069Mon Jan 15 18:18:01 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
36070
36071	* Removed use of hstrerror, which isn't portable.
36072
36073Mon Jan 15 18:02:42 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
36074
36075	* Fix assertion which was the wrong way round in multimatch.cc
36076
36077Mon Jan 15 17:46:13 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
36078
36079	* Fix initialisation of Btree_base::sequential when creating database.
36080
36081Mon Jan 15 15:43:46 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
36082
36083	* Renamed some uses of XML node structure for libxml2 compatibility.
36084
36085Mon Jan 15 15:35:50 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
36086
36087	* Add some fixes to sequential access to btrees from Martin.
36088
36089Mon Jan 15 12:23:02 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
36090
36091	* Set matches_* to the known value of the number of hits if we have
36092	  been unable to return as many hits as were requested, and therefore
36093	  know the exact number.
36094
36095	* Update test_matches1() to check this works correctly.  Passes.
36096
36097Fri Jan 12 17:45:27 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
36098
36099	* Implement get_doclength() for QuartzDatabase
36100
36101	* Remove unused parameter from QuartzRecordManager::add_record()
36102
36103Fri Jan 12 17:14:16 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
36104
36105	* Fixed MultiAllTermsList, which had stopped working.
36106
36107Fri Jan 12 15:32:34 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
36108
36109	* Add test to apitest (postlist6) that doclengths got from postlists
36110	  are the same as those from databases.  Fails for Quartz for the
36111	  moment.
36112
36113	* Add test to quartztest (disktable3) to try and bring out a bug in
36114	  adding to tables.
36115
36116Fri Jan 12 15:20:09 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
36117
36118	* Fix STLport macro so that it will accept an STLport installation
36119	  with foo/include/stlport and foo/lib instead of foo/stlport and
36120	  foo/lib.
36121
36122Fri Jan 12 14:04:37 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
36123
36124	* Fixed buglet in configure.in which produced a bogus warning
36125	  about regex libraries.
36126
36127	* Added an AC_MSG_RESULT corresponding to an AC_MSG_CHECKING
36128	  for the libxml flags
36129
36130Fri Jan 12 13:18:07 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
36131
36132	* Fixed skip_to() in QuartzAllTermsList
36133
36134Fri Jan 12 12:52:57 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
36135
36136	* Turn debugging off in btree.cc: accidentally committed a version
36137	  with lots of verbose debugging on.
36138
36139Fri Jan 12 11:16:17 GMT 2001 Olly Betts
36140
36141	* glibc 2.2 needs `#define _GNU_SOURCE' to give us RTLD_NEXT.
36142
36143	* C++ comments changed to C comments in malloccheck.c.
36144
36145Thu Jan 11 16:42:07 GMT 2001 Olly Betts
36146
36147	* Removed unnecessary `#include "alltermslist.h"' from
36148	  d[ab]_database.h.
36149
36150Wed Jan 10 14:28:10 GMT 2001 Olly Betts
36151
36152	* Updated various .cvsignore files.
36153
36154Tue Jan 09 19:03:12 GMT 2001 Olly Betts
36155
36156	* Tidied up dead code from OmAllTermIterator.
36157
36158Tue Jan 09 18:41:21 GMT 2001 Olly Betts
36159
36160	* OmAllTermsIterator merged into OmTermIterator.
36161
36162	* When iterating over all terms, skip_to() doesn't set at_end()
36163	  when it skips off the end.  Fixed except for quartz and added
36164	  regression test (allterms3).
36165
36166Tue Jan  9 18:14:04 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
36167
36168	* Add some extra debugging code into btree code in quartz.
36169
36170Tue Jan  9 17:22:12 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
36171
36172	* Make skip_to() work (ie, do nothing) on OmTermIterators, when the
36173	  term iterator is at_end() already.
36174
36175Tue Jan  9 13:32:08 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
36176
36177	* Updates to make the quartzdump utility more useful.
36178
36179	* Added new test to test cursor behaviour in quartz.
36180
36181Tue Jan  9 11:31:26 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
36182
36183	* Remove an item from TODO
36184
36185Tue Jan  9 10:27:35 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
36186
36187	* Add a missing \ in tests/Makefile.am
36188
36189Mon Jan  8 19:03:42 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
36190
36191	* Increment format number in quartz/btree_base.cc.  This isn't
36192	  actually due to a change in the btree format, but to ensure that
36193	  some databases which were causing problems are rebuilt.
36194
36195	  We need to add quartz format numbers, separate from the btree format
36196	  numbers, to check this kind of thing.
36197
36198Mon Jan  8 15:13:04 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
36199
36200	* Add some debugging, and fix a test data file.
36201
36202Mon Jan  8 13:49:50 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
36203
36204	* Fix failure to initialise OmMSet::Internal::have_percent_factor.
36205
36206Thu Jan  4 17:21:24 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
36207
36208	* Add new test for a postlist with many documents, designed to fail
36209	  and exhibit the bug andy has found.  So far doesn't fail.
36210
36211Wed Jan  3 19:30:30 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
36212
36213	* Add get_percent method to OmMSetIterator.  Untested.
36214
36215	* Add om_percent type to om_types.
36216
36217	* Add test of sort order of terms in get_matching_terms.
36218
36219Tue Jan  2 15:05:53 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
36220
36221	* Move documentation of parameters for OmSettings out of omsettings.h
36222	  and into docs/.  Not in distribution at the moment: it is awaiting
36223	  placement into a permanent home (I think the user manual is the
36224	  correct place).
36225
36226	* Add a bm25weight_min_normlen parameter: this specifies a cutoff
36227	  on the minimum value that can be used for a normalised document
36228	  length: smaller values will be forced up to this cutoff.  This
36229	  prevents very small documents getting a huge bonus weight.
36230
36231Wed Dec 20 16:54:41 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36232
36233	* Fix warning in QuartzTable
36234
36235Wed Dec 20 15:13:05 GMT 2000 Olly Betts
36236
36237	* OmTermListIterator merged into OmTermIterator.
36238
36239	* Added OmRSet::contains() - checks if an RSet contains a given
36240	  docid.
36241
36242	* Methods returning `const om_termname' now just return
36243	  `om_termname'.
36244
36245Tue Dec 19 16:55:02 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
36246
36247	* Implemented AllTermsIterator for DA and Multi databases.
36248	  Added a test which actually uses a multidatabase, but
36249	  disabled it as it currently fails for both Quartz and DA.
36250
36251Tue Dec 19 12:14:05 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
36252
36253	* Adjusted TODO
36254
36255Tue Dec 19 20:06:43 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36256
36257	* Escaping for termnames in remote database communication modified
36258	  to use only characters in range 33 to 126.  Should now work on all
36259	  architectures.
36260
36261	* Increased OM_SOCKET_PROTOCOL_VERSION to 8.
36262
36263Mon Dec 18 17:23:48 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36264
36265	* Added "match_cutoff" option to get_mset OmSettings.
36266
36267	* Added test for "match_cutoff" to apitest.
36268
36269	* Updated todo.xml
36270
36271Mon Dec 18 17:19:40 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
36272
36273	* Implemented opening positionlists from inmemory databases.  Added
36274	  a testcase as well, which is run for quartz and inmemory.
36275
36276Mon Dec 18 15:48:16 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
36277
36278	* Implemented AllTermsIterator for quartz.  Interaction with
36279	  QuartzPostList needs to be cleaned up.
36280
36281	* Added new functions [un]pack_string_preserving_sort(), which
36282	  pack a string in a way which preserves sort order.  Added a
36283	  testcase to quartztest.
36284
36285	* Now use [un]pack_string_preserving_order() on postlist keys, so
36286	  that we can get at terms in sorted order.  (And get_tname_from_key()
36287	  added to separate out the term-unpacking as well as the packing)
36288
36289	* Enabled test_allterms1 in apitest, but put it in a group of
36290	  tests only run for inmemory and quartz.  This should be extended
36291	  to other backends.
36292
36293Mon Dec 18 14:33:42 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36294
36295	* Implemented tests of msetiterator and esetiterator copying and
36296	  assignment.
36297
36298	* Fix segfault when assigning to [me]setiterator to end.
36299
36300	* Updated todo.xml
36301
36302Mon Dec 18 13:52:53 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36303
36304	* Move creation of first key in a quartz postlist into a named
36305	  function (was scattered through the code).
36306
36307Mon Dec 18 11:19:53 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36308
36309	* Update todo.xml
36310
36311Mon Dec 18 10:47:42 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36312
36313	* Remove const from reverse_iterators in api_db.cc, so get around
36314	  brokenness of egcs 1.1.2
36315
36316Mon Dec 18 09:41:54 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
36317
36318	* Added apitest_space.txt to the Makefile.am
36319
36320Sun Dec 17 16:15:03 GMT 2000 Olly Betts
36321
36322	* Replaced all API uses of om_termname_list with OmTermIterator.
36323
36324Fri Dec 15 18:54:10 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
36325
36326	* Implemented OmAllTermsIterator interface in API.  It works for
36327	  inmemory - the rest haven't been implemented yet.  The test
36328	  is commented out.
36329
36330Fri Dec 15 15:47:53 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36331
36332	* Updated TODO.
36333
36334	* database returns positionlists as AutoPtrs; this neatens some of
36335	  the code from the previous changelog entry, and makes explicit the
36336	  ownership of the pointer.  postlists and termlists should be
36337	  AutoPtrs, likewise.
36338
36339Fri Dec 15 14:59:41 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36340
36341	* Make OmPositionListIterators retrieved from OmPostListIterators
36342	  valid indefinitely (were only valid until OmPostListIterator was
36343	  moved).  This makes them consistent with OmPositionListIterators
36344	  retrieved from OmDatabases.
36345
36346	* Renamed PostList::get_position_list() to read_position_list.
36347	  Added PostList::open_position_list() which opens a new positionlist
36348	  and returns it as an AutoPtr.
36349
36350Fri Dec 15 13:09:51 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36351
36352	* Make TODO.release file, containing TODO items for next release.
36353
36354Fri Dec 15 12:06:42 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36355
36356	* QuartzDatabases now autoflush after 1000 changes.
36357
36358Fri Dec 15 11:40:37 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36359
36360	* Fix segfault in quartz_table
36361
36362Fri Dec 15 11:23:15 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
36363
36364	* Removed begin/end_session() from quartztest
36365
36366Thu Dec 14 19:19:40 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36367
36368	* Done todo item: For writable databases, make the behaviour currently
36369	  obtained by calling begin_session() and later end_session() the
36370	  default behaviour.  If users want the changes to be applied
36371	  immediately following a change, they should call flush().
36372
36373Thu Dec 14 17:48:27 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36374
36375	* Fix problem with recalc_maxweight() not being called before a
36376	  get_maxweight() in multimatch.cc if a node prunes at the top level,
36377	  since recalculate_w_max wasn't being checked at this point.
36378	  Introduced helper function getorrecalc_maxweight() to tidy this up.
36379
36380	* Tidy up Asserts in common/netutils.h.
36381
36382Thu Dec 14 17:11:17 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
36383
36384	* Adjusted todo.xml
36385
36386Thu Dec 14 16:21:27 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
36387
36388	* Removed handling of OmDatabaseModifiedError in the API - it's
36389	  up to the users to know what to do.  Disabled quartzoverwrite2
36390	  as it's now inappropriate.
36391
36392	* Added OmDatabase::reopen() to help them do so.
36393
36394	* Adjusted todo.xml
36395
36396Thu Dec 14 14:38:39 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36397
36398	* Added another quoting regression test.
36399
36400Thu Dec 14 14:36:53 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
36401
36402	* Fixed the quoting _again_, since it broke with backslashes.
36403
36404Thu Dec 14 12:49:58 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36405
36406	* Fix problems with recalculation of maxweight in postlists, causing
36407	  AssertParanoid at multimatch.cc:393.  When a prune was happening,
36408	  recalc_maxweight flag was not always being set, because some
36409	  {next,skip_to}_handling_prune() methods weren't being passed the
36410	  matcher, and a default argument of 0 was being used.  I've now
36411	  removed the default argument and pass the matcher always.
36412
36413	  Sometimes the recalc could perhaps be avoided, but this is
36414	  certainly safer for now.
36415
36416Thu Dec 14 12:30:02 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
36417
36418	* Sleepcat is now disabled by default.
36419
36420	* Fixed a problem with tabs not being quoted in the remote case.  All
36421	  control characters are now quoted.  Incremented the protocol ver
36422	  number.
36423
36424Thu Dec 14 11:54:17 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36425
36426	* Added regression test to check that all characters can be
36427	  are safe to exist in document keys.
36428
36429	* Fixed OmDebug so that it can display messages containing zero bytes
36430	  (use fwrite instead for fprintf)
36431
36432Wed Dec 13 18:43:40 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36433
36434	* Add regression tests to apitest to check that OmMSet and OmESet
36435	  begin() and end() iterators compare equal if the mset is empty.
36436	  Fix matchfunctor used in test_matchfunctor1 so that it works for
36437	  Muscat3.6 databases.
36438
36439Wed Dec 13 18:35:05 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
36440
36441	* Fixed bugs in OmMSet and OmESet iterators: begin() when the set
36442	  was empty produced an invalid iterator, and the assignment
36443	  operators would have failed when end iterators were involved.
36444
36445	* Added a check in test_matchfunctor1() that the mset returned is
36446	  not empty.
36447
36448Wed Dec 13 18:18:09 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36449
36450	* Turn off tests involving terms with newlines or zero bytes in terms
36451	  with Muscat3.6 backends; these can't be expected to work.
36452
36453Wed Dec 13 18:06:29 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
36454
36455	* Uncommented the code in pctcutoff1 - test now passes.
36456
36457Wed Dec 13 17:53:19 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36458
36459	* Fix: m36_key_file parameter wasn't being set with DA flimsy
36460	  databases (thanks to Mark Hagger).
36461
36462	* indextest.cc changed to use "\n" instead of endl - compiles
36463	  with STLport again.
36464
36465Wed Dec 13 17:27:17 GMT 2000 Olly Betts
36466
36467	* OmMSet is now an STL compatible container.
36468
36469	* Om*Iterator::difference_type was unsigned - now signed.
36470
36471	* net/readquery.ll: fixed compiler warning.
36472
36473	* Remote backend was defaulting to collapse on key 0.
36474
36475Wed Dec 13 16:48:49 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
36476
36477	* Add handling of DatabaseModified to OmEnquire::get_mset()
36478
36479Wed Dec 13 16:28:47 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36480
36481	* Escape zero bytes in the network protocol, since these were
36482	  breaking things when being passed across as part of keys.
36483
36484	* Add test of having zero bytes in the collapse keys.
36485
36486	* In testsuite, only display the context of errors if there is one
36487	  present.
36488
36489Wed Dec 13 14:44:46 GMT 2000 Olly Betts
36490
36491	* Implemented OmMSet::operator[]().
36492
36493Wed Dec 13 14:30:57 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
36494
36495	* Added support for handling overwritten database conditions.
36496	  Currently works for OmDocument::get_{data,key}().
36497
36498Wed Dec 13 13:20:45 GMT 2000 Olly Betts
36499
36500	* Elaborated API hitlist in todo.xml.
36501
36502Wed Dec 13 12:28:18 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
36503
36504	* Fix to BackendManager to stop it removing tables prematurely.
36505
36506Wed Dec 13 11:49:53 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
36507
36508	* Apply the stemmer to query terms used in spaceterms1.  (Not doing
36509	  so caused the test to fail spuriously on local databases, since the
36510	  terms are stemmed at index time).  The test still fails with da and
36511	  db databases.
36512
36513	* Fixed a problem when stats were unpacked from the network stream,
36514	  where term names were not correctly unquoted.  This led to double
36515	  quoting of global statistics.
36516
36517Wed Dec 13 02:49:05 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36518
36519	* Implement copy and assignment methods for OmPositionListIterator.
36520
36521Wed Dec 13 02:37:14 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36522
36523	* ESet and MSet iterators now cope with being copied / assigned when
36524	  the internals are null.
36525
36526	* Added copy method to OmPositionListIterator interface.  No
36527	  implementation for this yet though, or for the already existing
36528	  assignment method.
36529
36530	* Added a couple of easy items to the todo list to check regarding
36531	  iterators.
36532
36533Wed Dec 13 02:19:50 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36534
36535	* Fix small bug in mset_range_is_same{,_weights}()
36536
36537Wed Dec 13 02:07:59 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36538
36539	* And add copy and assignment for OmESet, similarly.
36540
36541Wed Dec 13 01:58:38 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36542
36543	* Add copy and assignment operators to OmMSet so that the internals
36544	  get copied (rather than just the pointer to them).  Really want a
36545	  small internals class, holding a refcount to the real internals, or
36546	  else to use refcntptrs for the members of OmMSet::Internal which are
36547	  potentially large (eg, items)
36548
36549Wed Dec 13 01:05:44 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36550
36551	* Add Asserts to api/omdatabaseinternal.cc to ensure that there is at
36552	  least one database present when opening termlists, etc.  This should
36553	  really be done by throwing errors.
36554
36555	* Add destructor to OmMSet, deleting internals.
36556
36557	* Implement getting positionlists from QuartzDatabases.
36558
36559	* Fix bug in copy constructor of OmDocument::Internal - some fields
36560	  were not being copied.
36561
36562	* Fix api_db.cc so it compiles: code referring to mset by subscripting
36563	  temporarily commented out.
36564
36565Tue Dec 12 20:05:10 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36566
36567	* Fix bug with truncation of intermediate keys in btrees.
36568
36569Tue Dec 12 18:33:12 GMT 2000 Olly Betts
36570
36571	* OmMSet::get_docs() now takes sane parameters.
36572
36573	* Various test programs updated to nearly work with new OmMSet
36574	  interface.
36575
36576Tue Dec 12 17:18:33 GMT 2000 Olly Betts
36577
36578	* Finished cleaning up OmMSet; updated TODO to reflect this.
36579
36580Tue Dec 12 17:16:02 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36581
36582	* Fix bug with sorting keys in btrees.
36583
36584	* Various fixes to quartzdump.
36585
36586Tue Dec 12 15:40:28 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
36587
36588	* Nettest compiles with new OmMSet interface.
36589
36590Tue Dec 12 15:09:14 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
36591
36592	* Fixed an endless loop in QuartzWritableDatabase::do_delete_document.
36593
36594Tue Dec 12 15:07:39 GMT 2000 Olly Betts
36595
36596	* OmMSetItem replaced by OmMSetIterator.
36597
36598	* Added OmESet::empty().
36599
36600	* Fixed == on OmESetIterator.
36601
36602Tue Dec 12 14:16:57 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
36603
36604	* Renamed arguments to compare_keys()
36605
36606Tue Dec 12 12:05:24 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36607
36608	* Added quartzdump utility to dump the contents of a quartz table.
36609
36610Tue Dec 12 10:54:44 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
36611
36612	* Added constructors and destructor to OmRSet.
36613
36614Mon Dec 11 16:32:07 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36615
36616	* Remove caching of average length in OmDatabaseInternal, was breaking
36617	  asking for the average length of a database which was being
36618	  modified.
36619
36620Mon Dec 11 16:03:46 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36621
36622	* If no documents in database, don't divide by zero in
36623	  omdatabaseinternal.cc
36624
36625	* If a document object doesn't come from the database, when iterating
36626	  through its termlist don't open postlists from the nonexistent
36627	  database; open them from the DocumentTerm objects in the document
36628	  instead.
36629
36630	* Remove old unused and undefined method
36631	  OmDocument::Internal::add_posting()
36632
36633Mon Dec 11 13:53:18 GMT 2000 Olly Betts
36634
36635	* omenquire.h: Removed superfluous declaration of OmMSetCmp.
36636
36637Mon Dec 11 13:38:12 GMT 2000 Olly Betts
36638
36639	* Updated TODO list.
36640
36641Mon Dec 11 13:24:45 GMT 2000 Olly Betts
36642
36643	* OmRSet internals encapsulated.
36644
36645Mon Dec 11 12:42:02 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
36646
36647	* OmIndexerMessage::get_element and ...::operator[] now have
36648	  non-const versions.  Fixes const-warning in omstemmernode.cc.
36649
36650Mon Dec 11 12:17:32 GMT 2000 Olly Betts
36651
36652	* Better typedef-s for Om*Iterator::difference_type.
36653
36654Sun Dec 10 17:51:41 GMT 2000 Olly Betts
36655
36656	* Corrected various typedef-s for Om*Iterator.
36657
36658Sun Dec 10 17:28:59 GMT 2000 Olly Betts
36659
36660	* Updated TODO to reflect OmESet being cleaned up.
36661
36662	* Term position argument to OmDocument::add_posting() is now
36663	  optional (as it was for OmDocumentContents).
36664
36665Sun Dec 10 16:55:17 GMT 2000 Olly Betts
36666
36667	* OmESetItem is dead - long live OmESetIterator!
36668
36669	* net/socketclient.cc: fixed compiler warning.
36670
36671	* net/socketserver.cc: fixed compiler warning.
36672
36673Sun Dec 10 13:29:15 GMT 2000 Olly Betts
36674
36675	* Started to encapsulate OmESet/OmESetItem interface.  Interface is
36676	  close, but currently implementation is exposed in omenquire.h.
36677
36678	* apitest wasn't running puncterms1 or spaceterms1 - fixed.
36679
36680Sun Dec 10 11:34:39 GMT 2000 Olly Betts
36681
36682	* om/autoptr.h -> autoptr.h in lots of places.
36683
36684Fri Dec  8 17:20:04 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
36685
36686	* Updated indextest to not use AutoPtr<OmIndexer>
36687
36688Fri Dec  8 17:14:09 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
36689
36690	* Oops - removed one too many #include "autoptr.h"
36691
36692Fri Dec 08 16:50:42 GMT 2000 Olly Betts
36693
36694	* Updated TODO.
36695
36696Fri Dec  8 16:44:26 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
36697
36698	* IndexerBuilder now returns OmIndexer objects instead of
36699	  AutoPtr<OmIndexer>.  OmIndexer's internals are reference
36700	  counted.
36701
36702	* Moved autoptr.h from include/om to common/, since it's no
36703	  longer used in the API.
36704
36705Fri Dec  8 16:22:48 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
36706
36707	* Fixed omstemmer node bug and made debug slightly more verbose
36708	  in indextest.cc.
36709
36710Fri Dec  8 16:13:36 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
36711
36712	* Added a test for OmIndexerMessage to indextest
36713
36714	* Added output operator for OmIndexerMessage
36715
36716	* Fixed a bug introduced into omvectorsplit node
36717
36718	* Changed couts in indextest.cc to touts.
36719
36720Fri Dec 08 14:53:24 GMT 2000 Olly Betts
36721
36722	* quartztest: removed OmDocumentTerm reference so that it'll
36723	  compile (tests fail though).
36724
36725Fri Dec  8 14:42:46 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
36726
36727	* OmIndexerMessage is now a class by itself, replacing OmIndexerData
36728	  and the typedef to AutoPtr<OmindexerData>.  It's now a copy-on-write
36729	  object.
36730
36731	* The indexer stuff all changed.
36732
36733Fri Dec 08 14:24:02 GMT 2000 Olly Betts
36734
36735	* omindexdoc.{cc,h}: no longer used so removed.
36736
36737	* Pushed OmDocumentTerm from API level into the internals of the
36738	  library.
36739
36740	* Updated TODO.
36741
36742Fri Dec 08 12:08:49 GMT 2000 Olly Betts
36743
36744	* delve: if just given a database (or list of databases), report the
36745	  number of documents and average document length.
36746
36747Thu Dec  7 20:39:24 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36748
36749	* Fix bug: Om*Iterators which were created over empty lists didn't
36750	  have null internals, causing them not to compare equal to end
36751	  iterators.
36752
36753	* Added many asserts to iterator code.
36754
36755Thu Dec  7 20:02:43 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36756
36757	* Removed OmTermListIteratorMap - OmTermListIterator can now be
36758	  across either a map or an actual termlist.
36759
36760	* Om*Iterator classes all now delete internals when reaching end,
36761	  freeing resources sooner and making the comparison operators much
36762	  simpler.
36763
36764Thu Dec  7 18:33:03 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36765
36766	* Updates to TODO
36767
36768Thu Dec  7 18:32:39 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
36769
36770	* Implementation of write locks for Quartz
36771
36772Thu Dec  7 18:28:55 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
36773
36774	* Fix to backendmanager which doesn't return writable databases
36775	  unnecessarily (which breaks things when there are write locks)
36776
36777Thu Dec  7 18:25:50 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
36778
36779	* Added test for Quartz write locks
36780
36781Thu Dec  7 17:56:19 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36782
36783	* Add OmDocument::set_data() method which takes a string, instead of
36784	  an OmData object.  This allows, implicitly, use of const char *'s
36785	  as well.
36786
36787	* Further fixes to quartztest.  It now compiles (though I've not
36788	  tried linking it yet...)  :)
36789
36790Thu Dec  7 17:49:50 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
36791
36792	* Fixed omkeylistiterator return types.
36793
36794Thu Dec  7 17:27:57 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36795
36796	* Moved get_document() from OmWritableDatabase to OmDatabase.
36797
36798	* Added -> operator to OmKeyListIterator.  Fixed return values
36799	  and constness of Om*Iterator::operator *() methods.
36800
36801	* Some fixes to quartztest.cc, but not enough to get it compiling.
36802
36803Thu Dec 07 16:21:28 GMT 2000 Olly Betts
36804
36805	* Some work on getting quartztest working.
36806
36807Thu Dec 07 16:10:00 GMT 2000 Olly Betts
36808
36809	* The library now builds, but "make check" still fails.
36810
36811Thu Dec  7 15:39:19 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36812
36813	* Fixes to testsuite/index_utils.cc to not segfault.
36814
36815Thu Dec  7 14:31:56 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36816
36817	* Fixes to api_db.cc so that it compiles.
36818
36819Wed Dec  6 18:50:48 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36820
36821	* Add test for terms with spaces, newlines, zero bytes, or
36822	  backslashes.
36823
36824	* Updates to TODO
36825
36826Wed Dec 06 18:18:16 GMT 2000 Olly Betts
36827
36828	* Woohoo!  Now builds with just --disable-indexer!
36829	  (still doesn't pass any tests).
36830
36831Wed Dec 06 17:24:19 GMT 2000 Olly Betts
36832
36833	* Minor fix.  Now builds with --disable-indexer
36834	  --disable-quartz-backend (but doesn't pass any tests).
36835
36836Wed Dec 06 16:35:34 GMT 2000 Olly Betts
36837
36838	* Fixed up lots of build errors.
36839
36840Wed Dec 06 14:56:59 GMT 2000 Olly Betts
36841
36842	* Begin the long job of replacing OmDocumentContents with
36843	  OmDocument.  Won't currently build - expect the tree to be broken
36844	  for a few days.  As usual, if you want a working build, use the
36845	  "snapshot_latest" tag.
36846
36847Wed Dec  6 12:03:44 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
36848
36849	* Backed out yesterday's overwritten-handling stuff.
36850
36851Wed Dec  6 11:36:55 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36852
36853	* Increase sleep in tcpclient1 to 3 (did tcpmatch1 last time, duh!)
36854
36855Tue Dec  5 17:13:38 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
36856
36857	* QuartzDocument now has a QuartzTableManager pointer rather than
36858	  two QuartzTable pointers.
36859
36860	* QuartzDatabase::do_get_document_internal() copes with Btree
36861	  overwritten conditions.
36862
36863	* QuartzDocument methods cope with Btree overwritten conditions
36864
36865	* New method QuartzTableManager::reopen_tables_because_overwritten()
36866	  for helping with the above.
36867
36868	* New test in quartztest for testing overwritten problems from the
36869	  API rather than just internally to Quartz.
36870
36871	* Fixed a typo in omsettings.h comment (quartz_dir used to refer to
36872	  a sleepycat database)
36873
36874Tue Dec  5 16:53:46 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36875
36876	* Update todo.
36877
36878	* Fix undesirable assert in stats.h
36879
36880Tue Dec  5 15:41:40 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36881
36882	* Replace OmMSet::docs_considered with
36883	  OmMSet::matches_{lower_bound,estimated,upper_bound}, giving more
36884	  useful information.
36885
36886	* PostLists now have get_termfreq_{min,est,max}(), instead of
36887	  get_termfreq(), so the postlist tree can be used to calculate
36888	  the matches_* values for the mset.  Implemented for all the
36889	  postlist subclasses.
36890
36891	  LeafPostList's still has a virtual get_termfreq() method,
36892	  and implements get_termfreq_* in terms of it, so database postlists
36893	  don't need to be modified.
36894
36895	* Passing of MSets across network modified to pass the new
36896	  information.
36897
36898	* PendingMSet uses the values from the mset to return the values
36899	  of get_termfreq_*().  This assumes that recalc_maxweight has been
36900	  called first, which is has been.
36901
36902	* Muscat36 databases get_termfreq() methods fixed to use a
36903	  LeafPostList rather than a PostList.
36904
36905	* Renamed test docs_considered1 to matches1, and add several
36906	  more cases to it.
36907
36908Tue Dec 05 15:38:27 GMT 2000 Olly Betts
36909
36910	* Added tests/testdata/apitest_punc.txt to distribution.
36911
36912Tue Dec 05 15:07:26 GMT 2000 Olly Betts
36913
36914	* Oops, failed to add new file `tests/testdata/apitest_punc.txt'
36915	  with last check-in.
36916
36917Tue Dec 05 14:34:04 GMT 2000 Olly Betts
36918
36919	* OmTermListIterator implemented for an OmDocument with terms stored
36920	  in a map rather than coming from a Document.
36921
36922	* Fixes to remote protocol so solve problems with terms with
36923	  punctuation in (regression test punc_terms1).
36924
36925Mon Dec  4 15:02:53 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36926
36927	* Makefile tweak in docs/
36928
36929Mon Dec 04 14:13:05 GMT 2000 Olly Betts
36930
36931	* More OmDocument work.
36932
36933Mon Dec  4 11:43:46 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36934
36935	* Renamed OmMSet::mbound to docs_considered.
36936
36937Mon Dec  4 10:11:11 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
36938
36939	* Added some more std:: prefixes for STLport.
36940
36941Fri Dec  1 17:45:01 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36942
36943	* Increase the sleep after the server is started by tcpclient1 to 3
36944	  seconds so that the server is more likely to have started when
36945	  then test ran.  This seems to be what was causing the test to
36946	  randomly fail.  Really, we want a better solution to this (such as
36947	  the server picking a port and writing it out on stdout once it is
36948	  listening.)
36949
36950Fri Dec  1 17:27:02 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36951
36952	* Swapped the ports used by tcpclient1 and tcpmatch1 to see if the
36953	  random failures follow suit.
36954
36955Fri Dec  1 17:21:07 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36956
36957	* Another minor fix to work with STLport.
36958
36959Fri Dec  1 17:01:02 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36960
36961	* Add std::'s and similar to fix compilation with STLport.
36962
36963	* Fix bug in expander due to nth_element being called on the wrong
36964	  element.  This is the counterpoint of the bug fixed on Nov 24th
36965	  with the matcher.
36966
36967Fri Dec  1 16:30:26 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
36968
36969	* Minor tweaks in error strings.
36970
36971Fri Dec 01 12:57:59 GMT 2000 Olly Betts
36972
36973	* Corrected erroneous documentation comment.
36974
36975Thu Nov 30 18:50:16 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36976
36977	* OmSettings no longer throws exceptions internally (at the cost of
36978	  slightly more code duplication).
36979
36980Thu Nov 30 18:05:39 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36981
36982	* Add a few std::'s to strings which had been missed.
36983
36984Thu Nov 30 16:41:11 GMT 2000 Olly Betts
36985
36986	* OmDocument::Internal now knows its OmDatabase.
36987
36988Thu Nov 30 16:40:33 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
36989
36990	* Add context to network errors thrown from OmSocketLineBuf.
36991
36992Thu Nov 30 16:21:47 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
36993
36994	* Added a quartz test for largish bitmaps.
36995
36996	* Fixed the code so that the above test would pass.
36997
36998Thu Nov 30 16:10:37 GMT 2000 Olly Betts
36999
37000	* OmDocument::add_posting() pretty much done.
37001
37002Thu Nov 30 15:51:46 GMT 2000 Olly Betts
37003
37004	* More work on OmDocument::add_posting().
37005
37006	* Added OmTermListIterator::positionlist_begin() and
37007	  OmTermListIterator::positionlist_end().
37008
37009Thu Nov 30 14:16:28 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
37010
37011	* Fixed a prototype bug introduced with the last commit.
37012
37013Thu Nov 30 13:23:14 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
37014
37015	* Bcursor::find_key now more const-correct.
37016
37017	* Bcursor_create now returns an AutoPtr.  The resultant changes
37018	  fixed a memory leak.
37019
37020	* New exception: OmDatabaseModifiedError.  Thrown when an open
37021	  revision of a table is no longer valid due to multiple updates.
37022
37023	* quartzoverwrite1 test re-enabled, and passes.
37024
37025Thu Nov 30 13:23:27 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
37026
37027	* nettest now uses quartz backend: should always run all tests now
37028	  (apart from tcpdead1, which doesn't work).
37029
37030Wed Nov 29 19:46:22 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
37031
37032	* In testsuite, report the context of Om exceptions as well as their
37033	  type and message.
37034
37035Wed Nov 29 18:30:10 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
37036
37037	* Add "remote_connect_timeout" parameter to be supplied when opening
37038	  a remote database, to specify a separate timeout for the connect
37039	  operation to that used once the connection has been opened.
37040
37041	* Add setting of the context of errors thrown by tcpclient or
37042	  progclient, so that the node which failed can be determined.
37043
37044Wed Nov 29 17:50:03 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
37045
37046	* Reworked Btree_base::read() a bit so that it's hopefully more
37047	  readable.
37048
37049	* Hopefully fixed a bug when the bitmap approaches 1k.
37050
37051	* Fix to catch problems re-opening databases after an apply in
37052	  Quartz.
37053
37054Wed Nov 29 17:30:26 GMT 2000 Olly Betts
37055
37056	* Added OmDocument::termlist_begin() and OmDocument::termlist_end()
37057
37058Wed Nov 29 16:53:13 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
37059
37060	* Comment out quartzoverwrite1 test so that it doesn't cause problems
37061	  for other developers.
37062
37063Wed Nov 29 16:27:19 GMT 2000 Olly Betts
37064
37065	* docid now in Document class rather than subclasses.
37066
37067Wed Nov 29 14:54:13 GMT 2000 Olly Betts
37068
37069	* leafdocument.cc renamed to document.cc
37070
37071	* Document class now has a pointer to the associated Database class
37072	  so we can open termlists, etc.
37073
37074Wed Nov 29 14:03:43 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
37075
37076	* Add quartztest to test for case when a database block gets
37077	  overwritten.  Currently, this fails because an exception doesn't
37078	  get thrown when it should.
37079
37080Wed Nov 29 13:18:24 GMT 2000 Olly Betts
37081
37082	* LeafDocument class renamed to Document.
37083
37084Wed Nov 29 12:35:49 GMT 2000 Olly Betts
37085
37086	* Added OmDocument::remove_posting(), OmDocument::remove_term(),
37087	  and OmDocument::clear_terms()
37088
37089Wed Nov 29 12:31:22 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
37090
37091	* Added another revision number in the middle of the base file,
37092	  before the bitmap.  Also now check that there isn't any extra
37093	  data at the end after we finish reading it.  Incremented the
37094	  database format.
37095
37096Wed Nov 29 11:55:03 GMT 2000 Olly Betts
37097
37098	* Added OmDocument::remove_key() and OmDocument::clear_keys()
37099
37100Tue Nov 28 18:34:57 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
37101
37102	* Btree bitmap now merged with base - one object, one file.
37103
37104Tue Nov 28 17:13:56 GMT 2000 Olly Betts
37105
37106	* Added OmDocument::set_data()
37107
37108Tue Nov 28 16:47:06 GMT 2000 Olly Betts
37109
37110	* Started to alter OmDocument to be a general purpose document class
37111	  which includes the functionality currently in OmDocumentContents.
37112
37113Tue Nov 28 15:08:38 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
37114
37115	* Added OmSplitOnCharsNode, which does a subset of OmRegexSplitNode
37116	  but less slowly.
37117
37118	* Modified RegexSplit node and regexcommon so that less copying
37119	  of strings is needed.
37120
37121Tue Nov 28 13:42:41 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
37122
37123	* Moved the Btree's bitmap into a separate object.
37124
37125Tue Nov 28 13:06:36 GMT 2000 Olly Betts
37126
37127	* Eliminated OmDocumentParams.
37128
37129	* Removed unnecessary mutex from OmDocument::Internal.
37130
37131Mon Nov 27 18:45:27 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
37132
37133	* Implement get_position_list() on databases.  Untested.  Also needs
37134	  some work to make consistent with open_position_list() on posting
37135	  lists: see todo list.
37136
37137Mon Nov 27 18:29:00 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
37138
37139	* Change #define LEVEL ... to #define GET_LEVEL ... in btree_util.h:
37140	  fixes problem reported by includetest
37141
37142Mon Nov 27 18:20:42 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
37143
37144	* Added a set of modifications to the todo.xml.  Also, add a
37145	  "release" field, recording the release that the work must be
37146	  performed by.
37147
37148Mon Nov 27 18:08:35 GMT 2000 Olly Betts
37149
37150	* A RefCntPtr now copes with being assigned to itself (used to
37151	  delete the underlying object if the reference count was 1).  Added
37152	  regression test (refcnt2).
37153
37154	* Now overwrite pointer inside RefCntPtr before deleting the pointed
37155	  to object so there's no window where another thread can access the
37156	  pointer and get the just-deleted object.
37157
37158Mon Nov 27 14:36:59 GMT 2000 Olly Betts
37159
37160	* OmError class now optionally stores an errno value.
37161
37162Mon Nov 27 13:04:18 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
37163
37164	* Quartztest builds its test databases in a subdirectory, which
37165	  is now in .cvsignore, so we shouldn't get cvs complaining about
37166	  so many unknown files any more.
37167
37168Mon Nov 27 12:53:16 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
37169
37170	* Another TODO item.
37171
37172Mon Nov 27 12:15:53 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
37173
37174	* Added a couple of new items to the todo list.
37175
37176Fri Nov 24 19:23:56 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
37177
37178	* Quartztests now deletes all old tables, so that database formats
37179	  don't cause problems.
37180
37181Fri Nov 24 19:03:59 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
37182
37183	* Added std:: prefix to lots of strings which didn't have it.
37184	  I've probably added some where they shouldn't be: there were rather
37185	  a lot of cases of this.
37186
37187Fri Nov 24 18:27:06 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
37188
37189	* Major bug fix!  When removing elements, matcher was performing
37190	  nth_element() on the first element to be thrown away, rather than
37191	  the lowest element to keep.  This meant that, after throwing away
37192	  low scoring items, items.back() was a random item rather than the
37193	  lowest scoring item.  This caused the min weight for getting into
37194	  the mset to go up faster than it should have done, and generally
37195	  broke everything.
37196
37197	  It will be interesting to compare evaluation measures before and
37198	  after this fix.
37199
37200Fri Nov 24 15:34:17 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
37201
37202	* Declare this to be version 0.4.1
37203