diff options
Diffstat (limited to 'src/third_party/wiredtiger/src/btree/bt_curnext.c')
-rw-r--r-- | src/third_party/wiredtiger/src/btree/bt_curnext.c | 6 |
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) { |