From: hgn Date: Fri, 2 May 2025 17:18:27 +0000 (+0100) Subject: dbtest X-Git-Url: https://harrygodden.com/git/?a=commitdiff_plain;h=cefe3c99e4c0c99889ac1b1f864316681c5659ab;p=carveJwlIkooP6JGAAIwe30JlM.git dbtest --- diff --git a/src/dbtest.c b/src/dbtest.c index db34a7f..d0ad269 100644 --- a/src/dbtest.c +++ b/src/dbtest.c @@ -10,6 +10,7 @@ #include "vg/vg_log.h" #include "vg/vg_m.h" #include "vg/vg_db.h" +#include "vg/vg_opt.h" const char *stringybob = "Hello World!"; @@ -37,13 +38,32 @@ static i32 entry_comp_steamid( vg_skipper_context *ctx, void *comparand, u16 ite else return compid < steamid? -1: 1; } -int main( int argc, char *argv[] ) +int main( int argc, const char *argv[] ) { vg_log_init(); + _vg_opt_init( argc, argv ); + + bool die_mid_transaction = 0, + die_in_kinda_safe_place = 0; + + if( vg_long_opt( "die-mid-transaction", "" ) ) + die_mid_transaction = 1; + + if( vg_long_opt( "die-safe", "" ) ) + die_in_kinda_safe_place = 1; + + int num_to_add = 2; + const char *arg; + if( (arg = vg_long_opt_arg( "add", "" )) ) + num_to_add = atoi( arg ); + + if( !_vg_opt_check() ) + exit(0); + char yes[512]; strcpy( yes, stringybob ); - vg_db_open( &db, "main.db" ); + vg_db_open( &db, "main.db", "main.db.wal" ); u64 table_addr = db.userdata_address+offsetof(struct playground,table), steamid_skip_addr = db.userdata_address+offsetof(struct playground,steamid_skipper); @@ -52,6 +72,8 @@ int main( int argc, char *argv[] ) vg_db_dumb_table_init( &db, table_addr, sizeof(struct entry), max ); vg_db_skipper_init( &db, steamid_skip_addr, max ); //vg_db_skipper_init( &db, db.userdata_address+offsetof(struct playground,time_skipper), max ); + + vg_db_checkpoint( &db ); vg_skipper_context ctx = { .address = steamid_skip_addr, @@ -59,7 +81,7 @@ int main( int argc, char *argv[] ) .fn_compare = entry_comp_steamid }; - for( u32 i=0; i<8; i ++ ) + for( u32 i=0; i