This is an automated email from the ASF dual-hosted git repository. jakevin pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push: new 1e3da95359 [fix](Nereids): fix LAsscom split conjuncts. (#17792) 1e3da95359 is described below commit 1e3da9535902b648cb53d849dc3d8a235170c570 Author: jakevin <jakevin...@gmail.com> AuthorDate: Wed Mar 15 13:39:08 2023 +0800 [fix](Nereids): fix LAsscom split conjuncts. (#17792) --- .../nereids/rules/exploration/join/InnerJoinLAsscomProject.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/InnerJoinLAsscomProject.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/InnerJoinLAsscomProject.java index 4a64610fab..b48e429ccf 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/InnerJoinLAsscomProject.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/InnerJoinLAsscomProject.java @@ -65,7 +65,7 @@ public class InnerJoinLAsscomProject extends OneExplorationRuleFactory { GroupPlan a = bottomJoin.left(); GroupPlan b = bottomJoin.right(); GroupPlan c = topJoin.right(); - Set<Slot> cOutputSet = c.getOutputSet(); + Set<ExprId> cExprIdSet = c.getOutputExprIdSet(); /* ********** Split projects ********** */ Map<Boolean, List<NamedExpression>> map = JoinReorderUtils.splitProjection(projects, b); @@ -95,15 +95,16 @@ public class InnerJoinLAsscomProject extends OneExplorationRuleFactory { // Add all slots used by OnCondition when projects not empty. Set<ExprId> aExprIdSet = JoinReorderUtils.combineProjectAndChildExprId(a, aProjects); Map<Boolean, Set<Slot>> abOnUsedSlots = Stream.concat( - bottomJoin.getHashJoinConjuncts().stream(), - bottomJoin.getHashJoinConjuncts().stream()) + newTopHashConjuncts.stream(), + newTopOtherConjuncts.stream()) .flatMap(onExpr -> onExpr.getInputSlots().stream()) + .filter(slot -> !cExprIdSet.contains(slot.getExprId())) .collect(Collectors.partitioningBy( slot -> aExprIdSet.contains(slot.getExprId()), Collectors.toSet())); JoinReorderUtils.addSlotsUsedByOn(abOnUsedSlots.get(true), aProjects); JoinReorderUtils.addSlotsUsedByOn(abOnUsedSlots.get(false), bProjects); - aProjects.addAll(cOutputSet); + aProjects.addAll(c.getOutput()); /* ********** new Plan ********** */ LogicalJoin<Plan, Plan> newBottomJoin = topJoin.withConjunctsChildren(newBottomHashConjuncts, --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org