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

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

commit ff81c5ec4690f602f80b01f535561b7673682648
Author: YangCaiyin <[email protected]>
AuthorDate: Tue Nov 26 11:47:09 2024 +0800

    remove isQuery in Statement
---
 .../iotdb/db/queryengine/plan/relational/analyzer/Analysis.java   | 8 +++++++-
 .../iotdb/db/queryengine/plan/relational/analyzer/Analyzer.java   | 2 +-
 .../queryengine/plan/relational/analyzer/StatementAnalyzer.java   | 1 +
 .../queryengine/plan/relational/planner/TableLogicalPlanner.java  | 2 +-
 .../planner/distribute/TableModelQueryFragmentPlanner.java        | 4 +---
 .../db/queryengine/plan/relational/sql/ast/ExplainAnalyze.java    | 5 -----
 .../iotdb/db/queryengine/plan/relational/sql/ast/Query.java       | 5 -----
 .../iotdb/db/queryengine/plan/relational/sql/ast/Statement.java   | 4 ----
 8 files changed, 11 insertions(+), 20 deletions(-)

diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/Analysis.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/Analysis.java
index 0d2a0ba1c57..96196da6dce 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/Analysis.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/Analysis.java
@@ -201,6 +201,8 @@ public class Analysis implements IAnalysis {
   // if emptyDataSource, there is no need to execute the query in BE
   private boolean emptyDataSource = false;
 
+  private boolean isQuery = false;
+
   public DataPartition getDataPartition() {
     return dataPartition;
   }
@@ -752,7 +754,11 @@ public class Analysis implements IAnalysis {
 
   @Override
   public boolean isQuery() {
-    return getStatement().isQuery();
+    return isQuery;
+  }
+
+  public void setQuery(boolean query) {
+    isQuery = query;
   }
 
   @Override
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/Analyzer.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/Analyzer.java
index c3e94255072..75071daaa38 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/Analyzer.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/Analyzer.java
@@ -90,7 +90,7 @@ public class Analyzer {
             analysis, context, session, warningCollector, 
CorrelationSupport.ALLOWED);
 
     analyzer.analyze(statement);
-    if (statement.isQuery()) {
+    if (analysis.isQuery()) {
       long analyzeCost = System.nanoTime() - startTime;
       QueryPlanCostMetricSet.getInstance().recordPlanCost(TABLE_TYPE, 
ANALYZER, analyzeCost);
       context.setAnalyzeCost(analyzeCost);
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/StatementAnalyzer.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/StatementAnalyzer.java
index 4987767270a..d4c32235a75 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/StatementAnalyzer.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/StatementAnalyzer.java
@@ -601,6 +601,7 @@ public class StatementAnalyzer {
 
     @Override
     protected Scope visitQuery(Query node, Optional<Scope> context) {
+      analysis.setQuery(true);
       Scope withScope = analyzeWith(node, context);
       hasFillInParentScope = node.getFill().isPresent() || 
hasFillInParentScope;
       Scope queryBodyScope = process(node.getQueryBody(), withScope);
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/TableLogicalPlanner.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/TableLogicalPlanner.java
index 57d9332476b..d69a8a18b75 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/TableLogicalPlanner.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/TableLogicalPlanner.java
@@ -127,7 +127,7 @@ public class TableLogicalPlanner {
     final Statement statement = analysis.getStatement();
     PlanNode planNode = planStatement(analysis, statement);
 
-    if (statement.isQuery()) {
+    if (analysis.isQuery()) {
       long logicalPlanCostTime = System.nanoTime() - startTime;
       QueryPlanCostMetricSet.getInstance()
           .recordPlanCost(TABLE_TYPE, LOGICAL_PLANNER, logicalPlanCostTime);
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/distribute/TableModelQueryFragmentPlanner.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/distribute/TableModelQueryFragmentPlanner.java
index 53eb83664a2..7c595e5e3ce 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/distribute/TableModelQueryFragmentPlanner.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/distribute/TableModelQueryFragmentPlanner.java
@@ -141,9 +141,7 @@ public class TableModelQueryFragmentPlanner {
         });
 
     final Statement statement = analysis.getStatement();
-    if (statement.isQuery()
-        || statement instanceof ShowDevice
-        || statement instanceof CountDevice) {
+    if (analysis.isQuery() || statement instanceof ShowDevice || statement 
instanceof CountDevice) {
       
fragmentInstance.getFragment().generateTableModelTypeProvider(queryContext.getTypeProvider());
     }
     instanceMap.putIfAbsent(fragment.getId(), fragmentInstance);
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ExplainAnalyze.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ExplainAnalyze.java
index 00932fda163..bf48c0b5efc 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ExplainAnalyze.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ExplainAnalyze.java
@@ -83,9 +83,4 @@ public class ExplainAnalyze extends Statement {
   public String toString() {
     return toStringHelper(this).add("statement", statement).add("verbose", 
verbose).toString();
   }
-
-  @Override
-  public boolean isQuery() {
-    return true;
-  }
 }
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Query.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Query.java
index 5a1be601cbd..b8598cd4f7f 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Query.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Query.java
@@ -155,9 +155,4 @@ public class Query extends Statement {
   public boolean shallowEquals(Node other) {
     return sameClass(this, other);
   }
-
-  @Override
-  public boolean isQuery() {
-    return true;
-  }
 }
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Statement.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Statement.java
index 3f9935decbb..77cc58e9316 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Statement.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Statement.java
@@ -31,8 +31,4 @@ public abstract class Statement extends Node {
   public <R, C> R accept(AstVisitor<R, C> visitor, C context) {
     return visitor.visitStatement(this, context);
   }
-
-  public boolean isQuery() {
-    return false;
-  }
 }

Reply via email to