From 3fe7b21ac85984eaa537c05c00643420e00ddfff Mon Sep 17 00:00:00 2001 From: Gabriel Date: Fri, 29 Jul 2022 15:42:06 +0800 Subject: [PATCH] [Improvement](vectorized) Remove row-based conjuncts on vectorized nodes (#11324) --- be/src/vec/exec/join/vhash_join_node.cpp | 3 --- .../src/main/java/org/apache/doris/planner/PlanNode.java | 7 +++++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/be/src/vec/exec/join/vhash_join_node.cpp b/be/src/vec/exec/join/vhash_join_node.cpp index 784cb1af0f..f076f251ec 100644 --- a/be/src/vec/exec/join/vhash_join_node.cpp +++ b/be/src/vec/exec/join/vhash_join_node.cpp @@ -862,10 +862,7 @@ Status HashJoinNode::prepare(RuntimeState* state) { if (_vconjunct_ctx_ptr) { RETURN_IF_ERROR((*_vconjunct_ctx_ptr)->prepare(state, _intermediate_row_desc)); } - RETURN_IF_ERROR(Expr::prepare(_conjunct_ctxs, state, _intermediate_row_desc)); - // TODO(zc): - // AddExprCtxsToFree(_conjunct_ctxs); for (int i = 0; i < _children.size(); ++i) { RETURN_IF_ERROR(_children[i]->prepare(state)); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/planner/PlanNode.java b/fe/fe-core/src/main/java/org/apache/doris/planner/PlanNode.java index ef41a932c2..c25282da83 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/planner/PlanNode.java +++ b/fe/fe-core/src/main/java/org/apache/doris/planner/PlanNode.java @@ -526,8 +526,11 @@ public abstract class PlanNode extends TreeNode implements PlanStats { msg.addToRowTuples(tid.asInt()); msg.addToNullableTuples(nullableTupleIds.contains(tid)); } - for (Expr e : conjuncts) { - msg.addToConjuncts(e.treeToThrift()); + // `conjuncts` is never needed on vectorized engine except scan nodes which use them as push-down predicates. + if (this instanceof ScanNode || !VectorizedUtil.isVectorized()) { + for (Expr e : conjuncts) { + msg.addToConjuncts(e.treeToThrift()); + } } // Serialize any runtime filters