[CP] [Fixbug] Disable batch NLJ when using full-text indexing

This commit is contained in:
wz-WillZheng 2024-10-17 17:43:41 +00:00 committed by ob-robot
parent 7587a04d1e
commit 50904f047f
2 changed files with 7 additions and 2 deletions

View File

@ -1300,7 +1300,8 @@ int ObLogJoin::set_use_batch(ObLogicalOperator* root)
}
}
if (OB_SUCC(ret)) {
if (ts->has_index_scan_filter() && ts->get_index_back() && ts->get_is_index_global()) {
if ((ts->has_index_scan_filter() && ts->get_index_back() && ts->get_is_index_global()) ||
ts->is_text_retrieval_scan()) {
// For the global index lookup, if there is a pushdown filter when scanning the index,
// batch cannot be used.
ts->set_use_batch(false);

View File

@ -514,7 +514,11 @@ int ObLogSubPlanFilter::set_use_das_batch(ObLogicalOperator* root)
} else if (root->is_table_scan()) {
ObLogTableScan *ts = static_cast<ObLogTableScan*>(root);
if (!ts->get_range_conditions().empty()) {
ts->set_use_batch(enable_das_group_rescan_);
if (ts->is_text_retrieval_scan()) {
ts->set_use_batch(false);
} else {
ts->set_use_batch(enable_das_group_rescan_);
}
}
} else if (root->get_num_of_child() == 1) {
if(OB_FAIL(SMART_CALL(set_use_das_batch(root->get_child(first_child))))) {