usage() {
puts(
"Usage:\n"
- "tbtreetest [ -c CACHESIZE ] [-r] [-k] [-f FILE] [-D | -L | -b | -i KEY -v VALUE [ -S strategynumber ] | -d KEY | -s KEY ]\n"
+ "tbtreetest [ -c CACHESIZE ] [-r] [-k] [-f FILE] [-D | -L | -b | -i KEY -v VALUE [ -S strategynumber ] | -d KEY | -s KEY ] [-V] [-q]\n"
);
exit(1);
}
int rc=0;
char *file="BTREE";
char *key=NULL, *val=NULL;
- int mode=0;
+ int mode=0, verbose=0, quietout=0;
opentlog(TL_OPEN_STDERR,TL_DEBUG, NULL);
memset(&db, 0, sizeof(TBTree));
- while((i=getopt(argn,argv,"bS:Dc:hrkf:i:v:d:s:L")) != EOF) {
+ while((i=getopt(argn,argv,"qVbS:Dc:hrkf:i:v:d:s:L")) != EOF) {
switch(i) {
+ case 'q':
+ quietout=1;
+ break;
+ case 'V':
+ verbose=1;
+ break;
case 'r':
db.readonly=1;
break;
key = strdup(optarg);
mode=MODE_DELETE;
break;
-
+ case 's':
key = strdup(optarg);
mode=MODE_SEARCH;
break;
}
if ( *buf == 'D' ) {
rc=TBTDelete(&db, &key);
- } else if ( (rc=TBTFind(&db, &key, &value))==TBT_OK ) {
+ } else if ( (rc=TBTFind(&db, &key, &value))==TBT_OK && quietout==0) {
if ( db.keylen )
printf("%d", *(int*)(key.value));
else
if ( rc ) printf("Method returns %d\n", rc);
TBTSync(&db);
- printf("Page read: %d (include cache hits %d)\n", db.pageread, db.cachehits);
- printf("Page write: %d\n", db.pagewrite);
+ if ( verbose ) {
+ printf("Page read: %d (include cache hits %d)\n", db.pageread, db.cachehits);
+ printf("Page write: %d\n", db.pagewrite);
+ }
TBTClose(&db);