Changes since 1.4.46:
* tcadb.cc (tcadbmisc): compilation warnings ware supressed.
* tchdb.cc (tchdbfbpmerge): size checking was added.
* tcbdb.cc (tcbdbrangeimpl): a bug of dead locking was fixed.
2009-12-07 Mikio Hirabayashi <hirarin@gmail.com>
* tctdb.c (tctdbidxputtoken, tctdbidxputqgram): domain overflow checking was added.
- Release: 1.4.41
2009-11-24 Mikio Hirabayashi <hirarin@gmail.com>
* tchdb.c (tchdbputimpl): efficiency of using the free block pool was improved.
* tchdb.c (tchdboptimizeimpl): the behaviour in no lock mode was modified.
- Release: 1.4.40
2009-11-11 Mikio Hirabayashi <hirarin@gmail.com>
* tcutil.h (TCALIGNOF, tcgeneric_t): new macros.
* tcutil.h (TCALIGNPAD): the alignment is now calculated by the generic union.
* myconf.h (_alignof, _issigned, _maxof): new macros.
- Release: 1.4.39
2009-11-09 Mikio Hirabayashi <hirarin@gmail.com>
* tcutil.c (tcsysinfo): FreeBSD and Mac OS X are now supported.
* tcutil.c (tcmpoolclear): new function.
* tchdb.c (tchdbputproc): a potential bug of memory aligment violation was fixed.
* tcbdb.c (tcbdbputproc): a potential bug of memory aligment violation was fixed.
* tcfdb.c (tcfdbputproc): a potential bug of memory aligment violation was fixed.
- Release: 1.4.38
2009-10-27 Mikio Hirabayashi <hirarin@gmail.com>
* tctdb.c (tctdbcacheclear, tctdbcacheclearimpl): new functions.
* tcadb.c (tcadbmisc): "getpart", "cacheclear", and "regex" functions were added.
- Release: 1.4.37
2009-10-26 Mikio Hirabayashi <hirarin@gmail.com>
* tcutil.c (tcwwwformdecode2): a bug related to multiple cookie handling was fixed.
* tcadb.c (tcadbmisc): the "error" functions were added.
- Release: 1.4.36
2009-10-06 Mikio Hirabayashi <hirarin@gmail.com>
* tchdb.c (tchdbseekwrite): a bug related to emulation of the UBC was fixed.
* tchdb.c (tchdbvanishimpl): potential memory leak was removed.
* tcfdb.c (tcfdbvanishimpl): potential memory leak was removed.
* tcadb.c (tcadbsetskelmulti, tcadbmulnew, tcadbmuldel): new functions.
* tcadb.c (tcadbmisc): "range" sub function for B+ tree was added.
* tcamgr.c (setskeltran): new function.
* tcamttest.c: new file.
- Release: 1.4.35
2009-09-11 Mikio Hirabayashi <hirarin@gmail.com>
* myconf.h: a macro for environment without "nanl" was added.
* tctdbmetasearch (tctdbmetasearch): a bug related to the limit parameters was fixed.
- Release: 1.4.34
2009-08-31 Mikio Hirabayashi <hirarin@gmail.com>
* tcutil.h, tchdb.h, tcbdb.h, tcfdb.h, tctdb.h, tcadb.h: including stdbool.h was wrapped.
* tcutil.c (tccmpdecimal): accuracy was improved and now real number is supported.
* tctdb.c (tctdbqrycondmatch): accuracy of decimal operators was improved.
- Release: 1.4.33
Changes:
2009-03-11 Mikio Hirabayashi <mikio@users.sourceforge.net>
* tcutil.c (tctopsort): new function.
* tchdb.c (tchdbfbpinsert, tchdbfbpsearch, tchdbfbpsplice): performance was improved.
* tchdb.c (tchdbwriterec): concurrency was improved.
* tctdb.c (tctdbqrysearchimpl): a bug related to the skip parameter was fixed.
* tctdb.c (tctdbputimpl, tctdbidxout, tctdbqrysearchimpl): performance was improved.
- Release: 1.4.11
2009-03-02 Mikio Hirabayashi <mikio@users.sourceforge.net>
* tcutil.c (tcmdbputproc, tcndbputfunc): removing mechanism was added.
* tchdb.c (tchdbwalrestore): a bug of memory corruption was fixed.
* tchdb.c (tchdbremoverec): new function.
* tchdb.c (tchdbputproc): removing mechanism was added.
* tcbdb.c (tchdbputproc): removing mechanism was added.
* tcfdb.c (tcfdbputproc): removing mechanism was added.
* tctdb.c (tctdbsetlimit): new function instead of "tctdbqrysetmax".
* tcadb.c (tcadbmisc): "setlimit" parameter was added.
- Release: 1.4.10
2009-02-18 Mikio Hirabayashi <mikio@users.sourceforge.net>
* tcbdb.c (tcbdbnodesubidx): a bug related to tree reconstruction was fixed.
* tcbdb.c (tcbdboptimizeimpl): memory usage was reduced.
- Release: 1.4.9
2009-02-18 Mikio Hirabayashi <mikio@users.sourceforge.net>
* tcutil.c (tclrand): bias of random numbers was lightened.
* tchdb.c (tchdbsetecode): a trick to print fatal errors only was added.
* tcbdb.c (tcbdbputimpl): a bug of mixing an useless entry on division was fixed.
* tcbdb.c (tcbdbnodesubidx): regions of useless nodes are now removed recursively.
* tcadb.c (tcadbopen): aliases of the database suffixes were added.
- Release: 1.4.8
Changes:
2009-01-29 Mikio Hirabayashi <mikio@users.sourceforge.net>
* tcutil.c (tcmapputproc, tctreeputproc, tcmdbputproc, tcndbputproc): new functions.
* tchdb.c (tchdbputproc): new function.
* tchdb.c (TDBTHREADYIELD): "sched_yield" is now used instead of "pthread_yield".
* tcbdb.c (tcbdbputproc): new function.
* tcbdb.c (tcbdbcurkey, tcbdbcurval): the type of the return value was modified.
* tcfdb.c (tcfdbputproc): new function.
* tcadb.c (tcadbputproc): new function.
* tcadb.c (tcadbmisc): sub funcitons "put", "out", and "get" were added.
* tcadb.c (tcstrisnum): new function.
- Release: 1.4.4
2008-09-23 Mikio Hirabayashi
* tchdb.c (tchdbputimpl): performance of the ADDINT mode was improved.
* tcbdb.c (tcbdbleafaddrec): performance of the ADDINT mode was improved.
* tcfdb.c (tcfdbputimpl): performance of the ADDINT mode was improved.
* tcutil.c (tcpagealign): new function.
* tchdb.c (tchdbsetxmsiz): the parameter is now rounded up to multiple of the page size.
* tcfdb.c (tcfdbtune): the parameter is now rounded up to multiple of the page size.
* tchdb.c (tcseekwrite, tcseekread, tcseekreadtry): page border handling was added.
- Release: 1.3.11
2008-09-20 Mikio Hirabayashi
* tcutil.c (tcunlock): new function.
* tchdb.c (tchdbsetmutex): useless locking was eliminated.
* tcbdb.c (tcbdbsetmutex): useless locking was eliminated.
* tcfdb.c (tcfdbsetmutex): useless locking was eliminated.
- Release: 1.3.10
2008-09-10 Mikio Hirabayashi
* tchdb.c (tchdblockallrecords, tchdbunlockallrecords): new functions.
* tcfdb.c (tcfdblockallrecords, tcfdbunlockallrecords): new functions.
- Release: 1.3.9
Tokyo Cabinet is a library of routines for managing a database. The database is
a simple data file containing records, each is a pair of a key and a value.
Every key and value is serial bytes with variable length. Both binary data and
character string can be used as a key and a value. There is neither concept of
data tables nor data types. Records are organized in hash table, B+ tree, or
fixed-length array.