[fix](nereids) Push max rf into cte #34858

This commit is contained in:
minghong
2024-05-14 21:05:18 +08:00
committed by GitHub
parent 868949c8c0
commit 7a480aab45
3 changed files with 7 additions and 3 deletions

View File

@ -34,4 +34,8 @@ public abstract class IdGenerator<IdType extends Id<IdType>> {
}
public abstract IdType getNextId();
public int getCurrentId() {
return nextId;
}
}

View File

@ -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);

View File

@ -58,11 +58,11 @@ public class RuntimeFilter {
*/
public RuntimeFilter(RuntimeFilterId id, Expression src, List<Slot> targets, List<Expression> 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<Slot> targets, List<Expression> targetExpressions,