17/04/2014  Sebastien DIAZ <sebastien.diaz@gmail.com>
    * code cleaning and remove fo warning

14/01/2013  Sebastien DIAZ <sebastien.diaz@gmail.com>
	* correct compile errors

06/07/2008 Sebastien DIAZ <sebastien.diaz@gmail.com>
        * example/example1.c example/example1.H : add a new exemple

04/06/2008  Sebastien DIAZ <sebastien.diaz@gmail.com>
	* clib/alloca2.c getcwd2.c , memcmp2.c, memcpy2.c, memmove2.c ,raise2.c, snprintf2.c, strcasecmp2.c, strcasestr2.c ,strerror2.c, strncasecmp2.c, strncoll2.c, vsnprintf2.c :  replace old version
	* clib/alloca.c getcwd.c , memcmp.c, memcpy.c, memmove.c ,raise.c, snprintf.c, strcasecmp.c, strcasestr.c ,strerror.c, strncasecmp.c, strncoll.c, vsnprintf.c :  remove old version
	* db/lock_region.c : compatibility for cygwin
	* search/mifluzsearch.cc : clean filename
	* search/t_search : make compatibility with cygwin
	
02/06/2008  Sebastien DIAZ <sebastien.diaz@gmail.com>
	* Makefile.in,ltmain.sh : regenerate Makefile.in
	* mifluz/WorldCursorOne.cc : compatibility with gcc 3.4
	* search/WordKeySemantic.cc : compatibility with gcc 3.4

Mon Apr 29 14:08:36 2002  Loic Dachary <loic@gnu.org>

	* acinclude.m4: add AM_CCACHE

	* configure.in: call AM_CCACHE, clean inconsistencies

Mon Sep 10 11:24:06 2001  Loic Dachary <loic@gnu.org>

	* doc/mifluz.texinfo: use @dircategory and @direntry instead of
	  hard wired info commands.

Fri Aug 31 10:50:25 2001  Loic Dachary <loic@gnu.org>

	* man/man_generate: take advantage of makeinfo autogeneration
	  of node dependencies

	* doc/Makefile.am: simplify and check info formating and installation

	* search/WordResults.cc (PutMatchesTotal): store the total count
	  estimation.

	* search/WordResults.cc (GetMatchesTotal): extract the total count
	  estimation.

	* acconfig.h: move declarations in AC_DEFINE call using third
	  argument.

	* configure.ac: autoconf-2.50

	* acinclude.m4: fix for autoconf-2.50

	* config.h.in: replacement functions at the end

Mon Jul 23 14:34:05 2001  Loic Dachary <loic@gnu.org>

 	* mifluz release 0.23.0

	* search/WordTree.cc (WalkNext): Fix bug that occured when using
	  bottom_document. When a realm exists, limit for the bottom 
	  document should loop over the possible values of the realm.

Fri Jul 20 10:52:32 2001  Loic Dachary <loic@gnu.org>

	* search/WordResults.cc: implement result cache for uniq server
	  results. Fix a bug in handling of uniq server that duplicated
	  servers.

Thu Jul 19 19:06:40 2001  Loic Dachary <loic@gnu.org>

	* man/mifluzsearch.1: add real documentation
	
	* mifluz/unac.c: synchronize with unac-1.5.0

	* configure.in: use AM_ICONV

Mon Jul 16 16:01:37 2001  Loic Dachary <loic@gnu.org>

	* test/Makefile.am: Add missing files in EXTRA_DIST (cache*)

	* mifluz/HtRandom.h,mifluz/WordCursor.cc: remove because obsolete

	* mifluz.spec: removed from the CVS tree.

Fri Jun 29 15:11:55 2001  Loic Dachary <loic@gnu.org>

 	* mifluz release 0.22.0
	
	* htdb/htdb_load.cc (load): only free if pointer is not null.

	* search/WordTree.cc (WalkNext): Clear realm before WalkRewind 
	  when switching permutations.

Wed Jun 27 17:20:24 2001  Loic Dachary <loic@gnu.org>

	* search/WordTree.cc (SearchCursorNot): When a realm exists
	  excluded cursors have to match whatever the realm is.

Fri Jun 22 19:30:09 2001  Loic Dachary <loic@gnu.org> 

	* htdb/htdb_dump.cc: Add -S option to specify page size

	* search/WordSearch.cc: Kill most of the complexity related to
	  context saving/restoring. There is only one context saved in
	  the result list now and it is transparent to the caller.

	* search/WordMatch.h: Add WordMatches, array of WordMatch objects

	* search/WordTree.cc (CursorsObeyProximity): remove function 
	  because the WordResult list does the job.

	* search/WordTree.cc (WordTreeLiteral): tracking the current_document
	  becomes obsolete because of the WordResult list.

	* search/WordResults.{cc,h}: Search result cache in a Berkeley DB
	  file. It is used by the search to find out which documents were
	  seen.

Thu Jun 21 11:30:37 2001  Loic Dachary <loic@gnu.org>

	* search/mifluzsearch.cc (dosearch): remove the -d option
	  because the absolute position is now saved in the context.

	* search/WordSearch.cc (ContextRestore): save the absolute 
	  position of the first document in the context.

	* search/mifluzsearch.cc (main): remove the -a option, the
	  search is now always bounded by default.

	* Makefile.am (install-data-local): Create mifluz cache directory

Wed Jun 20 12:55:22 2001  Loic Dachary <loic@gnu.org>

	* mifluz/WordCursor.h (class WordCursor): Add exclude_list member

Tue Jun 19 16:48:08 2001  Loic Dachary <loic@gnu.org>

	* mifluz/WordKey.h (class WordKey): Add Cmp method

Mon Jun 18 10:14:49 2001  Loic Dachary <loic@gnu.org>  <loic@gnu.org>

	* mifluz/WordCursorOne.cc (Seek): reset high bits to zero

Thu May 03 11:31:43 2001  Loic Dachary  <loic@gnu.org>

	* search/WordKeySemantic.cc (LocationSet): When setting location
	  keep everything up to the location position, included.

	* search/WordKeySemantic.h: Add BeginKey method

Wed May 02 12:30:46 2001  Loic Dachary  <loic@gnu.org>

	* search/WordSearch.h: free expr member only if non null.

	* search/WordTree.cc (TopLevelOptimize): Add function that encapsulate
	  search tree optimizations, originaly in WordSearch::Search function.

	* search/search_parser.yxx: If single word, do not wrap it
	  in OPTIONAL node. This speeds up things and remove the need
	  to generalize the OPTIONAL node to handle single words 
	  gracefully.

	* search/t_search: create test environment for mifluzsearch

	* test/test_prepare (test_prog): Remove skiptest_db copy that
	  should not be there.

Mon Apr 02 17:47:37 2001  Loic Dachary  <loic@senga.org>

	* search/WordKeySemantic.cc: handle key fields that are before
	  the document specification. Trigger error if the list of fields
	  is not ordered.

Tue Feb 27 10:49:34 2001  Loic Dachary  <loic@senga.org>

	* search/WordTree.h (Near): If proximity is set, Prepare will
	  not override it.

	* search/search_parser.yxx: Set proximity to 1 for literals.

Sat Feb 03 10:01:31 2001  Loic Dachary  <loic@senga.org>

	* htdb/htdb_{dump,load,stat}.cc: add getopt

Mon Jan 22 10:54:21 2001  root  <loic@senga.org>

	* search/mifluzsearch.cc (dosearch): Fix typo, print time: instead
	  of wrong count:

Fri Jan 12 19:40:24 2001  Loic Dachary  <loic@senga.org>

	* mifluz/unac.c: synchronize with unac-1.4.0

Tue Jan 09 15:14:50 2001  Loic Dachary  <loic@senga.org>

	* search/WordTree.cc (StripNonExistent): notify suppression
	  of mandatory portions so that mandatory words that do not
	  exist in index are not discarded.
	
Mon Jan 08 12:52:06 2001  Loic Dachary  <loic@senga.org>

	* man/mifluzdict.1: Add upon request by Igor Genibel <igor@genibel.org>

Mon Jan 08 12:45:29 2001  Loic Dachary  <loic@senga.org>

	* mifluz/WordKey.cc (Compare): return -1 or 1 instead of 
	  a - b because the return value of compare is int and comparing
	  two unsigned may lead to a value with bit 32 set and therefore
	  wrong comparison. Bug reported by Andreas Krebs
	  <krebs@users.sourceforge.net>.

	* test/word.cc (dokey): Add tests for 32 bits key values. 

	* test/word.cc (dolist): Use values with bit 32 set for docid
	  to test that mifluz is 32 bit clean.

Sun Jan 07 09:43:43 2001  Loic Dachary  <loic@senga.org>

	* mifluz/unac.c: sync with unac-1.3.0

Sat Dec 23 13:02:17 2000  Loic Dachary  <loic@senga.org>

 	* mifluz release 0.21.0
	
	* mifluz.spec.in: add

Wed Dec 20 13:29:48 2000  Loic Dachary  <loic@senga.org>

	* mifluz/unac.{c,h}: fix endian bug

