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

jackietien 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 eee581e1c1f Perfect plan graph for last query scan node
eee581e1c1f is described below

commit eee581e1c1f98da2c39688d0d8f53e653b31521f
Author: Beyyes <[email protected]>
AuthorDate: Mon Sep 4 20:46:12 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

Reply via email to