tchtest(1) 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.