Tue Dec 19 17:50:28 2000  Loic Dachary  <loic@senga.org>

	* search/mifluzsearch.cc (dosearch): test if -B provided when
	  needed.

Fri Nov 10 10:43:00 2000  root  <loic@senga.org>

	* mifluz/WordType.cc (WordType): set locale from wordlist_locale
	  new configuration attribute.

Thu Nov 09 08:45:31 2000  Loic Dachary  <loic@senga.org>

	* search/WordTree.cc (WalkNext): improve readability of -v output.

	* search/WordTree.h (WORD_SEARCH_DEFAULT_PROXIMITY): default proximity
	  now -1 instead of 1.

	* search/mifluzsearch.cc (dosearch): output the list of words
	  extracted from the query in <word> tag.

Wed Nov 08 09:01:01 2000  Loic Dachary  <loic@senga.org>

	* clib/{clib.h,strncoll.c,strcasestr.c}: Sun C compiler
	  fixes from Ron Katriel <RKatriel@Wavo.Com>.

Tue Nov 07 10:07:32 2000  Loic Dachary  <loic@senga.org>

	* search/mifluzsearch.cc (dosearch): Add -d which adds to the
	  <bottom> value. Always print the <bottom> value.
	
	* search/mifluzsearch.cc (dosearch): Add elapsed time count in
	  milli seconds <time>...</time>.

	* search/mifluzsearch.cc (dosearch): Add -R option that calculates
	  -l and -h. 

	* search/mifluzsearch.cc (dosearch): Activate the -S option
	  and add the wordlist_wordkey_uniq parameter.

Mon Nov 06 17:04:08 2000  Loic Dachary  <loic@senga.org>

	* search/mifluzsearch.cc (main): if in CGI mode -H -x implied. Ignore
	  name=value where value is the empty string.

Thu Nov 02 16:00:53 2000  Loic Dachary  <loic@senga.org>

	* configure.in,acinclude.m4 (CHECK_UNAC,CHECK_ICONV): add inclusion 
	  of unac and iconv library.

	* README: add comment for alternate iconv libraries.

Thu Nov 02 17:22:28 2000  Loic Dachary  <loic@senga.org>

	* acinclude.m4 (AC_COMPILE_WARNINGS): do not use the same shell
	  variable to store the warning options for C and C++.

Wed Nov 01 17:38:12 2000  Loic Dachary  <loic@senga.org>

	* search/mifluzsearch.cc (dosearch): Add -O option so that
	  search uses WordTreeOr instead of WordTreeOptional. Less relevant
	  results but maybe usefull in some contexts as suggested by
	  Rune Kleveland <runekl@math.uio.no>.

Wed Nov 01 02:24:47 2000  root  <loic@senga.org>

	* test/delete.cc (main): simplify the test/delete.cc. It had so
	  many lines with inlined code that gcc-2.95.2 got lost.

Tue Oct 31 18:53:09 2000  Loic Dachary  <loic@senga.org>

	* search/WordTree.cc (Count): fix bugous count evaluation.

Mon Oct 30 19:00:06 2000  Loic Dachary  <loic@senga.org>

	* search/mifluzsearch.cc (dosearch): better XML output.

	* search/search_parser.yxx (search_lex): the buffer is not null
	  terminated and the lexer must check boundaries at all times.

	* search/WordExcludeMask.h: Maxi is value of ignore_maxi member and
	  not the addition of ignore_maxi and maxi.

	* search/mifluzsearch.cc (dosearch): fix typo maximum_word_length
	  is 25 not 2.

Fri Oct 27 17:25:06 2000  Loic Dachary  <loic@senga.org>

	* search/search_parser.yxx: replace or/not by op_or/op_not because
	  gcc-2.96 does not like it.

Fri Oct 27 13:42:39 2000  Loic Dachary  <loic@senga.org>

	* mifluz/{WordContext.h,mifluz.h}: fix /etc/mifluz.conf -> 
	  /usr/etc/mifluz.conf.

	* mifluz/WordContext.cc (ConfigFile): do not specify static,
	  this is incorrect and gcc-2.96 barks on it.

	* mifluz.spec: add sysconfdir

Thu Oct 26 13:21:04 2000  Loic Dachary  <loic@senga.org>

	* mifluz release 0.20.0

	* mifluz/WordContext.h (class WordContext): Add ConfigFile method.

	* man/man_generate: add --format=conf to generate ../mifluz.conf
	  file.

	* Makefile.am: install mifluz.conf in /etc
	
	* mifluz/WordListOne.cc (Word): report canonicalization failure
	  only if looking for an existing word in the index.

	* mifluz/WordType.cc (WordType): add wordlist_lowercase configuration
	  parameter. Document the class. Add WORD_NORMALIZE_NUMBER case
	  in Normalize. Add wordlist_truncate configuration parameter.
	  Change the semantic of WORD_NORMALIZE_NOTOK and replaced
	  WORD_NORMALIZE_GOOD by WORD_NORMALIZE_OK. 

Wed Oct 25 14:28:10 2000  Loic Dachary  <loic@senga.org>

	* mifluz/WordDBCache.h: file size stored in off_t to prevent
	  signed wrap.

Wed Oct 25 13:58:21 2000  Loic Dachary  <loic@senga.org>

	* db/db.h.in: add app_private field

	* mifluz/WordContext.cc: fill the dbenv app_private field

	* db/bt_cursor.c: fill the local key.app_private field from
	  dbenv->app_private field. When deleting entries, this field
	  is null and the comparison function will fail if it depends 
	  on it. This hack is not ideal since it only allows one 
	  app_private for a given db_env. However, this is general enough
	  for mifluz purpose, even though it does not solve the general
	  problem for Berkeley DB.

	* mifluz/WordKey.cc (word_db_cmp): check for null context.

	* test/{t_delete,delete.cc}: Add test for detecting deletion problems,
	  from a contribution of Rune Kleveland <runekl@math.uio.no>.
	
Tue Oct 24 18:25:34 2000  Loic Dachary  <loic@senga.org>

	* mifluz/WordDBCache.cc (AddFile): re-calculate the total size of
	  the cache from the actual files instead of estimating it in the
	  wrong way (number of files * maximum size of new cache file).

	* test/dbbench.cc (main): restore de default value for page_size
	  to 0. Was set to 4096 and the code was not modified accordingly,
	  therefore 4096 was always the page size used, no matter what page
	  size was found in the configuration file.

Tue Oct 24 15:59:12 2000  Loic Dachary  <loic@senga.org>

	* search: Add mifluzsearch application, based on test/search.cc
	  that can be used on the command line or as a CGI.

Mon Oct 23 12:08:58 2000  Loic Dachary  <loic@senga.org>

	* Makefile.config: update comments on compiling with debuging 
	  and profiling.

Fri Oct 20 14:06:37 2000  Helios de Creisquer <creis@zehc.net>

	* mifluz/WordList.h: Better documentation for temporary
	  file control.

Thu Oct 19 16:01:53 2000  Loic Dachary  <loic@senga.org>

	* mifluz/WordType.cc (WordType): default maximum_word_length = 25
	  instead of 12.

Fri Oct 19 16:55:18 2000  Loic Dachary  <loic@senga.org>

	* mifluz/{WordList,WordBitCompress}.h: 
	  Add includes for porting to RedHat-7.0/gcc-2.96

Fri Oct 13 16:55:18 2000  Loic Dachary  <loic@senga.org>

	* mifluz.spec: create

	* Makefile.am: Add rpm generation target

Mon Oct 02 08:08:48 2000  Loic Dachary  <loic@senga.org>

	* mifluz/Makefile.am: Add unac.[ch]

Fri Sep 22 01:05:09 2000  Loic Dachary  <loic@linux1.compile.sourceforge.net>

	* htdb/mifluz{dict,load,dump}.cc: add unistd.h for getopt in freebsd.

Fri Sep 15 16:58:06 2000  Loic Dachary  <loic@senga.org>

	* mifluz/lib.h: remove declarations of my*strcase*

Tue Aug 29 09:44:42 2000  Loic Dachary  <loic@senga.org>

	* mifluz/{Configuration,String}.cc: change mystrcasecmp into 
	  strcasecmp.

	* mifluz/strcasecmp.cc: split, one file per function and move to
	  clib directory. Kill strdup C++ definition.

Fri Jul 21 15:49:34 2000  Loic Dachary  <loic@senga.org>

	* htdb/htdb_{stat,load,dump}.cc (main): fix wordkey_description
	  with Word 24 instead of Word.

Thu Jul 20 18:27:11 2000  Loic Dachary  <loic@senga.org>

	* mifluz release 0.19.0

	* mifluz/mifluz.h: replace htconfig.h with config.h

	* mifluz/WordListOne.cc (Override): remove Insert method, only keep
	  Override (formerly Put). Insert/Override distinction was made for
	  performance purpose and check purpose. Running Exists + Override
	  is not longer than running Put(.., DB_NOOVERWRITE). And check is
	  not used because too slow in average.

