TCHTEST(1)

NAME
tchtest - test cases of the hash database API

DESCRIPTION

To use the hash database API easily, the commands `tchtest', `tchmttest', and `tchmgr' are provided.

The command `tchtest' 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. `bnum' specifies the number of buckets. `apow' specifies the power of the alignment. `fpow' specifies the power of the free block pool.

    tchtest write [-mt] [-tl] [-td|-tb|-tt|-tx] [-rc num] [-xm num] [-df num] [-nl|-nb] [-as] [-rnd] path rnum [bnum [apow [fpow]]]
        Store records with keys of 8 bytes. They change as `00000001', `00000002'...
    tchtest read [-mt] [-rc num] [-xm num] [-df num] [-nl|-nb] [-wb] [-rnd] path
        Retrieve all records of the database above.
    tchtest remove [-mt] [-rc num] [-xm num] [-df num] [-nl|-nb] [-rnd] path
        Remove all records of the database above.
    tchtest rcat [-mt] [-tl] [-td|-tb|-tt|-tx] [-rc num] [-xm num] [-df num] [-nl|-nb] [-pn num] [-dai|-dad|-rl|-ru] path rnum [bnum [apow [fpow]]]
        Store records with partway duplicated keys using concatenate mode.
    tchtest misc [-mt] [-tl] [-td|-tb|-tt|-tx] [-nl|-nb] path rnum
        Perform miscellaneous test of various operations.
    tchtest 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'.
    -tl : enable the option `HDBTLARGE'.
    -td : enable the option `HDBTDEFLATE'.
    -tb : enable the option `HDBTBZIP'.
    -tt : enable the option `HDBTTCBS'.
    -tx : enable the option `HDBTEXCODEC'.
    -rc num : specify the number of cached records.
    -xm num : specify the size of the extra mapped memory.
    -df num : specify the unit step number of auto defragmentation.
    -nl : enable the option `HDBNOLCK'.
    -nb : enable the option `HDBLCKNB'.
    -as : use the function `tchdbputasync' instead of `tchdbput'.
    -rnd : select keys at random.
    -wb : use the function `tchdbget3' instead of `tchdbget'.
    -pn num : specify the number of patterns.
    -dai : use the function `tchdbaddint' instead of `tchdbputcat'.
    -dad : use the function `tchdbadddouble' instead of `tchdbputcat'.
    -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

tchmttest(1), tchmgr(1), tchdb(3), tokyocabinet(3)