/* * __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; ds = &_ds; WT_RET(__debug_config(session, ds, ofile)); WT_RET(ds->f(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: WT_RET(ds->f(ds, ", recno %" PRIu64, dsk->recno)); /* FALLTHROUGH */ case WT_PAGE_ROW_INT: case WT_PAGE_ROW_LEAF: WT_RET(ds->f(ds, ", entries %" PRIu32, dsk->u.entries)); break; case WT_PAGE_OVFL: WT_RET(ds->f(ds, ", datalen %" PRIu32, dsk->u.datalen)); break; WT_ILLEGAL_VALUE(session); } if (F_ISSET(dsk, WT_PAGE_COMPRESSED)) WT_RET(ds->f(ds, ", compressed")); if (F_ISSET(dsk, WT_PAGE_ENCRYPTED)) WT_RET(ds->f(ds, ", encrypted")); if (F_ISSET(dsk, WT_PAGE_EMPTY_V_ALL)) WT_RET(ds->f(ds, ", empty-all")); if (F_ISSET(dsk, WT_PAGE_EMPTY_V_NONE)) WT_RET(ds->f(ds, ", empty-none")); if (F_ISSET(dsk, WT_PAGE_LAS_UPDATE)) WT_RET(ds->f(ds, ", LAS-update")); WT_RET(ds->f(ds, ", generation %" PRIu64 "\n", dsk->write_gen)); switch (dsk->type) { case WT_PAGE_BLOCK_MANAGER: break; case WT_PAGE_COL_FIX: WT_RET(__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: WT_RET(__debug_dsk_cell(ds, dsk)); break; default: break; } return (__dmsg_wrapup(ds)); }
/* * __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); }