---
name: "tcbtest"
section: "1"
platform: "linux"
package: "tokyocabinet-bin"
version: "1.4.48-15.1+b1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/tcbtest"
---

# tcbtest(1)

test cases of the B+ tree database API

## NAME

tcbtest - test cases of the B+ tree database API

## DESCRIPTION

The command \`**tcbtest**' is a utility for facility test and performance test.  This command is used in the following format.  \`*path*' specifies the path of a database file.  \`*rnum*' specifies the number of iterations.  \`*lmemb*' specifies the number of members in each leaf page.  \`*nmemb*' specifies the number of members in each non-leaf page.  \`*bnum*' specifies the number of buckets.  \`*apow*' specifies the power of the alignment.  \`*fpow*' specifies the power of the free block pool.

**tcbtest write** \[**-mt**\] \[**-cd**\|**-ci**\|**-cj**\] \[**-tl**\] \[**-td**\|**-tb**\|**-tt**\|**-tx**\] \[**-lc** *num*\] \[**-nc** *num*\] \[**-xm** *num*\] \[**-df** *num*\] \[**-ls** *num*\] \[**-ca** *num*\] \[**-nl**\|**-nb**\] \[**-rnd**\] *path* *rnum* \[*lmemb* \[*nmemb* \[*bnum* \[*apow* \[*fpow*\]\]\]\]\]

Store records with keys of 8 bytes.  They change as \`00000001', \`00000002'...

**tcbtest read** \[**-mt**\] \[**-cd**\|**-ci**\|**-cj**\] \[**-lc** *num*\] \[**-nc** *num*\] \[**-xm** *num*\] \[**-df** *num*\] \[**-nl**\|**-nb**\] \[**-wb**\] \[**-rnd**\] *path*

Retrieve all records of the database above.

**tcbtest remove** \[**-mt**\] \[**-cd**\|**-ci**\|**-cj**\] \[**-lc** *num*\] \[**-nc** *num*\] \[**-xm** *num*\] \[**-df** *num*\] \[**-nl**\|**-nb**\] \[**-rnd**\] *path*

Remove all records of the database above.

**tcbtest rcat** \[**-mt**\] \[**-cd**\|**-ci**\|**-cj**\] \[**-tl**\] \[**-td**\|**-tb**\|**-tt**\|**-tx**\] \[**-lc** *num*\] \[**-nc** *num*\] \[**-xm** *num*\] \[**-df** *num*\] \[**-ls** *num*\] \[**-ca** *num*\] \[**-nl**\|**-nb**\] \[**-pn** *num*\] \[**-dai**\|**-dad**\|**-rl**\|**-ru**\] *path* *rnum* \[*lmemb* \[*nmemb* \[*bnum* \[*apow* \[*fpow*\]\]\]\]\]

Store records with partway duplicated keys using concatenate mode.

**tcbtest queue** \[**-mt**\] \[**-cd**\|**-ci**\|**-cj**\] \[**-tl**\] \[**-td**\|**-tb**\|**-tt**\|**-tx**\] \[**-lc** *num*\] \[**-nc** *num*\] \[**-xm** *num*\] \[**-df** *num*\] \[**-ls** *num*\] \[**-ca** *num*\] \[**-nl**\|**-nb**\] *path* *rnum* \[*lmemb* \[*nmemb* \[*bnum* \[*apow* \[*fpow*\]\]\]\]\]

Perform queueing and dequeueing.

**tcbtest misc** \[**-mt**\] \[**-tl**\] \[**-td**\|**-tb**\|**-tt**\|**-tx**\] \[**-nl**\|**-nb**\] *path* *rnum*

Perform miscellaneous test of various operations.

**tcbtest wicked** \[**-mt**\] \[**-tl**\] \[**-td**\|**-tb**\|**-tt**\|**-tx**\] \[**-nl**\|**-nb**\] *path* *rnum*

Perform updating operations selected at random.

Options feature the following.

**-mt** : call the function \`tchdbsetmutex'.\
 **-cd** : use the comparison function \`tccmpdecimal'.\
 **-ci** : use the comparison function  \`tccmpint32'.\
 **-cj** : use the comparison function  \`tccmpint64'.\
 **-tl** : enable the option \`BDBTLARGE'.\
 **-td** : enable the option \`BDBTDEFLATE'.\
 **-tb** : enable the option \`BDBTBZIP'.\
 **-tt** : enable the option \`BDBTTCBS'.\
 **-tx** : enable the option \`BDBTEXCODEC'.\
 **-lc** *num* : specify the number of cached leaf pages.\
 **-nc** *num* : specify the number of cached non-leaf pages.\
 **-xm** *num* : specify the size of the extra mapped memory.\
 **-df** *num* : specify the unit step number of auto defragmentation.\
 **-ls** *num* : specify the maximum size of each leaf page.\
 **-ca** *num* : specify the capacity number of records.\
 **-nl** : enable the option \`BDBNOLCK'.\
 **-nb** : enable the option \`BDBLCKNB'.\
 **-rnd** : select keys at random.\
 **-wb** : use the function \`tcbdbget3' instead of \`tcbdbget'.\
 **-pn** *num* : specify the number of patterns.\
 **-dai** : use the function \`tcbdbaddint' instead of \`tcbdbputcat'.\
 **-dad** : use the function \`tcbdbadddouble' instead of \`tcbdbputcat'.\
 **-rl** : set the length of values at random.\
 **-ru** : select update operations at random.\

This command returns 0 on success, another on failure.

## SEE ALSO

[**tcbmttest**(1)](/tcbmttest/1.md), [**tcbmgr**(1)](/tcbmgr/1.md), [**tcbdb**(3)](/tcbdb/3.md), [**tokyocabinet**(3)](/tokyocabinet/3.md)
