/* * __debug_dsk_col_fix -- * Dump a WT_PAGE_COL_FIX page. */ static void __debug_dsk_col_fix(WT_DBG *ds, const WT_PAGE_HEADER *dsk) { WT_BTREE *btree; uint32_t i; uint8_t v; btree = S2BT(ds->session); WT_FIX_FOREACH(btree, dsk, v, i) { __dmsg(ds, "\t{"); __debug_hex_byte(ds, v); __dmsg(ds, "}\n"); }
/* * __wt_debug_disk -- * Dump a disk page in debugging mode. */ int __wt_debug_disk( WT_SESSION_IMPL *session, const WT_PAGE_HEADER *dsk, const char *ofile) { WT_DBG *ds, _ds; WT_DECL_RET; ds = &_ds; WT_RET(__debug_config(session, ds, ofile)); __dmsg(ds, "%s page", __wt_page_type_string(dsk->type)); switch (dsk->type) { case WT_PAGE_BLOCK_MANAGER: break; case WT_PAGE_COL_FIX: case WT_PAGE_COL_INT: case WT_PAGE_COL_VAR: __dmsg(ds, ", recno %" PRIu64, dsk->recno); /* FALLTHROUGH */ case WT_PAGE_ROW_INT: case WT_PAGE_ROW_LEAF: __dmsg(ds, ", entries %" PRIu32, dsk->u.entries); break; case WT_PAGE_OVFL: __dmsg(ds, ", datalen %" PRIu32, dsk->u.datalen); break; WT_ILLEGAL_VALUE(session); } if (F_ISSET(dsk, WT_PAGE_COMPRESSED)) __dmsg(ds, ", compressed"); if (F_ISSET(dsk, WT_PAGE_EMPTY_V_ALL)) __dmsg(ds, ", empty-all"); if (F_ISSET(dsk, WT_PAGE_EMPTY_V_NONE)) __dmsg(ds, ", empty-none"); __dmsg(ds, ", generation %" PRIu64 "\n", dsk->write_gen); switch (dsk->type) { case WT_PAGE_BLOCK_MANAGER: break; case WT_PAGE_COL_FIX: __debug_dsk_col_fix(ds, dsk); break; case WT_PAGE_COL_INT: case WT_PAGE_COL_VAR: case WT_PAGE_ROW_INT: case WT_PAGE_ROW_LEAF: ret = __debug_dsk_cell(ds, dsk); break; default: break; } __dmsg_wrapup(ds); return (ret); }
/* * __wt_debug_disk -- * Dump a disk page in debugging mode. */ int __wt_debug_disk( WT_SESSION_IMPL *session, WT_PAGE_HEADER *dsk, const char *ofile) { WT_DBG *ds, _ds; WT_DECL_RET; ds = &_ds; WT_RET(__debug_config(session, ds, ofile)); __dmsg(ds, "%s page", __wt_page_type_string(dsk->type)); switch (dsk->type) { case WT_PAGE_COL_FIX: case WT_PAGE_COL_INT: case WT_PAGE_COL_VAR: __dmsg(ds, ", recno %" PRIu64, dsk->recno); /* FALLTHROUGH */ case WT_PAGE_ROW_INT: case WT_PAGE_ROW_LEAF: __dmsg(ds, ", entries %" PRIu32 "\n", dsk->u.entries); break; case WT_PAGE_OVFL: __dmsg(ds, ", datalen %" PRIu32 "\n", dsk->u.datalen); break; WT_ILLEGAL_VALUE(session); } switch (dsk->type) { case WT_PAGE_COL_FIX: __debug_dsk_col_fix(ds, dsk); break; case WT_PAGE_COL_INT: case WT_PAGE_COL_VAR: case WT_PAGE_ROW_INT: case WT_PAGE_ROW_LEAF: ret = __debug_dsk_cell(ds, dsk); break; default: break; } __dmsg_wrapup(ds); return (ret); }