You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ca...@apache.org on 2023/09/04 07:13:44 UTC
[iotdb] 01/01: perfect plan graph for last query scan node
This is an automated email from the ASF dual-hosted git repository.
caogaofei pushed a commit to branch beyyes/last_query_scan_graph
in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit f4b16d79f0c793ab288ff4451cf3218fb906a611
Author: Beyyes <cg...@foxmail.com>
AuthorDate: Mon Sep 4 15:13:26 2023 +0800
perfect plan graph for last query scan node
---
.../plan/planner/plan/node/PlanGraphPrinter.java | 7 +++++++
.../plan/node/source/AlignedLastQueryScanNode.java | 20 +++++++++++++++-----
.../planner/plan/node/source/LastQueryScanNode.java | 20 +++++++++++++++-----
3 files changed, 37 insertions(+), 10 deletions(-)
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/PlanGraphPrinter.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/PlanGraphPrinter.java
index ec63414d2f7..ff72ddf559c 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/PlanGraphPrinter.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/PlanGraphPrinter.java
@@ -60,6 +60,7 @@ import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.IntoPathDescr
import org.apache.iotdb.tsfile.utils.Pair;
import org.apache.commons.lang3.Validate;
+import org.eclipse.jetty.util.StringUtil;
import java.util.ArrayList;
import java.util.HashMap;
@@ -384,6 +385,9 @@ public class PlanGraphPrinter extends PlanVisitor<List<String>, PlanGraphPrinter
List<String> boxValue = new ArrayList<>();
boxValue.add(String.format("LastQueryScan-%s", node.getPlanNodeId().getId()));
boxValue.add(String.format("Series: %s", node.getSeriesPath()));
+ if (StringUtil.isNotBlank(node.getOutputViewPath())) {
+ boxValue.add(String.format("ViewPath: %s", node.getOutputViewPath()));
+ }
boxValue.add(printRegion(node.getRegionReplicaSet()));
return render(node, boxValue, context);
}
@@ -397,6 +401,9 @@ public class PlanGraphPrinter extends PlanVisitor<List<String>, PlanGraphPrinter
String.format(
"Series: %s%s",
node.getSeriesPath().getDevice(), node.getSeriesPath().getMeasurementList()));
+ if (StringUtil.isNotBlank(node.getOutputViewPath())) {
+ boxValue.add(String.format("ViewPath: %s", node.getOutputViewPath()));
+ }
boxValue.add(printRegion(node.getRegionReplicaSet()));
return render(node, boxValue, context);
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/AlignedLastQueryScanNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/AlignedLastQueryScanNode.java
index 60648d27a2b..d4c1c3e5396 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/AlignedLastQueryScanNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/AlignedLastQueryScanNode.java
@@ -32,6 +32,7 @@ import org.apache.iotdb.tsfile.read.filter.basic.Filter;
import org.apache.iotdb.tsfile.utils.ReadWriteIOUtils;
import com.google.common.collect.ImmutableList;
+import org.eclipse.jetty.util.StringUtil;
import java.io.DataOutputStream;
import java.io.IOException;
@@ -158,11 +159,20 @@ public class AlignedLastQueryScanNode extends LastSeriesSourceNode {
@Override
public String toString() {
- return String.format(
- "AlignedLastQueryScanNode-%s:[SeriesPath: %s, DataRegion: %s]",
- this.getPlanNodeId(),
- this.getSeriesPath().getFormattedString(),
- PlanNodeUtil.printRegionReplicaSet(this.getRegionReplicaSet()));
+ if (StringUtil.isNotBlank(outputViewPath)) {
+ return String.format(
+ "AlignedLastQueryScanNode-%s:[SeriesPath: %s, ViewPath: %s, DataRegion: %s]",
+ this.getPlanNodeId(),
+ this.getSeriesPath().getFormattedString(),
+ this.getOutputViewPath(),
+ PlanNodeUtil.printRegionReplicaSet(this.getRegionReplicaSet()));
+ } else {
+ return String.format(
+ "AlignedLastQueryScanNode-%s:[SeriesPath: %s, DataRegion: %s]",
+ this.getPlanNodeId(),
+ this.getSeriesPath().getFormattedString(),
+ PlanNodeUtil.printRegionReplicaSet(this.getRegionReplicaSet()));
+ }
}
@Override
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/LastQueryScanNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/LastQueryScanNode.java
index a15302b0dd3..aa89e61bd0a 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/LastQueryScanNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/LastQueryScanNode.java
@@ -32,6 +32,7 @@ import org.apache.iotdb.tsfile.read.filter.basic.Filter;
import org.apache.iotdb.tsfile.utils.ReadWriteIOUtils;
import com.google.common.collect.ImmutableList;
+import org.eclipse.jetty.util.StringUtil;
import java.io.DataOutputStream;
import java.io.IOException;
@@ -164,11 +165,20 @@ public class LastQueryScanNode extends LastSeriesSourceNode {
@Override
public String toString() {
- return String.format(
- "LastQueryScanNode-%s:[SeriesPath: %s, DataRegion: %s]",
- this.getPlanNodeId(),
- this.getSeriesPath(),
- PlanNodeUtil.printRegionReplicaSet(getRegionReplicaSet()));
+ if (StringUtil.isNotBlank(outputViewPath)) {
+ return String.format(
+ "LastQueryScanNode-%s:[SeriesPath: %s, ViewPath: %s, DataRegion: %s]",
+ this.getPlanNodeId(),
+ this.getSeriesPath(),
+ this.getOutputViewPath(),
+ PlanNodeUtil.printRegionReplicaSet(getRegionReplicaSet()));
+ } else {
+ return String.format(
+ "LastQueryScanNode-%s:[SeriesPath: %s, DataRegion: %s]",
+ this.getPlanNodeId(),
+ this.getSeriesPath(),
+ PlanNodeUtil.printRegionReplicaSet(getRegionReplicaSet()));
+ }
}
@Override