From a3da414a88c15ecd40412cb44355e3b4ff15e024 Mon Sep 17 00:00:00 2001 From: obdev Date: Thu, 30 Mar 2023 12:42:33 +0000 Subject: [PATCH] [CP] Fix skip scan bug, do not use blockscan in skip scan --- src/storage/access/ob_table_access_param.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/storage/access/ob_table_access_param.cpp b/src/storage/access/ob_table_access_param.cpp index 3b92acc3fe..d0796cde07 100644 --- a/src/storage/access/ob_table_access_param.cpp +++ b/src/storage/access/ob_table_access_param.cpp @@ -216,8 +216,10 @@ int ObTableAccessParam::init( iter_param_.pd_storage_flag_ = scan_param.pd_storage_flag_; iter_param_.pushdown_filter_ = scan_param.pd_storage_filters_; - //disable blockscan if scan order is KeepOrder(for iterator iterator and table api) - if (OB_UNLIKELY(ObQueryFlag::KeepOrder == scan_param.scan_flag_.scan_order_)) { + // disable blockscan if scan order is KeepOrder(for iterator iterator and table api) + // disable blockscan if use index skip scan as no large range to scan + if (OB_UNLIKELY(ObQueryFlag::KeepOrder == scan_param.scan_flag_.scan_order_ || + scan_param.use_index_skip_scan())) { iter_param_.disable_blockscan(); }