From eeacca9e8eaafb4431e11896cbf0be2f0cd60bfd Mon Sep 17 00:00:00 2001 From: Socrates Date: Thu, 22 Aug 2024 22:35:44 +0800 Subject: [PATCH] [cherry-pick](branch-2.1) fix hudi count bug (#39785) bp #39656 --- .../nereids/rules/implementation/AggregateStrategies.java | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/implementation/AggregateStrategies.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/implementation/AggregateStrategies.java index 3f95a1b438..e1e671891e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/implementation/AggregateStrategies.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/implementation/AggregateStrategies.java @@ -63,6 +63,7 @@ import org.apache.doris.nereids.trees.plans.algebra.Project; import org.apache.doris.nereids.trees.plans.logical.LogicalAggregate; import org.apache.doris.nereids.trees.plans.logical.LogicalFileScan; import org.apache.doris.nereids.trees.plans.logical.LogicalFilter; +import org.apache.doris.nereids.trees.plans.logical.LogicalHudiScan; import org.apache.doris.nereids.trees.plans.logical.LogicalOlapScan; import org.apache.doris.nereids.trees.plans.logical.LogicalProject; import org.apache.doris.nereids.trees.plans.logical.LogicalRelation; @@ -721,9 +722,9 @@ public class AggregateStrategies implements ImplementationRuleFactory { } } else if (logicalScan instanceof LogicalFileScan) { - PhysicalFileScan physicalScan = (PhysicalFileScan) new LogicalFileScanToPhysicalFileScan() - .build() - .transform(logicalScan, cascadesContext) + Rule rule = (logicalScan instanceof LogicalHudiScan) ? new LogicalHudiScanToPhysicalHudiScan().build() + : new LogicalFileScanToPhysicalFileScan().build(); + PhysicalFileScan physicalScan = (PhysicalFileScan) rule.transform(logicalScan, cascadesContext) .get(0); if (project != null) { return aggregate.withChildren(ImmutableList.of(