summaryrefslogtreecommitdiff
path: root/src/third_party/wiredtiger/src/btree/bt_curnext.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/third_party/wiredtiger/src/btree/bt_curnext.c')
-rw-r--r--src/third_party/wiredtiger/src/btree/bt_curnext.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/third_party/wiredtiger/src/btree/bt_curnext.c b/src/third_party/wiredtiger/src/btree/bt_curnext.c
index 02cceab3123..c9cccc63bf6 100644
--- a/src/third_party/wiredtiger/src/btree/bt_curnext.c
+++ b/src/third_party/wiredtiger/src/btree/bt_curnext.c
@@ -429,7 +429,8 @@ __cursor_key_order_check_row(
WT_ERR(__wt_scr_alloc(session, 512, &b));
WT_PANIC_ERR(session, EINVAL,
- "WT_CURSOR.%s out-of-order returns: returned key %s then key %s",
+ "WT_CURSOR.%s out-of-order returns: returned key %.1024s then "
+ "key %.1024s",
next ? "next" : "prev",
__wt_buf_set_printable_format(session,
cbt->lastkey->data, cbt->lastkey->size, btree->key_format, a),
@@ -456,7 +457,7 @@ __wt_cursor_key_order_check(
return (__cursor_key_order_check_col(session, cbt, next));
case WT_PAGE_ROW_LEAF:
return (__cursor_key_order_check_row(session, cbt, next));
- WT_ILLEGAL_VALUE(session);
+ WT_ILLEGAL_VALUE(session, cbt->ref->page->type);
}
/* NOTREACHED */
}
@@ -481,7 +482,7 @@ __wt_cursor_key_order_init(WT_SESSION_IMPL *session, WT_CURSOR_BTREE *cbt)
case WT_PAGE_ROW_LEAF:
return (__wt_buf_set(session,
cbt->lastkey, cbt->iface.key.data, cbt->iface.key.size));
- WT_ILLEGAL_VALUE(session);
+ WT_ILLEGAL_VALUE(session, cbt->ref->page->type);
}
/* NOTREACHED */
}
@@ -641,7 +642,7 @@ __wt_btcur_next(WT_CURSOR_BTREE *cbt, bool truncating)
case WT_PAGE_COL_VAR:
ret = __cursor_var_append_next(cbt, newpage);
break;
- WT_ILLEGAL_VALUE_ERR(session);
+ WT_ILLEGAL_VALUE_ERR(session, page->type);
}
if (ret == 0)
break;
@@ -659,7 +660,7 @@ __wt_btcur_next(WT_CURSOR_BTREE *cbt, bool truncating)
case WT_PAGE_ROW_LEAF:
ret = __cursor_row_next(cbt, newpage);
break;
- WT_ILLEGAL_VALUE_ERR(session);
+ WT_ILLEGAL_VALUE_ERR(session, page->type);
}
if (ret != WT_NOTFOUND)
break;
@@ -690,6 +691,8 @@ __wt_btcur_next(WT_CURSOR_BTREE *cbt, bool truncating)
__wt_page_evict_soon(session, cbt->ref);
cbt->page_deleted_count = 0;
+ if (F_ISSET(cbt, WT_CBT_READ_ONCE))
+ LF_SET(WT_READ_WONT_NEED);
WT_ERR(__wt_tree_walk(session, &cbt->ref, flags));
WT_ERR_TEST(cbt->ref == NULL, WT_NOTFOUND);
}