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/13 10:17:58 UTC
(iotdb) 03/03: move some plannodes
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
commit bbef7b82c3a5ea39bbe61111fe263e731917de09
Author: shuwenwei <we...@timecho.com>
AuthorDate: Mon Apr 13 18:17:37 2026 +0800
move some plannodes
---
.../templates/ArithmeticColumnTransformerApi.ftl | 10 +--
.../plan/planner/TableOperatorGenerator.java | 16 ++---
.../plan/expression}/expression/Expression.java | 60 ++++++++---------
.../expression}/expression/ExpressionFactory.java | 44 ++++++-------
.../expression}/expression/ExpressionType.java | 2 +-
.../expression/UnknownExpressionTypeException.java | 2 +-
.../expression/binary/AdditionExpression.java | 8 +--
.../binary/ArithmeticBinaryExpression.java | 6 +-
.../expression/binary/BinaryExpression.java | 6 +-
.../expression/binary/CompareBinaryExpression.java | 16 ++---
.../expression/binary/DivisionExpression.java | 8 +--
.../expression/binary/EqualToExpression.java | 8 +--
.../expression/binary/GreaterEqualExpression.java | 8 +--
.../expression/binary/GreaterThanExpression.java | 8 +--
.../expression/binary/LessEqualExpression.java | 8 +--
.../expression/binary/LessThanExpression.java | 8 +--
.../expression/binary/LogicAndExpression.java | 8 +--
.../expression/binary/LogicBinaryExpression.java | 6 +-
.../expression/binary/LogicOrExpression.java | 8 +--
.../expression/binary/ModuloExpression.java | 8 +--
.../binary/MultiplicationExpression.java | 8 +--
.../expression/binary/NonEqualExpression.java | 8 +--
.../expression/binary/SubtractionExpression.java | 8 +--
.../expression/binary/WhenThenExpression.java | 8 +--
.../expression/leaf/ConstantOperand.java | 6 +-
.../expression}/expression/leaf/LeafOperand.java | 4 +-
.../expression}/expression/leaf/NullOperand.java | 6 +-
.../expression/leaf/TimeSeriesOperand.java | 6 +-
.../expression/leaf/TimestampOperand.java | 6 +-
.../expression/multi/FunctionExpression.java | 12 ++--
.../expression}/expression/multi/FunctionType.java | 2 +-
.../multi/builtin/BuiltInFunctionHelper.java | 2 +-
.../multi/builtin/BuiltInScalarFunctionHelper.java | 8 +--
.../BuiltInScalarFunctionHelperFactory.java | 12 ++--
.../multi/builtin/helper/CastFunctionHelper.java | 10 +--
.../multi/builtin/helper/DiffFunctionHelper.java | 8 +--
.../builtin/helper/ReplaceFunctionHelper.java | 8 +--
.../multi/builtin/helper/RoundFunctionHelper.java | 8 +--
.../builtin/helper/SubStringFunctionHelper.java | 8 +--
.../expression/other/CaseWhenThenExpression.java | 12 ++--
.../expression/other/GroupByTimeExpression.java | 8 +--
.../expression/ternary/BetweenExpression.java | 8 +--
.../expression/ternary/TernaryExpression.java | 6 +-
.../expression}/expression/unary/InExpression.java | 18 ++---
.../expression/unary/IsNullExpression.java | 8 +--
.../expression/unary/LikeExpression.java | 8 +--
.../expression/unary/LogicNotExpression.java | 16 ++---
.../expression/unary/NegationExpression.java | 16 ++---
.../expression/unary/RegularExpression.java | 8 +--
.../expression/unary/UnaryExpression.java | 6 +-
.../BindTypeForTimeSeriesOperandVisitor.java | 8 +--
.../CollectAggregationExpressionsVisitor.java | 8 +--
.../visitor/CollectSourceExpressionsVisitor.java | 10 +--
.../expression/visitor/CollectVisitor.java | 12 ++--
.../visitor/ColumnTransformerVisitor.java | 50 +++++++-------
.../visitor/CompleteMeasurementSchemaVisitor.java | 14 ++--
.../expression/visitor/ConcatDeviceVisitor.java | 6 +-
.../visitor/CountTimeAggregationAmountVisitor.java | 8 +--
.../visitor/ExistUnknownTypeInExpression.java | 10 +--
.../visitor/ExpressionAnalyzeVisitor.java | 4 +-
.../visitor/ExpressionNormalizeVisitor.java | 8 +--
.../expression/visitor/ExpressionVisitor.java | 76 +++++++++++-----------
.../visitor/GetMeasurementExpressionVisitor.java | 6 +-
.../visitor/IntermediateLayerVisitor.java | 34 +++++-----
.../visitor/LowercaseNormalizeVisitor.java | 6 +-
.../expression/visitor/ReconstructVisitor.java | 16 ++---
.../visitor/RemoveRootPrefixVisitor.java | 6 +-
.../visitor/ReplaceLogicalViewVisitor.java | 14 ++--
.../ReplaceRawPathWithGroupedPathVisitor.java | 10 +--
.../visitor/ReplaceSubTreeWithViewVisitor.java | 6 +-
...edConcatRemoveUnExistentMeasurementVisitor.java | 8 +--
.../visitor/TransformToViewExpressionVisitor.java | 56 ++++++++--------
.../cartesian/BindSchemaForExpressionVisitor.java | 14 ++--
.../cartesian/BindSchemaForPredicateVisitor.java | 20 +++---
.../visitor/cartesian/CartesianProductVisitor.java | 16 ++---
...catDeviceAndBindSchemaForExpressionVisitor.java | 14 ++--
.../ConcatDeviceAndBindSchemaForHavingVisitor.java | 8 +--
...ncatDeviceAndBindSchemaForPredicateVisitor.java | 16 ++---
.../ConcatExpressionWithSuffixPathsVisitor.java | 12 ++--
.../visitor/cartesian/QueryContextProvider.java | 2 +-
.../visitor/logical/LogicalAndVisitor.java | 16 ++---
.../visitor/logical/LogicalOrVisitor.java | 16 ++---
.../PredicateCanPushDownToSourceChecker.java | 6 +-
.../visitor/logical/TimeFilterExistChecker.java | 6 +-
.../predicate/ConvertPredicateToFilterVisitor.java | 44 ++++++-------
.../ConvertPredicateToTimeFilterVisitor.java | 44 ++++++-------
.../predicate/PredicatePushIntoScanChecker.java | 40 ++++++------
.../visitor/predicate/PredicateSimplifier.java | 48 +++++++-------
.../visitor/predicate/PredicateVisitor.java | 38 +++++------
.../visitor/predicate/ReversePredicateVisitor.java | 38 +++++------
.../planner/plan/node/ICoreQueryPlanVisitor.java | 14 ++--
.../planner/plan/node/IPartitionRelatedNode.java | 2 +-
.../plan/node/process/TwoChildProcessNode.java | 3 +-
.../plan/planner/plan/node/source/SourceNode.java | 4 +-
.../function}/function/BoundSignature.java | 2 +-
.../relational/function}/function/FunctionId.java | 2 +-
.../function}/function/FunctionKind.java | 2 +-
.../function/InterpretedFunctionInvoker.java | 2 +-
.../function}/function/LongVariableConstraint.java | 2 +-
.../function}/function/OperatorType.java | 2 +-
.../function/ResolvedFunctionCallBuilder.java | 4 +-
.../relational/function}/function/Signature.java | 2 +-
.../function/TableBuiltinTableFunction.java | 8 +--
.../function}/function/TypeVariableConstraint.java | 2 +-
.../function/arithmetic/AdditionResolver.java | 2 +-
.../function/arithmetic/DivisionResolver.java | 2 +-
.../function/arithmetic/ModulusResolver.java | 2 +-
.../arithmetic/MultiplicationResolver.java | 2 +-
.../function/arithmetic/SubtractionResolver.java | 2 +-
.../function/tvf/ClassifyTableFunction.java | 2 +-
.../function/tvf/ForecastTableFunction.java | 6 +-
.../function/tvf/PatternMatchTableFunction.java | 12 ++--
.../function}/function/tvf/TableFunctionUtils.java | 2 +-
.../function}/function/tvf/match/MatchConfig.java | 2 +-
.../function/tvf/match/QetchAlgorithm.java | 18 ++---
.../function/tvf/match/model/MatchState.java | 4 +-
.../function/tvf/match/model/PatternSegment.java | 4 +-
.../function}/function/tvf/match/model/Point.java | 2 +-
.../function/tvf/match/model/RegexMatchState.java | 6 +-
.../function/tvf/match/model/Section.java | 2 +-
.../plan/relational/metadata/ResolvedFunction.java | 9 +--
.../plan/relational/planner/Assignments.java | 3 +-
.../planner/DataOrganizationSpecification.java | 4 +-
.../plan/relational/planner/OrderingScheme.java | 4 +-
.../planner/iterative/GroupReference.java | 2 +-
.../relational/planner/node/AggregationNode.java | 6 +-
.../plan/relational/planner/node/ApplyNode.java | 4 +-
.../plan/relational/planner/node/ExceptNode.java | 6 +-
.../plan/relational/planner/node/GroupNode.java | 2 +-
.../relational/planner/node/IntersectNode.java | 6 +-
.../plan/relational/planner/node/JoinNode.java | 2 +-
.../plan/relational/planner/node/LimitNode.java | 2 +-
.../relational/planner/node/MergeSortNode.java | 2 +-
.../planner/node/PatternRecognitionNode.java | 2 +-
.../plan/relational/planner/node/ProjectNode.java | 2 +-
.../plan/relational/planner/node/SemiJoinNode.java | 2 +-
.../relational/planner/node/SetOperationNode.java | 2 +-
.../plan/relational/planner/node/SortNode.java | 2 +-
.../relational/planner/node/StreamSortNode.java | 2 +-
.../relational/planner/node/TableFunctionNode.java | 2 +-
.../planner/node/TableFunctionProcessorNode.java | 2 +-
.../plan/relational/planner/node/TopKNode.java | 2 +-
.../relational/planner/node/TopKRankingNode.java | 2 +-
.../plan/relational/planner/node/UnionNode.java | 1 -
.../plan/relational/planner/node/ValuesNode.java | 4 +-
.../plan/relational/planner/node/WindowNode.java | 16 ++---
.../rowpattern/AggregationValuePointer.java | 2 +-
.../node_commons/plan/relational/sql/ast/Cast.java | 1 -
.../relational/sql/ast/CommonQueryAstVisitor.java | 32 +++++++++
.../plan/relational/sql/ast/DataType.java | 5 +-
.../plan/relational/sql/ast/Expression.java | 2 -
.../plan/relational/sql/ast/FrameBound.java | 9 +--
.../plan/relational/sql/ast/GenericDataType.java | 11 ++--
.../plan/relational/sql/ast/IfExpression.java | 9 +--
.../plan/relational/sql/ast/NullIfExpression.java | 9 +--
.../plan/relational/sql/ast/Row.java | 10 +--
.../plan/relational/sql/ast/Trim.java | 9 +--
.../plan/relational/sql/ast/WindowFrame.java | 8 +--
.../plan/relational/type/InternalTypeManager.java | 7 +-
.../relational/type/TypeSignatureTranslator.java | 8 ++-
.../column/ternary/Like3ColumnTransformer.java | 2 +-
.../udf/UserDefineScalarFunctionTransformer.java | 2 +-
.../AbstractCastFunctionColumnTransformer.java | 4 +-
.../impl/DataNodeInternalRPCServiceImpl.java | 12 ++--
.../execution/aggregation/AccumulatorFactory.java | 6 +-
.../execution/aggregation/UDAFAccumulator.java | 2 +-
.../SlidingWindowAggregatorFactory.java | 2 +-
.../operator/process/FilterAndProjectOperator.java | 6 +-
.../operator/process/TransformOperator.java | 2 +-
.../process/rowpattern/PatternAggregator.java | 2 +-
.../rowpattern/expression/CastComputation.java | 4 +-
.../process/rowpattern/expression/Computation.java | 2 +-
.../operator/process/window/RowNumberOperator.java | 2 +-
.../process/window/TopKRankingOperator.java | 2 +-
.../process/window/partition/frame/FrameInfo.java | 4 +-
.../relational/AbstractTableScanOperator.java | 2 +-
.../InformationSchemaContentSupplierFactory.java | 2 +-
.../relational/LastQueryAggTableScanOperator.java | 2 +-
.../relational/aggregation/AccumulatorFactory.java | 2 +-
.../grouped/StreamingAggregationOperator.java | 2 +-
.../builder/InMemoryHashAggregationBuilder.java | 2 +-
.../operator/window/ConditionWindowParameter.java | 2 +-
.../relational/ColumnTransformerBuilder.java | 58 ++++++++---------
.../iotdb/db/queryengine/plan/Coordinator.java | 2 +-
.../db/queryengine/plan/analyze/Analysis.java | 6 +-
.../queryengine/plan/analyze/AnalyzeVisitor.java | 16 ++---
.../plan/analyze/ConcatPathRewriter.java | 2 +-
.../plan/analyze/ExpressionAnalyzer.java | 52 +++++++--------
.../plan/analyze/ExpressionTypeAnalyzer.java | 40 ++++++------
.../queryengine/plan/analyze/ExpressionUtils.java | 60 ++++++++---------
.../plan/analyze/GroupByLevelHelper.java | 2 +-
.../queryengine/plan/analyze/PredicateUtils.java | 38 +++++------
.../queryengine/plan/analyze/SelectIntoUtils.java | 4 +-
.../plan/analyze/TemplatedAggregationAnalyze.java | 10 +--
.../queryengine/plan/analyze/TemplatedAnalyze.java | 8 +--
.../db/queryengine/plan/analyze/TemplatedInfo.java | 6 +-
.../db/queryengine/plan/analyze/TypeProvider.java | 2 +-
.../execution/config/TableConfigTaskVisitor.java | 6 +-
.../config/executor/ClusterConfigTaskExecutor.java | 4 +-
.../config/metadata/ShowFunctionsTask.java | 2 +-
.../plan/optimization/AggregationPushDown.java | 6 +-
.../plan/optimization/ColumnInjectionPushDown.java | 2 +-
.../plan/optimization/LimitOffsetPushDown.java | 4 +-
.../plan/optimization/PredicatePushDown.java | 4 +-
.../db/queryengine/plan/parser/ASTVisitor.java | 68 +++++++++----------
.../plan/parser/StatementGenerator.java | 14 ++--
.../planner/DataNodeTableOperatorGenerator.java | 8 +--
.../plan/planner/LogicalPlanBuilder.java | 6 +-
.../plan/planner/LogicalPlanVisitor.java | 4 +-
.../plan/planner/OperatorTreeGenerator.java | 20 +++---
.../plan/planner/TemplatedLogicalPlan.java | 6 +-
.../plan/planner/TemplatedLogicalPlanBuilder.java | 2 +-
.../distribution/DistributionPlanContext.java | 2 +-
.../planner/distribution/ExchangeNodeAdder.java | 2 +-
.../planner/distribution/NodeGroupContext.java | 2 +-
.../SimpleFragmentParallelPlanner.java | 2 +-
.../plan/planner/distribution/SourceRewriter.java | 10 +--
.../plan/planner/plan/PlanFragment.java | 2 +-
.../plan/planner/plan/TimePredicate.java | 2 +-
.../plan/planner/plan/TreeModelTimePredicate.java | 2 +-
.../plan/planner/plan/node/PlanGraphPrinter.java | 8 +--
.../plan/planner/plan/node/PlanNodeType.java | 4 +-
.../plan/planner/plan/node/WritePlanNode.java | 1 +
.../node/metadata/read/SchemaFetchScanNode.java | 2 +-
.../node/metadata/read/SchemaQueryScanNode.java | 2 +-
.../node/metadata/read/TableDeviceSourceNode.java | 2 +-
.../node/process/AggregationMergeSortNode.java | 2 +-
.../planner/plan/node/process/AggregationNode.java | 2 +-
.../plan/planner/plan/node/process/FilterNode.java | 2 +-
.../plan/node/process/RawDataAggregationNode.java | 2 +-
.../planner/plan/node/process/TransformNode.java | 2 +-
.../node/process/join/LeftOuterTimeJoinNode.java | 2 +-
.../plan/node/process/last/LastQueryNode.java | 2 +-
.../source/AlignedSeriesAggregationScanNode.java | 2 +-
.../plan/node/source/AlignedSeriesScanNode.java | 2 +-
.../plan/node/source/LastSeriesSourceNode.java | 2 +-
.../planner/plan/node/source/RegionScanNode.java | 1 +
.../node/source/SeriesAggregationScanNode.java | 2 +-
.../node/source/SeriesAggregationSourceNode.java | 2 +-
.../planner/plan/node/source/SeriesScanNode.java | 2 +-
.../plan/node/source/SeriesScanSourceNode.java | 2 +-
.../planner/plan/node/source/SeriesSourceNode.java | 3 +-
.../plan/node/source/ShowDiskUsageNode.java | 2 +-
.../plan/parameter/AggregationDescriptor.java | 2 +-
.../CrossSeriesAggregationDescriptor.java | 2 +-
.../plan/parameter/GroupByConditionParameter.java | 2 +-
.../relational/analyzer/AggregationAnalyzer.java | 8 +--
.../plan/relational/analyzer/Analysis.java | 6 +-
.../relational/analyzer/ExpressionAnalyzer.java | 40 ++++++------
.../analyzer/PatternRecognitionAnalysis.java | 2 +-
.../relational/analyzer/StatementAnalyzer.java | 16 ++---
.../predicate/ConvertPredicateToFilterVisitor.java | 8 +--
.../ConvertPredicateToTimeFilterVisitor.java | 4 +-
.../PredicateCombineIntoTableScanChecker.java | 4 +-
.../PredicatePushIntoMetadataChecker.java | 6 +-
.../predicate/PredicatePushIntoScanChecker.java | 4 +-
.../analyzer/predicate/PredicateVisitor.java | 4 +-
.../ConvertSchemaPredicateToFilterVisitor.java | 6 +-
.../schema/ExtractPredicateColumnNameVisitor.java | 4 +-
.../plan/relational/metadata/Metadata.java | 2 +-
.../metadata/OperatorNotFoundException.java | 2 +-
.../relational/metadata/TableMetadataImpl.java | 16 ++---
.../plan/relational/metadata/TableSchema.java | 2 +-
.../fetcher/TableHeaderSchemaValidator.java | 4 +-
.../relational/planner/ExpressionExtractor.java | 2 +-
.../planner/IrExpressionInterpreter.java | 12 ++--
.../plan/relational/planner/IrTypeAnalyzer.java | 10 +--
.../plan/relational/planner/LiteralEncoder.java | 2 +-
.../plan/relational/planner/PlanBuilder.java | 3 +-
.../plan/relational/planner/PredicateUtils.java | 2 +-
.../plan/relational/planner/QueryPlanner.java | 17 +++--
.../plan/relational/planner/RelationPlanner.java | 9 ++-
.../plan/relational/planner/SubqueryPlanner.java | 5 +-
.../relational/planner/TableLogicalPlanner.java | 5 +-
.../plan/relational/planner/TranslationMap.java | 4 +-
.../distribute/TableDistributedPlanGenerator.java | 12 ++--
.../distribute/TableDistributedPlanner.java | 2 +-
.../planner/ir/DefaultTraversalVisitor.java | 4 +-
.../relational/planner/ir/ExpressionRewriter.java | 10 +--
.../planner/ir/ExpressionTreeRewriter.java | 12 ++--
.../ir/GlobalTimePredicateExtractVisitor.java | 6 +-
.../planner/iterative/IterativeOptimizer.java | 1 +
.../plan/relational/planner/iterative/Lookup.java | 1 +
.../plan/relational/planner/iterative/Memo.java | 1 +
.../plan/relational/planner/iterative/Plans.java | 1 +
.../rule/CanonicalizeExpressionRewriter.java | 2 +-
.../iterative/rule/EvaluateEmptyIntersect.java | 4 +-
.../iterative/rule/ExpressionRewriteRuleSet.java | 2 +-
.../iterative/rule/GatherAndMergeWindows.java | 4 +-
.../planner/iterative/rule/ImplementExceptAll.java | 4 +-
.../rule/ImplementExceptDistinctAsUnion.java | 4 +-
.../iterative/rule/ImplementIntersectAll.java | 4 +-
.../rule/ImplementIntersectDistinctAsUnion.java | 4 +-
.../rule/ImplementPatternRecognition.java | 2 +-
.../rule/ImplementTableFunctionSource.java | 2 +-
.../planner/iterative/rule/InlineProjections.java | 2 +-
.../planner/iterative/rule/MergeExcept.java | 4 +-
.../planner/iterative/rule/MergeIntersect.java | 4 +-
.../planner/iterative/rule/MergeUnion.java | 2 +-
.../planner/iterative/rule/PruneApplyColumns.java | 2 +-
.../iterative/rule/PruneApplyCorrelation.java | 2 +-
.../iterative/rule/PruneApplySourceColumns.java | 2 +-
.../iterative/rule/PruneDistinctAggregation.java | 4 +-
.../iterative/rule/PruneExceptSourceColumns.java | 2 +-
.../rule/PruneIntersectSourceColumns.java | 2 +-
.../iterative/rule/PushProjectionThroughUnion.java | 2 +-
.../iterative/rule/RemoveEmptyExceptBranches.java | 4 +-
.../iterative/rule/RemoveEmptyUnionBranches.java | 2 +-
.../iterative/rule/RemoveRedundantExists.java | 4 +-
.../rule/RemoveUnreferencedScalarApplyNodes.java | 2 +-
.../iterative/rule/ReplaceWindowWithRowNumber.java | 2 +-
.../planner/iterative/rule/SetOperationMerge.java | 6 +-
.../iterative/rule/SetOperationNodeTranslator.java | 22 +++----
.../iterative/rule/SimplifyCountOverConstant.java | 10 +--
...orrelatedDistinctAggregationWithProjection.java | 2 +-
...mCorrelatedGlobalAggregationWithProjection.java | 2 +-
...rrelatedGlobalAggregationWithoutProjection.java | 2 +-
...CorrelatedGroupedAggregationWithProjection.java | 2 +-
.../rule/TransformCorrelatedScalarSubquery.java | 6 +-
.../rule/TransformExistsApplyToCorrelatedJoin.java | 8 +--
.../TransformFilteringSemiJoinToInnerJoin.java | 2 +-
...mUncorrelatedInPredicateSubqueryToSemiJoin.java | 2 +-
.../rule/TransformUncorrelatedSubqueryToJoin.java | 6 +-
.../relational/planner/iterative/rule/Util.java | 4 +-
.../planner/node/AggregationTableScanNode.java | 6 +-
.../node/AggregationTreeDeviceViewScanNode.java | 2 +-
.../AlignedAggregationTreeDeviceViewScanNode.java | 2 +-
.../planner/node/CorrelatedJoinNode.java | 2 +-
.../plan/relational/planner/node/CteScanNode.java | 2 +-
...onAlignedAggregationTreeDeviceViewScanNode.java | 2 +-
.../plan/relational/planner/node/Patterns.java | 3 +
.../relational/planner/node/TableScanNode.java | 2 +-
.../CheckSubqueryNodesAreRewritten.java | 2 +-
.../planner/optimizations/ParallelizeGrouping.java | 4 +-
.../optimizations/PlanNodeDecorrelator.java | 4 +-
.../PushLimitOffsetIntoTableScan.java | 2 +-
.../optimizations/PushPredicateIntoTableScan.java | 4 +-
.../optimizations/QueryCardinalityUtil.java | 2 +-
.../planner/optimizations/SortElimination.java | 2 +-
.../planner/optimizations/SymbolMapper.java | 6 +-
.../TransformAggregationToStreamable.java | 4 +-
...mQuantifiedComparisonApplyToCorrelatedJoin.java | 10 +--
.../optimizations/TransformSortToStreamSort.java | 2 +-
.../optimizations/UnaliasSymbolReferences.java | 12 ++--
.../relational/planner/optimizations/Util.java | 8 +--
.../relational/sql/ast/AlterColumnDataType.java | 1 +
.../plan/relational/sql/ast/AstVisitor.java | 32 ---------
.../plan/relational/sql/ast/ColumnDefinition.java | 2 +
.../sql/ast/DefaultTraversalVisitor.java | 4 ++
.../plan/relational/sql/ast/DeleteDevice.java | 4 +-
.../plan/relational/sql/ast/TypeParameter.java | 1 +
.../relational/sql/ast/ViewFieldDefinition.java | 2 +
.../relational/sql/ast/WindowSpecification.java | 1 +
.../plan/relational/sql/parser/AstBuilder.java | 16 ++---
.../plan/relational/sql/parser/SqlParser.java | 2 +-
.../relational/sql/util/ExpressionFormatter.java | 14 ++--
.../plan/relational/sql/util/SqlFormatter.java | 2 +-
.../plan/statement/component/GroupByComponent.java | 2 +-
.../component/GroupByConditionComponent.java | 2 +-
.../plan/statement/component/HavingCondition.java | 2 +-
.../plan/statement/component/IntoComponent.java | 2 +-
.../plan/statement/component/OrderByComponent.java | 2 +-
.../plan/statement/component/ResultColumn.java | 2 +-
.../plan/statement/component/SelectComponent.java | 2 +-
.../plan/statement/component/SortItem.java | 2 +-
.../plan/statement/component/WhereCondition.java | 2 +-
.../plan/statement/crud/InsertBaseStatement.java | 2 +-
.../plan/statement/crud/InsertTabletStatement.java | 2 +-
.../plan/statement/crud/QueryStatement.java | 8 +--
.../metadata/view/AlterLogicalViewStatement.java | 2 +-
.../metadata/view/CreateLogicalViewStatement.java | 4 +-
.../queryengine/plan/udf/UDFManagementService.java | 2 +-
.../dag/builder/EvaluationDAGBuilder.java | 4 +-
.../dag/input/ConstantInputReader.java | 2 +-
.../intermediate/ConstantIntermediateLayer.java | 2 +-
.../dag/intermediate/IntermediateLayer.java | 2 +-
.../dag/intermediate/MultiInputLayer.java | 2 +-
.../SingleInputMultiReferenceLayer.java | 2 +-
.../SingleInputSingleReferenceLayer.java | 2 +-
.../dag/memory/LayerMemoryAssigner.java | 6 +-
.../unary/scalar/CastFunctionTransformer.java | 2 +-
.../transformation/dag/udf/UDTFContext.java | 4 +-
.../transformation/dag/util/TransformUtils.java | 2 +-
.../schemaregion/impl/SchemaRegionMemoryImpl.java | 4 +-
.../reader/impl/TimeseriesReaderWithViewFetch.java | 4 +-
.../schemaengine/schemaregion/view/ViewPaths.java | 6 +-
.../view/visitor/TransformToExpressionVisitor.java | 63 +++++++++---------
.../apache/iotdb/db/utils/TypeInferenceUtils.java | 14 ++--
.../queryengine/common/schematree/NodeRefTest.java | 4 +-
.../execution/operator/OperatorMemoryTest.java | 12 ++--
.../execution/operator/TransformOperatorTest.java | 4 +-
.../ConvertPredicateToTimeFilterTest.java | 34 +++++-----
.../predicate/PredicatePushIntoScanTest.java | 36 +++++-----
.../predicate/PredicateRemoveNotTest.java | 30 ++++-----
.../expression/predicate/PredicateUtilsTest.java | 10 +--
.../predicate/TreePredicateConversionTest.java | 18 ++---
.../serde/CaseWhenThenExpressionTest.java | 18 ++---
.../plan/analyze/AggregationDescriptorTest.java | 2 +-
.../queryengine/plan/analyze/AnalyzeFailTest.java | 2 +-
.../db/queryengine/plan/analyze/AnalyzeTest.java | 44 ++++++-------
.../plan/analyze/ExpressionAnalyzerTest.java | 14 ++--
.../plan/optimization/AggregationPushDownTest.java | 8 +--
.../optimization/ColumnInjectionPushDownTest.java | 2 +-
.../plan/optimization/LimitOffsetPushDownTest.java | 12 ++--
.../plan/optimization/OptimizationTestUtil.java | 2 +-
.../plan/optimization/PredicatePushDownTest.java | 14 ++--
.../plan/optimization/TestPlanBuilder.java | 2 +-
.../plan/parser/StatementGeneratorTest.java | 16 ++---
.../queryengine/plan/planner/ExpressionTest.java | 6 +-
.../plan/planner/FragmentInstanceSerdeTest.java | 2 +-
.../plan/planner/PipelineBuilderTest.java | 2 +-
.../distribution/AggregationDistributionTest.java | 4 +-
.../plan/planner/distribution/Util.java | 4 +-
.../logical/DataQueryLogicalPlannerTest.java | 10 +--
.../logical/SchemaQueryLogicalPlannerTest.java | 4 +-
.../node/process/AggregationNodeSerdeTest.java | 6 +-
.../planner/node/process/FilterNodeSerdeTest.java | 8 +--
.../node/process/GroupByLevelNodeSerdeTest.java | 8 +--
.../node/process/GroupByTagNodeSerdeTest.java | 10 +--
.../planner/node/process/WindowNodeSerdeTest.java | 12 ++--
.../source/SeriesAggregationScanNodeSerdeTest.java | 8 +--
.../plan/relational/analyzer/AnalyzerTest.java | 4 +-
.../plan/relational/analyzer/AuthTest.java | 2 +-
.../analyzer/RowPatternRecognitionTest.java | 2 +-
.../plan/relational/analyzer/TSBSMetadata.java | 4 +-
.../relational/analyzer/TableFunctionTest.java | 6 +-
.../plan/relational/analyzer/TestMetadata.java | 8 +--
.../plan/relational/analyzer/TestPlanBuilder.java | 2 +-
.../planner/PatternRecognitionNodeSerdeTest.java | 1 +
.../plan/relational/planner/PlanTester.java | 2 +-
.../planner/assertions/AggregationFunction.java | 2 +-
.../assertions/AggregationFunctionProvider.java | 2 +-
.../planner/assertions/ExpressionVerifier.java | 4 +-
.../planner/assertions/LimitMatcher.java | 2 +-
.../relational/planner/assertions/PlanAssert.java | 2 +-
.../planner/assertions/PlanMatchPattern.java | 6 +-
.../planner/assertions/PlanMatchingVisitor.java | 4 +-
.../planner/assertions/SpecificationProvider.java | 4 +-
.../planner/assertions/SymbolAliases.java | 2 +-
.../plan/relational/planner/assertions/Util.java | 2 +-
.../planner/assertions/WindowFunctionMatcher.java | 2 +-
.../plan/statement/InsertStatementTest.java | 2 +-
.../binary/hmac/HmacMd5ColumnTransformerTest.java | 2 +-
.../binary/hmac/HmacSha1ColumnTransformerTest.java | 2 +-
.../hmac/HmacSha256ColumnTransformerTest.java | 2 +-
.../hmac/HmacSha512ColumnTransformerTest.java | 2 +-
.../column/ternary/LpadColumnTransformerTest.java | 2 +-
.../column/ternary/RpadColumnTransformerTest.java | 2 +-
.../column/unary/UnaryColumnTransformerTest.java | 2 +-
.../scalar/BlobLengthColumnTransformerTest.java | 2 +-
450 files changed, 1708 insertions(+), 1694 deletions(-)
diff --git a/iotdb-core/datanode/src/main/codegen/templates/ArithmeticColumnTransformerApi.ftl b/iotdb-core/datanode/src/main/codegen/templates/ArithmeticColumnTransformerApi.ftl
index 587c3097de6..75881b32b21 100644
--- a/iotdb-core/datanode/src/main/codegen/templates/ArithmeticColumnTransformerApi.ftl
+++ b/iotdb-core/datanode/src/main/codegen/templates/ArithmeticColumnTransformerApi.ftl
@@ -23,11 +23,11 @@ package org.apache.iotdb.db.queryengine.transformation.dag.column.binary;
import org.apache.tsfile.read.common.type.Type;
-import org.apache.iotdb.db.queryengine.plan.relational.function.arithmetic.AdditionResolver;
-import org.apache.iotdb.db.queryengine.plan.relational.function.arithmetic.DivisionResolver;
-import org.apache.iotdb.db.queryengine.plan.relational.function.arithmetic.ModulusResolver;
-import org.apache.iotdb.db.queryengine.plan.relational.function.arithmetic.MultiplicationResolver;
-import org.apache.iotdb.db.queryengine.plan.relational.function.arithmetic.SubtractionResolver;
+import org.apache.iotdb.db.node_commons.plan.relational.function.arithmetic.function.AdditionResolver;
+import org.apache.iotdb.db.node_commons.plan.relational.function.arithmetic.function.DivisionResolver;
+import org.apache.iotdb.db.node_commons.plan.relational.function.arithmetic.function.ModulusResolver;
+import org.apache.iotdb.db.node_commons.plan.relational.function.arithmetic.function.MultiplicationResolver;
+import org.apache.iotdb.db.node_commons.plan.relational.function.arithmetic.function.SubtractionResolver;
import org.apache.iotdb.db.node_commons.transformation.dag.column.column.ColumnTransformer;
import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.DoubleNegationColumnTransformer;
import org.apache.iotdb.db.queryengine.transformation.dag.column.unary.FloatNegationColumnTransformer;
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 330b29d929e..d054095cf97 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
@@ -25,6 +25,10 @@ import org.apache.iotdb.db.node_commons.plan.planner.plan.node.ICoreQueryPlanVis
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.SingleChildProcessNode;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.BoundSignature;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.FunctionKind;
+import org.apache.iotdb.db.node_commons.plan.relational.metadata.ResolvedFunction;
+import org.apache.iotdb.db.node_commons.plan.relational.planner.OrderingScheme;
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.AssignUniqueId;
@@ -69,6 +73,9 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.ComparisonExpres
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
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.node_commons.transformation.dag.column.column.ColumnTransformer;
+import org.apache.iotdb.db.node_commons.transformation.dag.column.column.leaf.LeafColumnTransformer;
import org.apache.iotdb.db.queryengine.execution.fragment.FragmentInstanceContext;
import org.apache.iotdb.db.queryengine.execution.operator.Operator;
import org.apache.iotdb.db.queryengine.execution.operator.OperatorContext;
@@ -147,10 +154,7 @@ import org.apache.iotdb.db.queryengine.execution.relational.ColumnTransformerBui
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.planner.plan.parameter.InputLocation;
-import org.apache.iotdb.db.queryengine.plan.relational.function.BoundSignature;
-import org.apache.iotdb.db.queryengine.plan.relational.function.FunctionKind;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.Metadata;
-import org.apache.iotdb.db.queryengine.plan.relational.metadata.ResolvedFunction;
import org.apache.iotdb.db.queryengine.plan.relational.planner.CastToBlobLiteralVisitor;
import org.apache.iotdb.db.queryengine.plan.relational.planner.CastToBooleanLiteralVisitor;
import org.apache.iotdb.db.queryengine.plan.relational.planner.CastToDateLiteralVisitor;
@@ -160,12 +164,8 @@ import org.apache.iotdb.db.queryengine.plan.relational.planner.CastToInt32Litera
import org.apache.iotdb.db.queryengine.plan.relational.planner.CastToInt64LiteralVisitor;
import org.apache.iotdb.db.queryengine.plan.relational.planner.CastToStringLiteralVisitor;
import org.apache.iotdb.db.queryengine.plan.relational.planner.CastToTimestampLiteralVisitor;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.OrderingScheme;
import org.apache.iotdb.db.queryengine.plan.relational.planner.SortOrder;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.CteScanNode;
-import org.apache.iotdb.db.queryengine.plan.relational.type.InternalTypeManager;
-import org.apache.iotdb.db.node_commons.transformation.dag.column.column.ColumnTransformer;
-import org.apache.iotdb.db.node_commons.transformation.dag.column.column.leaf.LeafColumnTransformer;
import org.apache.iotdb.db.utils.datastructure.SortKey;
import org.apache.iotdb.udf.api.relational.TableFunction;
import org.apache.iotdb.udf.api.relational.table.TableFunctionProcessorProvider;
@@ -211,6 +211,7 @@ 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.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.execution.operator.process.rowpattern.PhysicalValuePointer.CLASSIFIER;
import static org.apache.iotdb.db.queryengine.execution.operator.process.rowpattern.PhysicalValuePointer.MATCH_NUMBER;
@@ -228,7 +229,6 @@ import static org.apache.iotdb.db.queryengine.plan.relational.planner.SortOrder.
import static org.apache.iotdb.db.queryengine.plan.relational.planner.SortOrder.DESC_NULLS_LAST;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.RowsPerMatch.ONE;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.SkipToPosition.LAST;
-import static org.apache.iotdb.db.queryengine.plan.relational.type.InternalTypeManager.getTSDataType;
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/queryengine/plan/expression/Expression.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/Expression.java
similarity index 82%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/Expression.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/Expression.java
index 9b89a122b06..c46d2378df9 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/Expression.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/Expression.java
@@ -17,39 +17,39 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression;
+package org.apache.iotdb.db.node_commons.plan.expression.expression;
import org.apache.iotdb.commons.path.PartialPath;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.AdditionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.DivisionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.EqualToExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.GreaterEqualExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.GreaterThanExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LessEqualExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LessThanExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LogicAndExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LogicOrExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.ModuloExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.MultiplicationExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.NonEqualExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.SubtractionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.WhenThenExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.ConstantOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.NullOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimestampOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.FunctionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.other.CaseWhenThenExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.other.GroupByTimeExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ternary.BetweenExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.InExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.IsNullExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.LikeExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.LogicNotExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.NegationExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.RegularExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.ExpressionVisitor;
import org.apache.iotdb.db.queryengine.common.NodeRef;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.AdditionExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.DivisionExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.EqualToExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.GreaterEqualExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.GreaterThanExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LessEqualExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LessThanExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LogicAndExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LogicOrExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.ModuloExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.MultiplicationExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.NonEqualExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.SubtractionExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.WhenThenExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.ConstantOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.NullOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimestampOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.other.CaseWhenThenExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.other.GroupByTimeExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.ternary.BetweenExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.InExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.IsNullExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.LikeExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.LogicNotExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.NegationExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.RegularExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.ExpressionVisitor;
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.InputLocation;
import org.apache.iotdb.db.queryengine.plan.statement.StatementNode;
import org.apache.iotdb.db.queryengine.transformation.dag.memory.LayerMemoryAssigner;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/ExpressionFactory.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/ExpressionFactory.java
similarity index 79%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/ExpressionFactory.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/ExpressionFactory.java
index b45a90c5b80..6428bc6658c 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/ExpressionFactory.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/ExpressionFactory.java
@@ -17,33 +17,33 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression;
+package org.apache.iotdb.db.node_commons.plan.expression.expression;
import org.apache.iotdb.common.rpc.thrift.TAggregationType;
import org.apache.iotdb.commons.exception.IllegalPathException;
import org.apache.iotdb.commons.path.MeasurementPath;
import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.AdditionExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.EqualToExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.GreaterEqualExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.GreaterThanExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LessEqualExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LessThanExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LogicAndExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LogicOrExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.NonEqualExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.WhenThenExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.ConstantOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimestampOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.other.GroupByTimeExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.ternary.BetweenExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.InExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.IsNullExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.LikeExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.LogicNotExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.RegularExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.AdditionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.EqualToExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.GreaterEqualExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.GreaterThanExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LessEqualExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LessThanExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LogicAndExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LogicOrExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.NonEqualExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.WhenThenExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.ConstantOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimestampOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.FunctionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.other.GroupByTimeExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ternary.BetweenExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.InExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.IsNullExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.LikeExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.LogicNotExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.RegularExpression;
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.GroupByTimeParameter;
import org.apache.iotdb.db.queryengine.plan.udf.BuiltinTimeSeriesGeneratingFunction;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/ExpressionType.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/ExpressionType.java
similarity index 97%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/ExpressionType.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/ExpressionType.java
index 81a98956c47..bf4ec8790a2 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/ExpressionType.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/ExpressionType.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression;
+package org.apache.iotdb.db.node_commons.plan.expression.expression;
public enum ExpressionType {
CONSTANT((short) -4, (short) 1400),
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/UnknownExpressionTypeException.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/UnknownExpressionTypeException.java
similarity index 93%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/UnknownExpressionTypeException.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/UnknownExpressionTypeException.java
index 459f19680d6..51915a1b9e5 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/UnknownExpressionTypeException.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/UnknownExpressionTypeException.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression;
+package org.apache.iotdb.db.node_commons.plan.expression.expression;
public class UnknownExpressionTypeException extends IllegalArgumentException {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/AdditionExpression.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/AdditionExpression.java
similarity index 81%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/AdditionExpression.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/AdditionExpression.java
index 88383201cf7..853194a0325 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/AdditionExpression.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/AdditionExpression.java
@@ -17,11 +17,11 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.binary;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.binary;
-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.visitor.ExpressionVisitor;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionType;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.ExpressionVisitor;
import java.nio.ByteBuffer;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/ArithmeticBinaryExpression.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/ArithmeticBinaryExpression.java
similarity index 84%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/ArithmeticBinaryExpression.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/ArithmeticBinaryExpression.java
index a43e348ffe9..8b39751ea18 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/ArithmeticBinaryExpression.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/ArithmeticBinaryExpression.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.binary;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.binary;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.ExpressionVisitor;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.ExpressionVisitor;
import java.nio.ByteBuffer;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/BinaryExpression.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/BinaryExpression.java
similarity index 96%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/BinaryExpression.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/BinaryExpression.java
index 39189759a60..b25a1d66d9c 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/BinaryExpression.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/BinaryExpression.java
@@ -17,12 +17,12 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.binary;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.binary;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.ExpressionVisitor;
import org.apache.iotdb.db.queryengine.common.NodeRef;
import org.apache.iotdb.db.queryengine.execution.MemoryEstimationHelper;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.ExpressionVisitor;
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.InputLocation;
import org.apache.iotdb.db.queryengine.transformation.dag.memory.LayerMemoryAssigner;
import org.apache.iotdb.db.queryengine.transformation.dag.udf.UDTFExecutor;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/CompareBinaryExpression.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/CompareBinaryExpression.java
similarity index 71%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/CompareBinaryExpression.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/CompareBinaryExpression.java
index 7b2f744f1d0..7d565da51a1 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/CompareBinaryExpression.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/CompareBinaryExpression.java
@@ -17,18 +17,18 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.binary;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.binary;
-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.visitor.ExpressionVisitor;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionType;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.ExpressionVisitor;
import java.nio.ByteBuffer;
-import static org.apache.iotdb.db.queryengine.plan.expression.ExpressionType.GREATER_EQUAL;
-import static org.apache.iotdb.db.queryengine.plan.expression.ExpressionType.GREATER_THAN;
-import static org.apache.iotdb.db.queryengine.plan.expression.ExpressionType.LESS_EQUAL;
-import static org.apache.iotdb.db.queryengine.plan.expression.ExpressionType.LESS_THAN;
+import static org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionType.GREATER_EQUAL;
+import static org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionType.GREATER_THAN;
+import static org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionType.LESS_EQUAL;
+import static org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionType.LESS_THAN;
public abstract class CompareBinaryExpression extends BinaryExpression {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/DivisionExpression.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/DivisionExpression.java
similarity index 81%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/DivisionExpression.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/DivisionExpression.java
index ca8bd5a2d28..ce47ee1b3bd 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/DivisionExpression.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/DivisionExpression.java
@@ -17,11 +17,11 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.binary;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.binary;
-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.visitor.ExpressionVisitor;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionType;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.ExpressionVisitor;
import java.nio.ByteBuffer;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/EqualToExpression.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/EqualToExpression.java
similarity index 81%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/EqualToExpression.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/EqualToExpression.java
index ae61914c6a4..a9f17259e83 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/EqualToExpression.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/EqualToExpression.java
@@ -17,11 +17,11 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.binary;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.binary;
-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.visitor.ExpressionVisitor;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionType;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.ExpressionVisitor;
import java.nio.ByteBuffer;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/GreaterEqualExpression.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/GreaterEqualExpression.java
similarity index 81%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/GreaterEqualExpression.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/GreaterEqualExpression.java
index 3f8c32cb77e..82e65daddcb 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/GreaterEqualExpression.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/GreaterEqualExpression.java
@@ -17,11 +17,11 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.binary;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.binary;
-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.visitor.ExpressionVisitor;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionType;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.ExpressionVisitor;
import java.nio.ByteBuffer;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/GreaterThanExpression.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/GreaterThanExpression.java
similarity index 81%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/GreaterThanExpression.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/GreaterThanExpression.java
index 484a0ce51cc..d3b36dbf319 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/GreaterThanExpression.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/GreaterThanExpression.java
@@ -17,11 +17,11 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.binary;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.binary;
-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.visitor.ExpressionVisitor;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionType;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.ExpressionVisitor;
import java.nio.ByteBuffer;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/LessEqualExpression.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/LessEqualExpression.java
similarity index 81%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/LessEqualExpression.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/LessEqualExpression.java
index 74d80793f7e..73099bd28e1 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/LessEqualExpression.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/LessEqualExpression.java
@@ -17,11 +17,11 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.binary;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.binary;
-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.visitor.ExpressionVisitor;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionType;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.ExpressionVisitor;
import java.nio.ByteBuffer;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/LessThanExpression.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/LessThanExpression.java
similarity index 81%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/LessThanExpression.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/LessThanExpression.java
index 413476f2c49..f993a83e2b1 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/LessThanExpression.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/LessThanExpression.java
@@ -17,11 +17,11 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.binary;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.binary;
-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.visitor.ExpressionVisitor;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionType;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.ExpressionVisitor;
import java.nio.ByteBuffer;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/LogicAndExpression.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/LogicAndExpression.java
similarity index 81%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/LogicAndExpression.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/LogicAndExpression.java
index e73977fd148..fc3c637aa1b 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/LogicAndExpression.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/LogicAndExpression.java
@@ -17,11 +17,11 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.binary;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.binary;
-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.visitor.ExpressionVisitor;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionType;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.ExpressionVisitor;
import java.nio.ByteBuffer;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/LogicBinaryExpression.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/LogicBinaryExpression.java
similarity index 83%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/LogicBinaryExpression.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/LogicBinaryExpression.java
index a8adeb070b1..943c259f918 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/LogicBinaryExpression.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/LogicBinaryExpression.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.binary;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.binary;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.ExpressionVisitor;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.ExpressionVisitor;
import java.nio.ByteBuffer;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/LogicOrExpression.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/LogicOrExpression.java
similarity index 81%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/LogicOrExpression.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/LogicOrExpression.java
index 134208d0423..20919c90b42 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/LogicOrExpression.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/LogicOrExpression.java
@@ -17,11 +17,11 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.binary;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.binary;
-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.visitor.ExpressionVisitor;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionType;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.ExpressionVisitor;
import java.nio.ByteBuffer;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/ModuloExpression.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/ModuloExpression.java
similarity index 81%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/ModuloExpression.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/ModuloExpression.java
index 6e98a30bd32..f646c4674bb 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/ModuloExpression.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/ModuloExpression.java
@@ -17,11 +17,11 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.binary;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.binary;
-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.visitor.ExpressionVisitor;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionType;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.ExpressionVisitor;
import java.nio.ByteBuffer;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/MultiplicationExpression.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/MultiplicationExpression.java
similarity index 81%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/MultiplicationExpression.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/MultiplicationExpression.java
index 8ed7d625d5b..8659cf91136 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/MultiplicationExpression.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/MultiplicationExpression.java
@@ -17,11 +17,11 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.binary;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.binary;
-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.visitor.ExpressionVisitor;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionType;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.ExpressionVisitor;
import java.nio.ByteBuffer;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/NonEqualExpression.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/NonEqualExpression.java
similarity index 81%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/NonEqualExpression.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/NonEqualExpression.java
index e1a19a64d2f..6f2e2894ef5 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/NonEqualExpression.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/NonEqualExpression.java
@@ -17,11 +17,11 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.binary;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.binary;
-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.visitor.ExpressionVisitor;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionType;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.ExpressionVisitor;
import java.nio.ByteBuffer;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/SubtractionExpression.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/SubtractionExpression.java
similarity index 81%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/SubtractionExpression.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/SubtractionExpression.java
index c6ee62cbeaa..95f46de4639 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/SubtractionExpression.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/SubtractionExpression.java
@@ -17,11 +17,11 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.binary;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.binary;
-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.visitor.ExpressionVisitor;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionType;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.ExpressionVisitor;
import java.nio.ByteBuffer;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/WhenThenExpression.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/WhenThenExpression.java
similarity index 86%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/WhenThenExpression.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/WhenThenExpression.java
index c12c09852af..d69e0fd7506 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/binary/WhenThenExpression.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/binary/WhenThenExpression.java
@@ -17,11 +17,11 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.binary;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.binary;
-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.visitor.ExpressionVisitor;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionType;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.ExpressionVisitor;
import java.nio.ByteBuffer;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/leaf/ConstantOperand.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/leaf/ConstantOperand.java
similarity index 93%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/leaf/ConstantOperand.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/leaf/ConstantOperand.java
index f4527cdc755..391c234d080 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/leaf/ConstantOperand.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/leaf/ConstantOperand.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.leaf;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.leaf;
-import org.apache.iotdb.db.queryengine.plan.expression.ExpressionType;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.ExpressionVisitor;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionType;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.ExpressionVisitor;
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.InputLocation;
import org.apache.iotdb.db.queryengine.transformation.dag.memory.LayerMemoryAssigner;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/leaf/LeafOperand.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/leaf/LeafOperand.java
similarity index 91%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/leaf/LeafOperand.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/leaf/LeafOperand.java
index 31d8aa4ff07..3173d895905 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/leaf/LeafOperand.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/leaf/LeafOperand.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.leaf;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.leaf;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
import org.apache.iotdb.db.queryengine.common.NodeRef;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
import org.apache.iotdb.db.queryengine.transformation.dag.udf.UDTFExecutor;
import org.apache.tsfile.enums.TSDataType;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/leaf/NullOperand.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/leaf/NullOperand.java
similarity index 90%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/leaf/NullOperand.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/leaf/NullOperand.java
index 4e2781a133c..1988a70f672 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/leaf/NullOperand.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/leaf/NullOperand.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.leaf;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.leaf;
-import org.apache.iotdb.db.queryengine.plan.expression.ExpressionType;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.ExpressionVisitor;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionType;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.ExpressionVisitor;
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.InputLocation;
import org.apache.iotdb.db.queryengine.transformation.dag.memory.LayerMemoryAssigner;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/leaf/TimeSeriesOperand.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/leaf/TimeSeriesOperand.java
similarity index 94%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/leaf/TimeSeriesOperand.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/leaf/TimeSeriesOperand.java
index 4ce4c00fe4c..c7db6b304f4 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/leaf/TimeSeriesOperand.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/leaf/TimeSeriesOperand.java
@@ -17,13 +17,13 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.leaf;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.leaf;
import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.commons.path.PathDeserializeUtil;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionType;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.ExpressionVisitor;
import org.apache.iotdb.db.queryengine.execution.MemoryEstimationHelper;
-import org.apache.iotdb.db.queryengine.plan.expression.ExpressionType;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.ExpressionVisitor;
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.InputLocation;
import org.apache.iotdb.db.queryengine.transformation.dag.memory.LayerMemoryAssigner;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/leaf/TimestampOperand.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/leaf/TimestampOperand.java
similarity index 91%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/leaf/TimestampOperand.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/leaf/TimestampOperand.java
index 6c817a20336..ff3c8ba01bf 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/leaf/TimestampOperand.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/leaf/TimestampOperand.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.leaf;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.leaf;
-import org.apache.iotdb.db.queryengine.plan.expression.ExpressionType;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.ExpressionVisitor;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionType;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.ExpressionVisitor;
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.InputLocation;
import org.apache.iotdb.db.queryengine.transformation.dag.memory.LayerMemoryAssigner;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/FunctionExpression.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/multi/FunctionExpression.java
similarity index 96%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/FunctionExpression.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/multi/FunctionExpression.java
index aef4a199c39..d3cd620d3a5 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/FunctionExpression.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/multi/FunctionExpression.java
@@ -17,17 +17,17 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.multi;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.multi;
import org.apache.iotdb.commons.conf.IoTDBConstant;
import org.apache.iotdb.commons.path.PartialPath;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionType;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.builtin.BuiltInScalarFunctionHelperFactory;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.ExpressionVisitor;
import org.apache.iotdb.db.queryengine.common.NodeRef;
import org.apache.iotdb.db.queryengine.execution.MemoryEstimationHelper;
-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.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.builtin.BuiltInScalarFunctionHelperFactory;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.ExpressionVisitor;
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.InputLocation;
import org.apache.iotdb.db.queryengine.plan.udf.BuiltinAggregationFunction;
import org.apache.iotdb.db.queryengine.plan.udf.BuiltinScalarFunction;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/FunctionType.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/multi/FunctionType.java
similarity index 92%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/FunctionType.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/multi/FunctionType.java
index ec37e974ee3..95d4e372152 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/FunctionType.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/multi/FunctionType.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.multi;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.multi;
/** */
public enum FunctionType {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/BuiltInFunctionHelper.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/multi/builtin/BuiltInFunctionHelper.java
similarity index 91%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/BuiltInFunctionHelper.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/multi/builtin/BuiltInFunctionHelper.java
index 9a7cdfca87f..062f047ed83 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/BuiltInFunctionHelper.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/multi/builtin/BuiltInFunctionHelper.java
@@ -17,6 +17,6 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.multi.builtin;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.multi.builtin;
public interface BuiltInFunctionHelper {}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/BuiltInScalarFunctionHelper.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/multi/builtin/BuiltInScalarFunctionHelper.java
similarity index 93%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/BuiltInScalarFunctionHelper.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/multi/builtin/BuiltInScalarFunctionHelper.java
index 51134877fb6..aef002a5768 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/BuiltInScalarFunctionHelper.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/multi/builtin/BuiltInScalarFunctionHelper.java
@@ -17,12 +17,12 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.multi.builtin;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.multi.builtin;
import org.apache.iotdb.db.exception.sql.SemanticException;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
-import org.apache.iotdb.db.queryengine.transformation.api.LayerReader;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.FunctionExpression;
import org.apache.iotdb.db.node_commons.transformation.dag.column.column.ColumnTransformer;
+import org.apache.iotdb.db.queryengine.transformation.api.LayerReader;
import org.apache.iotdb.db.queryengine.transformation.dag.transformer.Transformer;
import org.apache.tsfile.enums.TSDataType;
@@ -71,7 +71,7 @@ public interface BuiltInScalarFunctionHelper extends BuiltInFunctionHelper {
/**
* Construct a {@link Transformer} for this built-in function in {@link
- * org.apache.iotdb.db.queryengine.plan.expression.visitor.IntermediateLayerVisitor}
+ * org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.IntermediateLayerVisitor}
*
* @param expression The FunctionExpression representing the scalar function
* @param layerReader input reader
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/BuiltInScalarFunctionHelperFactory.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/multi/builtin/BuiltInScalarFunctionHelperFactory.java
similarity index 71%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/BuiltInScalarFunctionHelperFactory.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/multi/builtin/BuiltInScalarFunctionHelperFactory.java
index 80cf9d28276..6a9066dfa16 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/BuiltInScalarFunctionHelperFactory.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/multi/builtin/BuiltInScalarFunctionHelperFactory.java
@@ -17,13 +17,13 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.multi.builtin;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.multi.builtin;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.builtin.helper.CastFunctionHelper;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.builtin.helper.DiffFunctionHelper;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.builtin.helper.ReplaceFunctionHelper;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.builtin.helper.RoundFunctionHelper;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.builtin.helper.SubStringFunctionHelper;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.builtin.helper.CastFunctionHelper;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.builtin.helper.DiffFunctionHelper;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.builtin.helper.ReplaceFunctionHelper;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.builtin.helper.RoundFunctionHelper;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.builtin.helper.SubStringFunctionHelper;
public class BuiltInScalarFunctionHelperFactory {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/helper/CastFunctionHelper.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/multi/builtin/helper/CastFunctionHelper.java
similarity index 97%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/helper/CastFunctionHelper.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/multi/builtin/helper/CastFunctionHelper.java
index 40f46cde82e..f3a541ab0b7 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/helper/CastFunctionHelper.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/multi/builtin/helper/CastFunctionHelper.java
@@ -17,15 +17,15 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.multi.builtin.helper;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.multi.builtin.helper;
import org.apache.iotdb.db.exception.sql.SemanticException;
-import org.apache.iotdb.db.queryengine.common.SessionInfo;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.builtin.BuiltInScalarFunctionHelper;
-import org.apache.iotdb.db.queryengine.transformation.api.LayerReader;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.FunctionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.builtin.BuiltInScalarFunctionHelper;
import org.apache.iotdb.db.node_commons.transformation.dag.column.column.ColumnTransformer;
import org.apache.iotdb.db.node_commons.transformation.dag.column.column.unary.scalar.CastFunctionColumnTransformer;
+import org.apache.iotdb.db.queryengine.common.SessionInfo;
+import org.apache.iotdb.db.queryengine.transformation.api.LayerReader;
import org.apache.iotdb.db.queryengine.transformation.dag.transformer.Transformer;
import org.apache.iotdb.db.queryengine.transformation.dag.transformer.unary.scalar.CastFunctionTransformer;
import org.apache.iotdb.db.utils.DateTimeUtils;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/helper/DiffFunctionHelper.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/multi/builtin/helper/DiffFunctionHelper.java
similarity index 90%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/helper/DiffFunctionHelper.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/multi/builtin/helper/DiffFunctionHelper.java
index 8814d753f77..b39c5159004 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/helper/DiffFunctionHelper.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/multi/builtin/helper/DiffFunctionHelper.java
@@ -17,14 +17,14 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.multi.builtin.helper;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.multi.builtin.helper;
import org.apache.iotdb.db.exception.sql.SemanticException;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.builtin.BuiltInScalarFunctionHelper;
-import org.apache.iotdb.db.queryengine.transformation.api.LayerReader;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.FunctionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.builtin.BuiltInScalarFunctionHelper;
import org.apache.iotdb.db.node_commons.transformation.dag.column.column.ColumnTransformer;
import org.apache.iotdb.db.node_commons.transformation.dag.column.column.unary.scalar.DiffFunctionColumnTransformer;
+import org.apache.iotdb.db.queryengine.transformation.api.LayerReader;
import org.apache.iotdb.db.queryengine.transformation.dag.transformer.Transformer;
import org.apache.iotdb.db.queryengine.transformation.dag.transformer.unary.scalar.DiffFunctionTransformer;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/helper/ReplaceFunctionHelper.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/multi/builtin/helper/ReplaceFunctionHelper.java
similarity index 92%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/helper/ReplaceFunctionHelper.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/multi/builtin/helper/ReplaceFunctionHelper.java
index 9f7def63179..882eb58505b 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/helper/ReplaceFunctionHelper.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/multi/builtin/helper/ReplaceFunctionHelper.java
@@ -17,14 +17,14 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.multi.builtin.helper;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.multi.builtin.helper;
import org.apache.iotdb.db.exception.sql.SemanticException;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.builtin.BuiltInScalarFunctionHelper;
-import org.apache.iotdb.db.queryengine.transformation.api.LayerReader;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.FunctionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.builtin.BuiltInScalarFunctionHelper;
import org.apache.iotdb.db.node_commons.transformation.dag.column.column.ColumnTransformer;
import org.apache.iotdb.db.node_commons.transformation.dag.column.column.unary.scalar.ReplaceFunctionColumnTransformer;
+import org.apache.iotdb.db.queryengine.transformation.api.LayerReader;
import org.apache.iotdb.db.queryengine.transformation.dag.transformer.Transformer;
import org.apache.iotdb.db.queryengine.transformation.dag.transformer.unary.scalar.ReplaceFunctionTransformer;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/helper/RoundFunctionHelper.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/multi/builtin/helper/RoundFunctionHelper.java
similarity index 92%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/helper/RoundFunctionHelper.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/multi/builtin/helper/RoundFunctionHelper.java
index 51abf6b268b..46eef5cf612 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/helper/RoundFunctionHelper.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/multi/builtin/helper/RoundFunctionHelper.java
@@ -17,14 +17,14 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.multi.builtin.helper;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.multi.builtin.helper;
import org.apache.iotdb.db.exception.sql.SemanticException;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.builtin.BuiltInScalarFunctionHelper;
-import org.apache.iotdb.db.queryengine.transformation.api.LayerReader;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.FunctionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.builtin.BuiltInScalarFunctionHelper;
import org.apache.iotdb.db.node_commons.transformation.dag.column.column.ColumnTransformer;
import org.apache.iotdb.db.node_commons.transformation.dag.column.column.unary.scalar.RoundFunctionColumnTransformer;
+import org.apache.iotdb.db.queryengine.transformation.api.LayerReader;
import org.apache.iotdb.db.queryengine.transformation.dag.transformer.Transformer;
import org.apache.iotdb.db.queryengine.transformation.dag.transformer.unary.scalar.RoundFunctionTransformer;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/helper/SubStringFunctionHelper.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/multi/builtin/helper/SubStringFunctionHelper.java
similarity index 95%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/helper/SubStringFunctionHelper.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/multi/builtin/helper/SubStringFunctionHelper.java
index 4863485290d..a4b60cca2f0 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/multi/builtin/helper/SubStringFunctionHelper.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/multi/builtin/helper/SubStringFunctionHelper.java
@@ -17,13 +17,13 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.multi.builtin.helper;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.multi.builtin.helper;
import org.apache.iotdb.db.exception.sql.SemanticException;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.builtin.BuiltInScalarFunctionHelper;
-import org.apache.iotdb.db.queryengine.transformation.api.LayerReader;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.FunctionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.builtin.BuiltInScalarFunctionHelper;
import org.apache.iotdb.db.node_commons.transformation.dag.column.column.ColumnTransformer;
+import org.apache.iotdb.db.queryengine.transformation.api.LayerReader;
import org.apache.iotdb.db.queryengine.transformation.dag.transformer.Transformer;
import org.apache.iotdb.db.queryengine.transformation.dag.transformer.unary.scalar.SubStringFunctionColumnTransformer;
import org.apache.iotdb.db.queryengine.transformation.dag.transformer.unary.scalar.SubStringFunctionTransformer;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/other/CaseWhenThenExpression.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/other/CaseWhenThenExpression.java
similarity index 92%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/other/CaseWhenThenExpression.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/other/CaseWhenThenExpression.java
index c0a30bb6854..6674e082f1e 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/other/CaseWhenThenExpression.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/other/CaseWhenThenExpression.java
@@ -17,15 +17,15 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.other;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.other;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionType;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.WhenThenExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.NullOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.ExpressionVisitor;
import org.apache.iotdb.db.queryengine.common.NodeRef;
import org.apache.iotdb.db.queryengine.execution.MemoryEstimationHelper;
-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.binary.WhenThenExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.NullOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.ExpressionVisitor;
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.InputLocation;
import org.apache.iotdb.db.queryengine.transformation.dag.memory.LayerMemoryAssigner;
import org.apache.iotdb.db.queryengine.transformation.dag.udf.UDTFExecutor;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/other/GroupByTimeExpression.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/other/GroupByTimeExpression.java
similarity index 93%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/other/GroupByTimeExpression.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/other/GroupByTimeExpression.java
index 4ee3c174bc4..9d686300158 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/other/GroupByTimeExpression.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/other/GroupByTimeExpression.java
@@ -17,12 +17,12 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.other;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.other;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionType;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.ExpressionVisitor;
import org.apache.iotdb.db.queryengine.common.NodeRef;
-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.visitor.ExpressionVisitor;
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.InputLocation;
import org.apache.iotdb.db.queryengine.transformation.dag.memory.LayerMemoryAssigner;
import org.apache.iotdb.db.queryengine.transformation.dag.udf.UDTFExecutor;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/ternary/BetweenExpression.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/ternary/BetweenExpression.java
similarity index 91%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/ternary/BetweenExpression.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/ternary/BetweenExpression.java
index 00b307df340..3d18d9a9645 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/ternary/BetweenExpression.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/ternary/BetweenExpression.java
@@ -19,12 +19,12 @@
*
*/
-package org.apache.iotdb.db.queryengine.plan.expression.ternary;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.ternary;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionType;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.ExpressionVisitor;
import org.apache.iotdb.db.queryengine.execution.MemoryEstimationHelper;
-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.visitor.ExpressionVisitor;
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/expression/ternary/TernaryExpression.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/ternary/TernaryExpression.java
similarity index 95%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/ternary/TernaryExpression.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/ternary/TernaryExpression.java
index 3fb533a9f00..dc29782ba34 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/ternary/TernaryExpression.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/ternary/TernaryExpression.java
@@ -19,11 +19,11 @@
*
*/
-package org.apache.iotdb.db.queryengine.plan.expression.ternary;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.ternary;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.ExpressionVisitor;
import org.apache.iotdb.db.queryengine.common.NodeRef;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.ExpressionVisitor;
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.InputLocation;
import org.apache.iotdb.db.queryengine.transformation.dag.memory.LayerMemoryAssigner;
import org.apache.iotdb.db.queryengine.transformation.dag.udf.UDTFExecutor;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/unary/InExpression.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/unary/InExpression.java
similarity index 87%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/unary/InExpression.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/unary/InExpression.java
index 0ace411cd94..3bf47238b78 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/unary/InExpression.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/unary/InExpression.java
@@ -17,16 +17,16 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.unary;
-
+package org.apache.iotdb.db.node_commons.plan.expression.expression.unary;
+
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionType;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.ConstantOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.LeafOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.FunctionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.ExpressionVisitor;
import org.apache.iotdb.db.queryengine.execution.MemoryEstimationHelper;
-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.leaf.ConstantOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.LeafOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.ExpressionVisitor;
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/expression/unary/IsNullExpression.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/unary/IsNullExpression.java
similarity index 88%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/unary/IsNullExpression.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/unary/IsNullExpression.java
index 9542b29e2da..d34ac84e4b5 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/unary/IsNullExpression.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/unary/IsNullExpression.java
@@ -17,12 +17,12 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.unary;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.unary;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionType;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.ExpressionVisitor;
import org.apache.iotdb.db.queryengine.execution.MemoryEstimationHelper;
-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.visitor.ExpressionVisitor;
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/expression/unary/LikeExpression.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/unary/LikeExpression.java
similarity index 93%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/unary/LikeExpression.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/unary/LikeExpression.java
index f9cdf0427bf..42f089140d3 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/unary/LikeExpression.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/unary/LikeExpression.java
@@ -17,13 +17,13 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.unary;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.unary;
import org.apache.iotdb.db.exception.sql.SemanticException;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionType;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.ExpressionVisitor;
import org.apache.iotdb.db.queryengine.execution.MemoryEstimationHelper;
-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.visitor.ExpressionVisitor;
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/expression/unary/LogicNotExpression.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/unary/LogicNotExpression.java
similarity index 76%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/unary/LogicNotExpression.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/unary/LogicNotExpression.java
index 9797376e545..e910eebb4d8 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/unary/LogicNotExpression.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/unary/LogicNotExpression.java
@@ -17,16 +17,16 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.unary;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.unary;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionType;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.ConstantOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.LeafOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.FunctionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.ExpressionVisitor;
import org.apache.iotdb.db.queryengine.execution.MemoryEstimationHelper;
-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.leaf.ConstantOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.LeafOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.ExpressionVisitor;
import org.apache.tsfile.utils.RamUsageEstimator;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/unary/NegationExpression.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/unary/NegationExpression.java
similarity index 79%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/unary/NegationExpression.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/unary/NegationExpression.java
index d496a05c261..d13a1a9da9c 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/unary/NegationExpression.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/unary/NegationExpression.java
@@ -17,16 +17,16 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.unary;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.unary;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionType;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.ConstantOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.NullOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.FunctionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.ExpressionVisitor;
import org.apache.iotdb.db.queryengine.execution.MemoryEstimationHelper;
-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.leaf.ConstantOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.NullOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.ExpressionVisitor;
import org.apache.tsfile.utils.RamUsageEstimator;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/unary/RegularExpression.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/unary/RegularExpression.java
similarity index 91%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/unary/RegularExpression.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/unary/RegularExpression.java
index 06194ef5bc7..4d974f65404 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/unary/RegularExpression.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/unary/RegularExpression.java
@@ -17,12 +17,12 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.unary;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.unary;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionType;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.ExpressionVisitor;
import org.apache.iotdb.db.queryengine.execution.MemoryEstimationHelper;
-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.visitor.ExpressionVisitor;
import org.apache.tsfile.external.commons.lang3.Validate;
import org.apache.tsfile.utils.RamUsageEstimator;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/unary/UnaryExpression.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/unary/UnaryExpression.java
similarity index 93%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/unary/UnaryExpression.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/unary/UnaryExpression.java
index 8b0689299ff..20fc66cc08d 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/unary/UnaryExpression.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/unary/UnaryExpression.java
@@ -17,11 +17,11 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.unary;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.unary;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.ExpressionVisitor;
import org.apache.iotdb.db.queryengine.common.NodeRef;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.ExpressionVisitor;
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.InputLocation;
import org.apache.iotdb.db.queryengine.transformation.dag.memory.LayerMemoryAssigner;
import org.apache.iotdb.db.queryengine.transformation.dag.udf.UDTFExecutor;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/BindTypeForTimeSeriesOperandVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/BindTypeForTimeSeriesOperandVisitor.java
similarity index 87%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/BindTypeForTimeSeriesOperandVisitor.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/BindTypeForTimeSeriesOperandVisitor.java
index 13df1ff2c2b..5bccacbb7fe 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/BindTypeForTimeSeriesOperandVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/BindTypeForTimeSeriesOperandVisitor.java
@@ -17,15 +17,15 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.visitor;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.visitor;
import org.apache.iotdb.commons.exception.IllegalPathException;
import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.commons.schema.column.ColumnHeader;
import org.apache.iotdb.db.exception.sql.SemanticException;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.LeafOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.LeafOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimeSeriesOperand;
import java.util.List;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/CollectAggregationExpressionsVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/CollectAggregationExpressionsVisitor.java
similarity index 80%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/CollectAggregationExpressionsVisitor.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/CollectAggregationExpressionsVisitor.java
index 5595a92585c..bdb5094c2e3 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/CollectAggregationExpressionsVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/CollectAggregationExpressionsVisitor.java
@@ -17,11 +17,11 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.visitor;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.visitor;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.LeafOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.LeafOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.FunctionExpression;
import java.util.Collections;
import java.util.List;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/CollectSourceExpressionsVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/CollectSourceExpressionsVisitor.java
similarity index 77%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/CollectSourceExpressionsVisitor.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/CollectSourceExpressionsVisitor.java
index 156dbe72d17..de09d3e78a2 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/CollectSourceExpressionsVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/CollectSourceExpressionsVisitor.java
@@ -17,12 +17,12 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.visitor;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.visitor;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.LeafOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.LeafOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.FunctionExpression;
import java.util.Collections;
import java.util.List;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/CollectVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/CollectVisitor.java
similarity index 79%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/CollectVisitor.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/CollectVisitor.java
index 16e545d768d..05969a44028 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/CollectVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/CollectVisitor.java
@@ -17,13 +17,13 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.visitor;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.visitor;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.BinaryExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.other.CaseWhenThenExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.ternary.TernaryExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.UnaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.BinaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.other.CaseWhenThenExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ternary.TernaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.UnaryExpression;
import java.util.ArrayList;
import java.util.List;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/ColumnTransformerVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/ColumnTransformerVisitor.java
similarity index 94%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/ColumnTransformerVisitor.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/ColumnTransformerVisitor.java
index ca38e32f3c7..4722897fcce 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/ColumnTransformerVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/ColumnTransformerVisitor.java
@@ -17,28 +17,25 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.visitor;
-
-import org.apache.iotdb.db.queryengine.common.NodeRef;
-import org.apache.iotdb.db.queryengine.plan.analyze.TypeProvider;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.BinaryExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.WhenThenExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.ConstantOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.NullOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimestampOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.builtin.BuiltInScalarFunctionHelperFactory;
-import org.apache.iotdb.db.queryengine.plan.expression.other.CaseWhenThenExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.ternary.BetweenExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.ternary.TernaryExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.InExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.IsNullExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.LikeExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.RegularExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.UnaryExpression;
-import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.InputLocation;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.visitor;
+
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.BinaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.WhenThenExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.ConstantOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.NullOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimestampOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.FunctionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.builtin.BuiltInScalarFunctionHelperFactory;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.other.CaseWhenThenExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ternary.BetweenExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ternary.TernaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.InExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.IsNullExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.LikeExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.RegularExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.UnaryExpression;
import org.apache.iotdb.db.node_commons.transformation.dag.column.column.ColumnTransformer;
import org.apache.iotdb.db.node_commons.transformation.dag.column.column.TreeCaseWhenThenColumnTransformer;
import org.apache.iotdb.db.node_commons.transformation.dag.column.column.binary.ArithmeticAdditionColumnTransformer;
@@ -54,8 +51,6 @@ import org.apache.iotdb.db.node_commons.transformation.dag.column.column.binary.
import org.apache.iotdb.db.node_commons.transformation.dag.column.column.binary.CompareNonEqualColumnTransformer;
import org.apache.iotdb.db.node_commons.transformation.dag.column.column.binary.LogicAndColumnTransformer;
import org.apache.iotdb.db.node_commons.transformation.dag.column.column.binary.LogicOrColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.LongDivisionLongColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.LongModulusLongColumnTransformer;
import org.apache.iotdb.db.node_commons.transformation.dag.column.column.leaf.ConstantColumnTransformer;
import org.apache.iotdb.db.node_commons.transformation.dag.column.column.leaf.IdentityColumnTransformer;
import org.apache.iotdb.db.node_commons.transformation.dag.column.column.leaf.LeafColumnTransformer;
@@ -69,6 +64,11 @@ import org.apache.iotdb.db.node_commons.transformation.dag.column.column.unary.I
import org.apache.iotdb.db.node_commons.transformation.dag.column.column.unary.LikeColumnTransformer;
import org.apache.iotdb.db.node_commons.transformation.dag.column.column.unary.LogicNotColumnTransformer;
import org.apache.iotdb.db.node_commons.transformation.dag.column.column.unary.RegularColumnTransformer;
+import org.apache.iotdb.db.queryengine.common.NodeRef;
+import org.apache.iotdb.db.queryengine.plan.analyze.TypeProvider;
+import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.InputLocation;
+import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.LongDivisionLongColumnTransformer;
+import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.LongModulusLongColumnTransformer;
import org.apache.iotdb.db.queryengine.transformation.dag.udf.UDTFContext;
import org.apache.iotdb.db.queryengine.transformation.dag.udf.UDTFExecutor;
import org.apache.iotdb.db.queryengine.transformation.dag.util.TransformUtils;
@@ -84,7 +84,7 @@ import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
-import static org.apache.iotdb.db.queryengine.plan.expression.ExpressionType.BETWEEN;
+import static org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionType.BETWEEN;
import static org.apache.tsfile.enums.TSDataType.UNKNOWN;
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/expression/visitor/CompleteMeasurementSchemaVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/CompleteMeasurementSchemaVisitor.java
similarity index 86%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/CompleteMeasurementSchemaVisitor.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/CompleteMeasurementSchemaVisitor.java
index f8bb7b8dbe7..8ef1018dfcb 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/CompleteMeasurementSchemaVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/CompleteMeasurementSchemaVisitor.java
@@ -17,19 +17,19 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.visitor;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.visitor;
import org.apache.iotdb.commons.path.MeasurementPath;
import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.db.exception.metadata.view.BrokenViewException;
import org.apache.iotdb.db.exception.sql.SemanticException;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.BinaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.FunctionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ternary.TernaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.UnaryExpression;
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.binary.BinaryExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.ternary.TernaryExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.UnaryExpression;
import java.util.ArrayList;
import java.util.List;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/ConcatDeviceVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/ConcatDeviceVisitor.java
similarity index 82%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/ConcatDeviceVisitor.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/ConcatDeviceVisitor.java
index b62e1a23045..351fb697a76 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/ConcatDeviceVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/ConcatDeviceVisitor.java
@@ -17,11 +17,11 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.visitor;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.visitor;
import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimeSeriesOperand;
public class ConcatDeviceVisitor extends ReconstructVisitor<String> {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/CountTimeAggregationAmountVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/CountTimeAggregationAmountVisitor.java
similarity index 84%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/CountTimeAggregationAmountVisitor.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/CountTimeAggregationAmountVisitor.java
index 1a573f856c2..c3f5182fc56 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/CountTimeAggregationAmountVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/CountTimeAggregationAmountVisitor.java
@@ -17,12 +17,12 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.visitor;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.visitor;
import org.apache.iotdb.db.exception.sql.SemanticException;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.LeafOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.LeafOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.FunctionExpression;
import java.util.Collections;
import java.util.List;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/ExistUnknownTypeInExpression.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/ExistUnknownTypeInExpression.java
similarity index 80%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/ExistUnknownTypeInExpression.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/ExistUnknownTypeInExpression.java
index d786e48dd00..90630ae886d 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/ExistUnknownTypeInExpression.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/ExistUnknownTypeInExpression.java
@@ -17,12 +17,12 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.visitor;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.visitor;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.LeafOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.LeafOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.FunctionExpression;
import org.apache.tsfile.enums.TSDataType;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/ExpressionAnalyzeVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/ExpressionAnalyzeVisitor.java
similarity index 89%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/ExpressionAnalyzeVisitor.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/ExpressionAnalyzeVisitor.java
index e31921d7c64..fe2e76db845 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/ExpressionAnalyzeVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/ExpressionAnalyzeVisitor.java
@@ -17,9 +17,9 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.visitor;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.visitor;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
import java.util.List;
import java.util.stream.Collectors;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/ExpressionNormalizeVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/ExpressionNormalizeVisitor.java
similarity index 87%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/ExpressionNormalizeVisitor.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/ExpressionNormalizeVisitor.java
index 59868395c39..54bea4dc9c3 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/ExpressionNormalizeVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/ExpressionNormalizeVisitor.java
@@ -17,13 +17,13 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.visitor;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.visitor;
import org.apache.iotdb.commons.path.MeasurementPath;
import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.FunctionExpression;
import java.util.List;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/ExpressionVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/ExpressionVisitor.java
similarity index 66%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/ExpressionVisitor.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/ExpressionVisitor.java
index 74537fb60b8..2e7ce20c82d 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/ExpressionVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/ExpressionVisitor.java
@@ -17,44 +17,44 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.visitor;
-
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.AdditionExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.ArithmeticBinaryExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.BinaryExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.CompareBinaryExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.DivisionExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.EqualToExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.GreaterEqualExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.GreaterThanExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LessEqualExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LessThanExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LogicAndExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LogicBinaryExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LogicOrExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.ModuloExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.MultiplicationExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.NonEqualExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.SubtractionExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.WhenThenExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.ConstantOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.LeafOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.NullOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimestampOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.other.CaseWhenThenExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.other.GroupByTimeExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.ternary.BetweenExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.ternary.TernaryExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.InExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.IsNullExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.LikeExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.LogicNotExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.NegationExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.RegularExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.UnaryExpression;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.visitor;
+
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.AdditionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.ArithmeticBinaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.BinaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.CompareBinaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.DivisionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.EqualToExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.GreaterEqualExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.GreaterThanExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LessEqualExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LessThanExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LogicAndExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LogicBinaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LogicOrExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.ModuloExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.MultiplicationExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.NonEqualExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.SubtractionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.WhenThenExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.ConstantOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.LeafOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.NullOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimestampOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.FunctionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.other.CaseWhenThenExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.other.GroupByTimeExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ternary.BetweenExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ternary.TernaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.InExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.IsNullExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.LikeExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.LogicNotExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.NegationExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.RegularExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.UnaryExpression;
/**
* This class provides a visitor of {@link Expression}, which can be extended to create a visitor
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/GetMeasurementExpressionVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/GetMeasurementExpressionVisitor.java
similarity index 90%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/GetMeasurementExpressionVisitor.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/GetMeasurementExpressionVisitor.java
index 4eefc378cfa..b1f58d6545e 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/GetMeasurementExpressionVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/GetMeasurementExpressionVisitor.java
@@ -17,14 +17,14 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.visitor;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.visitor;
import org.apache.iotdb.commons.path.MeasurementPath;
import org.apache.iotdb.commons.path.PartialPath;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimeSeriesOperand;
import org.apache.iotdb.db.queryengine.plan.analyze.Analysis;
import org.apache.iotdb.db.queryengine.plan.analyze.ExpressionTypeAnalyzer;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
public class GetMeasurementExpressionVisitor extends ReconstructVisitor<Analysis> {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/IntermediateLayerVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/IntermediateLayerVisitor.java
similarity index 93%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/IntermediateLayerVisitor.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/IntermediateLayerVisitor.java
index b2ab7c6e10f..440007d1df6 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/IntermediateLayerVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/IntermediateLayerVisitor.java
@@ -17,26 +17,26 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.visitor;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.visitor;
import org.apache.iotdb.db.exception.query.QueryProcessException;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionType;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.BinaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.ConstantOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimestampOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.FunctionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.builtin.BuiltInScalarFunctionHelperFactory;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.other.CaseWhenThenExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ternary.BetweenExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ternary.TernaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.InExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.IsNullExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.LikeExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.RegularExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.UnaryExpression;
import org.apache.iotdb.db.queryengine.common.NodeRef;
-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.binary.BinaryExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.ConstantOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimestampOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.builtin.BuiltInScalarFunctionHelperFactory;
-import org.apache.iotdb.db.queryengine.plan.expression.other.CaseWhenThenExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.ternary.BetweenExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.ternary.TernaryExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.InExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.IsNullExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.LikeExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.RegularExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.UnaryExpression;
import org.apache.iotdb.db.queryengine.transformation.api.LayerReader;
import org.apache.iotdb.db.queryengine.transformation.dag.input.QueryDataSetInputLayer;
import org.apache.iotdb.db.queryengine.transformation.dag.intermediate.ConstantIntermediateLayer;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/LowercaseNormalizeVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/LowercaseNormalizeVisitor.java
similarity index 84%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/LowercaseNormalizeVisitor.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/LowercaseNormalizeVisitor.java
index 973388dba1e..fe546506513 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/LowercaseNormalizeVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/LowercaseNormalizeVisitor.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.visitor;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.visitor;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.FunctionExpression;
import java.util.List;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/ReconstructVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/ReconstructVisitor.java
similarity index 85%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/ReconstructVisitor.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/ReconstructVisitor.java
index 94e20226375..4b4e05ef431 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/ReconstructVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/ReconstructVisitor.java
@@ -17,15 +17,15 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.visitor;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.visitor;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.BinaryExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.LeafOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.other.CaseWhenThenExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.ternary.TernaryExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.UnaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.BinaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.LeafOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.FunctionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.other.CaseWhenThenExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ternary.TernaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.UnaryExpression;
import org.apache.iotdb.db.utils.constant.SqlConstant;
import java.util.ArrayList;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/RemoveRootPrefixVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/RemoveRootPrefixVisitor.java
similarity index 86%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/RemoveRootPrefixVisitor.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/RemoveRootPrefixVisitor.java
index 57b2b65a529..8668f310f2b 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/RemoveRootPrefixVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/RemoveRootPrefixVisitor.java
@@ -17,11 +17,11 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.visitor;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.visitor;
import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimeSeriesOperand;
import static org.apache.iotdb.commons.schema.SchemaConstant.ROOT;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/ReplaceLogicalViewVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/ReplaceLogicalViewVisitor.java
similarity index 92%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/ReplaceLogicalViewVisitor.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/ReplaceLogicalViewVisitor.java
index 39fe3c637c9..95a1a72cafb 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/ReplaceLogicalViewVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/ReplaceLogicalViewVisitor.java
@@ -17,18 +17,18 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.visitor;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.visitor;
import org.apache.iotdb.commons.path.MeasurementPath;
import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.commons.schema.view.LogicalViewSchema;
import org.apache.iotdb.commons.schema.view.viewExpression.ViewExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.BinaryExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.ternary.TernaryExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.UnaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.BinaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.FunctionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ternary.TernaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.UnaryExpression;
import org.apache.iotdb.db.schemaengine.schemaregion.view.visitor.GetSourcePathsVisitor;
import org.apache.iotdb.db.schemaengine.schemaregion.view.visitor.TransformToExpressionVisitor;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/ReplaceRawPathWithGroupedPathVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/ReplaceRawPathWithGroupedPathVisitor.java
similarity index 85%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/ReplaceRawPathWithGroupedPathVisitor.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/ReplaceRawPathWithGroupedPathVisitor.java
index dd71fbca165..d63de93bdde 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/ReplaceRawPathWithGroupedPathVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/ReplaceRawPathWithGroupedPathVisitor.java
@@ -17,14 +17,14 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.visitor;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.visitor;
import org.apache.iotdb.commons.path.PartialPath;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.ConstantOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimestampOperand;
import org.apache.iotdb.db.queryengine.plan.analyze.GroupByLevelHelper;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.ConstantOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimestampOperand;
import java.util.function.UnaryOperator;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/ReplaceSubTreeWithViewVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/ReplaceSubTreeWithViewVisitor.java
similarity index 85%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/ReplaceSubTreeWithViewVisitor.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/ReplaceSubTreeWithViewVisitor.java
index 49702ff5528..6c03a5a06a6 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/ReplaceSubTreeWithViewVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/ReplaceSubTreeWithViewVisitor.java
@@ -17,11 +17,11 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.visitor;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.visitor;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimeSeriesOperand;
import org.apache.iotdb.db.queryengine.plan.analyze.Analysis;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
import org.apache.tsfile.enums.TSDataType;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/TemplatedConcatRemoveUnExistentMeasurementVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/TemplatedConcatRemoveUnExistentMeasurementVisitor.java
similarity index 82%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/TemplatedConcatRemoveUnExistentMeasurementVisitor.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/TemplatedConcatRemoveUnExistentMeasurementVisitor.java
index 682ed410934..c4e9257d952 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/TemplatedConcatRemoveUnExistentMeasurementVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/TemplatedConcatRemoveUnExistentMeasurementVisitor.java
@@ -17,12 +17,12 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.visitor;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.visitor;
import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.NullOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.NullOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimeSeriesOperand;
import org.apache.tsfile.write.schema.IMeasurementSchema;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/TransformToViewExpressionVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/TransformToViewExpressionVisitor.java
similarity index 82%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/TransformToViewExpressionVisitor.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/TransformToViewExpressionVisitor.java
index 27befb28c90..09658f11543 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/TransformToViewExpressionVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/TransformToViewExpressionVisitor.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.visitor;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.visitor;
import org.apache.iotdb.commons.schema.view.viewExpression.ViewExpression;
import org.apache.iotdb.commons.schema.view.viewExpression.binary.arithmetic.AdditionViewExpression;
@@ -45,33 +45,33 @@ import org.apache.iotdb.commons.schema.view.viewExpression.unary.LikeViewExpress
import org.apache.iotdb.commons.schema.view.viewExpression.unary.LogicNotViewExpression;
import org.apache.iotdb.commons.schema.view.viewExpression.unary.NegationViewExpression;
import org.apache.iotdb.commons.schema.view.viewExpression.unary.RegularViewExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
-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;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.EqualToExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.GreaterEqualExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.GreaterThanExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LessEqualExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LessThanExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LogicAndExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LogicOrExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.ModuloExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.MultiplicationExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.NonEqualExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.SubtractionExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.ConstantOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.NullOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimestampOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.ternary.BetweenExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.InExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.IsNullExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.LikeExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.LogicNotExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.NegationExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.RegularExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.AdditionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.BinaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.DivisionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.EqualToExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.GreaterEqualExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.GreaterThanExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LessEqualExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LessThanExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LogicAndExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LogicOrExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.ModuloExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.MultiplicationExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.NonEqualExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.SubtractionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.ConstantOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.NullOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimestampOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.FunctionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ternary.BetweenExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.InExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.IsNullExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.LikeExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.LogicNotExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.NegationExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.RegularExpression;
import org.apache.tsfile.utils.Pair;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/cartesian/BindSchemaForExpressionVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/cartesian/BindSchemaForExpressionVisitor.java
similarity index 92%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/cartesian/BindSchemaForExpressionVisitor.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/cartesian/BindSchemaForExpressionVisitor.java
index a26863e5a4e..f4d37f85aee 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/cartesian/BindSchemaForExpressionVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/cartesian/BindSchemaForExpressionVisitor.java
@@ -17,21 +17,21 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.visitor.cartesian;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.cartesian;
import org.apache.iotdb.commons.path.MeasurementPath;
import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.commons.schema.view.LogicalViewSchema;
import org.apache.iotdb.commons.schema.view.viewExpression.ViewExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.ConstantOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimestampOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.FunctionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.CompleteMeasurementSchemaVisitor;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
import org.apache.iotdb.db.queryengine.common.schematree.ISchemaTree;
import org.apache.iotdb.db.queryengine.plan.analyze.ExpressionUtils;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.ConstantOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimestampOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.CompleteMeasurementSchemaVisitor;
import org.apache.iotdb.db.schemaengine.schemaregion.view.visitor.TransformToExpressionVisitor;
import org.apache.iotdb.db.utils.constant.SqlConstant;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/cartesian/BindSchemaForPredicateVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/cartesian/BindSchemaForPredicateVisitor.java
similarity index 89%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/cartesian/BindSchemaForPredicateVisitor.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/cartesian/BindSchemaForPredicateVisitor.java
index 71691cd79e6..62c4217dee0 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/cartesian/BindSchemaForPredicateVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/cartesian/BindSchemaForPredicateVisitor.java
@@ -17,20 +17,20 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.visitor.cartesian;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.cartesian;
import org.apache.iotdb.commons.path.MeasurementPath;
import org.apache.iotdb.commons.path.PartialPath;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionType;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.BinaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.ConstantOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.NullOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimestampOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.FunctionExpression;
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.ExpressionType;
-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.NullOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimestampOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
import org.apache.iotdb.db.utils.constant.SqlConstant;
import org.apache.tsfile.external.commons.lang3.Validate;
@@ -41,11 +41,11 @@ import java.util.LinkedHashMap;
import java.util.List;
import java.util.stream.Collectors;
+import static org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.cartesian.BindSchemaForExpressionVisitor.transformViewPath;
import static org.apache.iotdb.db.queryengine.plan.analyze.ExpressionUtils.cartesianProduct;
import static org.apache.iotdb.db.queryengine.plan.analyze.ExpressionUtils.reconstructBinaryExpressionsWithMemoryCheck;
import static org.apache.iotdb.db.queryengine.plan.analyze.ExpressionUtils.reconstructFunctionExpressionsWithMemoryCheck;
import static org.apache.iotdb.db.queryengine.plan.analyze.ExpressionUtils.reconstructTimeSeriesOperandsWithMemoryCheck;
-import static org.apache.iotdb.db.queryengine.plan.expression.visitor.cartesian.BindSchemaForExpressionVisitor.transformViewPath;
import static org.apache.iotdb.db.utils.TypeInferenceUtils.bindTypeForBuiltinAggregationNonSeriesInputExpressions;
import static org.apache.iotdb.db.utils.constant.SqlConstant.COUNT_TIME;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/cartesian/CartesianProductVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/cartesian/CartesianProductVisitor.java
similarity index 83%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/cartesian/CartesianProductVisitor.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/cartesian/CartesianProductVisitor.java
index 78a9b2ab974..ce2e508989e 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/cartesian/CartesianProductVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/cartesian/CartesianProductVisitor.java
@@ -17,15 +17,15 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.visitor.cartesian;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.cartesian;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.BinaryExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.NullOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.other.CaseWhenThenExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.ternary.TernaryExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.UnaryExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.ExpressionAnalyzeVisitor;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.BinaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.NullOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.other.CaseWhenThenExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ternary.TernaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.UnaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.ExpressionAnalyzeVisitor;
import java.util.ArrayList;
import java.util.Collections;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/cartesian/ConcatDeviceAndBindSchemaForExpressionVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/cartesian/ConcatDeviceAndBindSchemaForExpressionVisitor.java
similarity index 90%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/cartesian/ConcatDeviceAndBindSchemaForExpressionVisitor.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/cartesian/ConcatDeviceAndBindSchemaForExpressionVisitor.java
index 00e71b6f08c..a1e46e593d2 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/cartesian/ConcatDeviceAndBindSchemaForExpressionVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/cartesian/ConcatDeviceAndBindSchemaForExpressionVisitor.java
@@ -17,19 +17,19 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.visitor.cartesian;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.cartesian;
import org.apache.iotdb.commons.path.MeasurementPath;
import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.db.exception.sql.SemanticException;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.ConstantOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimestampOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.FunctionExpression;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
import org.apache.iotdb.db.queryengine.common.schematree.ISchemaTree;
import org.apache.iotdb.db.queryengine.plan.analyze.ExpressionUtils;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.ConstantOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimestampOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
import org.apache.iotdb.db.utils.constant.SqlConstant;
import org.apache.tsfile.external.commons.lang3.Validate;
@@ -41,9 +41,9 @@ import java.util.LinkedHashMap;
import java.util.List;
import java.util.stream.Collectors;
+import static org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.cartesian.BindSchemaForExpressionVisitor.transformViewPath;
import static org.apache.iotdb.db.queryengine.plan.analyze.ExpressionUtils.cartesianProduct;
import static org.apache.iotdb.db.queryengine.plan.analyze.ExpressionUtils.reconstructFunctionExpressionsWithMemoryCheck;
-import static org.apache.iotdb.db.queryengine.plan.expression.visitor.cartesian.BindSchemaForExpressionVisitor.transformViewPath;
import static org.apache.iotdb.db.utils.TypeInferenceUtils.bindTypeForBuiltinAggregationNonSeriesInputExpressions;
import static org.apache.iotdb.db.utils.constant.SqlConstant.COUNT_TIME;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/cartesian/ConcatDeviceAndBindSchemaForHavingVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/cartesian/ConcatDeviceAndBindSchemaForHavingVisitor.java
similarity index 88%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/cartesian/ConcatDeviceAndBindSchemaForHavingVisitor.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/cartesian/ConcatDeviceAndBindSchemaForHavingVisitor.java
index 79fdd754f27..2595e52fe9a 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/cartesian/ConcatDeviceAndBindSchemaForHavingVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/cartesian/ConcatDeviceAndBindSchemaForHavingVisitor.java
@@ -17,14 +17,14 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.visitor.cartesian;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.cartesian;
import org.apache.iotdb.commons.path.MeasurementPath;
import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.db.exception.sql.SemanticException;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimeSeriesOperand;
import org.apache.iotdb.db.queryengine.plan.analyze.ExpressionUtils;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
import org.apache.tsfile.enums.TSDataType;
@@ -32,7 +32,7 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
-import static org.apache.iotdb.db.queryengine.plan.expression.visitor.cartesian.BindSchemaForExpressionVisitor.transformViewPath;
+import static org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.cartesian.BindSchemaForExpressionVisitor.transformViewPath;
public class ConcatDeviceAndBindSchemaForHavingVisitor
extends ConcatDeviceAndBindSchemaForExpressionVisitor {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/cartesian/ConcatDeviceAndBindSchemaForPredicateVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/cartesian/ConcatDeviceAndBindSchemaForPredicateVisitor.java
similarity index 87%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/cartesian/ConcatDeviceAndBindSchemaForPredicateVisitor.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/cartesian/ConcatDeviceAndBindSchemaForPredicateVisitor.java
index e263970ed80..9f2b87b608e 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/cartesian/ConcatDeviceAndBindSchemaForPredicateVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/cartesian/ConcatDeviceAndBindSchemaForPredicateVisitor.java
@@ -17,19 +17,19 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.visitor.cartesian;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.cartesian;
import org.apache.iotdb.commons.path.MeasurementPath;
import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.db.exception.sql.SemanticException;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.ConstantOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.NullOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimestampOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.FunctionExpression;
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.leaf.ConstantOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.NullOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimestampOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
import org.apache.tsfile.external.commons.lang3.Validate;
@@ -37,10 +37,10 @@ import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
+import static org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.cartesian.BindSchemaForExpressionVisitor.transformViewPath;
import static org.apache.iotdb.db.queryengine.plan.analyze.ExpressionUtils.cartesianProduct;
import static org.apache.iotdb.db.queryengine.plan.analyze.ExpressionUtils.reconstructFunctionExpressionsWithMemoryCheck;
import static org.apache.iotdb.db.queryengine.plan.analyze.ExpressionUtils.reconstructTimeSeriesOperandsWithMemoryCheck;
-import static org.apache.iotdb.db.queryengine.plan.expression.visitor.cartesian.BindSchemaForExpressionVisitor.transformViewPath;
public class ConcatDeviceAndBindSchemaForPredicateVisitor
extends CartesianProductVisitor<ConcatDeviceAndBindSchemaForPredicateVisitor.Context> {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/cartesian/ConcatExpressionWithSuffixPathsVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/cartesian/ConcatExpressionWithSuffixPathsVisitor.java
similarity index 90%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/cartesian/ConcatExpressionWithSuffixPathsVisitor.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/cartesian/ConcatExpressionWithSuffixPathsVisitor.java
index 391c66ad3c2..3d998089f3d 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/cartesian/ConcatExpressionWithSuffixPathsVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/cartesian/ConcatExpressionWithSuffixPathsVisitor.java
@@ -17,16 +17,16 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.visitor.cartesian;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.cartesian;
import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.commons.path.PathPatternTree;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.ConstantOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimestampOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.FunctionExpression;
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.leaf.ConstantOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimestampOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
import org.apache.iotdb.db.utils.constant.SqlConstant;
import org.apache.tsfile.common.constant.TsFileConstant;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/cartesian/QueryContextProvider.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/cartesian/QueryContextProvider.java
similarity index 91%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/cartesian/QueryContextProvider.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/cartesian/QueryContextProvider.java
index 2eb0ec0b4e7..22b2b58145a 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/cartesian/QueryContextProvider.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/cartesian/QueryContextProvider.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.visitor.cartesian;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.cartesian;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/logical/LogicalAndVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/logical/LogicalAndVisitor.java
similarity index 75%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/logical/LogicalAndVisitor.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/logical/LogicalAndVisitor.java
index d3369e2c9d0..915642ad536 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/logical/LogicalAndVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/logical/LogicalAndVisitor.java
@@ -17,15 +17,15 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.visitor.logical;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.logical;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.BinaryExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.other.CaseWhenThenExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.ternary.TernaryExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.UnaryExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.ExpressionAnalyzeVisitor;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.BinaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.FunctionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.other.CaseWhenThenExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ternary.TernaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.UnaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.ExpressionAnalyzeVisitor;
public abstract class LogicalAndVisitor<C> extends ExpressionAnalyzeVisitor<Boolean, C> {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/logical/LogicalOrVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/logical/LogicalOrVisitor.java
similarity index 75%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/logical/LogicalOrVisitor.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/logical/LogicalOrVisitor.java
index 96c0077460e..e9e9fa78710 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/logical/LogicalOrVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/logical/LogicalOrVisitor.java
@@ -17,15 +17,15 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.visitor.logical;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.logical;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.BinaryExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.other.CaseWhenThenExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.ternary.TernaryExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.UnaryExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.ExpressionAnalyzeVisitor;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.BinaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.FunctionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.other.CaseWhenThenExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ternary.TernaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.UnaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.ExpressionAnalyzeVisitor;
public abstract class LogicalOrVisitor<C> extends ExpressionAnalyzeVisitor<Boolean, C> {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/logical/PredicateCanPushDownToSourceChecker.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/logical/PredicateCanPushDownToSourceChecker.java
similarity index 83%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/logical/PredicateCanPushDownToSourceChecker.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/logical/PredicateCanPushDownToSourceChecker.java
index 3a7c1ddbb37..675a3c39538 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/logical/PredicateCanPushDownToSourceChecker.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/logical/PredicateCanPushDownToSourceChecker.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.visitor.logical;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.logical;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.LeafOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.IsNullExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.LeafOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.IsNullExpression;
public class PredicateCanPushDownToSourceChecker extends LogicalAndVisitor<Void> {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/logical/TimeFilterExistChecker.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/logical/TimeFilterExistChecker.java
similarity index 81%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/logical/TimeFilterExistChecker.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/logical/TimeFilterExistChecker.java
index a1d0992facc..1b5c8160381 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/logical/TimeFilterExistChecker.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/logical/TimeFilterExistChecker.java
@@ -17,10 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.visitor.logical;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.logical;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.LeafOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimestampOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.LeafOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimestampOperand;
public class TimeFilterExistChecker extends LogicalOrVisitor<Void> {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/predicate/ConvertPredicateToFilterVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/predicate/ConvertPredicateToFilterVisitor.java
similarity index 91%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/predicate/ConvertPredicateToFilterVisitor.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/predicate/ConvertPredicateToFilterVisitor.java
index 1b14f058337..441337bd4aa 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/predicate/ConvertPredicateToFilterVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/predicate/ConvertPredicateToFilterVisitor.java
@@ -17,30 +17,30 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.visitor.predicate;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.predicate;
import org.apache.iotdb.commons.path.PartialPath;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionType;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.CompareBinaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.EqualToExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.GreaterEqualExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.GreaterThanExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LessEqualExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LessThanExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LogicAndExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LogicOrExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.NonEqualExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.ConstantOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.other.GroupByTimeExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ternary.BetweenExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.InExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.IsNullExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.LikeExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.LogicNotExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.RegularExpression;
import org.apache.iotdb.db.queryengine.plan.analyze.TypeProvider;
-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.binary.CompareBinaryExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.EqualToExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.GreaterEqualExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.GreaterThanExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LessEqualExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LessThanExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LogicAndExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LogicOrExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.NonEqualExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.ConstantOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.other.GroupByTimeExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.ternary.BetweenExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.InExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.IsNullExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.LikeExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.LogicNotExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.RegularExpression;
import org.apache.iotdb.db.utils.DateTimeUtils;
import com.google.common.io.BaseEncoding;
@@ -65,7 +65,7 @@ import java.util.Map;
import java.util.Set;
import static com.google.common.base.Preconditions.checkArgument;
-import static org.apache.iotdb.db.queryengine.plan.expression.binary.CompareBinaryExpression.flipType;
+import static org.apache.iotdb.db.node_commons.plan.expression.expression.binary.CompareBinaryExpression.flipType;
import static org.apache.tsfile.enums.TSDataType.DOUBLE;
import static org.apache.tsfile.enums.TSDataType.INT32;
import static org.apache.tsfile.enums.TSDataType.INT64;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/predicate/ConvertPredicateToTimeFilterVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/predicate/ConvertPredicateToTimeFilterVisitor.java
similarity index 83%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/predicate/ConvertPredicateToTimeFilterVisitor.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/predicate/ConvertPredicateToTimeFilterVisitor.java
index 7982de7d015..77ccb6695ea 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/predicate/ConvertPredicateToTimeFilterVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/predicate/ConvertPredicateToTimeFilterVisitor.java
@@ -17,27 +17,27 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.visitor.predicate;
-
-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.binary.CompareBinaryExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.EqualToExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.GreaterEqualExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.GreaterThanExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LessEqualExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LessThanExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LogicAndExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LogicOrExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.NonEqualExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.ConstantOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.other.GroupByTimeExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.ternary.BetweenExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.InExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.IsNullExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.LikeExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.LogicNotExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.RegularExpression;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.predicate;
+
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionType;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.CompareBinaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.EqualToExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.GreaterEqualExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.GreaterThanExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LessEqualExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LessThanExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LogicAndExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LogicOrExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.NonEqualExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.ConstantOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.other.GroupByTimeExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ternary.BetweenExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.InExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.IsNullExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.LikeExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.LogicNotExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.RegularExpression;
import org.apache.iotdb.db.utils.TimestampPrecisionUtils;
import org.apache.tsfile.enums.TSDataType;
@@ -51,7 +51,7 @@ import java.util.Set;
import java.util.TimeZone;
import static com.google.common.base.Preconditions.checkArgument;
-import static org.apache.iotdb.db.queryengine.plan.expression.binary.CompareBinaryExpression.flipType;
+import static org.apache.iotdb.db.node_commons.plan.expression.expression.binary.CompareBinaryExpression.flipType;
import static org.apache.tsfile.read.filter.operator.Not.CONTAIN_NOT_ERR_MSG;
public class ConvertPredicateToTimeFilterVisitor extends PredicateVisitor<Filter, Void> {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/predicate/PredicatePushIntoScanChecker.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/predicate/PredicatePushIntoScanChecker.java
similarity index 78%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/predicate/PredicatePushIntoScanChecker.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/predicate/PredicatePushIntoScanChecker.java
index f692e27a858..8ee8be0ef48 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/predicate/PredicatePushIntoScanChecker.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/predicate/PredicatePushIntoScanChecker.java
@@ -17,26 +17,26 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.visitor.predicate;
-
-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.binary.CompareBinaryExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.EqualToExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.GreaterEqualExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.GreaterThanExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LessEqualExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LessThanExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LogicAndExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LogicOrExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.NonEqualExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.other.GroupByTimeExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.ternary.BetweenExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.InExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.IsNullExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.LikeExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.LogicNotExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.RegularExpression;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.predicate;
+
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionType;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.CompareBinaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.EqualToExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.GreaterEqualExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.GreaterThanExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LessEqualExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LessThanExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LogicAndExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LogicOrExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.NonEqualExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.other.GroupByTimeExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ternary.BetweenExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.InExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.IsNullExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.LikeExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.LogicNotExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.RegularExpression;
import static org.apache.tsfile.read.filter.operator.Not.CONTAIN_NOT_ERR_MSG;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/predicate/PredicateSimplifier.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/predicate/PredicateSimplifier.java
similarity index 82%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/predicate/PredicateSimplifier.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/predicate/PredicateSimplifier.java
index be81a33587c..90596769414 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/predicate/PredicateSimplifier.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/predicate/PredicateSimplifier.java
@@ -17,35 +17,35 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.visitor.predicate;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.predicate;
-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.binary.ArithmeticBinaryExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.CompareBinaryExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LogicAndExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LogicOrExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.WhenThenExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.ConstantOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.LeafOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.NullOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.other.CaseWhenThenExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.other.GroupByTimeExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.ternary.BetweenExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.InExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.IsNullExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.LikeExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.LogicNotExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.NegationExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.RegularExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.UnaryExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.ExpressionAnalyzeVisitor;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionType;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.ArithmeticBinaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.CompareBinaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LogicAndExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LogicOrExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.WhenThenExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.ConstantOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.LeafOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.NullOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.FunctionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.other.CaseWhenThenExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.other.GroupByTimeExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ternary.BetweenExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.InExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.IsNullExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.LikeExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.LogicNotExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.NegationExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.RegularExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.UnaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.ExpressionAnalyzeVisitor;
import java.util.ArrayList;
import java.util.List;
-import static org.apache.iotdb.db.queryengine.plan.expression.visitor.predicate.ConvertPredicateToFilterVisitor.getValue;
+import static org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.predicate.ConvertPredicateToFilterVisitor.getValue;
public class PredicateSimplifier extends ExpressionAnalyzeVisitor<Expression, Void> {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/predicate/PredicateVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/predicate/PredicateVisitor.java
similarity index 64%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/predicate/PredicateVisitor.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/predicate/PredicateVisitor.java
index fe36b95fd04..6e3336bcd5b 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/predicate/PredicateVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/predicate/PredicateVisitor.java
@@ -17,25 +17,25 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.visitor.predicate;
-
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.EqualToExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.GreaterEqualExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.GreaterThanExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LessEqualExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LessThanExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LogicAndExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LogicOrExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.NonEqualExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.other.GroupByTimeExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.ternary.BetweenExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.InExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.IsNullExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.LikeExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.LogicNotExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.RegularExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.ExpressionVisitor;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.predicate;
+
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.EqualToExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.GreaterEqualExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.GreaterThanExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LessEqualExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LessThanExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LogicAndExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LogicOrExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.NonEqualExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.other.GroupByTimeExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ternary.BetweenExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.InExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.IsNullExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.LikeExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.LogicNotExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.RegularExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.ExpressionVisitor;
/**
* This class provides a visitor of {@link Expression}, which can be extended to create a visitor
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/predicate/ReversePredicateVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/predicate/ReversePredicateVisitor.java
similarity index 74%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/predicate/ReversePredicateVisitor.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/predicate/ReversePredicateVisitor.java
index e9b5c715fb4..2da98ce9dbf 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/predicate/ReversePredicateVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/expression/expression/visitor/predicate/ReversePredicateVisitor.java
@@ -17,25 +17,25 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.expression.visitor.predicate;
-
-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.binary.EqualToExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.GreaterEqualExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.GreaterThanExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LessEqualExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LessThanExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LogicAndExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LogicOrExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.NonEqualExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.other.GroupByTimeExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.ternary.BetweenExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.InExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.IsNullExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.LikeExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.LogicNotExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.RegularExpression;
+package org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.predicate;
+
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionFactory;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.EqualToExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.GreaterEqualExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.GreaterThanExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LessEqualExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LessThanExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LogicAndExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LogicOrExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.NonEqualExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.other.GroupByTimeExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ternary.BetweenExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.InExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.IsNullExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.LikeExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.LogicNotExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.RegularExpression;
public class ReversePredicateVisitor extends PredicateVisitor<Expression, Void> {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/planner/plan/node/ICoreQueryPlanVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/planner/plan/node/ICoreQueryPlanVisitor.java
index 550b358b462..cfffdd82d02 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/planner/plan/node/ICoreQueryPlanVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/planner/plan/node/ICoreQueryPlanVisitor.java
@@ -16,14 +16,20 @@ package org.apache.iotdb.db.node_commons.plan.planner.plan.node;
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.SingleChildProcessNode;
+import org.apache.iotdb.db.node_commons.plan.planner.plan.node.process.TwoChildProcessNode;
+import org.apache.iotdb.db.node_commons.plan.planner.plan.node.source.SourceNode;
+import org.apache.iotdb.db.node_commons.plan.relational.planner.iterative.GroupReference;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.AggregationNode;
+import org.apache.iotdb.db.node_commons.plan.relational.planner.node.ApplyNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.AssignUniqueId;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.CollectNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.EnforceSingleRowNode;
+import org.apache.iotdb.db.node_commons.plan.relational.planner.node.ExceptNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.FillNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.FilterNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.GapFillNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.GroupNode;
+import org.apache.iotdb.db.node_commons.plan.relational.planner.node.IntersectNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.JoinNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.LimitNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.LinearFillNode;
@@ -46,12 +52,7 @@ import org.apache.iotdb.db.node_commons.plan.relational.planner.node.UnionNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.ValueFillNode;
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.planner.plan.node.process.TwoChildProcessNode;
-import org.apache.iotdb.db.queryengine.plan.planner.plan.node.source.SourceNode;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.GroupReference;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.CteScanNode;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.node.ExceptNode;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.node.IntersectNode;
public interface ICoreQueryPlanVisitor<R, C> extends IPlanVisitor<R, C> {
@@ -92,8 +93,7 @@ public interface ICoreQueryPlanVisitor<R, C> extends IPlanVisitor<R, C> {
return visitSingleChildProcess(node, context);
}
- default R visitApply(
- org.apache.iotdb.db.queryengine.plan.relational.planner.node.ApplyNode node, C context) {
+ default R visitApply(ApplyNode node, C context) {
return visitTwoChildProcess(node, context);
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/IPartitionRelatedNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/planner/plan/node/IPartitionRelatedNode.java
similarity index 93%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/IPartitionRelatedNode.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/planner/plan/node/IPartitionRelatedNode.java
index 61b078d6117..ef2a803454b 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/IPartitionRelatedNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/planner/plan/node/IPartitionRelatedNode.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.planner.plan.node;
+package org.apache.iotdb.db.node_commons.plan.planner.plan.node;
import org.apache.iotdb.common.rpc.thrift.TRegionReplicaSet;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/process/TwoChildProcessNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/planner/plan/node/process/TwoChildProcessNode.java
similarity index 94%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/process/TwoChildProcessNode.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/planner/plan/node/process/TwoChildProcessNode.java
index 7b4ac63889d..ab2d4544e6a 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/process/TwoChildProcessNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/planner/plan/node/process/TwoChildProcessNode.java
@@ -17,11 +17,10 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.planner.plan.node.process;
+package org.apache.iotdb.db.node_commons.plan.planner.plan.node.process;
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.ProcessNode;
import com.google.common.collect.ImmutableList;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/SourceNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/planner/plan/node/source/SourceNode.java
similarity index 89%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/SourceNode.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/planner/plan/node/source/SourceNode.java
index 4aa11f68f29..ebb20e3e2c2 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/SourceNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/planner/plan/node/source/SourceNode.java
@@ -17,12 +17,12 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.planner.plan.node.source;
+package org.apache.iotdb.db.node_commons.plan.planner.plan.node.source;
import org.apache.iotdb.common.rpc.thrift.TRegionReplicaSet;
+import org.apache.iotdb.db.node_commons.plan.planner.plan.node.IPartitionRelatedNode;
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.queryengine.plan.planner.plan.node.IPartitionRelatedNode;
public abstract class SourceNode extends PlanNode implements AutoCloseable, IPartitionRelatedNode {
protected SourceNode() {}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/BoundSignature.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/BoundSignature.java
similarity index 98%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/BoundSignature.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/BoundSignature.java
index e16ce6e549d..7ccae2a0170 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/BoundSignature.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/BoundSignature.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.function;
+package org.apache.iotdb.db.node_commons.plan.relational.function.function;
import org.apache.iotdb.db.queryengine.plan.relational.utils.TypeUtil;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/FunctionId.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/FunctionId.java
similarity index 96%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/FunctionId.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/FunctionId.java
index d814d8b4db6..4bec7ab1a76 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/FunctionId.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/FunctionId.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.function;
+package org.apache.iotdb.db.node_commons.plan.relational.function.function;
import java.util.Locale;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/FunctionKind.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/FunctionKind.java
similarity index 94%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/FunctionKind.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/FunctionKind.java
index 1e336502af9..b07b0968acb 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/FunctionKind.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/FunctionKind.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.function;
+package org.apache.iotdb.db.node_commons.plan.relational.function.function;
import org.apache.tsfile.utils.ReadWriteIOUtils;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/InterpretedFunctionInvoker.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/InterpretedFunctionInvoker.java
similarity index 97%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/InterpretedFunctionInvoker.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/InterpretedFunctionInvoker.java
index c85605233cb..1d148d01bba 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/InterpretedFunctionInvoker.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/InterpretedFunctionInvoker.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.function;
+package org.apache.iotdb.db.node_commons.plan.relational.function.function;
import org.apache.iotdb.commons.udf.builtin.relational.TableBuiltinScalarFunction;
import org.apache.iotdb.db.queryengine.common.SessionInfo;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/LongVariableConstraint.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/LongVariableConstraint.java
similarity index 95%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/LongVariableConstraint.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/LongVariableConstraint.java
index 6aa67bb2eee..52de5597641 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/LongVariableConstraint.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/LongVariableConstraint.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.function;
+package org.apache.iotdb.db.node_commons.plan.relational.function.function;
import java.util.Objects;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/OperatorType.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/OperatorType.java
similarity index 96%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/OperatorType.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/OperatorType.java
index 0a727e8524a..40d06479025 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/OperatorType.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/OperatorType.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.function;
+package org.apache.iotdb.db.node_commons.plan.relational.function.function;
public enum OperatorType {
ADD("+", 2),
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/ResolvedFunctionCallBuilder.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/ResolvedFunctionCallBuilder.java
similarity index 92%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/ResolvedFunctionCallBuilder.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/ResolvedFunctionCallBuilder.java
index 83bef596061..4e406fd8cff 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/ResolvedFunctionCallBuilder.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/ResolvedFunctionCallBuilder.java
@@ -17,11 +17,11 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.function;
+package org.apache.iotdb.db.node_commons.plan.relational.function.function;
+import org.apache.iotdb.db.node_commons.plan.relational.metadata.ResolvedFunction;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.FunctionCall;
-import org.apache.iotdb.db.queryengine.plan.relational.metadata.ResolvedFunction;
import java.util.ArrayList;
import java.util.List;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/Signature.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/Signature.java
similarity index 98%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/Signature.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/Signature.java
index 1daeadbbce6..94f3e190e70 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/Signature.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/Signature.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.function;
+package org.apache.iotdb.db.node_commons.plan.relational.function.function;
import org.apache.iotdb.db.queryengine.plan.relational.type.TypeSignature;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/TableBuiltinTableFunction.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/TableBuiltinTableFunction.java
similarity index 89%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/TableBuiltinTableFunction.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/TableBuiltinTableFunction.java
index 61b96809f84..514d33b6797 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/TableBuiltinTableFunction.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/TableBuiltinTableFunction.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.function;
+package org.apache.iotdb.db.node_commons.plan.relational.function.function;
import org.apache.iotdb.commons.udf.builtin.relational.tvf.CapacityTableFunction;
import org.apache.iotdb.commons.udf.builtin.relational.tvf.CumulateTableFunction;
@@ -25,9 +25,9 @@ import org.apache.iotdb.commons.udf.builtin.relational.tvf.HOPTableFunction;
import org.apache.iotdb.commons.udf.builtin.relational.tvf.SessionTableFunction;
import org.apache.iotdb.commons.udf.builtin.relational.tvf.TumbleTableFunction;
import org.apache.iotdb.commons.udf.builtin.relational.tvf.VariationTableFunction;
-import org.apache.iotdb.db.queryengine.plan.relational.function.tvf.ClassifyTableFunction;
-import org.apache.iotdb.db.queryengine.plan.relational.function.tvf.ForecastTableFunction;
-import org.apache.iotdb.db.queryengine.plan.relational.function.tvf.PatternMatchTableFunction;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.tvf.ClassifyTableFunction;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.tvf.ForecastTableFunction;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.tvf.PatternMatchTableFunction;
import org.apache.iotdb.udf.api.relational.TableFunction;
import java.util.Arrays;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/TypeVariableConstraint.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/TypeVariableConstraint.java
similarity index 98%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/TypeVariableConstraint.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/TypeVariableConstraint.java
index dc77ecdd285..22b8caaa388 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/TypeVariableConstraint.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/TypeVariableConstraint.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.function;
+package org.apache.iotdb.db.node_commons.plan.relational.function.function;
import org.apache.iotdb.db.queryengine.plan.relational.type.TypeSignature;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/arithmetic/AdditionResolver.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/arithmetic/AdditionResolver.java
similarity index 97%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/arithmetic/AdditionResolver.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/arithmetic/AdditionResolver.java
index c0b70691fb8..4690bc2a416 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/arithmetic/AdditionResolver.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/arithmetic/AdditionResolver.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.function.arithmetic;
+package org.apache.iotdb.db.node_commons.plan.relational.function.function.arithmetic;
import org.apache.tsfile.read.common.type.Type;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/arithmetic/DivisionResolver.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/arithmetic/DivisionResolver.java
similarity index 97%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/arithmetic/DivisionResolver.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/arithmetic/DivisionResolver.java
index b73ab852457..11854c0b47c 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/arithmetic/DivisionResolver.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/arithmetic/DivisionResolver.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.function.arithmetic;
+package org.apache.iotdb.db.node_commons.plan.relational.function.function.arithmetic;
import org.apache.tsfile.read.common.type.Type;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/arithmetic/ModulusResolver.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/arithmetic/ModulusResolver.java
similarity index 97%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/arithmetic/ModulusResolver.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/arithmetic/ModulusResolver.java
index 1953381ac5a..78b2ce53879 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/arithmetic/ModulusResolver.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/arithmetic/ModulusResolver.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.function.arithmetic;
+package org.apache.iotdb.db.node_commons.plan.relational.function.function.arithmetic;
import org.apache.tsfile.read.common.type.Type;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/arithmetic/MultiplicationResolver.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/arithmetic/MultiplicationResolver.java
similarity index 97%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/arithmetic/MultiplicationResolver.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/arithmetic/MultiplicationResolver.java
index f9ca05a2d8e..cb61801c3b0 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/arithmetic/MultiplicationResolver.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/arithmetic/MultiplicationResolver.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.function.arithmetic;
+package org.apache.iotdb.db.node_commons.plan.relational.function.function.arithmetic;
import org.apache.tsfile.read.common.type.Type;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/arithmetic/SubtractionResolver.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/arithmetic/SubtractionResolver.java
similarity index 97%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/arithmetic/SubtractionResolver.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/arithmetic/SubtractionResolver.java
index a6b04016817..bc79daedc3c 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/arithmetic/SubtractionResolver.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/arithmetic/SubtractionResolver.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.function.arithmetic;
+package org.apache.iotdb.db.node_commons.plan.relational.function.function.arithmetic;
import org.apache.tsfile.read.common.type.Type;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/tvf/ClassifyTableFunction.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/tvf/ClassifyTableFunction.java
similarity index 99%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/tvf/ClassifyTableFunction.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/tvf/ClassifyTableFunction.java
index 61036302af8..a735d7add9a 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/tvf/ClassifyTableFunction.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/tvf/ClassifyTableFunction.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.function.tvf;
+package org.apache.iotdb.db.node_commons.plan.relational.function.function.tvf;
import org.apache.iotdb.ainode.rpc.thrift.TForecastReq;
import org.apache.iotdb.ainode.rpc.thrift.TForecastResp;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/tvf/ForecastTableFunction.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/tvf/ForecastTableFunction.java
similarity index 98%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/tvf/ForecastTableFunction.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/tvf/ForecastTableFunction.java
index f406c16c085..44c552f35f7 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/tvf/ForecastTableFunction.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/tvf/ForecastTableFunction.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.function.tvf;
+package org.apache.iotdb.db.node_commons.plan.relational.function.function.tvf;
import org.apache.iotdb.ainode.rpc.thrift.TForecastReq;
import org.apache.iotdb.ainode.rpc.thrift.TForecastResp;
@@ -72,8 +72,8 @@ import java.util.Set;
import java.util.stream.Collectors;
import static org.apache.iotdb.commons.udf.builtin.relational.tvf.WindowTVFUtils.findColumnIndex;
-import static org.apache.iotdb.db.queryengine.plan.relational.function.tvf.TableFunctionUtils.checkType;
-import static org.apache.iotdb.db.queryengine.plan.relational.function.tvf.TableFunctionUtils.parseOptions;
+import static org.apache.iotdb.db.node_commons.plan.relational.function.function.tvf.TableFunctionUtils.checkType;
+import static org.apache.iotdb.db.node_commons.plan.relational.function.function.tvf.TableFunctionUtils.parseOptions;
import static org.apache.iotdb.db.queryengine.plan.relational.utils.ResultColumnAppender.createResultColumnAppender;
public class ForecastTableFunction implements TableFunction {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/tvf/PatternMatchTableFunction.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/tvf/PatternMatchTableFunction.java
similarity index 95%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/tvf/PatternMatchTableFunction.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/tvf/PatternMatchTableFunction.java
index fd352f9c0b9..b300edb1093 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/tvf/PatternMatchTableFunction.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/tvf/PatternMatchTableFunction.java
@@ -17,13 +17,13 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.function.tvf;
+package org.apache.iotdb.db.node_commons.plan.relational.function.function.tvf;
-import org.apache.iotdb.db.queryengine.plan.relational.function.tvf.match.QetchAlgorithm;
-import org.apache.iotdb.db.queryengine.plan.relational.function.tvf.match.model.MatchState;
-import org.apache.iotdb.db.queryengine.plan.relational.function.tvf.match.model.Point;
-import org.apache.iotdb.db.queryengine.plan.relational.function.tvf.match.model.RegexMatchState;
-import org.apache.iotdb.db.queryengine.plan.relational.function.tvf.match.model.Section;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.tvf.match.QetchAlgorithm;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.tvf.match.model.MatchState;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.tvf.match.model.Point;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.tvf.match.model.RegexMatchState;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.tvf.match.model.Section;
import org.apache.iotdb.udf.api.exception.UDFException;
import org.apache.iotdb.udf.api.relational.TableFunction;
import org.apache.iotdb.udf.api.relational.access.Record;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/tvf/TableFunctionUtils.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/tvf/TableFunctionUtils.java
similarity index 96%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/tvf/TableFunctionUtils.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/tvf/TableFunctionUtils.java
index 499f133c437..7f798a215f9 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/tvf/TableFunctionUtils.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/tvf/TableFunctionUtils.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.function.tvf;
+package org.apache.iotdb.db.node_commons.plan.relational.function.function.tvf;
import org.apache.iotdb.db.exception.sql.SemanticException;
import org.apache.iotdb.udf.api.type.Type;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/tvf/match/MatchConfig.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/tvf/match/MatchConfig.java
similarity index 93%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/tvf/match/MatchConfig.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/tvf/match/MatchConfig.java
index 64f32fa2e5e..0c0da76cfb7 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/tvf/match/MatchConfig.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/tvf/match/MatchConfig.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.function.tvf.match;
+package org.apache.iotdb.db.node_commons.plan.relational.function.function.tvf.match;
public class MatchConfig {
// if the gap between new two points is larger than this times gap before, the new point
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/tvf/match/QetchAlgorithm.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/tvf/match/QetchAlgorithm.java
similarity index 96%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/tvf/match/QetchAlgorithm.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/tvf/match/QetchAlgorithm.java
index c693ce968e7..d47cce178ed 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/tvf/match/QetchAlgorithm.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/tvf/match/QetchAlgorithm.java
@@ -17,13 +17,13 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.function.tvf.match;
+package org.apache.iotdb.db.node_commons.plan.relational.function.function.tvf.match;
-import org.apache.iotdb.db.queryengine.plan.relational.function.tvf.match.model.MatchState;
-import org.apache.iotdb.db.queryengine.plan.relational.function.tvf.match.model.PatternSegment;
-import org.apache.iotdb.db.queryengine.plan.relational.function.tvf.match.model.Point;
-import org.apache.iotdb.db.queryengine.plan.relational.function.tvf.match.model.RegexMatchState;
-import org.apache.iotdb.db.queryengine.plan.relational.function.tvf.match.model.Section;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.tvf.match.model.MatchState;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.tvf.match.model.PatternSegment;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.tvf.match.model.Point;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.tvf.match.model.RegexMatchState;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.tvf.match.model.Section;
import java.util.ArrayDeque;
import java.util.ArrayList;
@@ -32,9 +32,9 @@ import java.util.LinkedList;
import java.util.List;
import java.util.Queue;
-import static org.apache.iotdb.db.queryengine.plan.relational.function.tvf.match.MatchConfig.GAP_TOLERANCE;
-import static org.apache.iotdb.db.queryengine.plan.relational.function.tvf.match.MatchConfig.LINE_SECTION_TOLERANCE;
-import static org.apache.iotdb.db.queryengine.plan.relational.function.tvf.match.model.PatternSegment.tangent;
+import static org.apache.iotdb.db.node_commons.plan.relational.function.function.tvf.match.MatchConfig.GAP_TOLERANCE;
+import static org.apache.iotdb.db.node_commons.plan.relational.function.function.tvf.match.MatchConfig.LINE_SECTION_TOLERANCE;
+import static org.apache.iotdb.db.node_commons.plan.relational.function.function.tvf.match.model.PatternSegment.tangent;
public class QetchAlgorithm {
private int pointNum = -1;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/tvf/match/model/MatchState.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/tvf/match/model/MatchState.java
similarity index 97%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/tvf/match/model/MatchState.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/tvf/match/model/MatchState.java
index 7650b25b0e8..4fe89134c26 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/tvf/match/model/MatchState.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/tvf/match/model/MatchState.java
@@ -17,12 +17,12 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.function.tvf.match.model;
+package org.apache.iotdb.db.node_commons.plan.relational.function.function.tvf.match.model;
import java.util.ArrayList;
import java.util.List;
-import static org.apache.iotdb.db.queryengine.plan.relational.function.tvf.match.MatchConfig.SHAPE_TOLERANCE;
+import static org.apache.iotdb.db.node_commons.plan.relational.function.function.tvf.match.MatchConfig.SHAPE_TOLERANCE;
public class MatchState {
private double matchValue = 0.0;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/tvf/match/model/PatternSegment.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/tvf/match/model/PatternSegment.java
similarity index 97%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/tvf/match/model/PatternSegment.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/tvf/match/model/PatternSegment.java
index 5013dc58b94..fcb1cf895e5 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/tvf/match/model/PatternSegment.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/tvf/match/model/PatternSegment.java
@@ -17,12 +17,12 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.function.tvf.match.model;
+package org.apache.iotdb.db.node_commons.plan.relational.function.function.tvf.match.model;
import java.util.ArrayList;
import java.util.List;
-import static org.apache.iotdb.db.queryengine.plan.relational.function.tvf.match.MatchConfig.LINE_SECTION_TOLERANCE;
+import static org.apache.iotdb.db.node_commons.plan.relational.function.function.tvf.match.MatchConfig.LINE_SECTION_TOLERANCE;
public class PatternSegment {
// variable area
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/tvf/match/model/Point.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/tvf/match/model/Point.java
similarity index 92%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/tvf/match/model/Point.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/tvf/match/model/Point.java
index 7445635c7e0..7b7ecc26da2 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/tvf/match/model/Point.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/tvf/match/model/Point.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.function.tvf.match.model;
+package org.apache.iotdb.db.node_commons.plan.relational.function.function.tvf.match.model;
public class Point {
public double x;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/tvf/match/model/RegexMatchState.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/tvf/match/model/RegexMatchState.java
similarity index 97%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/tvf/match/model/RegexMatchState.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/tvf/match/model/RegexMatchState.java
index e82f15d091a..8d039b1a76d 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/tvf/match/model/RegexMatchState.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/tvf/match/model/RegexMatchState.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.function.tvf.match.model;
+package org.apache.iotdb.db.node_commons.plan.relational.function.function.tvf.match.model;
import java.util.ArrayDeque;
import java.util.ArrayList;
@@ -25,8 +25,8 @@ import java.util.Deque;
import java.util.Iterator;
import java.util.List;
-import static org.apache.iotdb.db.queryengine.plan.relational.function.tvf.match.MatchConfig.CALC_SE_USING_MORE_MEMORY;
-import static org.apache.iotdb.db.queryengine.plan.relational.function.tvf.match.MatchConfig.SHAPE_TOLERANCE;
+import static org.apache.iotdb.db.node_commons.plan.relational.function.function.tvf.match.MatchConfig.CALC_SE_USING_MORE_MEMORY;
+import static org.apache.iotdb.db.node_commons.plan.relational.function.function.tvf.match.MatchConfig.SHAPE_TOLERANCE;
public class RegexMatchState {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/tvf/match/model/Section.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/tvf/match/model/Section.java
similarity index 98%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/tvf/match/model/Section.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/tvf/match/model/Section.java
index cb39f79da6b..fee4d4f9f34 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/function/tvf/match/model/Section.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/function/function/tvf/match/model/Section.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.function.tvf.match.model;
+package org.apache.iotdb.db.node_commons.plan.relational.function.function.tvf.match.model;
import java.util.ArrayList;
import java.util.HashMap;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/ResolvedFunction.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/metadata/ResolvedFunction.java
similarity index 92%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/ResolvedFunction.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/metadata/ResolvedFunction.java
index e783a05fd08..3e2804b928a 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/ResolvedFunction.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/metadata/ResolvedFunction.java
@@ -17,11 +17,12 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.metadata;
+package org.apache.iotdb.db.node_commons.plan.relational.metadata;
-import org.apache.iotdb.db.queryengine.plan.relational.function.BoundSignature;
-import org.apache.iotdb.db.queryengine.plan.relational.function.FunctionId;
-import org.apache.iotdb.db.queryengine.plan.relational.function.FunctionKind;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.BoundSignature;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.FunctionId;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.FunctionKind;
+import org.apache.iotdb.db.queryengine.plan.relational.metadata.FunctionNullability;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.QualifiedName;
import org.apache.tsfile.utils.ReadWriteIOUtils;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/Assignments.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/Assignments.java
similarity index 98%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/Assignments.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/Assignments.java
index 9d287e49eb2..91d2d78bea4 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/Assignments.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/Assignments.java
@@ -17,9 +17,8 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.planner;
+package org.apache.iotdb.db.node_commons.plan.relational.planner;
-import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SymbolReference;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/DataOrganizationSpecification.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/DataOrganizationSpecification.java
similarity index 96%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/DataOrganizationSpecification.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/DataOrganizationSpecification.java
index b9dfe6413d4..8e2d98e779a 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/DataOrganizationSpecification.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/DataOrganizationSpecification.java
@@ -17,9 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.planner;
-
-import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
+package org.apache.iotdb.db.node_commons.plan.relational.planner;
import com.google.common.collect.ImmutableList;
import org.apache.tsfile.utils.ReadWriteIOUtils;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/OrderingScheme.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/OrderingScheme.java
similarity index 97%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/OrderingScheme.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/OrderingScheme.java
index d64961d36af..721c58c99ce 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/OrderingScheme.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/OrderingScheme.java
@@ -17,9 +17,9 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.planner;
+package org.apache.iotdb.db.node_commons.plan.relational.planner;
-import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
+import org.apache.iotdb.db.queryengine.plan.relational.planner.SortOrder;
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/GroupReference.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/iterative/GroupReference.java
similarity index 97%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/GroupReference.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/iterative/GroupReference.java
index 9304a65efd3..a53ef3131a7 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/GroupReference.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/iterative/GroupReference.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative;
+package org.apache.iotdb.db.node_commons.plan.relational.planner.iterative;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.IPlanVisitor;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/AggregationNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/AggregationNode.java
index b1c36dc4c8c..564eb31451d 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/AggregationNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/AggregationNode.java
@@ -19,20 +19,20 @@
package org.apache.iotdb.db.node_commons.plan.relational.planner.node;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.FunctionType;
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.SingleChildProcessNode;
+import org.apache.iotdb.db.node_commons.plan.relational.metadata.ResolvedFunction;
+import org.apache.iotdb.db.node_commons.plan.relational.planner.OrderingScheme;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
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.common.SessionInfo;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionType;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeType;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.Metadata;
-import org.apache.iotdb.db.queryengine.plan.relational.metadata.ResolvedFunction;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.OrderingScheme;
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/node/ApplyNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/ApplyNode.java
similarity index 97%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/ApplyNode.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/ApplyNode.java
index cd47cbf8a71..4c7a0feabdc 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/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
@@ -17,15 +17,15 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.planner.node;
+package org.apache.iotdb.db.node_commons.plan.relational.planner.node;
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 org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.TwoChildProcessNode;
import com.google.common.collect.ImmutableList;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/ExceptNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/ExceptNode.java
similarity index 92%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/ExceptNode.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/ExceptNode.java
index 13509a01411..498f65b3918 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/ExceptNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/ExceptNode.java
@@ -17,13 +17,13 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.planner.node;
+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.relational.planner.Symbol;
-import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanVisitor;
import com.google.common.collect.ListMultimap;
@@ -58,7 +58,7 @@ public class ExceptNode extends SetOperationNode {
@Override
public <R, C> R accept(IPlanVisitor<R, C> visitor, C context) {
- return ((PlanVisitor<R, C>) visitor).visitExcept(this, context);
+ return ((ICoreQueryPlanVisitor<R, C>) visitor).visitExcept(this, context);
}
public boolean isDistinct() {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/GroupNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/GroupNode.java
index 11d8722ccb6..e0eec1a78a3 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/GroupNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/GroupNode.java
@@ -23,8 +23,8 @@ import org.apache.iotdb.db.node_commons.plan.planner.plan.node.ICoreQueryPlanVis
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.relational.planner.OrderingScheme;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeType;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.OrderingScheme;
import com.google.common.collect.Iterables;
import org.apache.tsfile.utils.ReadWriteIOUtils;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/IntersectNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/IntersectNode.java
similarity index 92%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/IntersectNode.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/IntersectNode.java
index 608b31c238a..6ae3a22628c 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/IntersectNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/IntersectNode.java
@@ -17,13 +17,13 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.planner.node;
+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.relational.planner.Symbol;
-import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanVisitor;
import com.google.common.collect.ListMultimap;
@@ -57,7 +57,7 @@ public class IntersectNode extends SetOperationNode {
@Override
public <R, C> R accept(IPlanVisitor<R, C> visitor, C context) {
- return ((PlanVisitor<R, C>) visitor).visitIntersect(this, context);
+ return ((ICoreQueryPlanVisitor<R, C>) visitor).visitIntersect(this, context);
}
public boolean isDistinct() {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/JoinNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/JoinNode.java
index 3415b45ddbe..2f50412b547 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/JoinNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/JoinNode.java
@@ -23,12 +23,12 @@ import org.apache.iotdb.db.node_commons.plan.planner.plan.node.ICoreQueryPlanVis
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.ComparisonExpression;
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.planner.plan.node.PlanNodeType;
-import org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.TwoChildProcessNode;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableSet;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/LimitNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/LimitNode.java
index 205b11d7dbb..a702b9fdd4b 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/LimitNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/LimitNode.java
@@ -24,9 +24,9 @@ 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.SingleChildProcessNode;
+import org.apache.iotdb.db.node_commons.plan.relational.planner.OrderingScheme;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeType;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.OrderingScheme;
import com.google.common.base.Objects;
import com.google.common.collect.Iterables;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/MergeSortNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/MergeSortNode.java
index 0dc6097e988..bd38710f2f9 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/MergeSortNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/MergeSortNode.java
@@ -23,9 +23,9 @@ 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.MultiChildProcessNode;
+import org.apache.iotdb.db.node_commons.plan.relational.planner.OrderingScheme;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeType;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.OrderingScheme;
import com.google.common.base.Objects;
import org.apache.tsfile.utils.ReadWriteIOUtils;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/PatternRecognitionNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/PatternRecognitionNode.java
index a3106c5bbbd..ff838336727 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/PatternRecognitionNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/PatternRecognitionNode.java
@@ -24,12 +24,12 @@ 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.SingleChildProcessNode;
+import org.apache.iotdb.db.node_commons.plan.relational.planner.OrderingScheme;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.node_commons.plan.relational.planner.rowpattern.rowpattern.ExpressionAndValuePointers;
import org.apache.iotdb.db.node_commons.plan.relational.planner.rowpattern.rowpattern.IrLabel;
import org.apache.iotdb.db.node_commons.plan.relational.planner.rowpattern.rowpattern.IrRowPattern;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeType;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.OrderingScheme;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.RowsPerMatch;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.SkipToPosition;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/ProjectNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/ProjectNode.java
index 7cef21f3baf..e1e0bf1af4f 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/ProjectNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/ProjectNode.java
@@ -24,10 +24,10 @@ 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.SingleChildProcessNode;
+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.sql.ast.Expression;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeType;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.Assignments;
import com.google.common.base.Objects;
import com.google.common.collect.Iterables;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/SemiJoinNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/SemiJoinNode.java
index 885979bc92a..957b5e293f7 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/SemiJoinNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/SemiJoinNode.java
@@ -23,9 +23,9 @@ import org.apache.iotdb.db.node_commons.plan.planner.plan.node.ICoreQueryPlanVis
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.queryengine.plan.planner.plan.node.PlanNodeType;
-import org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.TwoChildProcessNode;
import com.google.common.collect.ImmutableList;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/SetOperationNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/SetOperationNode.java
similarity index 98%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/SetOperationNode.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/SetOperationNode.java
index 085c47bc35b..be21bcb90b2 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/SetOperationNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/SetOperationNode.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.planner.node;
+package org.apache.iotdb.db.node_commons.plan.relational.planner.node;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNodeId;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/SortNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/SortNode.java
index 5a9d61628ca..b50fc2dce34 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/SortNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/SortNode.java
@@ -24,9 +24,9 @@ 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.SingleChildProcessNode;
+import org.apache.iotdb.db.node_commons.plan.relational.planner.OrderingScheme;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeType;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.OrderingScheme;
import com.google.common.base.Objects;
import com.google.common.collect.Iterables;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/StreamSortNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/StreamSortNode.java
index db66a8c5646..b580a05b87a 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/StreamSortNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/StreamSortNode.java
@@ -23,8 +23,8 @@ import org.apache.iotdb.db.node_commons.plan.planner.plan.node.ICoreQueryPlanVis
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.relational.planner.OrderingScheme;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeType;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.OrderingScheme;
import com.google.common.base.Objects;
import com.google.common.collect.Iterables;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/TableFunctionNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/TableFunctionNode.java
index 821c2982414..7cbe614c69f 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/TableFunctionNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/TableFunctionNode.java
@@ -24,10 +24,10 @@ 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.MultiChildProcessNode;
+import org.apache.iotdb.db.node_commons.plan.relational.planner.DataOrganizationSpecification;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeType;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.DataOrganizationSpecification;
import org.apache.iotdb.udf.api.relational.table.TableFunctionHandle;
import com.google.common.collect.ImmutableList;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/TableFunctionProcessorNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/TableFunctionProcessorNode.java
index 170391d0332..c84da9d5605 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/TableFunctionProcessorNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/TableFunctionProcessorNode.java
@@ -24,10 +24,10 @@ 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.SingleChildProcessNode;
+import org.apache.iotdb.db.node_commons.plan.relational.planner.DataOrganizationSpecification;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeType;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.DataOrganizationSpecification;
import org.apache.iotdb.udf.api.relational.table.TableFunctionHandle;
import com.google.common.collect.ImmutableList;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/TopKNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/TopKNode.java
index 3aefbc2ee44..5b78f4226fc 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/TopKNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/TopKNode.java
@@ -24,9 +24,9 @@ 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.MultiChildProcessNode;
+import org.apache.iotdb.db.node_commons.plan.relational.planner.OrderingScheme;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeType;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.OrderingScheme;
import com.google.common.base.Objects;
import org.apache.tsfile.utils.ReadWriteIOUtils;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/TopKRankingNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/TopKRankingNode.java
index 6fb37b5ac92..0eef249565f 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/TopKRankingNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/TopKRankingNode.java
@@ -24,9 +24,9 @@ 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.SingleChildProcessNode;
+import org.apache.iotdb.db.node_commons.plan.relational.planner.DataOrganizationSpecification;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeType;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.DataOrganizationSpecification;
import com.google.common.base.Objects;
import com.google.common.collect.ImmutableList;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/UnionNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/UnionNode.java
index 13a375318a1..fb04d6a9c64 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/UnionNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/UnionNode.java
@@ -25,7 +25,6 @@ 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.relational.planner.Symbol;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeType;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.node.SetOperationNode;
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/node_commons/plan/relational/planner/node/ValuesNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/ValuesNode.java
index f80325c37b8..4b7099b778a 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/ValuesNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/ValuesNode.java
@@ -24,11 +24,11 @@ import org.apache.iotdb.db.node_commons.plan.planner.plan.node.ICoreQueryPlanVis
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.source.SourceNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Row;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeType;
-import org.apache.iotdb.db.queryengine.plan.planner.plan.node.source.SourceNode;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Row;
import com.google.common.collect.ImmutableList;
import org.apache.tsfile.utils.ReadWriteIOUtils;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/WindowNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/WindowNode.java
index 8e430157f03..39e527caa5f 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/WindowNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/node/WindowNode.java
@@ -24,14 +24,14 @@ 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.SingleChildProcessNode;
+import org.apache.iotdb.db.node_commons.plan.relational.metadata.ResolvedFunction;
+import org.apache.iotdb.db.node_commons.plan.relational.planner.DataOrganizationSpecification;
+import org.apache.iotdb.db.node_commons.plan.relational.planner.OrderingScheme;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.FrameBound;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.WindowFrame;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeType;
-import org.apache.iotdb.db.queryengine.plan.relational.metadata.ResolvedFunction;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.DataOrganizationSpecification;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.OrderingScheme;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.FrameBound;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WindowFrame;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
@@ -55,9 +55,9 @@ import java.util.Set;
import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.collect.Iterables.concat;
import static java.util.Objects.requireNonNull;
-import static org.apache.iotdb.db.queryengine.plan.relational.sql.ast.FrameBound.Type.CURRENT_ROW;
-import static org.apache.iotdb.db.queryengine.plan.relational.sql.ast.FrameBound.Type.UNBOUNDED_PRECEDING;
-import static org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WindowFrame.Type.RANGE;
+import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.FrameBound.Type.CURRENT_ROW;
+import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.FrameBound.Type.UNBOUNDED_PRECEDING;
+import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.WindowFrame.Type.RANGE;
public class WindowNode extends SingleChildProcessNode {
private final Set<Symbol> prePartitionedInputs;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/rowpattern/rowpattern/AggregationValuePointer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/rowpattern/rowpattern/AggregationValuePointer.java
index 77aef5b1f0e..adfc8a3955e 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/rowpattern/rowpattern/AggregationValuePointer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/planner/rowpattern/rowpattern/AggregationValuePointer.java
@@ -19,9 +19,9 @@
package org.apache.iotdb.db.node_commons.plan.relational.planner.rowpattern.rowpattern;
+import org.apache.iotdb.db.node_commons.plan.relational.metadata.ResolvedFunction;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
-import org.apache.iotdb.db.queryengine.plan.relational.metadata.ResolvedFunction;
import org.apache.iotdb.db.queryengine.plan.relational.planner.SymbolsExtractor;
import java.io.DataOutputStream;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/Cast.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/Cast.java
index 839e21e9e83..0596116e8c2 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/Cast.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/Cast.java
@@ -20,7 +20,6 @@
package org.apache.iotdb.db.node_commons.plan.relational.sql.ast;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.AstMemoryEstimationHelper;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.DataType;
import com.google.common.collect.ImmutableList;
import org.apache.tsfile.utils.RamUsageEstimator;
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 ba48d5e0021..93a125086af 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
@@ -153,4 +153,36 @@ public abstract class CommonQueryAstVisitor<R, C> implements IAstVisitor<R, C> {
protected R visitFunctionCall(FunctionCall node, C context) {
return visitExpression(node, context);
}
+
+ protected R visitTrim(Trim node, C context) {
+ return visitExpression(node, context);
+ }
+
+ protected R visitIfExpression(IfExpression node, C context) {
+ return visitExpression(node, context);
+ }
+
+ protected R visitNullIfExpression(NullIfExpression node, C context) {
+ return visitExpression(node, context);
+ }
+
+ protected R visitDataType(DataType node, C context) {
+ return visitExpression(node, context);
+ }
+
+ protected R visitGenericDataType(GenericDataType node, C context) {
+ return visitDataType(node, context);
+ }
+
+ protected R visitFrameBound(FrameBound node, C context) {
+ return visitNode(node, context);
+ }
+
+ protected R visitWindowFrame(WindowFrame node, C context) {
+ return visitNode(node, context);
+ }
+
+ protected R visitRow(Row node, C context) {
+ return visitExpression(node, context);
+ }
}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/DataType.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/DataType.java
similarity index 81%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/DataType.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/DataType.java
index 9499b1a32ea..2f417c7fdf8 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/DataType.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/DataType.java
@@ -17,10 +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.Expression;
-import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.NodeLocation;
+package org.apache.iotdb.db.node_commons.plan.relational.sql.ast;
import javax.annotation.Nullable;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/Expression.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/Expression.java
index d155ae3eaae..708526d9594 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/Expression.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/Expression.java
@@ -19,10 +19,8 @@
package org.apache.iotdb.db.node_commons.plan.relational.sql.ast;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.GenericDataType;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Identifier;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.InListExpression;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Row;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WhenClause;
import org.apache.iotdb.db.queryengine.plan.relational.sql.util.ExpressionFormatter;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/FrameBound.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/FrameBound.java
similarity index 90%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/FrameBound.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/FrameBound.java
index 648695dd0df..2f970dbb4c6 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/FrameBound.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/FrameBound.java
@@ -17,12 +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.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.queryengine.plan.relational.sql.ast.AstMemoryEstimationHelper;
import com.google.common.collect.ImmutableList;
import org.apache.tsfile.utils.RamUsageEstimator;
@@ -73,7 +70,7 @@ public class FrameBound extends Node {
@Override
public <R, C> R accept(IAstVisitor<R, C> visitor, C context) {
- return ((AstVisitor<R, C>) visitor).visitFrameBound(this, context);
+ return ((CommonQueryAstVisitor<R, C>) visitor).visitFrameBound(this, context);
}
@Override
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/GenericDataType.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/GenericDataType.java
similarity index 88%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/GenericDataType.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/GenericDataType.java
index 0d3a98b197e..e809053437b 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/GenericDataType.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/GenericDataType.java
@@ -17,12 +17,11 @@
* 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.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.TableExpressionType;
+import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.AstMemoryEstimationHelper;
+import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.DataTypeParameter;
+import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Identifier;
import com.google.common.collect.ImmutableList;
import org.apache.tsfile.utils.RamUsageEstimator;
@@ -74,7 +73,7 @@ public final class GenericDataType extends DataType {
@Override
public <R, C> R accept(IAstVisitor<R, C> visitor, C context) {
- return ((AstVisitor<R, C>) visitor).visitGenericDataType(this, context);
+ return ((CommonQueryAstVisitor<R, C>) visitor).visitGenericDataType(this, context);
}
@Override
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/IfExpression.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/IfExpression.java
similarity index 89%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/IfExpression.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/IfExpression.java
index ec7af811dff..f906d95746b 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/IfExpression.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/IfExpression.java
@@ -17,12 +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.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.queryengine.plan.relational.sql.ast.AstMemoryEstimationHelper;
import com.google.common.collect.ImmutableList;
import org.apache.tsfile.utils.RamUsageEstimator;
@@ -76,7 +73,7 @@ public class IfExpression extends Expression {
@Override
public <R, C> R accept(IAstVisitor<R, C> visitor, C context) {
- return ((AstVisitor<R, C>) visitor).visitIfExpression(this, context);
+ return ((CommonQueryAstVisitor<R, C>) visitor).visitIfExpression(this, context);
}
@Override
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/NullIfExpression.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/NullIfExpression.java
similarity index 86%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/NullIfExpression.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/NullIfExpression.java
index b3a24df28a7..1a28354660d 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/NullIfExpression.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/NullIfExpression.java
@@ -17,12 +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.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.queryengine.plan.relational.sql.ast.AstMemoryEstimationHelper;
import com.google.common.collect.ImmutableList;
import org.apache.tsfile.utils.RamUsageEstimator;
@@ -62,7 +59,7 @@ public class NullIfExpression extends Expression {
@Override
public <R, C> R accept(IAstVisitor<R, C> visitor, C context) {
- return ((AstVisitor<R, C>) visitor).visitNullIfExpression(this, context);
+ return ((CommonQueryAstVisitor<R, C>) visitor).visitNullIfExpression(this, context);
}
@Override
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Row.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/Row.java
similarity index 86%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Row.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/Row.java
index db1bbc847d4..136005ad880 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Row.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/Row.java
@@ -17,13 +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.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.TableExpressionType;
+import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.AstMemoryEstimationHelper;
import com.google.common.collect.ImmutableList;
import org.apache.tsfile.utils.RamUsageEstimator;
@@ -88,7 +84,7 @@ public class Row extends Expression {
@Override
public <R, C> R accept(IAstVisitor<R, C> visitor, C context) {
- return ((AstVisitor<R, C>) visitor).visitRow(this, context);
+ return ((CommonQueryAstVisitor<R, C>) visitor).visitRow(this, context);
}
@Override
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Trim.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/Trim.java
similarity index 91%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Trim.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/Trim.java
index b316244e609..4b5d5d65aba 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/Trim.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/Trim.java
@@ -17,12 +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.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.queryengine.plan.relational.sql.ast.AstMemoryEstimationHelper;
import com.google.common.collect.ImmutableList;
import org.apache.tsfile.utils.RamUsageEstimator;
@@ -88,7 +85,7 @@ public class Trim extends Expression {
@Override
public <R, C> R accept(IAstVisitor<R, C> visitor, C context) {
- return ((AstVisitor<R, C>) visitor).visitTrim(this, context);
+ return ((CommonQueryAstVisitor<R, C>) visitor).visitTrim(this, context);
}
@Override
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/WindowFrame.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/WindowFrame.java
similarity index 92%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/WindowFrame.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/WindowFrame.java
index d324dbd8bb7..38b78460759 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/WindowFrame.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/sql/ast/WindowFrame.java
@@ -17,11 +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.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.queryengine.plan.relational.sql.ast.AstMemoryEstimationHelper;
import com.google.common.collect.ImmutableList;
import org.apache.tsfile.utils.RamUsageEstimator;
@@ -72,7 +70,7 @@ public class WindowFrame extends Node {
@Override
public <R, C> R accept(IAstVisitor<R, C> visitor, C context) {
- return ((AstVisitor<R, C>) visitor).visitWindowFrame(this, context);
+ return ((CommonQueryAstVisitor<R, C>) visitor).visitWindowFrame(this, context);
}
@Override
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/type/InternalTypeManager.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/type/InternalTypeManager.java
similarity index 93%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/type/InternalTypeManager.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/type/InternalTypeManager.java
index 5719a4555ff..296fcd7dc9a 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/type/InternalTypeManager.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/type/InternalTypeManager.java
@@ -17,7 +17,12 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.type;
+package org.apache.iotdb.db.node_commons.plan.relational.type;
+
+import org.apache.iotdb.db.queryengine.plan.relational.type.TypeId;
+import org.apache.iotdb.db.queryengine.plan.relational.type.TypeManager;
+import org.apache.iotdb.db.queryengine.plan.relational.type.TypeNotFoundException;
+import org.apache.iotdb.db.queryengine.plan.relational.type.TypeSignature;
import org.apache.tsfile.enums.TSDataType;
import org.apache.tsfile.read.common.type.Type;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/type/TypeSignatureTranslator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/type/TypeSignatureTranslator.java
similarity index 92%
rename from iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/type/TypeSignatureTranslator.java
rename to iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/type/TypeSignatureTranslator.java
index 9390cd4826a..431fab40845 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/type/TypeSignatureTranslator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/plan/relational/type/TypeSignatureTranslator.java
@@ -17,15 +17,17 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.relational.type;
+package org.apache.iotdb.db.node_commons.plan.relational.type;
import org.apache.iotdb.db.exception.sql.SemanticException;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.DataType;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.DataType;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.GenericDataType;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.DataTypeParameter;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.GenericDataType;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Identifier;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.NumericParameter;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.TypeParameter;
+import org.apache.iotdb.db.queryengine.plan.relational.type.TypeSignature;
+import org.apache.iotdb.db.queryengine.plan.relational.type.TypeSignatureParameter;
import com.google.common.collect.ImmutableList;
import org.apache.tsfile.read.common.type.Type;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/transformation/dag/column/column/ternary/Like3ColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/transformation/dag/column/column/ternary/Like3ColumnTransformer.java
index 23990849c4a..7946319df4e 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/transformation/dag/column/column/ternary/Like3ColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/transformation/dag/column/column/ternary/Like3ColumnTransformer.java
@@ -27,7 +27,7 @@ import org.apache.tsfile.common.conf.TSFileConfig;
import org.apache.tsfile.common.regexp.LikePattern;
import org.apache.tsfile.read.common.type.Type;
-import static org.apache.iotdb.db.queryengine.plan.expression.unary.LikeExpression.getEscapeCharacter;
+import static org.apache.iotdb.db.node_commons.plan.expression.expression.unary.LikeExpression.getEscapeCharacter;
import static org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl.isCharType;
public class Like3ColumnTransformer extends TernaryColumnTransformer {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/transformation/dag/column/column/udf/UserDefineScalarFunctionTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/transformation/dag/column/column/udf/UserDefineScalarFunctionTransformer.java
index 9ed50a2c9a7..b019cd91302 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/transformation/dag/column/column/udf/UserDefineScalarFunctionTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/transformation/dag/column/column/udf/UserDefineScalarFunctionTransformer.java
@@ -19,9 +19,9 @@
package org.apache.iotdb.db.node_commons.transformation.dag.column.column.udf;
-import org.apache.iotdb.db.queryengine.execution.operator.source.relational.aggregation.RecordIterator;
import org.apache.iotdb.db.node_commons.transformation.dag.column.column.ColumnTransformer;
import org.apache.iotdb.db.node_commons.transformation.dag.column.column.multi.MultiColumnTransformer;
+import org.apache.iotdb.db.queryengine.execution.operator.source.relational.aggregation.RecordIterator;
import org.apache.iotdb.udf.api.relational.ScalarFunction;
import org.apache.iotdb.udf.api.relational.access.Record;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/transformation/dag/column/column/unary/scalar/AbstractCastFunctionColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/transformation/dag/column/column/unary/scalar/AbstractCastFunctionColumnTransformer.java
index dfe3ef74ae1..7fbc86f3aa1 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/transformation/dag/column/column/unary/scalar/AbstractCastFunctionColumnTransformer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/node_commons/transformation/dag/column/column/unary/scalar/AbstractCastFunctionColumnTransformer.java
@@ -21,7 +21,7 @@ package org.apache.iotdb.db.node_commons.transformation.dag.column.column.unary.
import org.apache.iotdb.commons.exception.IoTDBRuntimeException;
import org.apache.iotdb.db.exception.sql.SemanticException;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.builtin.helper.CastFunctionHelper;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.builtin.helper.CastFunctionHelper;
import org.apache.iotdb.db.node_commons.transformation.dag.column.column.ColumnTransformer;
import org.apache.iotdb.db.node_commons.transformation.dag.column.column.unary.UnaryColumnTransformer;
import org.apache.iotdb.db.utils.DateTimeUtils;
@@ -38,7 +38,7 @@ import org.apache.tsfile.utils.DateUtils;
import java.time.ZoneId;
import java.time.format.DateTimeParseException;
-import static org.apache.iotdb.db.queryengine.plan.expression.multi.builtin.helper.CastFunctionHelper.ERROR_MSG;
+import static org.apache.iotdb.db.node_commons.plan.expression.expression.multi.builtin.helper.CastFunctionHelper.ERROR_MSG;
import static org.apache.iotdb.rpc.TSStatusCode.DATE_OUT_OF_RANGE;
public abstract class AbstractCastFunctionColumnTransformer extends UnaryColumnTransformer {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/DataNodeInternalRPCServiceImpl.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/DataNodeInternalRPCServiceImpl.java
index b0928529e44..df14524c01f 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/DataNodeInternalRPCServiceImpl.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/DataNodeInternalRPCServiceImpl.java
@@ -105,6 +105,12 @@ import org.apache.iotdb.db.consensus.DataRegionConsensusImpl;
import org.apache.iotdb.db.consensus.SchemaRegionConsensusImpl;
import org.apache.iotdb.db.exception.StorageEngineException;
import org.apache.iotdb.db.exception.query.QueryProcessException;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.GreaterEqualExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LessThanExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LogicAndExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.ConstantOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimestampOperand;
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.partition.DataPartitionTableGenerator;
@@ -143,12 +149,6 @@ import org.apache.iotdb.db.queryengine.plan.analyze.schema.ClusterSchemaFetcher;
import org.apache.iotdb.db.queryengine.plan.analyze.schema.ISchemaFetcher;
import org.apache.iotdb.db.queryengine.plan.execution.ExecutionResult;
import org.apache.iotdb.db.queryengine.plan.execution.IQueryExecution;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.GreaterEqualExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LessThanExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LogicAndExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.ConstantOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimestampOperand;
import org.apache.iotdb.db.queryengine.plan.parser.StatementGenerator;
import org.apache.iotdb.db.queryengine.plan.planner.plan.FragmentInstance;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeType;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/aggregation/AccumulatorFactory.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/aggregation/AccumulatorFactory.java
index fb7938309af..f1f6e349bc8 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/aggregation/AccumulatorFactory.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/aggregation/AccumulatorFactory.java
@@ -21,9 +21,9 @@ package org.apache.iotdb.db.queryengine.execution.aggregation;
import org.apache.iotdb.common.rpc.thrift.TAggregationType;
import org.apache.iotdb.commons.utils.TestOnly;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.CompareBinaryExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.ConstantOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.CompareBinaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.ConstantOperand;
import org.apache.tsfile.enums.TSDataType;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/aggregation/UDAFAccumulator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/aggregation/UDAFAccumulator.java
index 73ec966b84b..286eec6abb1 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/aggregation/UDAFAccumulator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/aggregation/UDAFAccumulator.java
@@ -20,7 +20,7 @@
package org.apache.iotdb.db.queryengine.execution.aggregation;
import org.apache.iotdb.commons.udf.utils.UDFDataTypeTransformer;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
import org.apache.iotdb.db.queryengine.plan.udf.UDFManagementService;
import org.apache.iotdb.db.queryengine.transformation.dag.udf.UDFParametersFactory;
import org.apache.iotdb.udf.api.State;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/aggregation/slidingwindow/SlidingWindowAggregatorFactory.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/aggregation/slidingwindow/SlidingWindowAggregatorFactory.java
index 572d41d5184..6eb4182587a 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/aggregation/slidingwindow/SlidingWindowAggregatorFactory.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/aggregation/slidingwindow/SlidingWindowAggregatorFactory.java
@@ -21,9 +21,9 @@ package org.apache.iotdb.db.queryengine.execution.aggregation.slidingwindow;
import org.apache.iotdb.common.rpc.thrift.TAggregationType;
import org.apache.iotdb.db.exception.sql.SemanticException;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
import org.apache.iotdb.db.queryengine.execution.aggregation.Accumulator;
import org.apache.iotdb.db.queryengine.execution.aggregation.AccumulatorFactory;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.AggregationStep;
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.InputLocation;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/FilterAndProjectOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/FilterAndProjectOperator.java
index 28e4e72372b..5d9163e9e68 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/FilterAndProjectOperator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/FilterAndProjectOperator.java
@@ -19,9 +19,6 @@
package org.apache.iotdb.db.queryengine.execution.operator.process;
-import org.apache.iotdb.db.queryengine.execution.MemoryEstimationHelper;
-import org.apache.iotdb.db.queryengine.execution.operator.Operator;
-import org.apache.iotdb.db.queryengine.execution.operator.OperatorContext;
import org.apache.iotdb.db.node_commons.transformation.dag.column.column.AbstractCaseWhenThenColumnTransformer;
import org.apache.iotdb.db.node_commons.transformation.dag.column.column.ColumnTransformer;
import org.apache.iotdb.db.node_commons.transformation.dag.column.column.FailFunctionColumnTransformer;
@@ -32,6 +29,9 @@ import org.apache.iotdb.db.node_commons.transformation.dag.column.column.multi.M
import org.apache.iotdb.db.node_commons.transformation.dag.column.column.multi.MultiColumnTransformer;
import org.apache.iotdb.db.node_commons.transformation.dag.column.column.ternary.TernaryColumnTransformer;
import org.apache.iotdb.db.node_commons.transformation.dag.column.column.unary.UnaryColumnTransformer;
+import org.apache.iotdb.db.queryengine.execution.MemoryEstimationHelper;
+import org.apache.iotdb.db.queryengine.execution.operator.Operator;
+import org.apache.iotdb.db.queryengine.execution.operator.OperatorContext;
import com.google.common.util.concurrent.ListenableFuture;
import org.apache.tsfile.block.column.Column;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/TransformOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/TransformOperator.java
index ad5192f9807..bfa1e582900 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/TransformOperator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/TransformOperator.java
@@ -23,11 +23,11 @@ import org.apache.iotdb.commons.udf.service.UDFClassLoaderManager;
import org.apache.iotdb.commons.utils.TestOnly;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.exception.query.QueryProcessException;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
import org.apache.iotdb.db.queryengine.common.NodeRef;
import org.apache.iotdb.db.queryengine.execution.MemoryEstimationHelper;
import org.apache.iotdb.db.queryengine.execution.operator.Operator;
import org.apache.iotdb.db.queryengine.execution.operator.OperatorContext;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.InputLocation;
import org.apache.iotdb.db.queryengine.plan.udf.UDFManagementService;
import org.apache.iotdb.db.queryengine.transformation.api.LayerReader;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/rowpattern/PatternAggregator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/rowpattern/PatternAggregator.java
index 55fc4425041..2fcd151deb2 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/rowpattern/PatternAggregator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/rowpattern/PatternAggregator.java
@@ -20,11 +20,11 @@
package org.apache.iotdb.db.queryengine.execution.operator.process.rowpattern;
import org.apache.iotdb.db.exception.sql.SemanticException;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.BoundSignature;
import org.apache.iotdb.db.queryengine.execution.operator.process.rowpattern.matcher.ArrayView;
import org.apache.iotdb.db.queryengine.execution.operator.process.window.partition.Partition;
import org.apache.iotdb.db.queryengine.execution.operator.source.relational.aggregation.AggregationMask;
import org.apache.iotdb.db.queryengine.execution.operator.source.relational.aggregation.TableAccumulator;
-import org.apache.iotdb.db.queryengine.plan.relational.function.BoundSignature;
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/queryengine/execution/operator/process/rowpattern/expression/CastComputation.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/rowpattern/expression/CastComputation.java
index 9f4ad2f13af..8c7b3f80887 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/rowpattern/expression/CastComputation.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/rowpattern/expression/CastComputation.java
@@ -19,8 +19,8 @@
package org.apache.iotdb.db.queryengine.execution.operator.process.rowpattern.expression;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.DataType;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.GenericDataType;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.DataType;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.GenericDataType;
import java.util.List;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/rowpattern/expression/Computation.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/rowpattern/expression/Computation.java
index f652f7ce885..a9df4dbacde 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/rowpattern/expression/Computation.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/rowpattern/expression/Computation.java
@@ -27,6 +27,7 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.BinaryLiteral;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.BooleanLiteral;
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.DataType;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.DoubleLiteral;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.FloatLiteral;
@@ -35,7 +36,6 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.LogicalExpressio
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.LongLiteral;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.StringLiteral;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SymbolReference;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.DataType;
import java.util.ArrayList;
import java.util.HashMap;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/RowNumberOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/RowNumberOperator.java
index 7861a8dbbee..56c26c31f0d 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/RowNumberOperator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/RowNumberOperator.java
@@ -18,13 +18,13 @@
*/
package org.apache.iotdb.db.queryengine.execution.operator.process.window;
+import org.apache.iotdb.db.node_commons.plan.relational.type.InternalTypeManager;
import org.apache.iotdb.db.queryengine.execution.MemoryEstimationHelper;
import org.apache.iotdb.db.queryengine.execution.operator.Operator;
import org.apache.iotdb.db.queryengine.execution.operator.OperatorContext;
import org.apache.iotdb.db.queryengine.execution.operator.process.ProcessOperator;
import org.apache.iotdb.db.queryengine.execution.operator.source.relational.aggregation.grouped.UpdateMemory;
import org.apache.iotdb.db.queryengine.execution.operator.source.relational.aggregation.grouped.hash.GroupByHash;
-import org.apache.iotdb.db.queryengine.plan.relational.type.InternalTypeManager;
import com.google.common.collect.ImmutableList;
import com.google.common.util.concurrent.ListenableFuture;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/TopKRankingOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/TopKRankingOperator.java
index 95bb2fcd568..eab0d71d9dc 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/TopKRankingOperator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/TopKRankingOperator.java
@@ -20,6 +20,7 @@
package org.apache.iotdb.db.queryengine.execution.operator.process.window;
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.MemoryEstimationHelper;
import org.apache.iotdb.db.queryengine.execution.operator.GroupedTopNBuilder;
import org.apache.iotdb.db.queryengine.execution.operator.GroupedTopNRowNumberBuilder;
@@ -32,7 +33,6 @@ import org.apache.iotdb.db.queryengine.execution.operator.source.relational.aggr
import org.apache.iotdb.db.queryengine.execution.operator.source.relational.aggregation.grouped.hash.GroupByHash;
import org.apache.iotdb.db.queryengine.execution.operator.source.relational.aggregation.grouped.hash.NoChannelGroupByHash;
import org.apache.iotdb.db.queryengine.plan.relational.planner.SortOrder;
-import org.apache.iotdb.db.queryengine.plan.relational.type.InternalTypeManager;
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/queryengine/execution/operator/process/window/partition/frame/FrameInfo.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/partition/frame/FrameInfo.java
index 78cb7d2b9e4..bd811522929 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/partition/frame/FrameInfo.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/partition/frame/FrameInfo.java
@@ -19,9 +19,9 @@
package org.apache.iotdb.db.queryengine.execution.operator.process.window.partition.frame;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.FrameBound;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.WindowFrame;
import org.apache.iotdb.db.queryengine.plan.relational.planner.SortOrder;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.FrameBound;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WindowFrame;
import java.util.Optional;
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 a2aed523dc2..894fec27ab5 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
@@ -48,9 +48,9 @@ import java.util.Set;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
+import static org.apache.iotdb.db.node_commons.plan.relational.type.InternalTypeManager.getTSDataType;
import static org.apache.iotdb.db.queryengine.execution.operator.source.AlignedSeriesScanOperator.appendDataIntoBuilder;
import static org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanGraphPrinter.DEVICE_NUMBER;
-import static org.apache.iotdb.db.queryengine.plan.relational.type.InternalTypeManager.getTSDataType;
public abstract class AbstractTableScanOperator extends AbstractSeriesScanOperator {
private static final long INSTANCE_SIZE =
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 9631ad7a4ef..3460ea200a0 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
@@ -64,6 +64,7 @@ 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.conf.IoTDBDescriptor;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.TableBuiltinTableFunction;
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.StringLiteral;
@@ -81,7 +82,6 @@ import org.apache.iotdb.db.queryengine.plan.Coordinator;
import org.apache.iotdb.db.queryengine.plan.execution.IQueryExecution;
import org.apache.iotdb.db.queryengine.plan.execution.config.metadata.relational.ShowCreateViewTask;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanGraphPrinter;
-import org.apache.iotdb.db.queryengine.plan.relational.function.TableBuiltinTableFunction;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.InformationSchemaTableScanNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.TableDiskUsageInformationSchemaTableScanNode;
import org.apache.iotdb.db.queryengine.plan.relational.security.AccessControl;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/LastQueryAggTableScanOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/LastQueryAggTableScanOperator.java
index 8b4719bc1f1..ef2b10952dc 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/LastQueryAggTableScanOperator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/LastQueryAggTableScanOperator.java
@@ -51,10 +51,10 @@ import java.util.OptionalLong;
import java.util.concurrent.TimeUnit;
import static com.google.common.base.Preconditions.checkState;
+import static org.apache.iotdb.db.node_commons.plan.relational.type.InternalTypeManager.getTSDataType;
import static org.apache.iotdb.db.queryengine.execution.operator.source.relational.aggregation.Utils.serializeTimeValueWithNull;
import static org.apache.iotdb.db.queryengine.plan.relational.metadata.fetcher.cache.TableDeviceLastCache.EMPTY_PRIMITIVE_TYPE;
import static org.apache.iotdb.db.queryengine.plan.relational.metadata.fetcher.cache.TableDeviceLastCache.EMPTY_TIME_VALUE_PAIR;
-import static org.apache.iotdb.db.queryengine.plan.relational.type.InternalTypeManager.getTSDataType;
/**
* This class is used to execute aggregation table scan when apply {@code canUseLastCacheOptimize()}
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/AccumulatorFactory.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/AccumulatorFactory.java
index eed3a0160a7..0be8d74cf45 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/AccumulatorFactory.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/AccumulatorFactory.java
@@ -22,6 +22,7 @@ package org.apache.iotdb.db.queryengine.execution.operator.source.relational.agg
import org.apache.iotdb.common.rpc.thrift.TAggregationType;
import org.apache.iotdb.commons.udf.utils.UDFDataTypeTransformer;
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.db.queryengine.execution.aggregation.VarianceAccumulator;
import org.apache.iotdb.db.queryengine.execution.operator.source.relational.aggregation.grouped.BinaryGroupedApproxMostFrequentAccumulator;
import org.apache.iotdb.db.queryengine.execution.operator.source.relational.aggregation.grouped.BlobGroupedApproxMostFrequentAccumulator;
@@ -53,7 +54,6 @@ import org.apache.iotdb.db.queryengine.execution.operator.source.relational.aggr
import org.apache.iotdb.db.queryengine.execution.operator.source.relational.aggregation.grouped.LongGroupedApproxMostFrequentAccumulator;
import org.apache.iotdb.db.queryengine.execution.operator.source.relational.aggregation.grouped.UpdateMemory;
import org.apache.iotdb.db.queryengine.execution.operator.source.relational.aggregation.grouped.hash.MarkDistinctHash;
-import org.apache.iotdb.db.queryengine.plan.relational.type.InternalTypeManager;
import org.apache.iotdb.db.queryengine.plan.udf.TableUDFUtils;
import org.apache.iotdb.udf.api.customizer.parameter.FunctionArguments;
import org.apache.iotdb.udf.api.relational.AggregateFunction;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/grouped/StreamingAggregationOperator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/grouped/StreamingAggregationOperator.java
index 6f151ceef22..ec8d02b4176 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/grouped/StreamingAggregationOperator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/grouped/StreamingAggregationOperator.java
@@ -19,13 +19,13 @@
package org.apache.iotdb.db.queryengine.execution.operator.source.relational.aggregation.grouped;
+import org.apache.iotdb.db.node_commons.plan.relational.type.InternalTypeManager;
import org.apache.iotdb.db.queryengine.execution.MemoryEstimationHelper;
import org.apache.iotdb.db.queryengine.execution.operator.AbstractOperator;
import org.apache.iotdb.db.queryengine.execution.operator.Operator;
import org.apache.iotdb.db.queryengine.execution.operator.OperatorContext;
import org.apache.iotdb.db.queryengine.execution.operator.source.relational.AbstractTableScanOperator;
import org.apache.iotdb.db.queryengine.execution.operator.source.relational.aggregation.TableAggregator;
-import org.apache.iotdb.db.queryengine.plan.relational.type.InternalTypeManager;
import org.apache.iotdb.db.utils.datastructure.SortKey;
import com.google.common.primitives.Ints;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/grouped/builder/InMemoryHashAggregationBuilder.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/grouped/builder/InMemoryHashAggregationBuilder.java
index fbe0cee4098..6b2e556f7b4 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/grouped/builder/InMemoryHashAggregationBuilder.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/grouped/builder/InMemoryHashAggregationBuilder.java
@@ -20,12 +20,12 @@
package org.apache.iotdb.db.queryengine.execution.operator.source.relational.aggregation.grouped.builder;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.AggregationNode;
+import org.apache.iotdb.db.node_commons.plan.relational.type.InternalTypeManager;
import org.apache.iotdb.db.queryengine.execution.operator.OperatorContext;
import org.apache.iotdb.db.queryengine.execution.operator.source.relational.TableScanOperator;
import org.apache.iotdb.db.queryengine.execution.operator.source.relational.aggregation.grouped.GroupedAggregator;
import org.apache.iotdb.db.queryengine.execution.operator.source.relational.aggregation.grouped.UpdateMemory;
import org.apache.iotdb.db.queryengine.execution.operator.source.relational.aggregation.grouped.hash.GroupByHash;
-import org.apache.iotdb.db.queryengine.plan.relational.type.InternalTypeManager;
import com.google.common.collect.ImmutableList;
import com.google.common.primitives.Ints;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/window/ConditionWindowParameter.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/window/ConditionWindowParameter.java
index a9cc81171fb..53b389f3837 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/window/ConditionWindowParameter.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/window/ConditionWindowParameter.java
@@ -19,7 +19,7 @@
package org.apache.iotdb.db.queryengine.execution.operator.window;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
public class ConditionWindowParameter extends WindowParameter {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/relational/ColumnTransformerBuilder.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/relational/ColumnTransformerBuilder.java
index dccbad37c63..93c100cecf0 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/relational/ColumnTransformerBuilder.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/relational/ColumnTransformerBuilder.java
@@ -23,6 +23,11 @@ import org.apache.iotdb.commons.udf.builtin.relational.TableBuiltinScalarFunctio
import org.apache.iotdb.commons.udf.utils.UDFDataTypeTransformer;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.exception.sql.SemanticException;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.arithmetic.AdditionResolver;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.arithmetic.DivisionResolver;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.arithmetic.ModulusResolver;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.arithmetic.MultiplicationResolver;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.arithmetic.SubtractionResolver;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.ArithmeticBinaryExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.ArithmeticUnaryExpression;
@@ -31,6 +36,7 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.BinaryLiteral;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.BooleanLiteral;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Cast;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.CoalesceExpression;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.CommonQueryAstVisitor;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.ComparisonExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.CurrentDatabase;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.CurrentTime;
@@ -42,6 +48,7 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Extract;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.FloatLiteral;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.FunctionCall;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.GenericLiteral;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IfExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.InPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IsNotNullPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IsNullPredicate;
@@ -50,34 +57,18 @@ 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.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.SearchedCaseExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SimpleCaseExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.StringLiteral;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SymbolReference;
-import org.apache.iotdb.db.queryengine.common.SessionInfo;
-import org.apache.iotdb.db.queryengine.execution.fragment.FragmentInstanceContext;
-import org.apache.iotdb.db.queryengine.plan.analyze.TypeProvider;
-import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.InputLocation;
-import org.apache.iotdb.db.queryengine.plan.relational.function.arithmetic.AdditionResolver;
-import org.apache.iotdb.db.queryengine.plan.relational.function.arithmetic.DivisionResolver;
-import org.apache.iotdb.db.queryengine.plan.relational.function.arithmetic.ModulusResolver;
-import org.apache.iotdb.db.queryengine.plan.relational.function.arithmetic.MultiplicationResolver;
-import org.apache.iotdb.db.queryengine.plan.relational.function.arithmetic.SubtractionResolver;
-import org.apache.iotdb.db.queryengine.plan.relational.metadata.Metadata;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.AstVisitor;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.IfExpression;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.InListExpression;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.NullIfExpression;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Trim;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WhenClause;
-import org.apache.iotdb.db.queryengine.plan.relational.type.InternalTypeManager;
-import org.apache.iotdb.db.queryengine.plan.relational.type.TypeNotFoundException;
-import org.apache.iotdb.db.queryengine.plan.udf.TableUDFUtils;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Trim;
+import org.apache.iotdb.db.node_commons.plan.relational.type.InternalTypeManager;
+import org.apache.iotdb.db.node_commons.transformation.dag.column.binary.factory.factory.HmacStrategiesFactory;
import org.apache.iotdb.db.node_commons.transformation.dag.column.column.ColumnTransformer;
import org.apache.iotdb.db.node_commons.transformation.dag.column.column.FailFunctionColumnTransformer;
import org.apache.iotdb.db.node_commons.transformation.dag.column.column.TableCaseWhenThenColumnTransformer;
-import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.ArithmeticColumnTransformerApi;
import org.apache.iotdb.db.node_commons.transformation.dag.column.column.binary.CompareEqualToColumnTransformer;
import org.apache.iotdb.db.node_commons.transformation.dag.column.column.binary.CompareGreaterEqualColumnTransformer;
import org.apache.iotdb.db.node_commons.transformation.dag.column.column.binary.CompareGreaterThanColumnTransformer;
@@ -86,7 +77,6 @@ import org.apache.iotdb.db.node_commons.transformation.dag.column.column.binary.
import org.apache.iotdb.db.node_commons.transformation.dag.column.column.binary.CompareNonEqualColumnTransformer;
import org.apache.iotdb.db.node_commons.transformation.dag.column.column.binary.HmacColumnTransformer;
import org.apache.iotdb.db.node_commons.transformation.dag.column.column.binary.Like2ColumnTransformer;
-import org.apache.iotdb.db.node_commons.transformation.dag.column.binary.factory.factory.HmacStrategiesFactory;
import org.apache.iotdb.db.node_commons.transformation.dag.column.column.leaf.ConstantColumnTransformer;
import org.apache.iotdb.db.node_commons.transformation.dag.column.column.leaf.IdentityColumnTransformer;
import org.apache.iotdb.db.node_commons.transformation.dag.column.column.leaf.LeafColumnTransformer;
@@ -197,6 +187,16 @@ import org.apache.iotdb.db.node_commons.transformation.dag.column.column.unary.s
import org.apache.iotdb.db.node_commons.transformation.dag.column.column.unary.scalar.UpperColumnTransformer;
import org.apache.iotdb.db.node_commons.transformation.dag.column.column.unary.scalar.factory.CodecStrategiesFactory;
import org.apache.iotdb.db.node_commons.transformation.dag.column.column.unary.scalar.factory.NumericCodecStrategiesFactory;
+import org.apache.iotdb.db.queryengine.common.SessionInfo;
+import org.apache.iotdb.db.queryengine.execution.fragment.FragmentInstanceContext;
+import org.apache.iotdb.db.queryengine.plan.analyze.TypeProvider;
+import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.InputLocation;
+import org.apache.iotdb.db.queryengine.plan.relational.metadata.Metadata;
+import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.InListExpression;
+import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WhenClause;
+import org.apache.iotdb.db.queryengine.plan.relational.type.TypeNotFoundException;
+import org.apache.iotdb.db.queryengine.plan.udf.TableUDFUtils;
+import org.apache.iotdb.db.queryengine.transformation.dag.column.binary.ArithmeticColumnTransformerApi;
import org.apache.iotdb.udf.api.customizer.analysis.ScalarFunctionAnalysis;
import org.apache.iotdb.udf.api.customizer.parameter.FunctionArguments;
import org.apache.iotdb.udf.api.relational.ScalarFunction;
@@ -230,17 +230,17 @@ import java.util.Set;
import java.util.stream.Collectors;
import static com.google.common.base.Preconditions.checkArgument;
-import static org.apache.iotdb.db.queryengine.plan.expression.unary.LikeExpression.getEscapeCharacter;
-import static org.apache.iotdb.db.queryengine.plan.relational.analyzer.predicate.PredicatePushIntoMetadataChecker.isStringLiteral;
-import static org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl.isBlobType;
-import static org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl.isCharType;
-import static org.apache.iotdb.db.queryengine.plan.relational.type.InternalTypeManager.getTSDataType;
-import static org.apache.iotdb.db.queryengine.plan.relational.type.TypeSignatureTranslator.toTypeSignature;
-import static org.apache.iotdb.db.node_commons.transformation.dag.column.column.FailFunctionColumnTransformer.FAIL_FUNCTION_NAME;
+import static org.apache.iotdb.db.node_commons.plan.expression.expression.unary.LikeExpression.getEscapeCharacter;
+import static org.apache.iotdb.db.node_commons.plan.relational.type.InternalTypeManager.getTSDataType;
+import static org.apache.iotdb.db.node_commons.plan.relational.type.TypeSignatureTranslator.toTypeSignature;
import static org.apache.iotdb.db.node_commons.transformation.dag.column.binary.factory.factory.HmacStrategiesFactory.createConstantKeyHmacMd5Strategy;
import static org.apache.iotdb.db.node_commons.transformation.dag.column.binary.factory.factory.HmacStrategiesFactory.createConstantKeyHmacSha1Strategy;
import static org.apache.iotdb.db.node_commons.transformation.dag.column.binary.factory.factory.HmacStrategiesFactory.createConstantKeyHmacSha256Strategy;
import static org.apache.iotdb.db.node_commons.transformation.dag.column.binary.factory.factory.HmacStrategiesFactory.createConstantKeyHmacSha512Strategy;
+import static org.apache.iotdb.db.node_commons.transformation.dag.column.column.FailFunctionColumnTransformer.FAIL_FUNCTION_NAME;
+import static org.apache.iotdb.db.queryengine.plan.relational.analyzer.predicate.PredicatePushIntoMetadataChecker.isStringLiteral;
+import static org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl.isBlobType;
+import static org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl.isCharType;
import static org.apache.tsfile.read.common.type.BlobType.BLOB;
import static org.apache.tsfile.read.common.type.BooleanType.BOOLEAN;
import static org.apache.tsfile.read.common.type.DoubleType.DOUBLE;
@@ -250,7 +250,7 @@ import static org.apache.tsfile.read.common.type.LongType.INT64;
import static org.apache.tsfile.read.common.type.StringType.STRING;
public class ColumnTransformerBuilder
- extends AstVisitor<ColumnTransformer, ColumnTransformerBuilder.Context> {
+ extends CommonQueryAstVisitor<ColumnTransformer, ColumnTransformerBuilder.Context> {
private static final String UNSUPPORTED_EXPRESSION = "Unsupported expression: %s";
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/Coordinator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/Coordinator.java
index 1ec9713ce02..24c4b377ea8 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/Coordinator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/Coordinator.java
@@ -39,6 +39,7 @@ import org.apache.iotdb.db.exception.query.QueryTimeoutRuntimeException;
import org.apache.iotdb.db.exception.sql.SemanticException;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Literal;
+import org.apache.iotdb.db.node_commons.plan.relational.type.InternalTypeManager;
import org.apache.iotdb.db.protocol.session.IClientSession;
import org.apache.iotdb.db.protocol.session.PreparedStatementInfo;
import org.apache.iotdb.db.queryengine.common.DataNodeEndPoints;
@@ -147,7 +148,6 @@ import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WrappedInsertStat
import org.apache.iotdb.db.queryengine.plan.relational.sql.parser.SqlParser;
import org.apache.iotdb.db.queryengine.plan.relational.sql.rewrite.StatementRewrite;
import org.apache.iotdb.db.queryengine.plan.relational.sql.rewrite.StatementRewriteFactory;
-import org.apache.iotdb.db.queryengine.plan.relational.type.InternalTypeManager;
import org.apache.iotdb.db.queryengine.plan.relational.type.TypeManager;
import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
import org.apache.iotdb.db.queryengine.plan.statement.Statement;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/Analysis.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/Analysis.java
index ec1bdeed0c6..e74cf637ed1 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/Analysis.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/Analysis.java
@@ -30,6 +30,9 @@ import org.apache.iotdb.commons.partition.DataPartition;
import org.apache.iotdb.commons.partition.SchemaPartition;
import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.commons.schema.template.Template;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionType;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimeSeriesOperand;
import org.apache.iotdb.db.queryengine.common.DeviceContext;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
import org.apache.iotdb.db.queryengine.common.NodeRef;
@@ -39,9 +42,6 @@ import org.apache.iotdb.db.queryengine.common.schematree.ISchemaTree;
import org.apache.iotdb.db.queryengine.plan.execution.memory.StatementMemorySource;
import org.apache.iotdb.db.queryengine.plan.execution.memory.StatementMemorySourceContext;
import org.apache.iotdb.db.queryengine.plan.execution.memory.StatementMemorySourceVisitor;
-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.leaf.TimeSeriesOperand;
import org.apache.iotdb.db.queryengine.plan.planner.plan.TimePredicate;
import org.apache.iotdb.db.queryengine.plan.planner.plan.TreeModelTimePredicate;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.FilterNode;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeVisitor.java
index dacdc69ba45..96df9ed1f92 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeVisitor.java
@@ -46,6 +46,14 @@ import org.apache.iotdb.db.exception.metadata.template.TemplateIncompatibleExcep
import org.apache.iotdb.db.exception.metadata.view.UnsupportedViewException;
import org.apache.iotdb.db.exception.sql.SemanticException;
import org.apache.iotdb.db.exception.sql.StatementAnalyzeException;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionFactory;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionType;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.CompareBinaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.ConstantOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.FunctionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.ExistUnknownTypeInExpression;
import org.apache.iotdb.db.queryengine.common.DeviceContext;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext.ExplainType;
@@ -62,14 +70,6 @@ import org.apache.iotdb.db.queryengine.plan.analyze.lock.DataNodeSchemaLockManag
import org.apache.iotdb.db.queryengine.plan.analyze.lock.SchemaLockType;
import org.apache.iotdb.db.queryengine.plan.analyze.schema.ISchemaFetcher;
import org.apache.iotdb.db.queryengine.plan.analyze.schema.SchemaValidator;
-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.binary.CompareBinaryExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.ConstantOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.ExistUnknownTypeInExpression;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.metadata.write.MeasurementGroup;
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.DeviceViewIntoPathDescriptor;
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.FillDescriptor;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/ConcatPathRewriter.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/ConcatPathRewriter.java
index 041f08e1b5c..2203c90dd60 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/ConcatPathRewriter.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/ConcatPathRewriter.java
@@ -23,8 +23,8 @@ import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.commons.path.PathPatternTree;
import org.apache.iotdb.commons.path.PathPatternTreeUtils;
import org.apache.iotdb.db.exception.sql.StatementAnalyzeException;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
import org.apache.iotdb.db.queryengine.plan.statement.Statement;
import org.apache.iotdb.db.queryengine.plan.statement.component.ResultColumn;
import org.apache.iotdb.db.queryengine.plan.statement.component.SelectComponent;
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 9a847a9ebd1..754081b4843 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
@@ -25,34 +25,34 @@ 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.exception.sql.SemanticException;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.UnknownExpressionTypeException;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.BinaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.ConstantOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.LeafOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.NullOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimestampOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.FunctionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.other.CaseWhenThenExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ternary.TernaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.UnaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.BindTypeForTimeSeriesOperandVisitor;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.CollectAggregationExpressionsVisitor;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.CollectSourceExpressionsVisitor;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.ExpressionNormalizeVisitor;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.GetMeasurementExpressionVisitor;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.LowercaseNormalizeVisitor;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.ReplaceRawPathWithGroupedPathVisitor;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.ReplaceSubTreeWithViewVisitor;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.cartesian.BindSchemaForExpressionVisitor;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.cartesian.BindSchemaForPredicateVisitor;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.cartesian.ConcatDeviceAndBindSchemaForExpressionVisitor;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.cartesian.ConcatDeviceAndBindSchemaForHavingVisitor;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.cartesian.ConcatDeviceAndBindSchemaForPredicateVisitor;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.cartesian.ConcatExpressionWithSuffixPathsVisitor;
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;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.NullOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimestampOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.other.CaseWhenThenExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.ternary.TernaryExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.UnaryExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.BindTypeForTimeSeriesOperandVisitor;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.CollectAggregationExpressionsVisitor;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.CollectSourceExpressionsVisitor;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.ExpressionNormalizeVisitor;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.GetMeasurementExpressionVisitor;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.LowercaseNormalizeVisitor;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.ReplaceRawPathWithGroupedPathVisitor;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.ReplaceSubTreeWithViewVisitor;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.cartesian.BindSchemaForExpressionVisitor;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.cartesian.BindSchemaForPredicateVisitor;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.cartesian.ConcatDeviceAndBindSchemaForExpressionVisitor;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.cartesian.ConcatDeviceAndBindSchemaForHavingVisitor;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.cartesian.ConcatDeviceAndBindSchemaForPredicateVisitor;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.cartesian.ConcatExpressionWithSuffixPathsVisitor;
import org.apache.iotdb.db.queryengine.plan.statement.component.ResultColumn;
import org.apache.iotdb.db.queryengine.plan.udf.BuiltinScalarFunction;
import org.apache.iotdb.db.queryengine.plan.udf.BuiltinTimeSeriesGeneratingFunction;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/ExpressionTypeAnalyzer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/ExpressionTypeAnalyzer.java
index adc80c7bb15..a14e1236b17 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/ExpressionTypeAnalyzer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/ExpressionTypeAnalyzer.java
@@ -20,27 +20,27 @@
package org.apache.iotdb.db.queryengine.plan.analyze;
import org.apache.iotdb.db.exception.sql.SemanticException;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionType;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.ArithmeticBinaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.CompareBinaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LogicBinaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.WhenThenExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.ConstantOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.NullOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimestampOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.FunctionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.other.CaseWhenThenExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ternary.BetweenExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.InExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.IsNullExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.LikeExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.LogicNotExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.NegationExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.RegularExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.ExpressionVisitor;
import org.apache.iotdb.db.queryengine.common.NodeRef;
-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.binary.ArithmeticBinaryExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.CompareBinaryExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LogicBinaryExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.WhenThenExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.ConstantOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.NullOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimestampOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.other.CaseWhenThenExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.ternary.BetweenExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.InExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.IsNullExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.LikeExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.LogicNotExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.NegationExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.RegularExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.ExpressionVisitor;
import org.apache.iotdb.db.queryengine.transformation.dag.udf.UDAFInformationInferrer;
import org.apache.iotdb.db.queryengine.transformation.dag.udf.UDTFInformationInferrer;
import org.apache.iotdb.db.utils.TypeInferenceUtils;
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 1d9bb7838d5..997bbde224f 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,37 +20,37 @@
package org.apache.iotdb.db.queryengine.plan.analyze;
import org.apache.iotdb.commons.path.PartialPath;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionType;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.UnknownExpressionTypeException;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.AdditionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.BinaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.DivisionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.EqualToExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.GreaterEqualExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.GreaterThanExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LessEqualExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LessThanExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LogicAndExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LogicOrExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.ModuloExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.MultiplicationExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.NonEqualExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.SubtractionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.WhenThenExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.FunctionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.other.CaseWhenThenExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ternary.BetweenExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ternary.TernaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.InExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.IsNullExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.LikeExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.LogicNotExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.NegationExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.RegularExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.UnaryExpression;
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;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.EqualToExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.GreaterEqualExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.GreaterThanExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LessEqualExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LessThanExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LogicAndExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LogicOrExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.ModuloExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.MultiplicationExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.NonEqualExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.SubtractionExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.WhenThenExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.other.CaseWhenThenExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.ternary.BetweenExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.ternary.TernaryExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.InExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.IsNullExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.LikeExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.LogicNotExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.NegationExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.RegularExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.UnaryExpression;
import org.apache.tsfile.enums.TSDataType;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/GroupByLevelHelper.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/GroupByLevelHelper.java
index a220fdf2883..02bc405f398 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/GroupByLevelHelper.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/GroupByLevelHelper.java
@@ -23,7 +23,7 @@ import org.apache.iotdb.commons.conf.IoTDBConstant;
import org.apache.iotdb.commons.path.MeasurementPath;
import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.db.exception.sql.SemanticException;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
import org.apache.tsfile.utils.Pair;
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 55cfd18f16f..0b4a26e836f 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
@@ -22,26 +22,26 @@ 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.exception.sql.SemanticException;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionFactory;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionType;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.UnknownExpressionTypeException;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.BinaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LogicAndExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.ConstantOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ternary.TernaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.InExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.LogicNotExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.UnaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.logical.PredicateCanPushDownToSourceChecker;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.logical.TimeFilterExistChecker;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.predicate.ConvertPredicateToFilterVisitor;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.predicate.ConvertPredicateToTimeFilterVisitor;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.predicate.PredicatePushIntoScanChecker;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.predicate.PredicateSimplifier;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.predicate.ReversePredicateVisitor;
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;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.ternary.TernaryExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.InExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.LogicNotExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.UnaryExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.logical.PredicateCanPushDownToSourceChecker;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.logical.TimeFilterExistChecker;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.predicate.ConvertPredicateToFilterVisitor;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.predicate.ConvertPredicateToTimeFilterVisitor;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.predicate.PredicatePushIntoScanChecker;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.predicate.PredicateSimplifier;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.predicate.ReversePredicateVisitor;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.ColumnSchema;
import org.apache.tsfile.enums.TSDataType;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/SelectIntoUtils.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/SelectIntoUtils.java
index 7e23b0b4590..e0c83f54c2d 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/SelectIntoUtils.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/SelectIntoUtils.java
@@ -22,8 +22,8 @@ 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.exception.sql.SemanticException;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimeSeriesOperand;
import org.apache.tsfile.enums.TSDataType;
import org.apache.tsfile.utils.Pair;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/TemplatedAggregationAnalyze.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/TemplatedAggregationAnalyze.java
index 3fc8b7e5339..0fff0c0c2a0 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/TemplatedAggregationAnalyze.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/TemplatedAggregationAnalyze.java
@@ -21,14 +21,14 @@ package org.apache.iotdb.db.queryengine.plan.analyze;
import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.commons.schema.template.Template;
import org.apache.iotdb.db.exception.sql.SemanticException;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.ConstantOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimestampOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.FunctionExpression;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
import org.apache.iotdb.db.queryengine.common.NodeRef;
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.leaf.ConstantOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimestampOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
import org.apache.iotdb.db.queryengine.plan.statement.component.ResultColumn;
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/analyze/TemplatedAnalyze.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/TemplatedAnalyze.java
index 21b8d9d8dc1..472076f6953 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/TemplatedAnalyze.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/TemplatedAnalyze.java
@@ -25,14 +25,14 @@ import org.apache.iotdb.commons.partition.DataPartitionQueryParam;
import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.commons.schema.template.Template;
import org.apache.iotdb.db.exception.sql.SemanticException;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.ConstantOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.TemplatedConcatRemoveUnExistentMeasurementVisitor;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
import org.apache.iotdb.db.queryengine.common.schematree.DeviceSchemaInfo;
import org.apache.iotdb.db.queryengine.common.schematree.ISchemaTree;
import org.apache.iotdb.db.queryengine.metric.QueryPlanCostMetricSet;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.ConstantOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.TemplatedConcatRemoveUnExistentMeasurementVisitor;
import org.apache.iotdb.db.queryengine.plan.statement.component.Ordering;
import org.apache.iotdb.db.queryengine.plan.statement.component.ResultColumn;
import org.apache.iotdb.db.queryengine.plan.statement.component.SortItem;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/TemplatedInfo.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/TemplatedInfo.java
index 12e27ea91e3..4e5504d66cb 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/TemplatedInfo.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/TemplatedInfo.java
@@ -20,8 +20,8 @@
package org.apache.iotdb.db.queryengine.plan.analyze;
import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimeSeriesOperand;
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.AggregationDescriptor;
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.GroupByTimeParameter;
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.InputLocation;
@@ -41,7 +41,7 @@ import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
-import static org.apache.iotdb.db.queryengine.plan.expression.leaf.TimestampOperand.TIMESTAMP_EXPRESSION_STRING;
+import static org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimestampOperand.TIMESTAMP_EXPRESSION_STRING;
/**
* If in align by device query ,all queried devices are set in one template, we can store the common
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/TypeProvider.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/TypeProvider.java
index 69ea9f63cb3..9cdae0982de 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/TypeProvider.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/TypeProvider.java
@@ -38,7 +38,7 @@ import java.util.Objects;
import static com.google.common.base.Preconditions.checkArgument;
import static java.util.Objects.requireNonNull;
-import static org.apache.iotdb.db.queryengine.plan.expression.leaf.TimestampOperand.TIMESTAMP_EXPRESSION_STRING;
+import static org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimestampOperand.TIMESTAMP_EXPRESSION_STRING;
public class TypeProvider {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/TableConfigTaskVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/TableConfigTaskVisitor.java
index 65099984405..56a8d17bdf3 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/TableConfigTaskVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/TableConfigTaskVisitor.java
@@ -45,6 +45,7 @@ import org.apache.iotdb.db.audit.DNAuditLogger;
import org.apache.iotdb.db.auth.AuthorityChecker;
import org.apache.iotdb.db.conf.IoTDBConfig;
import org.apache.iotdb.db.exception.sql.SemanticException;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.DataType;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Literal;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.LongLiteral;
@@ -161,7 +162,6 @@ import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.CreateTable;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.CreateTopic;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.CreateTraining;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.CreateView;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.DataType;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.DatabaseStatement;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Deallocate;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.DeleteDevice;
@@ -279,12 +279,12 @@ import static org.apache.iotdb.commons.executable.ExecutableManager.isUriTrusted
import static org.apache.iotdb.commons.schema.table.TsTable.TABLE_ALLOWED_PROPERTIES;
import static org.apache.iotdb.commons.schema.table.TsTable.TIME_COLUMN_NAME;
import static org.apache.iotdb.commons.schema.table.TsTable.TTL_PROPERTY;
+import static org.apache.iotdb.db.node_commons.plan.relational.type.InternalTypeManager.getTSDataType;
+import static org.apache.iotdb.db.node_commons.plan.relational.type.TypeSignatureTranslator.toTypeSignature;
import static org.apache.iotdb.db.queryengine.plan.execution.config.metadata.relational.CreateDBTask.DATA_REGION_GROUP_NUM_KEY;
import static org.apache.iotdb.db.queryengine.plan.execution.config.metadata.relational.CreateDBTask.SCHEMA_REGION_GROUP_NUM_KEY;
import static org.apache.iotdb.db.queryengine.plan.execution.config.metadata.relational.CreateDBTask.TIME_PARTITION_INTERVAL_KEY;
import static org.apache.iotdb.db.queryengine.plan.execution.config.metadata.relational.CreateDBTask.TTL_KEY;
-import static org.apache.iotdb.db.queryengine.plan.relational.type.InternalTypeManager.getTSDataType;
-import static org.apache.iotdb.db.queryengine.plan.relational.type.TypeSignatureTranslator.toTypeSignature;
import static org.apache.tsfile.common.constant.TsFileConstant.PATH_SEPARATOR;
public class TableConfigTaskVisitor extends AstVisitor<IConfigTask, MPPQueryContext> {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/executor/ClusterConfigTaskExecutor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/executor/ClusterConfigTaskExecutor.java
index cf404e8d57b..29cff1e4f98 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/executor/ClusterConfigTaskExecutor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/executor/ClusterConfigTaskExecutor.java
@@ -180,6 +180,8 @@ import org.apache.iotdb.db.exception.ainode.AINodeConnectionException;
import org.apache.iotdb.db.exception.metadata.PathNotExistException;
import org.apache.iotdb.db.exception.metadata.SchemaQuotaExceededException;
import org.apache.iotdb.db.exception.sql.SemanticException;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.TransformToViewExpressionVisitor;
import org.apache.iotdb.db.pipe.agent.PipeDataNodeAgent;
import org.apache.iotdb.db.pipe.source.dataregion.DataRegionListeningFilter;
import org.apache.iotdb.db.protocol.client.ConfigNodeClient;
@@ -250,8 +252,6 @@ import org.apache.iotdb.db.queryengine.plan.execution.config.sys.quota.ShowSpace
import org.apache.iotdb.db.queryengine.plan.execution.config.sys.quota.ShowThrottleQuotaTask;
import org.apache.iotdb.db.queryengine.plan.execution.config.sys.subscription.ShowSubscriptionsTask;
import org.apache.iotdb.db.queryengine.plan.execution.config.sys.subscription.ShowTopicsTask;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.TransformToViewExpressionVisitor;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.metadata.write.view.AlterLogicalViewNode;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.DeleteDevice;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.DropDB;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/metadata/ShowFunctionsTask.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/metadata/ShowFunctionsTask.java
index 608cc0b284e..8c1dcbce787 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/metadata/ShowFunctionsTask.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/metadata/ShowFunctionsTask.java
@@ -26,12 +26,12 @@ import org.apache.iotdb.commons.udf.UDFInformation;
import org.apache.iotdb.commons.udf.UDFType;
import org.apache.iotdb.commons.udf.builtin.relational.TableBuiltinAggregationFunction;
import org.apache.iotdb.commons.udf.builtin.relational.TableBuiltinScalarFunction;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.TableBuiltinTableFunction;
import org.apache.iotdb.db.queryengine.common.header.DatasetHeader;
import org.apache.iotdb.db.queryengine.common.header.DatasetHeaderFactory;
import org.apache.iotdb.db.queryengine.plan.execution.config.ConfigTaskResult;
import org.apache.iotdb.db.queryengine.plan.execution.config.IConfigTask;
import org.apache.iotdb.db.queryengine.plan.execution.config.executor.IConfigTaskExecutor;
-import org.apache.iotdb.db.queryengine.plan.relational.function.TableBuiltinTableFunction;
import org.apache.iotdb.db.queryengine.plan.udf.BuiltinAggregationFunction;
import org.apache.iotdb.db.queryengine.plan.udf.BuiltinScalarFunction;
import org.apache.iotdb.db.queryengine.plan.udf.BuiltinTimeSeriesGeneratingFunction;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/optimization/AggregationPushDown.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/optimization/AggregationPushDown.java
index fcb6013e9a8..8aa7b1a1631 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/optimization/AggregationPushDown.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/optimization/AggregationPushDown.java
@@ -25,6 +25,9 @@ import org.apache.iotdb.commons.path.AlignedPath;
import org.apache.iotdb.commons.path.MeasurementPath;
import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.commons.schema.column.ColumnHeaderConstant;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.FunctionExpression;
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.MultiChildProcessNode;
@@ -33,9 +36,6 @@ import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
import org.apache.iotdb.db.queryengine.execution.MemoryEstimationHelper;
import org.apache.iotdb.db.queryengine.plan.analyze.Analysis;
import org.apache.iotdb.db.queryengine.plan.analyze.PredicateUtils;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanVisitor;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.DeviceViewNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.GroupByLevelNode;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/optimization/ColumnInjectionPushDown.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/optimization/ColumnInjectionPushDown.java
index bc7de51a91d..42993dba4d3 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/optimization/ColumnInjectionPushDown.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/optimization/ColumnInjectionPushDown.java
@@ -22,6 +22,7 @@ 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.planner.plan.node.process.MultiChildProcessNode;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.process.SingleChildProcessNode;
+import org.apache.iotdb.db.node_commons.plan.planner.plan.node.process.TwoChildProcessNode;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
import org.apache.iotdb.db.queryengine.plan.analyze.Analysis;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanVisitor;
@@ -30,7 +31,6 @@ import org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.ColumnInje
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.ProjectNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.RawDataAggregationNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.SlidingWindowAggregationNode;
-import org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.TwoChildProcessNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.source.SeriesAggregationSourceNode;
import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
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/LimitOffsetPushDown.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/optimization/LimitOffsetPushDown.java
index fbb9a2c4117..bb3b79af4ec 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
@@ -20,12 +20,13 @@
package org.apache.iotdb.db.queryengine.plan.optimization;
import org.apache.iotdb.commons.path.PartialPath;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
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.queryengine.common.MPPQueryContext;
import org.apache.iotdb.db.queryengine.plan.analyze.Analysis;
import org.apache.iotdb.db.queryengine.plan.analyze.ExpressionAnalyzer;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanVisitor;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.CollectNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.FillNode;
@@ -34,7 +35,6 @@ import org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.LimitNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.OffsetNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.SortNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.TransformNode;
-import org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.TwoChildProcessNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.join.LeftOuterTimeJoinNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.source.AlignedSeriesScanNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.source.SeriesScanNode;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/optimization/PredicatePushDown.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/optimization/PredicatePushDown.java
index b0f2c66be70..3bb5dee80a5 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/optimization/PredicatePushDown.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/optimization/PredicatePushDown.java
@@ -23,6 +23,8 @@ import org.apache.iotdb.commons.path.AlignedPath;
import org.apache.iotdb.commons.path.MeasurementPath;
import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.commons.schema.column.ColumnHeaderConstant;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimeSeriesOperand;
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.MultiChildProcessNode;
@@ -33,8 +35,6 @@ import org.apache.iotdb.db.queryengine.plan.analyze.Analysis;
import org.apache.iotdb.db.queryengine.plan.analyze.ExpressionAnalyzer;
import org.apache.iotdb.db.queryengine.plan.analyze.PredicateUtils;
import org.apache.iotdb.db.queryengine.plan.analyze.TemplatedInfo;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanVisitor;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.FilterNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.ProjectNode;
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 f377ff91d20..e523dcf0e28 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
@@ -41,6 +41,39 @@ import org.apache.iotdb.commons.utils.PathUtils;
import org.apache.iotdb.db.conf.IoTDBConfig;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.exception.sql.SemanticException;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionType;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.AdditionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.CompareBinaryExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.DivisionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.EqualToExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.GreaterEqualExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.GreaterThanExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LessEqualExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LessThanExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LogicAndExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LogicOrExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.ModuloExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.MultiplicationExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.NonEqualExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.SubtractionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.WhenThenExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.ConstantOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.NullOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimestampOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.FunctionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.builtin.BuiltInScalarFunctionHelperFactory;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.other.CaseWhenThenExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ternary.BetweenExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.InExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.IsNullExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.LikeExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.LogicNotExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.NegationExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.unary.RegularExpression;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.DataType;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.GenericDataType;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Node;
import org.apache.iotdb.db.protocol.session.IClientSession;
import org.apache.iotdb.db.qp.sql.IoTDBSqlParser;
@@ -64,42 +97,9 @@ import org.apache.iotdb.db.queryengine.execution.operator.window.ainode.Inferenc
import org.apache.iotdb.db.queryengine.execution.operator.window.ainode.TailInferenceWindow;
import org.apache.iotdb.db.queryengine.plan.analyze.ExpressionAnalyzer;
import org.apache.iotdb.db.queryengine.plan.analyze.cache.schema.DataNodeDevicePathCache;
-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.binary.AdditionExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.CompareBinaryExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.DivisionExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.EqualToExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.GreaterEqualExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.GreaterThanExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LessEqualExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LessThanExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LogicAndExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LogicOrExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.ModuloExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.MultiplicationExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.NonEqualExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.SubtractionExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.WhenThenExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.ConstantOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.NullOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimestampOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.builtin.BuiltInScalarFunctionHelperFactory;
-import org.apache.iotdb.db.queryengine.plan.expression.other.CaseWhenThenExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.ternary.BetweenExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.InExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.IsNullExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.LikeExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.LogicNotExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.NegationExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.unary.RegularExpression;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.ColumnDefinition;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.CreateView;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.DataType;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.DataTypeParameter;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.GenericDataType;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Identifier;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.NumericParameter;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Property;
@@ -308,7 +308,7 @@ import static org.apache.iotdb.commons.schema.SchemaConstant.ALL_RESULT_NODES;
import static org.apache.iotdb.commons.schema.table.column.TsTableColumnCategory.FIELD;
import static org.apache.iotdb.commons.schema.table.column.TsTableColumnCategory.TAG;
import static org.apache.iotdb.commons.schema.table.column.TsTableColumnCategory.TIME;
-import static org.apache.iotdb.db.queryengine.plan.expression.unary.LikeExpression.getEscapeCharacter;
+import static org.apache.iotdb.db.node_commons.plan.expression.expression.unary.LikeExpression.getEscapeCharacter;
import static org.apache.iotdb.db.queryengine.plan.optimization.LimitOffsetPushDown.canPushDownLimitOffsetToGroupByTime;
import static org.apache.iotdb.db.queryengine.plan.optimization.LimitOffsetPushDown.pushDownLimitOffsetToTimeParameter;
import static org.apache.iotdb.db.queryengine.plan.relational.sql.parser.AstBuilder.lowerIdentifier;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/parser/StatementGenerator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/parser/StatementGenerator.java
index 4fc5e50a060..6bb58cd6078 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/parser/StatementGenerator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/parser/StatementGenerator.java
@@ -27,16 +27,16 @@ import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.commons.schema.table.column.TsTableColumnCategory;
import org.apache.iotdb.commons.service.metric.PerformanceOverviewMetrics;
import org.apache.iotdb.db.exception.query.QueryProcessException;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.GreaterEqualExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LessThanExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.binary.LogicAndExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.ConstantOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimestampOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.FunctionExpression;
import org.apache.iotdb.db.qp.sql.IoTDBSqlParser;
import org.apache.iotdb.db.qp.sql.SqlLexer;
import org.apache.iotdb.db.queryengine.plan.analyze.cache.schema.DataNodeDevicePathCache;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.GreaterEqualExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LessThanExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.binary.LogicAndExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.ConstantOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimestampOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
import org.apache.iotdb.db.queryengine.plan.statement.Statement;
import org.apache.iotdb.db.queryengine.plan.statement.component.FromComponent;
import org.apache.iotdb.db.queryengine.plan.statement.component.GroupByTimeComponent;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/DataNodeTableOperatorGenerator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/DataNodeTableOperatorGenerator.java
index 09c1e3fbc86..ac6c6e2b2f0 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/DataNodeTableOperatorGenerator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/DataNodeTableOperatorGenerator.java
@@ -31,6 +31,9 @@ import org.apache.iotdb.db.node_commons.plan.relational.planner.node.Aggregation
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.FunctionCall;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.LongLiteral;
+import org.apache.iotdb.db.node_commons.plan.relational.type.InternalTypeManager;
+import org.apache.iotdb.db.node_commons.transformation.dag.column.column.leaf.LeafColumnTransformer;
+import org.apache.iotdb.db.node_commons.transformation.dag.column.column.unary.scalar.DateBinFunctionColumnTransformer;
import org.apache.iotdb.db.queryengine.common.FragmentInstanceId;
import org.apache.iotdb.db.queryengine.execution.aggregation.timerangeiterator.ITableTimeRangeIterator;
import org.apache.iotdb.db.queryengine.execution.aggregation.timerangeiterator.TableDateBinTimeRangeIterator;
@@ -116,10 +119,7 @@ import org.apache.iotdb.db.queryengine.plan.relational.planner.node.TreeNonAlign
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.schema.TableDeviceFetchNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.schema.TableDeviceQueryCountNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.schema.TableDeviceQueryScanNode;
-import org.apache.iotdb.db.queryengine.plan.relational.type.InternalTypeManager;
import org.apache.iotdb.db.queryengine.plan.statement.component.Ordering;
-import org.apache.iotdb.db.node_commons.transformation.dag.column.column.leaf.LeafColumnTransformer;
-import org.apache.iotdb.db.node_commons.transformation.dag.column.column.unary.scalar.DateBinFunctionColumnTransformer;
import org.apache.iotdb.db.schemaengine.schemaregion.read.resp.info.IDeviceSchemaInfo;
import org.apache.iotdb.db.schemaengine.table.DataNodeTableCache;
import org.apache.iotdb.db.schemaengine.table.DataNodeTreeViewSchemaUtils;
@@ -168,6 +168,7 @@ import static com.google.common.base.Preconditions.checkArgument;
import static java.util.Objects.requireNonNull;
import static org.apache.iotdb.commons.schema.table.column.TsTableColumnCategory.FIELD;
import static org.apache.iotdb.commons.schema.table.column.TsTableColumnCategory.TIME;
+import static org.apache.iotdb.db.node_commons.plan.relational.type.InternalTypeManager.getTSDataType;
import static org.apache.iotdb.db.queryengine.common.DataNodeEndPoints.isSameNode;
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;
@@ -178,7 +179,6 @@ import static org.apache.iotdb.db.queryengine.plan.planner.OperatorTreeGenerator
import static org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.SeriesScanOptions.updateFilterUsingTTL;
import static org.apache.iotdb.db.queryengine.plan.relational.metadata.fetcher.cache.TableDeviceLastCache.EMPTY_PRIMITIVE_TYPE;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.ir.GlobalTimePredicateExtractVisitor.isTimeColumn;
-import static org.apache.iotdb.db.queryengine.plan.relational.type.InternalTypeManager.getTSDataType;
import static org.apache.iotdb.db.utils.constant.SqlConstant.AVG;
import static org.apache.iotdb.db.utils.constant.SqlConstant.COUNT;
import static org.apache.iotdb.db.utils.constant.SqlConstant.EXTREME;
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 a840f447bb7..6e6480c7bec 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
@@ -30,6 +30,9 @@ import org.apache.iotdb.commons.path.PathPatternTree;
import org.apache.iotdb.commons.schema.column.ColumnHeaderConstant;
import org.apache.iotdb.commons.schema.filter.SchemaFilter;
import org.apache.iotdb.commons.schema.template.Template;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.FunctionExpression;
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.queryengine.common.DeviceContext;
@@ -41,9 +44,6 @@ import org.apache.iotdb.db.queryengine.execution.operator.AggregationUtil;
import org.apache.iotdb.db.queryengine.plan.analyze.Analysis;
import org.apache.iotdb.db.queryengine.plan.analyze.ExpressionAnalyzer;
import org.apache.iotdb.db.queryengine.plan.analyze.TypeProvider;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.metadata.read.CountSchemaMergeNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.metadata.read.DeviceSchemaFetchScanNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.metadata.read.DevicesCountNode;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/LogicalPlanVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/LogicalPlanVisitor.java
index 47695ce2683..2b04bc5432f 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/LogicalPlanVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/LogicalPlanVisitor.java
@@ -23,11 +23,11 @@ import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.commons.schema.column.ColumnHeaderConstant;
import org.apache.iotdb.commons.schema.template.Template;
import org.apache.iotdb.commons.schema.view.viewExpression.ViewExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.TransformToViewExpressionVisitor;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
import org.apache.iotdb.db.queryengine.plan.analyze.Analysis;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.TransformToViewExpressionVisitor;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.ExplainAnalyzeNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.WritePlanNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.load.LoadTsFileNode;
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 52798991772..48dce746588 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
@@ -30,9 +30,18 @@ import org.apache.iotdb.commons.path.NonAlignedFullPath;
import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.exception.query.QueryProcessException;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.ExpressionFactory;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimestampOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.FunctionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.ColumnTransformerVisitor;
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.MultiChildProcessNode;
+import org.apache.iotdb.db.node_commons.plan.planner.plan.node.process.TwoChildProcessNode;
+import org.apache.iotdb.db.node_commons.transformation.dag.column.column.ColumnTransformer;
+import org.apache.iotdb.db.node_commons.transformation.dag.column.column.leaf.LeafColumnTransformer;
import org.apache.iotdb.db.queryengine.common.DeviceContext;
import org.apache.iotdb.db.queryengine.common.FragmentInstanceId;
import org.apache.iotdb.db.queryengine.common.NodeRef;
@@ -170,12 +179,6 @@ import org.apache.iotdb.db.queryengine.plan.analyze.PredicateUtils;
import org.apache.iotdb.db.queryengine.plan.analyze.TemplatedInfo;
import org.apache.iotdb.db.queryengine.plan.analyze.TypeProvider;
import org.apache.iotdb.db.queryengine.plan.analyze.cache.schema.DataNodeTTLCache;
-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.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimestampOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.ColumnTransformerVisitor;
import org.apache.iotdb.db.queryengine.plan.planner.memory.PipelineMemoryEstimator;
import org.apache.iotdb.db.queryengine.plan.planner.memory.PipelineMemoryEstimatorFactory;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.ExplainAnalyzeNode;
@@ -223,7 +226,6 @@ import org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.SlidingWin
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.SortNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.TopKNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.TransformNode;
-import org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.TwoChildProcessNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.join.FullOuterTimeJoinNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.join.InnerTimeJoinNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.join.LeftOuterTimeJoinNode;
@@ -265,8 +267,6 @@ 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;
import org.apache.iotdb.db.queryengine.plan.statement.literal.Literal;
-import org.apache.iotdb.db.node_commons.transformation.dag.column.column.ColumnTransformer;
-import org.apache.iotdb.db.node_commons.transformation.dag.column.column.leaf.LeafColumnTransformer;
import org.apache.iotdb.db.queryengine.transformation.dag.udf.UDTFContext;
import org.apache.iotdb.db.storageengine.dataregion.read.QueryDataSourceType;
import org.apache.iotdb.db.utils.columngenerator.ColumnGenerator;
@@ -315,6 +315,7 @@ import java.util.stream.IntStream;
import static com.google.common.base.Preconditions.checkArgument;
import static com.google.common.base.Preconditions.checkState;
+import static org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimestampOperand.TIMESTAMP_EXPRESSION_STRING;
import static org.apache.iotdb.db.queryengine.common.DataNodeEndPoints.isSameNode;
import static org.apache.iotdb.db.queryengine.execution.operator.AggregationUtil.calculateMaxAggregationResultSize;
import static org.apache.iotdb.db.queryengine.execution.operator.AggregationUtil.calculateMaxAggregationResultSizeForLastQuery;
@@ -324,7 +325,6 @@ import static org.apache.iotdb.db.queryengine.execution.operator.process.join.me
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;
-import static org.apache.iotdb.db.queryengine.plan.expression.leaf.TimestampOperand.TIMESTAMP_EXPRESSION_STRING;
import static org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.AggregationDescriptor.getAggregationTypeByFuncName;
import static org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.SeriesScanOptions.updateFilterUsingTTL;
import static org.apache.iotdb.db.queryengine.plan.statement.component.Ordering.ASC;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/TemplatedLogicalPlan.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/TemplatedLogicalPlan.java
index dfb65abe44c..b8adcba520a 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/TemplatedLogicalPlan.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/TemplatedLogicalPlan.java
@@ -20,13 +20,13 @@
package org.apache.iotdb.db.queryengine.plan.planner;
import org.apache.iotdb.commons.path.PartialPath;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.FunctionExpression;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
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.TemplatedInfo;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
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.InputLocation;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/TemplatedLogicalPlanBuilder.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/TemplatedLogicalPlanBuilder.java
index 0a7d3695658..6358a966b04 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/TemplatedLogicalPlanBuilder.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/TemplatedLogicalPlanBuilder.java
@@ -22,10 +22,10 @@ package org.apache.iotdb.db.queryengine.plan.planner;
import org.apache.iotdb.commons.path.AlignedPath;
import org.apache.iotdb.commons.path.MeasurementPath;
import org.apache.iotdb.commons.path.PartialPath;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
import org.apache.iotdb.db.queryengine.plan.analyze.Analysis;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.FilterNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.RawDataAggregationNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.source.AlignedSeriesScanNode;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/DistributionPlanContext.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/DistributionPlanContext.java
index 5055f43aaf0..53bcc7baba3 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/DistributionPlanContext.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/DistributionPlanContext.java
@@ -19,8 +19,8 @@
package org.apache.iotdb.db.queryengine.plan.planner.distribution;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
import org.apache.tsfile.external.commons.lang3.Validate;
import org.apache.tsfile.read.filter.basic.Filter;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/ExchangeNodeAdder.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/ExchangeNodeAdder.java
index 008ec390959..7f4beb55d6d 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/ExchangeNodeAdder.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/ExchangeNodeAdder.java
@@ -23,6 +23,7 @@ import org.apache.iotdb.common.rpc.thrift.TRegionReplicaSet;
import org.apache.iotdb.commons.partition.DataPartition;
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.source.SourceNode;
import org.apache.iotdb.db.queryengine.plan.analyze.Analysis;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.ExplainAnalyzeNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanVisitor;
@@ -68,7 +69,6 @@ import org.apache.iotdb.db.queryengine.plan.planner.plan.node.source.LastQuerySc
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.source.RegionScanNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.source.SeriesAggregationScanNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.source.SeriesScanNode;
-import org.apache.iotdb.db.queryengine.plan.planner.plan.node.source.SourceNode;
import java.util.Arrays;
import java.util.HashMap;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/NodeGroupContext.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/NodeGroupContext.java
index 2612a83c7e0..2ee389c7403 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/NodeGroupContext.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/NodeGroupContext.java
@@ -23,9 +23,9 @@ import org.apache.iotdb.common.rpc.thrift.TRegionReplicaSet;
import org.apache.iotdb.commons.partition.DataPartition;
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.source.SourceNode;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.last.LastQueryNode;
-import org.apache.iotdb.db.queryengine.plan.planner.plan.node.source.SourceNode;
import org.apache.iotdb.db.queryengine.plan.statement.Statement;
import org.apache.iotdb.db.queryengine.plan.statement.crud.QueryStatement;
import org.apache.iotdb.db.queryengine.plan.statement.metadata.ShowTimeSeriesStatement;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/SimpleFragmentParallelPlanner.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/SimpleFragmentParallelPlanner.java
index d9005b42bec..03307f51aaa 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/SimpleFragmentParallelPlanner.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/SimpleFragmentParallelPlanner.java
@@ -19,13 +19,13 @@
package org.apache.iotdb.db.queryengine.plan.planner.distribution;
import org.apache.iotdb.common.rpc.thrift.TDataNodeLocation;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
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.queryengine.common.MPPQueryContext;
import org.apache.iotdb.db.queryengine.common.PlanFragmentId;
import org.apache.iotdb.db.queryengine.plan.ClusterTopology;
import org.apache.iotdb.db.queryengine.plan.analyze.Analysis;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
import org.apache.iotdb.db.queryengine.plan.planner.plan.AbstractFragmentParallelPlanner;
import org.apache.iotdb.db.queryengine.plan.planner.plan.FragmentInstance;
import org.apache.iotdb.db.queryengine.plan.planner.plan.PlanFragment;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/SourceRewriter.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/SourceRewriter.java
index 2476939c13c..f07edbf17f6 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/SourceRewriter.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/SourceRewriter.java
@@ -30,17 +30,18 @@ import org.apache.iotdb.commons.schema.SchemaConstant;
import org.apache.iotdb.commons.schema.table.Audit;
import org.apache.iotdb.commons.utils.PathUtils;
import org.apache.iotdb.commons.utils.TimePartitionUtils;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.FunctionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.FunctionType;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.ConcatDeviceVisitor;
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.MultiChildProcessNode;
+import org.apache.iotdb.db.node_commons.plan.planner.plan.node.source.SourceNode;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
import org.apache.iotdb.db.queryengine.execution.MemoryEstimationHelper;
import org.apache.iotdb.db.queryengine.plan.analyze.Analysis;
import org.apache.iotdb.db.queryengine.plan.analyze.TemplatedInfo;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionType;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.ConcatDeviceVisitor;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.BaseSourceRewriter;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.metadata.read.CountSchemaMergeNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.metadata.read.SchemaFetchMergeNode;
@@ -76,7 +77,6 @@ import org.apache.iotdb.db.queryengine.plan.planner.plan.node.source.SeriesAggre
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.source.SeriesAggregationSourceNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.source.SeriesScanNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.source.SeriesSourceNode;
-import org.apache.iotdb.db.queryengine.plan.planner.plan.node.source.SourceNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.source.TimeseriesRegionScanNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.AggregationDescriptor;
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.AggregationStep;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/PlanFragment.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/PlanFragment.java
index 0d72e355dae..fd68db64083 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/PlanFragment.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/PlanFragment.java
@@ -22,13 +22,13 @@ package org.apache.iotdb.db.queryengine.plan.planner.plan;
import org.apache.iotdb.common.rpc.thrift.TDataNodeLocation;
import org.apache.iotdb.common.rpc.thrift.TRegionReplicaSet;
import org.apache.iotdb.commons.partition.DataPartition;
+import org.apache.iotdb.db.node_commons.plan.planner.plan.node.IPartitionRelatedNode;
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.queryengine.common.PlanFragmentId;
import org.apache.iotdb.db.queryengine.plan.analyze.TypeProvider;
import org.apache.iotdb.db.queryengine.plan.planner.SubPlanTypeExtractor;
import org.apache.iotdb.db.queryengine.plan.planner.distribution.NodeDistribution;
-import org.apache.iotdb.db.queryengine.plan.planner.plan.node.IPartitionRelatedNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeType;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.source.AlignedSeriesAggregationScanNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.source.AlignedSeriesScanNode;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/TimePredicate.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/TimePredicate.java
index cd61a2f5737..8d97570ba55 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/TimePredicate.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/TimePredicate.java
@@ -19,7 +19,7 @@
package org.apache.iotdb.db.queryengine.plan.planner.plan;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
import org.apache.tsfile.read.filter.basic.Filter;
import org.apache.tsfile.utils.ReadWriteIOUtils;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/TreeModelTimePredicate.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/TreeModelTimePredicate.java
index 132077d801b..8a86fc6c882 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/TreeModelTimePredicate.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/TreeModelTimePredicate.java
@@ -19,8 +19,8 @@
package org.apache.iotdb.db.queryengine.plan.planner.plan;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
import org.apache.iotdb.db.queryengine.plan.analyze.PredicateUtils;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
import org.apache.tsfile.read.filter.basic.Filter;
import org.apache.tsfile.utils.ReadWriteIOUtils;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/PlanGraphPrinter.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/PlanGraphPrinter.java
index 045b96ab16c..fb7c228c562 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/PlanGraphPrinter.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/PlanGraphPrinter.java
@@ -23,12 +23,16 @@ import org.apache.iotdb.common.rpc.thrift.TRegionReplicaSet;
import org.apache.iotdb.commons.conf.CommonDescriptor;
import org.apache.iotdb.commons.partition.DataPartition;
import org.apache.iotdb.commons.path.PartialPath;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
+import org.apache.iotdb.db.node_commons.plan.relational.planner.DataOrganizationSpecification;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.AssignUniqueId;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.EnforceSingleRowNode;
+import org.apache.iotdb.db.node_commons.plan.relational.planner.node.ExceptNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.GapFillNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.GroupNode;
+import org.apache.iotdb.db.node_commons.plan.relational.planner.node.IntersectNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.JoinNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.LinearFillNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.MarkDistinctNode;
@@ -45,7 +49,6 @@ import org.apache.iotdb.db.node_commons.plan.relational.planner.node.ValueFillNo
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.analyze.TemplatedInfo;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.AggregationMergeSortNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.AggregationNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.CollectNode;
@@ -87,15 +90,12 @@ import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.AggregationDe
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.CrossSeriesAggregationDescriptor;
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.DeviceViewIntoPathDescriptor;
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.IntoPathDescriptor;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.DataOrganizationSpecification;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.AggregationTreeDeviceViewScanNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.CorrelatedJoinNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.CteScanNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.DeviceTableScanNode;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.node.ExceptNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.ExchangeNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.ExplainAnalyzeNode;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.node.IntersectNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.TableDiskUsageInformationSchemaTableScanNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.TableScanNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.TreeDeviceViewScanNode;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/PlanNodeType.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/PlanNodeType.java
index 12aaf7dbb2c..b330e09e554 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/PlanNodeType.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/PlanNodeType.java
@@ -22,8 +22,10 @@ package org.apache.iotdb.db.queryengine.plan.planner.plan.node;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.AssignUniqueId;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.EnforceSingleRowNode;
+import org.apache.iotdb.db.node_commons.plan.relational.planner.node.ExceptNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.GapFillNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.GroupNode;
+import org.apache.iotdb.db.node_commons.plan.relational.planner.node.IntersectNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.JoinNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.LinearFillNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.MarkDistinctNode;
@@ -142,9 +144,7 @@ import org.apache.iotdb.db.queryengine.plan.planner.plan.node.write.RelationalIn
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.write.RelationalInsertRowsNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.write.RelationalInsertTabletNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.AlignedAggregationTreeDeviceViewScanNode;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.node.ExceptNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.InformationSchemaTableScanNode;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.node.IntersectNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.NonAlignedAggregationTreeDeviceViewScanNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.TableDiskUsageInformationSchemaTableScanNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.TreeAlignedDeviceViewScanNode;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/WritePlanNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/WritePlanNode.java
index e0907d76aeb..59a8c8607ad 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/WritePlanNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/WritePlanNode.java
@@ -19,6 +19,7 @@
package org.apache.iotdb.db.queryengine.plan.planner.plan.node;
+import org.apache.iotdb.db.node_commons.plan.planner.plan.node.IPartitionRelatedNode;
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.queryengine.plan.analyze.IAnalysis;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/read/SchemaFetchScanNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/read/SchemaFetchScanNode.java
index 80e5de4d82e..adfcde050bf 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/read/SchemaFetchScanNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/read/SchemaFetchScanNode.java
@@ -24,7 +24,7 @@ import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.commons.path.PathPatternTree;
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.queryengine.plan.planner.plan.node.source.SourceNode;
+import org.apache.iotdb.db.node_commons.plan.planner.plan.node.source.SourceNode;
import com.google.common.collect.ImmutableList;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/read/SchemaQueryScanNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/read/SchemaQueryScanNode.java
index 2ca23961d82..c20a94fd04f 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/read/SchemaQueryScanNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/read/SchemaQueryScanNode.java
@@ -26,9 +26,9 @@ import org.apache.iotdb.commons.schema.SchemaConstant;
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.source.SourceNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeUtil;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanVisitor;
-import org.apache.iotdb.db.queryengine.plan.planner.plan.node.source.SourceNode;
import java.util.Collections;
import java.util.List;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/read/TableDeviceSourceNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/read/TableDeviceSourceNode.java
index d96652a3ba5..587f6fabc7f 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/read/TableDeviceSourceNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/metadata/read/TableDeviceSourceNode.java
@@ -27,8 +27,8 @@ import org.apache.iotdb.db.conf.IoTDBConfig;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
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.source.SourceNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
-import org.apache.iotdb.db.queryengine.plan.planner.plan.node.source.SourceNode;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.fetcher.TableDeviceSchemaFetcher;
import java.util.Collections;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/process/AggregationMergeSortNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/process/AggregationMergeSortNode.java
index e6ac495afab..1e71100ce12 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/process/AggregationMergeSortNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/process/AggregationMergeSortNode.java
@@ -19,11 +19,11 @@
package org.apache.iotdb.db.queryengine.plan.planner.plan.node.process;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
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.MultiChildProcessNode;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeType;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanVisitor;
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.OrderByParameter;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/process/AggregationNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/process/AggregationNode.java
index 9886ef5b0db..9820c24133f 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/process/AggregationNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/process/AggregationNode.java
@@ -20,11 +20,11 @@
package org.apache.iotdb.db.queryengine.plan.planner.plan.node.process;
import org.apache.iotdb.commons.schema.column.ColumnHeaderConstant;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
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.MultiChildProcessNode;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeType;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanVisitor;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.source.SeriesAggregationSourceNode;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/process/FilterNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/process/FilterNode.java
index 84d0e52930b..a0a707379e5 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/process/FilterNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/process/FilterNode.java
@@ -19,11 +19,11 @@
package org.apache.iotdb.db.queryengine.plan.planner.plan.node.process;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
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.queryengine.plan.analyze.TypeProvider;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeType;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanVisitor;
import org.apache.iotdb.db.queryengine.plan.statement.component.Ordering;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/process/RawDataAggregationNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/process/RawDataAggregationNode.java
index 0e4f38655b5..2f90be6410a 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/process/RawDataAggregationNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/process/RawDataAggregationNode.java
@@ -20,11 +20,11 @@
package org.apache.iotdb.db.queryengine.plan.planner.plan.node.process;
import org.apache.iotdb.commons.schema.column.ColumnHeaderConstant;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
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.SingleChildProcessNode;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeType;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanVisitor;
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.AggregationDescriptor;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/process/TransformNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/process/TransformNode.java
index a9fdb43e042..f8e1fe81b78 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/process/TransformNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/process/TransformNode.java
@@ -19,11 +19,11 @@
package org.apache.iotdb.db.queryengine.plan.planner.plan.node.process;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
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.SingleChildProcessNode;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeType;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanVisitor;
import org.apache.iotdb.db.queryengine.plan.statement.component.Ordering;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/process/join/LeftOuterTimeJoinNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/process/join/LeftOuterTimeJoinNode.java
index 4bd5f7280eb..e4eba09f3d9 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/process/join/LeftOuterTimeJoinNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/process/join/LeftOuterTimeJoinNode.java
@@ -22,9 +22,9 @@ package org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.join;
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.queryengine.plan.planner.plan.node.PlanNodeType;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanVisitor;
-import org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.TwoChildProcessNode;
import org.apache.iotdb.db.queryengine.plan.statement.component.Ordering;
import org.apache.tsfile.utils.ReadWriteIOUtils;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/process/last/LastQueryNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/process/last/LastQueryNode.java
index 96d6c8a92cd..2c172660e96 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/process/last/LastQueryNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/process/last/LastQueryNode.java
@@ -24,10 +24,10 @@ 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.MultiChildProcessNode;
+import org.apache.iotdb.db.node_commons.plan.planner.plan.node.source.SourceNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeType;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanVisitor;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.source.LastQueryScanNode;
-import org.apache.iotdb.db.queryengine.plan.planner.plan.node.source.SourceNode;
import org.apache.iotdb.db.queryengine.plan.statement.component.Ordering;
import org.apache.tsfile.enums.TSDataType;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/AlignedSeriesAggregationScanNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/AlignedSeriesAggregationScanNode.java
index 1714262fc13..0a87a671d9b 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/AlignedSeriesAggregationScanNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/AlignedSeriesAggregationScanNode.java
@@ -23,12 +23,12 @@ import org.apache.iotdb.common.rpc.thrift.TRegionReplicaSet;
import org.apache.iotdb.commons.path.AlignedPath;
import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.commons.path.PathDeserializeUtil;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
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.queryengine.execution.MemoryEstimationHelper;
import org.apache.iotdb.db.queryengine.plan.analyze.TypeProvider;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeType;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeUtil;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanVisitor;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/AlignedSeriesScanNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/AlignedSeriesScanNode.java
index 78725ad064a..fe11735c92c 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/AlignedSeriesScanNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/AlignedSeriesScanNode.java
@@ -23,12 +23,12 @@ import org.apache.iotdb.common.rpc.thrift.TRegionReplicaSet;
import org.apache.iotdb.commons.path.AlignedPath;
import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.commons.path.PathDeserializeUtil;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
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.queryengine.execution.MemoryEstimationHelper;
import org.apache.iotdb.db.queryengine.plan.analyze.TypeProvider;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeType;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeUtil;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanVisitor;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/LastSeriesSourceNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/LastSeriesSourceNode.java
index 9d2acee670b..f4a23e798a6 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/LastSeriesSourceNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/LastSeriesSourceNode.java
@@ -20,8 +20,8 @@
package org.apache.iotdb.db.queryengine.plan.planner.plan.node.source;
import org.apache.iotdb.commons.path.PartialPath;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNodeId;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
import java.util.Objects;
import java.util.concurrent.atomic.AtomicInteger;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/RegionScanNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/RegionScanNode.java
index a186124e44f..13466eb8a02 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/RegionScanNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/RegionScanNode.java
@@ -23,6 +23,7 @@ import org.apache.iotdb.common.rpc.thrift.TRegionReplicaSet;
import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.IPlanVisitor;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNodeId;
+import org.apache.iotdb.db.node_commons.plan.planner.plan.node.source.SourceNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanVisitor;
import java.util.Objects;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/SeriesAggregationScanNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/SeriesAggregationScanNode.java
index db92d11ec62..30c1d092c2e 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/SeriesAggregationScanNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/SeriesAggregationScanNode.java
@@ -22,11 +22,11 @@ import org.apache.iotdb.common.rpc.thrift.TRegionReplicaSet;
import org.apache.iotdb.commons.path.MeasurementPath;
import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.commons.path.PathDeserializeUtil;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
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.queryengine.execution.MemoryEstimationHelper;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeType;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeUtil;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanVisitor;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/SeriesAggregationSourceNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/SeriesAggregationSourceNode.java
index 2b0ae8a9e13..4dbab3b7e1e 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/SeriesAggregationSourceNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/SeriesAggregationSourceNode.java
@@ -20,9 +20,9 @@
package org.apache.iotdb.db.queryengine.plan.planner.plan.node.source;
import org.apache.iotdb.commons.schema.column.ColumnHeaderConstant;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.IPlanVisitor;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNodeId;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanVisitor;
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.AggregationDescriptor;
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.GroupByTimeParameter;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/SeriesScanNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/SeriesScanNode.java
index af9a2f99e9c..7d47431b4fd 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/SeriesScanNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/SeriesScanNode.java
@@ -22,11 +22,11 @@ import org.apache.iotdb.common.rpc.thrift.TRegionReplicaSet;
import org.apache.iotdb.commons.path.MeasurementPath;
import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.commons.path.PathDeserializeUtil;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
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.queryengine.execution.MemoryEstimationHelper;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeType;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeUtil;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanVisitor;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/SeriesScanSourceNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/SeriesScanSourceNode.java
index 62136d5764e..477a8c0dffc 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/SeriesScanSourceNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/SeriesScanSourceNode.java
@@ -20,10 +20,10 @@
package org.apache.iotdb.db.queryengine.plan.planner.plan.node.source;
import org.apache.iotdb.common.rpc.thrift.TRegionReplicaSet;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
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.queryengine.plan.expression.Expression;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanVisitor;
import org.apache.iotdb.db.queryengine.plan.statement.component.Ordering;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/SeriesSourceNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/SeriesSourceNode.java
index a6368fedca1..b20a26dde56 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/SeriesSourceNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/SeriesSourceNode.java
@@ -20,8 +20,9 @@
package org.apache.iotdb.db.queryengine.plan.planner.plan.node.source;
import org.apache.iotdb.commons.path.PartialPath;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNodeId;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.planner.plan.node.source.SourceNode;
import org.apache.tsfile.utils.Accountable;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/ShowDiskUsageNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/ShowDiskUsageNode.java
index d24012e898d..ec1adf95003 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/ShowDiskUsageNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/source/ShowDiskUsageNode.java
@@ -23,10 +23,10 @@ import org.apache.iotdb.common.rpc.thrift.TDataNodeLocation;
import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.commons.path.PathDeserializeUtil;
import org.apache.iotdb.commons.schema.column.ColumnHeaderConstant;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
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.queryengine.plan.expression.Expression;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeType;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanVisitor;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/parameter/AggregationDescriptor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/parameter/AggregationDescriptor.java
index 40ad0aab985..e52e517f8c5 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/parameter/AggregationDescriptor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/parameter/AggregationDescriptor.java
@@ -21,7 +21,7 @@ package org.apache.iotdb.db.queryengine.plan.planner.plan.parameter;
import org.apache.iotdb.common.rpc.thrift.TAggregationType;
import org.apache.iotdb.commons.utils.TestOnly;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
import org.apache.iotdb.db.utils.constant.SqlConstant;
import org.apache.tsfile.utils.ReadWriteIOUtils;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/parameter/CrossSeriesAggregationDescriptor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/parameter/CrossSeriesAggregationDescriptor.java
index d986baf2faa..c673c4ddf0b 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/parameter/CrossSeriesAggregationDescriptor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/parameter/CrossSeriesAggregationDescriptor.java
@@ -20,7 +20,7 @@
package org.apache.iotdb.db.queryengine.plan.planner.plan.parameter;
import org.apache.iotdb.common.rpc.thrift.TAggregationType;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
import org.apache.iotdb.db.utils.constant.SqlConstant;
import org.apache.tsfile.utils.ReadWriteIOUtils;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/parameter/GroupByConditionParameter.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/parameter/GroupByConditionParameter.java
index ec277b5aae1..34d0fbea52c 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/parameter/GroupByConditionParameter.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/parameter/GroupByConditionParameter.java
@@ -19,8 +19,8 @@
package org.apache.iotdb.db.queryengine.plan.planner.plan.parameter;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
import org.apache.iotdb.db.queryengine.execution.operator.window.WindowType;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
import org.apache.tsfile.utils.ReadWriteIOUtils;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/AggregationAnalyzer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/AggregationAnalyzer.java
index 6156d81142b..83545bc8c67 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/AggregationAnalyzer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/AggregationAnalyzer.java
@@ -30,6 +30,7 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.CurrentTime;
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.FunctionCall;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IfExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.InPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IsNotNullPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IsNullPredicate;
@@ -38,22 +39,21 @@ 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.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.Row;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SearchedCaseExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SimpleCaseExpression;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Trim;
import org.apache.iotdb.db.queryengine.plan.relational.planner.ScopeAware;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.AstVisitor;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.DereferenceExpression;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.ExistsPredicate;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.FieldReference;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Identifier;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.IfExpression;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.InListExpression;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.NullIfExpression;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Parameter;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.QuantifiedComparisonExpression;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Row;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.SubqueryExpression;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Trim;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WhenClause;
import com.google.common.collect.ImmutableList;
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 33c7d45b11f..9fc9e818ff3 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
@@ -24,12 +24,15 @@ import org.apache.iotdb.common.rpc.thrift.TSStatus;
import org.apache.iotdb.commons.partition.DataPartition;
import org.apache.iotdb.commons.partition.SchemaPartition;
import org.apache.iotdb.commons.schema.table.InformationSchema;
+import org.apache.iotdb.db.node_commons.plan.relational.metadata.ResolvedFunction;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.DataType;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.FunctionCall;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.InPredicate;
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.WindowFrame;
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;
@@ -41,12 +44,10 @@ import org.apache.iotdb.db.queryengine.plan.relational.analyzer.PatternRecogniti
import org.apache.iotdb.db.queryengine.plan.relational.analyzer.tablefunction.TableFunctionInvocationAnalysis;
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.ResolvedFunction;
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.security.Identity;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.AllColumns;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.DataType;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.ExistsPredicate;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.FieldReference;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Fill;
@@ -68,7 +69,6 @@ import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.SubqueryExpressio
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.WindowFrame;
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;
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 60fb35dc174..8f34de337cf 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
@@ -21,6 +21,11 @@ package org.apache.iotdb.db.queryengine.plan.relational.analyzer;
import org.apache.iotdb.commons.schema.table.column.TsTableColumnCategory;
import org.apache.iotdb.db.exception.sql.SemanticException;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.BoundSignature;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.FunctionId;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.FunctionKind;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.OperatorType;
+import org.apache.iotdb.db.node_commons.plan.relational.metadata.ResolvedFunction;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.ArithmeticBinaryExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.ArithmeticUnaryExpression;
@@ -38,8 +43,10 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.DoubleLiteral;
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.FloatLiteral;
+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.GenericLiteral;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IfExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.InPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IsNotNullPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IsNullPredicate;
@@ -48,12 +55,16 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.LogicalExpressio
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.NullLiteral;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Row;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SearchedCaseExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SimpleCaseExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.StackableAstVisitor;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.StringLiteral;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SymbolReference;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Trim;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.WindowFrame;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
import org.apache.iotdb.db.queryengine.common.SessionInfo;
import org.apache.iotdb.db.queryengine.execution.warnings.WarningCollector;
@@ -66,40 +77,29 @@ import org.apache.iotdb.db.queryengine.plan.relational.analyzer.PatternRecogniti
import org.apache.iotdb.db.queryengine.plan.relational.analyzer.PatternRecognitionAnalysis.NavigationMode;
import org.apache.iotdb.db.queryengine.plan.relational.analyzer.PatternRecognitionAnalysis.PatternFunctionAnalysis;
import org.apache.iotdb.db.queryengine.plan.relational.analyzer.PatternRecognitionAnalysis.ScalarInputDescriptor;
-import org.apache.iotdb.db.queryengine.plan.relational.function.BoundSignature;
-import org.apache.iotdb.db.queryengine.plan.relational.function.FunctionId;
-import org.apache.iotdb.db.queryengine.plan.relational.function.FunctionKind;
-import org.apache.iotdb.db.queryengine.plan.relational.function.OperatorType;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.FunctionNullability;
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.metadata.ResolvedFunction;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl;
import org.apache.iotdb.db.queryengine.plan.relational.security.AccessControl;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Columns;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.DereferenceExpression;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.ExistsPredicate;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.FieldReference;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.FrameBound;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Identifier;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.IfExpression;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.InListExpression;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.NullIfExpression;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.OrderBy;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Parameter;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.ProcessingMode;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.QualifiedName;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.QuantifiedComparisonExpression;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.RangeQuantifier;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Row;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.RowPattern;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.SortItem;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.SubqueryExpression;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.SubsetDefinition;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Trim;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WhenClause;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WindowFrame;
import org.apache.iotdb.db.queryengine.plan.relational.type.TypeNotFoundException;
import com.google.common.collect.HashMultimap;
@@ -141,20 +141,20 @@ import static java.util.Collections.unmodifiableMap;
import static java.util.Collections.unmodifiableSet;
import static java.util.Locale.ENGLISH;
import static java.util.Objects.requireNonNull;
+import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.FrameBound.Type.CURRENT_ROW;
+import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.FrameBound.Type.FOLLOWING;
+import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.FrameBound.Type.PRECEDING;
+import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.FrameBound.Type.UNBOUNDED_FOLLOWING;
+import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.FrameBound.Type.UNBOUNDED_PRECEDING;
+import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.WindowFrame.Type.GROUPS;
+import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.WindowFrame.Type.RANGE;
+import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.WindowFrame.Type.ROWS;
+import static org.apache.iotdb.db.node_commons.plan.relational.type.TypeSignatureTranslator.toTypeSignature;
import static org.apache.iotdb.db.queryengine.plan.relational.analyzer.ExpressionTreeUtils.extractExpressions;
import static org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl.isCharType;
import static org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl.isNumericType;
import static org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl.isTwoTypeComparable;
import static org.apache.iotdb.db.queryengine.plan.relational.sql.ast.DereferenceExpression.isQualifiedAllFieldsReference;
-import static org.apache.iotdb.db.queryengine.plan.relational.sql.ast.FrameBound.Type.CURRENT_ROW;
-import static org.apache.iotdb.db.queryengine.plan.relational.sql.ast.FrameBound.Type.FOLLOWING;
-import static org.apache.iotdb.db.queryengine.plan.relational.sql.ast.FrameBound.Type.PRECEDING;
-import static org.apache.iotdb.db.queryengine.plan.relational.sql.ast.FrameBound.Type.UNBOUNDED_FOLLOWING;
-import static org.apache.iotdb.db.queryengine.plan.relational.sql.ast.FrameBound.Type.UNBOUNDED_PRECEDING;
-import static org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WindowFrame.Type.GROUPS;
-import static org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WindowFrame.Type.RANGE;
-import static org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WindowFrame.Type.ROWS;
-import static org.apache.iotdb.db.queryengine.plan.relational.type.TypeSignatureTranslator.toTypeSignature;
import static org.apache.iotdb.db.queryengine.plan.relational.utils.NodeUtils.getSortItemsFromOrderBy;
import static org.apache.iotdb.db.utils.constant.SqlConstant.FIRST_AGGREGATION;
import static org.apache.iotdb.db.utils.constant.SqlConstant.FIRST_BY_AGGREGATION;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/PatternRecognitionAnalysis.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/PatternRecognitionAnalysis.java
index 9ee8cb4fd61..2ea2f5d80ee 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/PatternRecognitionAnalysis.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/PatternRecognitionAnalysis.java
@@ -19,9 +19,9 @@
package org.apache.iotdb.db.queryengine.plan.relational.analyzer;
+import org.apache.iotdb.db.node_commons.plan.relational.metadata.ResolvedFunction;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.FunctionCall;
-import org.apache.iotdb.db.queryengine.plan.relational.metadata.ResolvedFunction;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.RangeQuantifier;
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 19a77bc9074..040487addb6 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
@@ -25,6 +25,7 @@ import org.apache.iotdb.commons.schema.table.column.TsTableColumnCategory;
import org.apache.iotdb.commons.schema.table.column.TsTableColumnSchema;
import org.apache.iotdb.commons.udf.utils.UDFDataTypeTransformer;
import org.apache.iotdb.db.exception.sql.SemanticException;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.TableBuiltinTableFunction;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.ArithmeticBinaryExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.ArithmeticUnaryExpression;
@@ -34,7 +35,9 @@ 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.Expression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Extract;
+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.InPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IsNotNullPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IsNullPredicate;
@@ -44,10 +47,14 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.LogicalExpressio
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.Row;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SearchedCaseExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SimpleCaseExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.StringLiteral;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SymbolReference;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Trim;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.WindowFrame;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext.ExplainType;
import org.apache.iotdb.db.queryengine.common.SessionInfo;
@@ -63,7 +70,6 @@ import org.apache.iotdb.db.queryengine.plan.relational.analyzer.tablefunction.Ar
import org.apache.iotdb.db.queryengine.plan.relational.analyzer.tablefunction.ArgumentsAnalysis;
import org.apache.iotdb.db.queryengine.plan.relational.analyzer.tablefunction.TableArgumentAnalysis;
import org.apache.iotdb.db.queryengine.plan.relational.analyzer.tablefunction.TableFunctionInvocationAnalysis;
-import org.apache.iotdb.db.queryengine.plan.relational.function.TableBuiltinTableFunction;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.ColumnSchema;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.Metadata;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.QualifiedObjectName;
@@ -114,12 +120,10 @@ 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.FieldReference;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Fill;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.FrameBound;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.GroupBy;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.GroupingElement;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.GroupingSets;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Identifier;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.IfExpression;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.InListExpression;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Insert;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.InsertRow;
@@ -134,7 +138,6 @@ 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.NullIfExpression;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Offset;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.OrderBy;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Parameter;
@@ -148,7 +151,6 @@ import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.QuerySpecificatio
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Relation;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.RenameColumn;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.RenameTable;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Row;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Select;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.SelectItem;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.SetOperation;
@@ -176,7 +178,6 @@ import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.TableFunctionArgu
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.TableFunctionInvocation;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.TableFunctionTableArgument;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.TableSubquery;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Trim;
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;
@@ -186,7 +187,6 @@ import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.VariableDefinitio
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WhenClause;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Window;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WindowDefinition;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WindowFrame;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WindowReference;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WindowSpecification;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.With;
@@ -271,6 +271,7 @@ import static java.util.Locale.ENGLISH;
import static java.util.Objects.requireNonNull;
import static org.apache.iotdb.commons.schema.table.TsTable.TABLE_ALLOWED_PROPERTIES;
import static org.apache.iotdb.commons.udf.builtin.relational.TableBuiltinScalarFunction.DATE_BIN;
+import static org.apache.iotdb.db.node_commons.plan.relational.function.function.tvf.ForecastTableFunction.TIMECOL_PARAMETER_NAME;
import static org.apache.iotdb.db.queryengine.execution.warnings.StandardWarningCode.REDUNDANT_ORDER_BY;
import static org.apache.iotdb.db.queryengine.plan.relational.analyzer.AggregationAnalyzer.verifyOrderByAggregations;
import static org.apache.iotdb.db.queryengine.plan.relational.analyzer.AggregationAnalyzer.verifySourceAggregations;
@@ -280,7 +281,6 @@ import static org.apache.iotdb.db.queryengine.plan.relational.analyzer.Expressio
import static org.apache.iotdb.db.queryengine.plan.relational.analyzer.ExpressionTreeUtils.extractWindowExpressions;
import static org.apache.iotdb.db.queryengine.plan.relational.analyzer.ExpressionTreeUtils.extractWindowFunctions;
import static org.apache.iotdb.db.queryengine.plan.relational.analyzer.Scope.BasisType.TABLE;
-import static org.apache.iotdb.db.queryengine.plan.relational.function.tvf.ForecastTableFunction.TIMECOL_PARAMETER_NAME;
import static org.apache.iotdb.db.queryengine.plan.relational.metadata.MetadataUtil.createQualifiedObjectName;
import static org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl.isTimestampType;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.IrExpressionInterpreter.evaluateConstantExpression;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/ConvertPredicateToFilterVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/ConvertPredicateToFilterVisitor.java
index d679e9527d1..842538431ae 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/ConvertPredicateToFilterVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/ConvertPredicateToFilterVisitor.java
@@ -31,6 +31,7 @@ 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.FloatLiteral;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.GenericLiteral;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IfExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.InPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IsNotNullPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IsNullPredicate;
@@ -39,15 +40,14 @@ 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.NotExpression;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.NullIfExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SearchedCaseExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SimpleCaseExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.StringLiteral;
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.plan.relational.metadata.ColumnSchema;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.IfExpression;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.InListExpression;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.NullIfExpression;
-import org.apache.iotdb.db.queryengine.plan.relational.type.InternalTypeManager;
import com.google.common.collect.ImmutableList;
import com.google.common.math.DoubleMath;
@@ -76,7 +76,7 @@ import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import static com.google.common.base.Preconditions.checkArgument;
-import static org.apache.iotdb.db.queryengine.plan.expression.unary.LikeExpression.getEscapeCharacter;
+import static org.apache.iotdb.db.node_commons.plan.expression.expression.unary.LikeExpression.getEscapeCharacter;
import static org.apache.iotdb.db.queryengine.plan.relational.analyzer.predicate.ConvertPredicateToTimeFilterVisitor.getLongValue;
import static org.apache.iotdb.db.queryengine.plan.relational.analyzer.predicate.PredicatePushIntoScanChecker.isLiteral;
import static org.apache.iotdb.db.queryengine.plan.relational.analyzer.predicate.PredicatePushIntoScanChecker.isSymbolReference;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/ConvertPredicateToTimeFilterVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/ConvertPredicateToTimeFilterVisitor.java
index e1e0531a99a..c127cf71d36 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/ConvertPredicateToTimeFilterVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/ConvertPredicateToTimeFilterVisitor.java
@@ -23,6 +23,7 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.BetweenPredicate
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.Extract;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IfExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.InPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IsNotNullPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IsNullPredicate;
@@ -30,12 +31,11 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.LikePredicate;
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.NotExpression;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.NullIfExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SearchedCaseExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SimpleCaseExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SymbolReference;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.IfExpression;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.InListExpression;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.NullIfExpression;
import com.google.common.collect.ImmutableList;
import org.apache.tsfile.read.filter.basic.Filter;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/PredicateCombineIntoTableScanChecker.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/PredicateCombineIntoTableScanChecker.java
index 6c94071e974..21b99e36281 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/PredicateCombineIntoTableScanChecker.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/PredicateCombineIntoTableScanChecker.java
@@ -23,6 +23,7 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.BetweenPredicate
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.Extract;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IfExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.InPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IsNotNullPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IsNullPredicate;
@@ -30,12 +31,11 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.LikePredicate;
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.NotExpression;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.NullIfExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SearchedCaseExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SimpleCaseExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SymbolReference;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.IfExpression;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.InListExpression;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.NullIfExpression;
import java.util.List;
import java.util.Set;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/PredicatePushIntoMetadataChecker.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/PredicatePushIntoMetadataChecker.java
index 54bcf9d2502..72abe933509 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/PredicatePushIntoMetadataChecker.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/PredicatePushIntoMetadataChecker.java
@@ -36,6 +36,7 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.FloatLiteral;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.FunctionCall;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.GenericLiteral;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IfExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.InPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IsNotNullPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IsNullPredicate;
@@ -44,16 +45,15 @@ 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.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.SearchedCaseExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SimpleCaseExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.StringLiteral;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SymbolReference;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Trim;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.AstVisitor;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.IfExpression;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.InListExpression;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.NullIfExpression;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Trim;
import java.util.List;
import java.util.Set;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/PredicatePushIntoScanChecker.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/PredicatePushIntoScanChecker.java
index 3ada53cdc3b..7dca4f07e49 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/PredicatePushIntoScanChecker.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/PredicatePushIntoScanChecker.java
@@ -22,6 +22,7 @@ package org.apache.iotdb.db.queryengine.plan.relational.analyzer.predicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.BetweenPredicate;
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.IfExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.InPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IsNotNullPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IsNullPredicate;
@@ -29,11 +30,10 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.LikePredicate;
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.NotExpression;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.NullIfExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SearchedCaseExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SimpleCaseExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SymbolReference;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.IfExpression;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.NullIfExpression;
import java.util.List;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/PredicateVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/PredicateVisitor.java
index 5e579686aef..edae4682aee 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/PredicateVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/PredicateVisitor.java
@@ -22,17 +22,17 @@ package org.apache.iotdb.db.queryengine.plan.relational.analyzer.predicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.BetweenPredicate;
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.IfExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.InPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IsNotNullPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IsNullPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.LikePredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.LogicalExpression;
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.SearchedCaseExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SimpleCaseExpression;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.AstVisitor;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.IfExpression;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.NullIfExpression;
/**
* This class provides a visitor of {@link Expression}, which can be extended to create a visitor
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/schema/ConvertSchemaPredicateToFilterVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/schema/ConvertSchemaPredicateToFilterVisitor.java
index 27f779fb312..bdd08f0e647 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/schema/ConvertSchemaPredicateToFilterVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/schema/ConvertSchemaPredicateToFilterVisitor.java
@@ -35,6 +35,7 @@ import org.apache.iotdb.commons.schema.table.column.TsTableColumnSchema;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.BetweenPredicate;
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.IfExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.InPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IsNotNullPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IsNullPredicate;
@@ -42,14 +43,13 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.LikePredicate;
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.NotExpression;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.NullIfExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SearchedCaseExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SimpleCaseExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.StringLiteral;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SymbolReference;
import org.apache.iotdb.db.queryengine.plan.relational.analyzer.predicate.PredicateVisitor;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.IfExpression;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.InListExpression;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.NullIfExpression;
import javax.annotation.Nullable;
@@ -62,7 +62,7 @@ import java.util.Optional;
import java.util.stream.Collectors;
import static com.google.common.base.Preconditions.checkArgument;
-import static org.apache.iotdb.db.queryengine.plan.expression.unary.LikeExpression.getEscapeCharacter;
+import static org.apache.iotdb.db.node_commons.plan.expression.expression.unary.LikeExpression.getEscapeCharacter;
import static org.apache.iotdb.db.queryengine.plan.relational.analyzer.predicate.PredicatePushIntoScanChecker.isSymbolReference;
/**
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/schema/ExtractPredicateColumnNameVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/schema/ExtractPredicateColumnNameVisitor.java
index bf5d70fd968..267f58dfc6c 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/schema/ExtractPredicateColumnNameVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/analyzer/predicate/schema/ExtractPredicateColumnNameVisitor.java
@@ -22,6 +22,7 @@ package org.apache.iotdb.db.queryengine.plan.relational.analyzer.predicate.schem
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.BetweenPredicate;
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.IfExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.InPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IsNotNullPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IsNullPredicate;
@@ -29,12 +30,11 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.LikePredicate;
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.NotExpression;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.NullIfExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SearchedCaseExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SimpleCaseExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SymbolReference;
import org.apache.iotdb.db.queryengine.plan.relational.analyzer.predicate.PredicateVisitor;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.IfExpression;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.NullIfExpression;
public class ExtractPredicateColumnNameVisitor extends PredicateVisitor<String, Void> {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/Metadata.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/Metadata.java
index 99290c93b82..9bd5980faed 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/Metadata.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/Metadata.java
@@ -26,11 +26,11 @@ import org.apache.iotdb.commons.schema.table.InsertNodeMeasurementInfo;
import org.apache.iotdb.commons.udf.builtin.relational.TableBuiltinWindowFunction;
import org.apache.iotdb.db.exception.load.LoadAnalyzeTableColumnDisorderException;
import org.apache.iotdb.db.exception.sql.SemanticException;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.OperatorType;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
import org.apache.iotdb.db.queryengine.common.SessionInfo;
import org.apache.iotdb.db.queryengine.plan.analyze.IPartitionFetcher;
-import org.apache.iotdb.db.queryengine.plan.relational.function.OperatorType;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.fetcher.TableHeaderSchemaValidator;
import org.apache.iotdb.db.queryengine.plan.relational.security.AccessControl;
import org.apache.iotdb.db.queryengine.plan.relational.type.TypeNotFoundException;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/OperatorNotFoundException.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/OperatorNotFoundException.java
index bc874d53f4f..aa50cfbc45d 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/OperatorNotFoundException.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/OperatorNotFoundException.java
@@ -20,7 +20,7 @@
package org.apache.iotdb.db.queryengine.plan.relational.metadata;
import org.apache.iotdb.commons.exception.IoTDBException;
-import org.apache.iotdb.db.queryengine.plan.relational.function.OperatorType;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.OperatorType;
import org.apache.iotdb.db.queryengine.plan.relational.type.TypeSignature;
import com.google.common.base.Joiner;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/TableMetadataImpl.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/TableMetadataImpl.java
index 2c33ed3f1d1..b5b2be96036 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/TableMetadataImpl.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/TableMetadataImpl.java
@@ -32,23 +32,23 @@ import org.apache.iotdb.commons.udf.builtin.relational.TableBuiltinScalarFunctio
import org.apache.iotdb.commons.udf.utils.UDFDataTypeTransformer;
import org.apache.iotdb.db.exception.load.LoadAnalyzeTableColumnDisorderException;
import org.apache.iotdb.db.exception.sql.SemanticException;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.OperatorType;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.TableBuiltinTableFunction;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.arithmetic.AdditionResolver;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.arithmetic.DivisionResolver;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.arithmetic.ModulusResolver;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.arithmetic.MultiplicationResolver;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.arithmetic.SubtractionResolver;
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.db.queryengine.common.MPPQueryContext;
import org.apache.iotdb.db.queryengine.common.SessionInfo;
import org.apache.iotdb.db.queryengine.plan.analyze.ClusterPartitionFetcher;
import org.apache.iotdb.db.queryengine.plan.analyze.IPartitionFetcher;
-import org.apache.iotdb.db.queryengine.plan.relational.function.OperatorType;
-import org.apache.iotdb.db.queryengine.plan.relational.function.TableBuiltinTableFunction;
-import org.apache.iotdb.db.queryengine.plan.relational.function.arithmetic.AdditionResolver;
-import org.apache.iotdb.db.queryengine.plan.relational.function.arithmetic.DivisionResolver;
-import org.apache.iotdb.db.queryengine.plan.relational.function.arithmetic.ModulusResolver;
-import org.apache.iotdb.db.queryengine.plan.relational.function.arithmetic.MultiplicationResolver;
-import org.apache.iotdb.db.queryengine.plan.relational.function.arithmetic.SubtractionResolver;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.fetcher.TableDeviceSchemaFetcher;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.fetcher.TableDeviceSchemaValidator;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.fetcher.TableHeaderSchemaValidator;
import org.apache.iotdb.db.queryengine.plan.relational.security.AccessControl;
-import org.apache.iotdb.db.queryengine.plan.relational.type.InternalTypeManager;
import org.apache.iotdb.db.queryengine.plan.relational.type.TypeManager;
import org.apache.iotdb.db.queryengine.plan.relational.type.TypeNotFoundException;
import org.apache.iotdb.db.queryengine.plan.relational.type.TypeSignature;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/TableSchema.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/TableSchema.java
index 1344586e425..cc523503c99 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/TableSchema.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/TableSchema.java
@@ -22,7 +22,7 @@ package org.apache.iotdb.db.queryengine.plan.relational.metadata;
import org.apache.iotdb.commons.schema.table.TsTable;
import org.apache.iotdb.commons.schema.table.column.TsTableColumnCategory;
import org.apache.iotdb.db.exception.sql.SemanticException;
-import org.apache.iotdb.db.queryengine.plan.relational.type.InternalTypeManager;
+import org.apache.iotdb.db.node_commons.plan.relational.type.InternalTypeManager;
import org.apache.tsfile.enums.ColumnCategory;
import org.apache.tsfile.enums.TSDataType;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/fetcher/TableHeaderSchemaValidator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/fetcher/TableHeaderSchemaValidator.java
index 7f578cef4ae..688d7ec168a 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/fetcher/TableHeaderSchemaValidator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/fetcher/TableHeaderSchemaValidator.java
@@ -36,6 +36,7 @@ import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.exception.load.LoadAnalyzeTableColumnDisorderException;
import org.apache.iotdb.db.exception.sql.ColumnCreationFailException;
import org.apache.iotdb.db.exception.sql.SemanticException;
+import org.apache.iotdb.db.node_commons.plan.relational.type.InternalTypeManager;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
import org.apache.iotdb.db.queryengine.plan.analyze.lock.DataNodeSchemaLockManager;
import org.apache.iotdb.db.queryengine.plan.analyze.lock.SchemaLockType;
@@ -47,7 +48,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.TableMetadataImpl;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.TableSchema;
-import org.apache.iotdb.db.queryengine.plan.relational.type.InternalTypeManager;
import org.apache.iotdb.db.schemaengine.table.DataNodeTableCache;
import org.apache.iotdb.db.schemaengine.table.DataNodeTreeViewSchemaUtils;
import org.apache.iotdb.rpc.TSStatusCode;
@@ -74,7 +74,7 @@ import java.util.concurrent.atomic.AtomicBoolean;
import java.util.stream.Collectors;
import static org.apache.iotdb.commons.schema.table.TsTable.TIME_COLUMN_NAME;
-import static org.apache.iotdb.db.queryengine.plan.relational.type.InternalTypeManager.getTSDataType;
+import static org.apache.iotdb.db.node_commons.plan.relational.type.InternalTypeManager.getTSDataType;
import static org.apache.iotdb.db.utils.EncodingInferenceUtils.getDefaultEncoding;
public class TableHeaderSchemaValidator {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/ExpressionExtractor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/ExpressionExtractor.java
index e246663c065..c086bbbbc72 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/ExpressionExtractor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/ExpressionExtractor.java
@@ -20,13 +20,13 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
+import org.apache.iotdb.db.node_commons.plan.relational.planner.iterative.GroupReference;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.AggregationNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.FilterNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.JoinNode;
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.planner.plan.node.SimplePlanVisitor;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.GroupReference;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Lookup;
import com.google.common.collect.ImmutableList;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/IrExpressionInterpreter.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/IrExpressionInterpreter.java
index 80f8bce5b8a..bcea7ed8daa 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/IrExpressionInterpreter.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/IrExpressionInterpreter.java
@@ -20,6 +20,9 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner;
import org.apache.iotdb.db.exception.sql.SemanticException;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.builtin.helper.CastFunctionHelper;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.InterpretedFunctionInvoker;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.OperatorType;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.ArithmeticBinaryExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.ArithmeticUnaryExpression;
@@ -31,6 +34,7 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.ComparisonExpres
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.FunctionCall;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IfExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.InPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IsNotNullPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IsNullPredicate;
@@ -43,14 +47,10 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SimpleCaseExpres
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SymbolReference;
import org.apache.iotdb.db.queryengine.common.SessionInfo;
import org.apache.iotdb.db.queryengine.plan.analyze.TypeProvider;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.builtin.helper.CastFunctionHelper;
import org.apache.iotdb.db.queryengine.plan.relational.analyzer.NodeRef;
-import org.apache.iotdb.db.queryengine.plan.relational.function.InterpretedFunctionInvoker;
-import org.apache.iotdb.db.queryengine.plan.relational.function.OperatorType;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.Metadata;
import org.apache.iotdb.db.queryengine.plan.relational.planner.ir.DeterminismEvaluator;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.AstVisitor;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.IfExpression;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.InListExpression;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WhenClause;
import org.apache.iotdb.db.queryengine.plan.relational.type.TypeCoercion;
@@ -79,10 +79,10 @@ import static com.google.common.collect.Iterables.getOnlyElement;
import static java.util.Objects.requireNonNull;
import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.ArithmeticUnaryExpression.Sign.MINUS;
import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.ArithmeticUnaryExpression.Sign.PLUS;
+import static org.apache.iotdb.db.node_commons.plan.relational.type.TypeSignatureTranslator.toTypeSignature;
+import static org.apache.iotdb.db.node_commons.transformation.dag.column.column.unary.scalar.ExtractTransformer.constructEvaluateFunction;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.ir.DeterminismEvaluator.isDeterministic;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.ir.IrUtils.isEffectivelyLiteral;
-import static org.apache.iotdb.db.queryengine.plan.relational.type.TypeSignatureTranslator.toTypeSignature;
-import static org.apache.iotdb.db.node_commons.transformation.dag.column.column.unary.scalar.ExtractTransformer.constructEvaluateFunction;
public class IrExpressionInterpreter {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/IrTypeAnalyzer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/IrTypeAnalyzer.java
index 524d42b9a50..c20ff305380 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/IrTypeAnalyzer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/IrTypeAnalyzer.java
@@ -20,6 +20,7 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner;
import org.apache.iotdb.db.exception.sql.SemanticException;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.OperatorType;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.ArithmeticBinaryExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.ArithmeticUnaryExpression;
@@ -37,6 +38,7 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Extract;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.FloatLiteral;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.FunctionCall;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.GenericLiteral;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IfExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.InPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IsNotNullPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IsNullPredicate;
@@ -45,7 +47,9 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.LogicalExpressio
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.NullLiteral;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Row;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SearchedCaseExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SimpleCaseExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.StringLiteral;
@@ -53,15 +57,11 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SymbolReference;
import org.apache.iotdb.db.queryengine.common.SessionInfo;
import org.apache.iotdb.db.queryengine.plan.analyze.TypeProvider;
import org.apache.iotdb.db.queryengine.plan.relational.analyzer.NodeRef;
-import org.apache.iotdb.db.queryengine.plan.relational.function.OperatorType;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.OperatorNotFoundException;
import org.apache.iotdb.db.queryengine.plan.relational.security.AccessControl;
import org.apache.iotdb.db.queryengine.plan.relational.security.AllowAllAccessControl;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.AstVisitor;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.IfExpression;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.InListExpression;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.NullIfExpression;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Row;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WhenClause;
import org.apache.iotdb.db.queryengine.plan.relational.type.TypeCoercionUtils;
@@ -89,7 +89,7 @@ import java.util.stream.Collectors;
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.queryengine.plan.relational.type.TypeSignatureTranslator.toTypeSignature;
+import static org.apache.iotdb.db.node_commons.plan.relational.type.TypeSignatureTranslator.toTypeSignature;
import static org.apache.tsfile.read.common.type.BooleanType.BOOLEAN;
import static org.apache.tsfile.read.common.type.DoubleType.DOUBLE;
import static org.apache.tsfile.read.common.type.FloatType.FLOAT;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/LiteralEncoder.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/LiteralEncoder.java
index 8778b6a77ce..f61f9a838c5 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/LiteralEncoder.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/LiteralEncoder.java
@@ -44,10 +44,10 @@ import java.util.List;
import static com.google.common.base.Preconditions.checkArgument;
import static java.util.Objects.requireNonNull;
+import static org.apache.iotdb.db.node_commons.plan.relational.type.TypeSignatureTranslator.toSqlType;
import static org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl.isBlobType;
import static org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl.isBool;
import static org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl.isCharType;
-import static org.apache.iotdb.db.queryengine.plan.relational.type.TypeSignatureTranslator.toSqlType;
import static org.apache.tsfile.read.common.type.DoubleType.DOUBLE;
import static org.apache.tsfile.read.common.type.FloatType.FLOAT;
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/relational/planner/PlanBuilder.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/PlanBuilder.java
index bfc1220dead..d69f1f8e313 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/PlanBuilder.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/PlanBuilder.java
@@ -20,14 +20,15 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner;
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.sql.ast.Expression;
+import org.apache.iotdb.db.node_commons.plan.relational.type.InternalTypeManager;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
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.analyzer.Scope;
-import org.apache.iotdb.db.queryengine.plan.relational.type.InternalTypeManager;
import com.google.common.collect.ImmutableMap;
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 56a5b15fb9b..2631870290a 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,12 +19,12 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner;
+import org.apache.iotdb.db.node_commons.plan.expression.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.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.iotdb.db.queryengine.plan.relational.sql.ast.Identifier;
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 c3053a2cf60..d99e98445ee 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
@@ -21,6 +21,9 @@ package org.apache.iotdb.db.queryengine.plan.relational.planner;
import org.apache.iotdb.db.exception.sql.SemanticException;
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.DataOrganizationSpecification;
+import org.apache.iotdb.db.node_commons.plan.relational.planner.OrderingScheme;
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.AggregationNode.Aggregation;
@@ -38,10 +41,13 @@ import org.apache.iotdb.db.node_commons.plan.relational.planner.node.WindowNode;
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.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.WindowFrame;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
import org.apache.iotdb.db.queryengine.common.QueryId;
import org.apache.iotdb.db.queryengine.common.SessionInfo;
@@ -55,8 +61,6 @@ import org.apache.iotdb.db.queryengine.plan.relational.planner.ir.PredicateWithU
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Delete;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.FieldReference;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Fill;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.FrameBound;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.IfExpression;
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.OrderBy;
@@ -65,7 +69,6 @@ import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.QueryBody;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.QuerySpecification;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.SortItem;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.VariableDefinition;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WindowFrame;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
@@ -102,6 +105,10 @@ import static org.apache.iotdb.db.node_commons.plan.relational.planner.node.Aggr
import static org.apache.iotdb.db.node_commons.plan.relational.planner.node.AggregationNode.singleGroupingSet;
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.sql.ast.ComparisonExpression.Operator.GREATER_THAN_OR_EQUAL;
+import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.WindowFrame.Type.GROUPS;
+import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.WindowFrame.Type.RANGE;
+import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.WindowFrame.Type.ROWS;
+import static org.apache.iotdb.db.node_commons.plan.relational.type.TypeSignatureTranslator.toSqlType;
import static org.apache.iotdb.db.queryengine.plan.relational.metadata.TableMetadataImpl.isNumericType;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.OrderingTranslator.sortItemToSortOrder;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.PlanBuilder.newPlanBuilder;
@@ -109,10 +116,6 @@ import static org.apache.iotdb.db.queryengine.plan.relational.planner.ScopeAware
import static org.apache.iotdb.db.queryengine.plan.relational.planner.SortOrder.ASC_NULLS_LAST;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.SymbolAllocator.GROUP_KEY_SUFFIX;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.ir.GapFillStartAndEndTimeExtractVisitor.CAN_NOT_INFER_TIME_RANGE;
-import static org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WindowFrame.Type.GROUPS;
-import static org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WindowFrame.Type.RANGE;
-import static org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WindowFrame.Type.ROWS;
-import static org.apache.iotdb.db.queryengine.plan.relational.type.TypeSignatureTranslator.toSqlType;
import static org.apache.iotdb.db.queryengine.plan.relational.utils.NodeUtils.getSortItemsFromOrderBy;
import static org.apache.tsfile.read.common.type.BooleanType.BOOLEAN;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/RelationPlanner.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/RelationPlanner.java
index ed45e608488..8044f661ebd 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/RelationPlanner.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/RelationPlanner.java
@@ -22,8 +22,13 @@ package org.apache.iotdb.db.queryengine.plan.relational.planner;
import org.apache.iotdb.commons.schema.table.column.TsTableColumnCategory;
import org.apache.iotdb.db.exception.sql.SemanticException;
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.DataOrganizationSpecification;
+import org.apache.iotdb.db.node_commons.plan.relational.planner.OrderingScheme;
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.node_commons.plan.relational.planner.node.FilterNode;
+import org.apache.iotdb.db.node_commons.plan.relational.planner.node.IntersectNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.JoinNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.Measure;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.PatternRecognitionNode;
@@ -47,6 +52,7 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.ComparisonExpres
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
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.type.InternalTypeManager;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
import org.apache.iotdb.db.queryengine.common.QueryId;
import org.apache.iotdb.db.queryengine.common.SessionInfo;
@@ -82,9 +88,7 @@ import org.apache.iotdb.db.queryengine.plan.relational.planner.ir.IrUtils;
import org.apache.iotdb.db.queryengine.plan.relational.planner.ir.PredicateWithUncorrelatedScalarSubqueryReconstructor;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.CteScanNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.DeviceTableScanNode;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.node.ExceptNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.InformationSchemaTableScanNode;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.node.IntersectNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.RowsPerMatch;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.SkipToPosition;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.TableScanNode;
@@ -124,7 +128,6 @@ import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.TableSubquery;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Union;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Values;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.VariableDefinition;
-import org.apache.iotdb.db.queryengine.plan.relational.type.InternalTypeManager;
import org.apache.iotdb.db.queryengine.plan.statement.crud.InsertRowStatement;
import org.apache.iotdb.db.queryengine.plan.statement.crud.InsertRowsStatement;
import org.apache.iotdb.db.queryengine.plan.statement.crud.InsertTabletStatement;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/SubqueryPlanner.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/SubqueryPlanner.java
index a770524e6bd..44fa109838d 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/SubqueryPlanner.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/SubqueryPlanner.java
@@ -20,13 +20,16 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner;
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.ApplyNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.EnforceSingleRowNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.JoinNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.ProjectNode;
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.GenericDataType;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.InPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Node;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.NotExpression;
@@ -40,10 +43,8 @@ import org.apache.iotdb.db.queryengine.plan.relational.analyzer.RelationType;
import org.apache.iotdb.db.queryengine.plan.relational.analyzer.Scope;
import org.apache.iotdb.db.queryengine.plan.relational.planner.QueryPlanner.PlanAndMappings;
import org.apache.iotdb.db.queryengine.plan.relational.planner.ir.PredicateWithUncorrelatedScalarSubqueryReconstructor;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.node.ApplyNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.CorrelatedJoinNode;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.ExistsPredicate;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.GenericDataType;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Identifier;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.QuantifiedComparisonExpression;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Query;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/TableLogicalPlanner.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/TableLogicalPlanner.java
index 81bd5fefbf3..1df67793ab8 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/TableLogicalPlanner.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/TableLogicalPlanner.java
@@ -28,12 +28,14 @@ import org.apache.iotdb.commons.schema.table.TsTable;
import org.apache.iotdb.commons.utils.TestOnly;
import org.apache.iotdb.db.exception.sql.SemanticException;
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.FilterNode;
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.node_commons.plan.relational.planner.node.OutputNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.ProjectNode;
+import org.apache.iotdb.db.node_commons.plan.relational.type.InternalTypeManager;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
import org.apache.iotdb.db.queryengine.common.QueryId;
import org.apache.iotdb.db.queryengine.common.SessionInfo;
@@ -85,7 +87,6 @@ import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Statement;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Table;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Update;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WrappedStatement;
-import org.apache.iotdb.db.queryengine.plan.relational.type.InternalTypeManager;
import org.apache.iotdb.db.schemaengine.table.DataNodeTableCache;
import com.google.common.collect.ImmutableList;
@@ -103,13 +104,13 @@ import java.util.Optional;
import static com.google.common.collect.ImmutableList.toImmutableList;
import static java.util.Objects.requireNonNull;
import static org.apache.iotdb.db.node_commons.plan.relational.planner.node.OutputNode.COLUMN_NAME_PREFIX;
+import static org.apache.iotdb.db.node_commons.plan.relational.type.InternalTypeManager.getTSDataType;
import static org.apache.iotdb.db.queryengine.metric.QueryPlanCostMetricSet.LOGICAL_PLANNER;
import static org.apache.iotdb.db.queryengine.metric.QueryPlanCostMetricSet.LOGICAL_PLAN_OPTIMIZE;
import static org.apache.iotdb.db.queryengine.plan.relational.metadata.MetadataUtil.createQualifiedObjectName;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.QueryPlanner.visibleFields;
import static org.apache.iotdb.db.queryengine.plan.relational.sql.ast.CountDevice.COUNT_DEVICE_HEADER_STRING;
import static org.apache.iotdb.db.queryengine.plan.relational.sql.ast.ShowDevice.getDeviceColumnHeaderList;
-import static org.apache.iotdb.db.queryengine.plan.relational.type.InternalTypeManager.getTSDataType;
public class TableLogicalPlanner {
private final MPPQueryContext queryContext;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/TranslationMap.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/TranslationMap.java
index f3672ff584d..d1db6b788ce 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/TranslationMap.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/TranslationMap.java
@@ -22,8 +22,10 @@ package org.apache.iotdb.db.queryengine.plan.relational.planner;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.FunctionCall;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.GenericDataType;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.LikePredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SymbolReference;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Trim;
import org.apache.iotdb.db.queryengine.plan.relational.analyzer.Analysis;
import org.apache.iotdb.db.queryengine.plan.relational.analyzer.NodeRef;
import org.apache.iotdb.db.queryengine.plan.relational.analyzer.ResolvedField;
@@ -32,11 +34,9 @@ import org.apache.iotdb.db.queryengine.plan.relational.planner.ir.ExpressionRewr
import org.apache.iotdb.db.queryengine.plan.relational.planner.ir.ExpressionTreeRewriter;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.DereferenceExpression;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.FieldReference;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.GenericDataType;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Identifier;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Parameter;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.QualifiedName;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Trim;
import org.apache.iotdb.db.queryengine.plan.relational.sql.util.AstUtil;
import com.google.common.collect.ImmutableMap;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/distribute/TableDistributedPlanGenerator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/distribute/TableDistributedPlanGenerator.java
index e9995904fa2..1df79fc6881 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/distribute/TableDistributedPlanGenerator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/distribute/TableDistributedPlanGenerator.java
@@ -36,6 +36,11 @@ import org.apache.iotdb.db.exception.sql.SemanticException;
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.SingleChildProcessNode;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.BoundSignature;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.FunctionId;
+import org.apache.iotdb.db.node_commons.plan.relational.metadata.ResolvedFunction;
+import org.apache.iotdb.db.node_commons.plan.relational.planner.Assignments;
+import org.apache.iotdb.db.node_commons.plan.relational.planner.OrderingScheme;
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.AssignUniqueId;
@@ -78,15 +83,10 @@ import org.apache.iotdb.db.queryengine.plan.planner.exceptions.RootFIPlacementEx
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanVisitor;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.WritePlanNode;
import org.apache.iotdb.db.queryengine.plan.relational.analyzer.Analysis;
-import org.apache.iotdb.db.queryengine.plan.relational.function.BoundSignature;
-import org.apache.iotdb.db.queryengine.plan.relational.function.FunctionId;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.AlignedDeviceEntry;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.ColumnSchema;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.DeviceEntry;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.QualifiedObjectName;
-import org.apache.iotdb.db.queryengine.plan.relational.metadata.ResolvedFunction;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.Assignments;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.OrderingScheme;
import org.apache.iotdb.db.queryengine.plan.relational.planner.SortOrder;
import org.apache.iotdb.db.queryengine.plan.relational.planner.SymbolAllocator;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.AggregationTableScanNode;
@@ -144,9 +144,9 @@ import java.util.stream.IntStream;
import static com.google.common.collect.ImmutableList.toImmutableList;
import static org.apache.iotdb.commons.partition.DataPartition.NOT_ASSIGNED;
+import static org.apache.iotdb.db.node_commons.plan.relational.function.function.FunctionKind.AGGREGATE;
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.SINGLE;
-import static org.apache.iotdb.db.queryengine.plan.relational.function.FunctionKind.AGGREGATE;
import static org.apache.iotdb.db.queryengine.plan.relational.metadata.FunctionNullability.getAggregationFunctionNullability;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.optimizations.PushPredicateIntoTableScan.containsDiffFunction;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.optimizations.TransformSortToStreamSort.isOrderByAllIdsAndTime;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/distribute/TableDistributedPlanner.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/distribute/TableDistributedPlanner.java
index 4185b97f0cc..1a436ce656a 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/distribute/TableDistributedPlanner.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/distribute/TableDistributedPlanner.java
@@ -24,6 +24,7 @@ import org.apache.iotdb.commons.utils.TestOnly;
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.relational.planner.node.OutputNode;
+import org.apache.iotdb.db.node_commons.plan.relational.type.InternalTypeManager;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
import org.apache.iotdb.db.queryengine.execution.exchange.sink.DownStreamChannelLocation;
import org.apache.iotdb.db.queryengine.plan.planner.distribution.NodeDistribution;
@@ -44,7 +45,6 @@ import org.apache.iotdb.db.queryengine.plan.relational.planner.node.ExchangeNode
import org.apache.iotdb.db.queryengine.plan.relational.planner.optimizations.DataNodeLocationSupplierFactory;
import org.apache.iotdb.db.queryengine.plan.relational.planner.optimizations.DistributedOptimizeFactory;
import org.apache.iotdb.db.queryengine.plan.relational.planner.optimizations.PlanOptimizer;
-import org.apache.iotdb.db.queryengine.plan.relational.type.InternalTypeManager;
import java.util.Collections;
import java.util.HashMap;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/ir/DefaultTraversalVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/ir/DefaultTraversalVisitor.java
index 850f74d048b..12593f5cfd2 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/ir/DefaultTraversalVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/ir/DefaultTraversalVisitor.java
@@ -30,11 +30,11 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.InPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IsNullPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.LogicalExpression;
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.Row;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SearchedCaseExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SimpleCaseExpression;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.AstVisitor;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.NullIfExpression;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Row;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WhenClause;
public abstract class DefaultTraversalVisitor<C> extends AstVisitor<Void, C> {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/ir/ExpressionRewriter.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/ir/ExpressionRewriter.java
index ca519aeabcd..7edfd9538e2 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/ir/ExpressionRewriter.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/ir/ExpressionRewriter.java
@@ -30,6 +30,8 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.CurrentUser;
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.FunctionCall;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.GenericDataType;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IfExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.InPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IsNotNullPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IsNullPredicate;
@@ -37,22 +39,20 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.LikePredicate;
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.NotExpression;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.NullIfExpression;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Row;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SearchedCaseExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SimpleCaseExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SymbolReference;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Trim;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.DereferenceExpression;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.ExistsPredicate;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.FieldReference;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.GenericDataType;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Identifier;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.IfExpression;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.InListExpression;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.NullIfExpression;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Parameter;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.QuantifiedComparisonExpression;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Row;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.SubqueryExpression;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Trim;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WhenClause;
public class ExpressionRewriter<C> {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/ir/ExpressionTreeRewriter.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/ir/ExpressionTreeRewriter.java
index 222b431f090..de9427a7e47 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/ir/ExpressionTreeRewriter.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/ir/ExpressionTreeRewriter.java
@@ -27,9 +27,12 @@ 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.CurrentDatabase;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.CurrentUser;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.DataType;
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.FunctionCall;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.GenericDataType;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IfExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.InPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IsNotNullPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IsNullPredicate;
@@ -37,26 +40,23 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.LikePredicate;
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.NotExpression;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.NullIfExpression;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Row;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SearchedCaseExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SimpleCaseExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SymbolReference;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Trim;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.AstVisitor;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.DataType;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.DataTypeParameter;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.DereferenceExpression;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.ExistsPredicate;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.FieldReference;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.GenericDataType;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Identifier;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.IfExpression;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.InListExpression;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.NullIfExpression;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.NumericParameter;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Parameter;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.QuantifiedComparisonExpression;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Row;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.SubqueryExpression;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Trim;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.TypeParameter;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WhenClause;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/ir/GlobalTimePredicateExtractVisitor.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/ir/GlobalTimePredicateExtractVisitor.java
index 4beed6cf23a..b62e49a675a 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/ir/GlobalTimePredicateExtractVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/ir/GlobalTimePredicateExtractVisitor.java
@@ -19,12 +19,14 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.ir;
+import org.apache.iotdb.db.node_commons.plan.expression.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.ComparisonExpression;
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.FunctionCall;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IfExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.InPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IsNotNullPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IsNullPredicate;
@@ -32,13 +34,11 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.LikePredicate;
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.NotExpression;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.NullIfExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SearchedCaseExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SimpleCaseExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SymbolReference;
-import org.apache.iotdb.db.queryengine.plan.expression.UnknownExpressionTypeException;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.AstVisitor;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.IfExpression;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.NullIfExpression;
import org.apache.tsfile.utils.Pair;
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 a566236e072..1dad29f5bee 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
@@ -21,6 +21,7 @@ package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative;
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.relational.planner.iterative.GroupReference;
import org.apache.iotdb.db.queryengine.common.QueryId;
import org.apache.iotdb.db.queryengine.common.SessionInfo;
import org.apache.iotdb.db.queryengine.execution.warnings.WarningCollector;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/Lookup.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/Lookup.java
index b6152baf6b6..cb211b72bf1 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/Lookup.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/Lookup.java
@@ -20,6 +20,7 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
+import org.apache.iotdb.db.node_commons.plan.relational.planner.iterative.GroupReference;
import java.util.function.Function;
import java.util.stream.Stream;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/Memo.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/Memo.java
index e7be1cf151a..c3a88a08835 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/Memo.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/Memo.java
@@ -20,6 +20,7 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
+import org.apache.iotdb.db.node_commons.plan.relational.planner.iterative.GroupReference;
import org.apache.iotdb.db.queryengine.common.QueryId;
import com.google.common.collect.HashMultiset;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/Plans.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/Plans.java
index dd1dbee7cc1..fba90e9318f 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/Plans.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/Plans.java
@@ -20,6 +20,7 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
+import org.apache.iotdb.db.node_commons.plan.relational.planner.iterative.GroupReference;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanVisitor;
import java.util.List;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/CanonicalizeExpressionRewriter.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/CanonicalizeExpressionRewriter.java
index 2cab086c71d..f2504a4b1c6 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/CanonicalizeExpressionRewriter.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/CanonicalizeExpressionRewriter.java
@@ -23,6 +23,7 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.ArithmeticBinary
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.FunctionCall;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IfExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IsNotNullPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IsNullPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.NotExpression;
@@ -34,7 +35,6 @@ import org.apache.iotdb.db.queryengine.plan.relational.planner.IrTypeAnalyzer;
import org.apache.iotdb.db.queryengine.plan.relational.planner.PlannerContext;
import org.apache.iotdb.db.queryengine.plan.relational.planner.ir.ExpressionRewriter;
import org.apache.iotdb.db.queryengine.plan.relational.planner.ir.ExpressionTreeRewriter;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.IfExpression;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WhenClause;
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/EvaluateEmptyIntersect.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/EvaluateEmptyIntersect.java
index 14db0d38cd3..cde237a7b51 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,12 +19,12 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+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.Assignments;
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.IntersectNode;
import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
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 9a37d27aca9..ee3095f9ae0 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,7 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+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;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.Measure;
@@ -27,7 +28,6 @@ import org.apache.iotdb.db.node_commons.plan.relational.planner.node.ProjectNode
import org.apache.iotdb.db.node_commons.plan.relational.planner.rowpattern.rowpattern.ExpressionAndValuePointers;
import org.apache.iotdb.db.node_commons.plan.relational.planner.rowpattern.rowpattern.IrLabel;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.Assignments;
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;
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 fea9848e015..b4d13a34d1b 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
@@ -20,12 +20,12 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
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;
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.WindowNode;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.Assignments;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.OrderingScheme;
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;
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 be890aca5d0..df0e8bf08b0 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.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;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.ProjectNode;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.ArithmeticBinaryExpression;
@@ -28,9 +30,7 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.FunctionCall;
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.Assignments;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.node.ExceptNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.QualifiedName;
import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
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 64eb1cad23a..7aa4d30775e 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,15 +19,15 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+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;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.ProjectNode;
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.GenericLiteral;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.Metadata;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.Assignments;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.node.ExceptNode;
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;
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 18b54f1c9bf..57ac120e8b9 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,15 +20,15 @@
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.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;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.ProjectNode;
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.FunctionCall;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.Metadata;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.Assignments;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.node.IntersectNode;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.QualifiedName;
import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
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 5fb01ec8078..2da41be6c21 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,15 +19,15 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+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;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.ProjectNode;
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.GenericLiteral;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.Metadata;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.Assignments;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.node.IntersectNode;
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;
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 ab6f60c2a28..2ac7db35e45 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
@@ -20,10 +20,10 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
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.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.OrderingScheme;
import org.apache.iotdb.db.queryengine.plan.relational.planner.SortOrder;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
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 02b64418008..d356987b5ae 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
@@ -20,11 +20,11 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
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.Symbol;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.GroupNode;
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.OrderingScheme;
import org.apache.iotdb.db.queryengine.plan.relational.planner.SortOrder;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns;
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 5e9e49372ce..35672ab91b0 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
@@ -20,13 +20,13 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
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.sql.ast.Expression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SymbolReference;
import org.apache.iotdb.db.queryengine.common.SessionInfo;
import org.apache.iotdb.db.queryengine.plan.analyze.TypeProvider;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.Assignments;
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;
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 08fb908e22f..349b6a76bf5 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,10 +19,10 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+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.ExceptNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.node.SetOperationNode;
import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
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 1786909ec99..71dbdb0dbf4 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,10 +19,10 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+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.IntersectNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.Patterns;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.node.SetOperationNode;
import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
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 86357f1113c..97a194e409e 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,9 +19,9 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+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.planner.node.SetOperationNode;
import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneApplyColumns.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneApplyColumns.java
index d5a85b8ed43..58170aa17ba 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneApplyColumns.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneApplyColumns.java
@@ -21,7 +21,7 @@ package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
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.queryengine.plan.relational.planner.node.ApplyNode;
+import org.apache.iotdb.db.node_commons.plan.relational.planner.node.ApplyNode;
import com.google.common.collect.ImmutableMap;
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/PruneApplyCorrelation.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneApplyCorrelation.java
index e5d76127569..f883d1cfc5b 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
@@ -20,8 +20,8 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
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.planner.node.ApplyNode;
import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
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 079fd11ae1d..10edb885f4f 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
@@ -21,8 +21,8 @@ package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
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.planner.node.ApplyNode;
import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
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 ac5bb710dd4..ca530546f4b 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
@@ -21,12 +21,12 @@ package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
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;
+import org.apache.iotdb.db.node_commons.plan.relational.planner.node.IntersectNode;
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.planner.node.ExceptNode;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.node.IntersectNode;
import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
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 269750d37a8..5e482ec8aee 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
@@ -20,8 +20,8 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
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.ExceptNode;
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;
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 2fcda25f33b..517ae1366d6 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
@@ -20,8 +20,8 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
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.IntersectNode;
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;
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 03033298b0f..b62b41dd1d4 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
@@ -20,12 +20,12 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
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.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.Assignments;
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;
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 1de219d3482..98130b3cc15 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
@@ -20,12 +20,12 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
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.ExceptNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.ProjectNode;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.Assignments;
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.ExceptNode;
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;
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 f2adfb9b3b7..7e225161c79 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
@@ -20,10 +20,10 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
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.Assignments;
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;
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 9c563cfd7a7..cf472382402 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,12 +19,12 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+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;
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.Assignments;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.node.ApplyNode;
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;
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 fcecc2c3b82..c8b3c2f1926 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,8 +19,8 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+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.planner.node.ApplyNode;
import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
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 fd0c33f9e42..3843d16a4cf 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,9 +19,9 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.node_commons.plan.relational.function.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.function.BoundSignature;
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;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/SetOperationMerge.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/SetOperationMerge.java
index d2cec89dda7..80e3d78375d 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/SetOperationMerge.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/SetOperationMerge.java
@@ -21,12 +21,12 @@ package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
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.ExceptNode;
+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.node_commons.plan.relational.planner.node.UnionNode;
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.ExceptNode;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.node.IntersectNode;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.node.SetOperationNode;
import com.google.common.collect.ImmutableListMultimap;
import com.google.common.collect.Iterables;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/SetOperationNodeTranslator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/SetOperationNodeTranslator.java
index 502e7c541cd..2b289673950 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/SetOperationNodeTranslator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/SetOperationNodeTranslator.java
@@ -20,30 +20,30 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.BoundSignature;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.FunctionId;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.FunctionKind;
+import org.apache.iotdb.db.node_commons.plan.relational.metadata.ResolvedFunction;
+import org.apache.iotdb.db.node_commons.plan.relational.planner.Assignments;
+import org.apache.iotdb.db.node_commons.plan.relational.planner.DataOrganizationSpecification;
+import org.apache.iotdb.db.node_commons.plan.relational.planner.OrderingScheme;
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.GroupNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.ProjectNode;
+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.node_commons.plan.relational.planner.node.WindowNode;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Cast;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.FrameBound;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.NullLiteral;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.WindowFrame;
import org.apache.iotdb.db.queryengine.common.QueryId;
-import org.apache.iotdb.db.queryengine.plan.relational.function.BoundSignature;
-import org.apache.iotdb.db.queryengine.plan.relational.function.FunctionId;
-import org.apache.iotdb.db.queryengine.plan.relational.function.FunctionKind;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.FunctionNullability;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.Metadata;
-import org.apache.iotdb.db.queryengine.plan.relational.metadata.ResolvedFunction;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.Assignments;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.DataOrganizationSpecification;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.OrderingScheme;
import org.apache.iotdb.db.queryengine.plan.relational.planner.SortOrder;
import org.apache.iotdb.db.queryengine.plan.relational.planner.SymbolAllocator;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.node.SetOperationNode;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.FrameBound;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WindowFrame;
import org.apache.iotdb.db.utils.constant.SqlConstant;
import com.google.common.collect.ImmutableList;
@@ -65,8 +65,8 @@ import static com.google.common.collect.Iterables.concat;
import static java.util.Objects.requireNonNull;
import static org.apache.iotdb.db.node_commons.plan.relational.planner.node.AggregationNode.singleGroupingSet;
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.optimizations.Util.getResolvedBuiltInAggregateFunction;
-import static org.apache.iotdb.db.queryengine.plan.relational.type.TypeSignatureTranslator.toSqlType;
import static org.apache.iotdb.db.utils.constant.SqlConstant.COUNT;
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/SimplifyCountOverConstant.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/SimplifyCountOverConstant.java
index e376f7c4781..ca436210791 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,15 +19,15 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.BoundSignature;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.FunctionId;
+import org.apache.iotdb.db.node_commons.plan.relational.metadata.ResolvedFunction;
+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.AggregationNode;
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.node_commons.plan.relational.sql.ast.SymbolReference;
-import org.apache.iotdb.db.queryengine.plan.relational.function.BoundSignature;
-import org.apache.iotdb.db.queryengine.plan.relational.function.FunctionId;
-import org.apache.iotdb.db.queryengine.plan.relational.metadata.ResolvedFunction;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.Assignments;
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;
@@ -44,7 +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.queryengine.plan.relational.function.FunctionKind.AGGREGATE;
+import static org.apache.iotdb.db.node_commons.plan.relational.function.function.FunctionKind.AGGREGATE;
import static org.apache.iotdb.db.queryengine.plan.relational.metadata.FunctionNullability.getAggregationFunctionNullability;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.IrExpressionInterpreter.evaluateConstantExpression;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.ir.IrUtils.isEffectivelyLiteral;
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 03309984f2c..4f2fc0a1e98 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
@@ -20,12 +20,12 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
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.AggregationNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.AssignUniqueId;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.JoinNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.ProjectNode;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.Assignments;
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.CorrelatedJoinNode;
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 b010a8a7065..1bb25ae9a47 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
@@ -20,13 +20,13 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
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.AggregationNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.AssignUniqueId;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.JoinNode;
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.Assignments;
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.CorrelatedJoinNode;
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 982cb2a873f..750b9fb34d0 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
@@ -20,13 +20,13 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
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.AggregationNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.AssignUniqueId;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.JoinNode;
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.Assignments;
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.CorrelatedJoinNode;
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 339c8c1cc79..702e2e7aaea 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
@@ -20,12 +20,12 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
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.AggregationNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.AssignUniqueId;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.JoinNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.ProjectNode;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.Assignments;
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.CorrelatedJoinNode;
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 24ffe8fe98a..ded0c1dc99a 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
@@ -20,6 +20,7 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
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.AssignUniqueId;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.EnforceSingleRowNode;
@@ -31,7 +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.SimpleCaseExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.StringLiteral;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.Metadata;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.Assignments;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Rule;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.CorrelatedJoinNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.optimizations.Cardinality;
@@ -49,14 +49,14 @@ import static java.util.Objects.requireNonNull;
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.node_commons.plan.relational.type.TypeSignatureTranslator.toSqlType;
+import static org.apache.iotdb.db.node_commons.transformation.dag.column.column.FailFunctionColumnTransformer.FAIL_FUNCTION_NAME;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.PlanNodeSearcher.searchFrom;
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.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.type.TypeSignatureTranslator.toSqlType;
import static org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern.nonEmpty;
-import static org.apache.iotdb.db.node_commons.transformation.dag.column.column.FailFunctionColumnTransformer.FAIL_FUNCTION_NAME;
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 de0b0008010..816f5a97305 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
@@ -20,8 +20,11 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
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;
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.ApplyNode;
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.BooleanLiteral;
@@ -29,11 +32,8 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Cast;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.CoalesceExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.ComparisonExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.LongLiteral;
-import org.apache.iotdb.db.queryengine.plan.relational.metadata.ResolvedFunction;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.Assignments;
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.ApplyNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.CorrelatedJoinNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.optimizations.PlanNodeDecorrelator;
import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
@@ -54,9 +54,9 @@ import static org.apache.iotdb.db.node_commons.plan.relational.planner.node.Join
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.node_commons.plan.relational.sql.ast.ComparisonExpression.Operator.GREATER_THAN;
+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.applyNode;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.optimizations.Util.getResolvedBuiltInAggregateFunction;
-import static org.apache.iotdb.db.queryengine.plan.relational.type.TypeSignatureTranslator.toSqlType;
import static org.apache.tsfile.read.common.type.BooleanType.BOOLEAN;
/**
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 b796a95de2c..7396c03b284 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
@@ -20,13 +20,13 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
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.FilterNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.JoinNode;
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.Assignments;
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;
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 5e7d402bfcc..02bb7450bbd 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
@@ -20,9 +20,9 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
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.planner.node.ApplyNode;
import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
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 c2ab5d05a49..f896c676cb1 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,17 +19,17 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
+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.JoinNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.ProjectNode;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Cast;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
+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.Assignments;
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.CorrelatedJoinNode;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.IfExpression;
import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Captures;
import org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern;
@@ -42,10 +42,10 @@ import java.util.Optional;
import static com.google.common.base.Preconditions.checkState;
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.type.TypeSignatureTranslator.toSqlType;
import static org.apache.iotdb.db.queryengine.plan.relational.utils.matching.Pattern.empty;
public class TransformUncorrelatedSubqueryToJoin implements Rule<CorrelatedJoinNode> {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/Util.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/Util.java
index b36344a4abd..133cd1d8075 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/Util.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/Util.java
@@ -19,14 +19,14 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.rule;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.BoundSignature;
+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.TopKRankingNode;
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.common.QueryId;
-import org.apache.iotdb.db.queryengine.plan.relational.function.BoundSignature;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.Assignments;
import org.apache.iotdb.db.queryengine.plan.relational.planner.SymbolsExtractor;
import com.google.common.collect.ImmutableList;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/AggregationTableScanNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/AggregationTableScanNode.java
index 4420fd7355e..6c7d0df5157 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/AggregationTableScanNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/AggregationTableScanNode.java
@@ -22,6 +22,9 @@ package org.apache.iotdb.db.queryengine.plan.relational.planner.node;
import org.apache.iotdb.commons.schema.table.column.TsTableColumnCategory;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.IPlanVisitor;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNodeId;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.BoundSignature;
+import org.apache.iotdb.db.node_commons.plan.relational.metadata.ResolvedFunction;
+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.AggregationNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.ProjectNode;
@@ -29,12 +32,9 @@ 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.planner.plan.node.PlanNodeType;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanVisitor;
-import org.apache.iotdb.db.queryengine.plan.relational.function.BoundSignature;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.ColumnSchema;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.DeviceEntry;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.QualifiedObjectName;
-import org.apache.iotdb.db.queryengine.plan.relational.metadata.ResolvedFunction;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.Assignments;
import org.apache.iotdb.db.queryengine.plan.statement.component.Ordering;
import com.google.common.collect.ImmutableList;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/AggregationTreeDeviceViewScanNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/AggregationTreeDeviceViewScanNode.java
index d63e8930a2c..6395498b281 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/AggregationTreeDeviceViewScanNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/AggregationTreeDeviceViewScanNode.java
@@ -21,6 +21,7 @@ package org.apache.iotdb.db.queryengine.plan.relational.planner.node;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.IPlanVisitor;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNodeId;
+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.AggregationNode;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
@@ -29,7 +30,6 @@ import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanVisitor;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.ColumnSchema;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.DeviceEntry;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.QualifiedObjectName;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.Assignments;
import org.apache.iotdb.db.queryengine.plan.statement.component.Ordering;
import org.apache.tsfile.utils.ReadWriteIOUtils;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/AlignedAggregationTreeDeviceViewScanNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/AlignedAggregationTreeDeviceViewScanNode.java
index cf0a8a61bb7..58e400df82a 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/AlignedAggregationTreeDeviceViewScanNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/AlignedAggregationTreeDeviceViewScanNode.java
@@ -21,6 +21,7 @@ package org.apache.iotdb.db.queryengine.plan.relational.planner.node;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.IPlanVisitor;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNodeId;
+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.AggregationNode;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
@@ -29,7 +30,6 @@ import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanVisitor;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.ColumnSchema;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.DeviceEntry;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.QualifiedObjectName;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.Assignments;
import org.apache.iotdb.db.queryengine.plan.statement.component.Ordering;
import java.nio.ByteBuffer;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/CorrelatedJoinNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/CorrelatedJoinNode.java
index 919adeac92e..f1644744e50 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/CorrelatedJoinNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/CorrelatedJoinNode.java
@@ -22,13 +22,13 @@ package org.apache.iotdb.db.queryengine.plan.relational.planner.node;
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.planner.node.JoinNode;
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.NullLiteral;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanVisitor;
-import org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.TwoChildProcessNode;
import com.google.common.collect.ImmutableList;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/CteScanNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/CteScanNode.java
index 096a4e19e14..202344a504f 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/CteScanNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/CteScanNode.java
@@ -25,10 +25,10 @@ import org.apache.iotdb.common.rpc.thrift.TRegionReplicaSet;
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.source.SourceNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.queryengine.common.DataNodeEndPoints;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanVisitor;
-import org.apache.iotdb.db.queryengine.plan.planner.plan.node.source.SourceNode;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.QualifiedName;
import org.apache.iotdb.db.utils.cte.CteDataStore;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/NonAlignedAggregationTreeDeviceViewScanNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/NonAlignedAggregationTreeDeviceViewScanNode.java
index 4cbc0398f73..5856c3c1885 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/NonAlignedAggregationTreeDeviceViewScanNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/NonAlignedAggregationTreeDeviceViewScanNode.java
@@ -21,6 +21,7 @@ package org.apache.iotdb.db.queryengine.plan.relational.planner.node;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.IPlanVisitor;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNodeId;
+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.AggregationNode;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
@@ -29,7 +30,6 @@ import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanVisitor;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.ColumnSchema;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.DeviceEntry;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.QualifiedObjectName;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.Assignments;
import org.apache.iotdb.db.queryengine.plan.statement.component.Ordering;
import java.nio.ByteBuffer;
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 3573ddff90a..a5fa5cd8bd1 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
@@ -22,12 +22,15 @@ package org.apache.iotdb.db.queryengine.plan.relational.planner.node;
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.ApplyNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.AssignUniqueId;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.EnforceSingleRowNode;
+import org.apache.iotdb.db.node_commons.plan.relational.planner.node.ExceptNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.FillNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.FilterNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.GapFillNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.GroupNode;
+import org.apache.iotdb.db.node_commons.plan.relational.planner.node.IntersectNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.JoinNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.LimitNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.MarkDistinctNode;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/TableScanNode.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/TableScanNode.java
index 81fb9933e35..f3a906d9625 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/TableScanNode.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/TableScanNode.java
@@ -24,11 +24,11 @@ import org.apache.iotdb.commons.schema.table.column.TsTableColumnCategory;
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.source.SourceNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
import org.apache.iotdb.db.queryengine.common.SessionInfo;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanVisitor;
-import org.apache.iotdb.db.queryengine.plan.planner.plan.node.source.SourceNode;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.ColumnSchema;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.Metadata;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.QualifiedObjectName;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/CheckSubqueryNodesAreRewritten.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/CheckSubqueryNodesAreRewritten.java
index 19bc7c5886a..676100e4661 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/CheckSubqueryNodesAreRewritten.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/CheckSubqueryNodesAreRewritten.java
@@ -22,7 +22,7 @@ package org.apache.iotdb.db.queryengine.plan.relational.planner.optimizations;
import org.apache.iotdb.db.exception.sql.SemanticException;
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.queryengine.plan.relational.planner.node.ApplyNode;
+import org.apache.iotdb.db.node_commons.plan.relational.planner.node.ApplyNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.CorrelatedJoinNode;
import java.util.List;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/ParallelizeGrouping.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/ParallelizeGrouping.java
index e72b54eef1f..59b330d98c6 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/ParallelizeGrouping.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/ParallelizeGrouping.java
@@ -20,6 +20,8 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.optimizations;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
+import org.apache.iotdb.db.node_commons.plan.relational.planner.DataOrganizationSpecification;
+import org.apache.iotdb.db.node_commons.plan.relational.planner.OrderingScheme;
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.GroupNode;
@@ -33,8 +35,6 @@ import org.apache.iotdb.db.node_commons.plan.relational.planner.node.TopKNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanVisitor;
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.planner.DataOrganizationSpecification;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.OrderingScheme;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.AggregationTableScanNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.CorrelatedJoinNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.DeviceTableScanNode;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/PlanNodeDecorrelator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/PlanNodeDecorrelator.java
index 04efdd6d727..fe1bb93d8a4 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/PlanNodeDecorrelator.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/PlanNodeDecorrelator.java
@@ -22,7 +22,9 @@ package org.apache.iotdb.db.queryengine.plan.relational.planner.optimizations;
import org.apache.iotdb.db.exception.sql.SemanticException;
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.relational.planner.Assignments;
import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
+import org.apache.iotdb.db.node_commons.plan.relational.planner.iterative.GroupReference;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.AggregationNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.FilterNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.LimitNode;
@@ -33,11 +35,9 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.ComparisonExpres
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.planner.plan.node.PlanVisitor;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.Assignments;
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.SymbolsExtractor;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.GroupReference;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Lookup;
import org.apache.iotdb.db.queryengine.plan.relational.type.TypeCoercion;
import org.apache.iotdb.db.queryengine.plan.relational.type.TypeManager;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/PushLimitOffsetIntoTableScan.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/PushLimitOffsetIntoTableScan.java
index f6f3ec0d863..edff2481a96 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/PushLimitOffsetIntoTableScan.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/PushLimitOffsetIntoTableScan.java
@@ -22,6 +22,7 @@ package org.apache.iotdb.db.queryengine.plan.relational.planner.optimizations;
import org.apache.iotdb.commons.schema.table.InformationSchema;
import org.apache.iotdb.commons.schema.table.column.TsTableColumnCategory;
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.Symbol;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.AggregationNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.FilterNode;
@@ -40,7 +41,6 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Expression;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanVisitor;
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.planner.OrderingScheme;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.CteScanNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.DeviceTableScanNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.InformationSchemaTableScanNode;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/PushPredicateIntoTableScan.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/PushPredicateIntoTableScan.java
index a40f669a18d..0cf9b912965 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/PushPredicateIntoTableScan.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/PushPredicateIntoTableScan.java
@@ -27,6 +27,8 @@ import org.apache.iotdb.db.conf.IoTDBConfig;
import org.apache.iotdb.db.conf.IoTDBDescriptor;
import org.apache.iotdb.db.exception.sql.SemanticException;
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;
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.AssignUniqueId;
@@ -59,11 +61,9 @@ import org.apache.iotdb.db.queryengine.plan.relational.metadata.ColumnSchema;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.DeviceEntry;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.Metadata;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.NonAlignedDeviceEntry;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.Assignments;
import org.apache.iotdb.db.queryengine.plan.relational.planner.EqualityInference;
import org.apache.iotdb.db.queryengine.plan.relational.planner.IrExpressionInterpreter;
import org.apache.iotdb.db.queryengine.plan.relational.planner.IrTypeAnalyzer;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.OrderingScheme;
import org.apache.iotdb.db.queryengine.plan.relational.planner.PlannerContext;
import org.apache.iotdb.db.queryengine.plan.relational.planner.SortOrder;
import org.apache.iotdb.db.queryengine.plan.relational.planner.SymbolAllocator;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/QueryCardinalityUtil.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/QueryCardinalityUtil.java
index 9025d5ecc53..9c90ee5a410 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/QueryCardinalityUtil.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/QueryCardinalityUtil.java
@@ -20,6 +20,7 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.optimizations;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
+import org.apache.iotdb.db.node_commons.plan.relational.planner.iterative.GroupReference;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.AggregationNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.EnforceSingleRowNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.FilterNode;
@@ -29,7 +30,6 @@ 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.planner.plan.node.PlanVisitor;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.ExchangeNode;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.GroupReference;
import org.apache.iotdb.db.queryengine.plan.relational.planner.iterative.Lookup;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.AggregationTableScanNode;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/SortElimination.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/SortElimination.java
index 2f4f220b4bf..f7bd319a9e6 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/SortElimination.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/SortElimination.java
@@ -20,6 +20,7 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.optimizations;
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.Symbol;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.FillNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.GapFillNode;
@@ -29,7 +30,6 @@ import org.apache.iotdb.db.node_commons.plan.relational.planner.node.StreamSortN
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.ValueFillNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.WindowNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanVisitor;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.OrderingScheme;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.DeviceTableScanNode;
import java.util.Collections;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/SymbolMapper.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/SymbolMapper.java
index 826f8ad63dd..f8afb1dfb30 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/SymbolMapper.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/SymbolMapper.java
@@ -21,8 +21,11 @@ package org.apache.iotdb.db.queryengine.plan.relational.planner.optimizations;
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.relational.planner.DataOrganizationSpecification;
+import org.apache.iotdb.db.node_commons.plan.relational.planner.OrderingScheme;
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.ApplyNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.LimitNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.Measure;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.PatternRecognitionNode;
@@ -39,13 +42,10 @@ import org.apache.iotdb.db.node_commons.plan.relational.planner.rowpattern.rowpa
import org.apache.iotdb.db.node_commons.plan.relational.planner.rowpattern.rowpattern.ValuePointer;
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.DataOrganizationSpecification;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.OrderingScheme;
import org.apache.iotdb.db.queryengine.plan.relational.planner.SortOrder;
import org.apache.iotdb.db.queryengine.plan.relational.planner.SymbolAllocator;
import org.apache.iotdb.db.queryengine.plan.relational.planner.ir.ExpressionRewriter;
import org.apache.iotdb.db.queryengine.plan.relational.planner.ir.ExpressionTreeRewriter;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.node.ApplyNode;
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/optimizations/TransformAggregationToStreamable.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/TransformAggregationToStreamable.java
index bf1f36b59af..1cc2aa3f0df 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/TransformAggregationToStreamable.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/TransformAggregationToStreamable.java
@@ -20,6 +20,8 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.optimizations;
import org.apache.iotdb.db.node_commons.plan.planner.plan.node.PlanNode;
+import org.apache.iotdb.db.node_commons.plan.relational.planner.DataOrganizationSpecification;
+import org.apache.iotdb.db.node_commons.plan.relational.planner.OrderingScheme;
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.FillNode;
@@ -31,8 +33,6 @@ import org.apache.iotdb.db.node_commons.plan.relational.planner.node.UnionNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.ValueFillNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanVisitor;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.ColumnSchema;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.DataOrganizationSpecification;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.OrderingScheme;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.AggregationTableScanNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.DeviceTableScanNode;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/TransformQuantifiedComparisonApplyToCorrelatedJoin.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/TransformQuantifiedComparisonApplyToCorrelatedJoin.java
index abeb762e3a7..c96dfd56e8e 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/TransformQuantifiedComparisonApplyToCorrelatedJoin.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/TransformQuantifiedComparisonApplyToCorrelatedJoin.java
@@ -20,8 +20,11 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.optimizations;
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;
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.ApplyNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.JoinNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.ProjectNode;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.BooleanLiteral;
@@ -34,12 +37,9 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SearchedCaseExpr
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SimpleCaseExpression;
import org.apache.iotdb.db.queryengine.common.QueryId;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.Metadata;
-import org.apache.iotdb.db.queryengine.plan.relational.metadata.ResolvedFunction;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.Assignments;
import org.apache.iotdb.db.queryengine.plan.relational.planner.SimplePlanRewriter;
import org.apache.iotdb.db.queryengine.plan.relational.planner.SymbolAllocator;
import org.apache.iotdb.db.queryengine.plan.relational.planner.ir.IrUtils;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.node.ApplyNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.CorrelatedJoinNode;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WhenClause;
@@ -58,6 +58,7 @@ import static com.google.common.collect.Iterables.getOnlyElement;
import static java.util.Objects.requireNonNull;
import static org.apache.iotdb.db.node_commons.plan.relational.planner.node.AggregationNode.globalAggregation;
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.ApplyNode.Quantifier.ALL;
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;
import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.ComparisonExpression.Operator.EQUAL;
@@ -66,10 +67,9 @@ import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Compariso
import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.ComparisonExpression.Operator.LESS_THAN;
import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.ComparisonExpression.Operator.LESS_THAN_OR_EQUAL;
import static org.apache.iotdb.db.node_commons.plan.relational.sql.ast.ComparisonExpression.Operator.NOT_EQUAL;
+import static org.apache.iotdb.db.node_commons.plan.relational.type.TypeSignatureTranslator.toSqlType;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.SimplePlanRewriter.rewriteWith;
import static org.apache.iotdb.db.queryengine.plan.relational.planner.ir.IrUtils.combineConjuncts;
-import static org.apache.iotdb.db.queryengine.plan.relational.planner.node.ApplyNode.Quantifier.ALL;
-import static org.apache.iotdb.db.queryengine.plan.relational.type.TypeSignatureTranslator.toSqlType;
import static org.apache.tsfile.read.common.type.BooleanType.BOOLEAN;
public class TransformQuantifiedComparisonApplyToCorrelatedJoin implements PlanOptimizer {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/TransformSortToStreamSort.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/TransformSortToStreamSort.java
index e322004707b..9604c0a20e5 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/TransformSortToStreamSort.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/TransformSortToStreamSort.java
@@ -21,6 +21,7 @@ package org.apache.iotdb.db.queryengine.plan.relational.planner.optimizations;
import org.apache.iotdb.commons.schema.table.column.TsTableColumnCategory;
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.Symbol;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.AggregationNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.GroupNode;
@@ -31,7 +32,6 @@ import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanVisitor;
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.planner.OrderingScheme;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.AggregationTableScanNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.CteScanNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.DeviceTableScanNode;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/UnaliasSymbolReferences.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/UnaliasSymbolReferences.java
index 199f3837506..a622b014c7a 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/UnaliasSymbolReferences.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/UnaliasSymbolReferences.java
@@ -20,13 +20,19 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.optimizations;
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.DataOrganizationSpecification;
+import org.apache.iotdb.db.node_commons.plan.relational.planner.OrderingScheme;
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.ApplyNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.AssignUniqueId;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.EnforceSingleRowNode;
+import org.apache.iotdb.db.node_commons.plan.relational.planner.node.ExceptNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.FilterNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.GapFillNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.GroupNode;
+import org.apache.iotdb.db.node_commons.plan.relational.planner.node.IntersectNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.JoinNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.LimitNode;
import org.apache.iotdb.db.node_commons.plan.relational.planner.node.LinearFillNode;
@@ -52,21 +58,15 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SymbolReference;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanVisitor;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.ColumnSchema;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.Metadata;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.Assignments;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.DataOrganizationSpecification;
import org.apache.iotdb.db.queryengine.plan.relational.planner.NodeAndMappings;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.OrderingScheme;
import org.apache.iotdb.db.queryengine.plan.relational.planner.SymbolAllocator;
import org.apache.iotdb.db.queryengine.plan.relational.planner.ir.DeterminismEvaluator;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.node.ApplyNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.CopyToNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.CorrelatedJoinNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.CteScanNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.DeviceTableScanNode;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.node.ExceptNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.ExplainAnalyzeNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.InformationSchemaTableScanNode;
-import org.apache.iotdb.db.queryengine.plan.relational.planner.node.IntersectNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.IntoNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.TreeDeviceViewScanNode;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/Util.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/Util.java
index 58d4bd8e0af..4896179d47b 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/Util.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/Util.java
@@ -20,15 +20,15 @@
package org.apache.iotdb.db.queryengine.plan.relational.planner.optimizations;
import org.apache.iotdb.commons.udf.builtin.relational.TableBuiltinAggregationFunction;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.BoundSignature;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.FunctionId;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.FunctionKind;
+import org.apache.iotdb.db.node_commons.plan.relational.metadata.ResolvedFunction;
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.common.QueryId;
-import org.apache.iotdb.db.queryengine.plan.relational.function.BoundSignature;
-import org.apache.iotdb.db.queryengine.plan.relational.function.FunctionId;
-import org.apache.iotdb.db.queryengine.plan.relational.function.FunctionKind;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.FunctionNullability;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.Metadata;
-import org.apache.iotdb.db.queryengine.plan.relational.metadata.ResolvedFunction;
import org.apache.iotdb.db.queryengine.plan.relational.planner.SymbolAllocator;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.AggregationTableScanNode;
import org.apache.iotdb.db.queryengine.plan.relational.planner.node.AggregationTreeDeviceViewScanNode;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/AlterColumnDataType.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/AlterColumnDataType.java
index 742b3ba71a1..dd11d60a5c0 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/AlterColumnDataType.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/AlterColumnDataType.java
@@ -19,6 +19,7 @@
package org.apache.iotdb.db.queryengine.plan.relational.sql.ast;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.DataType;
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;
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 50694d4b687..7c780556ffd 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
@@ -144,18 +144,6 @@ public abstract class AstVisitor<R, C> extends CommonQueryAstVisitor<R, C> {
return visitExpression(node, context);
}
- protected R visitTrim(Trim node, C context) {
- return visitExpression(node, context);
- }
-
- protected R visitIfExpression(IfExpression node, C context) {
- return visitExpression(node, context);
- }
-
- protected R visitNullIfExpression(NullIfExpression node, C context) {
- return visitExpression(node, context);
- }
-
protected R visitWindowDefinition(WindowDefinition node, C context) {
return visitNode(node, context);
}
@@ -168,14 +156,6 @@ public abstract class AstVisitor<R, C> extends CommonQueryAstVisitor<R, C> {
return visitNode(node, context);
}
- protected R visitWindowFrame(WindowFrame node, C context) {
- return visitNode(node, context);
- }
-
- protected R visitFrameBound(FrameBound node, C context) {
- return visitNode(node, context);
- }
-
protected R visitSelectItem(SelectItem node, C context) {
return visitNode(node, context);
}
@@ -208,10 +188,6 @@ public abstract class AstVisitor<R, C> extends CommonQueryAstVisitor<R, C> {
return visitQueryBody(node, context);
}
- protected R visitRow(Row node, C context) {
- return visitExpression(node, context);
- }
-
protected R visitTableSubquery(TableSubquery node, C context) {
return visitQueryBody(node, context);
}
@@ -440,14 +416,6 @@ public abstract class AstVisitor<R, C> extends CommonQueryAstVisitor<R, C> {
return visitExpression(node, context);
}
- protected R visitDataType(DataType node, C context) {
- return visitExpression(node, context);
- }
-
- protected R visitGenericDataType(GenericDataType node, C context) {
- return visitDataType(node, context);
- }
-
protected R visitDataTypeParameter(DataTypeParameter 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/ColumnDefinition.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ColumnDefinition.java
index 327185b7177..25da5affc1c 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ColumnDefinition.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ColumnDefinition.java
@@ -20,6 +20,8 @@
package org.apache.iotdb.db.queryengine.plan.relational.sql.ast;
import org.apache.iotdb.commons.schema.table.column.TsTableColumnCategory;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.DataType;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.GenericDataType;
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;
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 28a51ad93f3..c52addca99d 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
@@ -28,6 +28,7 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.ComparisonExpres
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.FunctionCall;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IfExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.InPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IsNotNullPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IsNullPredicate;
@@ -35,8 +36,11 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.LikePredicate;
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.Row;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SearchedCaseExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SimpleCaseExpression;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Trim;
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/DeleteDevice.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/DeleteDevice.java
index 725ef7e07cc..5befa0987a0 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/DeleteDevice.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/DeleteDevice.java
@@ -28,6 +28,8 @@ import org.apache.iotdb.db.node_commons.plan.relational.planner.Symbol;
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.NodeLocation;
+import org.apache.iotdb.db.node_commons.transformation.dag.column.column.ColumnTransformer;
+import org.apache.iotdb.db.node_commons.transformation.dag.column.column.leaf.LeafColumnTransformer;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
import org.apache.iotdb.db.queryengine.common.SessionInfo;
import org.apache.iotdb.db.queryengine.execution.operator.schema.source.DeviceBlackListConstructor;
@@ -39,8 +41,6 @@ import org.apache.iotdb.db.queryengine.plan.planner.LocalExecutionPlanner;
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.InputLocation;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.DeviceEntry;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.Metadata;
-import org.apache.iotdb.db.node_commons.transformation.dag.column.column.ColumnTransformer;
-import org.apache.iotdb.db.node_commons.transformation.dag.column.column.leaf.LeafColumnTransformer;
import org.apache.iotdb.db.schemaengine.rescon.MemSchemaRegionStatistics;
import org.apache.iotdb.db.schemaengine.table.DataNodeTableCache;
import org.apache.iotdb.db.storageengine.dataregion.modification.ModEntry;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/TypeParameter.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/TypeParameter.java
index 1aa2b27afe3..9425b593145 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/TypeParameter.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/TypeParameter.java
@@ -19,6 +19,7 @@
package org.apache.iotdb.db.queryengine.plan.relational.sql.ast;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.DataType;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IAstVisitor;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Node;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ViewFieldDefinition.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ViewFieldDefinition.java
index ad88124cd50..b1397805be8 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ViewFieldDefinition.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ViewFieldDefinition.java
@@ -20,6 +20,8 @@
package org.apache.iotdb.db.queryengine.plan.relational.sql.ast;
import org.apache.iotdb.commons.schema.table.column.TsTableColumnCategory;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.DataType;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.GenericDataType;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IAstVisitor;
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/sql/ast/WindowSpecification.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/WindowSpecification.java
index 93c26d5c8a5..1faace4322a 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/WindowSpecification.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/WindowSpecification.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.WindowFrame;
import com.google.common.collect.ImmutableList;
import org.apache.tsfile.utils.RamUsageEstimator;
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 b354befae61..e56350cd4f8 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
@@ -45,10 +45,14 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.ComparisonExpres
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.CurrentDatabase;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.CurrentTime;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.CurrentUser;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.DataType;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.DoubleLiteral;
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.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;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IfExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.InPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IsNotNullPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IsNullPredicate;
@@ -59,11 +63,15 @@ 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.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.Row;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SearchedCaseExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SimpleCaseExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.StringLiteral;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.TableExpressionType;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Trim;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.WindowFrame;
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;
@@ -91,7 +99,6 @@ import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.CreateTable;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.CreateTopic;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.CreateTraining;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.CreateView;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.DataType;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.DataTypeParameter;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Deallocate;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Delete;
@@ -119,13 +126,10 @@ 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.FrameBound;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.GenericDataType;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.GroupBy;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.GroupingElement;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.GroupingSets;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Identifier;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.IfExpression;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.InListExpression;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Insert;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.InsertRows;
@@ -142,7 +146,6 @@ 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.NullIfExpression;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.NumericParameter;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Offset;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.OneOrMoreQuantifier;
@@ -174,7 +177,6 @@ import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.RemoveDataNode;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.RemoveRegion;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.RenameColumn;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.RenameTable;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Row;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.RowPattern;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Select;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.SelectItem;
@@ -229,7 +231,6 @@ import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.TableFunctionArgu
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.TableFunctionInvocation;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.TableFunctionTableArgument;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.TableSubquery;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Trim;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.TypeParameter;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Union;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.UnloadModel;
@@ -242,7 +243,6 @@ import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.ViewFieldDefiniti
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WhenClause;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Window;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WindowDefinition;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WindowFrame;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WindowReference;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WindowSpecification;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.With;
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 bb549f926c1..55460da064d 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
@@ -20,11 +20,11 @@
package org.apache.iotdb.db.queryengine.plan.relational.sql.parser;
import org.apache.iotdb.commons.service.metric.PerformanceOverviewMetrics;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.DataType;
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.protocol.session.IClientSession;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.DataType;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Statement;
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/ExpressionFormatter.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/util/ExpressionFormatter.java
index be4e0191bed..9ab89c65663 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/util/ExpressionFormatter.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/util/ExpressionFormatter.java
@@ -35,8 +35,11 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.DoubleLiteral;
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.FloatLiteral;
+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;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.GenericLiteral;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IfExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.InPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IsNotNullPredicate;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.IsNullPredicate;
@@ -46,11 +49,15 @@ import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.LogicalExpressio
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.NullLiteral;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Row;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SearchedCaseExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SimpleCaseExpression;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.StringLiteral;
import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.SymbolReference;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.Trim;
+import org.apache.iotdb.db.node_commons.plan.relational.sql.ast.WindowFrame;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.AllColumns;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.AllRows;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.AstVisitor;
@@ -58,28 +65,21 @@ import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Columns;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.DereferenceExpression;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.ExistsPredicate;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.FieldReference;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.FrameBound;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.GenericDataType;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.GroupingElement;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.GroupingSets;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Identifier;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.IfExpression;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.InListExpression;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.NullIfExpression;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.NumericParameter;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.OrderBy;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Parameter;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.QualifiedName;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.QuantifiedComparisonExpression;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Row;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.SimpleGroupBy;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.SortItem;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.SubqueryExpression;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Trim;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.TypeParameter;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WhenClause;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Window;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WindowFrame;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WindowReference;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WindowSpecification;
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 efa209cc607..28529fe7017 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
@@ -21,6 +21,7 @@ package org.apache.iotdb.db.queryengine.plan.relational.sql.util;
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.Row;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.AddColumn;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.AliasedRelation;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.AllColumns;
@@ -70,7 +71,6 @@ import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Relation;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.RelationalAuthorStatement;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.RenameColumn;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.RenameTable;
-import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Row;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.RowPattern;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Select;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.SelectItem;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/component/GroupByComponent.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/component/GroupByComponent.java
index ec45a90a4b8..8f4620d64c7 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/component/GroupByComponent.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/component/GroupByComponent.java
@@ -19,9 +19,9 @@
package org.apache.iotdb.db.queryengine.plan.statement.component;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
import org.apache.iotdb.db.queryengine.execution.operator.window.WindowType;
import org.apache.iotdb.db.queryengine.plan.analyze.ExpressionAnalyzer;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
import org.apache.iotdb.db.queryengine.plan.statement.StatementNode;
public abstract class GroupByComponent extends StatementNode {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/component/GroupByConditionComponent.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/component/GroupByConditionComponent.java
index 2e54f2b4a0d..9d1e5f27fe2 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/component/GroupByConditionComponent.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/component/GroupByConditionComponent.java
@@ -19,8 +19,8 @@
package org.apache.iotdb.db.queryengine.plan.statement.component;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
import org.apache.iotdb.db.queryengine.execution.operator.window.WindowType;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
public class GroupByConditionComponent extends GroupByComponent {
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/component/HavingCondition.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/component/HavingCondition.java
index 34d7d272c63..5b8b6360337 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/component/HavingCondition.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/component/HavingCondition.java
@@ -19,8 +19,8 @@
package org.apache.iotdb.db.queryengine.plan.statement.component;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
import org.apache.iotdb.db.queryengine.plan.analyze.ExpressionAnalyzer;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
import org.apache.iotdb.db.queryengine.plan.statement.StatementNode;
/** This class maintains information of {@code HAVING} clause. */
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/component/IntoComponent.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/component/IntoComponent.java
index 00bd6f01b0a..69aacd46905 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/component/IntoComponent.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/component/IntoComponent.java
@@ -21,7 +21,7 @@ package org.apache.iotdb.db.queryengine.plan.statement.component;
import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.db.exception.sql.SemanticException;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
import org.apache.iotdb.db.queryengine.plan.statement.StatementNode;
import java.util.List;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/component/OrderByComponent.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/component/OrderByComponent.java
index 236a939dc9a..2e54f223469 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/component/OrderByComponent.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/component/OrderByComponent.java
@@ -19,8 +19,8 @@
package org.apache.iotdb.db.queryengine.plan.statement.component;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
import org.apache.iotdb.db.queryengine.plan.analyze.ExpressionAnalyzer;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
import org.apache.iotdb.db.queryengine.plan.statement.StatementNode;
import java.util.ArrayList;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/component/ResultColumn.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/component/ResultColumn.java
index f9739133081..6e9436c6c2b 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/component/ResultColumn.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/component/ResultColumn.java
@@ -19,7 +19,7 @@
package org.apache.iotdb.db.queryengine.plan.statement.component;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
import org.apache.iotdb.db.queryengine.plan.statement.StatementNode;
import java.util.Objects;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/component/SelectComponent.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/component/SelectComponent.java
index 1bf41bd8abf..5539cf79b9f 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/component/SelectComponent.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/component/SelectComponent.java
@@ -19,7 +19,7 @@
package org.apache.iotdb.db.queryengine.plan.statement.component;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
import org.apache.iotdb.db.queryengine.plan.statement.StatementNode;
import java.util.ArrayList;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/component/SortItem.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/component/SortItem.java
index 6d6bb4ef30a..9fe3f346369 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/component/SortItem.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/component/SortItem.java
@@ -19,7 +19,7 @@
package org.apache.iotdb.db.queryengine.plan.statement.component;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
import org.apache.tsfile.utils.ReadWriteIOUtils;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/component/WhereCondition.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/component/WhereCondition.java
index 7352c1e96fc..d97032d2c06 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/component/WhereCondition.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/component/WhereCondition.java
@@ -19,8 +19,8 @@
package org.apache.iotdb.db.queryengine.plan.statement.component;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
import org.apache.iotdb.db.queryengine.plan.analyze.ExpressionAnalyzer;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
import org.apache.iotdb.db.queryengine.plan.statement.StatementNode;
/** This class maintains information of {@code WHERE} clause. */
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/crud/InsertBaseStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/crud/InsertBaseStatement.java
index d8786e33959..b0e83a5eb71 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/crud/InsertBaseStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/crud/InsertBaseStatement.java
@@ -28,12 +28,12 @@ import org.apache.iotdb.db.exception.metadata.DuplicateInsertException;
import org.apache.iotdb.db.exception.metadata.PathNotExistException;
import org.apache.iotdb.db.exception.query.QueryProcessException;
import org.apache.iotdb.db.exception.sql.SemanticException;
+import org.apache.iotdb.db.node_commons.plan.relational.type.InternalTypeManager;
import org.apache.iotdb.db.pipe.resource.memory.InsertNodeMemoryEstimator;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
import org.apache.iotdb.db.queryengine.plan.analyze.schema.ISchemaValidation;
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.InputLocation;
import org.apache.iotdb.db.queryengine.plan.relational.metadata.ColumnSchema;
-import org.apache.iotdb.db.queryengine.plan.relational.type.InternalTypeManager;
import org.apache.iotdb.db.queryengine.plan.statement.Statement;
import org.apache.iotdb.db.schemaengine.schemaregion.attribute.update.UpdateDetailContainer;
import org.apache.iotdb.db.utils.CommonUtils;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/crud/InsertTabletStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/crud/InsertTabletStatement.java
index 12369d81bfd..4315f84338e 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/crud/InsertTabletStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/crud/InsertTabletStatement.java
@@ -29,6 +29,7 @@ import org.apache.iotdb.commons.utils.TimePartitionUtils;
import org.apache.iotdb.db.exception.metadata.DataTypeMismatchException;
import org.apache.iotdb.db.exception.metadata.PathNotExistException;
import org.apache.iotdb.db.exception.sql.SemanticException;
+import org.apache.iotdb.db.node_commons.plan.relational.type.InternalTypeManager;
import org.apache.iotdb.db.pipe.resource.memory.InsertNodeMemoryEstimator;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
import org.apache.iotdb.db.queryengine.common.schematree.IMeasurementSchemaInfo;
@@ -39,7 +40,6 @@ import org.apache.iotdb.db.queryengine.plan.planner.plan.node.write.RelationalIn
import org.apache.iotdb.db.queryengine.plan.relational.metadata.ColumnSchema;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.InsertTablet;
import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.Statement;
-import org.apache.iotdb.db.queryengine.plan.relational.type.InternalTypeManager;
import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
import org.apache.iotdb.db.utils.CommonUtils;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/crud/QueryStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/crud/QueryStatement.java
index d966903abd3..554ae1b273f 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/crud/QueryStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/crud/QueryStatement.java
@@ -21,13 +21,13 @@ package org.apache.iotdb.db.queryengine.plan.statement.crud;
import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.db.exception.sql.SemanticException;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.multi.FunctionExpression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.CountTimeAggregationAmountVisitor;
import org.apache.iotdb.db.queryengine.execution.operator.window.WindowType;
import org.apache.iotdb.db.queryengine.execution.operator.window.ainode.InferenceWindow;
import org.apache.iotdb.db.queryengine.plan.analyze.ExpressionAnalyzer;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
-import org.apache.iotdb.db.queryengine.plan.expression.visitor.CountTimeAggregationAmountVisitor;
import org.apache.iotdb.db.queryengine.plan.statement.AuthorityInformationStatement;
import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
import org.apache.iotdb.db.queryengine.plan.statement.StatementVisitor;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/view/AlterLogicalViewStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/view/AlterLogicalViewStatement.java
index 8bca6b8f5d1..2f44a61e983 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/view/AlterLogicalViewStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/view/AlterLogicalViewStatement.java
@@ -20,8 +20,8 @@
package org.apache.iotdb.db.queryengine.plan.statement.metadata.view;
import org.apache.iotdb.commons.path.PartialPath;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
import org.apache.iotdb.db.queryengine.plan.statement.IConfigStatement;
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/plan/statement/metadata/view/CreateLogicalViewStatement.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/view/CreateLogicalViewStatement.java
index e1a122b0816..0fce97ee402 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/view/CreateLogicalViewStatement.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/view/CreateLogicalViewStatement.java
@@ -23,9 +23,9 @@ import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.commons.schema.view.viewExpression.ViewExpression;
import org.apache.iotdb.db.exception.metadata.view.UnsupportedViewException;
import org.apache.iotdb.db.exception.sql.SemanticException;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.leaf.TimeSeriesOperand;
import org.apache.iotdb.db.queryengine.plan.analyze.SelectIntoUtils;
-import org.apache.iotdb.db.queryengine.plan.expression.Expression;
-import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
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.StatementVisitor;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/udf/UDFManagementService.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/udf/UDFManagementService.java
index 14acfa529e3..0f5814bc25a 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/udf/UDFManagementService.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/udf/UDFManagementService.java
@@ -29,7 +29,7 @@ import org.apache.iotdb.commons.udf.service.UDFClassLoader;
import org.apache.iotdb.commons.udf.service.UDFClassLoaderManager;
import org.apache.iotdb.commons.udf.service.UDFExecutableManager;
import org.apache.iotdb.commons.utils.TestOnly;
-import org.apache.iotdb.db.queryengine.plan.relational.function.TableBuiltinTableFunction;
+import org.apache.iotdb.db.node_commons.plan.relational.function.function.TableBuiltinTableFunction;
import org.apache.iotdb.udf.api.UDF;
import org.apache.iotdb.udf.api.exception.UDFException;
import org.apache.iotdb.udf.api.exception.UDFManagementException;
diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/builder/EvaluationDAGBuilder.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/builder/EvaluationDAGBuilder.java
index a404a63f8d3..6c8bb616d6c 100644
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/builder/EvaluationDAGBuilder.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/builder/EvaluationDAGBuilder.java
@@ -19,9 +19,9 @@
package org.apache.iotdb.db.queryengine.transformation.dag.builder;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.Expression;
+import org.apache.iotdb.db.node_commons.plan.expression.expression.visitor.IntermediateLayerVisitor;
... 1829 lines suppressed ...