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 <[email protected]> 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
