Commit 016a5b8f authored by Bradley C. Kuszmaul's avatar Bradley C. Kuszmaul

Change BRT_CMD to be a pointer instead (struct brt_cmd *) instead of a struct...

Change BRT_CMD to be a pointer instead (struct brt_cmd *) instead of a struct (struct brt_cmd).  Addresses #242.

git-svn-id: file:///svn/tokudb@2072 c7de825b-a66e-492c-adef-691d508d4ae1
parent d6249b26
...@@ -167,7 +167,7 @@ struct brt_cmd { ...@@ -167,7 +167,7 @@ struct brt_cmd {
} id; } id;
} u; } u;
}; };
typedef struct brt_cmd BRT_CMD; typedef struct brt_cmd BRT_CMD_S, *BRT_CMD;
struct brtenv { struct brtenv {
CACHETABLE ct; CACHETABLE ct;
...@@ -186,7 +186,7 @@ static const BRTNODE null_brtnode=0; ...@@ -186,7 +186,7 @@ static const BRTNODE null_brtnode=0;
extern u_int32_t toku_calccrc32_kvpair (const void *key, int keylen, const void *val, int vallen); extern u_int32_t toku_calccrc32_kvpair (const void *key, int keylen, const void *val, int vallen);
extern u_int32_t toku_calccrc32_cmd (int type, const void *key, int keylen, const void *val, int vallen); extern u_int32_t toku_calccrc32_cmd (int type, const void *key, int keylen, const void *val, int vallen);
extern u_int32_t toku_calccrc32_cmdstruct (BRT_CMD *cmd); extern u_int32_t toku_calccrc32_cmdstruct (BRT_CMD_S *cmd);
// How long is the pivot key? // How long is the pivot key?
unsigned int toku_brt_pivot_key_len (BRT, struct kv_pair *); // Given the tree unsigned int toku_brt_pivot_key_len (BRT, struct kv_pair *); // Given the tree
......
...@@ -487,7 +487,7 @@ static void find_heaviest_child (BRTNODE node, int *childnum) { ...@@ -487,7 +487,7 @@ static void find_heaviest_child (BRTNODE node, int *childnum) {
if (0) printf("\n"); if (0) printf("\n");
} }
static int brtnode_put_cmd (BRT t, BRTNODE node, BRT_CMD *cmd, static int brtnode_put_cmd (BRT t, BRTNODE node, BRT_CMD cmd,
int *did_split, BRTNODE *nodea, BRTNODE *nodeb, int *did_split, BRTNODE *nodea, BRTNODE *nodeb,
DBT *split, DBT *split,
int debug, int debug,
...@@ -495,7 +495,7 @@ static int brtnode_put_cmd (BRT t, BRTNODE node, BRT_CMD *cmd, ...@@ -495,7 +495,7 @@ static int brtnode_put_cmd (BRT t, BRTNODE node, BRT_CMD *cmd,
/* key is not in the buffer. Either put the key-value pair in the child, or put it in the node. */ /* key is not in the buffer. Either put the key-value pair in the child, or put it in the node. */
static int push_brt_cmd_down_only_if_it_wont_push_more_else_put_here (BRT t, BRTNODE node, BRTNODE child, static int push_brt_cmd_down_only_if_it_wont_push_more_else_put_here (BRT t, BRTNODE node, BRTNODE child,
BRT_CMD *cmd, BRT_CMD cmd,
int childnum_of_node, int childnum_of_node,
TOKUTXN txn) { TOKUTXN txn) {
assert(node->height>0); /* Not a leaf. */ assert(node->height>0); /* Not a leaf. */
...@@ -532,7 +532,7 @@ static int push_brt_cmd_down_only_if_it_wont_push_more_else_put_here (BRT t, BRT ...@@ -532,7 +532,7 @@ static int push_brt_cmd_down_only_if_it_wont_push_more_else_put_here (BRT t, BRT
} }
static int push_a_brt_cmd_down (BRT t, BRTNODE node, BRTNODE child, int childnum, static int push_a_brt_cmd_down (BRT t, BRTNODE node, BRTNODE child, int childnum,
BRT_CMD *cmd, BRT_CMD cmd,
int *child_did_split, BRTNODE *childa, BRTNODE *childb, int *child_did_split, BRTNODE *childa, BRTNODE *childb,
DBT *childsplitk, DBT *childsplitk,
TOKUTXN txn) { TOKUTXN txn) {
...@@ -657,7 +657,7 @@ static int handle_split_of_child (BRT t, BRTNODE node, int childnum, ...@@ -657,7 +657,7 @@ static int handle_split_of_child (BRT t, BRTNODE node, int childnum,
DBT skd, svd; DBT skd, svd;
toku_fill_dbt(&skd, skey, skeylen); toku_fill_dbt(&skd, skey, skeylen);
toku_fill_dbt(&svd, sval, svallen); toku_fill_dbt(&svd, sval, svallen);
BRT_CMD brtcmd; BRT_CMD_S brtcmd;
brtcmd.type = type; brtcmd.u.id.key = &skd; brtcmd.u.id.val = &svd; brtcmd.type = type; brtcmd.u.id.key = &skd; brtcmd.u.id.val = &svd;
//verify_local_fingerprint_nonleaf(childa); verify_local_fingerprint_nonleaf(childb); //verify_local_fingerprint_nonleaf(childa); verify_local_fingerprint_nonleaf(childb);
int tochildnum = childnum; int tochildnum = childnum;
...@@ -773,7 +773,7 @@ static int push_some_brt_cmds_down (BRT t, BRTNODE node, int childnum, ...@@ -773,7 +773,7 @@ static int push_some_brt_cmds_down (BRT t, BRTNODE node, int childnum,
int child_did_split=0; BRTNODE childa, childb; int child_did_split=0; BRTNODE childa, childb;
DBT hk,hv; DBT hk,hv;
DBT childsplitk; DBT childsplitk;
BRT_CMD brtcmd; BRT_CMD_S brtcmd;
toku_fill_dbt(&hk, key, keylen); toku_fill_dbt(&hk, key, keylen);
toku_fill_dbt(&hv, val, vallen); toku_fill_dbt(&hv, val, vallen);
...@@ -875,7 +875,7 @@ static int brtnode_maybe_push_down(BRT t, BRTNODE node, int *did_split, BRTNODE ...@@ -875,7 +875,7 @@ static int brtnode_maybe_push_down(BRT t, BRTNODE node, int *did_split, BRTNODE
return 0; return 0;
} }
static int brt_leaf_put_cmd (BRT t, BRTNODE node, BRT_CMD *cmd, static int brt_leaf_put_cmd (BRT t, BRTNODE node, BRT_CMD cmd,
int *did_split, BRTNODE *nodea, BRTNODE *nodeb, DBT *splitk, int *did_split, BRTNODE *nodea, BRTNODE *nodeb, DBT *splitk,
int debug, int debug,
TOKUTXN txn) { TOKUTXN txn) {
...@@ -959,7 +959,7 @@ static unsigned int brtnode_right_child (BRTNODE node, DBT *k, DBT *data, BRT t) ...@@ -959,7 +959,7 @@ static unsigned int brtnode_right_child (BRTNODE node, DBT *k, DBT *data, BRT t)
} }
/* put a cmd into a nodes child */ /* put a cmd into a nodes child */
static int brt_nonleaf_put_cmd_child_node (BRT t, BRTNODE node, BRT_CMD *cmd, static int brt_nonleaf_put_cmd_child_node (BRT t, BRTNODE node, BRT_CMD cmd,
int *did_split, BRTNODE *nodea, BRTNODE *nodeb, DBT *splitk, int *did_split, BRTNODE *nodea, BRTNODE *nodeb, DBT *splitk,
int debug, TOKUTXN txn, int childnum, int maybe) { int debug, TOKUTXN txn, int childnum, int maybe) {
int r; int r;
...@@ -1010,7 +1010,7 @@ static int brt_nonleaf_put_cmd_child_node (BRT t, BRTNODE node, BRT_CMD *cmd, ...@@ -1010,7 +1010,7 @@ static int brt_nonleaf_put_cmd_child_node (BRT t, BRTNODE node, BRT_CMD *cmd,
int toku_brt_do_push_cmd = 1; int toku_brt_do_push_cmd = 1;
/* put a cmd into a node at childnum */ /* put a cmd into a node at childnum */
static int brt_nonleaf_put_cmd_child (BRT t, BRTNODE node, BRT_CMD *cmd, static int brt_nonleaf_put_cmd_child (BRT t, BRTNODE node, BRT_CMD cmd,
int *did_split, BRTNODE *nodea, BRTNODE *nodeb, DBT *splitk, int *did_split, BRTNODE *nodea, BRTNODE *nodeb, DBT *splitk,
int debug, TOKUTXN txn, unsigned int childnum, int can_push, int *do_push_down) { int debug, TOKUTXN txn, unsigned int childnum, int can_push, int *do_push_down) {
//verify_local_fingerprint_nonleaf(node); //verify_local_fingerprint_nonleaf(node);
...@@ -1041,7 +1041,7 @@ static int brt_nonleaf_put_cmd_child (BRT t, BRTNODE node, BRT_CMD *cmd, ...@@ -1041,7 +1041,7 @@ static int brt_nonleaf_put_cmd_child (BRT t, BRTNODE node, BRT_CMD *cmd,
return 0; return 0;
} }
static int brt_nonleaf_insert_cmd (BRT t, BRTNODE node, BRT_CMD *cmd, static int brt_nonleaf_insert_cmd (BRT t, BRTNODE node, BRT_CMD cmd,
int *did_split, BRTNODE *nodea, BRTNODE *nodeb, DBT *splitk, int *did_split, BRTNODE *nodea, BRTNODE *nodeb, DBT *splitk,
int debug, TOKUTXN txn) { int debug, TOKUTXN txn) {
//verify_local_fingerprint_nonleaf(node); //verify_local_fingerprint_nonleaf(node);
...@@ -1087,7 +1087,7 @@ static int brt_nonleaf_insert_cmd (BRT t, BRTNODE node, BRT_CMD *cmd, ...@@ -1087,7 +1087,7 @@ static int brt_nonleaf_insert_cmd (BRT t, BRTNODE node, BRT_CMD *cmd,
} }
/* delete in all subtrees starting from the left most one which contains the key */ /* delete in all subtrees starting from the left most one which contains the key */
static int brt_nonleaf_delete_cmd (BRT t, BRTNODE node, BRT_CMD *cmd, static int brt_nonleaf_delete_cmd (BRT t, BRTNODE node, BRT_CMD cmd,
int *did_split, BRTNODE *nodea, BRTNODE *nodeb, DBT *splitk, int *did_split, BRTNODE *nodea, BRTNODE *nodeb, DBT *splitk,
int debug, int debug,
TOKUTXN txn) { TOKUTXN txn) {
...@@ -1155,7 +1155,7 @@ static int brt_nonleaf_delete_cmd (BRT t, BRTNODE node, BRT_CMD *cmd, ...@@ -1155,7 +1155,7 @@ static int brt_nonleaf_delete_cmd (BRT t, BRTNODE node, BRT_CMD *cmd,
} }
return 0; return 0;
} }
static int brt_nonleaf_put_cmd (BRT t, BRTNODE node, BRT_CMD *cmd, static int brt_nonleaf_put_cmd (BRT t, BRTNODE node, BRT_CMD cmd,
int *did_split, BRTNODE *nodea, BRTNODE *nodeb, int *did_split, BRTNODE *nodea, BRTNODE *nodeb,
DBT *splitk, DBT *splitk,
int debug, int debug,
...@@ -1181,7 +1181,7 @@ static void verify_local_fingerprint_nonleaf (BRTNODE node) { ...@@ -1181,7 +1181,7 @@ static void verify_local_fingerprint_nonleaf (BRTNODE node) {
assert(fp==node->local_fingerprint); assert(fp==node->local_fingerprint);
} }
static int brtnode_put_cmd (BRT t, BRTNODE node, BRT_CMD *cmd, static int brtnode_put_cmd (BRT t, BRTNODE node, BRT_CMD cmd,
int *did_split, BRTNODE *nodea, BRTNODE *nodeb, DBT *splitk, int *did_split, BRTNODE *nodea, BRTNODE *nodeb, DBT *splitk,
int debug, int debug,
TOKUTXN txn) { TOKUTXN txn) {
...@@ -1630,7 +1630,7 @@ static int brt_init_new_root(BRT brt, BRTNODE nodea, BRTNODE nodeb, DBT splitk, ...@@ -1630,7 +1630,7 @@ static int brt_init_new_root(BRT brt, BRTNODE nodea, BRTNODE nodeb, DBT splitk,
return 0; return 0;
} }
static int brt_root_put_cmd(BRT brt, BRT_CMD *cmd, TOKUTXN txn) { static int brt_root_put_cmd(BRT brt, BRT_CMD cmd, TOKUTXN txn) {
void *node_v; void *node_v;
BRTNODE node; BRTNODE node;
CACHEKEY *rootp; CACHEKEY *rootp;
...@@ -1682,7 +1682,7 @@ static int brt_root_put_cmd(BRT brt, BRT_CMD *cmd, TOKUTXN txn) { ...@@ -1682,7 +1682,7 @@ static int brt_root_put_cmd(BRT brt, BRT_CMD *cmd, TOKUTXN txn) {
int toku_brt_insert (BRT brt, DBT *key, DBT *val, TOKUTXN txn) { int toku_brt_insert (BRT brt, DBT *key, DBT *val, TOKUTXN txn) {
int r; int r;
BRT_CMD brtcmd; BRT_CMD_S brtcmd;
brtcmd.type = BRT_INSERT; brtcmd.type = BRT_INSERT;
brtcmd.u.id.key = key; brtcmd.u.id.key = key;
...@@ -1708,7 +1708,7 @@ int toku_brt_lookup (BRT brt, DBT *k, DBT *v) { ...@@ -1708,7 +1708,7 @@ int toku_brt_lookup (BRT brt, DBT *k, DBT *v) {
int toku_brt_delete(BRT brt, DBT *key, TOKUTXN txn) { int toku_brt_delete(BRT brt, DBT *key, TOKUTXN txn) {
int r; int r;
BRT_CMD brtcmd; BRT_CMD_S brtcmd;
DBT val; DBT val;
toku_init_dbt(&val); toku_init_dbt(&val);
...@@ -1722,7 +1722,7 @@ int toku_brt_delete(BRT brt, DBT *key, TOKUTXN txn) { ...@@ -1722,7 +1722,7 @@ int toku_brt_delete(BRT brt, DBT *key, TOKUTXN txn) {
int toku_brt_delete_both(BRT brt, DBT *key, DBT *val, TOKUTXN txn) { int toku_brt_delete_both(BRT brt, DBT *key, DBT *val, TOKUTXN txn) {
int r; int r;
BRT_CMD brtcmd; BRT_CMD_S brtcmd;
brtcmd.type = BRT_DELETE_BOTH; brtcmd.type = BRT_DELETE_BOTH;
brtcmd.u.id.key = key; brtcmd.u.id.key = key;
......
...@@ -28,7 +28,7 @@ u_int32_t toku_calccrc32_cmd (int type, const void *key, int keylen, const void ...@@ -28,7 +28,7 @@ u_int32_t toku_calccrc32_cmd (int type, const void *key, int keylen, const void
key, keylen, val, vallen); key, keylen, val, vallen);
} }
u_int32_t toku_calccrc32_cmdstruct (BRT_CMD *cmd) { u_int32_t toku_calccrc32_cmdstruct (BRT_CMD cmd) {
if (cmd->type <= BRT_DELETE_BOTH) if (cmd->type <= BRT_DELETE_BOTH)
return toku_calccrc32_cmd (cmd->type, cmd->u.id.key->data, cmd->u.id.key->size, cmd->u.id.val->data, cmd->u.id.val->size); return toku_calccrc32_cmd (cmd->type, cmd->u.id.key->data, cmd->u.id.key->size, cmd->u.id.val->data, cmd->u.id.val->size);
else else
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment