diff options
Diffstat (limited to 'src/third_party/wiredtiger/src/btree/bt_stat.c')
-rw-r--r-- | src/third_party/wiredtiger/src/btree/bt_stat.c | 31 |
1 files changed, 19 insertions, 12 deletions
diff --git a/src/third_party/wiredtiger/src/btree/bt_stat.c b/src/third_party/wiredtiger/src/btree/bt_stat.c index e3b9bbced48..d7150859e8f 100644 --- a/src/third_party/wiredtiger/src/btree/bt_stat.c +++ b/src/third_party/wiredtiger/src/btree/bt_stat.c @@ -137,7 +137,6 @@ __stat_page_col_var( WT_CELL_UNPACK *unpack, _unpack; WT_COL *cip; WT_INSERT *ins; - WT_UPDATE *upd; uint64_t deleted_cnt, entry_cnt, ovfl_cnt, rle_cnt; uint32_t i; bool orig_deleted; @@ -177,31 +176,39 @@ __stat_page_col_var( * we find, correct the original count based on its state. */ WT_SKIP_FOREACH(ins, WT_COL_UPDATE(page, cip)) { - upd = ins->upd; - if (upd->type == WT_UPDATE_RESERVED) - continue; - if (upd->type == WT_UPDATE_DELETED) { + switch (ins->upd->type) { + case WT_UPDATE_DELETED: if (!orig_deleted) { ++deleted_cnt; --entry_cnt; } - } else + break; + case WT_UPDATE_MODIFIED: + case WT_UPDATE_STANDARD: if (orig_deleted) { --deleted_cnt; ++entry_cnt; } + break; + case WT_UPDATE_RESERVED: + break; + } } } /* Walk any append list. */ - WT_SKIP_FOREACH(ins, WT_COL_APPEND(page)) { - if (ins->upd->type == WT_UPDATE_RESERVED) - continue; - if (ins->upd->type == WT_UPDATE_DELETED) + WT_SKIP_FOREACH(ins, WT_COL_APPEND(page)) + switch (ins->upd->type) { + case WT_UPDATE_DELETED: ++deleted_cnt; - else + break; + case WT_UPDATE_MODIFIED: + case WT_UPDATE_STANDARD: ++entry_cnt; - } + break; + case WT_UPDATE_RESERVED: + break; + } WT_STAT_INCRV(session, stats, btree_column_deleted, deleted_cnt); WT_STAT_INCRV(session, stats, btree_column_rle, rle_cnt); |