From 3c9f626901cab5b4a7cf89aa7bf821594e9596fd Mon Sep 17 00:00:00 2001 From: haitaoyang Date: Thu, 9 Nov 2023 12:50:10 +0000 Subject: [PATCH] Fix reverse blockscan in multiple ranges --- src/storage/access/ob_index_tree_prefetcher.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/storage/access/ob_index_tree_prefetcher.cpp b/src/storage/access/ob_index_tree_prefetcher.cpp index dd55bd61ad..184ad83030 100755 --- a/src/storage/access/ob_index_tree_prefetcher.cpp +++ b/src/storage/access/ob_index_tree_prefetcher.cpp @@ -1277,7 +1277,7 @@ OB_INLINE static int binary_check_micro_infos( if (is_reverse) { // [check_border_idx - 1] is the last micro whose endkey greater than border_rowkey in reverse scan, need move forward check_border_idx--; - if (OB_UNLIKELY(check_border_idx == end && check_border_idx > 0)) { + if (OB_UNLIKELY(check_border_idx > 0)) { // move to left if the two rightmost endkeys is same(possible in multiple ranges) int cmp_ret = 0; for (; OB_SUCC(ret) && 0 == cmp_ret && check_border_idx > start; check_border_idx--) {