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; - } }
