You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by sh...@apache.org on 2026/04/16 02:45:58 UTC
(iotdb) branch calc_commons updated: move operators
This is an automated email from the ASF dual-hosted git repository.
shuwenwei pushed a commit to branch calc_commons
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/calc_commons by this push:
new ffc07740a53 move operators
ffc07740a53 is described below
commit ffc07740a534ad81b93c78c70ed817da44168551
Author: shuwenwei <we...@timecho.com>
AuthorDate: Thu Apr 16 10:45:37 2026 +0800
move operators
---
.../execution/operator/CommonOperatorUtils.java | 28 ------------
.../execution/operator/GroupedTopNBuilder.java | 2 +-
.../operator/GroupedTopNRowNumberAccumulator.java | 2 +-
.../operator/GroupedTopNRowNumberBuilder.java | 6 +--
.../execution/operator/IdRegistry.java | 2 +-
.../operator/RowIdComparisonStrategy.java | 2 +-
.../execution/operator/RowIdHashStrategy.java | 2 +-
.../execution/operator/RowReference.java | 2 +-
.../operator/RowReferenceTsBlockManager.java | 2 +-
.../SimpleTsBlockWithPositionComparator.java | 4 +-
.../operator/TsBlockWithPositionComparator.java | 2 +-
.../operator/process/MappingCollectOperator.java | 2 +-
.../process/PatternRecognitionOperator.java | 4 +-
.../process/TableLinearFillWithGroupOperator.java | 2 +-
.../operator/process/TableMergeSortOperator.java | 2 +-
.../operator/process/TableSortOperator.java | 2 +-
.../operator/process/TableStreamSortOperator.java | 2 +-
.../operator/process/TableTopKOperator.java | 2 +-
.../execution/operator/process/TopKOperator.java | 3 +-
.../function/TableFunctionLeafOperator.java | 2 +-
.../process/function/TableFunctionOperator.java | 2 +-
.../gapfill}/gapfill/AbstractGapFillOperator.java | 4 +-
.../gapfill/AbstractGapFillWGroupOperator.java | 2 +-
.../gapfill/AbstractGapFillWoGroupOperator.java | 2 +-
.../gapfill}/gapfill/GapFillWGroupWMoOperator.java | 2 +-
.../gapfill/GapFillWGroupWoMoOperator.java | 2 +-
.../gapfill/GapFillWoGroupWMoOperator.java | 2 +-
.../gapfill/GapFillWoGroupWoMoOperator.java | 2 +-
.../join/SimpleNestedLoopCrossJoinOperator.java | 2 +-
.../process/join/merge/MergeSortComparator.java | 27 +-----------
.../process/join/merge/SortKeyComparator.java | 2 +-
.../process/rowpattern/PatternAggregator.java | 2 +-
.../rowpattern/matcher/PatternCaptures.java | 2 +-
.../operator/process/window/RowNumberOperator.java | 6 +--
.../process/window/TableWindowOperator.java | 4 +-
.../process/window/TopKRankingOperator.java | 12 +++---
.../function/aggregate/WindowAggregator.java | 2 +-
.../AbstractAsofMergeSortJoinOperator.java | 3 +-
.../relational/AbstractMergeSortJoinOperator.java | 4 +-
.../relational/AsofMergeSortInnerJoinOperator.java | 1 -
.../relational/AsofMergeSortLeftJoinOperator.java | 1 -
.../source/relational/MarkDistinctOperator.java | 4 +-
.../relational/MergeSortFullOuterJoinOperator.java | 2 +-
.../relational/aggregation/AccumulatorFactory.java | 2 +-
.../aggregation/AggregationOperator.java | 2 +-
.../relational/aggregation/TableAggregator.java | 10 +++--
.../aggregation/grouped/GroupedAggregator.java | 2 +-
.../grouped/HashAggregationOperator.java | 2 +-
.../grouped/StreamingAggregationOperator.java | 2 +-
.../grouped/StreamingHashAggregationOperator.java | 4 +-
.../builder/InMemoryHashAggregationBuilder.java | 6 +--
.../metric/QueryExecutionMetricSet.java | 2 +-
...eneratorUtils.java => CommonOperatorUtils.java} | 12 +++++-
.../plan/planner/TableOperatorGenerator.java | 20 ++++-----
.../ir/GlobalTimePredicateExtractVisitor.java | 2 -
.../plan/relational/utils/matching/Capture.java | 2 +-
.../plan/relational/utils/matching/Captures.java | 2 +-
.../relational/utils/matching/DefaultPrinter.java | 12 +++---
.../plan/relational/utils/matching/Match.java | 2 +-
.../plan/relational/utils/matching/Pattern.java | 10 ++---
.../relational/utils/matching/PatternVisitor.java | 12 +++---
.../plan/relational/utils/matching/Property.java | 6 +--
.../relational/utils/matching/PropertyPattern.java | 2 +-
.../utils/matching/pattern/CapturePattern.java | 12 +++---
.../utils/matching/pattern/EqualsPattern.java | 10 ++---
.../utils/matching/pattern/FilterPattern.java | 10 ++---
.../utils/matching/pattern/TypeOfPattern.java | 10 ++---
.../utils/matching/pattern/WithPattern.java | 14 +++---
.../hash/{hash => }/CombineHashFunction.java | 2 +-
.../grouped/hash/{hash => }/FlatGroupByHash.java | 4 +-
.../grouped/hash/{hash => }/FlatHash.java | 6 +--
.../grouped/hash/{hash => }/FlatHashStrategy.java | 2 +-
.../grouped/hash/{hash => }/GroupByHash.java | 2 +-
.../grouped/hash/{hash => }/HashStrategy.java | 2 +-
.../grouped/hash/{hash => }/MarkDistinctHash.java | 6 +--
.../hash/{hash => }/NoChannelGroupByHash.java | 2 +-
.../grouped/hash/{hash => }/VariableWidthData.java | 8 ++--
.../grouped/hash/{hash => }/XxHash64.java | 2 +-
.../plan/relational/planner/node/ApplyNode.java | 4 +-
.../plan/relational/sql/ast/BinaryLiteral.java | 2 +-
.../relational/sql/ast/CommonQueryAstVisitor.java | 24 +++++++++++
.../plan/relational/sql/ast/Fill.java | 12 ++----
.../plan/relational/sql/ast/FunctionCall.java | 2 -
.../plan/relational/sql/ast/GenericLiteral.java | 2 +-
.../plan/relational/sql/ast/Limit.java | 13 +-----
.../plan/relational/sql/ast/LongLiteral.java | 2 +-
.../plan/relational/sql/ast/Offset.java | 12 +-----
.../plan/relational/sql/ast/ProcessingMode.java | 9 +---
.../plan/relational/sql/ast/Query.java | 4 --
.../plan/relational/sql/ast/With.java | 9 +---
.../plan/relational/sql/ast/WithQuery.java | 11 +----
.../relational/sql/parser/ParsingException.java | 2 +-
.../plan/relational/type/NamedTypeSignature.java | 4 +-
.../plan/relational/type/ParameterKind.java | 2 +-
.../plan/relational/type/RowFieldName.java | 2 +-
.../plan/relational/type/StandardTypes.java | 2 +-
.../plan/relational/type/TypeSignature.java | 8 +---
.../relational/type/TypeSignatureParameter.java | 4 +-
.../relational/type/TypeSignatureTranslator.java | 7 ++-
.../plan/relational/utils/TypeUtil.java | 10 ++---
.../plan/statement/component/FillPolicy.java | 2 +-
.../protocol/thrift/impl/ClientRPCServiceImpl.java | 2 +-
.../execution/aggregation/TreeAggregator.java | 6 +--
.../queryengine/execution/driver/DataDriver.java | 2 +-
.../db/queryengine/execution/driver/Driver.java | 4 +-
.../fragment/FragmentInstanceManager.java | 4 +-
.../process/function/PartitionRecognizer.java | 2 +-
.../join/merge/MergeSortComparatorUtils.java | 50 ++++++++++++++++++++++
.../relational/AbstractAggTableScanOperator.java | 2 +-
.../AbstractDefaultAggTableScanOperator.java | 2 +-
.../relational/AbstractTableScanOperator.java | 2 +-
.../relational/DeviceIteratorScanOperator.java | 2 +-
.../InformationSchemaContentSupplierFactory.java | 2 +-
.../MeasurementToTableViewAdaptorUtils.java | 2 +-
...onAlignedDeviceViewAggregationScanOperator.java | 4 +-
.../plan/analyze/ExpressionAnalyzer.java | 2 +-
.../queryengine/plan/analyze/ExpressionUtils.java | 2 +-
.../queryengine/plan/analyze/PredicateUtils.java | 2 +-
.../queryengine/plan/execution/QueryExecution.java | 4 +-
.../expression/UnknownExpressionTypeException.java | 4 +-
.../plan/optimization/LimitOffsetPushDown.java | 2 +-
.../OrderByExpressionWithLimitChangeToTopK.java | 2 +-
.../db/queryengine/plan/parser/ASTVisitor.java | 2 +-
.../plan/planner/LogicalPlanBuilder.java | 2 +-
.../plan/planner/OperatorGeneratorUtil.java | 2 +-
.../plan/planner/OperatorTreeGenerator.java | 17 +++-----
.../planner/plan/parameter/FillDescriptor.java | 2 +-
.../plan/relational/analyzer/Analysis.java | 8 ++--
.../relational/analyzer/ExpressionAnalyzer.java | 2 +-
.../analyzer/PatternRecognitionAnalyzer.java | 2 +-
.../plan/relational/analyzer/Scope.java | 2 +-
.../relational/analyzer/StatementAnalyzer.java | 12 +++---
.../plan/relational/planner/CteMaterializer.java | 4 +-
.../plan/relational/planner/PredicateUtils.java | 2 +-
.../plan/relational/planner/QueryPlanner.java | 4 +-
...ithUncorrelatedScalarSubqueryReconstructor.java | 4 +-
.../planner/iterative/IterativeOptimizer.java | 8 ++--
.../plan/relational/planner/iterative/Rule.java | 4 +-
.../relational/planner/iterative/RuleIndex.java | 4 +-
.../rule/EliminateLimitProjectWithTableScan.java | 8 ++--
.../rule/EliminateLimitWithTableScan.java | 8 ++--
.../iterative/rule/EvaluateEmptyIntersect.java | 4 +-
.../iterative/rule/ExpressionRewriteRuleSet.java | 4 +-
.../iterative/rule/GatherAndMergeWindows.java | 10 ++---
.../planner/iterative/rule/ImplementExceptAll.java | 4 +-
.../rule/ImplementExceptDistinctAsUnion.java | 4 +-
.../iterative/rule/ImplementIntersectAll.java | 4 +-
.../rule/ImplementIntersectDistinctAsUnion.java | 4 +-
.../rule/ImplementPatternRecognition.java | 4 +-
.../rule/ImplementTableFunctionSource.java | 4 +-
.../planner/iterative/rule/InlineProjections.java | 8 ++--
.../planner/iterative/rule/MergeExcept.java | 4 +-
.../planner/iterative/rule/MergeFilters.java | 8 ++--
.../planner/iterative/rule/MergeIntersect.java | 4 +-
.../rule/MergeLimitOverProjectWithMergeSort.java | 8 ++--
.../rule/MergeLimitOverProjectWithSort.java | 8 ++--
.../iterative/rule/MergeLimitWithMergeSort.java | 8 ++--
.../planner/iterative/rule/MergeLimitWithSort.java | 8 ++--
.../planner/iterative/rule/MergeLimits.java | 8 ++--
.../planner/iterative/rule/MergeUnion.java | 4 +-
.../MultipleDistinctAggregationToMarkDistinct.java | 4 +-
.../planner/iterative/rule/OptimizeRowPattern.java | 4 +-
.../iterative/rule/ProjectOffPushDownRule.java | 8 ++--
.../rule/PruneAggregationSourceColumns.java | 4 +-
.../iterative/rule/PruneApplyCorrelation.java | 4 +-
.../iterative/rule/PruneApplySourceColumns.java | 4 +-
.../planner/iterative/rule/PruneCopyToColumns.java | 4 +-
.../rule/PruneCorrelatedJoinCorrelation.java | 4 +-
.../iterative/rule/PruneDistinctAggregation.java | 4 +-
.../iterative/rule/PruneExceptSourceColumns.java | 4 +-
.../iterative/rule/PruneExplainAnalyzeColumns.java | 4 +-
.../rule/PruneIntersectSourceColumns.java | 4 +-
.../iterative/rule/PruneJoinChildrenColumns.java | 4 +-
.../iterative/rule/PruneOutputSourceColumns.java | 4 +-
.../rule/PrunePatternRecognitionSourceColumns.java | 4 +-
.../PruneTableFunctionProcessorSourceColumns.java | 4 +-
.../iterative/rule/PruneUnionSourceColumns.java | 4 +-
.../iterative/rule/PushDownFilterIntoWindow.java | 8 ++--
.../iterative/rule/PushDownLimitIntoWindow.java | 8 ++--
.../rule/PushDownOffsetIntoTableScan.java | 8 ++--
.../iterative/rule/PushLimitThroughOffset.java | 8 ++--
.../iterative/rule/PushLimitThroughProject.java | 8 ++--
.../iterative/rule/PushLimitThroughUnion.java | 8 ++--
.../iterative/rule/PushProjectionThroughUnion.java | 8 ++--
.../iterative/rule/PushTopKThroughUnion.java | 8 ++--
.../iterative/rule/RemoveEmptyExceptBranches.java | 4 +-
.../iterative/rule/RemoveEmptyUnionBranches.java | 4 +-
.../rule/RemoveRedundantEnforceSingleRowNode.java | 4 +-
.../iterative/rule/RemoveRedundantExists.java | 4 +-
.../rule/RemoveRedundantIdentityProjections.java | 4 +-
.../iterative/rule/RemoveRedundantWindow.java | 4 +-
.../iterative/rule/RemoveTrivialFilters.java | 4 +-
.../rule/RemoveUnreferencedScalarApplyNodes.java | 4 +-
.../rule/RemoveUnreferencedScalarSubqueries.java | 4 +-
.../iterative/rule/ReplaceWindowWithRowNumber.java | 4 +-
.../iterative/rule/SimplifyCountOverConstant.java | 8 ++--
.../rule/SingleDistinctAggregationToGroupBy.java | 4 +-
...orrelatedDistinctAggregationWithProjection.java | 10 ++---
...elatedDistinctAggregationWithoutProjection.java | 10 ++---
...mCorrelatedGlobalAggregationWithProjection.java | 12 +++---
...rrelatedGlobalAggregationWithoutProjection.java | 12 +++---
...CorrelatedGroupedAggregationWithProjection.java | 10 ++---
...relatedGroupedAggregationWithoutProjection.java | 10 ++---
.../rule/TransformCorrelatedJoinToJoin.java | 6 +--
.../rule/TransformCorrelatedScalarSubquery.java | 6 +--
.../rule/TransformExistsApplyToCorrelatedJoin.java | 4 +-
.../TransformFilteringSemiJoinToInnerJoin.java | 8 ++--
...mUncorrelatedInPredicateSubqueryToSemiJoin.java | 6 +--
.../rule/TransformUncorrelatedSubqueryToJoin.java | 6 +--
.../plan/relational/planner/node/Patterns.java | 10 ++---
.../plan/relational/sql/ast/AstVisitor.java | 24 -----------
.../sql/ast/DefaultTraversalVisitor.java | 5 +++
.../relational/sql/ast/QuerySpecification.java | 2 +
.../plan/relational/sql/ast/ShowDevice.java | 1 +
.../relational/sql/ast/ShowExternalService.java | 1 +
.../relational/sql/ast/ShowQueriesStatement.java | 1 +
.../plan/relational/sql/ast/ShowStatement.java | 1 +
.../plan/relational/sql/parser/AstBuilder.java | 17 ++++----
.../plan/relational/sql/parser/ErrorHandler.java | 2 +
.../plan/relational/sql/parser/SqlParser.java | 1 +
.../plan/relational/sql/util/QueryUtil.java | 4 +-
.../relational/sql/util/ReservedIdentifiers.java | 2 +-
.../plan/relational/sql/util/SqlFormatter.java | 10 ++---
.../plan/scheduler/ClusterScheduler.java | 4 +-
.../scheduler/FragmentInstanceDispatcherImpl.java | 4 +-
.../plan/statement/component/FillComponent.java | 1 +
.../db/service/metrics/DataNodeMetricsHelper.java | 2 +-
.../dataregion/memtable/TsFileProcessor.java | 4 +-
.../iotdb/db/utils/sort/TableDiskSpiller.java | 2 +-
.../operator/AggregationMergeSortOperatorTest.java | 2 +-
.../operator/MergeTreeSortOperatorTest.java | 16 +++----
.../operator/SortOperatorSortBranchTest.java | 4 +-
.../execution/operator/TreeTopKOperatorTest.java | 16 +++----
.../process/TableStreamSortOperatorTest.java | 4 +-
.../operator/process/ValuesOperatorTest.java | 2 +-
.../gapfill/GapFillWGroupWMoOperatorTest.java | 6 ++-
.../gapfill/GapFillWGroupWoMoOperatorTest.java | 6 ++-
.../gapfill/GapFillWoGroupWMoOperatorTest.java | 4 +-
.../gapfill/GapFillWoGroupWoMoOperatorTest.java | 3 +-
.../process/tvf/TableFunctionOperatorTest.java | 2 +-
.../process/window/RowNumberOperatorTest.java | 2 +-
.../process/window/TableWindowOperatorTest.java | 2 +-
.../window/TableWindowOperatorTestUtils.java | 2 +-
.../process/window/TopKRankingOperatorTest.java | 2 +-
.../aggregate/AggregationWindowFunctionTest.java | 2 +-
.../window/function/rank/CumeDistFunctionTest.java | 2 +-
.../function/rank/DenseRankFunctionTest.java | 2 +-
.../window/function/rank/NTileFunctionTest.java | 2 +-
.../function/rank/PercentRankFunctionTest.java | 2 +-
.../window/function/rank/RankFunctionTest.java | 2 +-
.../function/rank/RowNumberFunctionTest.java | 2 +-
.../function/value/FirstValueFunctionTest.java | 2 +-
.../window/function/value/LagFunctionTest.java | 2 +-
.../function/value/LastValueFunctionTest.java | 2 +-
.../window/function/value/LeadFunctionTest.java | 2 +-
.../function/value/NthValueFunctionTest.java | 2 +-
.../optimization/ColumnInjectionPushDownTest.java | 2 +-
.../plan/optimization/LimitOffsetPushDownTest.java | 2 +-
.../plan/optimization/TestPlanBuilder.java | 2 +-
.../planner/node/process/FillNodeSerdeTest.java | 2 +-
.../analyzer/AggregationCornerCaseTest.java | 6 +--
.../analyzer/AsofInnerJoinOperatorTest.java | 2 +-
.../plan/relational/analyzer/JoinTest.java | 2 +-
.../sql/ast/SqlParserErrorHandlerTest.java | 2 +-
.../relational/sql/parser/AuthorStatementTest.java | 1 +
.../db/utils/datastructure/MergeSortHeapTest.java | 4 +-
266 files changed, 656 insertions(+), 685 deletions(-)
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/CommonOperatorUtils.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/CommonOperatorUtils.java
deleted file mode 100644
index df3f315cc38..00000000000
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/CommonOperatorUtils.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.iotdb.db.calc_commons.execution.operator;
-
-import org.apache.tsfile.read.common.block.column.LongColumn;
-
-import java.util.Optional;
-
-public class CommonOperatorUtils {
- public static final String CURRENT_DEVICE_INDEX_STRING = "CurrentDeviceIndex";
- public static final LongColumn TIME_COLUMN_TEMPLATE =
- new LongColumn(1, Optional.empty(), new long[] {0});
- public static final String CURRENT_USED_MEMORY = "CurrentUsedMemory";
- public static final String MAX_USED_MEMORY = "MaxUsedMemory";
- public static final String MAX_RESERVED_MEMORY = "MaxReservedMemory";
-}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/GroupedTopNBuilder.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/GroupedTopNBuilder.java
similarity index 94%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/GroupedTopNBuilder.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/GroupedTopNBuilder.java
index 2f8a99097c9..ae0989f93de 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/GroupedTopNBuilder.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/GroupedTopNBuilder.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.execution.operator;
+package org.apache.iotdb.db.calc_commons.execution.operator;
import org.apache.tsfile.read.common.block.TsBlock;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/GroupedTopNRowNumberAccumulator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/GroupedTopNRowNumberAccumulator.java
similarity index 99%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/GroupedTopNRowNumberAccumulator.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/GroupedTopNRowNumberAccumulator.java
index 245071da905..15a687afa52 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/GroupedTopNRowNumberAccumulator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/GroupedTopNRowNumberAccumulator.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.execution.operator;
+package org.apache.iotdb.db.calc_commons.execution.operator;
import org.apache.iotdb.db.calc_commons.execution.operator.source.relational.aggregation.grouped.array.LongBigArray;
import org.apache.iotdb.db.calc_commons.execution.operator.source.relational.aggregation.grouped.array.LongBigArrayFIFOQueue;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/GroupedTopNRowNumberBuilder.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/GroupedTopNRowNumberBuilder.java
similarity index 96%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/GroupedTopNRowNumberBuilder.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/GroupedTopNRowNumberBuilder.java
index 15a3ad259b3..025877eddfe 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/GroupedTopNRowNumberBuilder.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/GroupedTopNRowNumberBuilder.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.execution.operator;
+package org.apache.iotdb.db.calc_commons.execution.operator;
import org.apache.iotdb.db.calc_commons.execution.operator.source.relational.aggregation.grouped.array.LongBigArray;
-import org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.hash.GroupByHash;
+import org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.GroupByHash;
import com.google.common.collect.AbstractIterator;
import com.google.common.collect.ImmutableList;
@@ -35,7 +35,7 @@ import org.apache.tsfile.utils.RamUsageEstimator;
import java.util.Iterator;
import java.util.List;
-import static org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils.TIME_COLUMN_TEMPLATE;
+import static org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils.TIME_COLUMN_TEMPLATE;
public class GroupedTopNRowNumberBuilder implements GroupedTopNBuilder {
private static final long INSTANCE_SIZE =
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/IdRegistry.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/IdRegistry.java
similarity index 97%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/IdRegistry.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/IdRegistry.java
index ad87c4fe25f..2dec051a9ac 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/IdRegistry.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/IdRegistry.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.execution.operator;
+package org.apache.iotdb.db.calc_commons.execution.operator;
import org.apache.iotdb.db.calc_commons.execution.operator.source.relational.aggregation.grouped.array.IntArrayFIFOQueue;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/RowIdComparisonStrategy.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/RowIdComparisonStrategy.java
similarity index 93%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/RowIdComparisonStrategy.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/RowIdComparisonStrategy.java
index a3a49e7eef3..7b4288dbc06 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/RowIdComparisonStrategy.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/RowIdComparisonStrategy.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.execution.operator;
+package org.apache.iotdb.db.calc_commons.execution.operator;
public interface RowIdComparisonStrategy {
int compare(long leftRowId, long rightRowId);
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/RowIdHashStrategy.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/RowIdHashStrategy.java
similarity index 94%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/RowIdHashStrategy.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/RowIdHashStrategy.java
index f51912c952d..43382d293ae 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/RowIdHashStrategy.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/RowIdHashStrategy.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.execution.operator;
+package org.apache.iotdb.db.calc_commons.execution.operator;
/** Hash strategy that evaluates over row IDs */
public interface RowIdHashStrategy {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/RowReference.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/RowReference.java
similarity index 96%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/RowReference.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/RowReference.java
index ef81b2ad992..4522932cb98 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/RowReference.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/RowReference.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.execution.operator;
+package org.apache.iotdb.db.calc_commons.execution.operator;
/**
* Reference to a row.
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/RowReferenceTsBlockManager.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/RowReferenceTsBlockManager.java
similarity index 99%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/RowReferenceTsBlockManager.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/RowReferenceTsBlockManager.java
index d56257a00b0..c17725a9a50 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/RowReferenceTsBlockManager.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/RowReferenceTsBlockManager.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.execution.operator;
+package org.apache.iotdb.db.calc_commons.execution.operator;
import org.apache.iotdb.db.calc_commons.execution.operator.source.relational.aggregation.grouped.array.IntBigArray;
import org.apache.iotdb.db.calc_commons.execution.operator.source.relational.aggregation.grouped.array.LongBigArrayFIFOQueue;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/SimpleTsBlockWithPositionComparator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/SimpleTsBlockWithPositionComparator.java
similarity index 92%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/SimpleTsBlockWithPositionComparator.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/SimpleTsBlockWithPositionComparator.java
index e9b64ac2d01..c9c296b8dca 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/SimpleTsBlockWithPositionComparator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/SimpleTsBlockWithPositionComparator.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.execution.operator;
+package org.apache.iotdb.db.calc_commons.execution.operator;
+import org.apache.iotdb.db.calc_commons.execution.operator.process.join.merge.MergeSortComparator;
import org.apache.iotdb.db.node_commons.plan.relational.planner.SortOrder;
-import org.apache.iotdb.db.queryengine.execution.operator.process.join.merge.MergeSortComparator;
import org.apache.iotdb.db.utils.datastructure.MergeSortKey;
import org.apache.iotdb.db.utils.datastructure.SortKey;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/TsBlockWithPositionComparator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/TsBlockWithPositionComparator.java
similarity index 94%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/TsBlockWithPositionComparator.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/TsBlockWithPositionComparator.java
index aa6c5bfb734..4d482688d65 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/TsBlockWithPositionComparator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/TsBlockWithPositionComparator.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.execution.operator;
+package org.apache.iotdb.db.calc_commons.execution.operator;
import org.apache.tsfile.read.common.block.TsBlock;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/MappingCollectOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/MappingCollectOperator.java
index ec90fb80cac..362e3e564ad 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/MappingCollectOperator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/MappingCollectOperator.java
@@ -19,9 +19,9 @@
package org.apache.iotdb.db.calc_commons.execution.operator.process;
-import org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils;
import org.apache.iotdb.db.calc_commons.execution.operator.Operator;
import org.apache.iotdb.db.calc_commons.execution.operator.OperatorContext;
+import org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.read.common.block.TsBlock;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/PatternRecognitionOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/PatternRecognitionOperator.java
index c9fda77fa7b..898c7d4edc2 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/PatternRecognitionOperator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/PatternRecognitionOperator.java
@@ -50,8 +50,8 @@ import java.util.List;
import java.util.Optional;
import java.util.concurrent.TimeUnit;
-import static org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils.MAX_RESERVED_MEMORY;
-import static org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils.TIME_COLUMN_TEMPLATE;
+import static org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils.MAX_RESERVED_MEMORY;
+import static org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils.TIME_COLUMN_TEMPLATE;
public class PatternRecognitionOperator implements ProcessOperator {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/TableLinearFillWithGroupOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/TableLinearFillWithGroupOperator.java
index 6d622ee576e..70df964db90 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/TableLinearFillWithGroupOperator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/TableLinearFillWithGroupOperator.java
@@ -19,10 +19,10 @@
package org.apache.iotdb.db.calc_commons.execution.operator.process;
-import org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils;
import org.apache.iotdb.db.calc_commons.execution.operator.Operator;
import org.apache.iotdb.db.calc_commons.execution.operator.OperatorContext;
import org.apache.iotdb.db.calc_commons.execution.operator.process.fill.ILinearFill;
+import org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils;
import org.apache.iotdb.db.utils.datastructure.SortKey;
import org.apache.tsfile.block.column.Column;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/TableMergeSortOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/TableMergeSortOperator.java
index 70dd1fd97ae..bc44b7a4dab 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/TableMergeSortOperator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/TableMergeSortOperator.java
@@ -19,9 +19,9 @@
package org.apache.iotdb.db.calc_commons.execution.operator.process;
-import org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils;
import org.apache.iotdb.db.calc_commons.execution.operator.Operator;
import org.apache.iotdb.db.calc_commons.execution.operator.OperatorContext;
+import org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils;
import org.apache.iotdb.db.utils.datastructure.SortKey;
import org.apache.tsfile.enums.TSDataType;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/TableSortOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/TableSortOperator.java
index 75811a796d5..2a2930044c2 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/TableSortOperator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/TableSortOperator.java
@@ -19,9 +19,9 @@
package org.apache.iotdb.db.calc_commons.execution.operator.process;
-import org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils;
import org.apache.iotdb.db.calc_commons.execution.operator.Operator;
import org.apache.iotdb.db.calc_commons.execution.operator.OperatorContext;
+import org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils;
import org.apache.iotdb.db.utils.datastructure.SortKey;
import org.apache.iotdb.db.utils.sort.TableDiskSpiller;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/TableStreamSortOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/TableStreamSortOperator.java
index 4809c6c812b..effd8157dab 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/TableStreamSortOperator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/TableStreamSortOperator.java
@@ -20,9 +20,9 @@
package org.apache.iotdb.db.calc_commons.execution.operator.process;
import org.apache.iotdb.commons.exception.IoTDBException;
-import org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils;
import org.apache.iotdb.db.calc_commons.execution.operator.Operator;
import org.apache.iotdb.db.calc_commons.execution.operator.OperatorContext;
+import org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils;
import org.apache.iotdb.db.node_commons.execution.MemoryEstimationHelper;
import org.apache.iotdb.db.utils.datastructure.SortKey;
import org.apache.iotdb.db.utils.sort.TableDiskSpiller;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/TableTopKOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/TableTopKOperator.java
index 39fcfadac8c..b9be44ca141 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/TableTopKOperator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/TableTopKOperator.java
@@ -19,9 +19,9 @@
package org.apache.iotdb.db.calc_commons.execution.operator.process;
-import org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils;
import org.apache.iotdb.db.calc_commons.execution.operator.Operator;
import org.apache.iotdb.db.calc_commons.execution.operator.OperatorContext;
+import org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils;
import org.apache.iotdb.db.utils.datastructure.SortKey;
import org.apache.tsfile.block.column.Column;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/TopKOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/TopKOperator.java
index 985bb5bc2c1..bb7f2c3e6dd 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/TopKOperator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/TopKOperator.java
@@ -22,7 +22,6 @@ package org.apache.iotdb.db.calc_commons.execution.operator.process;
import org.apache.iotdb.db.calc_commons.execution.operator.Operator;
import org.apache.iotdb.db.calc_commons.execution.operator.OperatorContext;
import org.apache.iotdb.db.node_commons.execution.MemoryEstimationHelper;
-import org.apache.iotdb.db.queryengine.execution.operator.process.TreeTopKOperator;
import org.apache.iotdb.db.utils.datastructure.MergeSortHeap;
import org.apache.iotdb.db.utils.datastructure.MergeSortKey;
import org.apache.iotdb.db.utils.datastructure.SortKey;
@@ -55,7 +54,7 @@ import static com.google.common.util.concurrent.Futures.successfulAsList;
public abstract class TopKOperator implements ProcessOperator {
private static final long INSTANCE_SIZE =
- RamUsageEstimator.shallowSizeOfInstance(TreeTopKOperator.class);
+ RamUsageEstimator.shallowSizeOfInstance(TopKOperator.class);
private final OperatorContext operatorContext;
private final List<Operator> childrenOperators;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/function/TableFunctionLeafOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/function/TableFunctionLeafOperator.java
index 69423c981d7..b923028cfd3 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/function/TableFunctionLeafOperator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/function/TableFunctionLeafOperator.java
@@ -20,9 +20,9 @@
package org.apache.iotdb.db.calc_commons.execution.operator.process.function;
import org.apache.iotdb.commons.exception.IoTDBRuntimeException;
-import org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils;
import org.apache.iotdb.db.calc_commons.execution.operator.OperatorContext;
import org.apache.iotdb.db.calc_commons.execution.operator.process.ProcessOperator;
+import org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils;
import org.apache.iotdb.rpc.TSStatusCode;
import org.apache.iotdb.udf.api.relational.table.TableFunctionProcessorProvider;
import org.apache.iotdb.udf.api.relational.table.processor.TableFunctionLeafProcessor;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/function/TableFunctionOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/function/TableFunctionOperator.java
index d10f5fdbae4..0b353a40d41 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/function/TableFunctionOperator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/function/TableFunctionOperator.java
@@ -19,7 +19,6 @@
package org.apache.iotdb.db.calc_commons.execution.operator.process.function;
-import org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils;
import org.apache.iotdb.db.calc_commons.execution.operator.Operator;
import org.apache.iotdb.db.calc_commons.execution.operator.OperatorContext;
import org.apache.iotdb.db.calc_commons.execution.operator.process.AggregationMergeSortOperator;
@@ -27,6 +26,7 @@ import org.apache.iotdb.db.calc_commons.execution.operator.process.ProcessOperat
import org.apache.iotdb.db.calc_commons.execution.operator.process.function.partition.PartitionCache;
import org.apache.iotdb.db.calc_commons.execution.operator.process.function.partition.PartitionState;
import org.apache.iotdb.db.calc_commons.execution.operator.process.function.partition.Slice;
+import org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils;
import org.apache.iotdb.db.node_commons.execution.MemoryEstimationHelper;
import org.apache.iotdb.db.queryengine.execution.operator.process.function.PartitionRecognizer;
import org.apache.iotdb.udf.api.relational.access.Record;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/AbstractGapFillOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/gapfill/gapfill/AbstractGapFillOperator.java
similarity index 98%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/AbstractGapFillOperator.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/gapfill/gapfill/AbstractGapFillOperator.java
index 48f4a949de9..4693f2633a5 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/AbstractGapFillOperator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/gapfill/gapfill/AbstractGapFillOperator.java
@@ -17,12 +17,12 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.execution.operator.process.gapfill;
+package org.apache.iotdb.db.calc_commons.execution.operator.process.gapfill.gapfill;
-import org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils;
import org.apache.iotdb.db.calc_commons.execution.operator.Operator;
import org.apache.iotdb.db.calc_commons.execution.operator.OperatorContext;
import org.apache.iotdb.db.calc_commons.execution.operator.process.ProcessOperator;
+import org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils;
import org.apache.iotdb.db.node_commons.execution.MemoryEstimationHelper;
import org.apache.iotdb.db.utils.datastructure.SortKey;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/AbstractGapFillWGroupOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/gapfill/gapfill/AbstractGapFillWGroupOperator.java
similarity index 96%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/AbstractGapFillWGroupOperator.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/gapfill/gapfill/AbstractGapFillWGroupOperator.java
index c375c47d76a..dfff820a7d8 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/AbstractGapFillWGroupOperator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/gapfill/gapfill/AbstractGapFillWGroupOperator.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.execution.operator.process.gapfill;
+package org.apache.iotdb.db.calc_commons.execution.operator.process.gapfill.gapfill;
import org.apache.iotdb.db.calc_commons.execution.operator.Operator;
import org.apache.iotdb.db.calc_commons.execution.operator.OperatorContext;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/AbstractGapFillWoGroupOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/gapfill/gapfill/AbstractGapFillWoGroupOperator.java
similarity index 95%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/AbstractGapFillWoGroupOperator.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/gapfill/gapfill/AbstractGapFillWoGroupOperator.java
index 71521a10e4e..ee7e4f33d89 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/AbstractGapFillWoGroupOperator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/gapfill/gapfill/AbstractGapFillWoGroupOperator.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.execution.operator.process.gapfill;
+package org.apache.iotdb.db.calc_commons.execution.operator.process.gapfill.gapfill;
import org.apache.iotdb.db.calc_commons.execution.operator.Operator;
import org.apache.iotdb.db.calc_commons.execution.operator.OperatorContext;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/GapFillWGroupWMoOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/gapfill/gapfill/GapFillWGroupWMoOperator.java
similarity index 96%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/GapFillWGroupWMoOperator.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/gapfill/gapfill/GapFillWGroupWMoOperator.java
index b44a7ba88c0..9dc413c4172 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/GapFillWGroupWMoOperator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/gapfill/gapfill/GapFillWGroupWMoOperator.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.execution.operator.process.gapfill;
+package org.apache.iotdb.db.calc_commons.execution.operator.process.gapfill.gapfill;
import org.apache.iotdb.db.calc_commons.execution.operator.Operator;
import org.apache.iotdb.db.calc_commons.execution.operator.OperatorContext;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/GapFillWGroupWoMoOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/gapfill/gapfill/GapFillWGroupWoMoOperator.java
similarity index 96%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/GapFillWGroupWoMoOperator.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/gapfill/gapfill/GapFillWGroupWoMoOperator.java
index 79dcf1a5682..63780e99583 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/GapFillWGroupWoMoOperator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/gapfill/gapfill/GapFillWGroupWoMoOperator.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.execution.operator.process.gapfill;
+package org.apache.iotdb.db.calc_commons.execution.operator.process.gapfill.gapfill;
// without month interval
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/GapFillWoGroupWMoOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/gapfill/gapfill/GapFillWoGroupWMoOperator.java
similarity index 95%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/GapFillWoGroupWMoOperator.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/gapfill/gapfill/GapFillWoGroupWMoOperator.java
index c65f133c707..7a0fe11d143 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/GapFillWoGroupWMoOperator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/gapfill/gapfill/GapFillWoGroupWMoOperator.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.execution.operator.process.gapfill;
+package org.apache.iotdb.db.calc_commons.execution.operator.process.gapfill.gapfill;
import org.apache.iotdb.db.calc_commons.execution.operator.Operator;
import org.apache.iotdb.db.calc_commons.execution.operator.OperatorContext;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/GapFillWoGroupWoMoOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/gapfill/gapfill/GapFillWoGroupWoMoOperator.java
similarity index 95%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/GapFillWoGroupWoMoOperator.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/gapfill/gapfill/GapFillWoGroupWoMoOperator.java
index ff050d318cb..1f13c51c59b 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/GapFillWoGroupWoMoOperator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/gapfill/gapfill/GapFillWoGroupWoMoOperator.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.execution.operator.process.gapfill;
+package org.apache.iotdb.db.calc_commons.execution.operator.process.gapfill.gapfill;
import org.apache.iotdb.db.calc_commons.execution.operator.Operator;
import org.apache.iotdb.db.calc_commons.execution.operator.OperatorContext;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/join/SimpleNestedLoopCrossJoinOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/join/SimpleNestedLoopCrossJoinOperator.java
index 24f72e3d29d..f09a263e51d 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/join/SimpleNestedLoopCrossJoinOperator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/join/SimpleNestedLoopCrossJoinOperator.java
@@ -20,9 +20,9 @@
package org.apache.iotdb.db.calc_commons.execution.operator.process.join;
import org.apache.iotdb.db.calc_commons.execution.operator.AbstractOperator;
-import org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils;
import org.apache.iotdb.db.calc_commons.execution.operator.Operator;
import org.apache.iotdb.db.calc_commons.execution.operator.OperatorContext;
+import org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils;
import org.apache.iotdb.db.calc_commons.plan.planner.memory.MemoryReservationManager;
import org.apache.iotdb.db.node_commons.execution.MemoryEstimationHelper;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/join/merge/MergeSortComparator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/join/merge/MergeSortComparator.java
similarity index 78%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/join/merge/MergeSortComparator.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/join/merge/MergeSortComparator.java
index 2b7dc8b9c59..c329b92bea5 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/join/merge/MergeSortComparator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/join/merge/MergeSortComparator.java
@@ -17,12 +17,9 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.execution.operator.process.join.merge;
+package org.apache.iotdb.db.calc_commons.execution.operator.process.join.merge;
import org.apache.iotdb.db.node_commons.plan.relational.planner.SortOrder;
-import org.apache.iotdb.db.queryengine.plan.statement.component.NullOrdering;
-import org.apache.iotdb.db.queryengine.plan.statement.component.Ordering;
-import org.apache.iotdb.db.queryengine.plan.statement.component.SortItem;
import org.apache.iotdb.db.utils.datastructure.SortKey;
import org.apache.tsfile.enums.TSDataType;
@@ -47,26 +44,6 @@ public class MergeSortComparator {
// util class doesn't need constructor
}
- /** -1 in index is for time column. */
- public static Comparator<SortKey> getComparator(
- List<SortItem> sortItemList, List<Integer> indexList, List<TSDataType> dataTypeList) {
-
- // use code-gen compile this comparator
- List<Comparator<SortKey>> list = new ArrayList<>(indexList.size());
- for (int i = 0; i < indexList.size(); i++) {
- int index = indexList.get(i);
- if (index == -2) {
- continue;
- }
- TSDataType dataType = dataTypeList.get(i);
- boolean asc = sortItemList.get(i).getOrdering() == Ordering.ASC;
- boolean nullFirst = sortItemList.get(i).getNullOrdering() == NullOrdering.FIRST;
- list.add(genSingleComparator(asc, index, dataType, nullFirst));
- }
-
- return list.size() == 1 ? list.get(0) : new ComparatorChain<>(list);
- }
-
public static Comparator<SortKey> getComparatorForTable(
List<SortOrder> sortOrderList, List<Integer> indexList, List<TSDataType> dataTypeList) {
@@ -134,7 +111,7 @@ public class MergeSortComparator {
return comparator;
}
- private static Comparator<SortKey> genSingleComparator(
+ public static Comparator<SortKey> genSingleComparator(
boolean asc, int index, TSDataType dataType, boolean nullFirst) {
if (index == -1) {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/join/merge/SortKeyComparator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/join/merge/SortKeyComparator.java
similarity index 95%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/join/merge/SortKeyComparator.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/join/merge/SortKeyComparator.java
index 0959e675d23..de83c8dc75d 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/join/merge/SortKeyComparator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/join/merge/SortKeyComparator.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.execution.operator.process.join.merge;
+package org.apache.iotdb.db.calc_commons.execution.operator.process.join.merge;
import org.apache.iotdb.db.utils.datastructure.SortKey;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/rowpattern/PatternAggregator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/rowpattern/PatternAggregator.java
index 44b84fd5bc2..59210b07a0c 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/rowpattern/PatternAggregator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/rowpattern/PatternAggregator.java
@@ -33,7 +33,7 @@ import org.apache.tsfile.read.common.block.column.RunLengthEncodedColumn;
import java.util.List;
import static java.util.Objects.requireNonNull;
-import static org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils.TIME_COLUMN_TEMPLATE;
+import static org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils.TIME_COLUMN_TEMPLATE;
/**
* This class computes an aggregate function result in row pattern recognition context.
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/rowpattern/matcher/PatternCaptures.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/rowpattern/matcher/PatternCaptures.java
index 25f556e56a3..9e3bd429da2 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/rowpattern/matcher/PatternCaptures.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/rowpattern/matcher/PatternCaptures.java
@@ -19,7 +19,7 @@
package org.apache.iotdb.db.calc_commons.execution.operator.process.rowpattern.matcher;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
import org.apache.tsfile.utils.RamUsageEstimator;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/window/RowNumberOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/window/RowNumberOperator.java
index f141ab8fb38..dc5399fc650 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/window/RowNumberOperator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/window/RowNumberOperator.java
@@ -23,7 +23,7 @@ import org.apache.iotdb.db.calc_commons.execution.operator.OperatorContext;
import org.apache.iotdb.db.calc_commons.execution.operator.process.ProcessOperator;
import org.apache.iotdb.db.node_commons.execution.MemoryEstimationHelper;
import org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.UpdateMemory;
-import org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.hash.GroupByHash;
+import org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.GroupByHash;
import org.apache.iotdb.db.node_commons.plan.relational.type.InternalTypeManager;
import com.google.common.collect.ImmutableList;
@@ -44,8 +44,8 @@ import java.util.List;
import java.util.Map;
import java.util.Optional;
-import static org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils.TIME_COLUMN_TEMPLATE;
-import static org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.hash.GroupByHash.createGroupByHash;
+import static org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils.TIME_COLUMN_TEMPLATE;
+import static org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.GroupByHash.createGroupByHash;
public class RowNumberOperator implements ProcessOperator {
private static final long INSTANCE_SIZE =
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/window/TableWindowOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/window/TableWindowOperator.java
index cdbea645d38..79ae9ff129b 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/window/TableWindowOperator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/window/TableWindowOperator.java
@@ -19,7 +19,6 @@
package org.apache.iotdb.db.calc_commons.execution.operator.process.window;
-import org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils;
import org.apache.iotdb.db.calc_commons.execution.operator.Operator;
import org.apache.iotdb.db.calc_commons.execution.operator.OperatorContext;
import org.apache.iotdb.db.calc_commons.execution.operator.process.ProcessOperator;
@@ -30,6 +29,7 @@ import org.apache.iotdb.db.calc_commons.execution.operator.process.window.functi
import org.apache.iotdb.db.calc_commons.execution.operator.process.window.partition.Partition;
import org.apache.iotdb.db.calc_commons.execution.operator.process.window.partition.PartitionExecutor;
import org.apache.iotdb.db.calc_commons.execution.operator.process.window.partition.frame.FrameInfo;
+import org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils;
import org.apache.iotdb.db.calc_commons.plan.planner.memory.MemoryReservationManager;
import org.apache.iotdb.db.node_commons.execution.MemoryEstimationHelper;
import org.apache.iotdb.db.queryengine.execution.operator.process.function.PartitionRecognizer;
@@ -49,7 +49,7 @@ import java.util.LinkedList;
import java.util.List;
import java.util.concurrent.TimeUnit;
-import static org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils.MAX_RESERVED_MEMORY;
+import static org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils.MAX_RESERVED_MEMORY;
public class TableWindowOperator implements ProcessOperator {
private static final long INSTANCE_SIZE =
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/window/TopKRankingOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/window/TopKRankingOperator.java
index 66d5b3953c1..0749d466f26 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/window/TopKRankingOperator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/window/TopKRankingOperator.java
@@ -19,20 +19,20 @@
package org.apache.iotdb.db.calc_commons.execution.operator.process.window;
+import org.apache.iotdb.db.calc_commons.execution.operator.GroupedTopNBuilder;
+import org.apache.iotdb.db.calc_commons.execution.operator.GroupedTopNRowNumberBuilder;
import org.apache.iotdb.db.calc_commons.execution.operator.Operator;
import org.apache.iotdb.db.calc_commons.execution.operator.OperatorContext;
+import org.apache.iotdb.db.calc_commons.execution.operator.SimpleTsBlockWithPositionComparator;
+import org.apache.iotdb.db.calc_commons.execution.operator.TsBlockWithPositionComparator;
import org.apache.iotdb.db.calc_commons.execution.operator.process.ProcessOperator;
import org.apache.iotdb.db.node_commons.execution.MemoryEstimationHelper;
import org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.UpdateMemory;
-import org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.hash.GroupByHash;
-import org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.hash.NoChannelGroupByHash;
+import org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.GroupByHash;
+import org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.NoChannelGroupByHash;
import org.apache.iotdb.db.node_commons.plan.relational.planner.SortOrder;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.TopKRankingNode;
import org.apache.iotdb.db.node_commons.plan.relational.type.InternalTypeManager;
-import org.apache.iotdb.db.queryengine.execution.operator.GroupedTopNBuilder;
-import org.apache.iotdb.db.queryengine.execution.operator.GroupedTopNRowNumberBuilder;
-import org.apache.iotdb.db.queryengine.execution.operator.SimpleTsBlockWithPositionComparator;
-import org.apache.iotdb.db.queryengine.execution.operator.TsBlockWithPositionComparator;
import com.google.common.base.Supplier;
import com.google.common.base.Suppliers;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/window/function/aggregate/WindowAggregator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/window/function/aggregate/WindowAggregator.java
index bf09c971be0..20ec45f8622 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/window/function/aggregate/WindowAggregator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/process/window/function/aggregate/WindowAggregator.java
@@ -19,10 +19,10 @@
package org.apache.iotdb.db.calc_commons.execution.operator.process.window.function.aggregate;
-import org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils;
import org.apache.iotdb.db.calc_commons.execution.operator.process.window.partition.Partition;
import org.apache.iotdb.db.calc_commons.execution.operator.source.relational.aggregation.AggregationMask;
import org.apache.iotdb.db.calc_commons.execution.operator.source.relational.aggregation.TableAccumulator;
+import org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils;
import com.google.common.primitives.Ints;
import org.apache.tsfile.block.column.Column;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/AbstractAsofMergeSortJoinOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/AbstractAsofMergeSortJoinOperator.java
similarity index 97%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/AbstractAsofMergeSortJoinOperator.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/AbstractAsofMergeSortJoinOperator.java
index 15e2f32621f..a0d2ee0acf6 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/AbstractAsofMergeSortJoinOperator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/AbstractAsofMergeSortJoinOperator.java
@@ -17,12 +17,11 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.execution.operator.source.relational;
+package org.apache.iotdb.db.calc_commons.execution.operator.source.relational;
import org.apache.iotdb.db.calc_commons.execution.operator.Operator;
import org.apache.iotdb.db.calc_commons.execution.operator.OperatorContext;
import org.apache.iotdb.db.calc_commons.execution.operator.process.join.merge.comparator.JoinKeyComparator;
-import org.apache.iotdb.db.calc_commons.execution.operator.source.relational.AbstractMergeSortJoinOperator;
import org.apache.tsfile.enums.TSDataType;
import org.apache.tsfile.read.common.block.TsBlock;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/AbstractMergeSortJoinOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/AbstractMergeSortJoinOperator.java
index 6498e6243bf..ca9bb4cff3c 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/AbstractMergeSortJoinOperator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/AbstractMergeSortJoinOperator.java
@@ -20,10 +20,10 @@
package org.apache.iotdb.db.calc_commons.execution.operator.source.relational;
import org.apache.iotdb.db.calc_commons.execution.operator.AbstractOperator;
-import org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils;
import org.apache.iotdb.db.calc_commons.execution.operator.Operator;
import org.apache.iotdb.db.calc_commons.execution.operator.OperatorContext;
import org.apache.iotdb.db.calc_commons.execution.operator.process.join.merge.comparator.JoinKeyComparator;
+import org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils;
import org.apache.iotdb.db.calc_commons.plan.planner.memory.MemoryReservationManager;
import com.google.common.util.concurrent.ListenableFuture;
@@ -38,7 +38,7 @@ import java.util.List;
import java.util.concurrent.TimeUnit;
import static com.google.common.util.concurrent.Futures.successfulAsList;
-import static org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils.MAX_RESERVED_MEMORY;
+import static org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils.MAX_RESERVED_MEMORY;
public abstract class AbstractMergeSortJoinOperator extends AbstractOperator {
protected boolean leftFinished;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/AsofMergeSortInnerJoinOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/AsofMergeSortInnerJoinOperator.java
index c896216c81c..938ef7af9fd 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/AsofMergeSortInnerJoinOperator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/AsofMergeSortInnerJoinOperator.java
@@ -23,7 +23,6 @@ import org.apache.iotdb.db.calc_commons.execution.operator.Operator;
import org.apache.iotdb.db.calc_commons.execution.operator.OperatorContext;
import org.apache.iotdb.db.calc_commons.execution.operator.process.join.merge.comparator.JoinKeyComparator;
import org.apache.iotdb.db.node_commons.execution.MemoryEstimationHelper;
-import org.apache.iotdb.db.queryengine.execution.operator.source.relational.AbstractAsofMergeSortJoinOperator;
import org.apache.tsfile.enums.TSDataType;
import org.apache.tsfile.utils.RamUsageEstimator;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/AsofMergeSortLeftJoinOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/AsofMergeSortLeftJoinOperator.java
index 901491ff110..044d244f779 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/AsofMergeSortLeftJoinOperator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/AsofMergeSortLeftJoinOperator.java
@@ -23,7 +23,6 @@ import org.apache.iotdb.db.calc_commons.execution.operator.Operator;
import org.apache.iotdb.db.calc_commons.execution.operator.OperatorContext;
import org.apache.iotdb.db.calc_commons.execution.operator.process.join.merge.comparator.JoinKeyComparator;
import org.apache.iotdb.db.node_commons.execution.MemoryEstimationHelper;
-import org.apache.iotdb.db.queryengine.execution.operator.source.relational.AbstractAsofMergeSortJoinOperator;
import org.apache.tsfile.enums.TSDataType;
import org.apache.tsfile.utils.RamUsageEstimator;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/MarkDistinctOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/MarkDistinctOperator.java
index e6386c9639f..37681173d6a 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/MarkDistinctOperator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/MarkDistinctOperator.java
@@ -25,7 +25,7 @@ import org.apache.iotdb.db.calc_commons.execution.operator.process.ProcessOperat
import org.apache.iotdb.db.calc_commons.plan.planner.memory.MemoryReservationManager;
import org.apache.iotdb.db.node_commons.execution.MemoryEstimationHelper;
import org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.UpdateMemory;
-import org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.hash.MarkDistinctHash;
+import org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.MarkDistinctHash;
import com.google.common.collect.ImmutableList;
import com.google.common.primitives.Ints;
@@ -40,7 +40,7 @@ import java.util.List;
import java.util.Optional;
import static java.util.Objects.requireNonNull;
-import static org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils.CURRENT_USED_MEMORY;
+import static org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils.CURRENT_USED_MEMORY;
public class MarkDistinctOperator implements ProcessOperator {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/MergeSortFullOuterJoinOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/MergeSortFullOuterJoinOperator.java
index 12b56ede05c..70b3e8af27f 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/MergeSortFullOuterJoinOperator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/MergeSortFullOuterJoinOperator.java
@@ -19,10 +19,10 @@
package org.apache.iotdb.db.calc_commons.execution.operator.source.relational;
-import org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils;
import org.apache.iotdb.db.calc_commons.execution.operator.Operator;
import org.apache.iotdb.db.calc_commons.execution.operator.OperatorContext;
import org.apache.iotdb.db.calc_commons.execution.operator.process.join.merge.comparator.JoinKeyComparator;
+import org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils;
import org.apache.iotdb.db.node_commons.execution.MemoryEstimationHelper;
import org.apache.tsfile.block.column.Column;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/aggregation/AccumulatorFactory.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/aggregation/AccumulatorFactory.java
index 85ae0b7dfb6..82f3524bac2 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/aggregation/AccumulatorFactory.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/aggregation/AccumulatorFactory.java
@@ -52,7 +52,7 @@ import org.apache.iotdb.db.calc_commons.execution.operator.source.relational.agg
import org.apache.iotdb.db.calc_commons.execution.operator.source.relational.aggregation.grouped.LongGroupedApproxMostFrequentAccumulator;
import org.apache.iotdb.db.calc_commons.plan.udf.TableUDFUtils;
import org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.UpdateMemory;
-import org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.hash.MarkDistinctHash;
+import org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.MarkDistinctHash;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
import org.apache.iotdb.db.node_commons.plan.relational.type.InternalTypeManager;
import org.apache.iotdb.udf.api.customizer.parameter.FunctionArguments;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/aggregation/AggregationOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/aggregation/AggregationOperator.java
index e5131c70a63..300e9e65d28 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/aggregation/AggregationOperator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/aggregation/AggregationOperator.java
@@ -19,10 +19,10 @@
package org.apache.iotdb.db.calc_commons.execution.operator.source.relational.aggregation;
-import org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils;
import org.apache.iotdb.db.calc_commons.execution.operator.Operator;
import org.apache.iotdb.db.calc_commons.execution.operator.OperatorContext;
import org.apache.iotdb.db.calc_commons.execution.operator.process.ProcessOperator;
+import org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils;
import org.apache.iotdb.db.calc_commons.plan.planner.memory.MemoryReservationManager;
import org.apache.iotdb.db.node_commons.execution.MemoryEstimationHelper;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/aggregation/TableAggregator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/aggregation/TableAggregator.java
index 3baf1a915af..67e2d2a7e23 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/aggregation/TableAggregator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/aggregation/TableAggregator.java
@@ -19,7 +19,8 @@
package org.apache.iotdb.db.calc_commons.execution.operator.source.relational.aggregation;
-import org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils;
+import org.apache.iotdb.db.calc_commons.metric.QueryExecutionMetricSet;
+import org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.AggregationNode;
import com.google.common.primitives.Ints;
@@ -35,10 +36,13 @@ import java.util.OptionalInt;
import static com.google.common.base.Preconditions.checkArgument;
import static java.util.Objects.requireNonNull;
-import static org.apache.iotdb.db.queryengine.execution.aggregation.TreeAggregator.QUERY_EXECUTION_METRICS;
-import static org.apache.iotdb.db.queryengine.metric.QueryExecutionMetricSet.AGGREGATION_FROM_RAW_DATA;
+import static org.apache.iotdb.db.calc_commons.metric.QueryExecutionMetricSet.AGGREGATION_FROM_RAW_DATA;
public class TableAggregator {
+
+ public static final QueryExecutionMetricSet QUERY_EXECUTION_METRICS =
+ QueryExecutionMetricSet.getInstance();
+
private final TableAccumulator accumulator;
private final AggregationNode.Step step;
private final TSDataType outputType;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/aggregation/grouped/GroupedAggregator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/aggregation/grouped/GroupedAggregator.java
index 5d58a2bc61d..030054508e7 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/aggregation/grouped/GroupedAggregator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/aggregation/grouped/GroupedAggregator.java
@@ -19,8 +19,8 @@
package org.apache.iotdb.db.calc_commons.execution.operator.source.relational.aggregation.grouped;
-import org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils;
import org.apache.iotdb.db.calc_commons.execution.operator.source.relational.aggregation.AggregationMask;
+import org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.AggregationNode;
import com.google.common.primitives.Ints;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/aggregation/grouped/HashAggregationOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/aggregation/grouped/HashAggregationOperator.java
index ca8113230d0..0e4b6e975bc 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/aggregation/grouped/HashAggregationOperator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/aggregation/grouped/HashAggregationOperator.java
@@ -38,7 +38,7 @@ import java.util.List;
import java.util.Optional;
import static com.google.common.base.Preconditions.checkState;
-import static org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils.CURRENT_USED_MEMORY;
+import static org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils.CURRENT_USED_MEMORY;
import static org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.UpdateMemory.NOOP;
public class HashAggregationOperator extends AbstractOperator {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/aggregation/grouped/StreamingAggregationOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/aggregation/grouped/StreamingAggregationOperator.java
index 243307d190e..2032ba156c2 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/aggregation/grouped/StreamingAggregationOperator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/aggregation/grouped/StreamingAggregationOperator.java
@@ -20,10 +20,10 @@
package org.apache.iotdb.db.calc_commons.execution.operator.source.relational.aggregation.grouped;
import org.apache.iotdb.db.calc_commons.execution.operator.AbstractOperator;
-import org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils;
import org.apache.iotdb.db.calc_commons.execution.operator.Operator;
import org.apache.iotdb.db.calc_commons.execution.operator.OperatorContext;
import org.apache.iotdb.db.calc_commons.execution.operator.source.relational.aggregation.TableAggregator;
+import org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils;
import org.apache.iotdb.db.node_commons.execution.MemoryEstimationHelper;
import org.apache.iotdb.db.node_commons.plan.relational.type.InternalTypeManager;
import org.apache.iotdb.db.utils.datastructure.SortKey;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/aggregation/grouped/StreamingHashAggregationOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/aggregation/grouped/StreamingHashAggregationOperator.java
index f6b8fa0a886..7e8eaedeb72 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/aggregation/grouped/StreamingHashAggregationOperator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/aggregation/grouped/StreamingHashAggregationOperator.java
@@ -45,8 +45,8 @@ import java.util.Optional;
import static com.google.common.base.Preconditions.checkArgument;
import static java.util.Objects.requireNonNull;
-import static org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils.CURRENT_USED_MEMORY;
-import static org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils.MAX_USED_MEMORY;
+import static org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils.CURRENT_USED_MEMORY;
+import static org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils.MAX_USED_MEMORY;
import static org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.UpdateMemory.NOOP;
public class StreamingHashAggregationOperator extends AbstractOperator {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/aggregation/grouped/builder/InMemoryHashAggregationBuilder.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/aggregation/grouped/builder/InMemoryHashAggregationBuilder.java
index 3178686894c..d6253e05c79 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/aggregation/grouped/builder/InMemoryHashAggregationBuilder.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/execution/operator/source/relational/aggregation/grouped/builder/InMemoryHashAggregationBuilder.java
@@ -19,11 +19,11 @@
package org.apache.iotdb.db.calc_commons.execution.operator.source.relational.aggregation.grouped.builder;
-import org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils;
import org.apache.iotdb.db.calc_commons.execution.operator.OperatorContext;
import org.apache.iotdb.db.calc_commons.execution.operator.source.relational.aggregation.grouped.GroupedAggregator;
+import org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils;
import org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.UpdateMemory;
-import org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.hash.GroupByHash;
+import org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.GroupByHash;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.AggregationNode;
import org.apache.iotdb.db.node_commons.plan.relational.type.InternalTypeManager;
@@ -47,7 +47,7 @@ import java.util.stream.Collectors;
import java.util.stream.IntStream;
import java.util.stream.Stream;
-import static org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.hash.GroupByHash.createGroupByHash;
+import static org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.GroupByHash.createGroupByHash;
public class InMemoryHashAggregationBuilder implements HashAggregationBuilder {
private final int[] groupByChannels;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/metric/QueryExecutionMetricSet.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/metric/QueryExecutionMetricSet.java
similarity index 99%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/metric/QueryExecutionMetricSet.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/metric/QueryExecutionMetricSet.java
index 27a238d3d8c..bfc93370ebe 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/metric/QueryExecutionMetricSet.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/metric/QueryExecutionMetricSet.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.metric;
+package org.apache.iotdb.db.calc_commons.metric;
import org.apache.iotdb.commons.service.metric.enums.Metric;
import org.apache.iotdb.commons.service.metric.enums.Tag;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/planner/OperatorGeneratorUtils.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/planner/CommonOperatorUtils.java
similarity index 91%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/planner/OperatorGeneratorUtils.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/planner/CommonOperatorUtils.java
index 6464ac4814b..f7903a3b722 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/planner/OperatorGeneratorUtils.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/planner/CommonOperatorUtils.java
@@ -21,6 +21,7 @@ import org.apache.iotdb.db.calc_commons.execution.operator.process.fill.filter.F
import org.apache.iotdb.db.calc_commons.execution.operator.process.fill.filter.MonthIntervalMSFillFilter;
import org.apache.iotdb.db.calc_commons.execution.operator.process.fill.filter.MonthIntervalNSFillFilter;
import org.apache.iotdb.db.calc_commons.execution.operator.process.fill.filter.MonthIntervalUSFillFilter;
+import org.apache.iotdb.db.calc_commons.execution.operator.process.fill.identity.IdentityFill;
import org.apache.iotdb.db.calc_commons.execution.operator.process.fill.identity.IdentityLinearFill;
import org.apache.iotdb.db.calc_commons.execution.operator.process.fill.linear.DoubleLinearFill;
import org.apache.iotdb.db.calc_commons.execution.operator.process.fill.linear.FloatLinearFill;
@@ -40,16 +41,25 @@ import org.apache.iotdb.db.calc_commons.execution.operator.process.fill.previous
import org.apache.iotdb.db.calc_commons.execution.operator.process.fill.previous.LongPreviousFillWithTimeDuration;
import org.apache.tsfile.enums.TSDataType;
+import org.apache.tsfile.read.common.block.column.LongColumn;
import org.apache.tsfile.utils.TimeDuration;
import java.time.ZoneId;
import java.util.List;
+import java.util.Optional;
import static org.apache.iotdb.db.utils.TimestampPrecisionUtils.TIMESTAMP_PRECISION;
-public class OperatorGeneratorUtils {
+public class CommonOperatorUtils {
public static final IdentityLinearFill IDENTITY_LINEAR_FILL = new IdentityLinearFill();
public static final String UNKNOWN_DATATYPE = "Unknown data type: ";
+ public static final String CURRENT_DEVICE_INDEX_STRING = "CurrentDeviceIndex";
+ public static final LongColumn TIME_COLUMN_TEMPLATE =
+ new LongColumn(1, Optional.empty(), new long[] {0});
+ public static final String CURRENT_USED_MEMORY = "CurrentUsedMemory";
+ public static final String MAX_USED_MEMORY = "MaxUsedMemory";
+ public static final String MAX_RESERVED_MEMORY = "MaxReservedMemory";
+ public static final IdentityFill IDENTITY_FILL = new IdentityFill();
public static ILinearFill[] getLinearFill(int inputColumns, List<TSDataType> inputDataTypes) {
ILinearFill[] linearFill = new ILinearFill[inputColumns];
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/planner/TableOperatorGenerator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/planner/TableOperatorGenerator.java
index f0d91827c8a..62f664c88fb 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/planner/TableOperatorGenerator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/planner/TableOperatorGenerator.java
@@ -48,6 +48,10 @@ import org.apache.iotdb.db.calc_commons.execution.operator.process.fill.constant
import org.apache.iotdb.db.calc_commons.execution.operator.process.fill.constant.LongConstantFill;
import org.apache.iotdb.db.calc_commons.execution.operator.process.function.TableFunctionLeafOperator;
import org.apache.iotdb.db.calc_commons.execution.operator.process.function.TableFunctionOperator;
+import org.apache.iotdb.db.calc_commons.execution.operator.process.gapfill.gapfill.GapFillWGroupWMoOperator;
+import org.apache.iotdb.db.calc_commons.execution.operator.process.gapfill.gapfill.GapFillWGroupWoMoOperator;
+import org.apache.iotdb.db.calc_commons.execution.operator.process.gapfill.gapfill.GapFillWoGroupWMoOperator;
+import org.apache.iotdb.db.calc_commons.execution.operator.process.gapfill.gapfill.GapFillWoGroupWoMoOperator;
import org.apache.iotdb.db.calc_commons.execution.operator.process.join.SimpleNestedLoopCrossJoinOperator;
import org.apache.iotdb.db.calc_commons.execution.operator.process.join.merge.comparator.JoinKeyComparatorFactory;
import org.apache.iotdb.db.calc_commons.execution.operator.process.rowpattern.LogicalIndexNavigation;
@@ -157,10 +161,6 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Literal;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SymbolReference;
import org.apache.iotdb.db.node_commons.plan.relational.type.InternalTypeManager;
import org.apache.iotdb.db.queryengine.execution.fragment.FragmentInstanceContext;
-import org.apache.iotdb.db.queryengine.execution.operator.process.gapfill.GapFillWGroupWMoOperator;
-import org.apache.iotdb.db.queryengine.execution.operator.process.gapfill.GapFillWGroupWoMoOperator;
-import org.apache.iotdb.db.queryengine.execution.operator.process.gapfill.GapFillWoGroupWMoOperator;
-import org.apache.iotdb.db.queryengine.execution.operator.process.gapfill.GapFillWoGroupWoMoOperator;
import org.apache.iotdb.db.queryengine.plan.analyze.TypeProvider;
import org.apache.iotdb.db.queryengine.plan.planner.LocalExecutionPlanContext;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.Metadata;
@@ -208,15 +208,17 @@ import static com.google.common.collect.ImmutableList.toImmutableList;
import static com.google.common.collect.Iterables.getOnlyElement;
import static java.util.Objects.requireNonNull;
import static org.apache.iotdb.commons.udf.builtin.relational.TableBuiltinAggregationFunction.getAggregationTypeByFuncName;
+import static org.apache.iotdb.db.calc_commons.execution.operator.process.join.merge.MergeSortComparator.getComparatorForTable;
import static org.apache.iotdb.db.calc_commons.execution.operator.process.rowpattern.PhysicalValuePointer.CLASSIFIER;
import static org.apache.iotdb.db.calc_commons.execution.operator.process.rowpattern.PhysicalValuePointer.MATCH_NUMBER;
import static org.apache.iotdb.db.calc_commons.execution.operator.source.relational.aggregation.AccumulatorFactory.createAccumulator;
import static org.apache.iotdb.db.calc_commons.execution.operator.source.relational.aggregation.AccumulatorFactory.createBuiltinAccumulator;
import static org.apache.iotdb.db.calc_commons.execution.operator.source.relational.aggregation.AccumulatorFactory.createGroupedAccumulator;
-import static org.apache.iotdb.db.calc_commons.plan.planner.OperatorGeneratorUtils.UNKNOWN_DATATYPE;
-import static org.apache.iotdb.db.calc_commons.plan.planner.OperatorGeneratorUtils.getLinearFill;
-import static org.apache.iotdb.db.calc_commons.plan.planner.OperatorGeneratorUtils.getPreviousFill;
-import static org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.hash.GroupByHash.DEFAULT_GROUP_NUMBER;
+import static org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils.IDENTITY_FILL;
+import static org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils.UNKNOWN_DATATYPE;
+import static org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils.getLinearFill;
+import static org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils.getPreviousFill;
+import static org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.GroupByHash.DEFAULT_GROUP_NUMBER;
import static org.apache.iotdb.db.node_commons.plan.relational.planner.SortOrder.ASC_NULLS_FIRST;
import static org.apache.iotdb.db.node_commons.plan.relational.planner.SortOrder.ASC_NULLS_LAST;
import static org.apache.iotdb.db.node_commons.plan.relational.planner.SortOrder.DESC_NULLS_FIRST;
@@ -225,8 +227,6 @@ import static org.apache.iotdb.db.node_commons.plan.relational.planner.node.Rows
import static org.apache.iotdb.db.node_commons.plan.relational.planner.node.SkipToPosition.LAST;
import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.BooleanLiteral.TRUE_LITERAL;
import static org.apache.iotdb.db.node_commons.plan.relational.type.InternalTypeManager.getTSDataType;
-import static org.apache.iotdb.db.queryengine.execution.operator.process.join.merge.MergeSortComparator.getComparatorForTable;
-import static org.apache.iotdb.db.queryengine.plan.planner.OperatorTreeGenerator.IDENTITY_FILL;
import static org.apache.iotdb.db.utils.constant.SqlConstant.FIRST_AGGREGATION;
import static org.apache.iotdb.db.utils.constant.SqlConstant.FIRST_BY_AGGREGATION;
import static org.apache.iotdb.db.utils.constant.SqlConstant.LAST_AGGREGATION;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/relational/planner/ir/GlobalTimePredicateExtractVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/relational/planner/ir/GlobalTimePredicateExtractVisitor.java
index c19cc2be15a..1eeb3106f0e 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/relational/planner/ir/GlobalTimePredicateExtractVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/relational/planner/ir/GlobalTimePredicateExtractVisitor.java
@@ -19,7 +19,6 @@
package org.apache.iotdb.db.calc_commons.plan.relational.planner.ir;
-import org.apache.iotdb.db.calc_commons.plan.expression.UnknownExpressionTypeException;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.ArithmeticBinaryExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.BetweenPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.CommonQueryAstVisitor;
@@ -63,7 +62,6 @@ public class GlobalTimePredicateExtractVisitor
*
* @param predicate raw query predicate
* @return Pair, left is globalTimePredicate, right is if hasValueFilter.
- * @throws UnknownExpressionTypeException unknown expression type
*/
public static Pair<Expression, Boolean> extractGlobalTimeFilter(
Expression predicate, String timeColumnName) {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/Capture.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/relational/utils/matching/Capture.java
similarity index 94%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/Capture.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/relational/utils/matching/Capture.java
index 572b84d3119..f2e88446dfa 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/Capture.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/relational/utils/matching/Capture.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.utils.matching;
+package org.apache.iotdb.db.calc_commons.plan.relational.utils.matching;
import java.util.concurrent.atomic.AtomicInteger;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/Captures.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/relational/utils/matching/Captures.java
similarity index 97%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/Captures.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/relational/utils/matching/Captures.java
index a3f731aea33..9823e125555 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/Captures.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/relational/utils/matching/Captures.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.utils.matching;
+package org.apache.iotdb.db.calc_commons.plan.relational.utils.matching;
import java.util.NoSuchElementException;
import java.util.Objects;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/DefaultPrinter.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/relational/utils/matching/DefaultPrinter.java
similarity index 79%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/DefaultPrinter.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/relational/utils/matching/DefaultPrinter.java
index f858e2b82d1..085ff48de50 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/DefaultPrinter.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/relational/utils/matching/DefaultPrinter.java
@@ -16,13 +16,13 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.utils.matching;
+package org.apache.iotdb.db.calc_commons.plan.relational.utils.matching;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.pattern.CapturePattern;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.pattern.EqualsPattern;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.pattern.FilterPattern;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.pattern.TypeOfPattern;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.pattern.WithPattern;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.pattern.CapturePattern;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.pattern.EqualsPattern;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.pattern.FilterPattern;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.pattern.TypeOfPattern;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.pattern.WithPattern;
import java.util.Collections;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/Match.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/relational/utils/matching/Match.java
similarity index 96%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/Match.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/relational/utils/matching/Match.java
index 6b47686bcd1..af62c05b0b7 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/Match.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/relational/utils/matching/Match.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.utils.matching;
+package org.apache.iotdb.db.calc_commons.plan.relational.utils.matching;
import java.util.Objects;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/Pattern.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/relational/utils/matching/Pattern.java
similarity index 89%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/Pattern.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/relational/utils/matching/Pattern.java
index 9cd8dc869de..69d7b8e1cec 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/Pattern.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/relational/utils/matching/Pattern.java
@@ -16,12 +16,12 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.utils.matching;
+package org.apache.iotdb.db.calc_commons.plan.relational.utils.matching;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.pattern.CapturePattern;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.pattern.FilterPattern;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.pattern.TypeOfPattern;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.pattern.WithPattern;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.pattern.CapturePattern;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.pattern.FilterPattern;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.pattern.TypeOfPattern;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.pattern.WithPattern;
import com.google.common.collect.Iterables;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/PatternVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/relational/utils/matching/PatternVisitor.java
similarity index 70%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/PatternVisitor.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/relational/utils/matching/PatternVisitor.java
index 577101a268d..77091fd6c90 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/PatternVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/relational/utils/matching/PatternVisitor.java
@@ -16,13 +16,13 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.utils.matching;
+package org.apache.iotdb.db.calc_commons.plan.relational.utils.matching;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.pattern.CapturePattern;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.pattern.EqualsPattern;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.pattern.FilterPattern;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.pattern.TypeOfPattern;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.pattern.WithPattern;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.pattern.CapturePattern;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.pattern.EqualsPattern;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.pattern.FilterPattern;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.pattern.TypeOfPattern;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.pattern.WithPattern;
import java.util.Optional;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/Property.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/relational/utils/matching/Property.java
similarity index 92%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/Property.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/relational/utils/matching/Property.java
index d03050c8a16..8daa276db4a 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/Property.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/relational/utils/matching/Property.java
@@ -16,10 +16,10 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.utils.matching;
+package org.apache.iotdb.db.calc_commons.plan.relational.utils.matching;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.pattern.EqualsPattern;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.pattern.FilterPattern;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.pattern.EqualsPattern;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.pattern.FilterPattern;
import java.util.Optional;
import java.util.function.BiFunction;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/PropertyPattern.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/relational/utils/matching/PropertyPattern.java
similarity index 96%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/PropertyPattern.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/relational/utils/matching/PropertyPattern.java
index 8ba64a22c93..d6b451c9ae3 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/PropertyPattern.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/relational/utils/matching/PropertyPattern.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.utils.matching;
+package org.apache.iotdb.db.calc_commons.plan.relational.utils.matching;
import static java.util.Objects.requireNonNull;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/pattern/CapturePattern.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/relational/utils/matching/pattern/CapturePattern.java
similarity index 75%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/pattern/CapturePattern.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/relational/utils/matching/pattern/CapturePattern.java
index 621d0178558..4afb65620a5 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/pattern/CapturePattern.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/relational/utils/matching/pattern/CapturePattern.java
@@ -16,13 +16,13 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.utils.matching.pattern;
+package org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.pattern;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Match;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.PatternVisitor;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Match;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.PatternVisitor;
import java.util.stream.Stream;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/pattern/EqualsPattern.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/relational/utils/matching/pattern/EqualsPattern.java
similarity index 79%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/pattern/EqualsPattern.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/relational/utils/matching/pattern/EqualsPattern.java
index 92979f55ab9..61bbf0d0493 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/pattern/EqualsPattern.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/relational/utils/matching/pattern/EqualsPattern.java
@@ -16,12 +16,12 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.utils.matching.pattern;
+package org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.pattern;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Match;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.PatternVisitor;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Match;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.PatternVisitor;
import java.util.Optional;
import java.util.stream.Stream;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/pattern/FilterPattern.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/relational/utils/matching/pattern/FilterPattern.java
similarity index 81%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/pattern/FilterPattern.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/relational/utils/matching/pattern/FilterPattern.java
index 7543ef2282f..098e3e8dfb8 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/pattern/FilterPattern.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/relational/utils/matching/pattern/FilterPattern.java
@@ -16,12 +16,12 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.utils.matching.pattern;
+package org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.pattern;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Match;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.PatternVisitor;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Match;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.PatternVisitor;
import java.util.Optional;
import java.util.function.BiPredicate;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/pattern/TypeOfPattern.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/relational/utils/matching/pattern/TypeOfPattern.java
similarity index 80%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/pattern/TypeOfPattern.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/relational/utils/matching/pattern/TypeOfPattern.java
index 5cf7802168d..824be1e90a7 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/pattern/TypeOfPattern.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/relational/utils/matching/pattern/TypeOfPattern.java
@@ -16,12 +16,12 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.utils.matching.pattern;
+package org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.pattern;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Match;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.PatternVisitor;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Match;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.PatternVisitor;
import java.util.Optional;
import java.util.stream.Stream;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/pattern/WithPattern.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/relational/utils/matching/pattern/WithPattern.java
similarity index 78%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/pattern/WithPattern.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/relational/utils/matching/pattern/WithPattern.java
index ccdf0497f82..f847e3d2127 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/pattern/WithPattern.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/relational/utils/matching/pattern/WithPattern.java
@@ -16,14 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.utils.matching.pattern;
+package org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.pattern;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Match;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.PatternVisitor;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Property;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.PropertyPattern;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Match;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.PatternVisitor;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Property;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.PropertyPattern;
import java.util.Optional;
import java.util.function.BiFunction;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/hash/CombineHashFunction.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/CombineHashFunction.java
similarity index 96%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/hash/CombineHashFunction.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/CombineHashFunction.java
index 5fb57507791..3284c141416 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/hash/CombineHashFunction.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/CombineHashFunction.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.hash;
+package org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash;
public final class CombineHashFunction {
private CombineHashFunction() {}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/hash/FlatGroupByHash.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/FlatGroupByHash.java
similarity index 98%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/hash/FlatGroupByHash.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/FlatGroupByHash.java
index 825c3395b27..16d1866fa40 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/hash/FlatGroupByHash.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/FlatGroupByHash.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.hash;
+package org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash;
import org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.UpdateMemory;
import org.apache.iotdb.db.node_commons.plan.relational.utils.TypeUtil;
@@ -35,7 +35,7 @@ import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkState;
import static com.google.common.base.Verify.verify;
import static java.lang.Math.min;
-import static org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.hash.FlatHash.sumExact;
+import static org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.FlatHash.sumExact;
import static org.apache.tsfile.utils.RamUsageEstimator.sizeOf;
// This implementation assumes arrays used in the hash are always a power of 2
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/hash/FlatHash.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/FlatHash.java
similarity index 98%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/hash/FlatHash.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/FlatHash.java
index 508cd37b8c3..8159b921886 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/hash/FlatHash.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/FlatHash.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.hash;
+package org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash;
import org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.UpdateMemory;
@@ -32,8 +32,8 @@ import static java.lang.Math.addExact;
import static java.lang.Math.max;
import static java.lang.Math.min;
import static java.lang.Math.toIntExact;
-import static org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.hash.VariableWidthData.EMPTY_CHUNK;
-import static org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.hash.VariableWidthData.POINTER_SIZE;
+import static org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.VariableWidthData.EMPTY_CHUNK;
+import static org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.VariableWidthData.POINTER_SIZE;
import static org.apache.tsfile.utils.RamUsageEstimator.sizeOf;
import static org.apache.tsfile.utils.RamUsageEstimator.sizeOfByteArray;
import static org.apache.tsfile.utils.RamUsageEstimator.sizeOfIntArray;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/hash/FlatHashStrategy.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/FlatHashStrategy.java
similarity index 97%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/hash/FlatHashStrategy.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/FlatHashStrategy.java
index 75bac8f0f88..714479b7809 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/hash/FlatHashStrategy.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/FlatHashStrategy.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.hash;
+package org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/hash/GroupByHash.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/GroupByHash.java
similarity index 97%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/hash/GroupByHash.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/GroupByHash.java
index 72acfa38336..408fe209a99 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/hash/GroupByHash.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/GroupByHash.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.hash;
+package org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash;
import org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.UpdateMemory;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/hash/HashStrategy.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/HashStrategy.java
similarity index 99%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/hash/HashStrategy.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/HashStrategy.java
index 02fd8edba87..d215de8ed89 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/hash/HashStrategy.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/HashStrategy.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.hash;
+package org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash;
import org.apache.iotdb.db.node_commons.plan.relational.utils.TypeUtil;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/hash/MarkDistinctHash.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/MarkDistinctHash.java
similarity index 94%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/hash/MarkDistinctHash.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/MarkDistinctHash.java
index 677cbf96de2..2b219558550 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/hash/MarkDistinctHash.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/MarkDistinctHash.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.hash;
+package org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash;
import org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.UpdateMemory;
@@ -32,8 +32,8 @@ import java.util.Optional;
import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkState;
-import static org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.hash.GroupByHash.DEFAULT_GROUP_NUMBER;
-import static org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.hash.GroupByHash.createGroupByHash;
+import static org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.GroupByHash.DEFAULT_GROUP_NUMBER;
+import static org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.GroupByHash.createGroupByHash;
public class MarkDistinctHash {
private final GroupByHash groupByHash;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/hash/NoChannelGroupByHash.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/NoChannelGroupByHash.java
similarity index 97%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/hash/NoChannelGroupByHash.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/NoChannelGroupByHash.java
index 4fff74ad3a4..1272b3f045e 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/hash/NoChannelGroupByHash.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/NoChannelGroupByHash.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.hash;
+package org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.read.common.block.TsBlockBuilder;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/hash/VariableWidthData.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/VariableWidthData.java
similarity index 96%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/hash/VariableWidthData.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/VariableWidthData.java
index 159766822d1..f3f209bc779 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/hash/VariableWidthData.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/VariableWidthData.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.hash;
+package org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash;
import com.google.common.primitives.Ints;
import org.apache.tsfile.utils.RamUsageEstimator;
@@ -30,9 +30,9 @@ import static com.google.common.base.Verify.verify;
import static java.lang.Math.addExact;
import static java.lang.Math.max;
import static java.lang.Math.subtractExact;
-import static org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.hash.FlatHash.bytesToInt;
-import static org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.hash.FlatHash.intToBytes;
-import static org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.hash.FlatHash.sumExact;
+import static org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.FlatHash.bytesToInt;
+import static org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.FlatHash.intToBytes;
+import static org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.FlatHash.sumExact;
import static org.apache.tsfile.utils.RamUsageEstimator.sizeOf;
import static org.apache.tsfile.utils.RamUsageEstimator.sizeOfObjectArray;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/hash/XxHash64.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/XxHash64.java
similarity index 99%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/hash/XxHash64.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/XxHash64.java
index e2f493e5b76..9c6e127f2ce 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/hash/XxHash64.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/execution/operator/source/relational/aggregation/grouped/hash/XxHash64.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.hash;
+package org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash;
import java.io.IOException;
import java.io.InputStream;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/ApplyNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/ApplyNode.java
index 4c7a0feabdc..ed1afa866b6 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/ApplyNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/ApplyNode.java
@@ -19,13 +19,13 @@
package org.apache.iotdb.db.node_commons.plan.relational.planner.node;
+import org.apache.iotdb.db.node_commons.plan.planner.plan.node.ICoreQueryPlanVisitor;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.IPlanVisitor;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNodeId;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.process.TwoChildProcessNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Node;
-import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanVisitor;
import com.google.common.collect.ImmutableList;
@@ -119,7 +119,7 @@ public class ApplyNode extends TwoChildProcessNode {
@Override
public <R, C> R accept(IPlanVisitor<R, C> visitor, C context) {
- return ((PlanVisitor<R, C>) visitor).visitApply(this, context);
+ return ((ICoreQueryPlanVisitor<R, C>) visitor).visitApply(this, context);
}
@Override
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/BinaryLiteral.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/BinaryLiteral.java
index e95fa1b78aa..c94074b4676 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/BinaryLiteral.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/BinaryLiteral.java
@@ -19,7 +19,7 @@
package org.apache.iotdb.db.node_commons.plan.relational.sql.ast;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.parser.ParsingException;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.parser.ParsingException;
import com.google.common.base.CharMatcher;
import com.google.common.io.BaseEncoding;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/CommonQueryAstVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/CommonQueryAstVisitor.java
index 6aa949096dc..174a07437f8 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/CommonQueryAstVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/CommonQueryAstVisitor.java
@@ -319,4 +319,28 @@ public abstract class CommonQueryAstVisitor<R, C> implements IAstVisitor<R, C> {
protected R visitSingleColumn(SingleColumn node, C context) {
return visitSelectItem(node, context);
}
+
+ protected R visitProcessingMode(ProcessingMode node, C context) {
+ return visitNode(node, context);
+ }
+
+ protected R visitWithQuery(WithQuery node, C context) {
+ return visitNode(node, context);
+ }
+
+ protected R visitWith(With node, C context) {
+ return visitNode(node, context);
+ }
+
+ protected R visitFill(Fill node, C context) {
+ return visitNode(node, context);
+ }
+
+ protected R visitOffset(Offset node, C context) {
+ return visitNode(node, context);
+ }
+
+ protected R visitLimit(Limit node, C context) {
+ return visitNode(node, context);
+ }
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Fill.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/Fill.java
similarity index 89%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Fill.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/Fill.java
index 9d3686f7087..70ae6b40959 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Fill.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/Fill.java
@@ -17,15 +17,9 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.sql.ast;
+package org.apache.iotdb.db.node_commons.plan.relational.sql.ast;
-import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.AstMemoryEstimationHelper;
-import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IAstVisitor;
-import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Literal;
-import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.LongLiteral;
-import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Node;
-import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.NodeLocation;
-import org.apache.iotdb.db.queryengine.plan.statement.component.FillPolicy;
+import org.apache.iotdb.db.node_commons.plan.statement.component.FillPolicy;
import com.google.common.base.MoreObjects;
import com.google.common.collect.ImmutableList;
@@ -113,7 +107,7 @@ public class Fill extends Node {
@Override
public <R, C> R accept(IAstVisitor<R, C> visitor, C context) {
- return ((AstVisitor<R, C>) visitor).visitFill(this, context);
+ return ((CommonQueryAstVisitor<R, C>) visitor).visitFill(this, context);
}
@Override
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/FunctionCall.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/FunctionCall.java
index 21c0a4a85ba..477ef633660 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/FunctionCall.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/FunctionCall.java
@@ -19,8 +19,6 @@
package org.apache.iotdb.db.node_commons.plan.relational.sql.ast;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.ProcessingMode;
-
import com.google.common.collect.ImmutableList;
import org.apache.tsfile.utils.RamUsageEstimator;
import org.apache.tsfile.utils.ReadWriteIOUtils;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/GenericLiteral.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/GenericLiteral.java
index 3da015c7345..f265b16a7f5 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/GenericLiteral.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/GenericLiteral.java
@@ -19,7 +19,7 @@
package org.apache.iotdb.db.node_commons.plan.relational.sql.ast;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.parser.ParsingException;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.parser.ParsingException;
import org.apache.tsfile.utils.Binary;
import org.apache.tsfile.utils.RamUsageEstimator;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Limit.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/Limit.java
similarity index 80%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Limit.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/Limit.java
index 65addf5c4ea..e1c2f26e329 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Limit.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/Limit.java
@@ -17,16 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.sql.ast;
-
-import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.AllRows;
-import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.AstMemoryEstimationHelper;
-import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
-import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IAstVisitor;
-import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.LongLiteral;
-import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Node;
-import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.NodeLocation;
-import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Parameter;
+package org.apache.iotdb.db.node_commons.plan.relational.sql.ast;
import com.google.common.collect.ImmutableList;
import org.apache.tsfile.utils.RamUsageEstimator;
@@ -71,7 +62,7 @@ public class Limit extends Node {
@Override
public <R, C> R accept(IAstVisitor<R, C> visitor, C context) {
- return ((AstVisitor<R, C>) visitor).visitLimit(this, context);
+ return ((CommonQueryAstVisitor<R, C>) visitor).visitLimit(this, context);
}
@Override
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/LongLiteral.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/LongLiteral.java
index f5ba4de1813..f1255268156 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/LongLiteral.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/LongLiteral.java
@@ -19,7 +19,7 @@
package org.apache.iotdb.db.node_commons.plan.relational.sql.ast;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.parser.ParsingException;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.parser.ParsingException;
import org.apache.tsfile.utils.RamUsageEstimator;
import org.apache.tsfile.utils.ReadWriteIOUtils;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Offset.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/Offset.java
similarity index 81%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Offset.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/Offset.java
index 05ae2b9cb52..a7eb3bd9056 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Offset.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/Offset.java
@@ -17,15 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.sql.ast;
-
-import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.AstMemoryEstimationHelper;
-import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
-import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IAstVisitor;
-import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.LongLiteral;
-import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Node;
-import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.NodeLocation;
-import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Parameter;
+package org.apache.iotdb.db.node_commons.plan.relational.sql.ast;
import com.google.common.collect.ImmutableList;
import org.apache.tsfile.utils.RamUsageEstimator;
@@ -68,7 +60,7 @@ public class Offset extends Node {
@Override
public <R, C> R accept(IAstVisitor<R, C> visitor, C context) {
- return ((AstVisitor<R, C>) visitor).visitOffset(this, context);
+ return ((CommonQueryAstVisitor<R, C>) visitor).visitOffset(this, context);
}
@Override
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ProcessingMode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/ProcessingMode.java
similarity index 83%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ProcessingMode.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/ProcessingMode.java
index 0f1784c087b..8d76e87d329 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ProcessingMode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/ProcessingMode.java
@@ -17,12 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.sql.ast;
-
-import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.AstMemoryEstimationHelper;
-import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IAstVisitor;
-import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Node;
-import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.NodeLocation;
+package org.apache.iotdb.db.node_commons.plan.relational.sql.ast;
import com.google.common.collect.ImmutableList;
import org.apache.tsfile.utils.RamUsageEstimator;
@@ -50,7 +45,7 @@ public final class ProcessingMode extends Node {
@Override
public <R, C> R accept(IAstVisitor<R, C> visitor, C context) {
- return ((AstVisitor<R, C>) visitor).visitProcessingMode(this, context);
+ return ((CommonQueryAstVisitor<R, C>) visitor).visitProcessingMode(this, context);
}
@Override
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/Query.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/Query.java
index b37568135a6..27ef6f60150 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/Query.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/Query.java
@@ -19,10 +19,6 @@
package org.apache.iotdb.db.node_commons.plan.relational.sql.ast;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Fill;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Limit;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Offset;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.With;
import org.apache.iotdb.db.utils.cte.CteDataStore;
import com.google.common.collect.ImmutableList;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/With.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/With.java
similarity index 87%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/With.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/With.java
index 1682de9bb33..c2bec8c63dd 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/With.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/With.java
@@ -17,12 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.sql.ast;
-
-import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.AstMemoryEstimationHelper;
-import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IAstVisitor;
-import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Node;
-import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.NodeLocation;
+package org.apache.iotdb.db.node_commons.plan.relational.sql.ast;
import com.google.common.collect.ImmutableList;
import org.apache.tsfile.utils.RamUsageEstimator;
@@ -71,7 +66,7 @@ public class With extends Node {
@Override
public <R, C> R accept(IAstVisitor<R, C> visitor, C context) {
- return ((AstVisitor<R, C>) visitor).visitWith(this, context);
+ return ((CommonQueryAstVisitor<R, C>) visitor).visitWith(this, context);
}
@Override
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/WithQuery.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/WithQuery.java
similarity index 88%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/WithQuery.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/WithQuery.java
index 9345e19474b..bc707acad4c 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/WithQuery.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/WithQuery.java
@@ -17,14 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.sql.ast;
-
-import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.AstMemoryEstimationHelper;
-import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IAstVisitor;
-import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Identifier;
-import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Node;
-import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.NodeLocation;
-import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Query;
+package org.apache.iotdb.db.node_commons.plan.relational.sql.ast;
import com.google.common.collect.ImmutableList;
import org.apache.tsfile.utils.RamUsageEstimator;
@@ -105,7 +98,7 @@ public class WithQuery extends Node {
@Override
public <R, C> R accept(IAstVisitor<R, C> visitor, C context) {
- return ((AstVisitor<R, C>) visitor).visitWithQuery(this, context);
+ return ((CommonQueryAstVisitor<R, C>) visitor).visitWithQuery(this, context);
}
@Override
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/parser/ParsingException.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/parser/ParsingException.java
similarity index 96%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/parser/ParsingException.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/parser/ParsingException.java
index bb830551d0d..c2a03bbc969 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/parser/ParsingException.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/parser/ParsingException.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.sql.parser;
+package org.apache.iotdb.db.node_commons.plan.relational.sql.parser;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.NodeLocation;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/type/NamedTypeSignature.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/type/NamedTypeSignature.java
similarity index 94%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/type/NamedTypeSignature.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/type/NamedTypeSignature.java
index 0c65cca6063..12a4e1e3065 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/type/NamedTypeSignature.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/type/NamedTypeSignature.java
@@ -17,9 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.type;
-
-import org.apache.iotdb.db.node_commons.plan.relational.type.TypeSignature;
+package org.apache.iotdb.db.node_commons.plan.relational.type;
import com.google.errorprone.annotations.Immutable;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/type/ParameterKind.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/type/ParameterKind.java
similarity index 93%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/type/ParameterKind.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/type/ParameterKind.java
index f52cb50946b..bc146af9093 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/type/ParameterKind.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/type/ParameterKind.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.type;
+package org.apache.iotdb.db.node_commons.plan.relational.type;
public enum ParameterKind {
TYPE,
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/type/RowFieldName.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/type/RowFieldName.java
similarity index 96%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/type/RowFieldName.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/type/RowFieldName.java
index d1896d8a9ee..c0611533777 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/type/RowFieldName.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/type/RowFieldName.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.type;
+package org.apache.iotdb.db.node_commons.plan.relational.type;
import com.google.errorprone.annotations.Immutable;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/type/StandardTypes.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/type/StandardTypes.java
similarity index 97%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/type/StandardTypes.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/type/StandardTypes.java
index 37ae2db6a21..7c0bfc5c72f 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/type/StandardTypes.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/type/StandardTypes.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.type;
+package org.apache.iotdb.db.node_commons.plan.relational.type;
public class StandardTypes {
public static final String BIGINT = "bigint";
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/type/TypeSignature.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/type/TypeSignature.java
index f6c773d0fc0..b5819547080 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/type/TypeSignature.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/type/TypeSignature.java
@@ -19,10 +19,6 @@
package org.apache.iotdb.db.node_commons.plan.relational.type;
-import org.apache.iotdb.db.queryengine.plan.relational.type.ParameterKind;
-import org.apache.iotdb.db.queryengine.plan.relational.type.StandardTypes;
-import org.apache.iotdb.db.queryengine.plan.relational.type.TypeSignatureParameter;
-
import com.google.errorprone.annotations.FormatMethod;
import com.google.errorprone.annotations.Immutable;
@@ -35,8 +31,8 @@ import java.util.stream.Collectors;
import static java.lang.String.format;
import static java.util.Arrays.asList;
-import static org.apache.iotdb.db.queryengine.plan.relational.type.StandardTypes.TIME_WITH_TIME_ZONE;
-import static org.apache.iotdb.db.queryengine.plan.relational.type.TypeSignatureParameter.typeParameter;
+import static org.apache.iotdb.db.node_commons.plan.relational.type.StandardTypes.TIME_WITH_TIME_ZONE;
+import static org.apache.iotdb.db.node_commons.plan.relational.type.TypeSignatureParameter.typeParameter;
@Immutable
public class TypeSignature {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/type/TypeSignatureParameter.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/type/TypeSignatureParameter.java
similarity index 97%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/type/TypeSignatureParameter.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/type/TypeSignatureParameter.java
index f7475c544a5..eb4a4ffb929 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/type/TypeSignatureParameter.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/type/TypeSignatureParameter.java
@@ -17,9 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.type;
-
-import org.apache.iotdb.db.node_commons.plan.relational.type.TypeSignature;
+package org.apache.iotdb.db.node_commons.plan.relational.type;
import com.google.errorprone.annotations.Immutable;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/type/TypeSignatureTranslator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/type/TypeSignatureTranslator.java
index 2e25be99c85..14f7a2e160c 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/type/TypeSignatureTranslator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/type/TypeSignatureTranslator.java
@@ -26,7 +26,6 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.GenericDataType;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Identifier;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.NumericParameter;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.TypeParameter;
-import org.apache.iotdb.db.queryengine.plan.relational.type.TypeSignatureParameter;
import com.google.common.collect.ImmutableList;
import org.apache.tsfile.read.common.type.Type;
@@ -36,9 +35,9 @@ import java.util.Locale;
import java.util.Set;
import static com.google.common.base.Preconditions.checkArgument;
-import static org.apache.iotdb.db.queryengine.plan.relational.type.TypeSignatureParameter.numericParameter;
-import static org.apache.iotdb.db.queryengine.plan.relational.type.TypeSignatureParameter.typeParameter;
-import static org.apache.iotdb.db.queryengine.plan.relational.type.TypeSignatureParameter.typeVariable;
+import static org.apache.iotdb.db.node_commons.plan.relational.type.TypeSignatureParameter.numericParameter;
+import static org.apache.iotdb.db.node_commons.plan.relational.type.TypeSignatureParameter.typeParameter;
+import static org.apache.iotdb.db.node_commons.plan.relational.type.TypeSignatureParameter.typeVariable;
public class TypeSignatureTranslator {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/utils/TypeUtil.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/utils/TypeUtil.java
index c1b3414f177..5da7eb1d621 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/utils/TypeUtil.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/utils/TypeUtil.java
@@ -18,9 +18,9 @@
*/
package org.apache.iotdb.db.node_commons.plan.relational.utils;
-import org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.hash.FlatHashStrategy;
-import org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.hash.HashStrategy;
-import org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.hash.XxHash64;
+import org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.FlatHashStrategy;
+import org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.HashStrategy;
+import org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.XxHash64;
import org.apache.tsfile.block.column.Column;
import org.apache.tsfile.block.column.ColumnBuilder;
@@ -48,8 +48,8 @@ import java.util.List;
import static java.lang.Double.doubleToLongBits;
import static java.lang.Float.floatToIntBits;
-import static org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.hash.XxHash64.FALSE_XX_HASH;
-import static org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.hash.XxHash64.TRUE_XX_HASH;
+import static org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.XxHash64.FALSE_XX_HASH;
+import static org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.XxHash64.TRUE_XX_HASH;
import static org.apache.tsfile.read.common.type.BooleanType.BOOLEAN;
import static org.apache.tsfile.read.common.type.DateType.DATE;
import static org.apache.tsfile.read.common.type.IntType.INT32;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/component/FillPolicy.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/statement/component/FillPolicy.java
similarity index 93%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/component/FillPolicy.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/statement/component/FillPolicy.java
index 4100faffa50..e7e888322c0 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/component/FillPolicy.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/statement/component/FillPolicy.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.statement.component;
+package org.apache.iotdb.db.node_commons.plan.statement.component;
public enum FillPolicy {
PREVIOUS((byte) 0),
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/ClientRPCServiceImpl.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/ClientRPCServiceImpl.java
index d8062cd9786..c278f253358 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/ClientRPCServiceImpl.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/ClientRPCServiceImpl.java
@@ -60,6 +60,7 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Literal;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.LongLiteral;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.NullLiteral;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.StringLiteral;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.parser.ParsingException;
import org.apache.iotdb.db.pipe.agent.PipeDataNodeAgent;
import org.apache.iotdb.db.protocol.basic.BasicOpenSessionResp;
import org.apache.iotdb.db.protocol.client.ConfigNodeClient;
@@ -103,7 +104,6 @@ import org.apache.iotdb.db.queryengine.plan.relational.sql.ParameterExtractor;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Execute;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.SetSqlDialect;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Use;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.parser.ParsingException;
import org.apache.iotdb.db.queryengine.plan.relational.sql.parser.SqlParser;
import org.apache.iotdb.db.queryengine.plan.statement.Statement;
import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/aggregation/TreeAggregator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/aggregation/TreeAggregator.java
index b7d3e7e9c07..f94a974e25c 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/aggregation/TreeAggregator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/aggregation/TreeAggregator.java
@@ -20,8 +20,8 @@
package org.apache.iotdb.db.queryengine.execution.aggregation;
import org.apache.iotdb.db.calc_commons.execution.aggregation.Accumulator;
+import org.apache.iotdb.db.calc_commons.metric.QueryExecutionMetricSet;
import org.apache.iotdb.db.node_commons.plan.planner.plan.parameter.InputLocation;
-import org.apache.iotdb.db.queryengine.metric.QueryExecutionMetricSet;
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.AggregationStep;
import org.apache.tsfile.block.column.Column;
@@ -35,8 +35,8 @@ import java.util.Collections;
import java.util.List;
import static com.google.common.base.Preconditions.checkArgument;
-import static org.apache.iotdb.db.queryengine.metric.QueryExecutionMetricSet.AGGREGATION_FROM_RAW_DATA;
-import static org.apache.iotdb.db.queryengine.metric.QueryExecutionMetricSet.AGGREGATION_FROM_STATISTICS;
+import static org.apache.iotdb.db.calc_commons.metric.QueryExecutionMetricSet.AGGREGATION_FROM_RAW_DATA;
+import static org.apache.iotdb.db.calc_commons.metric.QueryExecutionMetricSet.AGGREGATION_FROM_STATISTICS;
public class TreeAggregator {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/driver/DataDriver.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/driver/DataDriver.java
index 9632ba6a4a8..221d7b2e26a 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/driver/DataDriver.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/driver/DataDriver.java
@@ -31,7 +31,7 @@ import javax.annotation.concurrent.NotThreadSafe;
import java.util.List;
-import static org.apache.iotdb.db.queryengine.metric.QueryExecutionMetricSet.QUERY_RESOURCE_INIT;
+import static org.apache.iotdb.db.calc_commons.metric.QueryExecutionMetricSet.QUERY_RESOURCE_INIT;
import static org.apache.iotdb.db.storageengine.dataregion.VirtualDataRegion.UNFINISHED_QUERY_DATA_SOURCE;
/**
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/driver/Driver.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/driver/Driver.java
index 41d9d637c1e..b9ae87b37e7 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/driver/Driver.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/driver/Driver.java
@@ -23,10 +23,10 @@ import org.apache.iotdb.commons.exception.IoTDBRuntimeException;
import org.apache.iotdb.commons.utils.FileUtils;
import org.apache.iotdb.db.calc_commons.execution.operator.Operator;
import org.apache.iotdb.db.calc_commons.execution.operator.OperatorContext;
+import org.apache.iotdb.db.calc_commons.metric.QueryExecutionMetricSet;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.queryengine.execution.exchange.sink.ISink;
import org.apache.iotdb.db.queryengine.execution.schedule.task.DriverTaskId;
-import org.apache.iotdb.db.queryengine.metric.QueryExecutionMetricSet;
import org.apache.iotdb.db.queryengine.metric.QueryMetricsManager;
import com.google.common.collect.ImmutableList;
@@ -56,7 +56,7 @@ import static com.google.common.base.Verify.verify;
import static com.google.common.util.concurrent.MoreExecutors.directExecutor;
import static java.lang.Boolean.TRUE;
import static org.apache.iotdb.db.calc_commons.execution.operator.Operator.NOT_BLOCKED;
-import static org.apache.iotdb.db.queryengine.metric.QueryExecutionMetricSet.DRIVER_INTERNAL_PROCESS;
+import static org.apache.iotdb.db.calc_commons.metric.QueryExecutionMetricSet.DRIVER_INTERNAL_PROCESS;
public abstract class Driver implements IDriver {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/fragment/FragmentInstanceManager.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/fragment/FragmentInstanceManager.java
index 1898cbfe53c..513daf61f91 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/fragment/FragmentInstanceManager.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/fragment/FragmentInstanceManager.java
@@ -26,6 +26,7 @@ import org.apache.iotdb.commons.conf.CommonDescriptor;
import org.apache.iotdb.commons.exception.IoTDBException;
import org.apache.iotdb.commons.exception.IoTDBRuntimeException;
import org.apache.iotdb.commons.exception.QueryTimeoutException;
+import org.apache.iotdb.db.calc_commons.metric.QueryExecutionMetricSet;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.exception.sql.SemanticException;
import org.apache.iotdb.db.queryengine.common.FragmentInstanceId;
@@ -36,7 +37,6 @@ import org.apache.iotdb.db.queryengine.execution.exchange.MPPDataExchangeService
import org.apache.iotdb.db.queryengine.execution.exchange.sink.ISink;
import org.apache.iotdb.db.queryengine.execution.schedule.DriverScheduler;
import org.apache.iotdb.db.queryengine.execution.schedule.IDriverScheduler;
-import org.apache.iotdb.db.queryengine.metric.QueryExecutionMetricSet;
import org.apache.iotdb.db.queryengine.metric.QueryRelatedResourceMetricSet;
import org.apache.iotdb.db.queryengine.plan.Coordinator;
import org.apache.iotdb.db.queryengine.plan.planner.LocalExecutionPlanner;
@@ -64,10 +64,10 @@ import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicLong;
import static java.util.Objects.requireNonNull;
+import static org.apache.iotdb.db.calc_commons.metric.QueryExecutionMetricSet.LOCAL_EXECUTION_PLANNER;
import static org.apache.iotdb.db.queryengine.execution.fragment.FragmentInstanceContext.createFragmentInstanceContext;
import static org.apache.iotdb.db.queryengine.execution.fragment.FragmentInstanceExecution.createFragmentInstanceExecution;
import static org.apache.iotdb.db.queryengine.execution.schedule.queue.IndexedBlockingQueue.TOO_MANY_CONCURRENT_QUERIES_ERROR_MSG;
-import static org.apache.iotdb.db.queryengine.metric.QueryExecutionMetricSet.LOCAL_EXECUTION_PLANNER;
import static org.apache.iotdb.rpc.TSStatusCode.TOO_MANY_CONCURRENT_QUERIES_ERROR;
@SuppressWarnings("squid:S6548")
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/function/PartitionRecognizer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/function/PartitionRecognizer.java
index 75efa595f1d..55eb324b92f 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/function/PartitionRecognizer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/function/PartitionRecognizer.java
@@ -32,8 +32,8 @@ import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
+import static org.apache.iotdb.db.calc_commons.execution.operator.process.join.merge.MergeSortComparator.getComparatorForTable;
import static org.apache.iotdb.db.node_commons.plan.relational.planner.SortOrder.ASC_NULLS_FIRST;
-import static org.apache.iotdb.db.queryengine.execution.operator.process.join.merge.MergeSortComparator.getComparatorForTable;
public class PartitionRecognizer {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/join/merge/MergeSortComparatorUtils.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/join/merge/MergeSortComparatorUtils.java
new file mode 100644
index 00000000000..d2855d2d8de
--- /dev/null
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/join/merge/MergeSortComparatorUtils.java
@@ -0,0 +1,50 @@
+/*
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.iotdb.db.queryengine.execution.operator.process.join.merge;
+
+import org.apache.iotdb.db.calc_commons.execution.operator.process.join.merge.MergeSortComparator;
+import org.apache.iotdb.db.queryengine.plan.statement.component.NullOrdering;
+import org.apache.iotdb.db.queryengine.plan.statement.component.Ordering;
+import org.apache.iotdb.db.queryengine.plan.statement.component.SortItem;
+import org.apache.iotdb.db.utils.datastructure.SortKey;
+
+import org.apache.tsfile.enums.TSDataType;
+import org.apache.tsfile.external.commons.collections4.comparators.ComparatorChain;
+
+import java.util.ArrayList;
+import java.util.Comparator;
+import java.util.List;
+
+public class MergeSortComparatorUtils {
+ /** -1 in index is for time column. */
+ public static Comparator<SortKey> getComparator(
+ List<SortItem> sortItemList, List<Integer> indexList, List<TSDataType> dataTypeList) {
+
+ // use code-gen compile this comparator
+ List<Comparator<SortKey>> list = new ArrayList<>(indexList.size());
+ for (int i = 0; i < indexList.size(); i++) {
+ int index = indexList.get(i);
+ if (index == -2) {
+ continue;
+ }
+ TSDataType dataType = dataTypeList.get(i);
+ boolean asc = sortItemList.get(i).getOrdering() == Ordering.ASC;
+ boolean nullFirst = sortItemList.get(i).getNullOrdering() == NullOrdering.FIRST;
+ list.add(MergeSortComparator.genSingleComparator(asc, index, dataType, nullFirst));
+ }
+
+ return list.size() == 1 ? list.get(0) : new ComparatorChain<>(list);
+ }
+}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/AbstractAggTableScanOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/AbstractAggTableScanOperator.java
index 3adcafd11ad..447d85df05a 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/AbstractAggTableScanOperator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/AbstractAggTableScanOperator.java
@@ -21,9 +21,9 @@ package org.apache.iotdb.db.queryengine.execution.operator.source.relational;
import org.apache.iotdb.commons.path.AlignedFullPath;
import org.apache.iotdb.commons.schema.table.column.TsTableColumnCategory;
-import org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils;
import org.apache.iotdb.db.calc_commons.execution.operator.OperatorContext;
import org.apache.iotdb.db.calc_commons.execution.operator.source.relational.aggregation.TableAggregator;
+import org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNodeId;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.queryengine.execution.aggregation.timerangeiterator.ITableTimeRangeIterator;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/AbstractDefaultAggTableScanOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/AbstractDefaultAggTableScanOperator.java
index 61be8d4942a..c39cbdbd121 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/AbstractDefaultAggTableScanOperator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/AbstractDefaultAggTableScanOperator.java
@@ -30,7 +30,7 @@ import org.apache.tsfile.utils.RamUsageEstimator;
import java.util.Optional;
import java.util.concurrent.TimeUnit;
-import static org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils.TIME_COLUMN_TEMPLATE;
+import static org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils.TIME_COLUMN_TEMPLATE;
public abstract class AbstractDefaultAggTableScanOperator extends AbstractAggTableScanOperator {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/AbstractTableScanOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/AbstractTableScanOperator.java
index 199ddbd82ee..49466500dee 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/AbstractTableScanOperator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/AbstractTableScanOperator.java
@@ -20,8 +20,8 @@
package org.apache.iotdb.db.queryengine.execution.operator.source.relational;
import org.apache.iotdb.commons.path.AlignedFullPath;
-import org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils;
import org.apache.iotdb.db.calc_commons.execution.operator.OperatorContext;
+import org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils;
import org.apache.iotdb.db.node_commons.execution.MemoryEstimationHelper;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNodeId;
import org.apache.iotdb.db.queryengine.execution.operator.source.AbstractSeriesScanOperator;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/DeviceIteratorScanOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/DeviceIteratorScanOperator.java
index c74d33109d5..ecd7659ee9d 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/DeviceIteratorScanOperator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/DeviceIteratorScanOperator.java
@@ -19,9 +19,9 @@
package org.apache.iotdb.db.queryengine.execution.operator.source.relational;
-import org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils;
import org.apache.iotdb.db.calc_commons.execution.operator.Operator;
import org.apache.iotdb.db.calc_commons.execution.operator.OperatorContext;
+import org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils;
import org.apache.iotdb.db.node_commons.execution.MemoryEstimationHelper;
import org.apache.iotdb.db.queryengine.execution.operator.source.AbstractDataSourceOperator;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.DeviceEntry;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/InformationSchemaContentSupplierFactory.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/InformationSchemaContentSupplierFactory.java
index 2e43a271475..78988754457 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/InformationSchemaContentSupplierFactory.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/InformationSchemaContentSupplierFactory.java
@@ -63,8 +63,8 @@ import org.apache.iotdb.confignode.rpc.thrift.TShowTopicInfo;
import org.apache.iotdb.confignode.rpc.thrift.TShowTopicReq;
import org.apache.iotdb.confignode.rpc.thrift.TTableInfo;
import org.apache.iotdb.db.auth.AuthorityChecker;
-import org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils;
import org.apache.iotdb.db.calc_commons.execution.operator.OperatorContext;
+import org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.node_commons.common.ConnectionInfo;
import org.apache.iotdb.db.node_commons.common.SqlDialect;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/MeasurementToTableViewAdaptorUtils.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/MeasurementToTableViewAdaptorUtils.java
index f3cfb903ef6..3efd6482fb8 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/MeasurementToTableViewAdaptorUtils.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/MeasurementToTableViewAdaptorUtils.java
@@ -32,7 +32,7 @@ import org.apache.tsfile.utils.Binary;
import java.util.List;
import java.util.Optional;
-import static org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils.TIME_COLUMN_TEMPLATE;
+import static org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils.TIME_COLUMN_TEMPLATE;
public class MeasurementToTableViewAdaptorUtils {
private MeasurementToTableViewAdaptorUtils() {}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/TreeNonAlignedDeviceViewAggregationScanOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/TreeNonAlignedDeviceViewAggregationScanOperator.java
index d7a1cbdd75e..71537fc373f 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/TreeNonAlignedDeviceViewAggregationScanOperator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/TreeNonAlignedDeviceViewAggregationScanOperator.java
@@ -38,8 +38,8 @@ import org.apache.tsfile.utils.RamUsageEstimator;
import java.util.List;
import java.util.Optional;
-import static org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils.CURRENT_DEVICE_INDEX_STRING;
-import static org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils.TIME_COLUMN_TEMPLATE;
+import static org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils.CURRENT_DEVICE_INDEX_STRING;
+import static org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils.TIME_COLUMN_TEMPLATE;
public class TreeNonAlignedDeviceViewAggregationScanOperator
extends AbstractDefaultAggTableScanOperator {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/ExpressionAnalyzer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/ExpressionAnalyzer.java
index f1a36aa71d0..9a847a9ebd1 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/ExpressionAnalyzer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/ExpressionAnalyzer.java
@@ -24,11 +24,11 @@ import org.apache.iotdb.commons.path.MeasurementPath;
import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.commons.path.PathPatternTree;
import org.apache.iotdb.commons.schema.column.ColumnHeader;
-import org.apache.iotdb.db.calc_commons.plan.expression.UnknownExpressionTypeException;
import org.apache.iotdb.db.exception.sql.SemanticException;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
import org.apache.iotdb.db.queryengine.common.schematree.ISchemaTree;
import org.apache.iotdb.db.queryengine.plan.expression.Expression;
+import org.apache.iotdb.db.queryengine.plan.expression.UnknownExpressionTypeException;
import org.apache.iotdb.db.queryengine.plan.expression.binary.BinaryExpression;
import org.apache.iotdb.db.queryengine.plan.expression.leaf.ConstantOperand;
import org.apache.iotdb.db.queryengine.plan.expression.leaf.LeafOperand;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/ExpressionUtils.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/ExpressionUtils.java
index 69b309a5820..1d9bb7838d5 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/ExpressionUtils.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/ExpressionUtils.java
@@ -20,10 +20,10 @@
package org.apache.iotdb.db.queryengine.plan.analyze;
import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.calc_commons.plan.expression.UnknownExpressionTypeException;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
import org.apache.iotdb.db.queryengine.plan.expression.Expression;
import org.apache.iotdb.db.queryengine.plan.expression.ExpressionType;
+import org.apache.iotdb.db.queryengine.plan.expression.UnknownExpressionTypeException;
import org.apache.iotdb.db.queryengine.plan.expression.binary.AdditionExpression;
import org.apache.iotdb.db.queryengine.plan.expression.binary.BinaryExpression;
import org.apache.iotdb.db.queryengine.plan.expression.binary.DivisionExpression;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/PredicateUtils.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/PredicateUtils.java
index 7f0315097a6..55cfd18f16f 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/PredicateUtils.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/PredicateUtils.java
@@ -21,12 +21,12 @@ package org.apache.iotdb.db.queryengine.plan.analyze;
import org.apache.iotdb.commons.path.MeasurementPath;
import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.calc_commons.plan.expression.UnknownExpressionTypeException;
import org.apache.iotdb.db.exception.sql.SemanticException;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.queryengine.plan.expression.Expression;
import org.apache.iotdb.db.queryengine.plan.expression.ExpressionFactory;
import org.apache.iotdb.db.queryengine.plan.expression.ExpressionType;
+import org.apache.iotdb.db.queryengine.plan.expression.UnknownExpressionTypeException;
import org.apache.iotdb.db.queryengine.plan.expression.binary.BinaryExpression;
import org.apache.iotdb.db.queryengine.plan.expression.binary.LogicAndExpression;
import org.apache.iotdb.db.queryengine.plan.expression.leaf.ConstantOperand;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/QueryExecution.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/QueryExecution.java
index 7efa083a585..8f95906fc8d 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/QueryExecution.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/QueryExecution.java
@@ -24,6 +24,7 @@ import org.apache.iotdb.commons.conf.IoTDBConstant;
import org.apache.iotdb.commons.exception.IoTDBException;
import org.apache.iotdb.commons.exception.IoTDBRuntimeException;
import org.apache.iotdb.commons.service.metric.PerformanceOverviewMetrics;
+import org.apache.iotdb.db.calc_commons.metric.QueryExecutionMetricSet;
import org.apache.iotdb.db.conf.IoTDBConfig;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.exception.query.KilledByOthersException;
@@ -37,7 +38,6 @@ import org.apache.iotdb.db.queryengine.execution.QueryStateMachine;
import org.apache.iotdb.db.queryengine.execution.exchange.MPPDataExchangeService;
import org.apache.iotdb.db.queryengine.execution.exchange.source.ISourceHandle;
import org.apache.iotdb.db.queryengine.execution.exchange.source.SourceHandle;
-import org.apache.iotdb.db.queryengine.metric.QueryExecutionMetricSet;
import org.apache.iotdb.db.queryengine.metric.QueryPlanCostMetricSet;
import org.apache.iotdb.db.queryengine.plan.Coordinator;
import org.apache.iotdb.db.queryengine.plan.analyze.IAnalysis;
@@ -73,8 +73,8 @@ import java.util.concurrent.atomic.AtomicBoolean;
import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Throwables.throwIfUnchecked;
import static org.apache.iotdb.commons.utils.ErrorHandlingCommonUtils.getRootCause;
+import static org.apache.iotdb.db.calc_commons.metric.QueryExecutionMetricSet.WAIT_FOR_RESULT;
import static org.apache.iotdb.db.queryengine.common.DataNodeEndPoints.isSameNode;
-import static org.apache.iotdb.db.queryengine.metric.QueryExecutionMetricSet.WAIT_FOR_RESULT;
import static org.apache.iotdb.rpc.TSStatusCode.DATE_OUT_OF_RANGE;
/**
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/expression/UnknownExpressionTypeException.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/UnknownExpressionTypeException.java
similarity index 88%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/expression/UnknownExpressionTypeException.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/UnknownExpressionTypeException.java
index f56a02db6bd..459f19680d6 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/calc_commons/plan/expression/UnknownExpressionTypeException.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/UnknownExpressionTypeException.java
@@ -17,9 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.calc_commons.plan.expression;
-
-import org.apache.iotdb.db.queryengine.plan.expression.ExpressionType;
+package org.apache.iotdb.db.queryengine.plan.expression;
public class UnknownExpressionTypeException extends IllegalArgumentException {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/optimization/LimitOffsetPushDown.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/optimization/LimitOffsetPushDown.java
index 42fbd67b39e..c811740ce06 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/optimization/LimitOffsetPushDown.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/optimization/LimitOffsetPushDown.java
@@ -23,6 +23,7 @@ import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.process.MultiChildProcessNode;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.process.TwoChildProcessNode;
+import org.apache.iotdb.db.node_commons.plan.statement.component.FillPolicy;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
import org.apache.iotdb.db.queryengine.plan.analyze.Analysis;
import org.apache.iotdb.db.queryengine.plan.analyze.ExpressionAnalyzer;
@@ -40,7 +41,6 @@ import org.apache.iotdb.db.queryengine.plan.planner.plan.node.source.AlignedSeri
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.source.SeriesScanNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.source.ShowDiskUsageNode;
import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
-import org.apache.iotdb.db.queryengine.plan.statement.component.FillPolicy;
import org.apache.iotdb.db.queryengine.plan.statement.component.GroupByTimeComponent;
import org.apache.iotdb.db.queryengine.plan.statement.component.Ordering;
import org.apache.iotdb.db.queryengine.plan.statement.crud.QueryStatement;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/optimization/OrderByExpressionWithLimitChangeToTopK.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/optimization/OrderByExpressionWithLimitChangeToTopK.java
index 02834f2f463..9c69c699ae5 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/optimization/OrderByExpressionWithLimitChangeToTopK.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/optimization/OrderByExpressionWithLimitChangeToTopK.java
@@ -39,8 +39,8 @@ import org.apache.iotdb.db.queryengine.plan.statement.crud.QueryStatement;
import java.util.ArrayList;
import java.util.List;
+import static org.apache.iotdb.db.node_commons.plan.statement.component.FillPolicy.LINEAR;
import static org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.TopKNode.LIMIT_VALUE_USE_TOP_K;
-import static org.apache.iotdb.db.queryengine.plan.statement.component.FillPolicy.LINEAR;
/**
* Replace `SortNode`+`LimitNode` to `TopKNode` and replace `MergeSortNode`+`LimitNode` to
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/parser/ASTVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/parser/ASTVisitor.java
index 9fb77d2298e..b3f95fb64f3 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/parser/ASTVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/parser/ASTVisitor.java
@@ -50,6 +50,7 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Node;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.NumericParameter;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.QualifiedName;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.TypeParameter;
+import org.apache.iotdb.db.node_commons.plan.statement.component.FillPolicy;
import org.apache.iotdb.db.qp.sql.IoTDBSqlParser;
import org.apache.iotdb.db.qp.sql.IoTDBSqlParser.ConstantContext;
import org.apache.iotdb.db.qp.sql.IoTDBSqlParser.CountDatabasesContext;
@@ -110,7 +111,6 @@ import org.apache.iotdb.db.queryengine.plan.statement.AuthorType;
import org.apache.iotdb.db.queryengine.plan.statement.Statement;
import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
import org.apache.iotdb.db.queryengine.plan.statement.component.FillComponent;
-import org.apache.iotdb.db.queryengine.plan.statement.component.FillPolicy;
import org.apache.iotdb.db.queryengine.plan.statement.component.FromComponent;
import org.apache.iotdb.db.queryengine.plan.statement.component.GroupByComponent;
import org.apache.iotdb.db.queryengine.plan.statement.component.GroupByConditionComponent;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/LogicalPlanBuilder.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/LogicalPlanBuilder.java
index 10365024d4e..6662856ae8d 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/LogicalPlanBuilder.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/LogicalPlanBuilder.java
@@ -128,9 +128,9 @@ import java.util.stream.Collectors;
import static org.apache.iotdb.commons.conf.IoTDBConstant.MULTI_LEVEL_PATH_WILDCARD;
import static org.apache.iotdb.commons.schema.column.ColumnHeaderConstant.DEVICE;
import static org.apache.iotdb.commons.schema.column.ColumnHeaderConstant.ENDTIME;
+import static org.apache.iotdb.db.node_commons.plan.statement.component.FillPolicy.LINEAR;
import static org.apache.iotdb.db.queryengine.plan.analyze.ExpressionTypeAnalyzer.analyzeExpression;
import static org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.TopKNode.LIMIT_VALUE_USE_TOP_K;
-import static org.apache.iotdb.db.queryengine.plan.statement.component.FillPolicy.LINEAR;
import static org.apache.iotdb.db.utils.constant.SqlConstant.LAST_VALUE;
import static org.apache.iotdb.db.utils.constant.SqlConstant.MAX_TIME;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/OperatorGeneratorUtil.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/OperatorGeneratorUtil.java
index 9815bb4cd44..2c70b2a47b6 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/OperatorGeneratorUtil.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/OperatorGeneratorUtil.java
@@ -28,7 +28,7 @@ import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
-import static org.apache.iotdb.db.calc_commons.plan.planner.OperatorGeneratorUtils.UNKNOWN_DATATYPE;
+import static org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils.UNKNOWN_DATATYPE;
public class OperatorGeneratorUtil {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/OperatorTreeGenerator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/OperatorTreeGenerator.java
index 4fd18bd6a9f..2f18a99fe0d 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/OperatorTreeGenerator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/OperatorTreeGenerator.java
@@ -44,8 +44,7 @@ import org.apache.iotdb.db.calc_commons.execution.operator.process.fill.constant
import org.apache.iotdb.db.calc_commons.execution.operator.process.fill.constant.FloatConstantFill;
import org.apache.iotdb.db.calc_commons.execution.operator.process.fill.constant.IntConstantFill;
import org.apache.iotdb.db.calc_commons.execution.operator.process.fill.constant.LongConstantFill;
-import org.apache.iotdb.db.calc_commons.execution.operator.process.fill.identity.IdentityFill;
-import org.apache.iotdb.db.calc_commons.plan.planner.OperatorGeneratorUtils;
+import org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils;
import org.apache.iotdb.db.calc_commons.transformation.dag.column.ColumnTransformer;
import org.apache.iotdb.db.calc_commons.transformation.dag.column.leaf.LeafColumnTransformer;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
@@ -56,6 +55,7 @@ import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNodeId;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.process.MultiChildProcessNode;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.process.TwoChildProcessNode;
import org.apache.iotdb.db.node_commons.plan.planner.plan.parameter.InputLocation;
+import org.apache.iotdb.db.node_commons.plan.statement.component.FillPolicy;
import org.apache.iotdb.db.queryengine.common.DeviceContext;
import org.apache.iotdb.db.queryengine.common.FragmentInstanceId;
import org.apache.iotdb.db.queryengine.common.TimeseriesContext;
@@ -240,7 +240,6 @@ import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.SeriesScanOpt
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.model.ModelInferenceDescriptor;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.fetcher.cache.TableDeviceLastCache;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.fetcher.cache.TreeDeviceSchemaCacheManager;
-import org.apache.iotdb.db.queryengine.plan.statement.component.FillPolicy;
import org.apache.iotdb.db.queryengine.plan.statement.component.OrderByKey;
import org.apache.iotdb.db.queryengine.plan.statement.component.Ordering;
import org.apache.iotdb.db.queryengine.plan.statement.component.SortItem;
@@ -297,7 +296,7 @@ import static org.apache.iotdb.db.queryengine.execution.operator.AggregationUtil
import static org.apache.iotdb.db.queryengine.execution.operator.AggregationUtil.calculateMaxAggregationResultSizeForLastQuery;
import static org.apache.iotdb.db.queryengine.execution.operator.AggregationUtil.getOutputColumnSizePerLine;
import static org.apache.iotdb.db.queryengine.execution.operator.AggregationUtil.initTimeRangeIterator;
-import static org.apache.iotdb.db.queryengine.execution.operator.process.join.merge.MergeSortComparator.getComparator;
+import static org.apache.iotdb.db.queryengine.execution.operator.process.join.merge.MergeSortComparatorUtils.getComparator;
import static org.apache.iotdb.db.queryengine.execution.operator.sink.IdentitySinkOperator.DELIMITER_BETWEEN_ID;
import static org.apache.iotdb.db.queryengine.execution.operator.sink.IdentitySinkOperator.DOWNSTREAM_PLAN_NODE_ID;
import static org.apache.iotdb.db.queryengine.plan.analyze.PredicateUtils.convertPredicateToFilter;
@@ -321,8 +320,6 @@ public class OperatorTreeGenerator implements PlanVisitor<Operator, LocalExecuti
private static final TimeComparator DESC_TIME_COMPARATOR = new DescTimeComparator();
- public static final IdentityFill IDENTITY_FILL = new IdentityFill();
-
private static final Comparator<Binary> ASC_BINARY_COMPARATOR = Comparator.naturalOrder();
private static final Comparator<Binary> DESC_BINARY_COMPARATOR = Comparator.reverseOrder();
@@ -1322,7 +1319,7 @@ public class OperatorTreeGenerator implements PlanVisitor<Operator, LocalExecuti
case PREVIOUS:
return new TreeFillOperator(
operatorContext,
- OperatorGeneratorUtils.getPreviousFill(
+ CommonOperatorUtils.getPreviousFill(
inputColumns,
inputDataTypes,
descriptor.getTimeDurationThreshold(),
@@ -1331,7 +1328,7 @@ public class OperatorTreeGenerator implements PlanVisitor<Operator, LocalExecuti
case LINEAR:
return new TreeLinearFillOperator(
operatorContext,
- OperatorGeneratorUtils.getLinearFill(inputColumns, inputDataTypes),
+ CommonOperatorUtils.getLinearFill(inputColumns, inputDataTypes),
child);
default:
throw new IllegalArgumentException("Unknown fill policy: " + fillPolicy);
@@ -1343,7 +1340,7 @@ public class OperatorTreeGenerator implements PlanVisitor<Operator, LocalExecuti
IFill[] constantFill = new IFill[inputColumns];
for (int i = 0; i < inputColumns; i++) {
if (!literal.isDataTypeConsistency(inputDataTypes.get(i))) {
- constantFill[i] = IDENTITY_FILL;
+ constantFill[i] = CommonOperatorUtils.IDENTITY_FILL;
continue;
}
switch (inputDataTypes.get(i)) {
@@ -1373,7 +1370,7 @@ public class OperatorTreeGenerator implements PlanVisitor<Operator, LocalExecuti
break;
default:
throw new IllegalArgumentException(
- OperatorGeneratorUtils.UNKNOWN_DATATYPE + inputDataTypes.get(i));
+ CommonOperatorUtils.UNKNOWN_DATATYPE + inputDataTypes.get(i));
}
}
return constantFill;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/parameter/FillDescriptor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/parameter/FillDescriptor.java
index 76b111f4481..48c900d7c9c 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/parameter/FillDescriptor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/parameter/FillDescriptor.java
@@ -19,7 +19,7 @@
package org.apache.iotdb.db.queryengine.plan.planner.plan.parameter;
-import org.apache.iotdb.db.queryengine.plan.statement.component.FillPolicy;
+import org.apache.iotdb.db.node_commons.plan.statement.component.FillPolicy;
import org.apache.iotdb.db.queryengine.plan.statement.literal.Literal;
import org.apache.tsfile.utils.ReadWriteIOUtils;
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 b11b09ed647..2cccc1c9317 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
@@ -33,12 +33,14 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.DataType;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.ExistsPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.FieldReference;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Fill;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.FunctionCall;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Identifier;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.InPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Join;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Literal;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Node;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Offset;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.OrderBy;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Parameter;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.QualifiedName;
@@ -48,6 +50,8 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Relation;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Statement;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SubqueryExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.WindowFrame;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.With;
+import org.apache.iotdb.db.node_commons.plan.statement.component.FillPolicy;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
import org.apache.iotdb.db.queryengine.common.header.DatasetHeader;
import org.apache.iotdb.db.queryengine.plan.analyze.IAnalysis;
@@ -61,8 +65,6 @@ import org.apache.iotdb.db.queryengine.plan.relational.metadata.ColumnSchema;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.QualifiedObjectName;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.TableSchema;
import org.apache.iotdb.db.queryengine.plan.relational.security.AccessControl;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Fill;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Offset;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.QuerySpecification;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.RangeQuantifier;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.RowPattern;
@@ -70,9 +72,7 @@ import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.ShowStatement;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.SubsetDefinition;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Table;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.TableFunctionInvocation;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.With;
import org.apache.iotdb.db.queryengine.plan.relational.sql.parser.SqlParser;
-import org.apache.iotdb.db.queryengine.plan.statement.component.FillPolicy;
import com.google.common.collect.ArrayListMultimap;
import com.google.common.collect.ImmutableList;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/ExpressionAnalyzer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/ExpressionAnalyzer.java
index 710b550ed2c..2c6fe7ff2db 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/ExpressionAnalyzer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/ExpressionAnalyzer.java
@@ -69,6 +69,7 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.NullIfExpression
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.NullLiteral;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.OrderBy;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Parameter;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.ProcessingMode;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.QualifiedName;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.QuantifiedComparisonExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Row;
@@ -98,7 +99,6 @@ import org.apache.iotdb.db.queryengine.plan.relational.metadata.Metadata;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.OperatorNotFoundException;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.QualifiedObjectName;
import org.apache.iotdb.db.queryengine.plan.relational.security.AccessControl;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.ProcessingMode;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.RangeQuantifier;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.RowPattern;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.SubsetDefinition;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/PatternRecognitionAnalyzer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/PatternRecognitionAnalyzer.java
index 4e7c29c1d93..846ec6b8bd0 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/PatternRecognitionAnalyzer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/PatternRecognitionAnalyzer.java
@@ -49,8 +49,8 @@ import java.util.Set;
import static com.google.common.collect.ImmutableList.toImmutableList;
import static com.google.common.collect.ImmutableSet.toImmutableSet;
+import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.ProcessingMode.Mode.FINAL;
import static org.apache.iotdb.db.queryengine.plan.relational.analyzer.ExpressionTreeUtils.extractExpressions;
-import static org.apache.iotdb.db.queryengine.plan.relational.sql.ast.ProcessingMode.Mode.FINAL;
import static org.apache.iotdb.db.queryengine.plan.relational.sql.util.AstUtil.preOrder;
public class PatternRecognitionAnalyzer {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/Scope.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/Scope.java
index 450b9bf93a6..ce24d7246de 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/Scope.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/Scope.java
@@ -25,8 +25,8 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.AllColumns;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Identifier;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.QualifiedName;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.WithQuery;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Table;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WithQuery;
import org.apache.iotdb.rpc.TSStatusCode;
import com.google.common.collect.ImmutableMap;
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 0f48aef0a83..4de1227515b 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
@@ -45,6 +45,7 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.ExistsPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Extract;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.FieldReference;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Fill;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.FrameBound;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.FunctionCall;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.GroupBy;
@@ -59,12 +60,14 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IsNullPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Join;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.JoinCriteria;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.LikePredicate;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Limit;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Literal;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.LogicalExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.LongLiteral;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Node;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.NotExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.NullIfExpression;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Offset;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.OrderBy;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Parameter;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.QualifiedName;
@@ -90,7 +93,10 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Window;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.WindowFrame;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.WindowReference;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.WindowSpecification;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.With;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.WithQuery;
import org.apache.iotdb.db.node_commons.plan.relational.type.TypeManager;
+import org.apache.iotdb.db.node_commons.plan.statement.component.FillPolicy;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext.ExplainType;
import org.apache.iotdb.db.queryengine.execution.warnings.IoTDBWarning;
@@ -146,7 +152,6 @@ import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Except;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Explain;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.ExplainAnalyze;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.FetchDevice;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Fill;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Insert;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.InsertRow;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.InsertRows;
@@ -154,11 +159,9 @@ import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.InsertTablet;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Intersect;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.JoinOn;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.JoinUsing;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Limit;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.LoadTsFile;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.MeasureDefinition;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.NaturalJoin;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Offset;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.PatternRecognitionRelation;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.PipeEnriched;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Property;
@@ -191,11 +194,8 @@ import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.UpdateAssignment;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Use;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.VariableDefinition;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WindowDefinition;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.With;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WithQuery;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WrappedInsertStatement;
import org.apache.iotdb.db.queryengine.plan.relational.type.CompatibleResolver;
-import org.apache.iotdb.db.queryengine.plan.statement.component.FillPolicy;
import org.apache.iotdb.db.queryengine.plan.statement.crud.InsertBaseStatement;
import org.apache.iotdb.db.schemaengine.table.DataNodeTableCache;
import org.apache.iotdb.db.schemaengine.table.DataNodeTreeViewSchemaUtils;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/CteMaterializer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/CteMaterializer.java
index 2b26bcb228e..df94bde9c81 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/CteMaterializer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/CteMaterializer.java
@@ -30,6 +30,8 @@ import org.apache.iotdb.commons.schema.table.column.TsTableColumnCategory;
import org.apache.iotdb.db.exception.mpp.FragmentInstanceFetchException;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Identifier;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Query;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.With;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.WithQuery;
import org.apache.iotdb.db.protocol.session.SessionManager;
import org.apache.iotdb.db.queryengine.common.FragmentInstanceId;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
@@ -44,8 +46,6 @@ import org.apache.iotdb.db.queryengine.plan.relational.analyzer.Analysis;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.ColumnSchema;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.TableSchema;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Table;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.With;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WithQuery;
import org.apache.iotdb.db.queryengine.plan.relational.sql.parser.SqlParser;
import org.apache.iotdb.db.queryengine.statistics.FragmentInstanceStatisticsDrawer;
import org.apache.iotdb.db.queryengine.statistics.QueryStatisticsFetcher;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/PredicateUtils.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/PredicateUtils.java
index 2f0eb92ec3c..0fb65377d9a 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/PredicateUtils.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/PredicateUtils.java
@@ -19,13 +19,13 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner;
-import org.apache.iotdb.db.calc_commons.plan.expression.UnknownExpressionTypeException;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.ComparisonExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Identifier;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.InPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.LogicalExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.LongLiteral;
+import org.apache.iotdb.db.queryengine.plan.expression.UnknownExpressionTypeException;
import org.apache.tsfile.utils.Pair;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/QueryPlanner.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/QueryPlanner.java
index 8e7bce99516..b7281d16b94 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/QueryPlanner.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/QueryPlanner.java
@@ -45,12 +45,14 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Cast;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.ComparisonExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.FieldReference;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Fill;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.FrameBound;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.FunctionCall;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IfExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.LongLiteral;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Node;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.NullLiteral;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Offset;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.OrderBy;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Query;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.QueryBody;
@@ -65,9 +67,7 @@ import org.apache.iotdb.db.queryengine.plan.relational.analyzer.RelationType;
import org.apache.iotdb.db.queryengine.plan.relational.planner.ir.GapFillStartAndEndTimeExtractVisitor;
import org.apache.iotdb.db.queryengine.plan.relational.planner.ir.PredicateWithUncorrelatedScalarSubqueryReconstructor;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Delete;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Fill;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.MeasureDefinition;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Offset;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.QuerySpecification;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.VariableDefinition;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/ir/PredicateWithUncorrelatedScalarSubqueryReconstructor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/ir/PredicateWithUncorrelatedScalarSubqueryReconstructor.java
index 21445b6d015..b8734a020cb 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/ir/PredicateWithUncorrelatedScalarSubqueryReconstructor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/ir/PredicateWithUncorrelatedScalarSubqueryReconstructor.java
@@ -36,6 +36,8 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.NotExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Query;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.StringLiteral;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SubqueryExpression;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.With;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.WithQuery;
import org.apache.iotdb.db.protocol.session.SessionManager;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext.ExplainType;
@@ -44,8 +46,6 @@ import org.apache.iotdb.db.queryengine.plan.Coordinator;
import org.apache.iotdb.db.queryengine.plan.execution.ExecutionResult;
import org.apache.iotdb.db.queryengine.plan.planner.LocalExecutionPlanner;
import org.apache.iotdb.db.queryengine.plan.relational.analyzer.Analysis;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.With;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WithQuery;
import org.apache.iotdb.db.queryengine.plan.relational.sql.parser.SqlParser;
import org.apache.iotdb.rpc.TSStatusCode;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/IterativeOptimizer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/IterativeOptimizer.java
index 86a0c4ebf2d..9c2208917b8 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/IterativeOptimizer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/IterativeOptimizer.java
@@ -19,6 +19,9 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Match;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.common.SessionInfo;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNodeId;
@@ -31,9 +34,6 @@ import org.apache.iotdb.db.queryengine.plan.relational.planner.PlannerContext;
import org.apache.iotdb.db.queryengine.plan.relational.planner.SymbolAllocator;
import org.apache.iotdb.db.queryengine.plan.relational.planner.optimizations.AdaptivePlanOptimizer;
import org.apache.iotdb.db.queryengine.plan.relational.planner.optimizations.PlanOptimizer;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Match;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.session.Session;
import com.google.common.collect.ImmutableList;
@@ -56,8 +56,8 @@ import static java.util.Objects.requireNonNull;
import static java.util.concurrent.TimeUnit.MINUTES;
import static java.util.concurrent.TimeUnit.NANOSECONDS;
import static java.util.stream.Collectors.joining;
+import static org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture.newCapture;
import static org.apache.iotdb.db.queryengine.plan.relational.execution.querystats.PlanOptimizersStatsCollector.createPlanOptimizersStatsCollector;
-import static org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture.newCapture;
import static org.apache.iotdb.rpc.TSStatusCode.OPTIMIZER_TIMEOUT;
public class IterativeOptimizer implements AdaptivePlanOptimizer {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/Rule.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/Rule.java
index 5f3290cbe91..f082cb8541b 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/Rule.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/Rule.java
@@ -19,13 +19,13 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.common.SessionInfo;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
import org.apache.iotdb.db.queryengine.common.QueryId;
import org.apache.iotdb.db.queryengine.execution.warnings.WarningCollector;
import org.apache.iotdb.db.queryengine.plan.relational.planner.SymbolAllocator;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import java.util.Optional;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/RuleIndex.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/RuleIndex.java
index 5fa96a6ffee..a8783d758d9 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/RuleIndex.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/RuleIndex.java
@@ -19,8 +19,8 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.pattern.TypeOfPattern;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.pattern.TypeOfPattern;
import com.google.common.collect.ImmutableListMultimap;
import com.google.common.collect.ListMultimap;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/EliminateLimitProjectWithTableScan.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/EliminateLimitProjectWithTableScan.java
index 630e56aa4aa..6531be20519 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/EliminateLimitProjectWithTableScan.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/EliminateLimitProjectWithTableScan.java
@@ -19,20 +19,20 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.LimitNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.ProjectNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.DeviceTableScanNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.TableScanNode;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
+import static org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture.newCapture;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.limit;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.project;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.source;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.tableScan;
-import static org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture.newCapture;
public class EliminateLimitProjectWithTableScan implements Rule<LimitNode> {
private static final Capture<ProjectNode> PROJECT = newCapture();
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/EliminateLimitWithTableScan.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/EliminateLimitWithTableScan.java
index e9313bb0373..efa933890e9 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/EliminateLimitWithTableScan.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/EliminateLimitWithTableScan.java
@@ -19,18 +19,18 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.LimitNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.DeviceTableScanNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.TableScanNode;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
+import static org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture.newCapture;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.limit;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.source;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.tableScan;
-import static org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture.newCapture;
public class EliminateLimitWithTableScan implements Rule<LimitNode> {
private static final Capture<TableScanNode> CHILD = newCapture();
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/EvaluateEmptyIntersect.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/EvaluateEmptyIntersect.java
index cde237a7b51..e5146d62409 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/EvaluateEmptyIntersect.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/EvaluateEmptyIntersect.java
@@ -19,14 +19,14 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Assignments;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.IntersectNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.ProjectNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Lookup;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.intersect;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.optimizations.QueryCardinalityUtil.isEmpty;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/ExpressionRewriteRuleSet.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/ExpressionRewriteRuleSet.java
index ee3095f9ae0..1252cae1a11 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/ExpressionRewriteRuleSet.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/ExpressionRewriteRuleSet.java
@@ -19,6 +19,8 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Assignments;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.FilterNode;
@@ -30,8 +32,6 @@ import org.apache.iotdb.db.node_commons.plan.relational.planner.rowpattern.rowpa
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
import org.apache.iotdb.db.queryengine.plan.relational.planner.SymbolsExtractor;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/GatherAndMergeWindows.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/GatherAndMergeWindows.java
index b4d13a34d1b..b83ef5aa0c2 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/GatherAndMergeWindows.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/GatherAndMergeWindows.java
@@ -19,6 +19,10 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.PropertyPattern;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Assignments;
import org.apache.iotdb.db.node_commons.plan.relational.planner.OrderingScheme;
@@ -28,10 +32,6 @@ import org.apache.iotdb.db.node_commons.plan.relational.planner.node.WindowNode;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
import org.apache.iotdb.db.queryengine.plan.relational.planner.SymbolsExtractor;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.PropertyPattern;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
@@ -49,13 +49,13 @@ import java.util.stream.Stream;
import static com.google.common.collect.ImmutableList.toImmutableList;
import static com.google.common.collect.ImmutableSet.toImmutableSet;
+import static org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture.newCapture;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule.Util.restrictOutputs;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule.Util.transpose;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.groupNode;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.project;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.source;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.window;
-import static org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture.newCapture;
public class GatherAndMergeWindows {
private GatherAndMergeWindows() {}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/ImplementExceptAll.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/ImplementExceptAll.java
index dfdf91929e7..a572b7d2510 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/ImplementExceptAll.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/ImplementExceptAll.java
@@ -20,6 +20,8 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
import org.apache.iotdb.commons.udf.builtin.relational.TableBuiltinScalarFunction;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Assignments;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.ExceptNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.FilterNode;
@@ -33,8 +35,6 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.QualifiedName;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.Metadata;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import com.google.common.collect.ImmutableList;
import org.apache.tsfile.read.common.type.LongType;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/ImplementExceptDistinctAsUnion.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/ImplementExceptDistinctAsUnion.java
index 7aa4d30775e..c4701c36a78 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/ImplementExceptDistinctAsUnion.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/ImplementExceptDistinctAsUnion.java
@@ -19,6 +19,8 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Assignments;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.ExceptNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.FilterNode;
@@ -29,8 +31,6 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.GenericLiteral;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.Metadata;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import com.google.common.collect.ImmutableList;
import org.apache.tsfile.read.common.type.LongType;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/ImplementIntersectAll.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/ImplementIntersectAll.java
index 0fee749fb87..66475d8d201 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/ImplementIntersectAll.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/ImplementIntersectAll.java
@@ -20,6 +20,8 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
import org.apache.iotdb.commons.udf.builtin.relational.TableBuiltinScalarFunction;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Assignments;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.FilterNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.IntersectNode;
@@ -30,8 +32,6 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.FunctionCall;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.QualifiedName;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.Metadata;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import com.google.common.collect.ImmutableList;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/ImplementIntersectDistinctAsUnion.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/ImplementIntersectDistinctAsUnion.java
index 2da41be6c21..264da6b286d 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/ImplementIntersectDistinctAsUnion.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/ImplementIntersectDistinctAsUnion.java
@@ -19,6 +19,8 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Assignments;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.FilterNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.IntersectNode;
@@ -29,8 +31,6 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.GenericLiteral;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.Metadata;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import com.google.common.collect.ImmutableList;
import org.apache.tsfile.read.common.type.LongType;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/ImplementPatternRecognition.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/ImplementPatternRecognition.java
index e43afc1b609..34e27f5ad41 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/ImplementPatternRecognition.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/ImplementPatternRecognition.java
@@ -19,6 +19,8 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.OrderingScheme;
import org.apache.iotdb.db.node_commons.plan.relational.planner.SortOrder;
@@ -26,8 +28,6 @@ import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.GroupNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.PatternRecognitionNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import java.util.ArrayList;
import java.util.HashMap;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/ImplementTableFunctionSource.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/ImplementTableFunctionSource.java
index 6b5647159d2..2384ce96186 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/ImplementTableFunctionSource.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/ImplementTableFunctionSource.java
@@ -19,6 +19,8 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.OrderingScheme;
import org.apache.iotdb.db.node_commons.plan.relational.planner.SortOrder;
@@ -28,8 +30,6 @@ import org.apache.iotdb.db.node_commons.plan.relational.planner.node.TableFuncti
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.TableFunctionProcessorNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import com.google.common.collect.ImmutableList;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/InlineProjections.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/InlineProjections.java
index d1a18b7093c..4fa9c699daf 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/InlineProjections.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/InlineProjections.java
@@ -19,6 +19,9 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.common.SessionInfo;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Assignments;
@@ -30,9 +33,6 @@ import org.apache.iotdb.db.queryengine.plan.analyze.TypeProvider;
import org.apache.iotdb.db.queryengine.plan.relational.planner.PlannerContext;
import org.apache.iotdb.db.queryengine.plan.relational.planner.SymbolsExtractor;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
@@ -47,11 +47,11 @@ import java.util.stream.Collectors;
import static java.util.Objects.requireNonNull;
import static java.util.stream.Collectors.toSet;
+import static org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture.newCapture;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.ExpressionSymbolInliner.inlineSymbols;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.ir.IrUtils.isEffectivelyLiteral;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.project;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.source;
-import static org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture.newCapture;
/**
* Inlines expressions from a child project node into a parent project node as long as they are
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MergeExcept.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MergeExcept.java
index 349b6a76bf5..be077084e7a 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MergeExcept.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MergeExcept.java
@@ -19,12 +19,12 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.ExceptNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.SetOperationNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import java.util.Optional;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MergeFilters.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MergeFilters.java
index 9cd9a13cdca..178123468aa 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MergeFilters.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MergeFilters.java
@@ -19,16 +19,16 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.FilterNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
+import static org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture.newCapture;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.ir.IrUtils.combineConjuncts;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.filter;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.source;
-import static org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture.newCapture;
public class MergeFilters implements Rule<FilterNode> {
private static final Capture<FilterNode> CHILD = newCapture();
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MergeIntersect.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MergeIntersect.java
index 71dbdb0dbf4..fd562592b25 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MergeIntersect.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MergeIntersect.java
@@ -19,12 +19,12 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.IntersectNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.SetOperationNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import java.util.Optional;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MergeLimitOverProjectWithMergeSort.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MergeLimitOverProjectWithMergeSort.java
index a74d41ffec3..620e4b76648 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MergeLimitOverProjectWithMergeSort.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MergeLimitOverProjectWithMergeSort.java
@@ -19,24 +19,24 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.LimitNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.MergeSortNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.ProjectNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.TopKNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import com.google.common.collect.ImmutableList;
+import static org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture.newCapture;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule.MergeLimitWithMergeSort.transformByMergeSortNode;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.limit;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.mergeSort;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.project;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.source;
-import static org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture.newCapture;
/**
* <b>Optimization phase:</b> Distributed plan planning.
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MergeLimitOverProjectWithSort.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MergeLimitOverProjectWithSort.java
index 080bb389b73..58a8a22150a 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MergeLimitOverProjectWithSort.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MergeLimitOverProjectWithSort.java
@@ -19,23 +19,23 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.LimitNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.ProjectNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.SortNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.StreamSortNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.TopKNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import com.google.common.collect.ImmutableList;
+import static org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture.newCapture;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.limit;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.project;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.sort;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.source;
-import static org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture.newCapture;
/**
* <b>Optimization phase:</b> Logical plan planning.
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MergeLimitWithMergeSort.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MergeLimitWithMergeSort.java
index 126ef39982e..dfdfba12945 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MergeLimitWithMergeSort.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MergeLimitWithMergeSort.java
@@ -19,21 +19,21 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.LimitNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.MergeSortNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.TopKNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import java.util.Optional;
+import static org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture.newCapture;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.limit;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.mergeSort;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.source;
-import static org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture.newCapture;
/**
* <b>Optimization phase:</b> Distributed plan planning.
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MergeLimitWithSort.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MergeLimitWithSort.java
index 36c3e68d796..2874a8cc079 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MergeLimitWithSort.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MergeLimitWithSort.java
@@ -19,19 +19,19 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.LimitNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.SortNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.StreamSortNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.TopKNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
+import static org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture.newCapture;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.limit;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.sort;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.source;
-import static org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture.newCapture;
/** <b>Optimization phase:</b> Logical plan planning. */
public class MergeLimitWithSort implements Rule<LimitNode> {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MergeLimits.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MergeLimits.java
index f9d9330a130..761886ac1f8 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MergeLimits.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MergeLimits.java
@@ -19,15 +19,15 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.LimitNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
+import static org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture.newCapture;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.limit;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.source;
-import static org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture.newCapture;
/**
* This rule handles both LimitNode with ties and LimitNode without ties. The parent LimitNode is
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MergeUnion.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MergeUnion.java
index 97a194e409e..71eae26bfd7 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MergeUnion.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MergeUnion.java
@@ -19,11 +19,11 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.SetOperationNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.UnionNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import java.util.Optional;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MultipleDistinctAggregationToMarkDistinct.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MultipleDistinctAggregationToMarkDistinct.java
index 014f4b7d58d..f320a7fd29c 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MultipleDistinctAggregationToMarkDistinct.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MultipleDistinctAggregationToMarkDistinct.java
@@ -19,13 +19,13 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.AggregationNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.MarkDistinctNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import com.google.common.base.Predicates;
import com.google.common.collect.ImmutableList;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/OptimizeRowPattern.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/OptimizeRowPattern.java
index 9b9071e2b10..a89b1930e62 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/OptimizeRowPattern.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/OptimizeRowPattern.java
@@ -19,13 +19,13 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.PatternRecognitionNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.rowpattern.rowpattern.IrPatternAlternationOptimizer;
import org.apache.iotdb.db.node_commons.plan.relational.planner.rowpattern.rowpattern.IrRowPattern;
import org.apache.iotdb.db.node_commons.plan.relational.planner.rowpattern.rowpattern.IrRowPatternFlattener;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.patternRecognition;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/ProjectOffPushDownRule.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/ProjectOffPushDownRule.java
index bdeaf4c746b..396315eebb9 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/ProjectOffPushDownRule.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/ProjectOffPushDownRule.java
@@ -19,23 +19,23 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.ProjectNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import com.google.common.collect.ImmutableList;
import java.util.Optional;
import java.util.Set;
+import static org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture.newCapture;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule.Util.pruneInputs;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.project;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.source;
-import static org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture.newCapture;
/**
* @param <N> The node type to look for under the ProjectNode Looks for a Project parent over a N
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneAggregationSourceColumns.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneAggregationSourceColumns.java
index 428023dc252..f86b9f7df36 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneAggregationSourceColumns.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneAggregationSourceColumns.java
@@ -19,12 +19,12 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.AggregationNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.SymbolsExtractor;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import com.google.common.collect.Streams;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneApplyCorrelation.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneApplyCorrelation.java
index f883d1cfc5b..f83c40bc106 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneApplyCorrelation.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneApplyCorrelation.java
@@ -19,11 +19,11 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.ApplyNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import java.util.List;
import java.util.Set;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneApplySourceColumns.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneApplySourceColumns.java
index 10edb885f4f..db321ffdb17 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneApplySourceColumns.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneApplySourceColumns.java
@@ -19,12 +19,12 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.ApplyNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import com.google.common.collect.ImmutableList;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneCopyToColumns.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneCopyToColumns.java
index d6f4cfb991e..c5907a11412 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneCopyToColumns.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneCopyToColumns.java
@@ -19,10 +19,10 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.CopyToNode;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import com.google.common.collect.ImmutableSet;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneCorrelatedJoinCorrelation.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneCorrelatedJoinCorrelation.java
index eed7cf2d414..5583e6be950 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneCorrelatedJoinCorrelation.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneCorrelatedJoinCorrelation.java
@@ -19,11 +19,11 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.CorrelatedJoinNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import java.util.List;
import java.util.Set;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneDistinctAggregation.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneDistinctAggregation.java
index ca530546f4b..f1e67b1fd83 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneDistinctAggregation.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneDistinctAggregation.java
@@ -19,6 +19,8 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.AggregationNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.ExceptNode;
@@ -27,8 +29,6 @@ import org.apache.iotdb.db.node_commons.plan.relational.planner.node.UnionNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanVisitor;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Lookup;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import com.google.common.collect.ImmutableList;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneExceptSourceColumns.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneExceptSourceColumns.java
index 5e482ec8aee..5d8edb0eddc 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneExceptSourceColumns.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneExceptSourceColumns.java
@@ -19,12 +19,12 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.ExceptNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import com.google.common.collect.ImmutableSet;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneExplainAnalyzeColumns.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneExplainAnalyzeColumns.java
index 697c1a55a8d..0bf718b5b85 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneExplainAnalyzeColumns.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneExplainAnalyzeColumns.java
@@ -19,10 +19,10 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.ExplainAnalyzeNode;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import com.google.common.collect.ImmutableSet;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneIntersectSourceColumns.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneIntersectSourceColumns.java
index 517ae1366d6..f888acd0dcc 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneIntersectSourceColumns.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneIntersectSourceColumns.java
@@ -19,12 +19,12 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.IntersectNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import com.google.common.collect.ImmutableSet;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneJoinChildrenColumns.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneJoinChildrenColumns.java
index f097b70e9dd..2e6dc98192d 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneJoinChildrenColumns.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneJoinChildrenColumns.java
@@ -18,12 +18,12 @@
*/
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.JoinNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.SymbolsExtractor;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import com.google.common.collect.ImmutableSet;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneOutputSourceColumns.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneOutputSourceColumns.java
index 3c931b2fbee..3d7f13b495d 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneOutputSourceColumns.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneOutputSourceColumns.java
@@ -19,10 +19,10 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.OutputNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import com.google.common.collect.ImmutableSet;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PrunePatternRecognitionSourceColumns.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PrunePatternRecognitionSourceColumns.java
index fac70eea82c..d17c209a64c 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PrunePatternRecognitionSourceColumns.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PrunePatternRecognitionSourceColumns.java
@@ -19,13 +19,13 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.Measure;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.PatternRecognitionNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.rowpattern.rowpattern.ExpressionAndValuePointers;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import com.google.common.collect.ImmutableSet;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneTableFunctionProcessorSourceColumns.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneTableFunctionProcessorSourceColumns.java
index ed72c555d75..80fac73327b 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneTableFunctionProcessorSourceColumns.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneTableFunctionProcessorSourceColumns.java
@@ -19,12 +19,12 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.TableFunctionNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.TableFunctionProcessorNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import com.google.common.collect.ImmutableSet;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneUnionSourceColumns.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneUnionSourceColumns.java
index 0bfa98190cb..b54236c53e3 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneUnionSourceColumns.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneUnionSourceColumns.java
@@ -19,11 +19,11 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.UnionNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import com.google.common.collect.ImmutableSet;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PushDownFilterIntoWindow.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PushDownFilterIntoWindow.java
index bd88893e965..5013d87b0ce 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PushDownFilterIntoWindow.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PushDownFilterIntoWindow.java
@@ -19,6 +19,9 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.FilterNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.TopKRankingNode;
@@ -30,9 +33,6 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Literal;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SymbolReference;
import org.apache.iotdb.db.queryengine.plan.relational.planner.PlannerContext;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import com.google.common.collect.ImmutableList;
@@ -42,11 +42,11 @@ import java.util.OptionalInt;
import static com.google.common.collect.Iterables.getOnlyElement;
import static java.lang.Math.toIntExact;
import static java.util.Objects.requireNonNull;
+import static org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture.newCapture;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule.Util.toTopNRankingType;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.filter;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.source;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.window;
-import static org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture.newCapture;
public class PushDownFilterIntoWindow implements Rule<FilterNode> {
private static final Capture<WindowNode> childCapture = newCapture();
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PushDownLimitIntoWindow.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PushDownLimitIntoWindow.java
index ae68b5d630a..b3327561eda 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PushDownLimitIntoWindow.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PushDownLimitIntoWindow.java
@@ -19,14 +19,14 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.common.SessionInfo;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.LimitNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.TopKRankingNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.WindowNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import com.google.common.collect.ImmutableList;
@@ -34,13 +34,13 @@ import java.util.Optional;
import static com.google.common.collect.Iterables.getOnlyElement;
import static java.lang.Math.toIntExact;
+import static org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture.newCapture;
import static org.apache.iotdb.db.node_commons.plan.relational.planner.node.TopKRankingNode.RankingType.ROW_NUMBER;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule.Util.toTopNRankingType;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.ChildReplacer.replaceChildren;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.limit;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.source;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.window;
-import static org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture.newCapture;
public class PushDownLimitIntoWindow implements Rule<LimitNode> {
private static final Capture<WindowNode> childCapture = newCapture();
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PushDownOffsetIntoTableScan.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PushDownOffsetIntoTableScan.java
index 69e24ee2265..2ff071f8841 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PushDownOffsetIntoTableScan.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PushDownOffsetIntoTableScan.java
@@ -19,20 +19,20 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.OffsetNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.AggregationTableScanNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.DeviceTableScanNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.InformationSchemaTableScanNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.TableScanNode;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
+import static org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture.newCapture;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.offset;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.source;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.tableScan;
-import static org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture.newCapture;
/**
* <b>Optimization phase:</b> Distributed plan planning.
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PushLimitThroughOffset.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PushLimitThroughOffset.java
index f5fa14df40b..ab36f532141 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PushLimitThroughOffset.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PushLimitThroughOffset.java
@@ -19,20 +19,20 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.LimitNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.OffsetNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import com.google.common.collect.ImmutableList;
import static java.lang.Math.addExact;
+import static org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture.newCapture;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.limit;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.offset;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.source;
-import static org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture.newCapture;
/**
* Transforms:
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PushLimitThroughProject.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PushLimitThroughProject.java
index 32cf9da7747..3d33b97ae6c 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PushLimitThroughProject.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PushLimitThroughProject.java
@@ -18,20 +18,20 @@
*/
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.LimitNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.ProjectNode;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
+import static org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture.newCapture;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule.Util.transpose;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.limit;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.project;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.source;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.optimizations.PushPredicateIntoTableScan.containsDiffFunction;
-import static org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture.newCapture;
public class PushLimitThroughProject implements Rule<LimitNode> {
private static final Capture<ProjectNode> CHILD = newCapture();
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PushLimitThroughUnion.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PushLimitThroughUnion.java
index 31d8fb49d47..839214eb7bf 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PushLimitThroughUnion.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PushLimitThroughUnion.java
@@ -19,24 +19,24 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.LimitNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.UnionNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import com.google.common.collect.ImmutableList;
import java.util.Optional;
+import static org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture.newCapture;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.Limit.requiresPreSortedInputs;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.limit;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.source;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.union;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.optimizations.QueryCardinalityUtil.isAtMost;
-import static org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture.newCapture;
/**
* Transforms:
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PushProjectionThroughUnion.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PushProjectionThroughUnion.java
index b62b41dd1d4..a3fdcab055d 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PushProjectionThroughUnion.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PushProjectionThroughUnion.java
@@ -19,6 +19,9 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Assignments;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
@@ -27,9 +30,6 @@ import org.apache.iotdb.db.node_commons.plan.relational.planner.node.UnionNode;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SymbolReference;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableListMultimap;
@@ -39,11 +39,11 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import static org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture.newCapture;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.ExpressionSymbolInliner.inlineSymbols;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.project;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.source;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.union;
-import static org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture.newCapture;
public class PushProjectionThroughUnion implements Rule<ProjectNode> {
private static final Capture<UnionNode> CHILD = newCapture();
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PushTopKThroughUnion.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PushTopKThroughUnion.java
index 193a58d1cdb..456dda2c750 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PushTopKThroughUnion.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PushTopKThroughUnion.java
@@ -19,15 +19,15 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.TopKNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.UnionNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
import org.apache.iotdb.db.queryengine.plan.relational.planner.optimizations.SymbolMapper;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
@@ -37,11 +37,11 @@ import java.util.Set;
import static com.google.common.collect.Iterables.getLast;
import static com.google.common.collect.Sets.intersection;
+import static org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture.newCapture;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.source;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.topK;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.union;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.optimizations.QueryCardinalityUtil.isAtMost;
-import static org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture.newCapture;
public class PushTopKThroughUnion implements Rule<TopKNode> {
private static final Capture<UnionNode> CHILD = newCapture();
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/RemoveEmptyExceptBranches.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/RemoveEmptyExceptBranches.java
index 98130b3cc15..86c76a0721e 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/RemoveEmptyExceptBranches.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/RemoveEmptyExceptBranches.java
@@ -19,6 +19,8 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Assignments;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
@@ -27,8 +29,6 @@ import org.apache.iotdb.db.node_commons.plan.relational.planner.node.ProjectNode
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Lookup;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableListMultimap;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/RemoveEmptyUnionBranches.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/RemoveEmptyUnionBranches.java
index 7e225161c79..e019c67fc2f 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/RemoveEmptyUnionBranches.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/RemoveEmptyUnionBranches.java
@@ -19,14 +19,14 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Assignments;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.ProjectNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.UnionNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableListMultimap;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/RemoveRedundantEnforceSingleRowNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/RemoveRedundantEnforceSingleRowNode.java
index 5ab98cc57dd..10e4a6ad300 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/RemoveRedundantEnforceSingleRowNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/RemoveRedundantEnforceSingleRowNode.java
@@ -19,10 +19,10 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.EnforceSingleRowNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.enforceSingleRow;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.optimizations.QueryCardinalityUtil.isScalar;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/RemoveRedundantExists.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/RemoveRedundantExists.java
index cf472382402..2d9093a4675 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/RemoveRedundantExists.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/RemoveRedundantExists.java
@@ -19,6 +19,8 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Assignments;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.ApplyNode;
@@ -26,8 +28,6 @@ import org.apache.iotdb.db.node_commons.plan.relational.planner.node.ProjectNode
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
import org.apache.iotdb.db.queryengine.plan.relational.planner.optimizations.Cardinality;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.BooleanLiteral.FALSE_LITERAL;
import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.BooleanLiteral.TRUE_LITERAL;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/RemoveRedundantIdentityProjections.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/RemoveRedundantIdentityProjections.java
index a55f2ecd608..a8fa2b2ffa3 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/RemoveRedundantIdentityProjections.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/RemoveRedundantIdentityProjections.java
@@ -19,10 +19,10 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.ProjectNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import com.google.common.collect.ImmutableSet;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/RemoveRedundantWindow.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/RemoveRedundantWindow.java
index fbe4f3e6515..f57b734319e 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/RemoveRedundantWindow.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/RemoveRedundantWindow.java
@@ -19,11 +19,11 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.ValuesNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.WindowNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import com.google.common.collect.ImmutableList;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/RemoveTrivialFilters.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/RemoveTrivialFilters.java
index b720724378f..d935b5ec229 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/RemoveTrivialFilters.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/RemoveTrivialFilters.java
@@ -19,12 +19,12 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.FilterNode;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.NullLiteral;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import static com.google.common.base.Preconditions.checkArgument;
import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.BooleanLiteral.TRUE_LITERAL;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/RemoveUnreferencedScalarApplyNodes.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/RemoveUnreferencedScalarApplyNodes.java
index c8b3c2f1926..48a73b8e953 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/RemoveUnreferencedScalarApplyNodes.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/RemoveUnreferencedScalarApplyNodes.java
@@ -19,10 +19,10 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.ApplyNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.applyNode;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/RemoveUnreferencedScalarSubqueries.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/RemoveUnreferencedScalarSubqueries.java
index d5983ac2a49..bc446b0750f 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/RemoveUnreferencedScalarSubqueries.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/RemoveUnreferencedScalarSubqueries.java
@@ -19,12 +19,12 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.CorrelatedJoinNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Lookup;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import static org.apache.iotdb.db.node_commons.plan.relational.planner.node.JoinNode.JoinType.INNER;
import static org.apache.iotdb.db.node_commons.plan.relational.planner.node.JoinNode.JoinType.RIGHT;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/ReplaceWindowWithRowNumber.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/ReplaceWindowWithRowNumber.java
index 5469f4d29c4..a11e4d89f41 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/ReplaceWindowWithRowNumber.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/ReplaceWindowWithRowNumber.java
@@ -19,13 +19,13 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.relational.function.BoundSignature;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.RowNumberNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.WindowNode;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.Metadata;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import java.util.Optional;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/SimplifyCountOverConstant.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/SimplifyCountOverConstant.java
index b6f66f5afa6..3d8a472f683 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/SimplifyCountOverConstant.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/SimplifyCountOverConstant.java
@@ -19,6 +19,9 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.relational.function.BoundSignature;
import org.apache.iotdb.db.node_commons.plan.relational.function.FunctionId;
import org.apache.iotdb.db.node_commons.plan.relational.metadata.ResolvedFunction;
@@ -30,9 +33,6 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SymbolReference;
import org.apache.iotdb.db.queryengine.plan.relational.planner.PlannerContext;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import com.google.common.collect.ImmutableList;
import org.apache.tsfile.read.common.type.LongType;
@@ -44,6 +44,7 @@ import java.util.Optional;
import static com.google.common.base.Verify.verify;
import static java.util.Objects.requireNonNull;
+import static org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture.newCapture;
import static org.apache.iotdb.db.node_commons.plan.relational.function.FunctionKind.AGGREGATE;
import static org.apache.iotdb.db.node_commons.plan.relational.metadata.FunctionNullability.getAggregationFunctionNullability;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.IrExpressionInterpreter.evaluateConstantExpression;
@@ -51,7 +52,6 @@ import static org.apache.iotdb.db.queryengine.plan.relational.planner.ir.IrUtils
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.aggregation;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.project;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.source;
-import static org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture.newCapture;
import static org.apache.iotdb.db.utils.constant.SqlConstant.COUNT;
public class SimplifyCountOverConstant implements Rule<AggregationNode> {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/SingleDistinctAggregationToGroupBy.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/SingleDistinctAggregationToGroupBy.java
index 25bc4b28b2c..09972c88a84 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/SingleDistinctAggregationToGroupBy.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/SingleDistinctAggregationToGroupBy.java
@@ -19,12 +19,12 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.AggregationNode;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformCorrelatedDistinctAggregationWithProjection.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformCorrelatedDistinctAggregationWithProjection.java
index 578bf290bb9..7758f2ea09c 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformCorrelatedDistinctAggregationWithProjection.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformCorrelatedDistinctAggregationWithProjection.java
@@ -19,6 +19,9 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Assignments;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
@@ -31,9 +34,6 @@ import org.apache.iotdb.db.queryengine.plan.relational.planner.PlannerContext;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns;
import org.apache.iotdb.db.queryengine.plan.relational.planner.optimizations.PlanNodeDecorrelator;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import com.google.common.collect.ImmutableList;
import org.apache.tsfile.read.common.type.LongType;
@@ -45,6 +45,8 @@ import java.util.Set;
import static com.google.common.collect.ImmutableList.toImmutableList;
import static java.util.Objects.requireNonNull;
+import static org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture.newCapture;
+import static org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern.nonEmpty;
import static org.apache.iotdb.db.node_commons.plan.relational.planner.node.AggregationNode.singleGroupingSet;
import static org.apache.iotdb.db.node_commons.plan.relational.planner.node.JoinNode.JoinType.LEFT;
import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.BooleanLiteral.TRUE_LITERAL;
@@ -55,8 +57,6 @@ import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patte
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.correlatedJoin;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.project;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.source;
-import static org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture.newCapture;
-import static org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern.nonEmpty;
/**
* This rule decorrelates a correlated subquery of LEFT correlated join with distinct operator
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformCorrelatedDistinctAggregationWithoutProjection.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformCorrelatedDistinctAggregationWithoutProjection.java
index b792610ece0..dde53b35221 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformCorrelatedDistinctAggregationWithoutProjection.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformCorrelatedDistinctAggregationWithoutProjection.java
@@ -19,6 +19,9 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.AggregationNode;
@@ -29,9 +32,6 @@ import org.apache.iotdb.db.queryengine.plan.relational.planner.PlannerContext;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns;
import org.apache.iotdb.db.queryengine.plan.relational.planner.optimizations.PlanNodeDecorrelator;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
@@ -40,6 +40,8 @@ import org.apache.tsfile.read.common.type.BooleanType;
import java.util.Optional;
import static java.util.Objects.requireNonNull;
+import static org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture.newCapture;
+import static org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern.nonEmpty;
import static org.apache.iotdb.db.node_commons.plan.relational.planner.node.AggregationNode.singleGroupingSet;
import static org.apache.iotdb.db.node_commons.plan.relational.planner.node.JoinNode.JoinType.LEFT;
import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.BooleanLiteral.TRUE_LITERAL;
@@ -49,8 +51,6 @@ import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patte
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.CorrelatedJoin.type;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.aggregation;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.correlatedJoin;
-import static org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture.newCapture;
-import static org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern.nonEmpty;
/**
* This rule decorrelates a correlated subquery of LEFT correlated join with distinct operator
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformCorrelatedGlobalAggregationWithProjection.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformCorrelatedGlobalAggregationWithProjection.java
index 3d40d67fd2d..561959365b8 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformCorrelatedGlobalAggregationWithProjection.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformCorrelatedGlobalAggregationWithProjection.java
@@ -19,6 +19,9 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Assignments;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
@@ -32,9 +35,6 @@ import org.apache.iotdb.db.queryengine.plan.relational.planner.PlannerContext;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns;
import org.apache.iotdb.db.queryengine.plan.relational.planner.optimizations.PlanNodeDecorrelator;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
@@ -50,6 +50,9 @@ import java.util.Set;
import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.collect.ImmutableList.toImmutableList;
import static java.util.Objects.requireNonNull;
+import static org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture.newCapture;
+import static org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern.empty;
+import static org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern.nonEmpty;
import static org.apache.iotdb.db.node_commons.plan.relational.planner.node.AggregationNode.singleGroupingSet;
import static org.apache.iotdb.db.node_commons.plan.relational.planner.node.JoinNode.JoinType.INNER;
import static org.apache.iotdb.db.node_commons.plan.relational.planner.node.JoinNode.JoinType.LEFT;
@@ -65,9 +68,6 @@ import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patte
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.correlatedJoin;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.project;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.source;
-import static org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture.newCapture;
-import static org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern.empty;
-import static org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern.nonEmpty;
/**
* This rule decorrelates a correlated subquery of LEFT or INNER correlated join with: - single
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformCorrelatedGlobalAggregationWithoutProjection.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformCorrelatedGlobalAggregationWithoutProjection.java
index 8a61487f6b5..cc2ccbc8fb8 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformCorrelatedGlobalAggregationWithoutProjection.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformCorrelatedGlobalAggregationWithoutProjection.java
@@ -19,6 +19,9 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Assignments;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
@@ -32,9 +35,6 @@ import org.apache.iotdb.db.queryengine.plan.relational.planner.PlannerContext;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns;
import org.apache.iotdb.db.queryengine.plan.relational.planner.optimizations.PlanNodeDecorrelator;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
@@ -47,6 +47,9 @@ import java.util.Optional;
import static com.google.common.base.Preconditions.checkArgument;
import static java.util.Objects.requireNonNull;
+import static org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture.newCapture;
+import static org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern.empty;
+import static org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern.nonEmpty;
import static org.apache.iotdb.db.node_commons.plan.relational.planner.node.AggregationNode.singleGroupingSet;
import static org.apache.iotdb.db.node_commons.plan.relational.planner.node.JoinNode.JoinType.INNER;
import static org.apache.iotdb.db.node_commons.plan.relational.planner.node.JoinNode.JoinType.LEFT;
@@ -62,9 +65,6 @@ import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patte
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.aggregation;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.correlatedJoin;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.source;
-import static org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture.newCapture;
-import static org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern.empty;
-import static org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern.nonEmpty;
/**
* This rule decorrelates a correlated subquery with: - single global aggregation, or - global
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformCorrelatedGroupedAggregationWithProjection.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformCorrelatedGroupedAggregationWithProjection.java
index ec06d7c3695..0e74e81e640 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformCorrelatedGroupedAggregationWithProjection.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformCorrelatedGroupedAggregationWithProjection.java
@@ -19,6 +19,9 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Assignments;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
@@ -31,9 +34,6 @@ import org.apache.iotdb.db.queryengine.plan.relational.planner.PlannerContext;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns;
import org.apache.iotdb.db.queryengine.plan.relational.planner.optimizations.PlanNodeDecorrelator;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import com.google.common.collect.ImmutableList;
import org.apache.tsfile.read.common.type.BooleanType;
@@ -45,6 +45,8 @@ import java.util.Set;
import static com.google.common.collect.ImmutableList.toImmutableList;
import static java.util.Objects.requireNonNull;
+import static org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture.newCapture;
+import static org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern.nonEmpty;
import static org.apache.iotdb.db.node_commons.plan.relational.planner.node.AggregationNode.singleGroupingSet;
import static org.apache.iotdb.db.node_commons.plan.relational.planner.node.JoinNode.JoinType.INNER;
import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.BooleanLiteral.TRUE_LITERAL;
@@ -58,8 +60,6 @@ import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patte
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.correlatedJoin;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.project;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.source;
-import static org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture.newCapture;
-import static org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern.nonEmpty;
/**
* This rule decorrelates a correlated subquery of INNER correlated join with: - single grouped
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformCorrelatedGroupedAggregationWithoutProjection.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformCorrelatedGroupedAggregationWithoutProjection.java
index f2808d333bd..836b51ab019 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformCorrelatedGroupedAggregationWithoutProjection.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformCorrelatedGroupedAggregationWithoutProjection.java
@@ -19,6 +19,9 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.AggregationNode;
@@ -29,9 +32,6 @@ import org.apache.iotdb.db.queryengine.plan.relational.planner.PlannerContext;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns;
import org.apache.iotdb.db.queryengine.plan.relational.planner.optimizations.PlanNodeDecorrelator;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
@@ -40,6 +40,8 @@ import org.apache.tsfile.read.common.type.BooleanType;
import java.util.Optional;
import static java.util.Objects.requireNonNull;
+import static org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture.newCapture;
+import static org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern.nonEmpty;
import static org.apache.iotdb.db.node_commons.plan.relational.planner.node.AggregationNode.singleGroupingSet;
import static org.apache.iotdb.db.node_commons.plan.relational.planner.node.JoinNode.JoinType.INNER;
import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.BooleanLiteral.TRUE_LITERAL;
@@ -53,8 +55,6 @@ import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patte
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.aggregation;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.correlatedJoin;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.source;
-import static org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture.newCapture;
-import static org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern.nonEmpty;
/**
* This rule decorrelates a correlated subquery of INNER correlated join with: - single grouped
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformCorrelatedJoinToJoin.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformCorrelatedJoinToJoin.java
index 8fe8d2b356f..a05f3853c4d 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformCorrelatedJoinToJoin.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformCorrelatedJoinToJoin.java
@@ -19,6 +19,8 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.CorrelatedJoinNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.JoinNode;
@@ -26,8 +28,6 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
import org.apache.iotdb.db.queryengine.plan.relational.planner.PlannerContext;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
import org.apache.iotdb.db.queryengine.plan.relational.planner.optimizations.PlanNodeDecorrelator;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import com.google.common.collect.ImmutableList;
@@ -35,13 +35,13 @@ import java.util.Optional;
import static com.google.common.base.Preconditions.checkArgument;
import static java.util.Objects.requireNonNull;
+import static org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern.nonEmpty;
import static org.apache.iotdb.db.node_commons.plan.relational.planner.node.JoinNode.JoinType.INNER;
import static org.apache.iotdb.db.node_commons.plan.relational.planner.node.JoinNode.JoinType.LEFT;
import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.BooleanLiteral.TRUE_LITERAL;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.ir.IrUtils.combineConjuncts;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.CorrelatedJoin.correlation;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.correlatedJoin;
-import static org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern.nonEmpty;
/**
* Tries to decorrelate subquery and rewrite it using normal join. Decorrelated predicates are part
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformCorrelatedScalarSubquery.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformCorrelatedScalarSubquery.java
index 89ed4ac2ec8..c50a21e4bb3 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformCorrelatedScalarSubquery.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformCorrelatedScalarSubquery.java
@@ -19,6 +19,8 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Assignments;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
@@ -37,8 +39,6 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.WhenClause;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.Metadata;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
import org.apache.iotdb.db.queryengine.plan.relational.planner.optimizations.Cardinality;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import com.google.common.collect.ImmutableList;
@@ -46,6 +46,7 @@ import java.util.Optional;
import static com.google.common.base.Preconditions.checkArgument;
import static java.util.Objects.requireNonNull;
+import static org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern.nonEmpty;
import static org.apache.iotdb.db.calc_commons.transformation.dag.column.FailFunctionColumnTransformer.FAIL_FUNCTION_NAME;
import static org.apache.iotdb.db.node_commons.plan.relational.planner.node.JoinNode.JoinType.INNER;
import static org.apache.iotdb.db.node_commons.plan.relational.planner.node.JoinNode.JoinType.LEFT;
@@ -56,7 +57,6 @@ import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patte
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.CorrelatedJoin.filter;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.correlatedJoin;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.optimizations.QueryCardinalityUtil.extractCardinality;
-import static org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern.nonEmpty;
import static org.apache.tsfile.read.common.type.BooleanType.BOOLEAN;
import static org.apache.tsfile.read.common.type.LongType.INT64;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformExistsApplyToCorrelatedJoin.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformExistsApplyToCorrelatedJoin.java
index 22b3b695569..e505727e957 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformExistsApplyToCorrelatedJoin.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformExistsApplyToCorrelatedJoin.java
@@ -19,6 +19,8 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
import org.apache.iotdb.db.node_commons.plan.relational.metadata.ResolvedFunction;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Assignments;
@@ -36,8 +38,6 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.LongLiteral;
import org.apache.iotdb.db.queryengine.plan.relational.planner.PlannerContext;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
import org.apache.iotdb.db.queryengine.plan.relational.planner.optimizations.PlanNodeDecorrelator;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformFilteringSemiJoinToInnerJoin.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformFilteringSemiJoinToInnerJoin.java
index 7396c03b284..18e099a6768 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformFilteringSemiJoinToInnerJoin.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformFilteringSemiJoinToInnerJoin.java
@@ -19,6 +19,9 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Assignments;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
@@ -28,9 +31,6 @@ import org.apache.iotdb.db.node_commons.plan.relational.planner.node.ProjectNode
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.SemiJoinNode;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
@@ -40,6 +40,7 @@ import java.util.Optional;
import java.util.function.Predicate;
import static com.google.common.collect.ImmutableList.toImmutableList;
+import static org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Capture.newCapture;
import static org.apache.iotdb.db.node_commons.plan.relational.planner.node.AggregationNode.singleAggregation;
import static org.apache.iotdb.db.node_commons.plan.relational.planner.node.AggregationNode.singleGroupingSet;
import static org.apache.iotdb.db.node_commons.plan.relational.planner.node.JoinNode.JoinType.INNER;
@@ -50,7 +51,6 @@ import static org.apache.iotdb.db.queryengine.plan.relational.planner.ir.IrUtils
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.filter;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.semiJoin;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.source;
-import static org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Capture.newCapture;
/**
* Rewrite filtering semi-join to inner join.
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformUncorrelatedInPredicateSubqueryToSemiJoin.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformUncorrelatedInPredicateSubqueryToSemiJoin.java
index 02bb7450bbd..431cfefdb53 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformUncorrelatedInPredicateSubqueryToSemiJoin.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformUncorrelatedInPredicateSubqueryToSemiJoin.java
@@ -19,17 +19,17 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.ApplyNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.SemiJoinNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import static com.google.common.collect.Iterables.getOnlyElement;
+import static org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern.empty;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.Apply.correlation;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.applyNode;
-import static org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern.empty;
/**
* This optimizers looks for InPredicate expressions in ApplyNodes and replaces the nodes with
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformUncorrelatedSubqueryToJoin.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformUncorrelatedSubqueryToJoin.java
index 268d212544e..67d153e6637 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformUncorrelatedSubqueryToJoin.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformUncorrelatedSubqueryToJoin.java
@@ -19,6 +19,8 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Captures;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Assignments;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.CorrelatedJoinNode;
@@ -30,8 +32,6 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IfExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.NullLiteral;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Lookup;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
@@ -41,12 +41,12 @@ import org.apache.tsfile.read.common.type.Type;
import java.util.Optional;
import static com.google.common.base.Preconditions.checkState;
+import static org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern.empty;
import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.BooleanLiteral.TRUE_LITERAL;
import static org.apache.iotdb.db.node_commons.plan.relational.type.TypeSignatureTranslator.toSqlType;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.CorrelatedJoin.correlation;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns.correlatedJoin;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.optimizations.QueryCardinalityUtil.extractCardinality;
-import static org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern.empty;
public class TransformUncorrelatedSubqueryToJoin implements Rule<CorrelatedJoinNode> {
private static final Pattern<CorrelatedJoinNode> PATTERN =
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/Patterns.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/Patterns.java
index 0a210a46269..5002bfd4430 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/Patterns.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/Patterns.java
@@ -19,6 +19,8 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.node;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern;
+import org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Property;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.AggregationNode;
@@ -52,17 +54,15 @@ import org.apache.iotdb.db.node_commons.plan.relational.planner.node.UnionNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.WindowNode;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Lookup;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
-import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Property;
import java.util.List;
import java.util.Optional;
import static com.google.common.collect.ImmutableList.toImmutableList;
import static com.google.common.collect.Iterables.getOnlyElement;
-import static org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern.typeOf;
-import static org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Property.optionalProperty;
-import static org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Property.property;
+import static org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Pattern.typeOf;
+import static org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Property.optionalProperty;
+import static org.apache.iotdb.db.calc_commons.plan.relational.utils.matching.Property.property;
public final class Patterns {
private Patterns() {}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/AstVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/AstVisitor.java
index e379797c3b2..9f7dd6e1929 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/AstVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/AstVisitor.java
@@ -55,30 +55,10 @@ public abstract class AstVisitor<R, C> extends CommonQueryAstVisitor<R, C> {
return visitStatement(node, context);
}
- protected R visitWith(With node, C context) {
- return visitNode(node, context);
- }
-
- protected R visitWithQuery(WithQuery node, C context) {
- return visitNode(node, context);
- }
-
protected R visitSelect(Select node, C context) {
return visitNode(node, context);
}
- protected R visitFill(Fill node, C context) {
- return visitNode(node, context);
- }
-
- protected R visitOffset(Offset node, C context) {
- return visitNode(node, context);
- }
-
- protected R visitLimit(Limit node, C context) {
- return visitNode(node, context);
- }
-
protected R visitQuerySpecification(QuerySpecification node, C context) {
return visitQueryBody(node, context);
}
@@ -99,10 +79,6 @@ public abstract class AstVisitor<R, C> extends CommonQueryAstVisitor<R, C> {
return visitSetOperation(node, context);
}
- protected R visitProcessingMode(ProcessingMode node, C context) {
- return visitNode(node, context);
- }
-
protected R visitWindowDefinition(WindowDefinition node, C context) {
return visitNode(node, context);
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/DefaultTraversalVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/DefaultTraversalVisitor.java
index 1eda04568f2..18e44a31e36 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/DefaultTraversalVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/DefaultTraversalVisitor.java
@@ -31,6 +31,7 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.DereferenceExpre
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.ExistsPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Extract;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Fill;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.FunctionCall;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.GroupBy;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.GroupingElement;
@@ -42,10 +43,12 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IsNotNullPredica
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IsNullPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Join;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.LikePredicate;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Limit;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.LogicalExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Node;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.NotExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.NullIfExpression;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Offset;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.OrderBy;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.QuantifiedComparisonExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Query;
@@ -62,6 +65,8 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.TableSubquery;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Trim;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Values;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.WhenClause;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.With;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.WithQuery;
public abstract class DefaultTraversalVisitor<C> extends AstVisitor<Void, C> {
@Override
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/QuerySpecification.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/QuerySpecification.java
index eedccd37674..e893c3990f0 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/QuerySpecification.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/QuerySpecification.java
@@ -21,10 +21,12 @@ package org.apache.iotdb.db.queryengine.plan.relational.sql.ast;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.AstMemoryEstimationHelper;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Fill;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.GroupBy;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IAstVisitor;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Node;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.NodeLocation;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Offset;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.OrderBy;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.QueryBody;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Relation;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ShowDevice.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ShowDevice.java
index ea7bf10ebf5..2e46c31c7ca 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ShowDevice.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ShowDevice.java
@@ -27,6 +27,7 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IAstVisitor;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Node;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.NodeLocation;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Offset;
import org.apache.iotdb.db.queryengine.common.header.DatasetHeader;
import org.apache.iotdb.db.queryengine.execution.operator.schema.source.TableDeviceQuerySource;
import org.apache.iotdb.db.queryengine.plan.relational.analyzer.Analysis;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ShowExternalService.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ShowExternalService.java
index 0cee6ce6638..357893cf31b 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ShowExternalService.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ShowExternalService.java
@@ -23,6 +23,7 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IAstVisitor;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Node;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.NodeLocation;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Offset;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.OrderBy;
import java.util.Optional;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ShowQueriesStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ShowQueriesStatement.java
index 78dfc6e6dfe..234dbbded73 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ShowQueriesStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ShowQueriesStatement.java
@@ -23,6 +23,7 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IAstVisitor;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Node;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.NodeLocation;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Offset;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.OrderBy;
import java.util.Optional;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ShowStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ShowStatement.java
index 585ef9b1225..f9ae38f436d 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ShowStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ShowStatement.java
@@ -24,6 +24,7 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IAstVisitor;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Node;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.NodeLocation;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Offset;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.OrderBy;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Statement;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/parser/AstBuilder.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/parser/AstBuilder.java
index a3b4f708dea..411439e2747 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/parser/AstBuilder.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/parser/AstBuilder.java
@@ -57,6 +57,7 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.DoubleLiteral;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.ExistsPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Extract;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Fill;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.FrameBound;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.FunctionCall;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.GenericDataType;
@@ -72,6 +73,7 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IsNullPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Join;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.JoinCriteria;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.LikePredicate;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Limit;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Literal;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.LogicalExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.LongLiteral;
@@ -81,8 +83,10 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.NotExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.NullIfExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.NullLiteral;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.NumericParameter;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Offset;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.OrderBy;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Parameter;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.ProcessingMode;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.QualifiedName;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.QuantifiedComparisonExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Query;
@@ -108,6 +112,9 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Window;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.WindowFrame;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.WindowReference;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.WindowSpecification;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.With;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.WithQuery;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.parser.ParsingException;
import org.apache.iotdb.db.protocol.session.IClientSession;
import org.apache.iotdb.db.queryengine.execution.operator.process.copyto.CopyToOptions;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.AddColumn;
@@ -153,7 +160,6 @@ import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.ExecuteImmediate;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Explain;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.ExplainAnalyze;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.ExtendRegion;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Fill;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Flush;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Insert;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.InsertRows;
@@ -161,14 +167,12 @@ import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Intersect;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.JoinOn;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.JoinUsing;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.KillQuery;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Limit;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.LoadConfiguration;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.LoadModel;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.LoadTsFile;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.MeasureDefinition;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.MigrateRegion;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.NaturalJoin;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Offset;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.OneOrMoreQuantifier;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.PatternAlternation;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.PatternConcatenation;
@@ -178,7 +182,6 @@ import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.PatternRecognitio
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.PatternRecognitionRelation.RowsPerMatch;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.PatternVariable;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Prepare;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.ProcessingMode;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Property;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.QuantifiedPattern;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.QuerySpecification;
@@ -246,8 +249,6 @@ import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Use;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.VariableDefinition;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.ViewFieldDefinition;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WindowDefinition;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.With;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WithQuery;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.ZeroOrMoreQuantifier;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.ZeroOrOneQuantifier;
import org.apache.iotdb.db.queryengine.plan.relational.sql.util.AstUtil;
@@ -317,6 +318,8 @@ import static org.apache.iotdb.commons.udf.builtin.relational.TableBuiltinScalar
import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.GroupingSets.Type.CUBE;
import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.GroupingSets.Type.EXPLICIT;
import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.GroupingSets.Type.ROLLUP;
+import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.ProcessingMode.Mode.FINAL;
+import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.ProcessingMode.Mode.RUNNING;
import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.QualifiedName.mapIdentifier;
import static org.apache.iotdb.db.queryengine.plan.execution.config.TableConfigTaskVisitor.DATABASE_NOT_SPECIFIED;
import static org.apache.iotdb.db.queryengine.plan.parser.ASTVisitor.SERVICE_MANAGEMENT_NOT_SUPPORTED;
@@ -331,8 +334,6 @@ import static org.apache.iotdb.db.queryengine.plan.relational.sql.ast.PatternRec
import static org.apache.iotdb.db.queryengine.plan.relational.sql.ast.PatternRecognitionRelation.RowsPerMatch.ALL_SHOW_EMPTY;
import static org.apache.iotdb.db.queryengine.plan.relational.sql.ast.PatternRecognitionRelation.RowsPerMatch.ALL_WITH_UNMATCHED;
import static org.apache.iotdb.db.queryengine.plan.relational.sql.ast.PatternRecognitionRelation.RowsPerMatch.ONE;
-import static org.apache.iotdb.db.queryengine.plan.relational.sql.ast.ProcessingMode.Mode.FINAL;
-import static org.apache.iotdb.db.queryengine.plan.relational.sql.ast.ProcessingMode.Mode.RUNNING;
import static org.apache.iotdb.db.queryengine.plan.relational.sql.ast.SkipTo.skipPastLastRow;
import static org.apache.iotdb.db.queryengine.plan.relational.sql.ast.SkipTo.skipToFirst;
import static org.apache.iotdb.db.queryengine.plan.relational.sql.ast.SkipTo.skipToLast;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/parser/ErrorHandler.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/parser/ErrorHandler.java
index e663ac5bcf3..603378d034e 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/parser/ErrorHandler.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/parser/ErrorHandler.java
@@ -19,6 +19,8 @@
package org.apache.iotdb.db.queryengine.plan.relational.sql.parser;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.parser.ParsingException;
+
import com.google.common.collect.ImmutableSet;
import org.antlr.v4.runtime.BaseErrorListener;
import org.antlr.v4.runtime.NoViableAltException;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/parser/SqlParser.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/parser/SqlParser.java
index 62633ffbc1d..bf13ae1e871 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/parser/SqlParser.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/parser/SqlParser.java
@@ -25,6 +25,7 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Node;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.NodeLocation;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Statement;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.parser.ParsingException;
import org.apache.iotdb.db.protocol.session.IClientSession;
import org.apache.iotdb.db.relational.grammar.sql.RelationalSqlBaseListener;
import org.apache.iotdb.db.relational.grammar.sql.RelationalSqlLexer;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/util/QueryUtil.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/util/QueryUtil.java
index e3555bf5047..fd65156ff1e 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/util/QueryUtil.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/util/QueryUtil.java
@@ -24,11 +24,13 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.CoalesceExpressi
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.ComparisonExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.DereferenceExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Fill;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.FunctionCall;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.GroupBy;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Identifier;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.LogicalExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Node;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Offset;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.OrderBy;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.QualifiedName;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Query;
@@ -41,8 +43,6 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SortItem;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.StringLiteral;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.TableSubquery;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.WhenClause;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Fill;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Offset;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.QuerySpecification;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Select;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Table;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/util/ReservedIdentifiers.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/util/ReservedIdentifiers.java
index 41ae4dd125f..4e9108aacbe 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/util/ReservedIdentifiers.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/util/ReservedIdentifiers.java
@@ -20,7 +20,7 @@
package org.apache.iotdb.db.queryengine.plan.relational.sql.util;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Identifier;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.parser.ParsingException;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.parser.ParsingException;
import org.apache.iotdb.db.queryengine.plan.relational.sql.parser.SqlParser;
import java.time.ZoneId;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/util/SqlFormatter.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/util/SqlFormatter.java
index 16ac73ea4a7..c0bb282d348 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/util/SqlFormatter.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/util/SqlFormatter.java
@@ -22,10 +22,13 @@ package org.apache.iotdb.db.queryengine.plan.relational.sql.util;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.AliasedRelation;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.AllColumns;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Fill;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Identifier;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Join;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.JoinCriteria;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Limit;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Node;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Offset;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.OrderBy;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.QualifiedName;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Query;
@@ -35,7 +38,9 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SelectItem;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SingleColumn;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.TableSubquery;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Values;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.WithQuery;
import org.apache.iotdb.db.node_commons.plan.relational.sql.util.ExpressionFormatter;
+import org.apache.iotdb.db.node_commons.plan.statement.component.FillPolicy;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.AddColumn;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.AlterDB;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.AlterPipe;
@@ -61,15 +66,12 @@ import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.DropTopic;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Except;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Explain;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.ExplainAnalyze;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Fill;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Insert;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Intersect;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.JoinOn;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.JoinUsing;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Limit;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.LoadTsFile;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.NaturalJoin;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Offset;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.PatternRecognitionRelation;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Property;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.QuerySpecification;
@@ -104,8 +106,6 @@ import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.TableFunctionTabl
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Union;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Update;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.UpdateAssignment;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WithQuery;
-import org.apache.iotdb.db.queryengine.plan.statement.component.FillPolicy;
import com.google.common.base.Joiner;
import com.google.common.base.Strings;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/scheduler/ClusterScheduler.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/scheduler/ClusterScheduler.java
index f8d288d8e87..e1c6a2a227a 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/scheduler/ClusterScheduler.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/scheduler/ClusterScheduler.java
@@ -23,10 +23,10 @@ import org.apache.iotdb.common.rpc.thrift.TSStatus;
import org.apache.iotdb.commons.client.IClientManager;
import org.apache.iotdb.commons.client.async.AsyncDataNodeInternalServiceClient;
import org.apache.iotdb.commons.client.sync.SyncDataNodeInternalServiceClient;
+import org.apache.iotdb.db.calc_commons.metric.QueryExecutionMetricSet;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
import org.apache.iotdb.db.queryengine.execution.QueryStateMachine;
import org.apache.iotdb.db.queryengine.execution.fragment.FragmentInfo;
-import org.apache.iotdb.db.queryengine.metric.QueryExecutionMetricSet;
import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
import org.apache.iotdb.db.queryengine.plan.planner.plan.DistributedQueryPlan;
import org.apache.iotdb.db.queryengine.plan.planner.plan.FragmentInstance;
@@ -42,7 +42,7 @@ import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
import java.util.concurrent.ScheduledExecutorService;
-import static org.apache.iotdb.db.queryengine.metric.QueryExecutionMetricSet.WAIT_FOR_DISPATCH;
+import static org.apache.iotdb.db.calc_commons.metric.QueryExecutionMetricSet.WAIT_FOR_DISPATCH;
/**
* QueryScheduler is used to dispatch the fragment instances of a query to target nodes. And it will
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/scheduler/FragmentInstanceDispatcherImpl.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/scheduler/FragmentInstanceDispatcherImpl.java
index 2a8c6b320a0..de91f6da036 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/scheduler/FragmentInstanceDispatcherImpl.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/scheduler/FragmentInstanceDispatcherImpl.java
@@ -33,6 +33,7 @@ import org.apache.iotdb.commons.service.metric.PerformanceOverviewMetrics;
import org.apache.iotdb.commons.utils.RetryUtils;
import org.apache.iotdb.consensus.exception.ConsensusGroupNotExistException;
import org.apache.iotdb.consensus.exception.RatisReadUnavailableException;
+import org.apache.iotdb.db.calc_commons.metric.QueryExecutionMetricSet;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.exception.mpp.FragmentInstanceDispatchException;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
@@ -40,7 +41,6 @@ import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
import org.apache.iotdb.db.queryengine.execution.executor.RegionExecutionResult;
import org.apache.iotdb.db.queryengine.execution.executor.RegionReadExecutor;
import org.apache.iotdb.db.queryengine.execution.executor.RegionWriteExecutor;
-import org.apache.iotdb.db.queryengine.metric.QueryExecutionMetricSet;
import org.apache.iotdb.db.queryengine.plan.Coordinator;
import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
import org.apache.iotdb.db.queryengine.plan.planner.plan.FragmentInstance;
@@ -77,7 +77,7 @@ import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import static com.google.common.util.concurrent.Futures.immediateFuture;
-import static org.apache.iotdb.db.queryengine.metric.QueryExecutionMetricSet.DISPATCH_READ;
+import static org.apache.iotdb.db.calc_commons.metric.QueryExecutionMetricSet.DISPATCH_READ;
public class FragmentInstanceDispatcherImpl implements IFragInstanceDispatcher {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/component/FillComponent.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/component/FillComponent.java
index 9b59269136d..e8c387eb7fa 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/component/FillComponent.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/component/FillComponent.java
@@ -19,6 +19,7 @@
package org.apache.iotdb.db.queryengine.plan.statement.component;
+import org.apache.iotdb.db.node_commons.plan.statement.component.FillPolicy;
import org.apache.iotdb.db.queryengine.plan.statement.StatementNode;
import org.apache.iotdb.db.queryengine.plan.statement.literal.Literal;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/metrics/DataNodeMetricsHelper.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/metrics/DataNodeMetricsHelper.java
index 2a99261f57d..fd3d2dbcab4 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/metrics/DataNodeMetricsHelper.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/metrics/DataNodeMetricsHelper.java
@@ -29,13 +29,13 @@ import org.apache.iotdb.commons.service.metric.JvmGcMonitorMetrics;
import org.apache.iotdb.commons.service.metric.MetricService;
import org.apache.iotdb.commons.service.metric.PerformanceOverviewMetrics;
import org.apache.iotdb.commons.service.metric.cpu.CpuUsageMetrics;
+import org.apache.iotdb.db.calc_commons.metric.QueryExecutionMetricSet;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.pipe.metric.PipeDataNodeMetrics;
import org.apache.iotdb.db.protocol.thrift.handler.RPCServiceThriftHandlerMetrics;
import org.apache.iotdb.db.queryengine.metric.DataExchangeCostMetricSet;
import org.apache.iotdb.db.queryengine.metric.DataExchangeCountMetricSet;
import org.apache.iotdb.db.queryengine.metric.DriverSchedulerMetricSet;
-import org.apache.iotdb.db.queryengine.metric.QueryExecutionMetricSet;
import org.apache.iotdb.db.queryengine.metric.QueryPlanCostMetricSet;
import org.apache.iotdb.db.queryengine.metric.QueryRelatedResourceMetricSet;
import org.apache.iotdb.db.queryengine.metric.QueryResourceMetricSet;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/memtable/TsFileProcessor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/memtable/TsFileProcessor.java
index cab286aa48f..ff3be331de1 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/memtable/TsFileProcessor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/memtable/TsFileProcessor.java
@@ -29,6 +29,7 @@ import org.apache.iotdb.commons.path.IFullPath;
import org.apache.iotdb.commons.schema.table.column.TsTableColumnCategory;
import org.apache.iotdb.commons.utils.CommonDateTimeUtils;
import org.apache.iotdb.commons.utils.TestOnly;
+import org.apache.iotdb.db.calc_commons.metric.QueryExecutionMetricSet;
import org.apache.iotdb.db.conf.IoTDBConfig;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.exception.TsFileProcessorException;
@@ -39,7 +40,6 @@ import org.apache.iotdb.db.pipe.agent.PipeDataNodeAgent;
import org.apache.iotdb.db.pipe.source.dataregion.realtime.listener.PipeInsertionDataNodeListener;
import org.apache.iotdb.db.queryengine.common.DeviceContext;
import org.apache.iotdb.db.queryengine.execution.fragment.QueryContext;
-import org.apache.iotdb.db.queryengine.metric.QueryExecutionMetricSet;
import org.apache.iotdb.db.queryengine.metric.QueryResourceMetricSet;
import org.apache.iotdb.db.queryengine.plan.analyze.cache.schema.DataNodeTTLCache;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.write.DeleteDataNode;
@@ -117,7 +117,7 @@ import java.util.concurrent.locks.ReadWriteLock;
import java.util.concurrent.locks.ReentrantReadWriteLock;
import java.util.function.Function;
-import static org.apache.iotdb.db.queryengine.metric.QueryExecutionMetricSet.GET_QUERY_RESOURCE_FROM_MEM;
+import static org.apache.iotdb.db.calc_commons.metric.QueryExecutionMetricSet.GET_QUERY_RESOURCE_FROM_MEM;
import static org.apache.iotdb.db.queryengine.metric.QueryResourceMetricSet.FLUSHING_MEMTABLE;
import static org.apache.iotdb.db.queryengine.metric.QueryResourceMetricSet.WORKING_MEMTABLE;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/sort/TableDiskSpiller.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/sort/TableDiskSpiller.java
index da22b44999f..3ff756aa8ee 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/sort/TableDiskSpiller.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/sort/TableDiskSpiller.java
@@ -19,7 +19,7 @@
package org.apache.iotdb.db.utils.sort;
-import org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils;
+import org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils;
import org.apache.tsfile.block.column.ColumnBuilder;
import org.apache.tsfile.enums.TSDataType;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/AggregationMergeSortOperatorTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/AggregationMergeSortOperatorTest.java
index ee6293708f3..5cc287f6e42 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/AggregationMergeSortOperatorTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/AggregationMergeSortOperatorTest.java
@@ -42,7 +42,7 @@ import java.util.Comparator;
import java.util.List;
import java.util.Optional;
-import static org.apache.iotdb.db.queryengine.execution.operator.process.join.merge.MergeSortComparator.getComparator;
+import static org.apache.iotdb.db.queryengine.execution.operator.process.join.merge.MergeSortComparatorUtils.getComparator;
import static org.junit.Assert.assertEquals;
public class AggregationMergeSortOperatorTest {
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/MergeTreeSortOperatorTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/MergeTreeSortOperatorTest.java
index c52748ef58a..b73d6fbb05a 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/MergeTreeSortOperatorTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/MergeTreeSortOperatorTest.java
@@ -42,7 +42,7 @@ import org.apache.iotdb.db.queryengine.execution.operator.process.TreeSortOperat
import org.apache.iotdb.db.queryengine.execution.operator.process.join.FullOuterTimeJoinOperator;
import org.apache.iotdb.db.queryengine.execution.operator.process.join.merge.AscTimeComparator;
import org.apache.iotdb.db.queryengine.execution.operator.process.join.merge.DescTimeComparator;
-import org.apache.iotdb.db.queryengine.execution.operator.process.join.merge.MergeSortComparator;
+import org.apache.iotdb.db.queryengine.execution.operator.process.join.merge.MergeSortComparatorUtils;
import org.apache.iotdb.db.queryengine.execution.operator.process.join.merge.SingleColumnMerger;
import org.apache.iotdb.db.queryengine.execution.operator.source.SeriesScanOperator;
import org.apache.iotdb.db.queryengine.execution.operator.source.ShowQueriesOperator;
@@ -355,7 +355,7 @@ public class MergeTreeSortOperatorTest {
Arrays.asList(
singleDeviceViewOperator1, singleDeviceViewOperator2, singleDeviceViewOperator3),
tsDataTypes,
- MergeSortComparator.getComparator(
+ MergeSortComparatorUtils.getComparator(
Arrays.asList(
new SortItem(OrderByKey.TIME, timeOrdering),
new SortItem(OrderByKey.DEVICE, deviceOrdering)),
@@ -839,7 +839,7 @@ public class MergeTreeSortOperatorTest {
driverContext.getOperatorContexts().get(14),
Arrays.asList(singleDeviceViewOperator1, singleDeviceViewOperator2),
tsDataTypes,
- MergeSortComparator.getComparator(
+ MergeSortComparatorUtils.getComparator(
Arrays.asList(
new SortItem(OrderByKey.TIME, timeOrdering),
new SortItem(OrderByKey.DEVICE, deviceOrdering)),
@@ -853,7 +853,7 @@ public class MergeTreeSortOperatorTest {
driverContext.getOperatorContexts().get(15),
Arrays.asList(singleDeviceViewOperator3, singleDeviceViewOperator4),
tsDataTypes,
- MergeSortComparator.getComparator(
+ MergeSortComparatorUtils.getComparator(
Arrays.asList(
new SortItem(OrderByKey.TIME, timeOrdering),
new SortItem(OrderByKey.DEVICE, deviceOrdering)),
@@ -868,7 +868,7 @@ public class MergeTreeSortOperatorTest {
driverContext.getOperatorContexts().get(16),
Arrays.asList(treeMergeSortOperator1, treeMergeSortOperator2),
tsDataTypes,
- MergeSortComparator.getComparator(
+ MergeSortComparatorUtils.getComparator(
Arrays.asList(
new SortItem(OrderByKey.TIME, timeOrdering),
new SortItem(OrderByKey.DEVICE, deviceOrdering)),
@@ -1329,7 +1329,7 @@ public class MergeTreeSortOperatorTest {
driverContext.getOperatorContexts().get(12),
Arrays.asList(deviceViewOperator1, deviceViewOperator2),
tsDataTypes,
- MergeSortComparator.getComparator(
+ MergeSortComparatorUtils.getComparator(
Arrays.asList(
new SortItem(OrderByKey.DEVICE, deviceOrdering),
new SortItem(OrderByKey.TIME, timeOrdering)),
@@ -1597,7 +1597,7 @@ public class MergeTreeSortOperatorTest {
List<OperatorContext> operatorContexts = driverContext.getOperatorContexts();
List<TSDataType> dataTypes = DatasetHeaderFactory.getShowQueriesHeader().getRespDataTypes();
Comparator<SortKey> comparator =
- MergeSortComparator.getComparator(
+ MergeSortComparatorUtils.getComparator(
Arrays.asList(
new SortItem(OrderByKey.TIME, Ordering.ASC),
new SortItem(OrderByKey.DATANODEID, Ordering.DESC)),
@@ -1785,7 +1785,7 @@ public class MergeTreeSortOperatorTest {
driverContext.getOperatorContexts().get(0),
Arrays.asList(childOperator1, childOperator2),
Collections.singletonList(TSDataType.INT64),
- MergeSortComparator.getComparator(
+ MergeSortComparatorUtils.getComparator(
Collections.singletonList(new SortItem(OrderByKey.TIME, Ordering.ASC)),
Collections.singletonList(-1),
Collections.singletonList(TSDataType.INT64)));
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/SortOperatorSortBranchTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/SortOperatorSortBranchTest.java
index bb5f9b0a637..62bdfe1cbf2 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/SortOperatorSortBranchTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/SortOperatorSortBranchTest.java
@@ -33,7 +33,7 @@ import org.apache.iotdb.db.queryengine.execution.driver.DriverContext;
import org.apache.iotdb.db.queryengine.execution.fragment.FragmentInstanceContext;
import org.apache.iotdb.db.queryengine.execution.fragment.FragmentInstanceStateMachine;
import org.apache.iotdb.db.queryengine.execution.operator.process.TreeSortOperator;
-import org.apache.iotdb.db.queryengine.execution.operator.process.join.merge.MergeSortComparator;
+import org.apache.iotdb.db.queryengine.execution.operator.process.join.merge.MergeSortComparatorUtils;
import org.apache.iotdb.db.queryengine.execution.operator.source.SeriesScanOperator;
import org.apache.iotdb.db.queryengine.plan.statement.component.OrderByKey;
import org.apache.iotdb.db.queryengine.plan.statement.component.Ordering;
@@ -177,7 +177,7 @@ public class SortOperatorSortBranchTest {
OperatorContext operatorContext = driverContext.getOperatorContexts().get(1);
Comparator<SortKey> comparator =
- MergeSortComparator.getComparator(
+ MergeSortComparatorUtils.getComparator(
Arrays.asList(new SortItem(OrderByKey.DATANODEID, Ordering.ASC)),
ImmutableList.of(0),
outputTypes);
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/TreeTopKOperatorTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/TreeTopKOperatorTest.java
index a3c17e35f4e..62889b87d08 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/TreeTopKOperatorTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/TreeTopKOperatorTest.java
@@ -41,7 +41,7 @@ import org.apache.iotdb.db.queryengine.execution.operator.process.TreeTopKOperat
import org.apache.iotdb.db.queryengine.execution.operator.process.join.FullOuterTimeJoinOperator;
import org.apache.iotdb.db.queryengine.execution.operator.process.join.merge.AscTimeComparator;
import org.apache.iotdb.db.queryengine.execution.operator.process.join.merge.DescTimeComparator;
-import org.apache.iotdb.db.queryengine.execution.operator.process.join.merge.MergeSortComparator;
+import org.apache.iotdb.db.queryengine.execution.operator.process.join.merge.MergeSortComparatorUtils;
import org.apache.iotdb.db.queryengine.execution.operator.process.join.merge.SingleColumnMerger;
import org.apache.iotdb.db.queryengine.execution.operator.source.SeriesScanOperator;
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.SeriesScanOptions;
@@ -340,7 +340,7 @@ public class TreeTopKOperatorTest {
Arrays.asList(
singleDeviceViewOperator1, singleDeviceViewOperator2, singleDeviceViewOperator3),
tsDataTypes,
- MergeSortComparator.getComparator(
+ MergeSortComparatorUtils.getComparator(
Arrays.asList(
new SortItem(OrderByKey.TIME, timeOrdering),
new SortItem(OrderByKey.DEVICE, deviceOrdering)),
@@ -710,7 +710,7 @@ public class TreeTopKOperatorTest {
driverContext.getOperatorContexts().get(14),
Arrays.asList(singleDeviceViewOperator1, singleDeviceViewOperator2),
tsDataTypes,
- MergeSortComparator.getComparator(
+ MergeSortComparatorUtils.getComparator(
Arrays.asList(
new SortItem(OrderByKey.TIME, timeOrdering),
new SortItem(OrderByKey.DEVICE, deviceOrdering)),
@@ -724,7 +724,7 @@ public class TreeTopKOperatorTest {
driverContext.getOperatorContexts().get(15),
Arrays.asList(singleDeviceViewOperator3, singleDeviceViewOperator4),
tsDataTypes,
- MergeSortComparator.getComparator(
+ MergeSortComparatorUtils.getComparator(
Arrays.asList(
new SortItem(OrderByKey.TIME, timeOrdering),
new SortItem(OrderByKey.DEVICE, deviceOrdering)),
@@ -739,7 +739,7 @@ public class TreeTopKOperatorTest {
driverContext.getOperatorContexts().get(16),
Arrays.asList(topKOperator1, topKOperator2),
tsDataTypes,
- MergeSortComparator.getComparator(
+ MergeSortComparatorUtils.getComparator(
Arrays.asList(
new SortItem(OrderByKey.TIME, timeOrdering),
new SortItem(OrderByKey.DEVICE, deviceOrdering)),
@@ -1093,7 +1093,7 @@ public class TreeTopKOperatorTest {
driverContext.getOperatorContexts().get(12),
Arrays.asList(deviceViewOperator1, deviceViewOperator2),
tsDataTypes,
- MergeSortComparator.getComparator(
+ MergeSortComparatorUtils.getComparator(
Arrays.asList(
new SortItem(OrderByKey.DEVICE, deviceOrdering),
new SortItem(OrderByKey.TIME, timeOrdering)),
@@ -1322,7 +1322,7 @@ public class TreeTopKOperatorTest {
driverContext.getOperatorContexts().get(0),
Arrays.asList(childOperator1, childOperator2),
Collections.singletonList(TSDataType.INT64),
- MergeSortComparator.getComparator(
+ MergeSortComparatorUtils.getComparator(
Collections.singletonList(new SortItem(OrderByKey.TIME, Ordering.ASC)),
Collections.singletonList(-1),
Collections.singletonList(TSDataType.INT64)),
@@ -1547,7 +1547,7 @@ public class TreeTopKOperatorTest {
Arrays.asList(
singleDeviceViewOperator1, singleDeviceViewOperator2, singleDeviceViewOperator3),
tsDataTypes,
- MergeSortComparator.getComparator(
+ MergeSortComparatorUtils.getComparator(
Arrays.asList(
new SortItem(OrderByKey.TIME, timeOrdering),
new SortItem(OrderByKey.DEVICE, deviceOrdering)),
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/TableStreamSortOperatorTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/TableStreamSortOperatorTest.java
index a276c8618f3..d5ec53397ec 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/TableStreamSortOperatorTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/TableStreamSortOperatorTest.java
@@ -20,10 +20,10 @@
package org.apache.iotdb.db.queryengine.execution.operator.process;
import org.apache.iotdb.commons.concurrent.IoTDBThreadPoolFactory;
-import org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils;
import org.apache.iotdb.db.calc_commons.execution.operator.Operator;
import org.apache.iotdb.db.calc_commons.execution.operator.OperatorContext;
import org.apache.iotdb.db.calc_commons.execution.operator.process.TableStreamSortOperator;
+import org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNodeId;
import org.apache.iotdb.db.node_commons.plan.relational.planner.SortOrder;
@@ -55,8 +55,8 @@ import java.util.Comparator;
import java.util.List;
import java.util.concurrent.ExecutorService;
+import static org.apache.iotdb.db.calc_commons.execution.operator.process.join.merge.MergeSortComparator.getComparatorForTable;
import static org.apache.iotdb.db.queryengine.execution.fragment.FragmentInstanceContext.createFragmentInstanceContext;
-import static org.apache.iotdb.db.queryengine.execution.operator.process.join.merge.MergeSortComparator.getComparatorForTable;
import static org.apache.iotdb.db.utils.EnvironmentUtils.cleanDir;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/ValuesOperatorTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/ValuesOperatorTest.java
index e08c2245e67..e9ee663b355 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/ValuesOperatorTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/ValuesOperatorTest.java
@@ -20,8 +20,8 @@
package org.apache.iotdb.db.queryengine.execution.operator.process;
import org.apache.iotdb.commons.concurrent.IoTDBThreadPoolFactory;
-import org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils;
import org.apache.iotdb.db.calc_commons.execution.operator.process.ValuesOperator;
+import org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNodeId;
import org.apache.iotdb.db.queryengine.common.FragmentInstanceId;
import org.apache.iotdb.db.queryengine.common.PlanFragmentId;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/GapFillWGroupWMoOperatorTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/GapFillWGroupWMoOperatorTest.java
index ea22fc8a694..1b0ecd6e0c2 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/GapFillWGroupWMoOperatorTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/GapFillWGroupWMoOperatorTest.java
@@ -20,10 +20,12 @@
package org.apache.iotdb.db.queryengine.execution.operator.process.gapfill;
import org.apache.iotdb.commons.concurrent.IoTDBThreadPoolFactory;
-import org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils;
import org.apache.iotdb.db.calc_commons.execution.operator.Operator;
import org.apache.iotdb.db.calc_commons.execution.operator.OperatorContext;
import org.apache.iotdb.db.calc_commons.execution.operator.process.MergeSortOperator;
+import org.apache.iotdb.db.calc_commons.execution.operator.process.gapfill.gapfill.GapFillWGroupWMoOperator;
+import org.apache.iotdb.db.calc_commons.execution.operator.process.gapfill.gapfill.GapFillWoGroupWoMoOperator;
+import org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNodeId;
import org.apache.iotdb.db.node_commons.plan.relational.planner.SortOrder;
import org.apache.iotdb.db.queryengine.common.FragmentInstanceId;
@@ -52,8 +54,8 @@ import java.util.List;
import java.util.Set;
import java.util.concurrent.ExecutorService;
+import static org.apache.iotdb.db.calc_commons.execution.operator.process.join.merge.MergeSortComparator.getComparatorForTable;
import static org.apache.iotdb.db.queryengine.execution.fragment.FragmentInstanceContext.createFragmentInstanceContext;
-import static org.apache.iotdb.db.queryengine.execution.operator.process.join.merge.MergeSortComparator.getComparatorForTable;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.fail;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/GapFillWGroupWoMoOperatorTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/GapFillWGroupWoMoOperatorTest.java
index 6d84000d935..91ac1d4710b 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/GapFillWGroupWoMoOperatorTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/GapFillWGroupWoMoOperatorTest.java
@@ -20,10 +20,12 @@
package org.apache.iotdb.db.queryengine.execution.operator.process.gapfill;
import org.apache.iotdb.commons.concurrent.IoTDBThreadPoolFactory;
-import org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils;
import org.apache.iotdb.db.calc_commons.execution.operator.Operator;
import org.apache.iotdb.db.calc_commons.execution.operator.OperatorContext;
import org.apache.iotdb.db.calc_commons.execution.operator.process.MergeSortOperator;
+import org.apache.iotdb.db.calc_commons.execution.operator.process.gapfill.gapfill.GapFillWGroupWoMoOperator;
+import org.apache.iotdb.db.calc_commons.execution.operator.process.gapfill.gapfill.GapFillWoGroupWoMoOperator;
+import org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNodeId;
import org.apache.iotdb.db.node_commons.plan.relational.planner.SortOrder;
import org.apache.iotdb.db.queryengine.common.FragmentInstanceId;
@@ -51,8 +53,8 @@ import java.util.List;
import java.util.Set;
import java.util.concurrent.ExecutorService;
+import static org.apache.iotdb.db.calc_commons.execution.operator.process.join.merge.MergeSortComparator.getComparatorForTable;
import static org.apache.iotdb.db.queryengine.execution.fragment.FragmentInstanceContext.createFragmentInstanceContext;
-import static org.apache.iotdb.db.queryengine.execution.operator.process.join.merge.MergeSortComparator.getComparatorForTable;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.fail;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/GapFillWoGroupWMoOperatorTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/GapFillWoGroupWMoOperatorTest.java
index 27eccc5dba2..add04df03d5 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/GapFillWoGroupWMoOperatorTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/GapFillWoGroupWMoOperatorTest.java
@@ -20,10 +20,12 @@
package org.apache.iotdb.db.queryengine.execution.operator.process.gapfill;
import org.apache.iotdb.commons.concurrent.IoTDBThreadPoolFactory;
-import org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils;
import org.apache.iotdb.db.calc_commons.execution.operator.Operator;
import org.apache.iotdb.db.calc_commons.execution.operator.OperatorContext;
import org.apache.iotdb.db.calc_commons.execution.operator.process.MergeSortOperator;
+import org.apache.iotdb.db.calc_commons.execution.operator.process.gapfill.gapfill.GapFillWoGroupWMoOperator;
+import org.apache.iotdb.db.calc_commons.execution.operator.process.gapfill.gapfill.GapFillWoGroupWoMoOperator;
+import org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNodeId;
import org.apache.iotdb.db.queryengine.common.FragmentInstanceId;
import org.apache.iotdb.db.queryengine.common.PlanFragmentId;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/GapFillWoGroupWoMoOperatorTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/GapFillWoGroupWoMoOperatorTest.java
index 40936717a22..aaee67935a0 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/GapFillWoGroupWoMoOperatorTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/gapfill/GapFillWoGroupWoMoOperatorTest.java
@@ -20,10 +20,11 @@
package org.apache.iotdb.db.queryengine.execution.operator.process.gapfill;
import org.apache.iotdb.commons.concurrent.IoTDBThreadPoolFactory;
-import org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils;
import org.apache.iotdb.db.calc_commons.execution.operator.Operator;
import org.apache.iotdb.db.calc_commons.execution.operator.OperatorContext;
import org.apache.iotdb.db.calc_commons.execution.operator.process.MergeSortOperator;
+import org.apache.iotdb.db.calc_commons.execution.operator.process.gapfill.gapfill.GapFillWoGroupWoMoOperator;
+import org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNodeId;
import org.apache.iotdb.db.queryengine.common.FragmentInstanceId;
import org.apache.iotdb.db.queryengine.common.PlanFragmentId;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/tvf/TableFunctionOperatorTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/tvf/TableFunctionOperatorTest.java
index 535c246e076..035eeb9270e 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/tvf/TableFunctionOperatorTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/tvf/TableFunctionOperatorTest.java
@@ -49,7 +49,7 @@ import java.util.Iterator;
import java.util.List;
import java.util.concurrent.ExecutorService;
-import static org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils.TIME_COLUMN_TEMPLATE;
+import static org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils.TIME_COLUMN_TEMPLATE;
import static org.apache.iotdb.db.queryengine.execution.fragment.FragmentInstanceContext.createFragmentInstanceContext;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.fail;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/RowNumberOperatorTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/RowNumberOperatorTest.java
index 0ce5acbe553..e043afadcb5 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/RowNumberOperatorTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/RowNumberOperatorTest.java
@@ -20,10 +20,10 @@
package org.apache.iotdb.db.queryengine.execution.operator.process.window;
import org.apache.iotdb.commons.concurrent.IoTDBThreadPoolFactory;
-import org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils;
import org.apache.iotdb.db.calc_commons.execution.operator.Operator;
import org.apache.iotdb.db.calc_commons.execution.operator.OperatorContext;
import org.apache.iotdb.db.calc_commons.execution.operator.process.window.RowNumberOperator;
+import org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNodeId;
import org.apache.iotdb.db.queryengine.common.FragmentInstanceId;
import org.apache.iotdb.db.queryengine.common.PlanFragmentId;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/TableWindowOperatorTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/TableWindowOperatorTest.java
index 26cb5c71e88..592ce5a56fb 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/TableWindowOperatorTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/TableWindowOperatorTest.java
@@ -20,13 +20,13 @@
package org.apache.iotdb.db.queryengine.execution.operator.process.window;
import org.apache.iotdb.commons.concurrent.IoTDBThreadPoolFactory;
-import org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils;
import org.apache.iotdb.db.calc_commons.execution.operator.Operator;
import org.apache.iotdb.db.calc_commons.execution.operator.OperatorContext;
import org.apache.iotdb.db.calc_commons.execution.operator.process.window.TableWindowOperator;
import org.apache.iotdb.db.calc_commons.execution.operator.process.window.function.WindowFunction;
import org.apache.iotdb.db.calc_commons.execution.operator.process.window.function.rank.RankFunction;
import org.apache.iotdb.db.calc_commons.execution.operator.process.window.partition.frame.FrameInfo;
+import org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNodeId;
import org.apache.iotdb.db.queryengine.common.FragmentInstanceId;
import org.apache.iotdb.db.queryengine.common.PlanFragmentId;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/TableWindowOperatorTestUtils.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/TableWindowOperatorTestUtils.java
index 9e2e22845e3..81545bbad23 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/TableWindowOperatorTestUtils.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/TableWindowOperatorTestUtils.java
@@ -19,7 +19,7 @@
package org.apache.iotdb.db.queryengine.execution.operator.process.window;
-import org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils;
+import org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils;
import org.apache.tsfile.block.column.ColumnBuilder;
import org.apache.tsfile.enums.TSDataType;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/TopKRankingOperatorTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/TopKRankingOperatorTest.java
index 1bde9153dca..f61689914e4 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/TopKRankingOperatorTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/TopKRankingOperatorTest.java
@@ -20,10 +20,10 @@
package org.apache.iotdb.db.queryengine.execution.operator.process.window;
import org.apache.iotdb.commons.concurrent.IoTDBThreadPoolFactory;
-import org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils;
import org.apache.iotdb.db.calc_commons.execution.operator.Operator;
import org.apache.iotdb.db.calc_commons.execution.operator.OperatorContext;
import org.apache.iotdb.db.calc_commons.execution.operator.process.window.TopKRankingOperator;
+import org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNodeId;
import org.apache.iotdb.db.node_commons.plan.relational.planner.SortOrder;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.TopKRankingNode;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/aggregate/AggregationWindowFunctionTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/aggregate/AggregationWindowFunctionTest.java
index 19f66f56042..f5748ee6819 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/aggregate/AggregationWindowFunctionTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/aggregate/AggregationWindowFunctionTest.java
@@ -20,10 +20,10 @@
package org.apache.iotdb.db.queryengine.execution.operator.process.window.function.aggregate;
import org.apache.iotdb.common.rpc.thrift.TAggregationType;
-import org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils;
import org.apache.iotdb.db.calc_commons.execution.operator.process.window.function.aggregate.AggregationWindowFunction;
import org.apache.iotdb.db.calc_commons.execution.operator.process.window.partition.PartitionExecutor;
import org.apache.iotdb.db.calc_commons.execution.operator.process.window.partition.frame.FrameInfo;
+import org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils;
import org.apache.iotdb.db.node_commons.plan.relational.planner.SortOrder;
import org.apache.iotdb.db.queryengine.execution.operator.process.window.TableWindowOperatorTestUtils;
import org.apache.iotdb.db.queryengine.execution.operator.process.window.function.FunctionTestUtils;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/rank/CumeDistFunctionTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/rank/CumeDistFunctionTest.java
index 284c5d7a557..f998eec5a52 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/rank/CumeDistFunctionTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/rank/CumeDistFunctionTest.java
@@ -19,9 +19,9 @@
package org.apache.iotdb.db.queryengine.execution.operator.process.window.function.rank;
-import org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils;
import org.apache.iotdb.db.calc_commons.execution.operator.process.window.function.rank.CumeDistFunction;
import org.apache.iotdb.db.calc_commons.execution.operator.process.window.partition.PartitionExecutor;
+import org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils;
import org.apache.iotdb.db.queryengine.execution.operator.process.window.TableWindowOperatorTestUtils;
import org.apache.iotdb.db.queryengine.execution.operator.process.window.function.FunctionTestUtils;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/rank/DenseRankFunctionTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/rank/DenseRankFunctionTest.java
index 461eee97794..2224f6d10ae 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/rank/DenseRankFunctionTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/rank/DenseRankFunctionTest.java
@@ -19,9 +19,9 @@
package org.apache.iotdb.db.queryengine.execution.operator.process.window.function.rank;
-import org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils;
import org.apache.iotdb.db.calc_commons.execution.operator.process.window.function.rank.DenseRankFunction;
import org.apache.iotdb.db.calc_commons.execution.operator.process.window.partition.PartitionExecutor;
+import org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils;
import org.apache.iotdb.db.queryengine.execution.operator.process.window.TableWindowOperatorTestUtils;
import org.apache.iotdb.db.queryengine.execution.operator.process.window.function.FunctionTestUtils;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/rank/NTileFunctionTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/rank/NTileFunctionTest.java
index b7f675241b2..a34aca134c5 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/rank/NTileFunctionTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/rank/NTileFunctionTest.java
@@ -19,9 +19,9 @@
package org.apache.iotdb.db.queryengine.execution.operator.process.window.function.rank;
-import org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils;
import org.apache.iotdb.db.calc_commons.execution.operator.process.window.function.rank.NTileFunction;
import org.apache.iotdb.db.calc_commons.execution.operator.process.window.partition.PartitionExecutor;
+import org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils;
import org.apache.iotdb.db.queryengine.execution.operator.process.window.function.FunctionTestUtils;
import org.apache.tsfile.block.column.Column;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/rank/PercentRankFunctionTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/rank/PercentRankFunctionTest.java
index e4021485c2a..f20d529a8e5 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/rank/PercentRankFunctionTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/rank/PercentRankFunctionTest.java
@@ -19,9 +19,9 @@
package org.apache.iotdb.db.queryengine.execution.operator.process.window.function.rank;
-import org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils;
import org.apache.iotdb.db.calc_commons.execution.operator.process.window.function.rank.PercentRankFunction;
import org.apache.iotdb.db.calc_commons.execution.operator.process.window.partition.PartitionExecutor;
+import org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils;
import org.apache.iotdb.db.queryengine.execution.operator.process.window.TableWindowOperatorTestUtils;
import org.apache.iotdb.db.queryengine.execution.operator.process.window.function.FunctionTestUtils;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/rank/RankFunctionTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/rank/RankFunctionTest.java
index 2e5205ecf9e..542a1458def 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/rank/RankFunctionTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/rank/RankFunctionTest.java
@@ -19,9 +19,9 @@
package org.apache.iotdb.db.queryengine.execution.operator.process.window.function.rank;
-import org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils;
import org.apache.iotdb.db.calc_commons.execution.operator.process.window.function.rank.RankFunction;
import org.apache.iotdb.db.calc_commons.execution.operator.process.window.partition.PartitionExecutor;
+import org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils;
import org.apache.iotdb.db.queryengine.execution.operator.process.window.TableWindowOperatorTestUtils;
import org.apache.iotdb.db.queryengine.execution.operator.process.window.function.FunctionTestUtils;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/rank/RowNumberFunctionTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/rank/RowNumberFunctionTest.java
index 043c6de69a7..577fe8f2237 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/rank/RowNumberFunctionTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/rank/RowNumberFunctionTest.java
@@ -19,9 +19,9 @@
package org.apache.iotdb.db.queryengine.execution.operator.process.window.function.rank;
-import org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils;
import org.apache.iotdb.db.calc_commons.execution.operator.process.window.function.rank.RowNumberFunction;
import org.apache.iotdb.db.calc_commons.execution.operator.process.window.partition.PartitionExecutor;
+import org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils;
import org.apache.iotdb.db.queryengine.execution.operator.process.window.TableWindowOperatorTestUtils;
import org.apache.iotdb.db.queryengine.execution.operator.process.window.function.FunctionTestUtils;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/value/FirstValueFunctionTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/value/FirstValueFunctionTest.java
index 1af502e2f6d..8ae26161913 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/value/FirstValueFunctionTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/value/FirstValueFunctionTest.java
@@ -19,10 +19,10 @@
package org.apache.iotdb.db.queryengine.execution.operator.process.window.function.value;
-import org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils;
import org.apache.iotdb.db.calc_commons.execution.operator.process.window.function.value.FirstValueFunction;
import org.apache.iotdb.db.calc_commons.execution.operator.process.window.partition.PartitionExecutor;
import org.apache.iotdb.db.calc_commons.execution.operator.process.window.partition.frame.FrameInfo;
+import org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils;
import org.apache.iotdb.db.queryengine.execution.operator.process.window.TableWindowOperatorTestUtils;
import org.apache.iotdb.db.queryengine.execution.operator.process.window.function.FunctionTestUtils;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/value/LagFunctionTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/value/LagFunctionTest.java
index 02d47cef7b9..f30f36d8bfa 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/value/LagFunctionTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/value/LagFunctionTest.java
@@ -19,9 +19,9 @@
package org.apache.iotdb.db.queryengine.execution.operator.process.window.function.value;
-import org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils;
import org.apache.iotdb.db.calc_commons.execution.operator.process.window.function.value.LagFunction;
import org.apache.iotdb.db.calc_commons.execution.operator.process.window.partition.PartitionExecutor;
+import org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils;
import org.apache.iotdb.db.queryengine.execution.operator.process.window.function.FunctionTestUtils;
import org.apache.tsfile.block.column.Column;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/value/LastValueFunctionTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/value/LastValueFunctionTest.java
index 137ff7b1924..cb74fc28dcd 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/value/LastValueFunctionTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/value/LastValueFunctionTest.java
@@ -19,10 +19,10 @@
package org.apache.iotdb.db.queryengine.execution.operator.process.window.function.value;
-import org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils;
import org.apache.iotdb.db.calc_commons.execution.operator.process.window.function.value.LastValueFunction;
import org.apache.iotdb.db.calc_commons.execution.operator.process.window.partition.PartitionExecutor;
import org.apache.iotdb.db.calc_commons.execution.operator.process.window.partition.frame.FrameInfo;
+import org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils;
import org.apache.iotdb.db.queryengine.execution.operator.process.window.TableWindowOperatorTestUtils;
import org.apache.iotdb.db.queryengine.execution.operator.process.window.function.FunctionTestUtils;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/value/LeadFunctionTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/value/LeadFunctionTest.java
index b770837c84f..467a6177b50 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/value/LeadFunctionTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/value/LeadFunctionTest.java
@@ -19,9 +19,9 @@
package org.apache.iotdb.db.queryengine.execution.operator.process.window.function.value;
-import org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils;
import org.apache.iotdb.db.calc_commons.execution.operator.process.window.function.value.LeadFunction;
import org.apache.iotdb.db.calc_commons.execution.operator.process.window.partition.PartitionExecutor;
+import org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils;
import org.apache.iotdb.db.queryengine.execution.operator.process.window.function.FunctionTestUtils;
import org.apache.tsfile.block.column.Column;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/value/NthValueFunctionTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/value/NthValueFunctionTest.java
index 270cbe81bd1..8e27eba0906 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/value/NthValueFunctionTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/value/NthValueFunctionTest.java
@@ -19,10 +19,10 @@
package org.apache.iotdb.db.queryengine.execution.operator.process.window.function.value;
-import org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils;
import org.apache.iotdb.db.calc_commons.execution.operator.process.window.function.value.NthValueFunction;
import org.apache.iotdb.db.calc_commons.execution.operator.process.window.partition.PartitionExecutor;
import org.apache.iotdb.db.calc_commons.execution.operator.process.window.partition.frame.FrameInfo;
+import org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils;
import org.apache.iotdb.db.queryengine.execution.operator.process.window.function.FunctionTestUtils;
import org.apache.tsfile.block.column.Column;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/optimization/ColumnInjectionPushDownTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/optimization/ColumnInjectionPushDownTest.java
index b59a7839884..c5b80b55274 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/optimization/ColumnInjectionPushDownTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/optimization/ColumnInjectionPushDownTest.java
@@ -20,11 +20,11 @@
package org.apache.iotdb.db.queryengine.plan.optimization;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
+import org.apache.iotdb.db.node_commons.plan.statement.component.FillPolicy;
import org.apache.iotdb.db.queryengine.plan.expression.ExpressionFactory;
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.AggregationDescriptor;
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.AggregationStep;
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.GroupByTimeParameter;
-import org.apache.iotdb.db.queryengine.plan.statement.component.FillPolicy;
import org.apache.tsfile.utils.TimeDuration;
import org.junit.Test;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/optimization/LimitOffsetPushDownTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/optimization/LimitOffsetPushDownTest.java
index e242c46ad0c..28e35ac2bb1 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/optimization/LimitOffsetPushDownTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/optimization/LimitOffsetPushDownTest.java
@@ -23,6 +23,7 @@ import org.apache.iotdb.common.rpc.thrift.TEndPoint;
import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.db.node_commons.common.SessionInfo;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
+import org.apache.iotdb.db.node_commons.plan.statement.component.FillPolicy;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
import org.apache.iotdb.db.queryengine.common.QueryId;
import org.apache.iotdb.db.queryengine.plan.analyze.Analysis;
@@ -33,7 +34,6 @@ import org.apache.iotdb.db.queryengine.plan.expression.Expression;
import org.apache.iotdb.db.queryengine.plan.parser.StatementGenerator;
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.GroupByTimeParameter;
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.OrderByParameter;
-import org.apache.iotdb.db.queryengine.plan.statement.component.FillPolicy;
import org.apache.iotdb.db.queryengine.plan.statement.component.GroupByTimeComponent;
import org.apache.iotdb.db.queryengine.plan.statement.component.OrderByKey;
import org.apache.iotdb.db.queryengine.plan.statement.component.Ordering;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/optimization/TestPlanBuilder.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/optimization/TestPlanBuilder.java
index 2301cc1b3c1..1973df9be38 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/optimization/TestPlanBuilder.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/optimization/TestPlanBuilder.java
@@ -24,6 +24,7 @@ import org.apache.iotdb.commons.path.MeasurementPath;
import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNodeId;
+import org.apache.iotdb.db.node_commons.plan.statement.component.FillPolicy;
import org.apache.iotdb.db.queryengine.plan.expression.Expression;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.ColumnInjectNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.DeviceViewNode;
@@ -50,7 +51,6 @@ import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.FillDescripto
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.GroupByTimeParameter;
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.IntoPathDescriptor;
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.OrderByParameter;
-import org.apache.iotdb.db.queryengine.plan.statement.component.FillPolicy;
import org.apache.iotdb.db.queryengine.plan.statement.component.OrderByKey;
import org.apache.iotdb.db.queryengine.plan.statement.component.Ordering;
import org.apache.iotdb.db.queryengine.plan.statement.component.SortItem;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/process/FillNodeSerdeTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/process/FillNodeSerdeTest.java
index 9c6211bc612..ff3633f550c 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/process/FillNodeSerdeTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/process/FillNodeSerdeTest.java
@@ -20,11 +20,11 @@ package org.apache.iotdb.db.queryengine.plan.planner.node.process;
import org.apache.iotdb.commons.exception.IllegalPathException;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNodeId;
+import org.apache.iotdb.db.node_commons.plan.statement.component.FillPolicy;
import org.apache.iotdb.db.queryengine.plan.planner.node.PlanNodeDeserializeHelper;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.FillNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.join.FullOuterTimeJoinNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.FillDescriptor;
-import org.apache.iotdb.db.queryengine.plan.statement.component.FillPolicy;
import org.apache.iotdb.db.queryengine.plan.statement.component.Ordering;
import org.apache.iotdb.db.queryengine.plan.statement.literal.LongLiteral;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/AggregationCornerCaseTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/AggregationCornerCaseTest.java
index 348b34efb91..e91486b17dd 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/AggregationCornerCaseTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/AggregationCornerCaseTest.java
@@ -57,11 +57,11 @@ import static org.apache.iotdb.commons.udf.builtin.relational.TableBuiltinAggreg
import static org.apache.iotdb.commons.udf.builtin.relational.TableBuiltinAggregationFunction.LAST;
import static org.apache.iotdb.commons.udf.builtin.relational.TableBuiltinAggregationFunction.SUM;
import static org.apache.iotdb.commons.udf.builtin.relational.TableBuiltinAggregationFunction.getAggregationTypeByFuncName;
-import static org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils.TIME_COLUMN_TEMPLATE;
+import static org.apache.iotdb.db.calc_commons.execution.operator.process.join.merge.MergeSortComparator.getComparatorForTable;
import static org.apache.iotdb.db.calc_commons.execution.operator.source.relational.aggregation.AccumulatorFactory.createGroupedAccumulator;
-import static org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.hash.GroupByHash.DEFAULT_GROUP_NUMBER;
+import static org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils.TIME_COLUMN_TEMPLATE;
+import static org.apache.iotdb.db.node_commons.execution.operator.source.relational.aggregation.grouped.hash.GroupByHash.DEFAULT_GROUP_NUMBER;
import static org.apache.iotdb.db.queryengine.execution.fragment.FragmentInstanceContext.createFragmentInstanceContext;
-import static org.apache.iotdb.db.queryengine.execution.operator.process.join.merge.MergeSortComparator.getComparatorForTable;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.fail;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/AsofInnerJoinOperatorTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/AsofInnerJoinOperatorTest.java
index f83f7cf5baa..c8dffa7497f 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/AsofInnerJoinOperatorTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/AsofInnerJoinOperatorTest.java
@@ -43,7 +43,7 @@ import java.util.Arrays;
import java.util.Collections;
import java.util.concurrent.TimeUnit;
-import static org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils.TIME_COLUMN_TEMPLATE;
+import static org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils.TIME_COLUMN_TEMPLATE;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.fail;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/JoinTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/JoinTest.java
index b0751e1e130..99f6a9c7fa5 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/JoinTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/JoinTest.java
@@ -72,7 +72,7 @@ import java.util.Collections;
import java.util.List;
import java.util.Optional;
-import static org.apache.iotdb.db.calc_commons.execution.operator.CommonOperatorUtils.TIME_COLUMN_TEMPLATE;
+import static org.apache.iotdb.db.calc_commons.plan.planner.CommonOperatorUtils.TIME_COLUMN_TEMPLATE;
import static org.apache.iotdb.db.node_commons.plan.relational.planner.node.AggregationNode.Step.FINAL;
import static org.apache.iotdb.db.node_commons.plan.relational.planner.node.AggregationNode.Step.PARTIAL;
import static org.apache.iotdb.db.node_commons.plan.relational.planner.node.JoinNode.JoinType.INNER;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/SqlParserErrorHandlerTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/SqlParserErrorHandlerTest.java
index f17efb29616..5d7662a097d 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/SqlParserErrorHandlerTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/SqlParserErrorHandlerTest.java
@@ -19,7 +19,7 @@
package org.apache.iotdb.db.queryengine.plan.relational.sql.ast;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.parser.ParsingException;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.parser.ParsingException;
import org.apache.iotdb.db.queryengine.plan.relational.sql.parser.SqlParser;
import org.junit.Test;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/sql/parser/AuthorStatementTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/sql/parser/AuthorStatementTest.java
index 8d1795373bd..035d1028c64 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/sql/parser/AuthorStatementTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/sql/parser/AuthorStatementTest.java
@@ -22,6 +22,7 @@ package org.apache.iotdb.db.queryengine.plan.relational.sql.parser;
import org.apache.iotdb.commons.auth.entity.PrivilegeModelType;
import org.apache.iotdb.commons.auth.entity.PrivilegeType;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Statement;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.parser.ParsingException;
import org.apache.iotdb.db.protocol.session.IClientSession;
import org.apache.iotdb.db.protocol.session.InternalClientSession;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.RelationalAuthorStatement;
diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/utils/datastructure/MergeSortHeapTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/utils/datastructure/MergeSortHeapTest.java
index a84b44323e1..5e73abe8784 100644
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/utils/datastructure/MergeSortHeapTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/utils/datastructure/MergeSortHeapTest.java
@@ -19,7 +19,7 @@
package org.apache.iotdb.db.utils.datastructure;
-import org.apache.iotdb.db.queryengine.execution.operator.process.join.merge.MergeSortComparator;
+import org.apache.iotdb.db.queryengine.execution.operator.process.join.merge.MergeSortComparatorUtils;
import org.apache.iotdb.db.queryengine.plan.statement.component.OrderByKey;
import org.apache.iotdb.db.queryengine.plan.statement.component.Ordering;
import org.apache.iotdb.db.queryengine.plan.statement.component.SortItem;
@@ -82,7 +82,7 @@ public class MergeSortHeapTest {
inputBuilder2.declarePosition();
Comparator<SortKey> comparator =
- MergeSortComparator.getComparator(
+ MergeSortComparatorUtils.getComparator(
Arrays.asList(
new SortItem(OrderByKey.TIME, Ordering.ASC),
new SortItem(OrderByKey.DEVICE, Ordering.ASC)),