summaryrefslogtreecommitdiff
path: root/src/btree/bt_misc.c
diff options
context:
space:
mode:
authorKeith Bostic <keith@wiredtiger.com>2012-08-18 09:15:37 +0000
committerKeith Bostic <keith@wiredtiger.com>2012-08-18 09:15:37 +0000
commitf6cc208176aee57cb879ba7edc1454c71db9a86d (patch)
tree65c8f7a0b6d70a8ee04134d455e56b8c933ac65b /src/btree/bt_misc.c
parent910d4912789ffbc0d1c33481dd32651e8fad4ccc (diff)
downloadmongo-f6cc208176aee57cb879ba7edc1454c71db9a86d.tar.gz
Next set of changes for fast-truncate: the ability to delete leaf pages
(that don't have overflow items), without reading them. Ref #247. Add a new "hidden" type, WT_CELL_ADDR_LNO (leaf no overflow) that marks a leaf page without overflow items; when we unpack a cell, we set a flag in the cell structure in this case, the standard unpack type is still WT_CELL_ADDR. Add a WT_ADDR.leaf_no_overflow field that flags if the addr references a leaf page w/o overflow items; reconcilition uses this field to decide which cell type to use on an internal page. Add a WT_RECONCILE.ovfl_items flag, and set it when reconciliation finds an overflow key/value item. Then, when creating the WT_ADDR for the page, set the leaf_no_overflow field if we've found an overflow item. Update the debugging, verify and salvage routines to match.
Diffstat (limited to 'src/btree/bt_misc.c')
-rw-r--r--src/btree/bt_misc.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/btree/bt_misc.c b/src/btree/bt_misc.c
index 6952cbc4fb5..3fc76a51018 100644
--- a/src/btree/bt_misc.c
+++ b/src/btree/bt_misc.c
@@ -47,6 +47,8 @@ __wt_cell_type_string(uint8_t type)
switch (type) {
case WT_CELL_ADDR:
return ("address");
+ case WT_CELL_ADDR_LNO:
+ return ("address/lno");
case WT_CELL_DEL:
return ("deleted");
case WT_CELL_KEY: