Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
TCHDB(3)			  Tokyo Cabinet 			TCHDB(3)

NAME
     tchdb - the hash database API

DESCRIPTION
     Hash  database  is  a  file containing a hash table and is handled with the
     hash database API.

     To use the hash database API, include `tcutil.h',	`tchdb.h',  and  related
     standard  header  files.  Usually, write the following description near the
     front of a source file.

	    #include <tcutil.h>
	    #include <tchdb.h>
	    #include <stdlib.h>
	    #include <time.h>
	    #include <stdbool.h>
	    #include <stdint.h>

     Objects whose type is pointer to `TCHDB' are used to handle hash databases.
     A hash database object is created	with  the  function  `tchdbnew'  and  is
     deleted  with  the function `tchdbdel'.  To avoid memory leak, it is impor-
     tant to delete every object when it is no longer in use.

     Before operations to store or retrieve records, it is necessary to  open  a
     database  file  and  connect  the hash database object to it.  The function
     `tchdbopen' is used to open a database file and the  function  `tchdbclose'
     is  used  to close the database file.  To avoid data missing or corruption,
     it is important to close every database file when it is no longer	in  use.
     It is forbidden for multible database objects in a process to open the same
     database at the same time.

API
     The  function `tchdberrmsg' is used in order to get the message string cor-
     responding to an error code.

	    const char *tchdberrmsg(int ecode);
		   `ecode' specifies the error code.
		   The return value is the message string of the error code.

     The function `tchdbnew' is used in order to create a hash database object.

	    TCHDB *tchdbnew(void);
		   The return value is the new hash database object.

     The function `tchdbdel' is used in order to delete a hash database object.

	    void tchdbdel(TCHDB *hdb);
		   `hdb' specifies the hash database object.
		   If the database is not closed, it is closed implicitly.  Note
		   that the deleted object and its derivatives can not	be  used
		   anymore.

     The  function  `tchdbecode' is used in order to get the last happened error
     code of a hash database object.

	    int tchdbecode(TCHDB *hdb);
		   `hdb' specifies the hash database object.
		   The return value is the last happened error code.
		   The following error codes are defined: `TCESUCCESS' for  suc-
		   cess,  `TCETHREAD'  for threading error, `TCEINVALID' for in-
		   valid operation, `TCENOFILE' for file not found,  `TCENOPERM'
		   for	no  permission,  `TCEMETA' for invalid meta data, `TCER-
		   HEAD' for invalid record header, `TCEOPEN'  for  open  error,
		   `TCECLOSE' for close error, `TCETRUNC' for trunc error, `TCE-
		   SYNC' for sync error, `TCESTAT' for stat error, `TCESEEK' for
		   seek  error,  `TCEREAD'  for read error, `TCEWRITE' for write
		   error, `TCEMMAP' for mmap error, `TCELOCK'  for  lock  error,
		   `TCEUNLINK'	for  unlink error, `TCERENAME' for rename error,
		   `TCEMKDIR' for mkdir error, `TCERMDIR' for rmdir error, `TCE-
		   KEEP' for existing record, `TCENOREC' for  no  record  found,
		   and `TCEMISC' for miscellaneous error.

     The  function `tchdbsetmutex' is used in order to set mutual exclusion con-
     trol of a hash database object for threading.

	    bool tchdbsetmutex(TCHDB *hdb);
		   `hdb' specifies the hash database object which is not opened.
		   If successful, the return value is true, else, it is false.
		   Note that the mutual exclusion control of the database should
		   be set before the database is opened.

     The function `tchdbtune' is used in order to set the tuning parameters of a
     hash database object.

	    bool tchdbtune(TCHDB *hdb, int64_t bnum, int8_t apow,  int8_t  fpow,
	    uint8_t opts);
		   `hdb' specifies the hash database object which is not opened.
		   `bnum'  specifies the number of elements of the bucket array.
		   If it is not more than 0, the  default  value  is  specified.
		   The default value is 16381.	Suggested size of the bucket ar-
		   ray is about from 0.5 to 4 times of the number of all records
		   to be stored.
		   `apow'  specifies the size of record alignment by power of 2.
		   If it is negative, the default value is specified.	The  de-
		   fault value is 4 standing for 2^4=16.
		   `fpow'  specifies  the maximum number of elements of the free
		   block pool by power of 2.  If it  is  negative,  the  default
		   value  is  specified.   The	default value is 10 standing for
		   2^10=1024.
		   `opts' specifies options by bitwise-or: `HDBTLARGE' specifies
		   that the size of the database can be larger than 2GB by using
		   64-bit bucket array, `HDBTDEFLATE' specifies that each record
		   is compressed with  Deflate	encoding,  `HDBTBZIP'  specifies
		   that   each	 record   is  compressed  with	BZIP2  encoding,
		   `HDBTTCBS' specifies that each record is compressed with TCBS
		   encoding.
		   If successful, the return value is true, else, it is false.
		   Note that the tuning parameters  should  be	set  before  the
		   database is opened.

     The function `tchdbsetcache' is used in order to set the caching parameters
     of a hash database object.

	    bool tchdbsetcache(TCHDB *hdb, int32_t rcnum);
		   `hdb' specifies the hash database object which is not opened.
		   `rcnum' specifies the maximum number of records to be cached.
		   If  it  is not more than 0, the record cache is disabled.  It
		   is disabled by default.
		   If successful, the return value is true, else, it is false.
		   Note that the caching parameters should  be	set  before  the
		   database is opened.

     The  function `tchdbsetxmsiz' is used in order to set the size of the extra
     mapped memory of a hash database object.

	    bool tchdbsetxmsiz(TCHDB *hdb, int64_t xmsiz);
		   `hdb' specifies the hash database object which is not opened.
		   `xmsiz' specifies the size of the extra mapped memory.  If it
		   is not more than 0, the extra mapped memory is disabled.  The
		   default size is 67108864.
		   If successful, the return value is true, else, it is false.
		   Note that the mapping parameters should  be	set  before  the
		   database is opened.

     The  function `tchdbsetdfunit' is used in order to set the unit step number
     of auto defragmentation of a hash database object.

	    bool tchdbsetdfunit(TCHDB *hdb, int32_t dfunit);
		   `hdb' specifies the hash database object which is not opened.
		   `dfunit' specifie the unit step number.  If it  is  not  more
		   than 0, the auto defragmentation is disabled.  It is disabled
		   by default.
		   If successful, the return value is true, else, it is false.
		   Note that the defragmentation parameters should be set before
		   the database is opened.

     The  function `tchdbopen' is used in order to open a database file and con-
     nect a hash database object.

	    bool tchdbopen(TCHDB *hdb, const char *path, int omode);
		   `hdb' specifies the hash database object which is not opened.
		   `path' specifies the path of the database file.
		   `omode' specifies the  connection  mode:  `HDBOWRITER'  as  a
		   writer,  `HDBOREADER'  as  a  reader.   If  the  mode is `HD-
		   BOWRITER', the following may be  added  by  bitwise-or:  `HD-
		   BOCREAT', which means it creates a new database if not exist,
		   `HDBOTRUNC', which means it creates a new database regardless
		   if  one  exists,  `HDBOTSYNC',  which means every transaction
		   synchronizes updated contents with the device.  Both of  `HD-
		   BOREADER'  and  `HDBOWRITER'  can  be added to by bitwise-or:
		   `HDBONOLCK', which means it opens the database  file  without
		   file  locking,  or  `HDBOLCKNB',  which means locking is per-
		   formed without blocking.
		   If successful, the return value is true, else, it is false.

     The function `tchdbclose' is used in order to close a hash database object.

	    bool tchdbclose(TCHDB *hdb);
		   `hdb' specifies the hash database object.
		   If successful, the return value is true, else, it is false.
		   Update of a database is assured to be written when the  data-
		   base  is  closed.   If a writer opens a database but does not
		   close it appropriately, the database will be broken.

     The function `tchdbput' is used in order to store	a  record  into  a  hash
     database object.

	    bool  tchdbput(TCHDB  *hdb,  const	void *kbuf, int ksiz, const void
	    *vbuf, int vsiz);
		   `hdb' specifies the	hash  database	object	connected  as  a
		   writer.
		   `kbuf' specifies the pointer to the region of the key.
		   `ksiz' specifies the size of the region of the key.
		   `vbuf' specifies the pointer to the region of the value.
		   `vsiz' specifies the size of the region of the value.
		   If successful, the return value is true, else, it is false.
		   If  a  record with the same key exists in the database, it is
		   overwritten.

     The function `tchdbput2' is used in order to store a string record  into  a
     hash database object.

	    bool tchdbput2(TCHDB *hdb, const char *kstr, const char *vstr);
		   `hdb'  specifies  the  hash	database  object  connected as a
		   writer.
		   `kstr' specifies the string of the key.
		   `vstr' specifies the string of the value.
		   If successful, the return value is true, else, it is false.
		   If a record with the same key exists in the database,  it  is
		   overwritten.

     The  function  `tchdbputkeep' is used in order to store a new record into a
     hash database object.

	    bool tchdbputkeep(TCHDB *hdb, const void *kbuf, int ksiz, const void
	    *vbuf, int vsiz);
		   `hdb' specifies the	hash  database	object	connected  as  a
		   writer.
		   `kbuf' specifies the pointer to the region of the key.
		   `ksiz' specifies the size of the region of the key.
		   `vbuf' specifies the pointer to the region of the value.
		   `vsiz' specifies the size of the region of the value.
		   If successful, the return value is true, else, it is false.
		   If  a  record  with the same key exists in the database, this
		   function has no effect.

     The function `tchdbputkeep2' is used in order to store a new string  record
     into a hash database object.

	    bool tchdbputkeep2(TCHDB *hdb, const char *kstr, const char *vstr);
		   `hdb'  specifies  the  hash	database  object  connected as a
		   writer.
		   `kstr' specifies the string of the key.
		   `vstr' specifies the string of the value.
		   If successful, the return value is true, else, it is false.
		   If a record with the same key exists in  the  database,  this
		   function has no effect.

     The  function  `tchdbputcat' is used in order to concatenate a value at the
     end of the existing record in a hash database object.

	    bool tchdbputcat(TCHDB *hdb, const void *kbuf, int ksiz, const  void
	    *vbuf, int vsiz);
		   `hdb'  specifies  the  hash	database  object  connected as a
		   writer.
		   `kbuf' specifies the pointer to the region of the key.
		   `ksiz' specifies the size of the region of the key.
		   `vbuf' specifies the pointer to the region of the value.
		   `vsiz' specifies the size of the region of the value.
		   If successful, the return value is true, else, it is false.
		   If there is no corresponding record, a new record is created.

     The function `tchdbputcat2' is used in order to concatenate a string  value
     at the end of the existing record in a hash database object.

	    bool tchdbputcat2(TCHDB *hdb, const char *kstr, const char *vstr);
		   `hdb'  specifies  the  hash	database  object  connected as a
		   writer.
		   `kstr' specifies the string of the key.
		   `vstr' specifies the string of the value.
		   If successful, the return value is true, else, it is false.
		   If there is no corresponding record, a new record is created.

     The function `tchdbputasync' is used in order to store a record into a hash
     database object in asynchronous fashion.

	    bool tchdbputasync(TCHDB *hdb, const void  *kbuf,  int  ksiz,  const
	    void *vbuf, int vsiz);
		   `hdb'  specifies  the  hash	database  object  connected as a
		   writer.
		   `kbuf' specifies the pointer to the region of the key.
		   `ksiz' specifies the size of the region of the key.
		   `vbuf' specifies the pointer to the region of the value.
		   `vsiz' specifies the size of the region of the value.
		   If successful, the return value is true, else, it is false.
		   If a record with the same key exists in the database,  it  is
		   overwritten.  Records passed to this function are accumulated
		   into the inner buffer and wrote into the file at a blast.

     The  function  `tchdbputasync2'  is  used in order to store a string record
     into a hash database object in asynchronous fashion.

	    bool tchdbputasync2(TCHDB *hdb, const char *kstr, const char *vstr);
		   `hdb' specifies the	hash  database	object	connected  as  a
		   writer.
		   `kstr' specifies the string of the key.
		   `vstr' specifies the string of the value.
		   If successful, the return value is true, else, it is false.
		   If  a  record with the same key exists in the database, it is
		   overwritten.  Records passed to this function are accumulated
		   into the inner buffer and wrote into the file at a blast.

     The function `tchdbout' is used in order to remove a record of a hash data-
     base object.

	    bool tchdbout(TCHDB *hdb, const void *kbuf, int ksiz);
		   `hdb' specifies the	hash  database	object	connected  as  a
		   writer.
		   `kbuf' specifies the pointer to the region of the key.
		   `ksiz' specifies the size of the region of the key.
		   If successful, the return value is true, else, it is false.

     The  function  `tchdbout2'  is used in order to remove a string record of a
     hash database object.

	    bool tchdbout2(TCHDB *hdb, const char *kstr);
		   `hdb' specifies the	hash  database	object	connected  as  a
		   writer.
		   `kstr' specifies the string of the key.
		   If successful, the return value is true, else, it is false.

     The  function  `tchdbget'	is  used in order to retrieve a record in a hash
     database object.

	    void *tchdbget(TCHDB *hdb, const void *kbuf, int ksiz, int *sp);
		   `hdb' specifies the hash database object.
		   `kbuf' specifies the pointer to the region of the key.
		   `ksiz' specifies the size of the region of the key.
		   `sp' specifies the pointer to the  variable	into  which  the
		   size of the region of the return value is assigned.
		   If  successful, the return value is the pointer to the region
		   of the value of the corresponding record.  `NULL' is returned
		   if no record corresponds.
		   Because an additional zero code is appended at the end of the
		   region of the return value, the return value can  be  treated
		   as  a  character  string.   Because	the region of the return
		   value is allocated with the `malloc' call, it should  be  re-
		   leased with the `free' call when it is no longer in use.

     The  function `tchdbget2' is used in order to retrieve a string record in a
     hash database object.

	    char *tchdbget2(TCHDB *hdb, const char *kstr);
		   `hdb' specifies the hash database object.
		   `kstr' specifies the string of the key.
		   If successful, the return value is the string of the value of
		   the corresponding record.  `NULL' is returned  if  no  record
		   corresponds.
		   Because  the region of the return value is allocated with the
		   `malloc' call, it should be released  with  the  `free'  call
		   when it is no longer in use.

     The  function  `tchdbget3'  is used in order to retrieve a record in a hash
     database object and write the value into a buffer.

	    int tchdbget3(TCHDB *hdb, const void *kbuf, int  ksiz,  void  *vbuf,
	    int max);
		   `hdb' specifies the hash database object.
		   `kbuf' specifies the pointer to the region of the key.
		   `ksiz' specifies the size of the region of the key.
		   `vbuf'  specifies  the  pointer  to the buffer into which the
		   value of the corresponding record is written.
		   `max' specifies the size of the buffer.
		   If successful, the return value is the size	of  the  written
		   data,  else,  it  is  -1.  -1 is returned if no record corre-
		   sponds to the specified key.
		   Note that an additional zero code is not appended at the  end
		   of the region of the writing buffer.

     The function `tchdbvsiz' is used in order to get the size of the value of a
     record in a hash database object.

	    int tchdbvsiz(TCHDB *hdb, const void *kbuf, int ksiz);
		   `hdb' specifies the hash database object.
		   `kbuf' specifies the pointer to the region of the key.
		   `ksiz' specifies the size of the region of the key.
		   If  successful,  the return value is the size of the value of
		   the corresponding record, else, it is -1.

     The function `tchdbvsiz2' is used in order to get the size of the value  of
     a string record in a hash database object.

	    int tchdbvsiz2(TCHDB *hdb, const char *kstr);
		   `hdb' specifies the hash database object.
		   `kstr' specifies the string of the key.
		   If  successful,  the return value is the size of the value of
		   the corresponding record, else, it is -1.

     The function `tchdbiterinit' is used in order to initialize the iterator of
     a hash database object.

	    bool tchdbiterinit(TCHDB *hdb);
		   `hdb' specifies the hash database object.
		   If successful, the return value is true, else, it is false.
		   The iterator is used in order to  access  the  key  of  every
		   record stored in a database.

     The  function  `tchdbiternext'  is used in order to get the next key of the
     iterator of a hash database object.

	    void *tchdbiternext(TCHDB *hdb, int *sp);
		   `hdb' specifies the hash database object.
		   `sp' specifies the pointer to the  variable	into  which  the
		   size of the region of the return value is assigned.
		   If  successful, the return value is the pointer to the region
		   of the next key, else, it is `NULL'.  `NULL' is returned when
		   no record is to be get out of the iterator.
		   Because an additional zero code is appended at the end of the
		   region of the return value, the return value can  be  treated
		   as  a  character  string.   Because	the region of the return
		   value is allocated with the `malloc' call, it should  be  re-
		   leased  with the `free' call when it is no longer in use.  It
		   is possible to access every record by  iteration  of  calling
		   this  function.   It  is  allowed to update or remove records
		   whose keys are fetched while the iteration.	However,  it  is
		   not	assured  if  updating the database is occurred while the
		   iteration.  Besides,  the  order  of  this  traversal  access
		   method  is  arbitrary, so it is not assured that the order of
		   storing matches the one of the traversal access.

     The function `tchdbiternext2' is used in order to get the next  key  string
     of the iterator of a hash database object.

	    char *tchdbiternext2(TCHDB *hdb);
		   `hdb' specifies the hash database object.
		   If  successful,  the  return  value is the string of the next
		   key, else, it is `NULL'.  `NULL' is returned when  no  record
		   is to be get out of the iterator.
		   Because  the region of the return value is allocated with the
		   `malloc' call, it should be released  with  the  `free'  call
		   when  it is no longer in use.  It is possible to access every
		   record by iteration of calling this function.  However, it is
		   not assured if updating the database is  occurred  while  the
		   iteration.	Besides,  the  order  of  this	traversal access
		   method is arbitrary, so it is not assured that the  order  of
		   storing matches the one of the traversal access.

     The  function  `tchdbiternext3' is used in order to get the next extensible
     objects of the iterator of a hash database object.

	    bool tchdbiternext3(TCHDB *hdb, TCXSTR *kxstr, TCXSTR *vxstr);
		   `hdb' specifies the hash database object.
		   `kxstr' specifies the object into which the next key is wrote
		   down.
		   `vxstr' specifies the object into which  the  next  value  is
		   wrote down.
		   If  successful,  the return value is true, else, it is false.
		   False is returned when no record is to be get out of the  it-
		   erator.

     The  function  `tchdbfwmkeys' is used in order to get forward matching keys
     in a hash database object.

	    TCLIST *tchdbfwmkeys(TCHDB *hdb, const void  *pbuf,  int  psiz,  int
	    max);
		   `hdb' specifies the hash database object.
		   `pbuf' specifies the pointer to the region of the prefix.
		   `psiz' specifies the size of the region of the prefix.
		   `max' specifies the maximum number of keys to be fetched.  If
		   it is negative, no limit is specified.
		   The	return value is a list object of the corresponding keys.
		   This function does never fail.  It returns an empty list even
		   if no key corresponds.
		   Because the object of the return value is  created  with  the
		   function  `tclistnew', it should be deleted with the function
		   `tclistdel' when it is no longer  in  use.	Note  that  this
		   function  may  be very slow because every key in the database
		   is scanned.

     The function `tchdbfwmkeys2' is used  in  order  to  get  forward	matching
     string keys in a hash database object.

	    TCLIST *tchdbfwmkeys2(TCHDB *hdb, const char *pstr, int max);
		   `hdb' specifies the hash database object.
		   `pstr' specifies the string of the prefix.
		   `max' specifies the maximum number of keys to be fetched.  If
		   it is negative, no limit is specified.
		   The	return value is a list object of the corresponding keys.
		   This function does never fail.  It returns an empty list even
		   if no key corresponds.
		   Because the object of the return value is  created  with  the
		   function  `tclistnew', it should be deleted with the function
		   `tclistdel' when it is no longer  in  use.	Note  that  this
		   function  may  be very slow because every key in the database
		   is scanned.

     The function `tchdbaddint' is used in order to add an integer to  a  record
     in a hash database object.

	    int tchdbaddint(TCHDB *hdb, const void *kbuf, int ksiz, int num);
		   `hdb'  specifies  the  hash	database  object  connected as a
		   writer.
		   `kbuf' specifies the pointer to the region of the key.
		   `ksiz' specifies the size of the region of the key.
		   `num' specifies the additional value.
		   If successful, the return value is the summation value, else,
		   it is `INT_MIN'.
		   If the corresponding record exists, the value is  treated  as
		   an  integer and is added to.  If no record corresponds, a new
		   record of the additional value is stored.

     The function `tchdbdbadddouble' is used in order to add a real number to  a
     record in a hash database object.

	    double tchdbadddouble(TCHDB *hdb, const void *kbuf, int ksiz, double
	    num);
		   `hdb'  specifies  the  hash	database  object  connected as a
		   writer.
		   `kbuf' specifies the pointer to the region of the key.
		   `ksiz' specifies the size of the region of the key.
		   `num' specifies the additional value.
		   If successful, the return value is the summation value, else,
		   it is Not-a-Number.
		   If the corresponding record exists, the value is treated as a
		   real number and is added to.  If no record corresponds, a new
		   record of the additional value is stored.

     The function `tchdbsync' is used in order to synchronize  updated	contents
     of a hash database object with the file and the device.

	    bool tchdbsync(TCHDB *hdb);
		   `hdb'  specifies  the  hash	database  object  connected as a
		   writer.
		   If successful, the return value is true, else, it is false.
		   This function is useful when another process connects to  the
		   same database file.

     The  function  `tchdboptimize'  is  used in order to optimize the file of a
     hash database object.

	    bool tchdboptimize(TCHDB *hdb, int64_t  bnum,  int8_t  apow,  int8_t
	    fpow, uint8_t opts);
		   `hdb'  specifies  the  hash	database  object  connected as a
		   writer.
		   `bnum' specifies the number of elements of the bucket  array.
		   If  it  is  not  more than 0, the default value is specified.
		   The default value is two times of the number of records.
		   `apow' specifies the size of record alignment by power of  2.
		   If it is negative, the current setting is not changed.
		   `fpow'  specifies  the maximum number of elements of the free
		   block pool by power of 2.  If it  is  negative,  the  current
		   setting is not changed.
		   `opts' specifies options by bitwise-or: `HDBTLARGE' specifies
		   that the size of the database can be larger than 2GB by using
		   64-bit bucket array, `HDBTDEFLATE' specifies that each record
		   is  compressed  with  Deflate  encoding, `HDBTBZIP' specifies
		   that  each  record  is  compressed	with   BZIP2   encoding,
		   `HDBTTCBS' specifies that each record is compressed with TCBS
		   encoding.   If  it is `UINT8_MAX', the current setting is not
		   changed.
		   If successful, the return value is true, else, it is false.
		   This function is useful to reduce the size  of  the	database
		   file with data fragmentation by successive updating.

     The function `tchdbvanish' is used in order to remove all records of a hash
     database object.

	    bool tchdbvanish(TCHDB *hdb);
		   `hdb'  specifies  the  hash	database  object  connected as a
		   writer.
		   If successful, the return value is true, else, it is false.

     The function `tchdbcopy' is used in order to copy the database  file  of  a
     hash database object.

	    bool tchdbcopy(TCHDB *hdb, const char *path);
		   `hdb' specifies the hash database object.
		   `path' specifies the path of the destination file.  If it be-
		   gins  with  `@', the trailing substring is executed as a com-
		   mand line.
		   If successful, the return value is true, else, it  is  false.
		   False  is  returned	if the executed command returns non-zero
		   code.
		   The database file is assured to be kept synchronized and  not
		   modified  while  the  copying  or  executing  operation is in
		   progress.  So, this function is useful  to  create  a  backup
		   file of the database file.

     The  function `tchdbtranbegin' is used in order to begin the transaction of
     a hash database object.

	    bool tchdbtranbegin(TCHDB *hdb);
		   `hdb' specifies the	hash  database	object	connected  as  a
		   writer.
		   If successful, the return value is true, else, it is false.
		   The database is locked by the thread while the transaction so
		   that  only  one  transaction can be activated with a database
		   object at the same time.  Thus,  the  serializable  isolation
		   level  is assumed if every database operation is performed in
		   the transaction.  All updated regions are kept  track  of  by
		   write  ahead  logging while the transaction.  If the database
		   is closed during transaction, the transaction is aborted  im-
		   plicitly.

     The  function  `tchdbtrancommit' is used in order to commit the transaction
     of a hash database object.

	    bool tchdbtrancommit(TCHDB *hdb);
		   `hdb' specifies the	hash  database	object	connected  as  a
		   writer.
		   If successful, the return value is true, else, it is false.
		   Update  in the transaction is fixed when it is committed suc-
		   cessfully.

     The function `tchdbtranabort' is used in order to abort the transaction  of
     a hash database object.

	    bool tchdbtranabort(TCHDB *hdb);
		   `hdb'  specifies  the  hash	database  object  connected as a
		   writer.
		   If successful, the return value is true, else, it is false.
		   Update in the transaction is discarded when	it  is	aborted.
		   The	state  of  the database is rollbacked to before transac-
		   tion.

     The function `tchdbpath' is used in order to get the file path  of  a  hash
     database object.

	    const char *tchdbpath(TCHDB *hdb);
		   `hdb' specifies the hash database object.
		   The	return	value is the path of the database file or `NULL'
		   if the object does not connect to any database file.

     The function `tchdbrnum' is used in order to get the number of records of a
     hash database object.

	    uint64_t tchdbrnum(TCHDB *hdb);
		   `hdb' specifies the hash database object.
		   The return value is the number of records or 0 if the  object
		   does not connect to any database file.

     The  function  `tchdbfsiz' is used in order to get the size of the database
     file of a hash database object.

	    uint64_t tchdbfsiz(TCHDB *hdb);
		   `hdb' specifies the hash database object.
		   The return value is the size of the database file or 0 if the
		   object does not connect to any database file.

SEE ALSO
     tchtest(1), tchmttest(1), tchmgr(1), tokyocabinet(3)

Man Page			   2012-08-18				TCHDB(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=tchdb&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help