From 7a480aab4567dbdf90c2c728e7f8c24cae02c9f1 Mon Sep 17 00:00:00 2001 From: minghong Date: Tue, 14 May 2024 21:05:18 +0800 Subject: [PATCH] [fix](nereids) Push max rf into cte #34858 --- .../src/main/java/org/apache/doris/common/IdGenerator.java | 4 ++++ .../doris/nereids/processor/post/RuntimeFilterGenerator.java | 2 +- .../doris/nereids/trees/plans/physical/RuntimeFilter.java | 4 ++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/common/IdGenerator.java b/fe/fe-core/src/main/java/org/apache/doris/common/IdGenerator.java index b244010dc3..89267166ba 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/common/IdGenerator.java +++ b/fe/fe-core/src/main/java/org/apache/doris/common/IdGenerator.java @@ -34,4 +34,8 @@ public abstract class IdGenerator> { } public abstract IdType getNextId(); + + public int getCurrentId() { + return nextId; + } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/RuntimeFilterGenerator.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/RuntimeFilterGenerator.java index 420e25126d..5722fa527d 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/RuntimeFilterGenerator.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/RuntimeFilterGenerator.java @@ -573,7 +573,7 @@ public class RuntimeFilterGenerator extends PlanPostProcessor { RuntimeFilter filter = new RuntimeFilter(generator.getNextId(), rf.getSrcExpr(), targetList, targetExpressions, rf.getType(), rf.getExprOrder(), rf.getBuilderNode(), buildSideNdv, rf.isBloomFilterSizeCalculatedByNdv(), - cteNode); + rf.gettMinMaxType(), cteNode); targetNodes.forEach(node -> node.addAppliedRuntimeFilter(filter)); for (Slot slot : targetList) { ctx.setTargetExprIdToFilter(slot.getExprId(), filter); diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/RuntimeFilter.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/RuntimeFilter.java index 9f810e73ec..b2b078aaeb 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/RuntimeFilter.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/RuntimeFilter.java @@ -58,11 +58,11 @@ public class RuntimeFilter { */ public RuntimeFilter(RuntimeFilterId id, Expression src, List targets, List targetExpressions, TRuntimeFilterType type, int exprOrder, AbstractPhysicalJoin builderNode, long buildSideNdv, - boolean bloomFilterSizeCalculatedByNdv, + boolean bloomFilterSizeCalculatedByNdv, TMinMaxRuntimeFilterType tMinMaxType, PhysicalRelation scan) { this(id, src, targets, targetExpressions, type, exprOrder, builderNode, false, buildSideNdv, bloomFilterSizeCalculatedByNdv, - TMinMaxRuntimeFilterType.MIN_MAX, scan); + tMinMaxType, scan); } public RuntimeFilter(RuntimeFilterId id, Expression src, List targets, List targetExpressions,