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) {