From da933ecd2109fdd1fe3c8faf64ba0bf807d21e2a Mon Sep 17 00:00:00 2001 From: morrySnow <101034200+morrySnow@users.noreply.github.com> Date: Sun, 9 Oct 2022 16:32:12 +0800 Subject: [PATCH] [fix](Nereids) plan broadcast on right semi join by mistake (#13206) --- .../java/org/apache/doris/nereids/trees/plans/JoinType.java | 4 ++-- .../main/java/org/apache/doris/nereids/util/JoinUtils.java | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/JoinType.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/JoinType.java index 369636573d..764eecd154 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/JoinType.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/JoinType.java @@ -92,8 +92,8 @@ public enum JoinType { return this == INNER_JOIN; } - public final boolean isReturnUnmatchedRightJoin() { - return this == RIGHT_OUTER_JOIN || this == RIGHT_ANTI_JOIN || this == FULL_OUTER_JOIN; + public final boolean isRightJoin() { + return this == RIGHT_OUTER_JOIN || this == RIGHT_ANTI_JOIN || this == RIGHT_SEMI_JOIN; } public final boolean isFullOuterJoin() { diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/util/JoinUtils.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/util/JoinUtils.java index 23fdcdbca1..b65843d457 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/util/JoinUtils.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/util/JoinUtils.java @@ -57,7 +57,7 @@ public class JoinUtils { } public static boolean couldBroadcast(Join join) { - return !(join.getJoinType().isReturnUnmatchedRightJoin()); + return !(join.getJoinType().isRightJoin() || join.getJoinType().isFullOuterJoin()); } private static final class JoinSlotCoverageChecker {