Distribution fixes: make clean should now clear up all required files.
[xapian.git] / xapian-core / ChangeLog
blobb1a6fef236e0e9c781b8d2e6efab54dc9fb97092
1 Mon May  6 16:04:37 2002  James Aylett  <tartarus@users.sourceforge.net>
3         * Distribution fixes: make clean should now clear up all
4           required files.
6 Mon May  6 14:42:46 2002  James Aylett  <tartarus@users.sourceforge.net>
8         * Don't include dlfcn.h since we don't use it (and doesn't exist
9           on some target platforms).
11 Mon May  6 14:07:24 2002  James Aylett  <tartarus@users.sourceforge.net>
13         * Minor documentation corrections.
15 Fri May 03 18:14:14 BST 2002  Olly Betts <olly@survex.com>
17         * Changed autoconf/automake project name to xapian-core, and updated
18           the documentation to reflect this.
20         * Disabled the bindings from being included in distribution tarballs.
22 Fri May 03 18:13:43 BST 2002  Olly Betts <olly@survex.com>
24         * Updated todo list.
26 Fri May  3 18:02:06 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
28         * Overloading ambiguity resolutions for linux/alpha build on CF
30 Fri May 03 17:13:36 BST 2002  Olly Betts <olly@survex.com>
32         * buildall: Don't run configure or make; removed --no-make and --quiet.
34 Fri May  3 16:52:01 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
36         * tests/testdata/etext.txt needs to be included in the distribution
38 Fri May 03 16:18:38 BST 2002  Olly Betts <olly@survex.com>
40         * Removed OmValue in favour of simply using a string (analogous to
41           recent OmData change).
43 Fri May 03 14:52:04 BST 2002  Olly Betts <olly@survex.com>
45         * Removed unused om_docname typedef.
47 Fri May 03 14:42:31 BST 2002  Olly Betts <olly@survex.com>
49         * Terminology change - a "key" (in the OmKey sense) is now a "value".
51 Fri May  3 14:31:57 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
53         * Fixed up todo list and HTML generation script to cope with
54           items without an assigned priority.
56 Fri May 03 14:29:58 BST 2002  Olly Betts <olly@survex.com>
58         * It's HACKING (not INSTALL) that has details of developer tools.
60 Thu May 02 15:57:48 BST 2002  Olly Betts <olly@survex.com>
62         * Removed OmData - just return and take a string instead.
64 Thu May 02 14:40:21 BST 2002  Olly Betts <olly@survex.com>
66         * docs/.cvsignore: updated.
68 Thu May 02 14:38:36 BST 2002  Olly Betts <olly@survex.com>
70         * Removed assorted references to pthread locking; updated HACKING.
72 Thu May 02 14:15:47 BST 2002  Olly Betts <olly@survex.com>
74         * Stripped out OmBatchEnquire stuff, as it's unlikely to get sorted
75           out any time soon, and it can be extracted from CVS when someone
76           wants it.
78 Thu May 02 13:50:04 BST 2002  Olly Betts <olly@survex.com>
80         * Check for bison >= 1.35 in buildall.
82 Wed May 01 17:39:57 BST 2002  Olly Betts <olly@survex.com>
84         * Removed lingering references to Omsee and OpenMuscat.
86 Wed May 01 16:34:13 BST 2002  Olly Betts <olly@survex.com>
88         * Removed unused methods from NetClient (read_data and write_data).
90 Wed May 01 14:01:12 BST 2002  Olly Betts <olly@survex.com>
92         * Added test consistency1 to check matcher optimisations don't
93           result in inconsistent results (i.e. that same matches and
94           weights are returned regardless of size of mset asked for).
96 Wed May 01 11:48:10 BST 2002  Olly Betts <olly@survex.com>
98         * Fixed mismatched tags in todo.xml.
100 Wed May 01 11:46:42 BST 2002  Olly Betts <olly@survex.com>
102         * Updated todo.
104 Wed May 01 11:40:47 BST 2002  Olly Betts <olly@survex.com>
106         * Corrected configure warning message - it's XML::Parser not XML.
108 Wed May 01 11:34:49 BST 2002  Olly Betts <olly@survex.com>
110         * Tweaks to get queryparser building cleanly.
112 Tue Apr 30 17:44:48 BST 2002  Olly Betts <olly@survex.com>
114         * Updated query parser in extra from the updated one in omega,
115           and fettled it to cope better with multiple instantiations
116           (though it's a long way from being reentrant at the moment).
118 Tue Apr 30 11:03:44 BST 2002  Olly Betts <olly@survex.com>
120         * Updated todo.
122 Mon Apr 29 19:28:04 BST 2002  Olly Betts <olly@survex.com>
124         * More string.c_str() tidying.
126 Mon Apr 29 17:41:33 BST 2002  Olly Betts <olly@survex.com>
128         * Tidied up some uses of string.c_str().
130         * Cleaned up todo list.
132 Mon Apr 29 16:08:21 BST 2002  Olly Betts <olly@survex.com>
134         * Updated buildall to check various tools have the required version
135           numbers.
137 Mon Apr 29 15:58:57 BST 2002  Olly Betts <olly@survex.com>
139         * Tweaked use of HAVE_STREAMBUF
141 Fri Apr 26 14:41:09 BST 2002  Sam Liddicott <sam@ananova.com>
143         * Swig is now modified so it can build config.m4 and Makefile.in
144           for php modules so I removed these from bindings/php4
146 Tue Apr 23 18:21:03 BST 2002  Olly Betts <olly@survex.com>
148         * Tried compiling with GCC 3.1 prerelease snapshot and fixed various
149           STL-related warnings (mostly uses of istrstream).
151         * Fixed usage of AM_CFLAGS and AM_CXXFLAGS.
153 Tue Apr 23 15:48:36 BST 2002  Olly Betts <olly@survex.com>
155         * Updated buildall (and had to tweak it again, sigh).
157 Tue Apr 23 14:21:01 BST 2002  Sam Liddicott <sam@ananova.com>
159         * Added typemap conversion to generate OmSettings from php hash
160         * Changed order of classes in interface file
162 Tue Apr 23 14:20:05 BST 2002  Olly Betts <olly@survex.com>
164         * Revamped xapian-config and xapian.m4.  Important change - it's now
165           "xapian-config --cxxflags" and XAPIAN_CXXFLAGS, not --cflags and
166           _CFLAGS.
168 Mon Apr 22 17:58:56 BST 2002  Olly Betts <olly@survex.com>
170         * Removed leak checker.
172 Mon Apr 22 13:40:01 BST 2002  Olly Betts <olly@survex.com>
174         * Tiny code tweak.
176 Mon Apr 22 13:11:32 BST 2002  Olly Betts <olly@survex.com>
178         * Write debug log using unbuffered IO and O_APPEND which should prevent
179           the log file becoming garbled when used from applications which use
180           Xapian objects in multiple threads.
182 Mon Apr 22 12:19:18 BST 2002  Olly Betts <olly@survex.com>
184         * Updated copyright notices for last change.
186 Mon Apr 22 11:20:28 BST 2002  Olly Betts <olly@survex.com>
188         * Removed thread locks.
190 Fri Apr 19 17:38:23 BST 2002  Olly Betts <olly@survex.com>
192         * Removed completed tasks from todo list.
194 Fri Apr 19 17:26:23 BST 2002  Olly Betts <olly@survex.com>
196         * Removed placeholder code for OmQuery::OP_PERCENT_CUTOFF - it's
197           actually impossible to implement since we started rescaling
198           percentages so that 100% is attainable.
200 Fri Apr 19 16:42:42 BST 2002  Olly Betts <olly@survex.com>
202         * Tracked down and fixed the bug in the quartz backend which was making
203           test poslist2 fail.
205 Fri Apr 19 16:06:39 BST 2002  Olly Betts <olly@survex.com>
207         * Fixed some compilation problems which I somehow failed to notice
208           before the last check-in.
210 Fri Apr 19 15:04:13 BST 2002  Olly Betts <olly@survex.com>
212         * Added more RETURN(...) wrappers.
214 Fri Apr 19 14:46:19 BST 2002  Olly Betts <olly@survex.com>
216         * Added more DEBUGCALL tracing to quartz.
218 Fri Apr 19 13:29:57 BST 2002  Olly Betts <olly@survex.com>
220         * Minor tweaks to quartz_database.cc.
222 Fri Apr 19 13:07:50 BST 2002  Olly Betts <olly@survex.com>
224         * Moved test poslist1 into correct place and renamed it to poslist2
225           since there's already a poslist1...
227 Fri Apr 19 11:19:15 BST 2002  Olly Betts <olly@survex.com>
229         * poslist1 (when actually run!) reveals that Quartz fails to throw
230           errors in this case.  Disabled test for now, as I can't see why it
231           fails to throw...
233 Thu Apr 18 17:44:56 BST 2002  Olly Betts <olly@survex.com>
235         * Added poslist1 test as suggested by a TODO entry.
237 Thu Apr 18 14:17:24 BST 2002  Olly Betts <olly@survex.com>
239         * buildall: Removed search for GNU make (as of automake
240           1.5 it's not needed for automake and we aim to have portable
241           makefiles).  Made buildall more portable.
243 Thu Apr 18 14:16:18 BST 2002  Olly Betts <olly@survex.com>
245         * xapian-config.nodep is a generated file, so don't look for it in
246           srcdir.
248 Thu Apr 18 12:45:04 BST 2002  Olly Betts <olly@survex.com>
250         * Added bindings/php4/xapian/.cvsignore.
252 Thu Apr 18 12:36:53 BST 2002  Olly Betts <olly@survex.com>
254         * Minor tweaks to "Makefile" section in HACKING.
256 Thu Apr 18 12:26:21 BST 2002  Olly Betts <olly@survex.com>
258         * Yet more Makefile portability fixes; added section to HACKING
259           summarising my recent experiences.
261 Thu Apr 18 11:26:37 BST 2002  Olly Betts <olly@survex.com>
263         * Corrected the sense of the test in the previous check-in.
265 Thu Apr 18 11:08:04 BST 2002  Olly Betts <olly@survex.com>
267         * Use case instead of echo/sed to replace dirname.
269 Thu Apr 18 10:19:01 BST 2002  Olly Betts <olly@survex.com>
271         * Another Makefile portability tweak.
273 Wed Apr 17 16:07:02 BST 2002  Olly Betts <olly@survex.com>
275         * bindings/php4/Makefile.am: Fixed a couple of problems with
276           recent changes.
278 Wed Apr 17 15:32:44 BST 2002  Olly Betts <olly@survex.com>
280         * Makefile portability improvements.
282 Wed Apr 17 14:29:21 BST 2002  Olly Betts <olly@survex.com>
284         * Replaced uses of GNU make specific features with more portable
285           ones.
287 Wed Apr 17 12:43:07 BST 2002  Olly Betts <olly@survex.com>
289         * Update todo list.
291 Wed Apr 17 12:41:03 BST 2002  Olly Betts <olly@survex.com>
293         * Removed BrightStation's logo from the documentation.
295 Wed Apr 17 12:27:07 BST 2002  Olly Betts <olly@survex.com>
297         * xapian-config: Removed --uninst support - it's very hard to make it
298           work reliably and we're better off directing our efforts towards
299           improving the library than trying to get it working and keep it
300           working.
302 Wed Apr 17 10:39:02 BST 2002  Olly Betts <olly@survex.com>
304         * Fixed btreetest code to use new names "ord+" and "ord-" for
305           datafiles; disabled LFSinsertdelete1 test as it's exactly the
306           same as insertdelete1 (despite the comment above which suggests
307           it tests files >2G).
309 Mon Apr 15 17:14:22 BST 2002  Olly Betts <olly@survex.com>
311         * Fix a few OmDatabase::InternalInterface uses I'd somehow missed.
313 Mon Apr 15 16:08:20 BST 2002  Olly Betts <olly@survex.com>
315         * Mark internal classes as @internal for doxygen; removed all uses
316           of OmDatabase::InternalInterface as it's no longer needed.
318 Mon Apr 15 15:42:47 BST 2002  Olly Betts <olly@survex.com>
320         * Updated TODO list.
322 Mon Apr 15 2002  Sam Liddicott <sam@ananova.com>
324         * Hacked around bindings and bindings/php to remove some SWIG
325           workarounds.  SWIG cvs + some new non-comitted patches is need still.
327 Mon Apr 15 12:12:05 BST 2002  Olly Betts <olly@survex.com>
329         * stemtest: getopt fix.
331         * stemtest.pl.in: output now: less verbose by default and coloured.
333 Mon Apr 15 11:18:58 BST 2002  Olly Betts <olly@survex.com>
335         * Updated HACKING to say that automake 1.5 is required, and note that
336           automake 1.6.1 is better than 1.6.
338 Sat Apr 13 20:35:51 2002  James Aylett  <tartarus@users.sourceforge.net>
340         * Fixed stemtest getopt usage so it works again.
342 Sat Apr 13 20:20:52 BST 2002  James Aylett  <tartarus@users.sourceforge.net>
344         * Fixed omtcpsrv getopt usage so it works again.
346 Fri Apr 12 16:24:06 BST 2002  Olly Betts <olly@survex.com>
348         * Require automake 1.5.
350 Fri Apr 12 12:11:57 BST 2002  Olly Betts <olly@survex.com>
352         * omtcpsrv: Namespace fixes.
354 Fri Apr 12 12:25:42 BST 2002  Olly Betts <olly@survex.com>
356         * Fixed everything to use getopt rather than icky handparsing of
357           options.
359 Fri Apr 12 11:26:57 BST 2002  Olly Betts <olly@survex.com>
361         * Removed delve - it's going to be an example program.
363 Thu Apr 11 18:09:35 BST 2002  Olly Betts <olly@survex.com>
365         * Command line argument improvements - added FIXMEs where getopt
366           should be used.
368 Thu Apr 11 17:01:44 BST 2002  Richard Boulton <richard@tartarus.org>
370         * Fixes to work with automake 1.6.1.
371           I recommend using 1.6.1 rather than 1.6, since this fixes many
372           bugs in 1.6.  I havn't tested with 1.6 recently, but it is likely
373           to report problems.
375 Thu Apr 11 17:25:37 BST 2002  Olly Betts <olly@survex.com>
377         * Use GNU getopt.
379 Thu Apr 11 15:06:15 BST 2002  Olly Betts <olly@survex.com>
381         * Updated to recommend automake 1.5, noting problem with automake 1.4
382           and that we'll probably soon insist on 1.5, and later autoconf 2.50.
383           Also added notes on recommended and usable GCC versions.
385 Thu Apr 11 14:23:44 BST 2002  Olly Betts <olly@survex.com>
387         * Cleaning up build system.
389 Thu Apr 11 13:18:23 BST 2002  Olly Betts <olly@survex.com>
391         * Use AndPostList with boolean weights on the RHS instead of
392           FilterPostList - this appears to fix a bug, but I suspect it's
393           actually just moving it around.  Will investigate later.
395 Thu Apr 11 10:11:11 BST 2002  Olly Betts <olly@survex.com>
397         * Sorted out automake for php4 bindings.
399 Wed Apr 10 14:44:50 BST 2002  Olly Betts <olly@survex.com>
401         * Removed a superfluous DEBUGLINE.
403 Tue Apr  9 19:02:09 BST 2002  Richard Boulton <richard@tartarus.org>
405         * Fix some DEBUGLINE() macros in the matcher which had
406           the first parameter missing.
408 Tue Apr 09 17:50:44 BST 2002  Olly Betts <olly@survex.com>
410         * Removed stray bit of debug code.
412 Tue Apr 09 17:05:09 BST 2002  Olly Betts <olly@survex.com>
414         * More debug tracing added.
416 Tue Apr 09 10:48:42 BST 2002  Olly Betts <olly@survex.com>
418         * Disabled pthread support by default.
420 Sat Apr  6 20:45:21 2002  James Aylett  <tartarus@users.sourceforge.net>
422         * Reordered some output generation in configure so it won't
423           complain about directories not existing. (I don't understand
424           what the problem is, but this does fix it.)
426 Sat Apr 06 20:27:57 BST 2002  Olly Betts <olly@survex.com>
428         * Moved a few lingering traces of XML indexer stuff to indexer
429           subdirectory.
431 Sat Apr 06 17:37:02 BST 2002  Olly Betts <olly@survex.com>
433         * Removed -pedantic (read the gcc docs - it's doesn't turn on
434           useful warnings) and fixed all the remaining compilation
435           warnings in a non-debug build.
437 Fri Apr 05 10:21:28 BST 2002  Olly Betts <olly@survex.com>
439         * Removed --enable-profiling, --enable-purify, and --enable-insure.
440           They don't do anything which can't be achieved by passing
441           environment variables and switches to configure (now documented
442           in HACKING).  Adding a separate switch for every profiling and
443           code-quality tool out there isn't a sensible approach.
445 Thu Apr 04 20:37:12 BST 2002  Olly Betts <olly@survex.com>
447         * Updated .cvsignore files.
449 Thu Apr 04 20:25:41 BST 2002  Olly Betts <olly@survex.com>
451         * PTHREAD_CFLAGS was only being used for compiling C, not C++, which
452           was causing builds to fail unless threading was disabled.  This
453           problem has been there a long time, but until recently was hidden
454           by the check for fdatasync erroneously linking in -lrt which pulls
455           in pthreads anyway (at least this is the situation on Linux).
457 Thu Apr 04 20:06:00 BST 2002  Olly Betts <olly@survex.com>
459         * Removed XML indexer stuff from the main xapian library.  All the
460           removed bits are now in the indexer subdirectory, ready to be
461           reassembled into a supplementary library.
463 Thu Apr 04 15:43:43 BST 2002  Olly Betts <olly@survex.com>
465         * More debug tracing in the matcher.
467 Thu Apr 04 14:17:10 BST 2002  Olly Betts <olly@survex.com>
469         * Added debug tracing to most of the matcher.
471 Thu Mar 28 17:21:16 GMT 2002  Olly Betts <olly@survex.com>
473         * Give up trying to make internals private or protected in the
474           header files in include - the consequences are just too ugly, and
475           it's clear enough that they shouldn't be messed with except by the
476           library itself.
478 Wed Mar 27 10:24:26 GMT 2002  Olly Betts <olly@survex.com>
480         * Don't add "-lrt" to the link line unless it's actually needed for
481           fdatasync().
483 Wed Mar 27 10:11:09 GMT 2002  Olly Betts <olly@survex.com>
485         * Fixed two problems in the matcher which were respectively causing
486           problems with boolean filters, and with situations where OR or
487           ANDMAYBE decayed to AND.
489 Fri Jan 11 18:00:44 GMT 2002  James Aylett  <tartarus@users.sourceforge.net>
491         * Various build fixes for libxml2: define CHAR as needed,
492           --enable-validation (off by default), check for and discard
493           'blank' text/cdata nodes as we encounter them
495 Fri Jan 11 15:40:50 GMT 2002  Sam Liddicott <sam@ananova.com>
497         * Added Large File Support in the same way it was added to GNU tar.
498           (If it's good enough for them...)
499           This is by means of autoconf/ac_sys_largefile which I'm told is
500           built in to later versions of autoconf, and may possibly give us
501           trouble redefining it for those versions...  But we'll see about
502           that when/if it happens.
504           It seems to work fine here on some DB's which I had to stop growing
505           cos they got too big; I'm now past the 2G boundry with no problems
507           I guess we should still add overflow detection for 2^31 blocks.
508           Ideas?
510           I need some help on the btreetest.cc as I haven't yet worked out
511           what it does; so while I've added a test, it doesn't yet test
512           what it says it does.  I have changed btreetest.cc so you can
513           tell it where to dump the test DB
515 Fri Dec 21 17:48:09 GMT 2001  Olly Betts <olly@survex.com>
517         * Fixed halflife calculation in OmBiasFunctor.
519 Fri Dec 21 15:24:58 GMT 2001  Olly Betts <olly@survex.com>
521         * Added a temporary API to allow use of OmBiasFunctor.
523 Fri Dec 21 12:58:23 GMT 2001  Olly Betts <olly@survex.com>
525         * Disable conversion of OR to AND/ANDMAYBE in matcher tree - there's
526           a bug which sometimes manifests when there's a date filter and a
527           threshold cutoff in omega, and results in just one match when there
528           should be more.  I don't believe the bug is actually in OrPostList
529           but I've been tracking it for 4 days without success and turning off
530           this optimisation seems to stop it occuring so will have to do for
531           now.
533 Thu Dec 20 17:41:04 GMT 2001  Olly Betts <olly@survex.com>
535         * matcher/multimatch.cc: added more percent_cutoff assertions.
537 Thu Dec 20 13:41:41 GMT 2001  Olly Betts <olly@survex.com>
539         * Fixed incorrectly classified debug message; fixed compiler warning;
540           more comments about matches_* with a percent_cutoff.
542 Thu Dec 20 13:09:51 GMT 2001  Olly Betts <olly@survex.com>
544         * Better OmPostListIterator::get_description() (call get_description
545           on internal->postlist).
547 Thu Dec 20 12:42:55 GMT 2001  Olly Betts <olly@survex.com>
549         * Fixed assorted problems with omtcpsrv and co from recent change.
551 Thu Dec 20 10:41:57 GMT 2001  Richard Boulton <richard@tartarus.org>
553         * In ./configure --help, correctly report muscat36 backend as
554           defaulting to off.
556 Thu Dec 20 10:36:18 GMT 2001  Olly Betts <olly@survex.com>
558         * Don't delete internal in ~OmWritableDatabase - ~OmDatabase
559           does that for us (internal was zeroed after delete, so this
560           was probably harmless)
562         * Tweaked OmEnquire::get_description() and
563           OmPostListIterator::get_description() to do less - there's a
564           debug related bug somewhere and get_description() should be a
565           non-intrusive method...
567 Thu Dec 20 10:32:56 GMT 2001  Richard Boulton <richard@tartarus.org>
569         * Fix a couple of misquoted messages in configure.in.
571 Tue Dec 18 23:22:00 2001  James Aylett  <tartarus@users.sourceforge.net>
573         * Use xapian.org where appropriate in documentation references
575 Tue Dec 18 14:32:32 2001  James Aylett  <tartarus@users.sourceforge.net>
577         * Use xapian.org not sourceforge for schemas
579 Mon Dec 17 18:47:08 GMT 2001  Olly Betts <olly@survex.com>
581         * Cured problems with string('x') caused by overzealous search
582           and replace on my part.
584 Mon Dec 17 16:44:31 GMT 2001  Olly Betts <olly@survex.com>
586         * Improved matches_estimated when a percent_cutoff is in effect.
588 Sun Dec 16 18:09:28 GMT 2001  Olly Betts <olly@survex.com>
590         * You can now register a match decider functor by name with an
591           OmEnquire object.  It's not yet used for anything though.
593 Sun Dec 16 17:31:08 GMT 2001  Olly Betts <olly@survex.com>
595         * omtcpsrv: simplified arguments - just list database directories and
596           they'll be opened with the auto backend.  Removed --im as it didn't
597           work as advertised and nobody's noticed (as actually implemented it
598           was useless).
600 Sat Dec 15 14:10:32 GMT 2001  Olly Betts <olly@survex.com>
602         * Minor update to todo.xml.
604 Sat Dec 15 13:43:47 GMT 2001  Olly Betts <olly@survex.com>
606         * More fettling of OmBiasFunctor stuff - still not ready for use yet...
608 Tue Dec 11 13:06:08 GMT 2001  Olly Betts <olly@survex.com>
610         * Don't work out probabilistic weights for boolean bits of the query
611           (rhs of FILTER and AND_NOT) which fixes incorrect percentage weights
612           in filtered queries.
614 Tue Dec 11 12:26:44 GMT 2001  Olly Betts <olly@survex.com>
616         * Added test singlesubq1 to keep an eye on can_replace_by_single_subq.
618 Mon Dec 10 16:58:21 GMT 2001  Olly Betts <olly@survex.com>
620         * can_replace_by_single_subq shouldn't return true for OP_ELITE_SET
621           since you can't call set_elite_set_size() on an arbitrary subquery.
623 Thu Dec  6 15:02:05 GMT 2001  Richard Boulton <richard@tartarus.org>
625         * (omqueryinternal.cc, omtermlistiteratorinternal.h)
626           Fix some compiler warnings (when compiling with no debug) due
627           to methods which should return a value but simply contain
628           "Assert(false);".  Throw an exception in such methods instead
629           (after the Assert).
631 Mon Dec 03 11:20:42 GMT 2001  Olly Betts <olly@survex.com>
633         * New BiasPostList - not yet enabled as it needs more work.
635 Mon Dec 03 11:16:44 GMT 2001  Olly Betts <olly@survex.com>
637         * quartzdump: give syntax error if no tables specified.
639 Thu Nov 29 14:10:43 GMT 2001  Olly Betts <olly@survex.com>
641         * ExtraWeightPostlist wasn't handling prune correctly.
643 Thu Nov 22 13:46:59 GMT 2001  Olly Betts <olly@survex.com>
645         * Fixed segfault when percentage_cutoff emptied the proto-mset.
647 Thu Nov 22 12:27:49 GMT 2001  Olly Betts <olly@survex.com>
649         * Enhanced test emptyquery1.
651 Fri Nov 16 15:32:09 GMT 2001  Olly Betts <olly@survex.com>
653         * Added OmQuery::is_empty() method.
655 Thu Nov 15 15:36:07 GMT 2001  Olly Betts <olly@survex.com>
657         * Updated todo list.
659 Thu Nov 15 13:03:05 GMT 2001  Olly Betts <olly@survex.com>
661         * Fixed percent_cutoff problems.
663 Wed Nov 14 12:05:44 GMT 2001  Olly Betts <olly@survex.com>
665         * Empty OmQuery() now matches no documents (rather than causing an
666           exception).
668 Thu Nov 08 18:23:21 GMT 2001  Olly Betts <olly@survex.com>
670         * SIGSTKFLT isn't portable, so added #ifdef checks for it.
672 Wed Nov 07 15:34:29 GMT 2001  Olly Betts <olly@survex.com>
674         * Fixed 2 GCC 3.0 warnings in muscat36 backend.
676 Wed Nov 07 14:21:47 GMT 2001  Olly Betts <olly@survex.com>
678         * Made doc counts returned from percentage cutoff matches more
679           accurate.
681 Wed Nov 07 12:30:32 GMT 2001  Olly Betts <olly@survex.com>
683         * GCC 3.0 fixes.
685 Tue Nov 06 11:16:42 GMT 2001  Olly Betts <olly@survex.com>
687         * Matcher now calculates percentages like Omega does (or did as I'm
688           about to remove that code from Omega), rather than as a percentage
689           of the theoretical maximum possible weight.  The old way generally
690           gives disappointingly low values, and by pushing the percentage
691           code down into the matcher, it can be used to optimise the query.
693 Tue Nov 06 11:13:06 GMT 2001  Olly Betts <olly@survex.com>
695         * Quick fix for problems with null OmQuery-s.
697 Mon Nov 05 15:52:55 GMT 2001  Olly Betts <olly@survex.com>
699         * Added signal handling to testsuite - if a testcase generates a
700           signal it is caught and reported, then the testsuite continues
701           with further testcases.
703 Wed Oct 31 14:26:59 GMT 2001  Olly Betts <olly@survex.com>
705         * Removed needless complications in matcher when a weight threshold
706           has been set.
708 Tue Oct 30 16:50:46 GMT 2001  Olly Betts <olly@survex.com>
710         * Removed superfluous lines from configure.in; fixed warning from
711           automake 1.5.
713 Mon Oct 29 11:54:36 GMT 2001  Olly Betts <olly@survex.com>
715         * Changed matcher to form proto-mset using a min-heap (as described
716           in "Managing Gigabytes", 2nd ed., pp 211-213).  Compared to the
717           previous "nth-element" approach, this uses about half the memory,
718           allows the min-weight based matcher optimisations to work sooner,
719           and should be inherently faster (not yet benchmarked though).  The
720           code's slightly simpler too.
722 Mon Oct 29 11:53:38 GMT 2001  Olly Betts <olly@survex.com>
724         * Fixed remote backend to pass match_cutoff setting across.
726 Fri Oct 26 13:43:08 BST 2001  Olly Betts <olly@survex.com>
728         * Reserve size needed for mset vector.
730 Thu Oct 25 18:00:54 BST 2001  Olly Betts <olly@survex.com>
732         * Fixed a couple of stray references to the old sleepycat backend.
734 Tue Oct 23 18:19:32 BST 2001  Olly Betts <olly@survex.com>
736         * More cleaning up of MultiMatch.
738 Tue Oct 23 16:14:27 BST 2001  Olly Betts <olly@survex.com>
740         * Removed RemotePostList - it was an experimental idea which proved
741           to be too slow even on a fast network.  Cleaned up code where hooks
742           were bodged in for it.
744 Tue Oct 23 13:27:12 2001  James Aylett  <tartarus@users.sourceforge.net>
746         * Added documentation of the test system (albeit brief). Also
747           mentioned the autotools book in HACKING.
749 Tue Oct 23 12:07:59 BST 2001  Olly Betts <olly@survex.com>
751         * Updated .cvsignore files.
753 Tue Oct 23 11:29:47 BST 2001  Olly Betts <olly@survex.com>
755         * Code tidying while investigating sporadic fails from quartztest.
757 Mon Oct 22 17:42:30 BST 2001  Olly Betts <olly@survex.com>
759         * Minor fettles to quartztest: fixed warnings, whitespace tidying,
760           use mkdir(...) rather than system("mkdir ...")
762 Mon Oct 22 16:41:12 2001  James Aylett  <tartarus@users.sourceforge.net>
764         * Renamed project to Xapian.
766 Mon Oct 22 14:22:00 BST 2001  Olly Betts <olly@survex.com>
768         * Fixed non-ISO C++ code so Xapian will compile under GCC 3.0
769           (and also RedHat's "GCC 2.96").
771 Mon Oct 22 11:21:45 2001  James Aylett  <tartarus@users.sourceforge.net>
773         * Altered omseek-config and the AC m4 macro to make uninst
774           executables link to the right version of the library
776 Mon Oct 22 10:38:20 2001  James Aylett  <tartarus@users.sourceforge.net>
778         * Minor fixes to enable build (and test) under Solaris.
780 Fri Jun 22 13:24:59 2001  Sam Liddicott <sam@ananova.com>
782         * Added some explicit type casts in xmlindexer and quartz backend
783           to help gcc2.96 compile.
785 Thu Jun 21 11:05:31 2001  James Aylett  <tartarus@users.sourceforge.net>
787         * HACKING updated to (a) remove inaccurate statements about
788           copyright assignment, and (b) talk about developer write
789           access to CVS.
791 Mon Jun 11 13:24:43 2001  James Aylett  <tartarus@users.sourceforge.net>
793         * pthread support detected using an automake macro. Should
794           be more portable as a result.
796         * We need GNU make: buildall now tries to find it.
798 Mon Jun 11 12:07:00 2001  Hein Ragas <hragas@users.sourceforge.net>
800         * Modified QuartzWritableDatabase::do_add_document and
801           QuartzWritableDatabase::do_replace_document to leave the PositionList
802           empty for a term with no positions associated with it.
804 Mon May 29 12:17:00 2001  Hein Ragas <hragas@users.sourceforge.net>
806         * Modified QuartzPostList::add_entry to allow for adding of entries
807           in the middle of the postlist, not only at the end.
809 Mon May 28 12:00:00 2001  Hein Ragas <hragas@users.sourceforge.net>
811         * Fixed a bug in replace_document for Quartz, added a test to
812           ensure proper working of the fix.
814 Fri Apr 27 15:16:10 2001  James Aylett  <tartarus@users.sourceforge.net>
816         * Project name change to Omseek.
818 Wed Apr 11 09:06:37 BST 2001 Chris Emerson <chris.emerson@omsee.com>
820         * Implemented deleting of items from postlists, and added some
821           tests to check that it works properly.
823         * Fixed a potential memory leak in QuartzPostList if an exception
824           was thrown from the constructor.
826         * BackendManager now sets the quartz_logfile setting, to make
827           the logs available from the testsuite.
829         * Added mention of quartz_logfile to docs/omsettings
831         * Removed a bad assert from InMemoryDatabase::get_doclength()
833 Mon Apr  9 21:48:18 BST 2001 Chris Emerson <chris.emerson@omsee.com>
835         * Added #include <cmath> to testutils.cc
837 Fri Mar 30 17:37:24 BST 2001 Olly Betts
839         * Added extra/.cvsignore
841 Fri Mar 30 17:22:13 BST 2001 Olly Betts
843         * Disabled allocation checking of new[] and delete[] since some STL
844           implementations use them which leads to leaks being reported where
845           none exist.  This is addressable longer term...
847 Thu Mar 29 19:05:46 BST 2001  Richard Boulton <richard.boulton@omsee.com>
849         * Add "extra" directory to om source tree, to hold extra libraries
850           for use with omsee, which aren't part of the core.
852         * Put a query parser into "extra".  This is roughly the parser
853           from omega.  Needs some work: in particular, it needs to be
854           made reentrant.
856         * Added extra/ directory to top level Makefile.am and configure.in.
857           Added AC_PROG_YACC to Makefile.am
859         * Add includes of required header files to omquery.h.
861 Wed Mar 28 17:15:22 BST 2001  Richard Boulton <richard.boulton@omsee.com>
863         * Modifications to OmQuery.  Remove the isbool flag: there is
864           no longer any need for the concept of a "pure boolean query".
865           The same effect as was obtained by setting isbool can be
866           obtained by setting the match_weighting_scheme parameter to
867           bool.
869         * Also, undefined queries may no longer be used when
870           building up composite queries; the correct behaviour for this
871           is hard to define and implement and harder to document, and
872           removing this removes lots of special case code.
874         * Updated network query passing code.
876         * Remove special cases for bool weighting in localmatch and irweight.
878         * Updated omsettings docs.  Updated comments in omsetting.h.
880         * Updated todo.xml
882         * Incremented network protocol version.
884         * Added test_emptyop1, which checks what happens when an attempt is
885           made to use an empty list of subqueries to build up a query, and
886           then use the query.
888         * Remove test_boolsubq1: no such thing as a boolean query now, so
889           no need to test what happens when one is used.
891         * Updated testsuite to use "match_weighting_scheme" setting, rather
892           than calling OmQuery::set_bool().
894 Wed Mar 28 15:05:46 BST 2001 Chris Emerson <chris.emerson@omsee.com>
896         * Fixes to InMemoryDatabase:
897           do_open_post_list returns an EmptyPostList rather than an
898                 assertion error if the term doesn't exist
899           Fixed doccount(), which wasn't decrementing on delete_doc()
900           Remove terms from the database when they have no more postings.
901           Implement collection frequencies, and run collfreq tests for
902                 inmemory.
904 Wed Mar 28 14:24:38 BST 2001  Richard Boulton <richard.boulton@omsee.com>
906         * Set elite set size to max(10, sqrt(number of subqueries)) by
907           default.  This is rather more useful than the old default of 0.
909 Wed Mar 28 10:25:35 BST 2001 Chris Emerson <chris.emerson@omsee.com>
911         * QuartzDatabase now implements replace_document(), and
912           delete_document() now removes keys/attributes as well.
913           However, postlist entries are not yet correctly removed,
914           so this will cause problems.
916         * Added a test for deleting/replacing documents, which passes.
918 Tue Mar 27 17:31:58 BST 2001 Chris Emerson <chris.emerson@omsee.com>
920         * QuartzAttributes now has a method to delete a document's
921           attributes, and QuartzRecordManager has a replace_ method.
922           (But the code which uses these isn't in this commit).
924 Thu Mar 22 15:58:08 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
926         * Change definition of OmQuery::is_defined(), so that elite set
927           queries are undefined until a size is specified for the set.
929 Wed Mar 21 14:29:04 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
931         * Implemented delete_document and replace_document in inmemory
932           database.
934 Wed Mar 21 12:39:13 GMT 2001 Olly Betts
936         * Tweak to docs/quickstart.html.
938 Wed Mar 21 02:50:19 GMT 2001 Olly Betts
940         * Entirely removed sleepcat backend and all references to it.
942         * Disable muscat36 backend by default.
944 Tue Mar 20 18:47:12 GMT 2001 Olly Betts
946         * open_document() now takes a lazy flag - if not set we need to check
947           that the docid given actually exists.
949         * heavy_duty flag now a bool instead of an int.
951 Mon Mar 19 19:16:34 GMT 2001 Olly Betts
953         * Added test getdoc1 to check exceptions are thrown for out-of-range
954           docids (currently they aren't for quartz and muscat36 backends).
956 Mon Mar 19 17:17:31 GMT 2001 Olly Betts
958         * New simpler implementation of leak detection in testsuite.
959           Currently doesn't support malloc/calloc/realloc/free.
961 Mon Mar 19 16:46:16 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
963         * Further small modification to omsee-config: will now look in
964           .libs subdirectories, too.
966 Mon Mar 19 15:57:18 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
968         * Update omsee-config to work when a prefix is specified that
969           points directly to the directory with the library, rather than
970           expecting the library to be in a subdir "libs/".  (libs/ is
971           still used if it exists).
973         * Update omsee.m4, to use omsee-config even when using an
974           uninstalled version of omsee.  This in turn fixes problems using
975           uninstalled versions of omsee with STLport.
977 Fri Mar 16 18:14:52 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
979         * Updated licenses, to include year 2001.
981 Fri Mar 16 15:40:49 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
983         * Fix up small bug in quartztest causing it to fail for lack of an
984           expected exception.  Initialise values in quartz_positionlist.cc
985           when position list is not present.
987 Thu Mar 15 17:40:38 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
989         * Make timeout absolute, rather than cumulative, when fetching
990           multiple documents from database: if two nodes fail, the total
991           timeout should still be that specified, not twice it.
993         * Make the timeout set by SocketClient::set_query() get reset
994           correctly if an exception happens (which used to prevent
995           SocketClient::get_mset() ever getting called).
997 Thu Mar 15 17:06:51 GMT 2001 Olly Betts
999         * Oops, checked in too much - backing out the wrong stuff.
1001 Thu Mar 15 16:30:14 GMT 2001 Olly Betts
1003         * Include autoconf/definedir.m4 in tarball.
1005 Thu Mar 15 16:06:02 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
1007         * Updated network protocol number to reflect change adding
1008           OP_ELITE_SET.
1010 Thu Mar 15 15:31:35 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
1012         * QuartzPositionList should no longer complain if positional
1013           information isn't available for a particular term / document
1014           combination.
1016         * Updated todo.
1018 Thu Mar 15 13:55:53 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
1020         * Removed OmDocument::set_wdf() and OmDocument::add_term().
1021           Replaced with OmDocument::add_term_nopos(), which adds a term
1022           without specifying positional information, taking an optional
1023           wdfinc parameter.  Updated testsuite correspondingly.
1025 Thu Mar 15 13:14:10 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
1027         * Update TODO
1029 Wed Mar 14 17:51:40 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
1031         * Added new operator OP_ELITE_SET, which replaces match_max_or_terms
1032           option.  Can now specify exactly which terms to apply max_or_terms
1033           to.  max_or_terms is obselete: an error will be thrown if an
1034           attempt is made to use it.
1036 Wed Mar 14 15:56:20 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
1038         * Added test for and implementation of multiple XOR queries.
1040         * Fix small bugs with get_termfreq_est() for xor and andnot
1041           postlists.
1043 Mon Mar  5 16:08:01 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
1045         * Catch exceptions within the loop in SocketServer - exceptions
1046           should normally not kill the server.  This means that that a
1047           client still works after eg an OmDocNotFoundError, which was
1048           causing problems before.
1050 Fri Mar  2 18:15:47 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
1052         * Add a new query operator, OP_WEIGHT_CUTOFF, which returns only
1053           those documents from a query which have a weight greater than a
1054           specified cutoff value.  Also added OP_PERCENT_CUTOFF, but this
1055           is not yet implemented.
1057         * Added test of new cutoff function, cutoff2.
1059         * Updated network protocol to pass new queries.  Increased protocol
1060           version number (to 10).
1062         * Added set_cutoff() function to OmQuery, to set cutoff parameter.
1064         * Updated TODO.
1066         * Remove unused member "PostList * postlist" of LocalSubMatch.
1068 Thu Mar  1 12:04:53 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
1070         * Updates to HACKING.
1072 Wed Feb 28 18:42:47 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
1074         * Fixes to neaten up configure output, and to test for the Perl
1075           Text::Format module, thanks to James Aylett (patch slightly
1076           modified, so if it doesn't work it's probably my fault).
1078         * configure.in checks for presence of ftime() and gettimeofday()
1080         * Added OmTime, a class to deal with times to an accuracy of
1081           microseconds, or whatever the best accuracy the system supports
1082           is.
1084         * Use OmTime in network code instead of time(NULL).
1086 Wed Feb 28 14:23:11 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
1088         * Merge common code from OmSocketLineBuf::wait_for_data() and
1089           OmSocketLineBuf::do_readline() into
1090           OmSocketLineBuf::attempt_to_read(), and thus fix bug in
1091           wait_for_data() when 0 bytes returned from read().
1093 Tue Feb 27 18:40:33 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
1095         * Fixes to remote matcher code to cope better with failure of
1096           submatchers:
1097           - Timeout for all submatches now correctly start at same time.
1099         * Added more extensive testing of above code, involving adding
1100           new parameters to inmemory to cause abort()s at various stages of
1101           the match.
1103         * Remove obselete (and unused) method
1104           SocketServer::read_global_stats()
1106         * Errors are now generated from strings by using omerrortypes.h with
1107           suitable #defines before including it.  Updated todo accordingly.
1109         * Extend scope of try{} clause in socketserver, so that
1110           SocketServerFinished exception never escapes.
1112         * Default timeout in progserver increased to 30000.
1114         * Default timeout in tcpserver increased to 15000.
1116 Mon Feb 26 23:51:23 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
1118         * Split query generation into stages: make new query, add subqueries,
1119           then finalise.  Add private methods to OmQuery reflecting this, and
1120           convert constructors into template methods, allowing any iterator
1121           to be used for constructing queries.  Removed reference to
1122           <vector> from omquery.h
1124         * Add omqueryinternal.cc, containing implementation of query
1125           internals. (surprise!)
1127         * OmQuery::Internal now has some helper functions to determine the
1128           properties of each particular query.  These should be converted
1129           into a lookup table, and the remaining hard-coded properties (for
1130           AND_MAYBE, AND_NOT and FILTER) factored out.
1132         * window property removed from constructor.  This can now be set by a
1133           separate call, to "OmQuery::set_window()"
1135         * Added a deleter_vector class, to store subquery pointers in a more
1136           exception-safe way.
1138         * Represent undefined queries by the new OP_UNDEF operation, rather
1139           than a dedicated flag - cleaned up some logic.
1141         * Some modifications to XOR handling: should now behave like OR and
1142           AND - doesn't need to be binary.  (*untested*)
1144         * Fixes to serialisation code in socketcommon.cc to work with new
1145           OmQuery::Internals - this should really be done in
1146           OmQuery::Internal.
1148         * One tiny fix in tcpclient.cc - an &fdset was missed for exception
1149           conditions in a select() call.
1151         * Testsuite modified and expanded to check changes to OmQuery.
1153 Mon Feb 26 18:20:16 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
1155         * Fixed some compiler warnings reported by James Aylett.
1157 Mon Feb 26 14:27:09 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
1159         * Avoid waiting for a timeout when closing a SocketClient.
1161 Fri Feb 23 14:38:09 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
1163         * Updated todo.xml
1165 Thu Feb 22 18:14:41 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
1167         * OmRegexFilterNode has an output for non-matching strings as
1168           well as matching.  "out" output renamed to "matching".
1170 Thu Feb 22 16:56:33 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
1172         * Fixed a bug in the fetch() bits: requesting documents at the
1173           same time from different OmMSet instances could cause a
1174           document to disappear from the cache at the wrong moment.
1176 Thu Feb 22 15:39:49 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
1178         * Updated todo.
1180 Thu Feb 22 12:14:12 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
1182         * Some small changes in quartz to improve exception safety and
1183           error checking.
1185         * Remove unwanted OmExpandWeight::get_expand_k() method.
1187 Wed Feb 21 19:02:44 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
1189         * Overhauled the OmMSet::fetch() etc. methods.  Documents are
1190           requested when fetch() is called, but are only fetched (all
1191           at once) when the first get_document() is called.
1193 Wed Feb 21 19:30:20 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
1195         * Add an errorhandler member to MultiMatch, and remove it from
1196           various calls which used to pass it about.
1198         * Add an EmptyMatch object, which always returns an emptypostlist.
1200         * Implement errorhandlers at start of query for initially down
1201           nodes.  Improve test for errorhandlers to cover many more cases.
1203         * Add many debug messages to error handling code.
1205 Wed Feb 21 14:33:50 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
1207         * Use a deque<> directly instead of a queue, due to conflict
1208           with Solaris headers.
1210         * Split the collect_doc loop into a seperate function
1212         * SocketClient should be more robust against request_doc() being
1213           used without collect_doc().
1215 Tue Feb 20 18:01:13 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
1217         * SocketClient implements a queue/cache system which means that
1218           collect_doc() doesn't need to be called in the same order as
1219           request_doc().
1221 Mon Feb 19 15:43:49 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
1223         * Converted btree code to use new/delete instead of [mc]alloc/free.
1225 Mon Feb 19 13:52:23 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
1227         * Added new test collapsekey2 designed to work with muscat36
1228           databases, which have different key handling.  Added two new
1229           categories of tests to cope with this.
1231         * Adjusted BackendManager's key generation, and updated
1232           test_specialchars1() accordingly.
1234 Fri Feb 16 17:26:59 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
1236         * Implemented a test for keep-alives
1238         * Added "-tNNNN" option to omprogsrv to pass a timeout value in.
1240         * Added get_network_database() in apitest to set the timeout.
1242 Fri Feb 16 16:13:47 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
1244         * Incremented the remote protocol version, since a new message
1245           type has been added.
1247 Fri Feb 16 15:55:31 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
1249         * Added an OmDatabase keep_alive() method to gently prod any
1250           remote databases.  Applications can use it to avoid the remote
1251           servers timing out between queries.  Not properly tested yet...
1253 Thu Feb 15 19:05:24 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
1255         * The remote server now supports a seperate timeout used while
1256           idle, rather than actually servicing a request from the client.
1257           Options --idle-timeout and --active-timeout added to omtcpsrv,
1258           and --timeout sets both timeouts.
1260         * Added a documentation comment or two.
1262 Wed Feb 14 18:43:00 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
1264         * In Muscat3.6 backends, don't read the key from the keyfile unless
1265           keyno is 0.
1267 Tue Feb 13 13:57:34 GMT 2001 Andy MacFarlane <andym@omsee.com>
1269         * Added parameter expand_k in omsettings in order to change
1270           value of weighting in expand process.
1272 Tue Feb 13 13:25:45 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
1274         * Network timeouts now apply to write() operations as well
1275           as read().
1277         * SocketLineBuf::do_writeline() now correctly deals with EAGAIN.
1279         * SocketServer has new method writeline() which handles write
1280           access to the OmLineBuf.
1282 Mon Feb 12 12:35:41 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
1284         * Make OmPositionListIterators and any other appropriate iterators
1285           (postlist, termlist) have a default constructor allowing them to
1286           be declared uninitialised.
1288 Mon Feb 12 10:51:41 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
1290         * Updated todo.xml
1292 Thu Feb  8 17:59:44 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
1294         * Moved omnodepad.h from include/om to indexer/indexgraph/
1296         * Updated todo.xml
1298 Thu Feb  8 17:35:45 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
1300         * Updated todo.xml
1302 Thu Feb  8 17:00:02 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
1304         * Quartz now has a metafile which for now has a magic string
1305           and a version number.
1307         * sys_open_to_read() and delete_file() exported from btree.cc.
1308           The latter was renamed to sys_unlink_if_exists().
1310         * Include btree_types.h from btree_util.h
1312 Wed Feb  7 17:33:00 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
1314         * Fix to InMemory databases: terms can be added even if they
1315           don't have any positions.  (Was causing adddoc2 to fail).
1317 Tue Feb  6 18:06:13 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
1319         * Rename OmMSet::fetch_items() to fetch().  Add an overloaded
1320           fetch() method taking a single iterator, to fetch a single item.
1322         * Fix some documentation comments.
1324 Mon Feb  5 19:16:45 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
1326         * Update TODO
1328 Mon Feb  5 19:12:39 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
1330         * Test behaviour of OmDocument methods add_term(), set_wdf(),
1331           remove_posting() and remove_term().  Fails for inmemory databases.
1333 Mon Feb  5 17:46:16 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
1335         * Modified the behaviour of timeouts during a match.  Internally,
1336           an absolute timeout time is set from start_match().  Now remote
1337           nodes should timeout at NOW + remote_timeout, rather than
1338           waiting remote_timeout milliseconds for each read().  Needs
1339           some more testing.
1341 Mon Feb  5 17:21:52 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
1343         * Fix a missing #include in socketcommon.h
1345 Mon Feb  5 17:15:46 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
1347         * Sort generated todo lists.
1349 Fri Feb  2 17:44:54 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
1351         * Add an OmDocument::add_term() method.
1353         * Remove an unwanted check that wdf's are greater than 0: wdf of 0
1354           _is_ allowed.
1356 Fri Feb  2 15:04:08 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
1358         * Hopefully, a fix for segfaults/assertions when network errors
1359           happen halfway through a match, when handled by OmErrorHandler
1360           objects: give the place-holder EmptyTermLists weighting objects.
1362 Thu Feb  1 19:03:10 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
1364         * Fixes to OmDocument interface: add parameters specifying the
1365           changes to be made to the wdf to add_posting and remove_posting,
1366           properly implement remove_posting and remove_term, including
1367           throwing of exceptions, and add a set_wdf() method to set the wdf
1368           to an absolute value.  Corresponding modifications to
1369           OmDocumentTerm.
1371         * Fix commented out errorhandler code in multimatch.cc, so it still
1372           compiles.
1374         * Add a check to avoid division by zero in bm25weight.cc
1376 Thu Feb  1 15:59:30 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
1378         * Add a missed #include to omqueryinternal.h
1380 Thu Feb  1 14:44:04 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
1382         * Add some error handler code, with a "#if 0"ed out comment,
1383           to multimatch.cc
1385 Wed Jan 31 15:45:16 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
1387         * Remote servers should close down more gracefully when the
1388           client closes down in the middle of a request.
1390 Tue Jan 30 16:52:05 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
1392         * Removed unneeded #includes of STL headers from API headers.
1394         * All #includes of files which are not installed use "" rather than
1395           <>.  This means all #includes of OM files except for those which
1396           are in example programs (and hence might be compiled against the
1397           installed library).  "" search paths are a superset of <> search
1398           paths: hence this should ensure that the om headers work however
1399           they are used.
1401         * Moved supplied OmExpandDecider subclasses into
1402           include/om/omexpanddecider.h
1404         * Remove om_termname_list from API: not used except by code which
1405           displays it, and in testsuite.
1407 Tue Jan 30 12:45:22 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
1409         * Removed #include <vector> from omstem.h
1411 Tue Jan 30 11:09:29 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
1413         * OmStem::get_available_languages() now returns a string
1414           rather than a vector.  Languages are space-separated.
1415           Updated apitest.
1417         * Added definition of RTLD_DEFAULT to internaltest.cc
1419 Mon Jan 29 16:11:15 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
1421         * OmIndexerMessage's copy-on-write slightly more careful.
1423         * Improved debugging in OmIndexerNode
1425         * Fixed a bug in the termlistadd node - it tried to append to a
1426           non-vector.
1428 Fri Jan 26 16:21:09 GMT 2001 Olly Betts
1430         * indexerxml.cc: Removed some dead code.
1432 Fri Jan 26 16:11:13 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
1434         * Added omindexerdescinternal.h to the Makefile
1436 Fri Jan 26 15:50:32 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
1438         * Move OmQuery definition into a separate header file.
1440 Fri Jan 26 15:46:42 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
1442         * Move OmQuery::OP_LEAF out of public visibility, by taking it out
1443           of the enum, making it a static const member of OmQuery::Internal,
1444           and introducing an OmQuery::Internal::op_t to store query
1445           operators in internally.  We lose the ability for the compiler to
1446           warn us if we forget to check for a particular operator in a
1447           switch statement, but this can't really be avoided.
1449 Fri Jan 26 13:49:33 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
1451         * Added get_output_{node,pad} to OmIndexerDesc
1453         * Implemented and testes OmNodeInstanceIterator
1455         * Implemented OmIndexerBuilder::build_from_desc, which somehow
1456           hadn't been.  indextest now uses it.
1458 Thu Jan 25 18:47:08 GMT 2001 Olly Betts
1460         * Fixed various .cvsignore files (omus -> omsee, and
1461           bindings/java/.cvsignore which seemed to have been copied from
1462           the top level one at some point).
1464         * Fixed bug in OrPostList when used in a pure boolean context
1465           (uninitialised variables).
1467         * tests/internaltest.cc: removed unused reference to getopt.h.
1469         * tests/stemtest.pl.in: removed lots of bogus semicolons after
1470           closing braces.
1472 Thu Jan 25 17:53:08 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
1474         * Turn debugging messages (OM_DEBUG_TYPES) off by default.
1476         * Add todo items for release to pages generated for website.
1478 Thu Jan 25 15:11:14 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
1480         * Add a couple of documentation comments: we need many more of
1481           these.  No method, and certainly no class, in the API should be
1482           without an explanatory comment (not least so that they're
1483           accessible from the doxygen browser).
1485 Thu Jan 25 14:51:55 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
1487         * Hide the internals of OmIndexerDesc, and adding member functions
1488           to do all the necessary operations (not all yet implemented).
1490         * Indexer internals mostly deal with OmIndexerDesc::Internal
1492         * Removed '#include <vector>' from omindexerdesc.h
1494 Thu Jan 25 13:45:49 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
1496         * When setting up an RSet, allow documents to be referenced by
1497           OmMSetIterator, for convenience.
1499         * Allow OmMSetIterators and OmESetIterators to be created without
1500           initialising, also for convenience.
1502         * Include CFLAGS for STLPORT in the flags produced by omsee-config.
1504         * Change several more missed "omus"s to omsee.
1506 Thu Jan 25 13:50:06 GMT 2001 Chris Emerson <chris.emerson@omsee.com>
1508         * Changed a mention of libomus in netprogs/Makefile.am to libomsee
1510 Thu Jan 25 12:33:46 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
1512         * Build only the API docs when making dist / install.  Full source
1513           docs only get built if explicitly asked for.
1515 Thu Jan 25 11:36:39 GMT 2001  Richard Boulton <richard.boulton@omsee.com>
1517         * Project name changed to Omsee.
1519           Ramifications from a technical viewpoint are:
1521           - library name changed from libomus.* to libomsee.*
1522           - libomus-config renamed to omsee-config
1523           - Autoconf macro file libomus.m4 renamed to omsee.m4,
1524             macro name OM_PATH_LIBOMUS changed to OM_PATH_OMSEE
1525             and macro now defines OMSEE_CFLAGS and OMSEE_LIBS rather
1526             than LIBOMUS_CFLAGS and LIBOMUS_LIBS.  configure arguments
1527             changed name, also.
1529 Wed Jan 24 15:57:10 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
1531         * Improve test of OmMSetIterators equality comparisions.
1533         * Update TODO
1535 Wed Jan 24 15:11:11 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
1537         * Renamed OmNodeConnection to OmNodePad.  The old name was
1538           confusing.
1540         * Added OmPadIterator, and OmNodeDescriptor::{in,out}puts_{begin,end}.
1541           Also implemented OmNodeDescriptor::get_type()
1543         * Added output function for OmPadIterator
1545         * Added test for OmPadIterators
1547 Tue Jan 23 19:01:29 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
1549         * Remove OmBatchEnquire from system: it may return at a later date,
1550           but for now it is simply out of date and a maintainance liability,
1551           and gives no significant advantage.  Code now exists in
1552           ombatchenquire.h in CVS, but is not part of build process.
1554         * Make OmEnquire and OmMSet have reference counted internals: this
1555           introduces a further layer of indirection, but tidies up things
1556           greatly.
1558         * Remove get_docs() and get_doc() methods from OmEnquire.
1559           get_doc(docid) is catered for by OmDatabase::get_document(docid).
1560           Added OmMSetIterator::get_document() to replace get_doc on a
1561           MSetIterator.  Added OmMSet::fetch_items() to replace get_docs():
1562           it prefetches the documents (or just those specified by some
1563           MSetIterators into a cache in the Mset).
1565         * OmMSet internals now have a reference to the creating OmEnquire
1566           object: this is set up after the mset returns from the matcher.
1567           If the reference is null, the Mset was created standalone, and
1568           get_doc methods will fail.
1570         * OmMSetIterators now have a reference to the MSet, instead of a
1571           percent_factor stored.  This allows the percent_factor to be
1572           lazily calculated, and also allows get_doc to work.
1574         * Add get_rank() method to OmMSetIterators.
1576         * Improve introspection on OmDocument, and fix a bug with assignment
1577           of OmDocument (wasn't assigning most of the internals).
1579         * Add a missing std:: on a string in omstopwordnode.
1581         * Fixed several documentation comments.
1583         * Add some more debugging to quartz.
1585         * Update TODO.
1587         * Add test_fetchdocs1 to apitest.  Disable test_batchquery1.
1589         * Remove sign comparison error in VectorTermList.
1591 Tue Jan 23 16:24:04 GMT 2001 Olly Betts
1593         * No longer compile with -ansi under gcc - it causes problems by
1594           preventing Linux system headers defining various functions we need.
1596         * testsuite/testsuite.cc: when reporting exceptions, display
1597           exception's errno value if set.
1599 Tue Jan 23 15:13:58 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
1601         * Killed OmIndexerBuilder::NodeType.  Now use OmNodeDescriptor
1602           in its place, getting rid of another vector usage in the API.
1604         * OmNodeDescriptor adjusted for its new role: internals are
1605           refcounted, and some query as well as setting functions.
1607         * Cast the fourth argument to getsockopt() to void *.  On Solaris
1608           that argument is char *.
1610 Tue Jan 23 11:24:13 GMT 2001 Olly Betts
1612         * Tiny tweak to da_document.cc.
1614 Fri Jan 19 18:36:15 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
1616         * Removed get/set vector methods from OmSettings
1618         * Remote/prog arguments now passed in a string separated be spaces,
1619           not a vector.
1621         * split_words() moved from netutils.h to utils.{h,cc}
1623         * Some unnecessary #include <vector> lines removed from API headers
1625         * Removed get_config_vector() from OmIndexerNode
1627         * OmConstantNode no longer handles vector values, and
1628           OmStopWordNode and OmSelectItemsNode use space-separated
1629           values instead.
1631 Thu Jan 18 17:31:55 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
1633         * Removed mentions of std::vector from OmIndexerMessage, and
1634           updated the relevant bits.
1636         * Fixed a bug with the copy-on-write parts of OmIndexerMessage.
1638 Thu Jan 18 17:09:43 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
1640         * Fix to btreetest.cc: shouldn't fail if test data files are not
1641           available.
1643         * Fix to multimatch.cc: clamp hits values to number of documents
1644           matched after collapsing and match functors, rather than before.
1646 Thu Jan 18 14:13:21 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
1648         * Fix error messages thrown by quartz when a database doesn't exist /
1649           already exists and isn't to be overwritten.
1651         * Make quartz clean up an old database directory, if
1652           database_allow_overwrite is specified, so that old base files don't
1653           confuse things.
1655 Wed Jan 17 18:18:50 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
1657         * Added all used toplevel directories to DIST_SUBDIRS
1659 Wed Jan 17 18:13:50 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
1661         * Martin committed changes to btree.cc which should fix some random
1662           problems experienced with quartz.
1664         * Added in a test framework for the btree code, which exhibited the
1665           bug fixed by martin until updating to his fixed version.
1667 Wed Jan 17 16:10:02 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
1669         * Moved the socklen_t definition so that tcpclient.cc could see
1670           it.
1672 Tue Jan 16 20:35:18 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
1674         * Fix creation of quartz databases in backendmanager: all tests should
1675           now pass.
1677 Tue Jan 16 20:28:46 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
1679         * Fix quartztest so that the tables / databases get created.
1680           Implement new test "create1" to check that creation of databases
1681           works as specified.
1683         * Fix test for whether we are allowed to overwrite a database.
1685         * Implement much better logging from quartz when making new databases.
1687         * Clean up an error message from btree.cc
1689 Tue Jan 16 19:24:49 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
1691         * Don't display messages about allocation failures in the first
1692           iteration: if the failures go away when repeating, we're not
1693           interested.
1695 Tue Jan 16 18:28:03 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
1697         * Add two new OmSettings, for use when opening databases:
1698           database_create and database_allow_overwrite.  The idea is that
1699           databases will only be created if database_create is specified,
1700           and that when they are being created an exception will be thrown
1701           if there's an existing database unless database_allow_overwrite
1702           is specified.
1704         * Implemented database_create and database_allow_overwrite for
1705           Quartz, which is the only relevant type for now.  Note that this
1706           breaks the testsuite, quite badly.
1708         * Add OmDatabaseCreateError, which is thrown when creating a database
1709           fails.
1711 Tue Jan 16 17:08:47 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
1713         * Fixed a typo in -ldl detection
1715 Tue Jan 16 15:15:30 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
1717         * Remove OmNeedRecoveryError, and quartz's quartz_perform_recovery
1718           parameter.  Quartz now always performs recovery if needed: there
1719           is no need for this added complication.
1721         * Update TODO
1723 Tue Jan 16 14:25:03 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
1725         * Changed references to SIGCLD to SIGCHLD as it's more portable.
1727 Tue Jan 16 14:02:34 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
1729         * Added check for whether -ldl is necessary.
1731 Tue Jan 16 11:51:25 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
1733         * Added compatibility bits for early libxml1 versions.
1735 Mon Jan 15 18:18:01 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
1737         * Removed use of hstrerror, which isn't portable.
1739 Mon Jan 15 18:02:42 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
1741         * Fix assertion which was the wrong way round in multimatch.cc
1743 Mon Jan 15 17:46:13 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
1745         * Fix initialisation of Btree_base::sequential when creating database.
1747 Mon Jan 15 15:43:46 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
1749         * Renamed some uses of XML node structure for libxml2 compatibility.
1751 Mon Jan 15 15:35:50 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
1753         * Add some fixes to sequential access to btrees from Martin.
1755 Mon Jan 15 12:23:02 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
1757         * Set matches_* to the known value of the number of hits if we have
1758           been unable to return as many hits as were requested, and therefore
1759           know the exact number.
1761         * Update test_matches1() to check this works correctly.  Passes.
1763 Fri Jan 12 17:45:27 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
1765         * Implement get_doclength() for QuartzDatabase
1767         * Remove unused parameter from QuartzRecordManager::add_record()
1769 Fri Jan 12 17:14:16 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
1771         * Fixed MultiAllTermsList, which had stopped working.
1773 Fri Jan 12 15:32:34 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
1775         * Add test to apitest (postlist6) that doclengths got from postlists
1776           are the same as those from databases.  Fails for Quartz for the
1777           moment.
1779         * Add test to quartztest (disktable3) to try and bring out a bug in
1780           adding to tables.
1782 Fri Jan 12 15:20:09 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
1784         * Fix STLport macro so that it will accept an STLport installation
1785           with foo/include/stlport and foo/lib instead of foo/stlport and
1786           foo/lib.
1788 Fri Jan 12 14:04:37 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
1790         * Fixed buglet in configure.in which produced a bogus warning
1791           about regex libraries.
1793         * Added an AC_MSG_RESULT corresponding to an AC_MSG_CHECKING
1794           for the libxml flags
1796 Fri Jan 12 13:18:07 GMT 2001 Chris Emerson <chris.emerson@open.muscat.com>
1798         * Fixed skip_to() in QuartzAllTermsList
1800 Fri Jan 12 12:52:57 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
1802         * Turn debugging off in btree.cc: accidentally committed a version
1803           with lots of verbose debugging on.
1805 Fri Jan 12 11:16:17 GMT 2001 Olly Betts
1807         * glibc 2.2 needs `#define _GNU_SOURCE' to give us RTLD_NEXT.
1809         * C++ comments changed to C comments in malloccheck.c.
1811 Thu Jan 11 16:42:07 GMT 2001 Olly Betts
1813         * Removed unnecessary `#include "alltermslist.h"' from
1814           d[ab]_database.h.
1816 Wed Jan 10 14:28:10 GMT 2001 Olly Betts
1818         * Updated various .cvsignore files.
1820 Tue Jan 09 19:03:12 GMT 2001 Olly Betts
1822         * Tidied up dead code from OmAllTermIterator.
1824 Tue Jan 09 18:41:21 GMT 2001 Olly Betts
1826         * OmAllTermsIterator merged into OmTermIterator.
1828         * When iterating over all terms, skip_to() doesn't set at_end()
1829           when it skips off the end.  Fixed except for quartz and added
1830           regression test (allterms3).
1832 Tue Jan  9 18:14:04 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
1834         * Add some extra debugging code into btree code in quartz.
1836 Tue Jan  9 17:22:12 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
1838         * Make skip_to() work (ie, do nothing) on OmTermIterators, when the
1839           term iterator is at_end() already.
1841 Tue Jan  9 13:32:08 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
1843         * Updates to make the quartzdump utility more useful.
1845         * Added new test to test cursor behaviour in quartz.
1847 Tue Jan  9 11:31:26 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
1849         * Remove an item from TODO
1851 Tue Jan  9 10:27:35 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
1853         * Add a missing \ in tests/Makefile.am
1855 Mon Jan  8 19:03:42 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
1857         * Increment format number in quartz/btree_base.cc.  This isn't
1858           actually due to a change in the btree format, but to ensure that
1859           some databases which were causing problems are rebuilt.
1861           We need to add quartz format numbers, separate from the btree format
1862           numbers, to check this kind of thing.
1864 Mon Jan  8 15:13:04 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
1866         * Add some debugging, and fix a test data file.
1868 Mon Jan  8 13:49:50 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
1870         * Fix failure to initialise OmMSet::Internal::have_percent_factor.
1872 Thu Jan  4 17:21:24 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
1874         * Add new test for a postlist with many documents, designed to fail
1875           and exhibit the bug andy has found.  So far doesn't fail.
1877 Wed Jan  3 19:30:30 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
1879         * Add get_percent method to OmMSetIterator.  Untested.
1881         * Add om_percent type to om_types.
1883         * Add test of sort order of terms in get_matching_terms.
1885 Tue Jan  2 15:05:53 GMT 2001  Richard Boulton <richard.boulton@open.muscat.com>
1887         * Move documentation of parameters for OmSettings out of omsettings.h
1888           and into docs/.  Not in distribution at the moment: it is awaiting
1889           placement into a permanent home (I think the user manual is the
1890           correct place).
1892         * Add a bm25weight_min_normlen parameter: this specifies a cutoff
1893           on the minimum value that can be used for a normalised document
1894           length: smaller values will be forced up to this cutoff.  This
1895           prevents very small documents getting a huge bonus weight.
1897 Wed Dec 20 16:54:41 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
1899         * Fix warning in QuartzTable
1901 Wed Dec 20 15:13:05 GMT 2000 Olly Betts
1903         * OmTermListIterator merged into OmTermIterator.
1905         * Added OmRSet::contains() - checks if an RSet contains a given
1906           docid.
1908         * Methods returning `const om_termname' now just return
1909           `om_termname'.
1911 Tue Dec 19 16:55:02 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
1913         * Implemented AllTermsIterator for DA and Multi databases.
1914           Added a test which actually uses a multidatabase, but
1915           disabled it as it currently fails for both Quartz and DA.
1917 Tue Dec 19 12:14:05 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
1919         * Adjusted TODO
1921 Tue Dec 19 20:06:43 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
1923         * Escaping for termnames in remote database communication modified
1924           to use only characters in range 33 to 126.  Should now work on all
1925           architectures.
1927         * Increased OM_SOCKET_PROTOCOL_VERSION to 8.
1929 Mon Dec 18 17:23:48 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
1931         * Added "match_cutoff" option to get_mset OmSettings.
1933         * Added test for "match_cutoff" to apitest.
1935         * Updated todo.xml
1937 Mon Dec 18 17:19:40 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
1939         * Implemented opening positionlists from inmemory databases.  Added
1940           a testcase as well, which is run for quartz and inmemory.
1942 Mon Dec 18 15:48:16 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
1944         * Implemented AllTermsIterator for quartz.  Interaction with
1945           QuartzPostList needs to be cleaned up.
1947         * Added new functions [un]pack_string_preserving_sort(), which
1948           pack a string in a way which preserves sort order.  Added a
1949           testcase to quartztest.
1951         * Now use [un]pack_string_preserving_order() on postlist keys, so
1952           that we can get at terms in sorted order.  (And get_tname_from_key()
1953           added to separate out the term-unpacking as well as the packing)
1955         * Enabled test_allterms1 in apitest, but put it in a group of
1956           tests only run for inmemory and quartz.  This should be extended
1957           to other backends.
1959 Mon Dec 18 14:33:42 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
1961         * Implemented tests of msetiterator and esetiterator copying and
1962           assignment.
1964         * Fix segfault when assigning to [me]setiterator to end.
1966         * Updated todo.xml
1968 Mon Dec 18 13:52:53 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
1970         * Move creation of first key in a quartz postlist into a named
1971           function (was scattered through the code).
1973 Mon Dec 18 11:19:53 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
1975         * Update todo.xml
1977 Mon Dec 18 10:47:42 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
1979         * Remove const from reverse_iterators in api_db.cc, so get around
1980           brokenness of egcs 1.1.2
1982 Mon Dec 18 09:41:54 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
1984         * Added apitest_space.txt to the Makefile.am
1986 Sun Dec 17 16:15:03 GMT 2000 Olly Betts
1988         * Replaced all API uses of om_termname_list with OmTermIterator.
1990 Fri Dec 15 18:54:10 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
1992         * Implemented OmAllTermsIterator interface in API.  It works for
1993           inmemory - the rest haven't been implemented yet.  The test
1994           is commented out.
1996 Fri Dec 15 15:47:53 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
1998         * Updated TODO.
2000         * database returns positionlists as AutoPtrs; this neatens some of
2001           the code from the previous changelog entry, and makes explicit the
2002           ownership of the pointer.  postlists and termlists should be
2003           AutoPtrs, likewise.
2005 Fri Dec 15 14:59:41 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2007         * Make OmPositionListIterators retrieved from OmPostListIterators
2008           valid indefinitely (were only valid until OmPostListIterator was
2009           moved).  This makes them consistent with OmPositionListIterators
2010           retrieved from OmDatabases.
2012         * Renamed PostList::get_position_list() to read_position_list.
2013           Added PostList::open_position_list() which opens a new positionlist
2014           and returns it as an AutoPtr.
2016 Fri Dec 15 13:09:51 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2018         * Make TODO.release file, containing TODO items for next release.
2020 Fri Dec 15 12:06:42 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2022         * QuartzDatabases now autoflush after 1000 changes.
2024 Fri Dec 15 11:40:37 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2026         * Fix segfault in quartz_table
2028 Fri Dec 15 11:23:15 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
2030         * Removed begin/end_session() from quartztest
2032 Thu Dec 14 19:19:40 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2034         * Done todo item: For writable databases, make the behaviour currently
2035           obtained by calling begin_session() and later end_session() the
2036           default behaviour.  If users want the changes to be applied
2037           immediately following a change, they should call flush().
2039 Thu Dec 14 17:48:27 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2041         * Fix problem with recalc_maxweight() not being called before a
2042           get_maxweight() in multimatch.cc if a node prunes at the top level,
2043           since recalculate_w_max wasn't being checked at this point.
2044           Introduced helper function getorrecalc_maxweight() to tidy this up.
2046         * Tidy up Asserts in common/netutils.h.
2048 Thu Dec 14 17:11:17 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
2050         * Adjusted todo.xml
2052 Thu Dec 14 16:21:27 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
2054         * Removed handling of OmDatabaseModifiedError in the API - it's
2055           up to the users to know what to do.  Disabled quartzoverwrite2
2056           as it's now inappropriate.
2058         * Added OmDatabase::reopen() to help them do so.
2060         * Adjusted todo.xml
2062 Thu Dec 14 14:38:39 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2064         * Added another quoting regression test.
2066 Thu Dec 14 14:36:53 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
2068         * Fixed the quoting _again_, since it broke with backslashes.
2070 Thu Dec 14 12:49:58 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2072         * Fix problems with recalculation of maxweight in postlists, causing
2073           AssertParanoid at multimatch.cc:393.  When a prune was happening,
2074           recalc_maxweight flag was not always being set, because some
2075           {next,skip_to}_handling_prune() methods weren't being passed the
2076           matcher, and a default argument of 0 was being used.  I've now
2077           removed the default argument and pass the matcher always.
2079           Sometimes the recalc could perhaps be avoided, but this is
2080           certainly safer for now.
2082 Thu Dec 14 12:30:02 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
2084         * Sleepcat is now disabled by default.
2086         * Fixed a problem with tabs not being quoted in the remote case.  All
2087           control characters are now quoted.  Incremented the protocol ver
2088           number.
2090 Thu Dec 14 11:54:17 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2092         * Added regression test to check that all characters can be
2093           are safe to exist in document keys.
2095         * Fixed OmDebug so that it can display messages containing zero bytes
2096           (use fwrite instead for fprintf)
2098 Wed Dec 13 18:43:40 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2100         * Add regression tests to apitest to check that OmMSet and OmESet
2101           begin() and end() iterators compare equal if the mset is empty.
2102           Fix matchfunctor used in test_matchfunctor1 so that it works for
2103           Muscat3.6 databases.
2105 Wed Dec 13 18:35:05 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
2107         * Fixed bugs in OmMSet and OmESet iterators: begin() when the set
2108           was empty produced an invalid iterator, and the assignment
2109           operators would have failed when end iterators were involved.
2111         * Added a check in test_matchfunctor1() that the mset returned is
2112           not empty.
2114 Wed Dec 13 18:18:09 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2116         * Turn off tests involving terms with newlines or zero bytes in terms
2117           with Muscat3.6 backends; these can't be expected to work.
2119 Wed Dec 13 18:06:29 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
2121         * Uncommented the code in pctcutoff1 - test now passes.
2123 Wed Dec 13 17:53:19 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2125         * Fix: m36_key_file parameter wasn't being set with DA flimsy
2126           databases (thanks to Mark Hagger).
2128         * indextest.cc changed to use "\n" instead of endl - compiles
2129           with STLport again.
2131 Wed Dec 13 17:27:17 GMT 2000 Olly Betts
2133         * OmMSet is now an STL compatible container.
2135         * Om*Iterator::difference_type was unsigned - now signed.
2137         * net/readquery.ll: fixed compiler warning.
2139         * Remote backend was defaulting to collapse on key 0.
2141 Wed Dec 13 16:48:49 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
2143         * Add handling of DatabaseModified to OmEnquire::get_mset()
2145 Wed Dec 13 16:28:47 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2147         * Escape zero bytes in the network protocol, since these were
2148           breaking things when being passed across as part of keys.
2150         * Add test of having zero bytes in the collapse keys.
2152         * In testsuite, only display the context of errors if there is one
2153           present.
2155 Wed Dec 13 14:44:46 GMT 2000 Olly Betts
2157         * Implemented OmMSet::operator[]().
2159 Wed Dec 13 14:30:57 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
2161         * Added support for handling overwritten database conditions.
2162           Currently works for OmDocument::get_{data,key}().
2164 Wed Dec 13 13:20:45 GMT 2000 Olly Betts
2166         * Elaborated API hitlist in todo.xml.
2168 Wed Dec 13 12:28:18 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
2170         * Fix to BackendManager to stop it removing tables prematurely.
2172 Wed Dec 13 11:49:53 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
2174         * Apply the stemmer to query terms used in spaceterms1.  (Not doing
2175           so caused the test to fail spuriously on local databases, since the
2176           terms are stemmed at index time).  The test still fails with da and
2177           db databases.
2179         * Fixed a problem when stats were unpacked from the network stream,
2180           where term names were not correctly unquoted.  This led to double
2181           quoting of global statistics.
2183 Wed Dec 13 02:49:05 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2185         * Implement copy and assignment methods for OmPositionListIterator.
2187 Wed Dec 13 02:37:14 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2189         * ESet and MSet iterators now cope with being copied / assigned when
2190           the internals are null.
2192         * Added copy method to OmPositionListIterator interface.  No
2193           implementation for this yet though, or for the already existing
2194           assignment method.
2196         * Added a couple of easy items to the todo list to check regarding
2197           iterators.
2199 Wed Dec 13 02:19:50 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2201         * Fix small bug in mset_range_is_same{,_weights}()
2203 Wed Dec 13 02:07:59 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2205         * And add copy and assignment for OmESet, similarly.
2207 Wed Dec 13 01:58:38 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2209         * Add copy and assignment operators to OmMSet so that the internals
2210           get copied (rather than just the pointer to them).  Really want a
2211           small internals class, holding a refcount to the real internals, or
2212           else to use refcntptrs for the members of OmMSet::Internal which are
2213           potentially large (eg, items)
2215 Wed Dec 13 01:05:44 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2217         * Add Asserts to api/omdatabaseinternal.cc to ensure that there is at
2218           least one database present when opening termlists, etc.  This should
2219           really be done by throwing errors.
2221         * Add destructor to OmMSet, deleting internals.
2223         * Implement getting positionlists from QuartzDatabases.
2225         * Fix bug in copy constructor of OmDocument::Internal - some fields
2226           were not being copied.
2228         * Fix api_db.cc so it compiles: code referring to mset by subscripting
2229           temporarily commented out.
2231 Tue Dec 12 20:05:10 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2233         * Fix bug with truncation of intermediate keys in btrees.
2235 Tue Dec 12 18:33:12 GMT 2000 Olly Betts
2237         * OmMSet::get_docs() now takes sane parameters.
2239         * Various test programs updated to nearly work with new OmMSet
2240           interface.
2242 Tue Dec 12 17:18:33 GMT 2000 Olly Betts
2244         * Finished cleaning up OmMSet; updated TODO to reflect this.
2246 Tue Dec 12 17:16:02 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2248         * Fix bug with sorting keys in btrees.
2250         * Various fixes to quartzdump.
2252 Tue Dec 12 15:40:28 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
2254         * Nettest compiles with new OmMSet interface.
2256 Tue Dec 12 15:09:14 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
2258         * Fixed an endless loop in QuartzWritableDatabase::do_delete_document.
2260 Tue Dec 12 15:07:39 GMT 2000 Olly Betts
2262         * OmMSetItem replaced by OmMSetIterator.
2264         * Added OmESet::empty().
2266         * Fixed == on OmESetIterator.
2268 Tue Dec 12 14:16:57 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
2270         * Renamed arguments to compare_keys()
2272 Tue Dec 12 12:05:24 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2274         * Added quartzdump utility to dump the contents of a quartz table.
2276 Tue Dec 12 10:54:44 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
2278         * Added constructors and destructor to OmRSet.
2280 Mon Dec 11 16:32:07 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2282         * Remove caching of average length in OmDatabaseInternal, was breaking
2283           asking for the average length of a database which was being
2284           modified.
2286 Mon Dec 11 16:03:46 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2288         * If no documents in database, don't divide by zero in
2289           omdatabaseinternal.cc
2291         * If a document object doesn't come from the database, when iterating
2292           through its termlist don't open postlists from the nonexistant
2293           database; open them from the DocumentTerm objects in the document
2294           instead.
2296         * Remove old unused and undefined method
2297           OmDocument::Internal::add_posting()
2299 Mon Dec 11 13:53:18 GMT 2000 Olly Betts
2301         * omenquire.h: Removed superfluous declaration of OmMSetCmp.
2303 Mon Dec 11 13:38:12 GMT 2000 Olly Betts
2305         * Updated TODO list.
2307 Mon Dec 11 13:24:45 GMT 2000 Olly Betts
2309         * OmRSet internals encapsulated.
2311 Mon Dec 11 12:42:02 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
2313         * OmIndexerMessage::get_element and ...::operator[] now have
2314           non-const versions.  Fixes const-warning in omstemmernode.cc.
2316 Mon Dec 11 12:17:32 GMT 2000 Olly Betts
2318         * Better typedef-s for Om*Iterator::difference_type.
2320 Sun Dec 10 17:51:41 GMT 2000 Olly Betts
2322         * Corrected various typedef-s for Om*Iterator.
2324 Sun Dec 10 17:28:59 GMT 2000 Olly Betts
2326         * Updated TODO to reflect OmESet being cleaned up.
2328         * Term position argument to OmDocument::add_posting() is now
2329           optional (as it was for OmDocumentContents).
2331 Sun Dec 10 16:55:17 GMT 2000 Olly Betts
2333         * OmESetItem is dead - long live OmESetIterator!
2335         * net/socketclient.cc: fixed compiler warning.
2337         * net/socketserver.cc: fixed compiler warning.
2339 Sun Dec 10 13:29:15 GMT 2000 Olly Betts
2341         * Started to encapsulate OmESet/OmESetItem interface.  Interface is
2342           close, but currently implementation is exposed in omenquire.h.
2344         * apitest wasn't running puncterms1 or spaceterms1 - fixed.
2346 Sun Dec 10 11:34:39 GMT 2000 Olly Betts
2348         * om/autoptr.h -> autoptr.h in lots of places.
2350 Fri Dec  8 17:20:04 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
2352         * Updated indextest to not use AutoPtr<OmIndexer>
2354 Fri Dec  8 17:14:09 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
2356         * Oops - removed one too many #include "autoptr.h"
2358 Fri Dec 08 16:50:42 GMT 2000 Olly Betts
2360         * Updated TODO.
2362 Fri Dec  8 16:44:26 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
2364         * IndexerBuilder now returns OmIndexer objects instead of
2365           AutoPtr<OmIndexer>.  OmIndexer's internals are reference
2366           counted.
2368         * Moved autoptr.h from include/om to common/, since it's no
2369           longer used in the API.
2371 Fri Dec  8 16:22:48 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
2373         * Fixed omstemmer node bug and made debug slightly more verbose
2374           in indextest.cc.
2376 Fri Dec  8 16:13:36 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
2378         * Added a test for OmIndexerMessage to indextest
2380         * Added output operator for OmIndexerMessage
2382         * Fixed a bug introduced into omvectorsplit node
2384         * Changed couts in indextest.cc to touts.
2386 Fri Dec 08 14:53:24 GMT 2000 Olly Betts
2388         * quartztest: removed OmDocumentTerm reference so that it'll
2389           compile (tests fail though).
2391 Fri Dec  8 14:42:46 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
2393         * OmIndexerMessage is now a class by itself, replacing OmIndexerData
2394           and the typedef to AutoPtr<OmindexerData>.  It's now a copy-on-write
2395           object.
2397         * The indexer stuff all changed.
2399 Fri Dec 08 14:24:02 GMT 2000 Olly Betts
2401         * omindexdoc.{cc,h}: no longer used so removed.
2403         * Pushed OmDocumentTerm from API level into the internals of the
2404           library.
2406         * Updated TODO.
2408 Fri Dec 08 12:08:49 GMT 2000 Olly Betts
2410         * delve: if just given a database (or list of databases), report the
2411           number of documents and average document length.
2413 Thu Dec  7 20:39:24 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2415         * Fix bug: Om*Iterators which were created over empty lists didn't
2416           have null internals, causing them not to compare equal to end
2417           iterators.
2419         * Added many asserts to iterator code.
2421 Thu Dec  7 20:02:43 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2423         * Removed OmTermListIteratorMap - OmTermListIterator can now be
2424           across either a map or an actual termlist.
2426         * Om*Iterator classes all now delete internals when reaching end,
2427           freeing resources sooner and making the comparison operators much
2428           simpler.
2430 Thu Dec  7 18:33:03 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2432         * Updates to TODO
2434 Thu Dec  7 18:32:39 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
2436         * Implementation of write locks for Quartz
2438 Thu Dec  7 18:28:55 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
2440         * Fix to backendmanager which doesn't return writable databases
2441           unnecessarily (which breaks things when there are write locks)
2443 Thu Dec  7 18:25:50 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
2445         * Added test for Quartz write locks
2447 Thu Dec  7 17:56:19 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2449         * Add OmDocument::set_data() method which takes a string, instead of
2450           an OmData object.  This allows, implicitly, use of const char *'s
2451           as well.
2453         * Further fixes to quartztest.  It now compiles (though I've not
2454           tried linking it yet...)  :)
2456 Thu Dec  7 17:49:50 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
2458         * Fixed omkeylistiterator return types.
2460 Thu Dec  7 17:27:57 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2462         * Moved get_document() from OmWritableDatabase to OmDatabase.
2464         * Added -> operator to OmKeyListIterator.  Fixed return values
2465           and constness of Om*Iterator::operator *() methods.
2467         * Some fixes to quartztest.cc, but not enough to get it compiling.
2469 Thu Dec 07 16:21:28 GMT 2000 Olly Betts
2471         * Some work on getting quartztest working.
2473 Thu Dec 07 16:10:00 GMT 2000 Olly Betts
2475         * The library now builds, but "make check" still fails.
2477 Thu Dec  7 15:39:19 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2479         * Fixes to testsuite/index_utils.cc to not segfault.
2481 Thu Dec  7 14:31:56 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2483         * Fixes to api_db.cc so that it compiles.
2485 Wed Dec  6 18:50:48 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2487         * Add test for terms with spaces, newlines, zero bytes, or
2488           backslashes.
2490         * Updates to TODO
2492 Wed Dec 06 18:18:16 GMT 2000 Olly Betts
2494         * Woohoo!  Now builds with just --disable-indexer!
2495           (still doesn't pass any tests).
2497 Wed Dec 06 17:24:19 GMT 2000 Olly Betts
2499         * Minor fix.  Now builds with --disable-indexer
2500           --disable-quartz-backend (but doesn't pass any tests).
2502 Wed Dec 06 16:35:34 GMT 2000 Olly Betts
2504         * Fixed up lots of build errors.
2506 Wed Dec 06 14:56:59 GMT 2000 Olly Betts
2508         * Begin the long job of replacing OmDocumentContents with
2509           OmDocument.  Won't currently build - expect the tree to be broken
2510           for a few days.  As usual, if you want a working build, use the
2511           "snapshot_latest" tag.
2513 Wed Dec  6 12:03:44 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
2515         * Backed out yesterday's overwritten-handling stuff.
2517 Wed Dec  6 11:36:55 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2519         * Increase sleep in tcpclient1 to 3 (did tcpmatch1 last time, duh!)
2521 Tue Dec  5 17:13:38 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
2523         * QuartzDocument now has a QuartzTableManager pointer rather than
2524           two QuartzTable pointers.
2526         * QuartzDatabase::do_get_document_internal() copes with Btree
2527           overwritten conditions.
2529         * QuartzDocument methods cope with Btree overwritten conditions
2531         * New method QuartzTableManager::reopen_tables_because_overwritten()
2532           for helping with the above.
2534         * New test in quartztest for testing overwritten problems from the
2535           API rather than just internally to Quartz.
2537         * Fixed a typo in omsettings.h comment (quartz_dir used to refer to
2538           a sleepycat database)
2540 Tue Dec  5 16:53:46 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2542         * Update todo.
2544         * Fix undesirable assert in stats.h
2546 Tue Dec  5 15:41:40 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2548         * Replace OmMSet::docs_considered with
2549           OmMSet::matches_{lower_bound,estimated,upper_bound}, giving more
2550           useful information.
2552         * PostLists now have get_termfreq_{min,est,max}(), instead of
2553           get_termfreq(), so the postlist tree can be used to calculate
2554           the matches_* values for the mset.  Implemented for all the
2555           postlist subclasses.
2557           LeafPostList's still has a virtual get_termfreq() method,
2558           and implements get_termfreq_* in terms of it, so database postlists
2559           don't need to be modified.
2561         * Passing of MSets across network modified to pass the new
2562           information.
2564         * PendingMSet uses the values from the mset to return the values
2565           of get_termfreq_*().  This assumes that recalc_maxweight has been
2566           called first, which is has been.
2568         * Muscat36 databases get_termfreq() methods fixed to use a
2569           LeafPostList rather than a PostList.
2571         * Renamed test docs_considered1 to matches1, and add several
2572           more cases to it.
2574 Tue Dec 05 15:38:27 GMT 2000 Olly Betts
2576         * Added tests/testdata/apitest_punc.txt to distribution.
2578 Tue Dec 05 15:07:26 GMT 2000 Olly Betts
2580         * Oops, failed to add new file `tests/testdata/apitest_punc.txt'
2581           with last check-in.
2583 Tue Dec 05 14:34:04 GMT 2000 Olly Betts
2585         * OmTermListIterator implemented for an OmDocument with terms stored
2586           in a map rather than coming from a Document.
2588         * Fixes to remote protocol so solve problems with terms with
2589           punctuation in (regression test punc_terms1).
2591 Mon Dec  4 15:02:53 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2593         * Makefile tweak in docs/
2595 Mon Dec 04 14:13:05 GMT 2000 Olly Betts
2597         * More OmDocument work.
2599 Mon Dec  4 11:43:46 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2601         * Renamed OmMSet::mbound to docs_considered.
2603 Mon Dec  4 10:11:11 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
2605         * Added some more std:: prefixes for STLport.
2607 Fri Dec  1 17:45:01 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2609         * Increase the sleep after the server is started by tcpclient1 to 3
2610           seconds so that the server is more likely to have started when
2611           then test ran.  This seems to be what was causing the test to
2612           randomly fail.  Really, we want a better solution to this (such as
2613           the server picking a port and writing it out on stdout once it is
2614           listening.)
2616 Fri Dec  1 17:27:02 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2618         * Swapped the ports used by tcpclient1 and tcpmatch1 to see if the
2619           random failures follow suit.
2621 Fri Dec  1 17:21:07 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2623         * Another minor fix to work with STLport.
2625 Fri Dec  1 17:01:02 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2627         * Add std::'s and similar to fix compilation with STLport.
2629         * Fix bug in expander due to nth_element being called on the wrong
2630           element.  This is the counterpoint of the bug fixed on Nov 24th
2631           with the matcher.
2633 Fri Dec  1 16:30:26 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
2635         * Minor tweaks in error strings.
2637 Fri Dec 01 12:57:59 GMT 2000 Olly Betts
2639         * Corrected erroneous documentation comment.
2641 Thu Nov 30 18:50:16 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2643         * OmSettings no longer throws exceptions internally (at the cost of
2644           slightly more code duplication).
2646 Thu Nov 30 18:05:39 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2648         * Add a few std::'s to strings which had been missed.
2650 Thu Nov 30 16:41:11 GMT 2000 Olly Betts
2652         * OmDocument::Internal now knows its OmDatabase.
2654 Thu Nov 30 16:40:33 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2656         * Add context to network errors thrown from OmSocketLineBuf.
2658 Thu Nov 30 16:21:47 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
2660         * Added a quartz test for largish bitmaps.
2662         * Fixed the code so that the above test would pass.
2664 Thu Nov 30 16:10:37 GMT 2000 Olly Betts
2666         * OmDocument::add_posting() pretty much done.
2668 Thu Nov 30 15:51:46 GMT 2000 Olly Betts
2670         * More work on OmDocument::add_posting().
2672         * Added OmTermListIterator::positionlist_begin() and
2673           OmTermListIterator::positionlist_end().
2675 Thu Nov 30 14:16:28 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
2677         * Fixed a prototype bug introduced with the last commit.
2679 Thu Nov 30 13:23:14 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
2681         * Bcursor::find_key now more const-correct.
2683         * Bcursor_create now returns an AutoPtr.  The resultant changes
2684           fixed a memory leak.
2686         * New exception: OmDatabaseModifiedError.  Thrown when an open
2687           revision of a table is no longer valid due to multiple updates.
2689         * quartzoverwrite1 test re-enabled, and passes.
2691 Thu Nov 30 13:23:27 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2693         * nettest now uses quartz backend: should always run all tests now
2694           (apart from tcpdead1, which doesn't work).
2696 Wed Nov 29 19:46:22 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2698         * In testsuite, report the context of Om exceptions as well as their
2699           type and message.
2701 Wed Nov 29 18:30:10 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2703         * Add "remote_connect_timeout" parameter to be supplied when opening
2704           a remote database, to specify a separate timeout for the connect
2705           operation to that used once the connection has been opened.
2707         * Add setting of the context of errors thrown by tcpclient or
2708           progclient, so that the node which failed can be determined.
2710 Wed Nov 29 17:50:03 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
2712         * Reworked Btree_base::read() a bit so that it's hopefully more
2713           readable.
2715         * Hopefully fixed a bug when the bitmap approaches 1k.
2717         * Fix to catch problems re-opening databases after an apply in
2718           Quartz.
2720 Wed Nov 29 17:30:26 GMT 2000 Olly Betts
2722         * Added OmDocument::termlist_begin() and OmDocument::termlist_end()
2724 Wed Nov 29 16:53:13 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2726         * Comment out quartzoverwrite1 test so that it doesn't cause problems
2727           for other developers.
2729 Wed Nov 29 16:27:19 GMT 2000 Olly Betts
2731         * docid now in Document class rather than subclasses.
2733 Wed Nov 29 14:54:13 GMT 2000 Olly Betts
2735         * leafdocument.cc renamed to document.cc
2737         * Document class now has a pointer to the associated Database class
2738           so we can open termlists, etc.
2740 Wed Nov 29 14:03:43 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2742         * Add quartztest to test for case when a database block gets
2743           overwritten.  Currently, this fails because an exception doesn't
2744           get thrown when it should.
2746 Wed Nov 29 13:18:24 GMT 2000 Olly Betts
2748         * LeafDocument class renamed to Document.
2750 Wed Nov 29 12:35:49 GMT 2000 Olly Betts
2752         * Added OmDocument::remove_posting(), OmDocument::remove_term(),
2753           and OmDocument::clear_terms()
2755 Wed Nov 29 12:31:22 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
2757         * Added another revision number in the middle of the base file,
2758           before the bitmap.  Also now check that there isn't any extra
2759           data at the end after we finish reading it.  Incremented the
2760           database format.
2762 Wed Nov 29 11:55:03 GMT 2000 Olly Betts
2764         * Added OmDocument::remove_key() and OmDocument::clear_keys()
2766 Tue Nov 28 18:34:57 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
2768         * Btree bitmap now merged with base - one object, one file.
2770 Tue Nov 28 17:13:56 GMT 2000 Olly Betts
2772         * Added OmDocument::set_data()
2774 Tue Nov 28 16:47:06 GMT 2000 Olly Betts
2776         * Started to alter OmDocument to be a general purpose document class
2777           which includes the functionality currently in OmDocumentContents.
2779 Tue Nov 28 15:08:38 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
2781         * Added OmSplitOnCharsNode, which does a subset of OmRegexSplitNode
2782           but less slowly.
2784         * Modified RegexSplit node and regexcommon so that less copying
2785           of strings is needed.
2787 Tue Nov 28 13:42:41 GMT 2000 Chris Emerson <chris.emerson@open.muscat.com>
2789         * Moved the Btree's bitmap into a separate object.
2791 Tue Nov 28 13:06:36 GMT 2000 Olly Betts
2793         * Eliminated OmDocumentParams.
2795         * Removed unnecessary mutex from OmDocument::Internal.
2797 Mon Nov 27 18:45:27 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2799         * Implement get_position_list() on databases.  Untested.  Also needs
2800           some work to make consistent with open_position_list() on posting
2801           lists: see todo list.
2803 Mon Nov 27 18:29:00 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2805         * Change #define LEVEL ... to #define GET_LEVEL ... in btree_util.h:
2806           fixes problem reported by includetest
2808 Mon Nov 27 18:20:42 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2810         * Added a set of modifications to the todo.xml.  Also, add a
2811           "release" field, recording the release that the work must be
2812           performed by.
2814 Mon Nov 27 18:08:35 GMT 2000 Olly Betts
2816         * A RefCntPtr now copes with being assigned to itself (used to
2817           delete the underlying object if the reference count was 1).  Added
2818           regression test (refcnt2).
2820         * Now overwrite pointer inside RefCntPtr before deleting the pointed
2821           to object so there's no window where another thread can access the
2822           pointer and get the just-deleted object.
2824 Mon Nov 27 14:36:59 GMT 2000 Olly Betts
2826         * OmError class now optionally stores an errno value.
2828 Mon Nov 27 13:04:18 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2830         * Quartztest builds its test databases in a subdirectory, which
2831           is now in .cvsignore, so we shouldn't get cvs complaining about
2832           so many unknown files any more.
2834 Mon Nov 27 12:53:16 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2836         * Another TODO item.
2838 Mon Nov 27 12:15:53 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2840         * Added a couple of new items to the todo list.
2842 Fri Nov 24 19:23:56 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2844         * Quartztests now deletes all old tables, so that database formats
2845           don't cause problems.
2847 Fri Nov 24 19:03:59 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2849         * Added std:: prefix to lots of strings which didn't have it.
2850           I've probably added some where they shouldn't be: there were rather
2851           a lot of cases of this.
2853 Fri Nov 24 18:27:06 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2855         * Major bug fix!  When removing elements, matcher was performing
2856           nth_element() on the first element to be thrown away, rather than
2857           the lowest element to keep.  This meant that, after throwing away
2858           low scoring items, items.back() was a random item rather than the
2859           lowest scoring item.  This caused the min weight for getting into
2860           the mset to go up faster than it should have done, and generally
2861           broke everything.
2863           It will be interesting to compare evaluation measures before and
2864           after this fix.
2866 Fri Nov 24 15:34:17 GMT 2000  Richard Boulton <richard.boulton@open.muscat.com>
2868         * Declare this to be version 0.4.1