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

xingtanzjr pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/master by this push:
     new a46e79a65b [IOTDB-3960] Fix the issue that FilterNode is not 
considered in ExchangeNodeAddr (#6813)
a46e79a65b is described below

commit a46e79a65b2b51d25d23a7054497501b015cb7e3
Author: liuminghui233 <[email protected]>
AuthorDate: Thu Jul 28 14:20:18 2022 +0800

    [IOTDB-3960] Fix the issue that FilterNode is not considered in 
ExchangeNodeAddr (#6813)
---
 .../org/apache/iotdb/db/it/alignbydevice/IoTDBAlignByDeviceIT.java  | 3 +--
 .../iotdb/db/mpp/plan/planner/distribution/ExchangeNodeAdder.java   | 6 ++++++
 .../iotdb/db/mpp/plan/planner/plan/node/process/FilterNode.java     | 5 +++++
 3 files changed, 12 insertions(+), 2 deletions(-)

diff --git 
a/integration-test/src/test/java/org/apache/iotdb/db/it/alignbydevice/IoTDBAlignByDeviceIT.java
 
b/integration-test/src/test/java/org/apache/iotdb/db/it/alignbydevice/IoTDBAlignByDeviceIT.java
index 142185bdb4..7ba15e7c13 100644
--- 
a/integration-test/src/test/java/org/apache/iotdb/db/it/alignbydevice/IoTDBAlignByDeviceIT.java
+++ 
b/integration-test/src/test/java/org/apache/iotdb/db/it/alignbydevice/IoTDBAlignByDeviceIT.java
@@ -422,11 +422,10 @@ public class IoTDBAlignByDeviceIT {
 
     try (Connection connection = EnvFactory.getEnv().getConnection();
         Statement statement = connection.createStatement()) {
-      // single device
 
       try (ResultSet resultSet =
           statement.executeQuery(
-              "select * from root.vehicle.d0 where s0 > 0 AND s1 < 200 align 
by device")) {
+              "select * from root.vehicle.* where s0 > 0 AND s1 < 200 align by 
device")) {
         ResultSetMetaData resultSetMetaData = resultSet.getMetaData();
         List<Integer> actualIndexToExpectedIndexList =
             checkHeader(
diff --git 
a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/distribution/ExchangeNodeAdder.java
 
b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/distribution/ExchangeNodeAdder.java
index 4159db3a7e..b4b542f617 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/distribution/ExchangeNodeAdder.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/distribution/ExchangeNodeAdder.java
@@ -35,6 +35,7 @@ import 
org.apache.iotdb.db.mpp.plan.planner.plan.node.process.AggregationNode;
 import org.apache.iotdb.db.mpp.plan.planner.plan.node.process.DeviceMergeNode;
 import org.apache.iotdb.db.mpp.plan.planner.plan.node.process.DeviceViewNode;
 import org.apache.iotdb.db.mpp.plan.planner.plan.node.process.ExchangeNode;
+import org.apache.iotdb.db.mpp.plan.planner.plan.node.process.FilterNode;
 import org.apache.iotdb.db.mpp.plan.planner.plan.node.process.GroupByLevelNode;
 import 
org.apache.iotdb.db.mpp.plan.planner.plan.node.process.LastQueryMergeNode;
 import org.apache.iotdb.db.mpp.plan.planner.plan.node.process.MultiChildNode;
@@ -218,6 +219,11 @@ public class ExchangeNodeAdder extends 
PlanVisitor<PlanNode, NodeGroupContext> {
     return processOneChildNode(node, context);
   }
 
+  @Override
+  public PlanNode visitFilter(FilterNode node, NodeGroupContext context) {
+    return processOneChildNode(node, context);
+  }
+
   private PlanNode processMultiChildNode(MultiChildNode node, NodeGroupContext 
context) {
     MultiChildNode newNode = (MultiChildNode) node.clone();
     List<PlanNode> visitedChildren = new ArrayList<>();
diff --git 
a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/process/FilterNode.java
 
b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/process/FilterNode.java
index 0e513afbbc..a13f414f37 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/process/FilterNode.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/process/FilterNode.java
@@ -114,6 +114,11 @@ public class FilterNode extends TransformNode {
     return predicate;
   }
 
+  @Override
+  public String toString() {
+    return "FilterNode-" + this.getPlanNodeId();
+  }
+
   @Override
   public boolean equals(Object o) {
     if (this == o) {

Reply via email to