disable batch rescan for empty range conditions

This commit is contained in:
obdev
2022-12-07 03:15:54 +00:00
committed by ob-robot
parent 21f366adb1
commit 7d793b8862
3 changed files with 11 additions and 2 deletions

View File

@ -974,6 +974,11 @@ int ObTableScanOp::build_bnlj_params()
OZ(tsc_rtdef_.bnlj_params_.push_back(BNLJParamInfo(param_idx, array_obj)));
}
}
if (OB_SUCC(ret) && tsc_rtdef_.bnlj_params_.empty()) {
ret = OB_ERR_UNEXPECTED;
LOG_WARN("batch param is empty in batch rescan", K(ret),
K(MY_CTDEF.bnlj_param_idxs_), K(plan_ctx->get_param_store()));
}
}
return ret;
}

View File

@ -1158,7 +1158,9 @@ int ObLogJoin::set_use_batch(ObLogicalOperator* root)
} else if (root->is_table_scan()) {
ObLogTableScan *ts = static_cast<ObLogTableScan*>(root);
// dblink can not support batch nlj
ts->set_use_batch(can_use_batch_nlj_);
if (!ts->get_range_conditions().empty()) {
ts->set_use_batch(can_use_batch_nlj_);
}
} else if (root->get_num_of_child() == 1) {
if (log_op_def::LOG_TABLE_LOOKUP == root->get_type()) {
ObLogTableLookup *tlu = static_cast<ObLogTableLookup*>(root);

View File

@ -501,7 +501,9 @@ int ObLogSubPlanFilter::set_use_das_batch(ObLogicalOperator* root)
LOG_WARN("invalid input", K(ret));
} else if (root->is_table_scan()) {
ObLogTableScan *ts = static_cast<ObLogTableScan*>(root);
ts->set_use_batch(true);
if (!ts->get_range_conditions().empty()) {
ts->set_use_batch(true);
}
} else if (root->get_num_of_child() == 1) {
if (log_op_def::LOG_TABLE_LOOKUP == root->get_type()) {
ObLogTableLookup *tlu = static_cast<ObLogTableLookup*>(root);