Thu Jul 20 12:18:51 2000  Loic Dachary  <loic@senga.org>

	* test/word.cc (dolist): Add regression test for the WordList::Prefix
	  method.

	* mifluz/WordList.h (method WordList::Word): Add exists argument
	  to allow creation of a WordReference object without assignement
	  of a word id if the word is not already in the dictionary.

	* mifluz/WordListOne.cc (Prefix): Fix bugous implementation of 
	  prefix search using the CursorPrefix and NextPrefix methods
	  of WordDict.

	* test/t_dict: Add regression test for prefix dictionary dump

	* htdb/mifluzdict.cc: Add -p prefix option to dump dictionary
	  entries starting with prefix.

Wed Jul 19 16:52:30 2000  Loic Dachary  <loic@senga.org>

	* mifluz/WordKey.cc (Prefix): fix bugous conditional nesting
	
	* mifluz/Word{Dict,Cursor,Reference}.h: Add SWIG friendly 
	  conditionals

	* db/Makefile.am (pkginclude_HEADERS): Install db.h

	* Makefile.am (pkginclude_HEADERS): Install config.h

Wed Jul 19 16:04:22 2000  Loic Dachary  <loic@senga.org>

	* acinclude.m4 (CHECK_ZLIB,*MANDATORY*): upgrade and add AC_MANDATORY_*
	  macro definitions.

Mon Jul 17 16:29:56 2000  Loic Dachary  <loic@senga.org>

	* mifluz release 0.18.0

	* AUTHORS, NEWS: add files

	* mifluz/{WordList.h,WordCursor.h}: remove Noccurrence method

Mon Jul 17 15:24:24 2000  Loic Dachary  <loic@senga.org>

	* man/*.3,mifluz/*.h: update documentation

Fri Jun 30 10:29:42 2000  Loic Dachary  <loic@senga.org>

	* mifluz/WordMonitor.h: Monitor does not use signals anymore.

Thu Jun 29 14:54:56 2000  Loic Dachary  <loic@senga.org>

	* configure.in: Upgrade configuration instructions from 
	  Berkeley DB 3.1.14

Thu Jun 29 13:51:21 2000  Loic Dachary  <loic@senga.org>

	* db/mp_cmpr.c: Duplicate meta information so that a first page
	  number == 1 is able to find it without knowing the pagesize.

Wed Jun 28 18:39:09 2000  Loic Dachary  <loic@senga.org>

	* db/*: upgrade to Berkeley DB 3.1.14

Mon Jun 26 18:19:08 2000  Loic Dachary  <loic@senga.org>

	* test/t_env: Concurrent process tests (with/without compression).

Mon Jun 26 11:57:43 2000  Loic Dachary  <loic@senga.org>

	* configure.in: Merge with db/configure.in so that there is
	  only one configure.in

Mon Jun 26 09:24:57 2000  Loic Dachary  <loic@senga.org>

	* configure.in: Add MUTEX detection, as in the subdirectory
	  db so that structures have the same size.

Fri Jun 23 13:26:28 2000  Loic Dachary  <loic@senga.org>

	* mifluz/WordMeta.h: Implement lock methods Lock/Unlock.

	* mifluz/WordDBCache.h: Use tmp subdatabase to store temporary
	  file names and shared serial number allocator for numbering
	  them.

Fri Jun 23 09:16:33 2000  Loic Dachary  <loic@senga.org>

	* mifluz/WordDead.{cc,h} : Create list of
	  deleted entries that are ignored during the search.

	* mifluz/WordCursorOne.cc : Ignore documents that
	  match an entry in the Dead() list.

Thu Jun 22 18:30:15 2000  Loic Dachary  <loic@senga.org>

	* mifluz/WordKey.cc: Change the structure of the inverted
	  index. Now contains only numbers. The word is replaced
	  by the word identifier allocated by the dictionary.

Wed Jun 21 10:57:01 2000  Loic Dachary  <loic@senga.org>

	* mifluz release 0.17.0

	* doc/Makefile.am: simplify dramatically, uses makeinfo
	  for every documentation format.
	
	* mifluz/WordMeta.{h,cc}: Create class to store
	  max serial number for WordDict.

Tue Jun 20 12:05:53 2000  Loic Dachary  <loic@senga.org>

	* mifluz/WordDict.{h,cc}: Create class to manipulate the
	  dictionarry.

	* mifluz/WordListOne.{h,cc}: Use WordDict instead of direct
	  Berkeley DB handle.

Tue Jun 20 09:47:57 2000  Loic Dachary  <loic@senga.org>

	* mifluz/WordListOne.cc: Use subdb dict to store the 
	  dictionnary.

Mon Jun 19 18:19:19 2000  Loic Dachary  <loic@senga.org>

	* db/mp_cmpr.c: *_weakcmpr is not used anymore. The file
	  now starts at page 1 instead of 0 and page 0 is used for
	  compression meta information. It contains a pointer to
	  the first free page and each free page contains a link to
	  the next. 

Sat Jun 17 10:33:08 2000  Loic Dachary  <loic@senga.org>

	* db/db.c (CDB___db_subdb_remove): Add CMPR flag passing from
	  dbenv CMPR flag.

Wed Jun 14 11:02:14 2000  Loic Dachary  <loic@senga.org>

	* mifluz/WordListOne.cc: Use subdatabases for index file.

	* db/mp_cmpr.c: Special handling of META pages, function to
	  read meta page when DB* is not completely set. Necessary
	  for subdatabases.

Tue Jun 13 17:58:29 2000  Loic Dachary  <loic@senga.org>

	* mifluz/WordDBCompress.cc (WordDBCompress): first byte of every
	  compressed page is the DB->type member instead of custom bit
	  field.

	* db/db_page.h (TAGS_SET): user defined value tags (field of
	  DB) may have values withing TAGS_MASK limits and is coded
	  in each page type field.

Sat Jun 10 18:07:03 2000  Loic Dachary  <loic@senga.org>

	* test/search.cc (SearchLoopBounded): implement bounded search
	  that returns the last valid interval even if the bottom index
	  is past the last possible search.

	* test/t_search: regression tests for bounded search.

	* test/search.cc (Search): implement total match count estimation.

Fri Jun 09 20:25:00 2000  Loic Dachary  <loic@senga.org>

	* mifluz/WordRecord.h (class WordRecord): Encode the type
	  of the record as a char at the end of the packed string.
	  Unpacking reset the type from the packed string instead of
	  relying on the implicit default type. Allows compression to
	  find the record type without guessing from the key.

	* mifluz/*Vector* : get rid of half implemented vector classes

	* mifluz/WordDBCompress.{cc,h}: re-implement, mainly for readability
	  and consistency in order to fix a suble bug that corrupted some
	  internal pages of the index. The algorithmic did not change. 

	* mifluz/WordDBPage.{cc,h}: kill

	* mifluz/WordKey.cc: use BER compression instead of bit packing.

Wed Jun 07 10:53:53 2000  Loic Dachary  <loic@senga.org>

	* db/db.c (CDB___db_dbenv_setup): open mode is 0666 instead
	  of 0 otherwise the weakcmpr file is not open with the proper
	  mode.

Wed Jun 07 02:05:23 2000  Loic Dachary  <loic@senga.org>

	* mifluz/WordRecord.cc (SetList): use Remove(0) instead
	  of Remove(field) to prevent leakage.

	* mifluz/WordKey.cc (SetList): use Get_First() + Remove(0)
	  to allow WordRecord to eat the rest of the fields.

Tue Jun 06 18:53:35 2000  Loic Dachary  <loic@senga.org>

	* mifluz/WordRecordInfo.cc (WordRecordInfo): Add type 
	  WORD_RECORD_STR and remove type WORD_RECORD_STATS (replaced
	  by WORD_RECORD_DATA).

	* test/cmpr.cc: regression tests for WordBitStream and
	  WordBitCompress. 

	* mifluz/WordBitCompress.h: rename and cleanup BitStream -> 
	  WordBitStream + Compressor -> WordBitCompress. Do not use
	  HtVector*.

Mon Jun 05 23:16:33 2000  Loic Dachary  <loic@senga.org>

	* mifluz/HtMaxMin.cc: Added unsigned char max_v and min_v

Mon Jun 05 11:30:24 2000  Loic Dachary  <loic@senga.org>

	* test/t_dict: Add regression tests for mifluzdict

Mon Jun 05 10:30:09 2000  Loic Dachary  <loic@senga.org>

	* htdb/mifluzdict.cc (action): Dump index dictionnary

Sat Jun 03 11:27:28 2000  Loic Dachary  <loic@senga.org>

	* test/search.cc (WordPermute::Initialize): call
	  WordExcludeMask::Initialize first and use WordExclude::Maxi()
	  to find out if permutation is meaningfull (more than one 
	  slot). Previously used the length argument that does not
	  reflect the actual number of permutable slots.

	* test/search.cc (Seek): implement lower and higher bounds
	  limits.

Wed May 31 09:56:55 2000  Loic Dachary  <loic@senga.org>

	* configure.in: Add AC_FUNC_ALLOCA and replace func strncoll

	* clib/Makefile.am: use LTLIBOBJS to compile only the necessary
	  functions.

Wed May 31 05:51:27 2000  Loic Dachary  <loic@senga.org>

	* mifluz/*.h: update manual pages.

Sun May 28 23:50:19 2000  Loic Dachary  <loic@senga.org>

	* mifluz/WordList.h: Add BatchStart() BatchEnd() methods.

Thu May 25 20:32:34 2000  Loic Dachary  <loic@senga.org>

	* mifluz/{WordCursorOne.cc,WordListOne.cc,WordList.cc,WordCursor.cc}:
	  WordList and WordCursor are now abstract classes. The original
	  implementation moved to WordCursorOne and WordListOne. This
	  is to allow the implementation of WordCursorMulti and WordListMulti
	  to handle multiple indexes transparently.

	* mifluz/WordDB.cc: Fix the Open/Close and Alloc/Dealloc semantic.
	  Previously the WordDB object always had an allocated DB object.
	  This was problematic when releasing the WordDBInfo (by releasing
	  the WordContext) before a WordDB object, even if the WordDB object
	  was closed (Close()). The DB object of the WordDB was released
	  twice : once by WordContext destruction and once by WordDB 
	  destruction, leading to a core dump.

	* mifluz/Configuration.cc (Configuration): Implement copy
	  constructor instead of relying on Dictionary copy constructor
	  because the Dictionary copy constructor does *not* copy the
	  data associated with the key. This is error prone since the
	  behaviour of all the Configuration methods is to copy the
	  data before storing it.

	* test/Makefile.am (search_SOURCES): kill txt2mifluz, use
	  mifluzload instead.

	* mifluz/myqsort.c: qsort function with user data argument
	  in the comparison function.

	* mifluz/*: Get rid of all static instances. WordContext now
	  contains all of them and it must be passed in argument to
	  all constructors. This allows mifluz to be thread safe and
	  multiple configurations may exist within the same program.
	
	* db/*.c: Add user data argument to bt_compare/dup_compare
	  functions. Necessary for WordKey comparison since it depends
	  on run-time configuration.

Mon May 22 19:02:37 2000  Loic Dachary  <loic@senga.org>

	* mifluz/WordDB.h: WordDBCursor now created from WordDB
	  to match the Berkeley DB semantic and because it is a better
	  way to do.

Thu May 18 02:33:53 2000  Loic Dachary  <loic@senga.org>

	* mifluz/WordList.cc (Read): use Override instead of Insert.

Thu May 18 02:02:36 2000  Loic Dachary  <loic@senga.org>

	* mifluz/WordDB.cc: implement intermediate cache implementing
	  the pulsing method from 
	  http://corp.excite.com/people/cutting/papers/sigir90.ps

Sat May 13 21:31:50 2000  Loic Dachary  <loic@senga.org>

	* mifluz/WordContext.cc (Finish): call Finish for each
	  class instead of delete on instance.

	* mifluz/Word{Type,KeyInfo,RecordInfo,DBInfo,Monitor}.h: 
	  implement Finish method that reset instance to 0, allowing
	  to call Instance after WordContext::Finish. The previous
	  implementation was just calling delete on instance and
	  later WordContext::Initialize would just re-use delete
	  pointers.

Sat May 13 18:52:47 2000  Loic Dachary  <loic@senga.org>

	* test/t_htdb: add tests for mifluzdump and mifluzload

	* mifluz/WordList.h (class WordList): fix manual page

	* htdb/mifluzdump.cc: command line interface to WordList::Write

	* htdb/mifluzload.cc: command line interface to WordList::Read

	* man/man_generate (build): also handle section 1 man pages.

	* htdb/htdb_{dump,stat,load}.cc: copy and modify man page
	  from Berkeley DB.

Fri May 12 17:50:40 2000  Loic Dachary  <loic@senga.org>

	* db/configure.in (bigfile): only rely on i686 implementation
	  of bigfile support.

Fri May 12 04:57:57 2000  Loic Dachary  <loic@senga.org>

	* db/mp_region.c (CDB___memp_close): clear weakcmpr pointer
	  when closing region so that memory pool files are not 
	  released twice.

Thu May 11 19:05:30 2000  Loic Dachary  <loic@senga.org>

	* mifluz/WordKeyInfo.cc (Show): use fprintf instead of
	  printf to avoid mixing the chanels in regression tests.

Thu May 11 00:49:02 2000  Loic Dachary  <loic@senga.org>

	* acinclude.m4 (ZLIB_HOME): Do not include /usr/lib and
	  /usr/include if zlib is found in /usr, it may hurt if
	  the compiler is not installed in a standard place.

Wed May 10 23:46:12 2000  Loic Dachary  <loic@senga.org>

	* scripts/README: update to reflect the new update scheme.

	* scripts/htdig2mifluz: only generate a diff. Automatic
	  update is too dangerous.

Wed May 10 18:21:28 2000  Loic Dachary  <loic@senga.org>

	* doc/*.{eps,dia,obj}: Add images for documentation formating.

	* test/word.cc (doskip_harness): free cursor after use.

	* test/word.cc (doskip_overflow): free cursor after use.

	* test/dbbench.cc (find): free cursor after use.

	* htdb/htdb_{load,dump,stat}.cc (main): call WordContext::Finish
	  to free global context for inverted index.

	* htdb/htdb_stat.cc (btree_stats): free stat structure.

	* mifluz/List.h (class List): Add Shift/Unshift/Push/Pop methods.

	* mifluz/List.h (class List): Add Remove(int position) method.

	* mifluz/StringList.h (class StringList): change methods 
	  Add/Insert/Assign that were copying the String* given in argument.
	  This behaviour is confusing since it has a different semantic
	  than the base class List.

	* mifluz/StringList.cc (Create): remove SRelease. Deleting
	  the strings is taken care of by the destructor thru 
	  Destroy. If destruction of the Strings is not desirable
	  Release should be used. SRelease was added apparently after
	  a virtual constructor doing nothing was added to hide the
	  default call to Destroy therefore leaking memory. 

	* test/txt2mifluz.cc,word.cc,search.cc: fix minor memory leaks.

	* mifluz/WordDB.cc: Move Open to WordDB.cc.
	
Tue May 09 19:25:57 2000  Loic Dachary  <loic@senga.org>

	* htdb/*.cc: rename htstat.cc htload.cc htdump.cc to 
	  htdb_stat.cc htdb_load.cc and htdb_dump.cc to be consistent
	  with ht://dig.

	* htdb/htdb_{load,dump,stat}.cc (main): call WordContext::Finish
	  to free global context for inverted index.

	* htdb/htdb_stat.cc (btree_stats): free stat structure.

Mon May 08 18:28:41 2000  Loic Dachary  <loic@senga.org>

	* doc/Makefile.am (mifluz.txt): add generation of plain text
	  documentation.

	* doc/*.png: add images, add html and plain text documentation
	  to CVS tree and distribution.

	* configure.in (DOCUMENTATION): use makeinfo to build html 
	  documentation

Mon May 08 00:57:56 2000  Loic Dachary  <loic@senga.org>

	* doc/mifluz.texinfo: clarify Configuration documentation.

Sun May 07 01:08:00 2000  Loic Dachary  <loic@senga.org>

	* doc/mifluz.texinfo: integrate proofreading advices 
	  from Simon Miller <simonm@innotts.co.uk>.

Thu May 04 17:31:46 2000  Loic Dachary  <loic@senga.org>

	* */*.cc: make sure fcntl.h is included first to prevent inconsistent
	  renaming of open to open64 on Solaris.
	
	* examples/example0.cc,mifluz/WordMonitor.cc: move stdlib after
	  htconfig to avoid conflicts with _FILE_OFFSET_BITS redefinition.

