fix wrong batch size in remote das when table scan is non-vectorization

This commit is contained in:
obdev 2024-09-19 09:18:48 +00:00 committed by ob-robot
parent 3d63c929cc
commit 40cad324ae
2 changed files with 10 additions and 0 deletions

View File

@ -209,6 +209,11 @@ int ObDASScanOp::swizzling_remote_task(ObDASRemoteInfo *remote_info)
} else {
scan_rtdef_->p_pd_expr_op_->get_eval_ctx()
.set_max_batch_size(scan_ctdef_->pd_expr_spec_.max_batch_size_);
bool is_vectorized = scan_rtdef_->p_pd_expr_op_->is_vectorized();
if (!scan_rtdef_->p_pd_expr_op_->is_vectorized()) {
scan_rtdef_->p_pd_expr_op_->get_eval_ctx().set_batch_size(1);
scan_rtdef_->p_pd_expr_op_->get_eval_ctx().set_batch_idx(0);
}
}
for (int i = 0; OB_SUCC(ret) && i < related_rtdefs_.count(); ++i) {
if (OB_NOT_NULL(related_rtdefs_.at(i)) &&
@ -223,6 +228,10 @@ int ObDASScanOp::swizzling_remote_task(ObDASRemoteInfo *remote_info)
} else {
related_rtdef->p_pd_expr_op_->get_eval_ctx()
.set_max_batch_size(related_ctdef->pd_expr_spec_.max_batch_size_);
if (!related_rtdef->p_pd_expr_op_->is_vectorized()) {
related_rtdef->p_pd_expr_op_->get_eval_ctx().set_batch_size(1);
related_rtdef->p_pd_expr_op_->get_eval_ctx().set_batch_idx(0);
}
}
}
}

View File

@ -162,6 +162,7 @@ struct ObEvalCtx
{
friend struct ObExpr;
friend class ObOperator;
friend class ObDASScanOp;
friend class ObSubPlanFilterOp; // FIXME qubin.qb: remove this line from friend
friend class oceanbase::storage::ObVectorStore;
friend class oceanbase::storage::ObAggregatedStoreVec;