diff --git a/src/gausskernel/storage/access/nbtree/nbtsearch.cpp b/src/gausskernel/storage/access/nbtree/nbtsearch.cpp index 24bdcf8b809e78df83c6bf64b97331875ddd86db..8d76bde79df3a857f9d47fc189e14e0c9bf5c767 100644 --- a/src/gausskernel/storage/access/nbtree/nbtsearch.cpp +++ b/src/gausskernel/storage/access/nbtree/nbtsearch.cpp @@ -1398,7 +1398,9 @@ static bool _bt_steppage(IndexScanDesc scan, ScanDirection dir) } /* Step to next physical page */ - so->currPos.buf = _bt_walk_left(rel, so->currPos.buf); + Buffer temp = so->currPos.buf; + so->currPos.buf = InvalidBuffer; + so->currPos.buf = _bt_walk_left(rel, temp); /* if we're physically at end of index, return failure */ if (so->currPos.buf == InvalidBuffer)