aboutsummaryrefslogtreecommitdiffstats
path: root/libibex
Commit message (Collapse)AuthorAgeFilesLines
* NOOP if writing to a failed file. (word_index_pre): NOOP if failed file.Not Zed2001-08-1010-60/+240
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-08-10 Not Zed <NotZed@Ximian.com> * wordindexmem.c (sync_cache_entry): NOOP if writing to a failed file. (word_index_pre): NOOP if failed file. (ibex_create_word_index_mem): Setup blocks value. ** Added internal exception handling to libibex, in the case of errors with on-disk data, exceptions are returned. * block.c (ibex_block_cache_open): Detect fatal errors below us and clean up appropriately. (ibex_block_cache_fail): New function to handle the failure, and keep track of it. (ibex_block_cache_sync): Dont do anything if we've failed on this file. * disktail.c (tail_compress): Add blocks param so we can assert for exceptions. * hash.c, block.c disktail.c: g_assert->ibex_block_cache_assert where dealing with external data. * hash.c (hash_info): Add index param so we can assert for exceptions. * ibex_block.c (ibex_index_buffer): Setjmp before calling into internal routines. (ibex_save): " (ibex_unindex): " (ibex_find): " (ibex_find_name): " (ibex_contains_name): " (ibex_reset): Function to reset the index file if we have an error, call when we have an error. * block.h (ibex_block_cache_assert): Create assertion/exception macros, and include a setjmp buffer for returning it. 2001-08-09 Not Zed <NotZed@Ximian.com> * Makefile.am (libibex_la_SOURCES): Remove wordindex.c, wordindexmem is what's used. svn path=/trunk/; revision=11864
* Update the copyrights, replacing Helix Code with Ximian andEttore Perazzoli2001-06-2310-18/+18
| | | | | | helixcode.com with ximian.com all over the place. svn path=/trunk/; revision=10440
* Add GAL_LIBS here too. (testindex_LDADD): And here.Peter Williams2001-06-022-2/+7
| | | | | | | | | 2001-06-01 Peter Williams <peterw@ximian.com> * Makefile.am (dumpindex_LDADD): Add GAL_LIBS here too. (testindex_LDADD): And here. svn path=/trunk/; revision=10080
* Add GAL_LIBS for gunicode stuff (until glib 2.0) (INCLUDES): UseDan Winship2001-04-276-736/+35
| | | | | | | | | | | | | | | * Makefile.am (libibex_la_LIBADD): Add GAL_LIBS for gunicode stuff (until glib 2.0) (INCLUDES): Use EXTRA_GNOME_CFLAGS (dumpindex_LDADD, testindex_LDADD): fix Remove references to mkindex and lookup. * ibex_block.c (ibex_normalise_word, utf8_category): Convert to gunicode interfaces * ibex_db.c, lookup.c, mkindex.c: Unused, remove. svn path=/trunk/; revision=9584
* Oops, fix build.Michael Zucci2001-04-031-1/+3
| | | | svn path=/trunk/; revision=9110
* heavier testing of libbbexMichael Zucci2001-04-031-17/+134
| | | | svn path=/trunk/; revision=9109
* Header shuffling. Move glibc headers before gnome stuff. Same here. AddedKjartan Maraas2001-03-264-4/+13
| | | | | | | | | | | | 2001-03-26 Kjartan Maraas <kmaraas@gnome.org> * disktail.c: Header shuffling. Move glibc headers before gnome stuff. * testindex.c: Same here. * wordindexmem.c: Added <string.h> and <stdlib.h> to quench warnings from newer gcc. svn path=/trunk/; revision=8938
* Merge from camel-mt-branch.Not Zed2000-12-246-6/+128
| | | | | | | | 2000-12-24 Not Zed <NotZed@HelixCode.com> * Merge from camel-mt-branch. svn path=/trunk/; revision=7152
* Added some casts to get rid of warnings. (tail_dump): #if 0ed this out toChristopher James Lahey2000-12-143-6/+20
| | | | | | | | | | | | | | 2000-12-13 Christopher James Lahey <clahey@helixcode.com> * disktail.c (tail_compress): (tail_get): Added some casts to get rid of warnings. (tail_dump): #if 0ed this out to get rid of a warning. (ibex_diskarray_dump): Added a prototype. * ibex_block.c (ibex_index_buffer): Assigned cat the value 0 to start off with to avoid a warning. svn path=/trunk/; revision=6993
* Made cache_sanity only be included if d(x) is defined as x.Christopher James Lahey2000-12-133-1/+14
| | | | | | | | | | | | | 2000-12-12 Christopher James Lahey <clahey@helixcode.com> * wordindex.c (cache_sanity): Made cache_sanity only be included if d(x) is defined as x. * wordindexmem.c: Made node_sanity and cache_sanity only be included if d(x) is defined as x or if MALLOC_CHECK is defined. Made sync_value only be included if d(x) is defined as x. svn path=/trunk/; revision=6947
* ShushJP Rosevear2000-11-291-3/+2
| | | | svn path=/trunk/; revision=6709
* Turn off index stats by default.Not Zed2000-11-285-17/+31
| | | | | | | | | | | | | | | | | 2000-11-28 Not Zed <NotZed@HelixCode.com> * index.h: Turn off index stats by default. * ibex_block.c (ibex_save): And here. (ibex_close): Debug out printfs. * wordindexmem.c (ibex_create_word_index_mem): And here. (num): Made buf static. * block.c (ibex_block_cache_open): Debug out some printfs. (ibex_block_read): And here. svn path=/trunk/; revision=6691
* If we have the namecache active, and there is no name there, we add itNot Zed2000-11-274-5/+278
| | | | | | | | | | | | 2000-11-17 Not Zed <NotZed@HelixCode.com> * wordindexmem.c (add_list): If we have the namecache active, and there is no name there, we add it directly and dont look it up first. * testindex.c: Some performance testing & stat gathering stuff. svn path=/trunk/; revision=6677
* Initialise nameinit & namecache. (contains_name): On first call, load allNot Zed2000-11-163-1/+76
| | | | | | | | | | | | | | | | | | 2000-11-16 Not Zed <NotZed@HelixCode.com> * wordindexmem.c (ibex_create_word_index_mem): Initialise nameinit & namecache. (contains_name): On first call, load all names into memory. We usually do a whole lot of lookups in a row, and this saves a lot of penalties on a big list, for not too much a memory hit. (find_name): If we have the namelist in memory do a quick short-circuit check to see if we have to do further processing. (unindex_name): Cross check the namecache, if it is active. Remove it there too/or exit (no work to do). (word_flush): If we have the namecache active, destroy it now, as it is not needed anymore (for now). svn path=/trunk/; revision=6591
* #include <stdlib.h> to remove warning. #include <stdlib.h> and <string.h>.Kjartan Maraas2000-10-313-0/+8
| | | | | | | | | 2000-10-30 Kjartan Maraas <kmaraas@gnome.org> * hash.c: #include <stdlib.h> to remove warning. * wordindex.c: #include <stdlib.h> and <string.h>. svn path=/trunk/; revision=6278
* Oopps, knew i shoul'dve compiled before committing.Michael Zucci2000-10-263-2/+4
| | | | | | (IBEX_VERSION): moved into block.h svn path=/trunk/; revision=6193
* Another slight performance improvement, reads the list of wordsNot Zed2000-10-264-29/+67
| | | | | | | | | | | | | | | | | | | | | | | faster when starting indexing of new data. 2000-10-26 Not Zed <NotZed@HelixCode.com> * block.c (ibex_block_cache_open): Use IBEX_VERSION rather than hardcoded version string. * ibex_internal.h (IBEX_VERSION): Bumped version again. This time I did change the index format. * hash.c (struct _hashroot): Add a linked list of keys to the table. (struct _hashblock): Added a next pointer as a block number. (hash_insert): Link new key blocks into the key block list. (struct _HASHCursor): Renamed block to key and added a block item. (hash_cursor_next): Changed to go through the linked list of all hash items rather than through each hash chain separately. >> faster. (ibex_hash_dump_rec): Remove a warning. svn path=/trunk/; revision=6192
* No longer include <db.h>52000-10-262-1/+4
| | | | | | | | | | | | | 2000-10-25 <jpr@helixcode.com> * ibex_block.c: No longer include <db.h> 2000-10-25 <jpr@helixcode.com> * e-shortcuts-view-model.c (load_group_into_model): Set folder to NULL to kill warning svn path=/trunk/; revision=6180
* Bugfixes, performance improvemnts. Should scale up much better thanNot Zed2000-10-2513-86/+1121
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | before, and be more bugfree than ever! 2000-10-25 Not Zed <NotZed@HelixCode.com> * ibex_internal.h (IBEX_VERSION): Bumped to another version. The file format hasn't changed, but earlier bugs may create invalid files. * block.c (ibex_block_read): Use the root data directly. (ibex_block_cache_open): As well. (ibex_block_get): And here too. (ibex_block_cache_sync): Sync the root block directly here. * block.h: Pad root block out to 1024 bytes. Added root block to struct _memcache. * disktail.c (tail_get): Dirty the root block. (tail_get): Fix for changes to root access. (disk_remove): And here too. * wordindexmem.c (sync_cache_entry): Handle the case of not having any files in the list, which can happen now. (word_index_pre): Make sure we set the wordid on the new cache entry. * ibex_block.c (ibex_save): Sigh. Pass the right argument to index_post. * block.c (ibex_block_cache_open): Create a word_index_mem for indexing the words, rather than a word_index. * ibex_block.c (ibex_index_buffer): If we haven't called index_pre yet, do it before indexing anything. (ibex_save): If wehave called index_pre previously, call index_post. (ibex_close): And same for here. * index.h: Added a cursor class, and cursor retrieval function for iterating through an index's keys. * wordindexmem.c (ibex_create_word_index_mem): New word class, similar to wordindex, but meant to be faster for updates. (word_index_pre): Implement. We load all keys into memory. (word_index_post): Implement. We sync and free all keys. (find): Remove lru code, its no longer a cache, but a lookup table. (add_index_cache): Remove lru code here too. (find_name): And here. (word_flush): Flush the hashtable direct. (word_close): Call flush to flush, rather than doing it ourselves. (add_index_cache): If we are in an index state, we can assume a cache miss == a new word. (word_index_post): Maintain whether or not we are in an index state, and the depth of the state. (word_index_pre): Likewise. Dont reread the index if we have already. (cache_sanity): Fixed for struct changes. * wordindex.h (IBEXWordClass): Added functions to prepare/cleanup for lots of indexing. i.e. can be used to optimise indexing speed at the cost of extra memory usage during the indexing process. * hash.c (hash_cursor_create): Create a new cursor for iterating through a hashtable. (hash_cursor_close): 'close' the cursor. It is upto the application to close any cursors it creates. (hash_cursor_next): Goto the next key id. (hash_cursor_next_key): Goto the next key, reutrn the key. (hash_get_cursor): Return a cursor object. * wordindex.c (word_index_post): (word_index_pre): Added (empty) callbacks for pre/post functions. svn path=/trunk/; revision=6165
* ShushJP Rosevear2000-10-252-0/+5
| | | | | | | | 2000-10-24 JP Rosevear <jpr@helixcode.com> * .cvsignore: Shush svn path=/trunk/; revision=6147
* Dumps the contents of indexs.Not Zed2000-10-245-6/+91
| | | | | | | | | | | | 2000-10-24 Not Zed <NotZed@HelixCode.com> * dumpindex.c: Dumps the contents of indexs. * hash.c (ibex_hash_dump_rec): Also print the word count. * wordindex.c (unindex_name): Cross-check the cache as well. svn path=/trunk/; revision=6139
* Bumped ibex rev.Not Zed2000-10-123-3/+8
| | | | | | | | | | | 2000-10-12 Not Zed <NotZed@HelixCode.com> * ibex_internal.h (struct ibex): Bumped ibex rev. * block.c (ibex_block_cache_open): Bumped the ibex file revision because of the hash table size change. svn path=/trunk/; revision=5887
* Added some stat stuff.Not Zed2000-10-125-26/+187
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2000-10-12 Not Zed <NotZed@HelixCode.com> * index.h: Added some stat stuff. * wordindex.c (struct _wordcache): Changed files[] to be a pointer to an allocated block/or an individual item. (find): Fix for changes to struct. (find_name): " (sync_cache_entry): " (add): " (add_list): " (add_index_cache): Free the cache file array if it was created. (word_flush): And here. (word_close): And here too. (ibex_create_word_index): Double the size of the hashtables. (word_flush): Make sure we reset the wordcount to 0 if we remove the list items. DOH. (add_index_cache): Use a slightly more sohpisticated aging algorithm to remove expired nodes. 2000-10-10 Not Zed <NotZed@HelixCode.com> * hash.c (hash_find): (hash_remove): (hash_insert): Truncate key if it is too big to fit in a single block to MAX_KEYLEN bytes. svn path=/trunk/; revision=5882
* Truncate key if it is too big to fit in a single block to MAX_KEYLENNot Zed2000-10-102-0/+22
| | | | | | | | | | | 2000-10-10 Not Zed <NotZed@HelixCode.com> * hash.c (hash_find): (hash_remove): (hash_insert): Truncate key if it is too big to fit in a single block to MAX_KEYLEN bytes. svn path=/trunk/; revision=5815
* Make sure we map the 'free' block to a block number when unlinking a blockNot Zed2000-09-284-11/+72
| | | | | | | | | | | | | | | | | | | | 2000-09-28 Not Zed <NotZed@HelixCode.com> * block.c (ibex_block_free): Make sure we map the 'free' block to a block number when unlinking a block (fixes a lot of assertion failures). (ibex_block_cache_open): Initialise sync flag on root block. If it is not set on open then the index could be in an invalid state, and should be rescanned. (ibex_block_cache_sync): Sync root block last, and set the sync flag. (ibex_block_cache_open): Mirror root block flags in block_cache struct. (ibex_block_cache_sync): Likewise. (ibex_block_read): If we write a dirty block, then we clear the sync flag if its still set; we are no longer synced. svn path=/trunk/; revision=5613
* Include errno.hMiguel de Icaza2000-09-211-0/+1
| | | | svn path=/trunk/; revision=5537
* ** Merged from IBEX_DISK branch to head.Not Zed2000-09-1916-924/+3681
| | | | | | | | 2000-09-19 Not Zed <NotZed@HelixCode.com> ** Merged from IBEX_DISK branch to head. svn path=/trunk/; revision=5500
* ChangeLog mistake.Chris Lahey2000-08-101-1/+1
| | | | svn path=/trunk/; revision=4668
* Fixed some warnings.NotZed2000-08-103-7/+11
| | | | | | | | 2000-05-11 NotZed <NotZed@HelixCode.com> * file.c, find.c: Fixed some warnings. svn path=/trunk/; revision=4667
* Make sure we mark the ibex as dirty.NotZed2000-05-122-0/+5
| | | | | | | | 2000-05-11 NotZed <NotZed@HelixCode.com> * index.c (ibex_unindex): Make sure we mark the ibex as dirty. svn path=/trunk/; revision=2992
* New function, only write out the ibex if it has changed.NotZed2000-05-073-0/+24
| | | | | | | | | 2000-05-07 NotZed <NotZed@HelixCode.com> * file.c (ibex_save): New function, only write out the ibex if it has changed. svn path=/trunk/; revision=2868
* Also close the fd after we're done.72000-05-072-2/+11
| | | | | | | | 2000-05-07 <notzed@helixcode.com> * file.c (ibex_open): Also close the fd after we're done. svn path=/trunk/; revision=2859
* New function to find out if a file is indexed.NotZed2000-05-073-0/+25
| | | | | | | | | 2000-05-06 NotZed <NotZed@HelixCode.com> * find.c (ibex_contains_name): New function to find out if a file is indexed. svn path=/trunk/; revision=2856
* Set G_LOG_DOMAIN in following files.Matthew Loper2000-05-032-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | addressbook/demo/Makefile.am addressbook/printing/Makefile.am camel/Makefile.am camel/providers/MH/Makefile.am camel/providers/maildir/Makefile.am camel/providers/mbox/Makefile.am camel/providers/nntp/Makefile.am camel/providers/pop3/Makefile.am camel/providers/sendmail/Makefile.am camel/providers/smtp/Makefile.am composer/Makefile.am e-util/Makefile.am filter/Makefile.am libibex/Makefile.am mail/Makefile.am shell/Makefile.am tests/Makefile.am tests/ui-tests/Makefile.am widgets/e-table/Makefile.am widgets/e-text/Makefile.am widgets/meeting-time-sel/Makefile.am widgets/shortcut-bar/Makefile.am svn path=/trunk/; revision=2756
* Debug function to dump the whole index to stdout.NotZed2000-04-125-31/+82
| | | | | | | | | | | | | | | | | | | | | | | | 2000-04-12 NotZed <NotZed@HelixCode.com> * find.c (ibex_dump_all): Debug function to dump the whole index to stdout. * words.c (get_ibex_file): Use g_strdup(), not strdup(). 2000-04-11 NotZed <NotZed@HelixCode.com> * file.c (write_word): Always write out all words we have (even if its 0 ... the file expects it). No longer check for removed files. (store_word): Check for removed files here, and only add to the ordered tree if we have references left to this word. (ibex_write): First insert into the tree, to determine the wordcount to be saved in the output file, and then write that. (ibex_open): Remove some debug. * words.c (ibex_index_buffer): Always set 'unread', if it is a valid pointer (dont rely on caller to initialise it). svn path=/trunk/; revision=2409
* Fixed call to ibex_open.NotZed2000-03-285-11/+61
| | | | | | | | | | | | | 2000-03-26 NotZed <NotZed@HelixCode.com> * lookup.c (main): Fixed call to ibex_open. * mkindex.c (main): Fixed call to ibex_open. * file.c (ibex_open): Changed to accept flags and mode equivalent to open(2). svn path=/trunk/; revision=2202
* add gtk-doc-style commentsDan Winship2000-02-265-8/+144
| | | | svn path=/trunk/; revision=1936
* + * libical/src/libical/.cvsignore: Added *.lo, *.la, and .libs.Matthew Loper2000-02-222-0/+5
| | | | | | | | | | | | + * libical/src/libicalss/.cvsignore: same. + + * tests/.cvsignore: Added test11. + + * filter/.cvsignore: New file. + + * libibex/.cvsignore: Added mkindex. svn path=/trunk/; revision=1895
* change noinst_LIBRARIES to noinst_LTLIBRARIES, and supply -static toNotZed2000-02-222-5/+10
| | | | | | | | | 2000-02-21 NotZed <NotZed@HelixCode.com> * Makefile.am: change noinst_LIBRARIES to noinst_LTLIBRARIES, and supply -static to LDFLAGS. Duh, and changed LDADD back to libibex.la. svn path=/trunk/; revision=1892
* changed mkindex_LDADD to libibex.a instead of libibex.la.Matthew Loper2000-02-212-1/+6
| | | | | | | * Makefile.am: changed mkindex_LDADD to libibex.a instead of libibex.la. svn path=/trunk/; revision=1870
* + * widgets/e-minicard/.cvsignore: Added minicard-label-test,Matthew Loper2000-02-202-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | + minicard-test, and reflow-test. + + * shell/.cvsignore: added files autogenerated from Evolution.idl. + + * libversit/.cvsignore: Added .libs, vcc.c, vcc.lo, vobject.lo, + vcaltmp.lo, libversit.la + + * libical/src/test/.cvsignore: New file. + + * libical/src/libical/.cvsignore: New file. + + * libical/src/libicalss/.cvsignore: New file. + + * libical/.cvsignore: New file, with config.log in it. + + * calendar/.cvsignore: Added tlacuache and tl-test. + + * libibex/.cvsignore: added lookup. + + * mail/.cvsignore: added test-mail. svn path=/trunk/; revision=1859
* For now. make a libibex.a library so we can link it with the camelMiguel de Icaza2000-02-192-5/+8
| | | | | | | | | 2000-02-18 Miguel de Icaza <miguel@nuclecu.unam.mx> * Makefile.am (lookup_LDADD): For now. make a libibex.a library so we can link it with the camel provider. I hate libtool svn path=/trunk/; revision=1852
* fix license and indent styleDan Winship2000-02-1710-1107/+1292
| | | | svn path=/trunk/; revision=1814
* automakify libibexDan Winship2000-02-173-30/+26
| | | | svn path=/trunk/; revision=1813
* Finds if a word is indexed under a given name.NotZed2000-02-173-1/+30
| | | | | | | | | 2000-02-16 NotZed <NotZed@HelixCode.com> * find.[ch] (ibex_find_name): Finds if a word is indexed under a given name. svn path=/trunk/; revision=1812
* thou shall not shoutBertrand Guiheneuf2000-02-151-0/+7
| | | | svn path=/trunk/; revision=1782
* Hack together a build using libtool. This should all be auto*'d at someNotZed2000-02-142-12/+21
| | | | | | | | | 2000-02-14 NotZed <notzed@zedzone.helixcode.com> * Makefile: Hack together a build using libtool. This should all be auto*'d at some point I guess. svn path=/trunk/; revision=1773
* Initial revisionMichael Zucci2000-02-1412-0/+1527
svn path=/trunk/; revision=1768