Changes:
2009-05-08 Mikio Hirabayashi <mikio@users.sourceforge.net>
* tcutil.h: signedness of some members of TCMAP and TCTREE were changed.
* tcutil.c (tchexdecode): a bug related to handling space characters was fixed.
- Release: 1.4.20
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
This changes the buildlink3.mk files to use an include guard for the
recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS,
BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new
variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of
enter/exit marker, which can be used to reconstruct the tree and
to determine first level includes. Avoiding := for large variables
(BUILDLINK_ORDER) speeds up parse time as += has linear complexity.
The include guard reduces system time by avoiding reading files over and
over again. For complex packages this reduces both %user and %sys time to
half of the former time.
Changes:
2009-02-13 Mikio Hirabayashi <mikio@users.sourceforge.net>
* tctdb.c (tctdbgenuidimpl): the meta data format was normalized to the big endian.
* tctdb.c (tctdbsetuidseed): new function.
* tcadb.c (tcadbmisc): "get" function of the table database was enhanced.
- Release: 1.4.6
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
Changes:
2009-01-21 Mikio Hirabayashi <mikio@users.sourceforge.net>
* tcutil.c (tcatof): new function.
* tcbdb.c (tcbdbleafaddrec): allocation tuning of duplicated records was modified.
* tcadb.c: all methods now support the table database API.
- Release: 1.4.2
Changes:
2009-01-19 Mikio Hirabayashi <mikio@users.sourceforge.net>
* tcutil.c (tctdbsearchimpl): optimized with macros.
* tcbdb.c (tcbdbcurjumpimpl): a bug related to backword positioning was fixed.
* tctdb.c (tctdbsearchimpl): a bug related to numeric range search was fixed.
* tctdb.c (tctdbsetcache, tctdbforeach, tctdbqryproc): new functions.
* tctdb.c (tctdbqryonecondmatch): new function.
- Release: 1.4.1
2009-01-04 Mikio Hirabayashi <mikio@users.sourceforge.net>
* tcutil.c (tccmpdecimal): equal numbers are now distinct by lexical order.
* tcutil.c (tclistnew3, tcmapnew3): new functions.
* tcutil.c (tcatoix, tclistinvert, tclog2l, tclog2d): new functions.
* tcutil.c (tcstrsplit2, tcstrsplit3, tcstrsplit4): new functions.
* tcutil.c (tcstrjoin2, tcstrjoin3, tcstrjoin4): new functions.
* tchdb.c (tchdbputimpl): a bug of memory corruption was fixed.
* tchdb.c (tchdbgetnext3): new function.
* tcbdb.c (tcbdbleafaddrec): a bug of memory corruption was fixed.
* tcbdb.c (tcbdboptimizeimpl): a bug related to parameter accession was fixed.
* tctdb.h, tctdb.c, tcttest.c, tctmttest.c, tctmgr.c: new files.
- Release: 1.4.0
Changes:
2009-12-27 Mikio Hirabayashi <mikio@users.sourceforge.net>
* tcadb.c (tcadbmisc): the return value of the "getlist" function was modified.
- Release: 1.3.27
2008-12-17 Mikio Hirabayashi <mikio@users.sourceforge.net>
* tchdb.c (tchdbforeach): global locking was replaced by record locking.
* tcbdb.c (tcbdbforeachimpl): cache adjustment was added.
* tcadb.c (tcadbmisc): new function.
- Release: 1.3.26
Changes:
2008-10-19 Mikio Hirabayashi
* myconf.h: missing features of PATH_MAX and nan is now emulated.
* tcutil.c (tczeromap, tczerounmap): new functions.
- Release: 1.3.14
2008-10-19 Mikio Hirabayashi
* tcutil.c (tcmdbadddouble): NAN were replaced by the nan function.
* Makefile.in: the compilation command now supports Solaris.
- Release: 1.3.13
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.