This is an automated email from the ASF dual-hosted git repository.

hui pushed a commit to branch lmh/fixPushDownProject
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 15925076f75872d53d295733eaef7629b993fc4f
Author: Minghui Liu <[email protected]>
AuthorDate: Tue May 14 00:33:23 2024 +0800

    process ProjectNode
---
 .../iotdb/db/queryengine/plan/optimization/AggregationPushDown.java  | 5 +++++
 1 file changed, 5 insertions(+)

diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/optimization/AggregationPushDown.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/optimization/AggregationPushDown.java
index 344572be2b3..a9a7a111919 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/optimization/AggregationPushDown.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/optimization/AggregationPushDown.java
@@ -225,6 +225,11 @@ public class AggregationPushDown implements PlanOptimizer {
     @Override
     public PlanNode visitRawDataAggregation(RawDataAggregationNode node, 
RewriterContext context) {
       PlanNode child = node.getChild();
+      if (child instanceof ProjectNode) {
+        // remove ProjectNode
+        node.setChild(((ProjectNode) child).getChild());
+        return visitRawDataAggregation(node, context);
+      }
       if (child instanceof FullOuterTimeJoinNode || child instanceof 
SeriesScanSourceNode) {
         boolean isSingleSource = child instanceof SeriesScanSourceNode;
         boolean needCheckAscending = node.getGroupByTimeParameter() == null;

Reply via email to