[CP] fix: fix the correctness problem induced by batch rescan not supported reverse order

This commit is contained in:
obdev
2024-02-07 05:50:26 +00:00
committed by ob-robot
parent fe7ee1531c
commit fd77441e70
3 changed files with 14 additions and 2 deletions

View File

@ -1392,6 +1392,8 @@ int ObLogJoin::check_if_disable_batch(ObLogicalOperator* root, bool &can_use_bat
// For the global index lookup, if there is a pushdown filter when scanning the index,
// batch cannot be used.
can_use_batch_nlj = false;
} else if (ts->get_scan_direction() != default_asc_direction() && ts->get_scan_direction() != ObOrderDirection::UNORDERED) {
can_use_batch_nlj = false;
} else {
SMART_VAR(ObTablePartitionInfo, tmp_info) {
ObTablePartitionInfo *tmp_info_ptr = &tmp_info;

View File

@ -483,7 +483,7 @@ int ObLogSubPlanFilter::check_if_match_das_group_rescan(ObLogicalOperator *root,
LOG_WARN("failed to check query range contribution", K(ret));
} else if (!is_valid) {
group_rescan = false;
} else if (tsc->get_scan_direction() != default_asc_direction()) {
} else if (tsc->get_scan_direction() != default_asc_direction() && tsc->get_scan_direction() != ObOrderDirection::UNORDERED) {
group_rescan = false;
} else if (tsc->has_index_scan_filter() && tsc->get_index_back() && tsc->get_is_index_global()) {
// For the global index lookup, if there is a pushdown filter when scanning the index,