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.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/third_party/wiredtiger/src/btree/bt_curnext.c b/src/third_party/wiredtiger/src/btree/bt_curnext.c
index 6b49248bf68..234e9d4f38a 100644
--- a/src/third_party/wiredtiger/src/btree/bt_curnext.c
+++ b/src/third_party/wiredtiger/src/btree/bt_curnext.c
@@ -462,7 +462,12 @@ restart_read_insert:
cbt->slot = cbt->row_iteration_slot / 2 - 1;
restart_read_page:
rip = &page->pg_row[cbt->slot];
+ /*
+ * The saved cursor key from the slot is used later to match the prefix match or get the
+ * value from the history store if the on-disk data is not visible.
+ */
WT_RET(__cursor_row_slot_key_return(cbt, rip, &kpack));
+
/*
* If the cursor has prefix search configured we can early exit here if the key that we are
* visiting is after our prefix.
@@ -472,6 +477,7 @@ restart_read_page:
WT_STAT_CONN_DATA_INCR(session, cursor_search_near_prefix_fast_paths);
return (WT_NOTFOUND);
}
+
WT_RET(
__wt_txn_read(session, cbt, &cbt->iface.key, WT_RECNO_OOB, WT_ROW_UPDATE(page, rip)));
if (cbt->upd_value->type == WT_UPDATE_INVALID) {