Wed May 03 06:21:42 2000  Loic Dachary  <loic@senga.org>

	* mifluz release 0.16.0
	
	* doc/mifluz.texinfo: apply proofreading from 
	  Dave Stevens <dstevens@bulkley.net>

Wed May 03 01:28:46 2000  Loic Dachary  <loic@senga.org>

	* README: Add warning about PHP4 license incompatibility.

	* */*: update/add Copyright notices, add year 2000,
	  change Noccurence to Noccurrence.

Wed May 03 00:14:55 2000  Loic Dachary  <loic@senga.org>

	* */*.cc,*/*.[ch]: fix GNU Public -> GNU General Public License
	
	* README: add license information

	* db/LICENSE: add Berkeley DB License

Tue May 02 17:15:59 2000  Loic Dachary  <loic@senga.org>

	* mifluz/WordList.h (class WordList): Proffread documentation.

Mon May 01 23:23:41 2000  Loic Dachary  <loic@senga.org>

	* mifluz/Configuration.h: Add manual page

	* mifluz/WordContext.h: Proofread documentation.

	* man/man_generate: generate texinfo reference material
	  in addition to man pages.

Thu Apr 20 12:52:42 2000  Loic Dachary  <loic@senga.org>

	* mifluz release 0.15.0

	* mifluz/WordCursor.cc (ContextRestore): fix ContextRestore to
	  do a WalkNext instead of simply db_cursor_flags = DB_NEXT because
	  the later does not work (go to beginning of file instead).

	* test/search.cc (WordSearch::Search): expr argument is data
	  member of the class.

	* db/acconfig.h,db/configure.in,acconfig.h,configure.in: large
	  file support for linux handled in the same way for linux, solaris
	  and all.

Wed Apr 19 20:04:12 2000  Loic Dachary  <loic@senga.org>

	* test/search.cc: WalkNext() method for WordTreeOr(). Added
	  ExcludeCount() to WordExclude classes. The or does not do
	  any permutation to fit the semantic of WordCursor in structured
	  queries. Namely it does not wrap around the index and this
	  is essential for the search algorithm to work with boolean/structured
	  queries. Wrap around is only tolerated in WordTreeOptional search
	  and cannot be combined with boolean operators. 

	* test/search.cc: define AllOrNothing() to carry the fact that
	  if a term is missing the whole query fails (resolving and for
	  instance).
	
Mon Apr 18 15:53:32 2000  Loic Dachary  <loic@senga.org>

	* test/search.cc: fix recursive building of the context
	  (ContextSave and ContextRestore. In structured queries the
	  context is made of the context of each node except the leaf
	  nodes (WordTreeLiteral).
	
Mon Apr 18 15:28:30 2000  Loic Dachary  <loic@senga.org>

	* acinclude.m4: Add TRY_COMPILE test for no-rtti and no-exceptions
	  to prevent lossage on freebsd.

Mon Apr 17 15:53:32 2000  Loic Dachary  <loic@senga.org>

	* mifluz/WordCursor.{cc,h} (Initialize): return OK, NOTOK

	* test/search.cc (*::Prepare): return OK, NOTOK

Mon Apr 17 15:28:30 2000  Loic Dachary  <loic@senga.org>

	* test/search.cc (WordTree::Prepare): implement scope selection.

	* test/t_search: scope regression tests

	* test/search.cc: WordParser: tabulation is not a separator 
	  so that it can be used in the scope.

Thu Apr 14 15:36:45 2000  Loic Dachary  <loic@senga.org>

	* test/search.cc (ParseOperands): fix conflict when checking
	  that subexpr was a LITERAL. Remove check since not used.

	* test/search.cc (WordTreeNot): Merge Forbiden and Not into one
	  since they carry the same function.

	* test/search.cc (class WordPermute): Add support for 
	  WORD_PERMUTE_PROXIMITY_ONLY to implement "near" in a
	  consistent way.

	* test/search.cc (class WordTreeOptional): Implement Or
	  Near and And semantic with UsePermutation() and UseProximity()
	  virtual methods.

	* test/t_search: update regression tests

Thu Apr 13 15:36:45 2000  Loic Dachary  <loic@senga.org>

	* acinclude.m4: Add NO_RTTI to prevent accidental use of Run Time
	  Type Information g++ builtin. This can be a problem when linking
	  with a C program such as Perl. Same logic with NO_EXCEPTIONS.

Wed Apr 12 16:52:51 2000  Loic Dachary  <loic@senga.org>

	* test/t_search: regression tests for Mandatory and Forbiden
	  semantic.
	
	* test/search.cc: WordPermute derive from WordExcludeMask and
	  makes a conditional use of the permutation toggle.

	* test/search.cc: WordExclude does not exclude the permutation
	  with all bits set. It is the responsibility of WordPermute
	  to exclude it when meaningless. This combination may be usefull
	  when used in the context of WordExcludeMask. Update regression
	  tests accordingly.
	
	* test/search.cc: WordExclude and WordExcludeMask data members
	  are private for encapsulation safety.

	* test/search.cc: Implement mandatory and forbiden handling
	  in Optimization

Tue Apr 11 11:31:35 2000  Loic Dachary  <loic@senga.org>

	* test/t_search: regression tests for Mandatory and Forbiden
	  parsing.

	* test/search.cc (ParseUnary): also parse Mandatory and Forbiden.
	  Was ParseNot now generalized.

Mon Apr 10 12:11:20 2000  Loic Dachary  <loic@senga.org>

	* test/search.cc: Document all classes using the 
	  manual pages conventions.

	* test/search.cc: remove unused macros and functions.

	* man/*: update manual pages

	* mifluz/WordCursor.h: Update comments, add some data members
	  in manual page for derivation purpose.

Fri Apr 07 19:53:43 2000  Loic Dachary  <loic@senga.org>

	* test/search.cc: implement WordExcludeMask for a better
	  implementation of Not (using exclusion in Or and Optional
	  retrieval models).

	* test/search.cc: regression tests for WordExclude* classes.

Thu Apr 06 23:01:29 2000  Loic Dachary  <loic@senga.org>

	* db/patch2: large file support for linux (bert@senga.org)

	* test/t_search: regression tests for WordTreeOr
	
Thu Apr 06 18:32:57 2000  Loic Dachary  <loic@senga.org>

	* mifluz/WordCursor.cc (Seek): start working at
	  WORD_FIRSTFIELD just in case the patch contains 
	  a defined word (meaningless but we want to be sure.

	* test/search.cc: Rename WordTreeOr in WordTreeOptional.
	  Create WordTreeOr same as WordTreeOptional except does
	  not handle proximity. Move WordCursorAnd/WordCursorNot
	  in WordTreeOperand to share between WordTreeOr and 
	  WordTreeOptional.

Thu Apr 06 13:46:39 2000  Loic Dachary  <loic@senga.org>

	* mifluz/WordCursor.cc (WalkRewind): move initialization 
	  part in WalkInit.

	* test/search.cc (class WordTreeOperand): data member
	  "pos" is the seek position. It was wrong to use "found" for
	  that purpose.

Thu Apr 06 09:31:03 2000  Loic Dachary  <loic@senga.org>

	* test/search.cc (Optimize): now properly recursive. Separate
	  AscendingFrequency and StripNonExistent functions.

Thu Apr 06 00:18:00 2000  Loic Dachary  <loic@senga.org>

	* test/search.cc (Parse): rename Parse(StringList) to ParseList
	  to avoid conflicts in some gcc versions.

Wed Apr 05 23:41:19 2000  Loic Dachary  <loic@senga.org>

	* test/dbbench.cc (int_cmp): update signed/unsigned but in 
	  short comparison.

	* test/dbbench.cc (dbinit_env): make sure cache is never
	  initialize with a value less than 500Kb.

Wed Apr 05 19:21:18 2000  Loic Dachary  <loic@senga.org>

	* mifluz/WordCursor.cc (Noccurence): create convinience
	  and derivable function interface to WordList::Noccurence.

	* test/search.cc: AscendingFrequency is virtual of WordTree
	  and WordTreeOperand::AscendingFrequency runs on sub cursors.
	  WordTreeOperand::Noccurence virtual sum the Noccurence of
	  each term.

Wed Apr 05 16:39:37 2000  Loic Dachary  <loic@senga.org>

	* test/search.cc: Replace GetFound().Key() with new 
	  GetDocument method where appropriate. 

	* test/search.cc: Add WordLiteral::WalkNext that do
	  not show duplicate documents. Upgrade tests accordingly.

	* mifluz/WordCursor.cc: Seek uses searchKey instead of found.

Wed Apr 05 11:16:27 2000  Loic Dachary  <loic@senga.org>
	
	* test/t_search: add test for single word search

	* test/search.cc (main): WordTreeLiteral and WordTreeOperand
	  derive from WordTree instead of being two completely separate
	  classes.

	* test/benchmark/: run the make MONITOR=-m dobench. Observed
	  CPU time saving is ~20 (don't use NOOVERWRITE).

Tue Apr 04 17:03:34 2000  Loic Dachary  <loic@senga.org>

	* test/dbbench.cc (fill_one): use Override instead of Insert to
	  save 30% overall CPU cycles for sorted insertions. The reason is
	  that Insert uses the NOOVERWRITE test that implies a c_get in
	  db_put, involving a *lot* of activity (15 times more comparisons).
	  Found using quantify.

	* mifluz/*.cc: make sure htconfig.h is included everywhere

	* mifluz/clib: create replacement functions, encapsulated, renamed
	  
	* mifluz/lib.h: include clib.h

Fri Mar 31 19:35:41 2000  Loic Dachary  <loic@senga.org>

	* db/db_salloc.c (CDB___db_shalloc): Applied official
	  Berkeley DB patch 
	  http://www.sleepycat.com/update/3.0.55/patch.3.0.55.html
	  as suggested by (Peter Marelas <maral@phase-one.com.au>).

Fri Mar 31 19:27:31 2000  Loic Dachary  <loic@senga.org>

	* mifluz/WordContext.cc (Initialize): do not specify the 
	  default again ("Dwayne Fontenot" <emddjf@chron.com>).

Fri Mar 31 12:38:55 2000  Loic Dachary  <loic@senga.org>

	* test/search.cc: fix compile warnings. Check with purify.

Wed Mar 29 18:52:35 2000  Loic Dachary  <loic@ceic.com>

	* mifluz/WordCursor.cc (Seek): use temporary copy of
	  found.Key() instead of found itself. Otherwise not
	  possible to Seek + retrieve latest match.

	* test/search.cc: WordTreeOr re-implemented from
	  WordSearchOr to comply with WordCursor semantic.

Tue Mar 28 18:18:00 2000  Loic Dachary  <loic@ceic.com>

	* test/search.cc (Search): WordTreeAnd implemented with
	  WordCursors base class.

Sat Mar 25 15:12:41 2000  Loic Dachary  <loic@ceic.com>

	* mifluz/{WordKey,WordReference,WordRecord}.{cc,h}: rename
	  Set(StringList) to SetList(StringList) to avoid overload 
	  conflicts.

	* mifluz/WordList.{cc,h},WordCursor.{cc,h}: Walk* functions
	  migrate from WordList to WordCursor. WordCursor constructors
	  hidden, new Cursor method in WordList to return a WordCursor
	  object. A WordCursor object now has a pointer to the WordList
	  object that created it. With these changes, WordCursor has
	  an STL like semantic even if syntax is different. Virtualize
	  functions for derivation purpose.

	* man/WordList.3,WordCursor.3: upgraded documentation for Walk*
	  related changes.

Fri Mar 24 16:02:26 2000  Loic Dachary  <loic@ceic.com>

	* mifluz/WordCursor.h (class WordCursor): data members
	  become private and accessors are added to allow derivation
	  for search purpose.

	* mifluz/WordList.cc,WordCursor.h: remove search.status, return
	  code holds all information. Only keep it to hold IsAtEnd()
	  status. Rename WORD_WALK_OK to OK.

	* test/search.cc (SearchCursorAnd): WalkNext == NOTOK &&
	  PossibleDocument == WORD_SYNC_OK is an error and should be
	  treated as such (previously returned WORD_SEARCH_CURSOR_REDO).

Thu Mar 23 16:12:42 2000  Loic Dachary  <loic@ceic.com>

	* test/search.cc: implement boolean query parser, first part (or,
	  and, near, literal).  Build classes describing the syntax tree
	  (WordTree* classes). Rewrite the parser (WordParser) to use the
	  boolean query parser. Remove the -o option.

	* test/t_search: update to use the boolean query parser instead of
	  -o + white space separated word list.

Thu Mar 23 08:52:40 2000  Loic Dachary  <loic@ceic.com>

	* INDEX-STRUCTURE: Add, plans for next index architecture

Thu Mar 23 00:40:32 2000  Loic Dachary  <loic@ceic.com>

	* mifluz/String.cc,HtPack.cc: replace cerr by fprintf(stderr or comment
	  out if NOSTREAM (Peter Marelas <maral@phase-one.com.au>).

	* README: add -lz in link example (Peter Marelas <maral@phase-one.com.au>)

Wed Mar 22 10:35:44 2000  Loic Dachary  <loic@ceic.com>

	* mifluz release 0.14.0

	* db/Makefile.am (INCLUDES): fix -I relative to top_srcdir

	* examples/Makefile.am (EXTRA_DIST): add t_example to EXTRA_DIST

Tue Mar 21 23:23:33 2000  Loic Dachary  <loic@ceic.com>

	* test/benchmark/{N,Nz,W,Wz}: Add benchmark results of make MONITOR=-m dobench
	
	* test/dbbench.cc (fill_one): add -R to randomize numerical
	  values in key.

	* doc/mifluz.texinfo: Added chapter on Cache tuning

	* test/dbbench.cc (fill_one): use count so that entries are unique

Mon Mar 20 13:59:43 2000  Loic Dachary  <loic@ceic.com>

	* db/bt_compare.c: add monitor for number of compare

	* db/db_am.c: add monitor for GET(0)
	
	* test/benchmark-report (report): clean output and presentation,
	  merge compress graph together for easy reading.

Fri Mar 17 15:16:05 2000  Loic Dachary  <loic@ceic.com>

	* db/bt_split.c (CDB___bam_broot): Add monitor gauge for tree level

	* db/mp_cmpr.c (CDB___memp_cmpr_alloc): Add monitor gauge for file size

	* test/dbbench.cc (fill_one): adjust entry size with or without
	  Word classes to be the same size.

	* test/Makefile.am (bench): automatically call benchmark-report if
	  rrdtool is installed and MONITOR='-m' set when running benches.

	* mifluz/WordMonitor.cc (TimerStart): use time(0) instead of simulated
	  time.

	* test/benchmark/{not}sorted-2000-03-12/index.html: update comments

	* mifluz/WordMonitor.{cc,h}: Add C interface to WordMonitor.

Fri Mar 17 10:01:37 2000  Loic Dachary  <loic@ceic.com>

	* htdb/{htdump,load,stat}.cc: update usage message

	* examples/t_example: regression test for example

Thu Mar 16 05:58:08 2000  Loic Dachary  <loic@ceic.com>

	* doc/mifluz.texinfo: update. Remove entries that are now in
	  manual pages, fix typos, clarify some parts review numbers.

	* README: review & update.

	* example/example0.cc: extensively comment, simplify.

	* man/{WordCursor.3,WordMonitor.3}: Added

Wed Mar 15 05:01:17 2000  Loic Dachary  <loic@ceic.com>

	* mifluz/WordCursor.cc (Seek): rename ModifyKey to Seek
	  since it's really what it is.

Wed Mar 15 03:54:04 2000  Loic Dachary  <loic@ceic.com>

	* mifluz/WordReference.h (class WordReference): fix return type
	  of KeyUnpack.

	* mifluz/WordRecordInfo.cc,WordRecordInfo.h: create from WordRecord

	* mifluz/WordDBInfo.h: update comments

	* man/{WordDBInfo.3,WordRecordInfo.3,WordRecord.3,WordReference.3}: 
	  Added

Wed Mar 15 01:59:20 2000  Loic Dachary  <loic@ceic.com>

	* db/mp_fopen.c: change mp from global to static.

	* db/prefix-symbols.sh: rename global symbols, renaming functions
	  is not enough.

Tue Mar 14 00:07:16 2000  Loic Dachary  <loic@ceic.com>

	* man/man_generate: build manual pages from header files

	* man/Makefile.am: repository for manual pages.

	* mifluz/WordList.{h,cc}: kill FirstSkipField function that
	  was not used anymore.
	
	* mifluz/{WordList.h,WordKey.h,WordContext.h}: review and update
	  comments.
	
	* mifluz/WordList.cc (Walk): check return code from WalkInit
	  and WalkFinish.

	* */*.cc: replace i = 1 with i = WORD_FIRSTFIELD where possible.

	* mifluz/WordList.h (class WordList): return type was wrong.

	* */*: replace WordSearchDescription with WordCursor

Mon Mar 13 22:33:42 2000  Loic Dachary  <loic@ceic.com>

	* test/t_trunc: test the O_TRUNC flag when opening 
	  a database.

	* test/txt2mifluz.cc: O_TRUNC when opening, do not
	  unlink database (should unlink weak database too,
	  clumsy).

	* mifluz/WordList.cc (Open): Added O_TRUNC flag

Mon Mar 13 05:08:07 2000  Loic Dachary  <loic@ceic.com>

	* test/search.cc (main): fixed all memory leaks

	* test/word.cc (class SkipTestEntry): delete all

	* mifluz/WordKey.cc (Set): Fix leaked bytes when using Get_First
	  + Remove, use Start_Get + Get_Next instead.

	* db/mp_cmpr.c (CDB___memp_cmpr_open): pass flags + mode of
	  main file in argument so that weakcmpr file is opened with
	  proper permissions.

	* test/t_rdonly: test that readonly mode with files without
	  write permissions works as expected with compression on.
	
Sun Mar 12 23:01:31 2000  Loic Dachary  <loic@ceic.com>

	* db/mp.h,mp_cmpr.c: weakcmpr share the same env as its parent
	  get rid of dbenv member of weakcmpr structure

	* mifluz/WordDBInfo.cc: DB_CREATE when opening shared env

	* test/t_env: test shared access

	* test/word.cc: added -e for testing shared env

	* test/word.cc (doskip_overflow): fix multiple WordContext::Initialize
	  calls bugs: all WordList must be deallocated before
	  WordContext::Initialize is called again, otherwise the dbenv
	  object is used after deletion.

Sat Mar 11 23:18:56 2000  Loic Dachary  <loic@ceic.com>

	* test/t_htdb: test all htdb programs and options

Thu Mar 09 23:18:56 2000  Loic Dachary  <loic@ceic.com>

	* renamed all external symbols prepending CDB_ to prevent
	  conflicts when used as shared library with another instance
	  of Berkeley DB.
	
	* db/*: now a helper library, flat directory with lots of
	  files. 

Wed Mar 08 22:21:58 2000  Loic Dachary  <loic@ceic.com>

	* test/word.cc (usage): remove -w useless now that description
	  of key is always in configuration object.

	* */*.cc: Never use iostream so that the standard library is
	  not needed and linking with C programs is more straight forward.
	  Transform all operator << and operator >> in Write and Read 
	  functions. Replace all cerr calls with fprintf(stderr calls.
	  Add Get() function in WordKey, WordRecord and WordReference for
	  easy use with printf.

	* Makefile.config: define NOIOSTREAM used in standard classes such
	  as htString.h to retain compatibility with htdig.

Tue Mar 07 23:01:12 2000  Loic Dachary  <loic@ceic.com>

	* db/mp/mp_cmpr.c: zlib is not anymore mandatory to 
	  activate the compression patch.

	* mifluz/WordKeyInfo.cc: re-implement only with sort order
	  simplify the key description to the max.

Tue Mar 07 05:23:34 2000  Loic Dachary  <loic@ceic.com>

	* mifluz/WordMonitor.h: re-implement, very simple framework,
	  not input method, no interval output (should be implemented
	  with timer, not active loop). No more time measures because
	  not accurate. Unique instance as WordKeyInfo.

	* mifluz/WordContext.h: initialize WordMonitor
	
	* mifluz/WordDBCompress.h: re-implement for Bekeley DB 3.0.55
	  adaptation. 

	* db/mp/mp_bh.c (__memp_bhfree): always free the chain, if
	  any. The bh is reset to null after free and we loose the
	  pointer anyway, finally filling the pool with it.

	* db/mp/mp_cmpr.c (__memp_cmpr_write): i < CMPR_MAX - 1 instead of
	  i < CMPR_MAX otherwise go beyond array limits. This fixes a 
	  major problem when handling large files.

Mon Mar 06 01:01:02 2000  Loic Dachary  <loic@ceic.com>

	* db/mp/mp_bh.c (__memp_bhfree): always free the chain, if
	  any. The bh is reset to null after free and we loose the
	  pointer anyway, finally filling the pool with it.

	* db/mp/mp_cmpr.c (__memp_cmpr_write): i < CMPR_MAX - 1 instead of
	  i < CMPR_MAX otherwise go beyond array limits. This fixes a 
	  major problem when handling large files.
	
Sat Mar 04 19:29:11 2000  Loic Dachary  <loic@ceic.com>

	* db/mp/mp_cmpr.c (__memp_cmpr_free_chain): clear BH_CMPR
	  flag. Was causing core dumps, thanks to 
	  Peter Marelas maral@phase-one.com.au for providing 
	  a simple case to reproduce the error.

	* doc/Makefile.am: change GOALS to DOCS so that make ALL_DOCS='' all
	  is meaningfull.

	* test/search.cc (AscendingFrequency): always reset incoming keys
	  before returning, otherwise caller has no way to find out what
	  was de-allocated and what was not.

Fri Mar 03 22:54:56 2000  Loic Dachary  <loic@ceic.com>

	* db/mp/mp_cmpr.c: remove cmpr_context.info member, always
	  take from dbenv that is available at all times. When
	  writing (__memp_cmpr_write) allocate chain with malloc
	  instead of shalloc to prevent ever lasting loop because
	  memory pool is full. Always free the chain after a write.
	  Rewrite more general chain allocation routine to do either
	  malloc or shalloc. 

Thu Mar 02 22:26:56 2000  Loic Dachary  <loic@ceic.com>

	* htdb/{htstat,htdump,htload}.cc: upgrade to Berkeley DB 3.0.55

Thu Mar 02 14:32:25 2000  Loic Dachary  <loic@ceic.com>

	* mifluz/WordDB.{h,cc}: change to fit the Berkeley DB 3.0.55
	  syntax/semantic. 

	* test/dbbench.cc: change to fit the Berkeley DB 3.0.55 
	  syntax/semantic.

Tue Feb 29 13:45:33 2000  Loic Dachary  <loic@ceic.com>

	* mifluz/WordContext.cc (Initialize): Add WordDBInfo

	* mifluz/WordDBInfo: add: interface to DBENV.

	* configure.in: de-activate --enable-cxx, only use C interface
	  of Berkeley DB.

Mon Feb 28 22:59:34 2000  Loic Dachary  <loic@ceic.com>

	* mifluz/WordMonitor.cc (WordMonitor): set nomonitor = 0

Fri Feb 25 13:16:51 2000  Loic Dachary  <loic@ceic.com>

	* mifluz/WordList.h (class WordList): export GetConfiguration to
	  SWIG.

	* test/search.cc: WordKeySemantic new class configurable
	  meaning for document and location.

	* test/search.cc: uniq_server becomes uniq and holds the
	  boundary of uniq stripping.

Wed Feb 23 10:28:18 2000  Loic Dachary  <loic@ceic.com>

	* README: added credits section

Wed Feb 23 09:45:20 2000  Loic Dachary  <loic@ceic.com>

	* test/dbbench.cc: remove random test of pack/unpack

	* test/word.cc: Add SetRandom static function

	* mifluz/WordKey.{cc,h}: remove SetRandom method

Tue Feb 22 21:32:16 2000  Loic Dachary  <loic@ceic.com>

	* mifluz release 0.13.0
	
	* examples/example0.cc: add include WordContext.h

Wed Feb 16 13:43:53 2000  Marcel Bosc  <bosc@ceic.com>

	* mifluz/WordKey.cc (SetRandom): added optional argument to WordKey::SetRandom

Tue Feb 15 18:41:40 2000  Loic Dachary  <loic@ceic.com>

	* mifluz/WordMonitor.cc: Add #include "htconfig.h"

	* mifluz/{lib.h,Configuration.h,HtTime.h}: do not include htconfig.h. Headers
	  must *never* include htconfig.h or they cant be used outside htdig and will
	  conflict with existing configuration files. It is the job of the source file
	  to *always* include htconfig.h.

	* scripts/README: more hints about synchronization of ChangeLog
	
Tue Feb 15 17:25:20 2000  Loic Dachary  <loic@ceic.com>

	* Sync htdig
	
	* Makefile.config (INCLUDES): remove DEFAULT_CONFIG because
	  it was not used.

Tue Feb 15 17:16:23 2000  Loic Dachary  <loic@ceic.com>

	* mifluz/mifluz.h: fix comment

	* mifluz/.cvsignore: add 

Tue Feb 15 15:42:43 2000  Loic Dachary  <loic@ceic.com>

	* ChangeLog: restore content up to Dec 16 that was trashed 
	  at some point.
	
	* README: updated to fit new installation scheme

	* mifluz/Makefile.am: Fix installation so that only mifluz.h
	  is visible (others in mifluz/*.h).

	* *: make the CVS tree standalone

	* scripts/* : procedures to synchronize with htdig
	
	* mifluz/* : Group all files from htword/htlib in mifluz dir
	  build only one library.

	* {htword,htlib} : kill

	* {db,htdb} : copies from htdig tree

Fri Feb 11 11:32:23 2000  Loic Dachary  <loic@ceic.com>

	* Makefile.am,configure.in (SUBDIRS): kill useless MIFLUZSUBDIR.

Fri Feb 11 00:27:56 2000  Loic Dachary  <loic@ceic.com>

	* test/Makefile.am (EXTRA_DIST): add mifluz-search.conf

	* test/.version: 0.13
	
	* test/t_search: $srcdir in front of mifluz-search.conf

Thu Feb 10 16:28:03 2000  Loic Dachary  <loic@ceic.com>

	* test/word.cc (class SkipTestEntry): use WordRefs() instead
	  of Collect(WordSearchDescription(empty, HTDIG_WORDLIST_COLLECTOR)).

Wed Feb 09 17:26:57 2000  Loic Dachary  <loic@ceic.com>

	* configure.in: add --enable-compat185 so that libhtdb can be
	  installed as a replacement of the system installed library.

Wed Feb 09 11:29:16 2000  Loic Dachary  <loic@ceic.com>

	* test/search.cc (Initialize): fixed errors in traces messages
	  not showing the proper function name.

Tue Feb 08 16:20:16 2000  Loic Dachary  <loic@ceic.com>

	* test/search.cc: Split OR implementation in three functions
	  a bit redundant but *much* clearer and as efficient. Added
	  WordPermute class to produce permutations including proximity.
	  Include proximity search in the OR implementation.
	  review all comments, messages and code organization. 

	* test/t_search: Added tests for OR using proximity.

Mon Feb 07 11:53:55 2000  Loic Dachary  <loic@ceic.com>

	* test/search.cc: Replace OPERATOR_?? by inheritance and
	  virtual functions. Move PossibleDocument to WordSearchOr
	  and exclude/proximity data memberst too. Move proximity
	  datamemeber to WordSearchNear.

Sat Feb 05 20:40:13 2000  Loic Dachary  <loic@ceic.com>

	* test/word.cc: replace printf by if(verbose) cerr <<

Sat Feb 05 19:06:13 2000  Loic Dachary  <loic@ceic.com>

	* htdig_update: added -z3 to cvs call for speed.

Sat Feb 05 16:36:12 2000  Loic Dachary  <loic@ceic.com>

	* test/search.cc (SearchNearOne): Added uniq_server and near
	  operator. Use SetToFollowing and review the code for consistency.

	* test/t_search: added tests for or/near operators to cover typical
	  usage. This is not a proper regression test yet.

Wed Feb 02 12:43:25 2000  Loic Dachary  <loic@ceic.com>

	* test/word.cc (doskip_harness): exercice all possible cases
	  of SkipUselessSequentialWalking.
	
	* test/word.cc (doword): if verbose > 3 set verbose - 2 on 
	  WordList objects.

	* test/word.cc (doskip_overflow): add doskip_overflow, doskip
	  now calls doskip_normal (previously doskip) and doskip_overflow.

	* test/word.cc: Update usage(), add symbolic names for field numbers

Tue Feb 01 21:32:07 2000  Loic Dachary  <loic@ceic.com>

	* test/search.cc: The list of search terms is now in 
	  a list of pointers to WordKey instead of an array of WordKey.
	  The sorting of keys in increasing frequency is now thread safe.

	* test/t_search: add tests to check limit conditions.

	* test/search.cc (Search): Can return OK NOTOK SEARCH_ATEND
	  instead of 'last matched document is empty string' clumsy
	  magic.

	* test/search.cc: context now saves and restore exclude
	  bits and is usable for OR search resuming.

	* test/t_search: add tests for OR search resuming with context.

Tue Feb 01 13:08:04 2000  Loic Dachary  <loic@ceic.com>

	* test/t_htsearch: use -C instead of deprecated -d

	* test/search.cc: cleanup the code and comment. Make
	  Document* functions a separate set, with key description 
	  constants. Wrap the search parsing functions in WordParser
	  class so that WordSearch only contains search logic.
	  Build functions Context* to handle information that allows
	  to resume a search at the point it left off. Change -d in -C.
	  Create a Exclude class to hold the code + data handling permutations
	  of exclude flags for OR search.

Fri Jan 28 12:26:01 2000  Loic Dachary  <loic@ceic.com>

	* configure.in: get rid of tools directory that was growing out of
	  date and is not used anyway.

Tue Jan 25 13:24:15 2000  Loic Dachary  <loic@ceic.com>

	* test/search.cc: re-implement permutation of exclude flags.

Mon Jan 24 18:21:45 2000  Loic Dachary  <loic@ceic.com>

	* test/t_search: Add minimal test for OR retrieval model in search.cc

Fri Jan 21 18:22:24 2000  Loic Dachary  <loic@ceic.com>

	* test/.gdbinit: set MIFLUZ_CONFIG=mifluz.conf

	* test/search.cc: implement OR retrieval model.

	* test/search.cc (Search): implement repositioning (-d option) 
	  (start where last search left) and -c -b options to control the number
	  of document retrieved and skipped.

	* test/t_search: function helper for testing, test -c -b and -d
	  options.

Thu Jan 20 16:55:37 2000  Loic Dachary  <loic@ceic.com>

	* test/search.txt,test/search.cc,test/t_search: Testing WalkNext,
	  WalkInit and WalkFinish by implementing AND search using
	  parallel cursors.

Sat Jan 15 13:33:38 2000  Loic Dachary  <loic@ceic.com>

	* mifluz release 0.12.0

	* test/Makefile.am: update comments to explain mifluz.conf usage
	  and remove LENGTHY_TEST obsolete comment. Added mifluz.conf to
	  EXTRA_DIST.

Mon Jan 17 13:37:33 2000  Marcel Bosc  <bosc@ceic.com>

	* doc/mifluz.texinfo : updated key specification and configuration docs

Sat Jan 15 12:39:38 2000  Loic Dachary  <loic@ceic.com>

	* test/txt2mifluz.cc: Load an ascii index description into
	  an index. 

	* test/t_wordskip: use txt2mifluz.cc

	* test/word.cc: use file generated by txt2mifluz instead of
	  opening it ourselves.
	
	* test/test_functions.in: Add MIFLUZ_CONFIG to point to the
	  default index description.

	* test/Makefile.am: move all programs to the target check_PROGRAMS
	  to only compile if tests wanted.

	* test/word.cc: remove index description, rely on mifluz.conf.
	  No duplicate configuration, -z set the compress flag alone.

	* test/dbbench.cc: remove index description, rely on mifluz.conf
	  file.

	* test/dbbench.cc: use WordContext::Initialize to load config
	  from file if any.
	  Only show structure key and params list of -v specified.

	* test/mifluz.conf: added: key description for htdb utilities

Thu Jan 13 22:58:37 2000  Loic Dachary  <loic@ceic.com>

	* test/dbbench.cc (bench_pack_unpack): fix new WordContext usage

Wed Jan 12 20:48:16 2000  Loic Dachary  <loic@ceic.com>

	* test/dbbench.cc,test/word.cc: fix to fit new WordSearchDescription 
	  constructors.

Mon Jan 10 16:58:20 2000  Loic Dachary  <loic@ceic.com>

	* test/dbbench.cc,test/word.cc: update according
	  to function name changes (killed InSortOrder, upcase first
	  letter).

Thu Jan 06 16:53:36 2000  Loic Dachary  <loic@ceic.com>

	* test/dbbench.cc, test/tools/bench0.cc: change show to Show
	
	* htdig_update: More secure htdig_update. Do not update at top level.
	  removed htnet from list of directories. 

Thu Jan 06 14:49:17 2000  Marcel Bosc  <bosc@ceic.com>

	* mifluz: added htdig_update

Mon Jan 03 14:23:37 2000  Marcel Bosc  <bosc@ceic.com>

	* mifluz release 0.11.0

Sun Dec 19 20:04:42 1999  Loic Dachary  <loic@ceic.com>

	* htdb/{Makefile.am, err.cc}: add err.cc for portability
	  purposes.

Fri Dec 17 18:04:09 1999  Loic Dachary  <loic@ceic.com>

	* Makefile.config: add PROFILING variable and document it. Designed
	  to enable profiling of htdig easily. 

	* */Makefile.am: add *_LDFLAGS = $(PROFILING) for every binary to
	  enable profiling, if specified.

Thu Dec 16 17:16:33 1999  Loic Dachary  <loic@ceic.com>

	* htdb/*.cc: add -W option to activate htword specific compression. 
          Keep compatibility with zlib compression (-z only).

Thu Dec 16 11:56:02 1999  Loic Dachary  <loic@ceic.com>

	* test/dbbench.cc: change wrong strcpy with memcpy

Thu Dec 16 12:26:07 1999  Loic Dachary  <loic@ceic.com>

	* test/dbbench.cc: add -g option, -z now uses custom compression,
	  include #if ZLIB to allow compilation without ZLIB.
	  -z -g uses zlib instead of custom compression.

Thu Dec 16 10:57:02 1999  Loic Dachary  <loic@ceic.com>

	* RELEASE 0.10.0:

	* htdig_checkout: extract htdig ChangeLog into ChangeLog.htdig. Since
	  the modifications done to htlib/htword/db/htdb are logged into
	  htdig ChangeLog, this is a necessary complement of the mifluz
	  ChangeLog

Wed Dec 15 18:30:47 1999  Loic Dachary  <loic@ceic.com>

	* htdig_checkout,configure.in: add htdb (contains htload, htdump,
	  htstat)

Tue Dec 14 18:46:53 1999  Loic Dachary  <loic@ceic.com>

	* test/tools/.cvsignore,example/.cvsignore,doc/.cvsignore: add or
	  update

	* test/word.cc: upgrade to use new Set/Get methods in htword/Word*

	* test/skiptest_db.txt: The string format now has a fixed format. No
	  field may be ommited. The word suffix is always set <UNDEF> if not
	  defined or <DEF> if defined. Easier parsing.

Thu Dec 09 18:56:12 1999  Loic Dachary  <loic@ceic.com>

	* acinclude.m4 (CHECK_ZLIB): upgraded, stronger checking. Bombs
	  if either zlib.h or libz is not found.

Thu Dec 09 14:56:50 1999  Marcel Bosc <bosc@ceic.com>

	* RELEASE 0.9.0: 

Mon Nov 08 10:32:20 1999  Marcel Bosc <bosc@ceic.com>

	* RELEASE 0.8.0
	
	* Makefile.am: had forgotten examples directory in extra_dist

Wed Nov 03 19:19:43 1999  Marcel Bosc  <bosc@ceic.com>

	* RELEASE 0.7.0 

	* doc/mifluz.texinfo : added doc on API, added examples
	* examples/ : added this directory containing examples
	of usage of the API

Tue Oct 26 16:22:48 1999  Loic Dachary  <loic@ceic.com>

	* test/word.cc (get_int_array): include fstream.h instead of fstream

Tue Oct 26 13:17:56 1999  Loic Dachary  <loic@ceic.com>

	* configure.in: remove --enable-test, always enabled

Thu Oct 21 18:00:15 1999  Loic Dachary  <loic@ceic.com>

	* configure.in: DOCUMENTATION (html,ps,info) fed according to
	  available tools.

	* doc/mifluz.texinfo: fix makeinfo bugs

Tue Oct 19 13:10:01 1999  Loic Dachary  <loic@ceic.com>

	* acconfig.h: remove unecessary VERSION

	* configure.in: do not generate VERSION and PACKAGE in htconfig.h.in

Tue Oct 19 10:22:42 1999  Loic Dachary  <loic@ceic.com>

	* Makefile.config: AUTOMAKE_OPTIONS = foreign

	* configure.in: -with-key to specify alternate htword/word.desc

	* test/word.cc: fix warnings

Fri Oct 15 18:24:36 1999  Marcel Bosc  <bosc@ceic.com>

	* htdig_checkout: switching to htdig branch 3.2.x

Wed Oct 06 10:56:53 1999  Loic Dachary  <loic@ceic.com>

	* First working revision, including two month work from htdig
	  and Berkeley DB with compression patches.

