TCBMTTEST(1)

✨ TCBMTTEST(1) ✨ β€” the Tokyo Cabinet B+ tree test-suite era πŸ’…

okay bestie, gather round, because we're talking about tcbmttest β€” a manual page from the Tokyo Cabinet collection, and she is lowkey iconic πŸŽ€


🌸 NAME 🌸

tcbmttest β€” the test cases of the B+ tree database API πŸ¦‹


πŸ’– DESCRIPTION πŸ’–

So the command tcbmttest is a utility for facility test and performance test. It's the "let's stress-test this whole database and see if she survives" girlie. ✨

This command is used in the following format. Let's break down the lil placeholders first, because they're giving very specific:

  • path specifies the path of a database file.
  • tnum specifies the number of running threads.
  • 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.

🧚 the formats, in all their glory 🧚

πŸ’œ write β€” go off, store those records

tcbmttest write [-tl] [-td|-tb|-tt|-tx] [-xm num] [-df num] [-nl|-nb] [-rnd] path tnum rnum [lmemb [nmemb [bnum [apow [fpow]]]]]

Store records with keys of 8 bytes. And the way they change?? They go 00000001, 00000002... one by one, no skips, no cap. πŸ”₯

πŸ’œ read β€” retrieval arc

tcbmttest read [-xm num] [-df num] [-nl|-nb] [-wb] [-rnd] path tnum

Retrieve all records of the database above. yes ma'am, we're getting them all back. πŸ‘‘

πŸ’œ remove β€” the deletion era

tcbmttest remove [-xm num] [-df num] [-nl|-nb] [-rnd] path tnum

Remove all records of the database above. gone. deleted. not me being dramatic about it but like πŸ’€

πŸ’œ wicked β€” chaos mode activated

tcbmttest wicked [-tl] [-td|-tb|-tt|-tx] [-nl|-nb] [-nc] path tnum rnum

Perform updating operations selected at random. fr fr, she's picking fights with the database at random and seeing what happens. πŸ™ˆ

πŸ’œ typical β€” the well-rounded queen

tcbmttest typical [-tl] [-td|-tb|-tt|-tx] [-xm num] [-df num] [-nl|-nb] [-nc] [-rr num] path tnum rnum [lmemb [nmemb [bnum [apow [fpow]]]]]

Perform typical operations selected at random. just a lil bit of everything, a sampler platter, main character energy all around. ⭐

πŸ’œ race β€” the competition

tcbmttest race [-tl] [-td|-tb|-tt|-tx] [-xm num] [-df num] [-nl|-nb] path tnum rnum [lmemb [nmemb [bnum [apow [fpow]]]]]

Perform race condition test. threads fighting for the same thing, absolute cinema. 🌈


✨ OPTIONS ✨

The options are featuring the following, and bestie, there are a lot of them, so buckle up:

  • -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.
  • -xm num β€” specify the size of the extra mapped memory.
  • -df num β€” specify the unit step number of auto defragmentation.
  • -nl β€” enable the option BDBNOLCK.
  • -nb β€” enable the option BDBLCKNB.
  • -rnd β€” select keys at random. 🎲
  • -wb β€” use the function tchdbget3 instead of tchdbget. (a lil swap, iykyk)
  • -nc β€” omit the comparison test.
  • -rr num β€” specify the ratio of reading operation by percentage.

🫢 exit status 🫢

This command returns 0 on success, and another on failure. simple as that, no overthinking. πŸ’–


πŸ¦‹ SEE ALSO πŸ¦‹

go read those too, bestie, they're all part of the same friend group. 🌸


🌟 okay that's the whole page!! every flag, every arg, every default, all accounted for. slay. periodt. πŸ’…

mwah πŸ’œ this lil walkthrough comes to you straight from the Tokyo Cabinet manual, dated 2012-08-18 β€” yeah she's vintage but she ate β€” and it lives under the man page name TCBMTTEST(1). take care of her πŸŽ€βœ¨