summaryrefslogtreecommitdiff
path: root/src/third_party/wiredtiger/src/btree/bt_vrfy.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/third_party/wiredtiger/src/btree/bt_vrfy.c')
-rw-r--r--src/third_party/wiredtiger/src/btree/bt_vrfy.c71
1 files changed, 25 insertions, 46 deletions
diff --git a/src/third_party/wiredtiger/src/btree/bt_vrfy.c b/src/third_party/wiredtiger/src/btree/bt_vrfy.c
index ea134802bdd..976aceb4cb4 100644
--- a/src/third_party/wiredtiger/src/btree/bt_vrfy.c
+++ b/src/third_party/wiredtiger/src/btree/bt_vrfy.c
@@ -303,27 +303,6 @@ __verify_checkpoint_reset(WT_VSTUFF *vs)
}
/*
- * __verify_addr_string --
- * Figure out a page's "address" and load a buffer with a printable, nul-terminated
- * representation of that address.
- */
-static const char *
-__verify_addr_string(WT_SESSION_IMPL *session, WT_REF *ref, WT_ITEM *buf)
-{
- size_t addr_size;
- const uint8_t *addr;
-
- if (__wt_ref_is_root(ref)) {
- buf->data = "[Root]";
- buf->size = strlen("[Root]");
- return (buf->data);
- }
-
- __wt_ref_info(session, ref, &addr, &addr_size, NULL);
- return (__wt_addr_string(session, addr, addr_size, buf));
-}
-
-/*
* __verify_addr_ts --
* Check an address block's timestamps.
*/
@@ -336,26 +315,26 @@ __verify_addr_ts(WT_SESSION_IMPL *session, WT_REF *ref, WT_CELL_UNPACK *unpack,
WT_RET_MSG(session, WT_ERROR,
"internal page reference at %s has a newest stop "
"timestamp of 0",
- __verify_addr_string(session, ref, vs->tmp1));
+ __wt_page_addr_string(session, ref, vs->tmp1));
if (unpack->oldest_start_ts > unpack->newest_stop_ts)
WT_RET_MSG(session, WT_ERROR,
"internal page reference at %s has an oldest start "
"timestamp %s newer than its newest stop timestamp %s",
- __verify_addr_string(session, ref, vs->tmp1),
+ __wt_page_addr_string(session, ref, vs->tmp1),
__wt_timestamp_to_string(unpack->oldest_start_ts, ts_string[0]),
__wt_timestamp_to_string(unpack->newest_stop_ts, ts_string[1]));
if (unpack->newest_stop_txn == WT_TXN_NONE)
WT_RET_MSG(session, WT_ERROR,
"internal page reference at %s has a newest stop "
"transaction of 0",
- __verify_addr_string(session, ref, vs->tmp1));
+ __wt_page_addr_string(session, ref, vs->tmp1));
if (unpack->oldest_start_txn > unpack->newest_stop_txn)
WT_RET_MSG(session, WT_ERROR,
"internal page reference at %s has an oldest start "
"transaction (%" PRIu64
") newer than its newest stop "
"transaction (%" PRIu64 ")",
- __verify_addr_string(session, ref, vs->tmp1), unpack->oldest_start_txn,
+ __wt_page_addr_string(session, ref, vs->tmp1), unpack->oldest_start_txn,
unpack->newest_stop_txn);
return (0);
}
@@ -384,12 +363,12 @@ __verify_tree(WT_SESSION_IMPL *session, WT_REF *ref, WT_CELL_UNPACK *addr_unpack
unpack = &_unpack;
- __wt_verbose(session, WT_VERB_VERIFY, "%s %s", __verify_addr_string(session, ref, vs->tmp1),
+ __wt_verbose(session, WT_VERB_VERIFY, "%s %s", __wt_page_addr_string(session, ref, vs->tmp1),
__wt_page_type_string(page->type));
/* Optionally dump the address. */
if (vs->dump_address)
- WT_RET(__wt_msg(session, "%s %s", __verify_addr_string(session, ref, vs->tmp1),
+ WT_RET(__wt_msg(session, "%s %s", __wt_page_addr_string(session, ref, vs->tmp1),
__wt_page_type_string(page->type)));
/* Track the shape of the tree. */
@@ -448,7 +427,7 @@ recno_chk:
if (recno != vs->record_total + 1)
WT_RET_MSG(session, WT_ERROR, "page at %s has a starting record of %" PRIu64
" when the expected starting record is %" PRIu64,
- __verify_addr_string(session, ref, vs->tmp1), recno, vs->record_total + 1);
+ __wt_page_addr_string(session, ref, vs->tmp1), recno, vs->record_total + 1);
break;
}
switch (page->type) {
@@ -498,7 +477,7 @@ celltype_err:
WT_RET_MSG(session, WT_ERROR,
"page at %s, of type %s, is referenced in "
"its parent by a cell of type %s",
- __verify_addr_string(session, ref, vs->tmp1), __wt_page_type_string(page->type),
+ __wt_page_addr_string(session, ref, vs->tmp1), __wt_page_type_string(page->type),
__wt_cell_type_string(addr_unpack->raw));
break;
}
@@ -533,7 +512,7 @@ celltype_err:
"%s is %" PRIu64
" and the expected "
"starting record number is %" PRIu64,
- entry, __verify_addr_string(session, child_ref, vs->tmp1), child_ref->ref_recno,
+ entry, __wt_page_addr_string(session, child_ref, vs->tmp1), child_ref->ref_recno,
vs->record_total + 1);
}
@@ -615,13 +594,13 @@ __verify_row_int_key_order(
" on the page at %s "
"sorts before the last key appearing on page %s, earlier "
"in the tree: %s, %s",
- entry, __verify_addr_string(session, ref, vs->tmp1), (char *)vs->max_addr->data,
+ entry, __wt_page_addr_string(session, ref, vs->tmp1), (char *)vs->max_addr->data,
__wt_buf_set_printable(session, item.data, item.size, vs->tmp2),
__wt_buf_set_printable(session, vs->max_key->data, vs->max_key->size, vs->tmp3));
/* Update the largest key we've seen to the key just checked. */
WT_RET(__wt_buf_set(session, vs->max_key, item.data, item.size));
- WT_IGNORE_RET_PTR(__verify_addr_string(session, ref, vs->max_addr));
+ WT_IGNORE_RET_PTR(__wt_page_addr_string(session, ref, vs->max_addr));
return (0);
}
@@ -668,14 +647,14 @@ __verify_row_leaf_key_order(WT_SESSION_IMPL *session, WT_REF *ref, WT_VSTUFF *vs
"the first key on the page at %s sorts equal to "
"or less than the last key appearing on the page "
"at %s, earlier in the tree: %s, %s",
- __verify_addr_string(session, ref, vs->tmp2), (char *)vs->max_addr->data,
+ __wt_page_addr_string(session, ref, vs->tmp2), (char *)vs->max_addr->data,
__wt_buf_set_printable(session, vs->tmp1->data, vs->tmp1->size, vs->tmp3),
__wt_buf_set_printable(session, vs->max_key->data, vs->max_key->size, vs->tmp4));
}
/* Update the largest key we've seen to the last key on this page. */
WT_RET(__wt_row_leaf_key_copy(session, page, page->pg_row + (page->entries - 1), vs->max_key));
- WT_IGNORE_RET_PTR(__verify_addr_string(session, ref, vs->max_addr));
+ WT_IGNORE_RET_PTR(__wt_page_addr_string(session, ref, vs->max_addr));
return (0);
}
@@ -749,7 +728,7 @@ __verify_ts_addr_cmp(WT_SESSION_IMPL *session, WT_REF *ref, uint32_t cell_num, c
WT_RET_MSG(session, WT_ERROR, "cell %" PRIu32
" on page at %s failed verification with %s "
"timestamp of %s, %s the parent's %s timestamp of %s",
- cell_num, __verify_addr_string(session, ref, vs->tmp1), ts1_name, ts1_bp,
+ cell_num, __wt_page_addr_string(session, ref, vs->tmp1), ts1_name, ts1_bp,
gt ? "less than" : "greater than", ts2_name, ts2_bp);
}
@@ -772,7 +751,7 @@ __verify_txn_addr_cmp(WT_SESSION_IMPL *session, WT_REF *ref, uint32_t cell_num,
"transaction of %" PRIu64
", %s the parent's %s transaction of "
"%" PRIu64,
- cell_num, __verify_addr_string(session, ref, vs->tmp1), txn1_name, txn1,
+ cell_num, __wt_page_addr_string(session, ref, vs->tmp1), txn1_name, txn1,
gt ? "less than" : "greater than", txn2_name, txn2);
}
@@ -815,7 +794,7 @@ __verify_page_cell(
" on page at %s references "
"an overflow item at %s that failed "
"verification",
- cell_num - 1, __verify_addr_string(session, ref, vs->tmp1),
+ cell_num - 1, __wt_page_addr_string(session, ref, vs->tmp1),
__wt_addr_string(session, unpack.data, unpack.size, vs->tmp2));
break;
}
@@ -833,18 +812,18 @@ __verify_page_cell(
WT_RET_MSG(session, WT_ERROR, "cell %" PRIu32
" on page at %s has a "
"newest stop timestamp of 0",
- cell_num - 1, __verify_addr_string(session, ref, vs->tmp1));
+ cell_num - 1, __wt_page_addr_string(session, ref, vs->tmp1));
if (unpack.newest_stop_txn == WT_TXN_NONE)
WT_RET_MSG(session, WT_ERROR, "cell %" PRIu32
" on page at %s has a "
"newest stop transaction of 0",
- cell_num - 1, __verify_addr_string(session, ref, vs->tmp1));
+ cell_num - 1, __wt_page_addr_string(session, ref, vs->tmp1));
if (unpack.oldest_start_ts > unpack.newest_stop_ts)
WT_RET_MSG(session, WT_ERROR, "cell %" PRIu32
" on page at %s has an "
"oldest start timestamp %s newer than "
"its newest stop timestamp %s",
- cell_num - 1, __verify_addr_string(session, ref, vs->tmp1),
+ cell_num - 1, __wt_page_addr_string(session, ref, vs->tmp1),
__wt_timestamp_to_string(unpack.oldest_start_ts, ts_string[0]),
__wt_timestamp_to_string(unpack.newest_stop_ts, ts_string[1]));
if (unpack.oldest_start_txn > unpack.newest_stop_txn) {
@@ -854,7 +833,7 @@ __verify_page_cell(
") "
"newer than its newest stop transaction "
"(%" PRIu64 ")",
- cell_num - 1, __verify_addr_string(session, ref, vs->tmp1),
+ cell_num - 1, __wt_page_addr_string(session, ref, vs->tmp1),
unpack.oldest_start_txn, unpack.newest_stop_txn);
}
@@ -879,27 +858,27 @@ __verify_page_cell(
WT_RET_MSG(session, WT_ERROR, "cell %" PRIu32
" on page at %s has a stop "
"timestamp of 0",
- cell_num - 1, __verify_addr_string(session, ref, vs->tmp1));
+ cell_num - 1, __wt_page_addr_string(session, ref, vs->tmp1));
if (unpack.start_ts > unpack.stop_ts)
WT_RET_MSG(session, WT_ERROR, "cell %" PRIu32
" on page at %s has a "
"start timestamp %s newer than its stop "
"timestamp %s",
- cell_num - 1, __verify_addr_string(session, ref, vs->tmp1),
+ cell_num - 1, __wt_page_addr_string(session, ref, vs->tmp1),
__wt_timestamp_to_string(unpack.start_ts, ts_string[0]),
__wt_timestamp_to_string(unpack.stop_ts, ts_string[1]));
if (unpack.stop_txn == WT_TXN_NONE)
WT_RET_MSG(session, WT_ERROR, "cell %" PRIu32
" on page at %s has a stop "
"transaction of 0",
- cell_num - 1, __verify_addr_string(session, ref, vs->tmp1));
+ cell_num - 1, __wt_page_addr_string(session, ref, vs->tmp1));
if (unpack.start_txn > unpack.stop_txn)
WT_RET_MSG(session, WT_ERROR, "cell %" PRIu32
" on page at %s has a "
"start transaction %" PRIu64
"newer than "
"its stop transaction %" PRIu64,
- cell_num - 1, __verify_addr_string(session, ref, vs->tmp1), unpack.start_txn,
+ cell_num - 1, __wt_page_addr_string(session, ref, vs->tmp1), unpack.start_txn,
unpack.stop_txn);
WT_RET(__verify_ts_addr_cmp(session, ref, cell_num - 1, "start", unpack.start_ts,
@@ -924,7 +903,7 @@ __verify_page_cell(
WT_RET_MSG(session, WT_ERROR,
"page at %s, of type %s and referenced in its parent by a "
"cell of type %s, contains overflow items",
- __verify_addr_string(session, ref, vs->tmp1), __wt_page_type_string(ref->page->type),
+ __wt_page_addr_string(session, ref, vs->tmp1), __wt_page_type_string(ref->page->type),
__wt_cell_type_string(addr_unpack->raw));
return (0);