You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ro...@apache.org on 2022/05/20 18:55:31 UTC

[iotdb] branch iotdb-3249 created (now 6c0e8cf9db)

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

rong pushed a change to branch iotdb-3249
in repository https://gitbox.apache.org/repos/asf/iotdb.git


      at 6c0e8cf9db redesign udf package

This branch includes the following new commits:

     new 456c3d009a remove QueryExecption from the udf package
     new 0def94fb18 pre remove
     new 770ed96ec1 move api
     new 6a35bad799 move builtin
     new 6c0e8cf9db redesign udf package

The 5 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[iotdb] 05/05: redesign udf package

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rong pushed a commit to branch iotdb-3249
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 6c0e8cf9db14227ddcdea6e96c5e6147831699b5
Author: Steve Yurong Su <ro...@apache.org>
AuthorDate: Sat May 21 02:54:18 2022 +0800

    redesign udf package
---
 .../query/ClusterPhysicalGeneratorTest.java        |  4 +-
 .../query/last/ClusterLastQueryExecutorTest.java   |  2 +-
 .../selectinto/InsertTabletPlansIterator.java      |  2 +-
 .../execution/operator/process/FilterOperator.java |  4 +-
 .../operator/process/TransformOperator.java        | 16 +++---
 .../apache/iotdb/db/mpp/plan/analyze/Analysis.java |  2 +-
 .../apache/iotdb/db/mpp/plan/analyze/Analyzer.java |  2 +-
 .../db/mpp/plan/analyze/ConcatPathRewriter.java    |  2 +-
 .../db/mpp/plan/analyze/ExpressionAnalyzer.java    | 38 +++++++-------
 .../iotdb/db/mpp/plan/analyze/ExpressionUtils.java | 50 +++++++++---------
 .../mpp/plan/analyze/GroupByLevelController.java   |  6 +--
 .../{query => mpp/plan}/expression/Expression.java | 60 +++++++++++-----------
 .../plan}/expression/ExpressionType.java           |  2 +-
 .../plan}/expression/ResultColumn.java             |  2 +-
 .../expression/binary/AdditionExpression.java      | 12 ++---
 .../binary/ArithmeticBinaryExpression.java         |  4 +-
 .../plan}/expression/binary/BinaryExpression.java  | 28 +++++-----
 .../expression/binary/CompareBinaryExpression.java |  4 +-
 .../expression/binary/DivisionExpression.java      | 12 ++---
 .../plan}/expression/binary/EqualToExpression.java | 12 ++---
 .../expression/binary/GreaterEqualExpression.java  | 12 ++---
 .../expression/binary/GreaterThanExpression.java   | 12 ++---
 .../expression/binary/LessEqualExpression.java     | 12 ++---
 .../expression/binary/LessThanExpression.java      | 12 ++---
 .../expression/binary/LogicAndExpression.java      | 12 ++---
 .../expression/binary/LogicBinaryExpression.java   |  4 +-
 .../plan}/expression/binary/LogicOrExpression.java | 12 ++---
 .../plan}/expression/binary/ModuloExpression.java  | 12 ++---
 .../binary/MultiplicationExpression.java           | 12 ++---
 .../expression/binary/NonEqualExpression.java      | 12 ++---
 .../expression/binary/SubtractionExpression.java   | 12 ++---
 .../plan}/expression/leaf/ConstantOperand.java     | 20 ++++----
 .../plan}/expression/leaf/LeafOperand.java         |  6 +--
 .../plan}/expression/leaf/TimeSeriesOperand.java   | 24 ++++-----
 .../plan}/expression/leaf/TimestampOperand.java    | 24 ++++-----
 .../plan}/expression/multi/FunctionExpression.java | 44 ++++++++--------
 .../plan}/expression/unary/InExpression.java       | 12 ++---
 .../plan}/expression/unary/LikeExpression.java     | 14 ++---
 .../plan}/expression/unary/LogicNotExpression.java | 20 ++++----
 .../plan}/expression/unary/NegationExpression.java | 20 ++++----
 .../plan}/expression/unary/RegularExpression.java  | 12 ++---
 .../plan}/expression/unary/UnaryExpression.java    | 26 +++++-----
 .../iotdb/db/mpp/plan/parser/ASTVisitor.java       | 46 ++++++++---------
 .../db/mpp/plan/parser/StatementGenerator.java     | 12 ++---
 .../db/mpp/plan/planner/LocalExecutionPlanner.java |  2 +-
 .../db/mpp/plan/planner/LogicalPlanBuilder.java    |  6 +--
 .../iotdb/db/mpp/plan/planner/LogicalPlanner.java  |  2 +-
 .../plan/planner/plan/node/process/FilterNode.java |  2 +-
 .../planner/plan/node/process/FilterNullNode.java  |  2 +-
 .../planner/plan/node/process/TransformNode.java   |  2 +-
 .../plan/parameter/AggregationDescriptor.java      |  2 +-
 .../plan/parameter/FilterNullParameter.java        |  2 +-
 .../statement/component/FilterNullComponent.java   |  2 +-
 .../mpp/plan/statement/component/ResultColumn.java |  2 +-
 .../plan/statement/component/SelectComponent.java  |  2 +-
 .../plan/statement/component/WhereCondition.java   |  2 +-
 .../db/mpp/plan/statement/crud/QueryStatement.java |  4 +-
 .../transformation/api}/LayerPointReader.java      |  2 +-
 .../transformation/api}/LayerRowReader.java        |  2 +-
 .../transformation/api}/LayerRowWindowReader.java  |  2 +-
 ...ializableRowRecordListBackedMultiColumnRow.java |  2 +-
 ...izableRowRecordListBackedMultiColumnWindow.java |  4 +-
 ...wRecordListBackedMultiColumnWindowIterator.java |  4 +-
 ...ticSerializableTVListBackedSingleColumnRow.java |  4 +-
 ...SerializableTVListBackedSingleColumnWindow.java |  4 +-
 ...ableTVListBackedSingleColumnWindowIterator.java |  4 +-
 .../LayerPointReaderBackedSingleColumnRow.java     |  4 +-
 .../transformation/dag/builder}/DAGBuilder.java    | 15 +++---
 .../dag/builder}/EvaluationDAGBuilder.java         | 15 +++---
 .../dag/input/ConstantInputReader.java}            |  9 ++--
 .../dag/input/QueryDataSetInputLayer.java}         | 21 ++++----
 .../dag/input}/TsBlockInputDataSet.java            |  2 +-
 .../intermediate}/ConstantIntermediateLayer.java   | 14 ++---
 .../dag/intermediate}/IntermediateLayer.java       | 10 ++--
 .../MultiInputColumnIntermediateLayer.java         | 18 ++++---
 ...InputColumnMultiReferenceIntermediateLayer.java | 23 +++++----
 ...nputColumnSingleReferenceIntermediateLayer.java | 17 +++---
 .../dag/memory}/LayerMemoryAssigner.java           |  6 +--
 .../transformation/dag/memory}/SafetyLine.java     |  4 +-
 .../dag}/transformer/Transformer.java              |  4 +-
 .../binary/ArithmeticAdditionTransformer.java      |  4 +-
 .../binary/ArithmeticBinaryTransformer.java        |  4 +-
 .../binary/ArithmeticDivisionTransformer.java      |  4 +-
 .../binary/ArithmeticModuloTransformer.java        |  4 +-
 .../ArithmeticMultiplicationTransformer.java       |  4 +-
 .../binary/ArithmeticSubtractionTransformer.java   |  4 +-
 .../dag}/transformer/binary/BinaryTransformer.java |  6 +--
 .../binary/CompareBinaryTransformer.java           |  4 +-
 .../binary/CompareEqualToTransformer.java          |  4 +-
 .../binary/CompareGreaterEqualTransformer.java     |  4 +-
 .../binary/CompareGreaterThanTransformer.java      |  4 +-
 .../binary/CompareLessEqualTransformer.java        |  4 +-
 .../binary/CompareLessThanTransformer.java         |  4 +-
 .../binary/CompareNonEqualTransformer.java         |  4 +-
 .../transformer/binary/LogicAndTransformer.java    |  5 +-
 .../transformer/binary/LogicBinaryTransformer.java |  4 +-
 .../transformer/binary/LogicOrTransformer.java     |  4 +-
 .../transformer/multi/UDFQueryRowTransformer.java  |  6 +--
 .../multi/UDFQueryRowWindowTransformer.java        |  6 +--
 .../transformer/multi/UDFQueryTransformer.java     |  8 +--
 .../unary/ArithmeticNegationTransformer.java       |  4 +-
 .../dag}/transformer/unary/InTransformer.java      |  4 +-
 .../transformer/unary/LogicNotTransformer.java     |  4 +-
 .../dag}/transformer/unary/RegularTransformer.java |  4 +-
 .../transformer/unary/TransparentTransformer.java  |  4 +-
 .../dag}/transformer/unary/UnaryTransformer.java   |  6 +--
 .../transformation/dag/udf}/UDTFContext.java       |  8 +--
 .../transformation/dag/udf}/UDTFExecutor.java      |  4 +-
 .../transformation/dag/udf}/UDTFTypeInferrer.java  |  2 +-
 .../transformation/dag/util}/InputRowUtils.java    |  2 +-
 .../transformation/dag/util}/LayerCacheUtils.java  |  8 +--
 .../transformation}/datastructure/Cache.java       |  2 +-
 .../datastructure/SerializableList.java            |  4 +-
 .../row/ElasticSerializableRowRecordList.java      | 19 +++----
 .../row/SerializableRowRecordList.java             |  4 +-
 .../tv/ElasticSerializableBinaryTVList.java        | 11 ++--
 .../tv/ElasticSerializableTVList.java              |  6 +--
 .../datastructure/tv/SerializableBinaryTVList.java |  2 +-
 .../tv/SerializableBooleanTVList.java              |  2 +-
 .../datastructure/tv/SerializableDoubleTVList.java |  2 +-
 .../datastructure/tv/SerializableFloatTVList.java  |  2 +-
 .../datastructure/tv/SerializableIntTVList.java    |  2 +-
 .../datastructure/tv/SerializableLongTVList.java   |  2 +-
 .../datastructure/tv/SerializableTVList.java       |  4 +-
 .../protocol/influxdb/function/InfluxFunction.java |  4 +-
 .../influxdb/function/InfluxFunctionFactory.java   |  2 +-
 .../function/aggregator/InfluxAggregator.java      |  2 +-
 .../function/aggregator/InfluxCountFunction.java   |  2 +-
 .../function/aggregator/InfluxMeanFunction.java    |  2 +-
 .../function/aggregator/InfluxMedianFunction.java  |  2 +-
 .../function/aggregator/InfluxModeFunction.java    |  2 +-
 .../function/aggregator/InfluxSpreadFunction.java  |  2 +-
 .../function/aggregator/InfluxStddevFunction.java  |  2 +-
 .../function/aggregator/InfluxSumFunction.java     |  2 +-
 .../function/selector/InfluxFirstFunction.java     |  2 +-
 .../function/selector/InfluxLastFunction.java      |  2 +-
 .../function/selector/InfluxMaxFunction.java       |  2 +-
 .../function/selector/InfluxMinFunction.java       |  2 +-
 .../influxdb/function/selector/InfluxSelector.java |  2 +-
 .../db/protocol/influxdb/handler/QueryHandler.java |  8 +--
 .../influxdb/operator/InfluxSelectComponent.java   |  8 +--
 .../protocol/influxdb/sql/InfluxDBSqlVisitor.java  | 20 ++++----
 .../protocol/rest/handler/QueryDataSetHandler.java |  2 +-
 .../iotdb/db/qp/constant/FilterConstant.java       |  2 +-
 .../qp/logical/crud/AggregationQueryOperator.java  |  8 +--
 .../db/qp/logical/crud/LastQueryOperator.java      |  6 +--
 .../iotdb/db/qp/logical/crud/QueryOperator.java    |  8 +--
 .../iotdb/db/qp/logical/crud/SelectComponent.java  |  8 +--
 .../db/qp/logical/crud/SpecialClauseComponent.java |  2 +-
 .../db/qp/logical/crud/UDAFQueryOperator.java      |  8 +--
 .../iotdb/db/qp/physical/crud/AggregationPlan.java |  2 +-
 .../db/qp/physical/crud/AlignByDevicePlan.java     |  2 +-
 .../iotdb/db/qp/physical/crud/LastQueryPlan.java   |  2 +-
 .../iotdb/db/qp/physical/crud/QueryPlan.java       |  2 +-
 .../db/qp/physical/crud/RawDataQueryPlan.java      |  2 +-
 .../apache/iotdb/db/qp/physical/crud/UDAFPlan.java |  2 +-
 .../apache/iotdb/db/qp/physical/crud/UDFPlan.java  |  2 +-
 .../apache/iotdb/db/qp/physical/crud/UDTFPlan.java |  6 +--
 .../apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java    | 50 +++++++++---------
 .../iotdb/db/qp/strategy/LogicalGenerator.java     |  4 +-
 .../qp/strategy/optimizer/ConcatPathOptimizer.java |  6 +--
 .../iotdb/db/qp/utils/GroupByLevelController.java  |  6 +--
 .../apache/iotdb/db/qp/utils/WildcardsRemover.java |  4 +-
 .../db/query/control/QueryResourceManager.java     |  4 +-
 .../db/query/dataset/UDTFAlignByTimeDataSet.java   |  6 +--
 .../apache/iotdb/db/query/dataset/UDTFDataSet.java | 21 ++++----
 .../db/query/dataset/UDTFNonAlignDataSet.java      |  4 +-
 .../query/dataset/groupby/GroupByFillDataSet.java  |  2 +-
 .../java/org/apache/iotdb/db/service/DataNode.java |  1 -
 .../java/org/apache/iotdb/db/service/IoTDB.java    |  1 -
 .../service/TemporaryQueryDataFileService.java     |  4 +-
 .../db/mpp/plan/plan/QueryLogicalPlanUtil.java     | 14 ++---
 .../node/process/AggregationNodeSerdeTest.java     |  2 +-
 .../plan/node/process/FilterNodeSerdeTest.java     |  8 +--
 .../plan/node/process/FilterNullNodeSerdeTest.java |  2 +-
 .../node/process/GroupByLevelNodeSerdeTest.java    |  2 +-
 .../source/SeriesAggregationScanNodeSerdeTest.java |  2 +-
 .../influxdb/sql/InfluxDBLogicalGeneratorTest.java |  4 +-
 .../ElasticSerializableRowRecordListTest.java      |  3 +-
 .../ElasticSerializableTVListTest.java             |  5 +-
 .../iotdb/db/query/udf/datastructure/LRUCache.java |  2 +
 .../SerializableBinaryTVListTest.java              |  4 +-
 .../SerializableBooleanTVListTest.java             |  4 +-
 .../SerializableDoubleTVListTest.java              |  4 +-
 .../datastructure/SerializableFloatTVListTest.java |  4 +-
 .../datastructure/SerializableIntTVListTest.java   |  4 +-
 .../udf/datastructure/SerializableListTest.java    |  2 +-
 .../datastructure/SerializableLongTVListTest.java  |  4 +-
 .../SerializableRowRecordListTest.java             |  2 +-
 189 files changed, 711 insertions(+), 699 deletions(-)

diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/query/ClusterPhysicalGeneratorTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/query/ClusterPhysicalGeneratorTest.java
index d0585de36b..c53f8e2eaf 100644
--- a/cluster/src/test/java/org/apache/iotdb/cluster/query/ClusterPhysicalGeneratorTest.java
+++ b/cluster/src/test/java/org/apache/iotdb/cluster/query/ClusterPhysicalGeneratorTest.java
@@ -23,12 +23,12 @@ import org.apache.iotdb.cluster.common.TestUtils;
 import org.apache.iotdb.commons.exception.IllegalPathException;
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.db.exception.query.QueryProcessException;
+import org.apache.iotdb.db.mpp.plan.expression.ResultColumn;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.TimeSeriesOperand;
 import org.apache.iotdb.db.qp.logical.crud.FromComponent;
 import org.apache.iotdb.db.qp.logical.crud.QueryOperator;
 import org.apache.iotdb.db.qp.logical.crud.SelectComponent;
 import org.apache.iotdb.db.qp.physical.crud.RawDataQueryPlan;
-import org.apache.iotdb.db.query.expression.ResultColumn;
-import org.apache.iotdb.db.query.expression.leaf.TimeSeriesOperand;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/cluster/src/test/java/org/apache/iotdb/cluster/query/last/ClusterLastQueryExecutorTest.java b/cluster/src/test/java/org/apache/iotdb/cluster/query/last/ClusterLastQueryExecutorTest.java
index 0cbd269cfa..39d54bf0a8 100644
--- a/cluster/src/test/java/org/apache/iotdb/cluster/query/last/ClusterLastQueryExecutorTest.java
+++ b/cluster/src/test/java/org/apache/iotdb/cluster/query/last/ClusterLastQueryExecutorTest.java
@@ -26,10 +26,10 @@ import org.apache.iotdb.commons.exception.IllegalPathException;
 import org.apache.iotdb.db.exception.StorageEngineException;
 import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.db.metadata.path.MeasurementPath;
+import org.apache.iotdb.db.mpp.plan.expression.ResultColumn;
 import org.apache.iotdb.db.qp.physical.crud.LastQueryPlan;
 import org.apache.iotdb.db.query.context.QueryContext;
 import org.apache.iotdb.db.query.control.QueryResourceManager;
-import org.apache.iotdb.db.query.expression.ResultColumn;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.read.expression.IExpression;
 import org.apache.iotdb.tsfile.read.expression.impl.GlobalTimeExpression;
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/selectinto/InsertTabletPlansIterator.java b/server/src/main/java/org/apache/iotdb/db/engine/selectinto/InsertTabletPlansIterator.java
index fd309d667d..da291e6ef4 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/selectinto/InsertTabletPlansIterator.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/selectinto/InsertTabletPlansIterator.java
@@ -22,9 +22,9 @@ package org.apache.iotdb.db.engine.selectinto;
 import org.apache.iotdb.commons.exception.IllegalPathException;
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.db.conf.IoTDBDescriptor;
+import org.apache.iotdb.db.mpp.plan.expression.ResultColumn;
 import org.apache.iotdb.db.qp.physical.crud.InsertTabletPlan;
 import org.apache.iotdb.db.qp.physical.crud.QueryPlan;
-import org.apache.iotdb.db.query.expression.ResultColumn;
 import org.apache.iotdb.tsfile.read.common.Path;
 import org.apache.iotdb.tsfile.read.common.RowRecord;
 import org.apache.iotdb.tsfile.read.query.dataset.QueryDataSet;
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/process/FilterOperator.java b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/process/FilterOperator.java
index 8522d065cc..b9050c27ad 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/process/FilterOperator.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/process/FilterOperator.java
@@ -23,9 +23,9 @@ import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.db.mpp.execution.operator.Operator;
 import org.apache.iotdb.db.mpp.execution.operator.OperatorContext;
 import org.apache.iotdb.db.mpp.plan.analyze.TypeProvider;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
 import org.apache.iotdb.db.mpp.plan.planner.plan.parameter.InputLocation;
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
 import org.apache.iotdb.tsfile.exception.write.UnSupportedDataTypeException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.read.common.block.TsBlock;
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/process/TransformOperator.java b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/process/TransformOperator.java
index 784573cd1b..ed0dbb0f86 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/process/TransformOperator.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/process/TransformOperator.java
@@ -24,13 +24,13 @@ import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.db.mpp.execution.operator.Operator;
 import org.apache.iotdb.db.mpp.execution.operator.OperatorContext;
 import org.apache.iotdb.db.mpp.plan.analyze.TypeProvider;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
 import org.apache.iotdb.db.mpp.plan.planner.plan.parameter.InputLocation;
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.udf.core.executor.UDTFContext;
-import org.apache.iotdb.db.query.udf.core.layer.EvaluationDAGBuilder;
-import org.apache.iotdb.db.query.udf.core.layer.RawQueryInputLayer;
-import org.apache.iotdb.db.query.udf.core.layer.TsBlockInputDataSet;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.dag.builder.EvaluationDAGBuilder;
+import org.apache.iotdb.db.mpp.transformation.dag.input.QueryDataSetInputLayer;
+import org.apache.iotdb.db.mpp.transformation.dag.input.TsBlockInputDataSet;
+import org.apache.iotdb.db.mpp.transformation.dag.udf.UDTFContext;
 import org.apache.iotdb.db.query.udf.service.UDFClassLoaderManager;
 import org.apache.iotdb.db.query.udf.service.UDFRegistrationService;
 import org.apache.iotdb.db.utils.datastructure.TimeSelector;
@@ -67,7 +67,7 @@ public class TransformOperator implements ProcessOperator {
 
   protected boolean isFirstIteration;
 
-  protected RawQueryInputLayer inputLayer;
+  protected QueryDataSetInputLayer inputLayer;
   protected UDTFContext udtfContext;
   protected LayerPointReader[] transformers;
   protected TimeSelector timeHeap;
@@ -96,7 +96,7 @@ public class TransformOperator implements ProcessOperator {
 
   private void initInputLayer(List<TSDataType> inputDataTypes) throws QueryProcessException {
     inputLayer =
-        new RawQueryInputLayer(
+        new QueryDataSetInputLayer(
             operatorContext.getOperatorId(),
             udfReaderMemoryBudgetInMB,
             new TsBlockInputDataSet(inputOperator, inputDataTypes));
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/Analysis.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/Analysis.java
index ded3afa59c..450bda895d 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/Analysis.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/Analysis.java
@@ -25,11 +25,11 @@ import org.apache.iotdb.commons.partition.SchemaPartition;
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.db.mpp.common.header.DatasetHeader;
 import org.apache.iotdb.db.mpp.common.schematree.SchemaTree;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
 import org.apache.iotdb.db.mpp.plan.planner.plan.parameter.FillDescriptor;
 import org.apache.iotdb.db.mpp.plan.planner.plan.parameter.FilterNullParameter;
 import org.apache.iotdb.db.mpp.plan.planner.plan.parameter.GroupByTimeParameter;
 import org.apache.iotdb.db.mpp.plan.statement.Statement;
-import org.apache.iotdb.db.query.expression.Expression;
 import org.apache.iotdb.tsfile.read.filter.basic.Filter;
 
 import java.util.List;
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/Analyzer.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/Analyzer.java
index a47f4fce44..884b345b4b 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/Analyzer.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/Analyzer.java
@@ -35,6 +35,7 @@ import org.apache.iotdb.db.mpp.common.header.HeaderConstant;
 import org.apache.iotdb.db.mpp.common.schematree.DeviceSchemaInfo;
 import org.apache.iotdb.db.mpp.common.schematree.PathPatternTree;
 import org.apache.iotdb.db.mpp.common.schematree.SchemaTree;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
 import org.apache.iotdb.db.mpp.plan.planner.plan.parameter.FillDescriptor;
 import org.apache.iotdb.db.mpp.plan.planner.plan.parameter.FilterNullParameter;
 import org.apache.iotdb.db.mpp.plan.planner.plan.parameter.GroupByTimeParameter;
@@ -68,7 +69,6 @@ import org.apache.iotdb.db.mpp.plan.statement.metadata.ShowDevicesStatement;
 import org.apache.iotdb.db.mpp.plan.statement.metadata.ShowStorageGroupStatement;
 import org.apache.iotdb.db.mpp.plan.statement.metadata.ShowTTLStatement;
 import org.apache.iotdb.db.mpp.plan.statement.metadata.ShowTimeSeriesStatement;
-import org.apache.iotdb.db.query.expression.Expression;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.read.filter.GroupByFilter;
 import org.apache.iotdb.tsfile.read.filter.basic.Filter;
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/ConcatPathRewriter.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/ConcatPathRewriter.java
index f38351a50c..f3816fd289 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/ConcatPathRewriter.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/ConcatPathRewriter.java
@@ -22,12 +22,12 @@ import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.db.exception.sql.SemanticException;
 import org.apache.iotdb.db.exception.sql.StatementAnalyzeException;
 import org.apache.iotdb.db.mpp.common.schematree.PathPatternTree;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
 import org.apache.iotdb.db.mpp.plan.statement.Statement;
 import org.apache.iotdb.db.mpp.plan.statement.component.FilterNullComponent;
 import org.apache.iotdb.db.mpp.plan.statement.component.ResultColumn;
 import org.apache.iotdb.db.mpp.plan.statement.component.SelectComponent;
 import org.apache.iotdb.db.mpp.plan.statement.crud.QueryStatement;
-import org.apache.iotdb.db.query.expression.Expression;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/ExpressionAnalyzer.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/ExpressionAnalyzer.java
index 104545e7fe..0c5cfc5b1d 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/ExpressionAnalyzer.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/ExpressionAnalyzer.java
@@ -25,27 +25,27 @@ import org.apache.iotdb.db.exception.sql.SemanticException;
 import org.apache.iotdb.db.metadata.path.MeasurementPath;
 import org.apache.iotdb.db.mpp.common.schematree.PathPatternTree;
 import org.apache.iotdb.db.mpp.common.schematree.SchemaTree;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.ExpressionType;
+import org.apache.iotdb.db.mpp.plan.expression.binary.BinaryExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.EqualToExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.GreaterEqualExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.GreaterThanExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.LessEqualExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.LessThanExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.LogicAndExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.LogicOrExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.NonEqualExpression;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.ConstantOperand;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.LeafOperand;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.TimestampOperand;
+import org.apache.iotdb.db.mpp.plan.expression.multi.FunctionExpression;
+import org.apache.iotdb.db.mpp.plan.expression.unary.InExpression;
+import org.apache.iotdb.db.mpp.plan.expression.unary.LogicNotExpression;
+import org.apache.iotdb.db.mpp.plan.expression.unary.UnaryExpression;
 import org.apache.iotdb.db.mpp.plan.statement.component.ResultColumn;
 import org.apache.iotdb.db.qp.constant.SQLConstant;
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.ExpressionType;
-import org.apache.iotdb.db.query.expression.binary.BinaryExpression;
-import org.apache.iotdb.db.query.expression.binary.EqualToExpression;
-import org.apache.iotdb.db.query.expression.binary.GreaterEqualExpression;
-import org.apache.iotdb.db.query.expression.binary.GreaterThanExpression;
-import org.apache.iotdb.db.query.expression.binary.LessEqualExpression;
-import org.apache.iotdb.db.query.expression.binary.LessThanExpression;
-import org.apache.iotdb.db.query.expression.binary.LogicAndExpression;
-import org.apache.iotdb.db.query.expression.binary.LogicOrExpression;
-import org.apache.iotdb.db.query.expression.binary.NonEqualExpression;
-import org.apache.iotdb.db.query.expression.leaf.ConstantOperand;
-import org.apache.iotdb.db.query.expression.leaf.LeafOperand;
-import org.apache.iotdb.db.query.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.query.expression.leaf.TimestampOperand;
-import org.apache.iotdb.db.query.expression.multi.FunctionExpression;
-import org.apache.iotdb.db.query.expression.unary.InExpression;
-import org.apache.iotdb.db.query.expression.unary.LogicNotExpression;
-import org.apache.iotdb.db.query.expression.unary.UnaryExpression;
 import org.apache.iotdb.tsfile.common.constant.TsFileConstant;
 import org.apache.iotdb.tsfile.read.filter.TimeFilter;
 import org.apache.iotdb.tsfile.read.filter.basic.Filter;
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/ExpressionUtils.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/ExpressionUtils.java
index 2618d6ab6e..7664c51e5f 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/ExpressionUtils.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/ExpressionUtils.java
@@ -20,31 +20,31 @@
 package org.apache.iotdb.db.mpp.plan.analyze;
 
 import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.ExpressionType;
-import org.apache.iotdb.db.query.expression.binary.AdditionExpression;
-import org.apache.iotdb.db.query.expression.binary.DivisionExpression;
-import org.apache.iotdb.db.query.expression.binary.EqualToExpression;
-import org.apache.iotdb.db.query.expression.binary.GreaterEqualExpression;
-import org.apache.iotdb.db.query.expression.binary.GreaterThanExpression;
-import org.apache.iotdb.db.query.expression.binary.LessEqualExpression;
-import org.apache.iotdb.db.query.expression.binary.LessThanExpression;
-import org.apache.iotdb.db.query.expression.binary.LogicAndExpression;
-import org.apache.iotdb.db.query.expression.binary.LogicOrExpression;
-import org.apache.iotdb.db.query.expression.binary.ModuloExpression;
-import org.apache.iotdb.db.query.expression.binary.MultiplicationExpression;
-import org.apache.iotdb.db.query.expression.binary.NonEqualExpression;
-import org.apache.iotdb.db.query.expression.binary.SubtractionExpression;
-import org.apache.iotdb.db.query.expression.leaf.ConstantOperand;
-import org.apache.iotdb.db.query.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.query.expression.leaf.TimestampOperand;
-import org.apache.iotdb.db.query.expression.multi.FunctionExpression;
-import org.apache.iotdb.db.query.expression.unary.InExpression;
-import org.apache.iotdb.db.query.expression.unary.LikeExpression;
-import org.apache.iotdb.db.query.expression.unary.LogicNotExpression;
-import org.apache.iotdb.db.query.expression.unary.NegationExpression;
-import org.apache.iotdb.db.query.expression.unary.RegularExpression;
-import org.apache.iotdb.db.query.expression.unary.UnaryExpression;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.ExpressionType;
+import org.apache.iotdb.db.mpp.plan.expression.binary.AdditionExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.DivisionExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.EqualToExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.GreaterEqualExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.GreaterThanExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.LessEqualExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.LessThanExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.LogicAndExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.LogicOrExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.ModuloExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.MultiplicationExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.NonEqualExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.SubtractionExpression;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.ConstantOperand;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.TimestampOperand;
+import org.apache.iotdb.db.mpp.plan.expression.multi.FunctionExpression;
+import org.apache.iotdb.db.mpp.plan.expression.unary.InExpression;
+import org.apache.iotdb.db.mpp.plan.expression.unary.LikeExpression;
+import org.apache.iotdb.db.mpp.plan.expression.unary.LogicNotExpression;
+import org.apache.iotdb.db.mpp.plan.expression.unary.NegationExpression;
+import org.apache.iotdb.db.mpp.plan.expression.unary.RegularExpression;
+import org.apache.iotdb.db.mpp.plan.expression.unary.UnaryExpression;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.read.filter.TimeFilter;
 import org.apache.iotdb.tsfile.read.filter.basic.Filter;
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/GroupByLevelController.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/GroupByLevelController.java
index 7be09fd68e..1aa25ce06f 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/GroupByLevelController.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/analyze/GroupByLevelController.java
@@ -23,9 +23,9 @@ import org.apache.iotdb.commons.conf.IoTDBConstant;
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.db.exception.sql.SemanticException;
 import org.apache.iotdb.db.exception.sql.StatementAnalyzeException;
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.query.expression.multi.FunctionExpression;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.mpp.plan.expression.multi.FunctionExpression;
 
 import java.util.ArrayList;
 import java.util.Collections;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/expression/Expression.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/Expression.java
similarity index 85%
rename from server/src/main/java/org/apache/iotdb/db/query/expression/Expression.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/Expression.java
index ee460b61b4..bf0b1efcf7 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/expression/Expression.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/Expression.java
@@ -17,42 +17,42 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.expression;
+package org.apache.iotdb.db.mpp.plan.expression;
 
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.db.exception.query.LogicalOptimizeException;
 import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.db.exception.sql.SemanticException;
 import org.apache.iotdb.db.mpp.plan.analyze.TypeProvider;
+import org.apache.iotdb.db.mpp.plan.expression.binary.AdditionExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.DivisionExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.EqualToExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.GreaterEqualExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.GreaterThanExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.LessEqualExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.LessThanExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.LogicAndExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.LogicOrExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.ModuloExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.MultiplicationExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.NonEqualExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.SubtractionExpression;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.ConstantOperand;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.TimestampOperand;
+import org.apache.iotdb.db.mpp.plan.expression.multi.FunctionExpression;
+import org.apache.iotdb.db.mpp.plan.expression.unary.InExpression;
+import org.apache.iotdb.db.mpp.plan.expression.unary.LikeExpression;
+import org.apache.iotdb.db.mpp.plan.expression.unary.LogicNotExpression;
+import org.apache.iotdb.db.mpp.plan.expression.unary.NegationExpression;
+import org.apache.iotdb.db.mpp.plan.expression.unary.RegularExpression;
 import org.apache.iotdb.db.mpp.plan.planner.plan.parameter.InputLocation;
+import org.apache.iotdb.db.mpp.transformation.dag.input.QueryDataSetInputLayer;
+import org.apache.iotdb.db.mpp.transformation.dag.intermediate.IntermediateLayer;
+import org.apache.iotdb.db.mpp.transformation.dag.memory.LayerMemoryAssigner;
+import org.apache.iotdb.db.mpp.transformation.dag.udf.UDTFContext;
+import org.apache.iotdb.db.mpp.transformation.dag.udf.UDTFExecutor;
 import org.apache.iotdb.db.qp.physical.crud.UDTFPlan;
-import org.apache.iotdb.db.query.expression.binary.AdditionExpression;
-import org.apache.iotdb.db.query.expression.binary.DivisionExpression;
-import org.apache.iotdb.db.query.expression.binary.EqualToExpression;
-import org.apache.iotdb.db.query.expression.binary.GreaterEqualExpression;
-import org.apache.iotdb.db.query.expression.binary.GreaterThanExpression;
-import org.apache.iotdb.db.query.expression.binary.LessEqualExpression;
-import org.apache.iotdb.db.query.expression.binary.LessThanExpression;
-import org.apache.iotdb.db.query.expression.binary.LogicAndExpression;
-import org.apache.iotdb.db.query.expression.binary.LogicOrExpression;
-import org.apache.iotdb.db.query.expression.binary.ModuloExpression;
-import org.apache.iotdb.db.query.expression.binary.MultiplicationExpression;
-import org.apache.iotdb.db.query.expression.binary.NonEqualExpression;
-import org.apache.iotdb.db.query.expression.binary.SubtractionExpression;
-import org.apache.iotdb.db.query.expression.leaf.ConstantOperand;
-import org.apache.iotdb.db.query.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.query.expression.leaf.TimestampOperand;
-import org.apache.iotdb.db.query.expression.multi.FunctionExpression;
-import org.apache.iotdb.db.query.expression.unary.InExpression;
-import org.apache.iotdb.db.query.expression.unary.LikeExpression;
-import org.apache.iotdb.db.query.expression.unary.LogicNotExpression;
-import org.apache.iotdb.db.query.expression.unary.NegationExpression;
-import org.apache.iotdb.db.query.expression.unary.RegularExpression;
-import org.apache.iotdb.db.query.udf.core.executor.UDTFContext;
-import org.apache.iotdb.db.query.udf.core.executor.UDTFExecutor;
-import org.apache.iotdb.db.query.udf.core.layer.IntermediateLayer;
-import org.apache.iotdb.db.query.udf.core.layer.LayerMemoryAssigner;
-import org.apache.iotdb.db.query.udf.core.layer.RawQueryInputLayer;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.utils.ReadWriteIOUtils;
 
@@ -150,7 +150,7 @@ public abstract class Expression {
   public abstract IntermediateLayer constructIntermediateLayer(
       long queryId,
       UDTFContext udtfContext,
-      RawQueryInputLayer rawTimeSeriesInputLayer,
+      QueryDataSetInputLayer rawTimeSeriesInputLayer,
       Map<Expression, IntermediateLayer> expressionIntermediateLayerMap,
       Map<Expression, TSDataType> expressionDataTypeMap,
       LayerMemoryAssigner memoryAssigner)
@@ -159,7 +159,7 @@ public abstract class Expression {
   public abstract IntermediateLayer constructIntermediateLayer(
       long queryId,
       UDTFContext udtfContext,
-      RawQueryInputLayer rawTimeSeriesInputLayer,
+      QueryDataSetInputLayer rawTimeSeriesInputLayer,
       Map<Expression, IntermediateLayer> expressionIntermediateLayerMap,
       TypeProvider typeProvider,
       LayerMemoryAssigner memoryAssigner)
diff --git a/server/src/main/java/org/apache/iotdb/db/query/expression/ExpressionType.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/ExpressionType.java
similarity index 97%
rename from server/src/main/java/org/apache/iotdb/db/query/expression/ExpressionType.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/ExpressionType.java
index 180afeecc6..4d3352da2b 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/expression/ExpressionType.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/ExpressionType.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.iotdb.db.query.expression;
+package org.apache.iotdb.db.mpp.plan.expression;
 
 public enum ExpressionType {
   CONSTANT((short) -4, (short) 1400),
diff --git a/server/src/main/java/org/apache/iotdb/db/query/expression/ResultColumn.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/ResultColumn.java
similarity index 99%
rename from server/src/main/java/org/apache/iotdb/db/query/expression/ResultColumn.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/ResultColumn.java
index 32f7f92718..791da53e6e 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/expression/ResultColumn.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/ResultColumn.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.expression;
+package org.apache.iotdb.db.mpp.plan.expression;
 
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.db.exception.query.LogicalOptimizeException;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/expression/binary/AdditionExpression.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/AdditionExpression.java
similarity index 78%
rename from server/src/main/java/org/apache/iotdb/db/query/expression/binary/AdditionExpression.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/AdditionExpression.java
index 6fd5e698fc..d4c80fe955 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/expression/binary/AdditionExpression.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/AdditionExpression.java
@@ -17,13 +17,13 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.expression.binary;
+package org.apache.iotdb.db.mpp.plan.expression.binary;
 
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.ExpressionType;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
-import org.apache.iotdb.db.query.udf.core.transformer.binary.ArithmeticAdditionTransformer;
-import org.apache.iotdb.db.query.udf.core.transformer.binary.ArithmeticBinaryTransformer;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.ExpressionType;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.dag.transformer.binary.ArithmeticAdditionTransformer;
+import org.apache.iotdb.db.mpp.transformation.dag.transformer.binary.ArithmeticBinaryTransformer;
 
 import java.nio.ByteBuffer;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/expression/binary/ArithmeticBinaryExpression.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/ArithmeticBinaryExpression.java
similarity index 94%
rename from server/src/main/java/org/apache/iotdb/db/query/expression/binary/ArithmeticBinaryExpression.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/ArithmeticBinaryExpression.java
index 185a8ce617..3fdd5659a9 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/expression/binary/ArithmeticBinaryExpression.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/ArithmeticBinaryExpression.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.expression.binary;
+package org.apache.iotdb.db.mpp.plan.expression.binary;
 
 import org.apache.iotdb.db.mpp.plan.analyze.TypeProvider;
-import org.apache.iotdb.db.query.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import java.nio.ByteBuffer;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/expression/binary/BinaryExpression.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/BinaryExpression.java
similarity index 92%
rename from server/src/main/java/org/apache/iotdb/db/query/expression/binary/BinaryExpression.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/BinaryExpression.java
index 6dac04bf29..218b67af82 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/expression/binary/BinaryExpression.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/BinaryExpression.java
@@ -17,25 +17,25 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.expression.binary;
+package org.apache.iotdb.db.mpp.plan.expression.binary;
 
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.db.exception.query.LogicalOptimizeException;
 import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.db.mpp.plan.analyze.TypeProvider;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
 import org.apache.iotdb.db.mpp.plan.planner.plan.parameter.InputLocation;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.dag.input.QueryDataSetInputLayer;
+import org.apache.iotdb.db.mpp.transformation.dag.intermediate.IntermediateLayer;
+import org.apache.iotdb.db.mpp.transformation.dag.intermediate.SingleInputColumnMultiReferenceIntermediateLayer;
+import org.apache.iotdb.db.mpp.transformation.dag.intermediate.SingleInputColumnSingleReferenceIntermediateLayer;
+import org.apache.iotdb.db.mpp.transformation.dag.memory.LayerMemoryAssigner;
+import org.apache.iotdb.db.mpp.transformation.dag.transformer.Transformer;
+import org.apache.iotdb.db.mpp.transformation.dag.transformer.binary.BinaryTransformer;
+import org.apache.iotdb.db.mpp.transformation.dag.udf.UDTFContext;
+import org.apache.iotdb.db.mpp.transformation.dag.udf.UDTFExecutor;
 import org.apache.iotdb.db.qp.physical.crud.UDTFPlan;
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.udf.core.executor.UDTFContext;
-import org.apache.iotdb.db.query.udf.core.executor.UDTFExecutor;
-import org.apache.iotdb.db.query.udf.core.layer.IntermediateLayer;
-import org.apache.iotdb.db.query.udf.core.layer.LayerMemoryAssigner;
-import org.apache.iotdb.db.query.udf.core.layer.RawQueryInputLayer;
-import org.apache.iotdb.db.query.udf.core.layer.SingleInputColumnMultiReferenceIntermediateLayer;
-import org.apache.iotdb.db.query.udf.core.layer.SingleInputColumnSingleReferenceIntermediateLayer;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
-import org.apache.iotdb.db.query.udf.core.transformer.Transformer;
-import org.apache.iotdb.db.query.udf.core.transformer.binary.BinaryTransformer;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import java.io.IOException;
@@ -222,7 +222,7 @@ public abstract class BinaryExpression extends Expression {
   public IntermediateLayer constructIntermediateLayer(
       long queryId,
       UDTFContext udtfContext,
-      RawQueryInputLayer rawTimeSeriesInputLayer,
+      QueryDataSetInputLayer rawTimeSeriesInputLayer,
       Map<Expression, IntermediateLayer> expressionIntermediateLayerMap,
       Map<Expression, TSDataType> expressionDataTypeMap,
       LayerMemoryAssigner memoryAssigner)
@@ -271,7 +271,7 @@ public abstract class BinaryExpression extends Expression {
   public IntermediateLayer constructIntermediateLayer(
       long queryId,
       UDTFContext udtfContext,
-      RawQueryInputLayer rawTimeSeriesInputLayer,
+      QueryDataSetInputLayer rawTimeSeriesInputLayer,
       Map<Expression, IntermediateLayer> expressionIntermediateLayerMap,
       TypeProvider typeProvider,
       LayerMemoryAssigner memoryAssigner)
diff --git a/server/src/main/java/org/apache/iotdb/db/query/expression/binary/CompareBinaryExpression.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/CompareBinaryExpression.java
similarity index 96%
rename from server/src/main/java/org/apache/iotdb/db/query/expression/binary/CompareBinaryExpression.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/CompareBinaryExpression.java
index 66f795faa1..5ea63fe7d1 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/expression/binary/CompareBinaryExpression.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/CompareBinaryExpression.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.expression.binary;
+package org.apache.iotdb.db.mpp.plan.expression.binary;
 
 import org.apache.iotdb.db.mpp.plan.analyze.TypeProvider;
-import org.apache.iotdb.db.query.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import java.nio.ByteBuffer;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/expression/binary/DivisionExpression.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/DivisionExpression.java
similarity index 78%
rename from server/src/main/java/org/apache/iotdb/db/query/expression/binary/DivisionExpression.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/DivisionExpression.java
index 8eb9308d91..26ecfdb071 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/expression/binary/DivisionExpression.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/DivisionExpression.java
@@ -17,13 +17,13 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.expression.binary;
+package org.apache.iotdb.db.mpp.plan.expression.binary;
 
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.ExpressionType;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
-import org.apache.iotdb.db.query.udf.core.transformer.binary.ArithmeticBinaryTransformer;
-import org.apache.iotdb.db.query.udf.core.transformer.binary.ArithmeticDivisionTransformer;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.ExpressionType;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.dag.transformer.binary.ArithmeticBinaryTransformer;
+import org.apache.iotdb.db.mpp.transformation.dag.transformer.binary.ArithmeticDivisionTransformer;
 
 import java.nio.ByteBuffer;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/expression/binary/EqualToExpression.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/EqualToExpression.java
similarity index 78%
rename from server/src/main/java/org/apache/iotdb/db/query/expression/binary/EqualToExpression.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/EqualToExpression.java
index d966284402..a9a683ce87 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/expression/binary/EqualToExpression.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/EqualToExpression.java
@@ -17,13 +17,13 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.expression.binary;
+package org.apache.iotdb.db.mpp.plan.expression.binary;
 
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.ExpressionType;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
-import org.apache.iotdb.db.query.udf.core.transformer.binary.CompareBinaryTransformer;
-import org.apache.iotdb.db.query.udf.core.transformer.binary.CompareEqualToTransformer;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.ExpressionType;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.dag.transformer.binary.CompareBinaryTransformer;
+import org.apache.iotdb.db.mpp.transformation.dag.transformer.binary.CompareEqualToTransformer;
 
 import java.nio.ByteBuffer;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/expression/binary/GreaterEqualExpression.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/GreaterEqualExpression.java
similarity index 78%
rename from server/src/main/java/org/apache/iotdb/db/query/expression/binary/GreaterEqualExpression.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/GreaterEqualExpression.java
index 6d06a29284..d87a42046f 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/expression/binary/GreaterEqualExpression.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/GreaterEqualExpression.java
@@ -17,13 +17,13 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.expression.binary;
+package org.apache.iotdb.db.mpp.plan.expression.binary;
 
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.ExpressionType;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
-import org.apache.iotdb.db.query.udf.core.transformer.binary.CompareBinaryTransformer;
-import org.apache.iotdb.db.query.udf.core.transformer.binary.CompareGreaterEqualTransformer;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.ExpressionType;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.dag.transformer.binary.CompareBinaryTransformer;
+import org.apache.iotdb.db.mpp.transformation.dag.transformer.binary.CompareGreaterEqualTransformer;
 
 import java.nio.ByteBuffer;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/expression/binary/GreaterThanExpression.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/GreaterThanExpression.java
similarity index 78%
rename from server/src/main/java/org/apache/iotdb/db/query/expression/binary/GreaterThanExpression.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/GreaterThanExpression.java
index 6a574f68e9..848557695c 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/expression/binary/GreaterThanExpression.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/GreaterThanExpression.java
@@ -17,13 +17,13 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.expression.binary;
+package org.apache.iotdb.db.mpp.plan.expression.binary;
 
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.ExpressionType;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
-import org.apache.iotdb.db.query.udf.core.transformer.binary.CompareBinaryTransformer;
-import org.apache.iotdb.db.query.udf.core.transformer.binary.CompareGreaterThanTransformer;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.ExpressionType;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.dag.transformer.binary.CompareBinaryTransformer;
+import org.apache.iotdb.db.mpp.transformation.dag.transformer.binary.CompareGreaterThanTransformer;
 
 import java.nio.ByteBuffer;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/expression/binary/LessEqualExpression.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/LessEqualExpression.java
similarity index 78%
rename from server/src/main/java/org/apache/iotdb/db/query/expression/binary/LessEqualExpression.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/LessEqualExpression.java
index a0fff83b49..36c9e12294 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/expression/binary/LessEqualExpression.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/LessEqualExpression.java
@@ -17,13 +17,13 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.expression.binary;
+package org.apache.iotdb.db.mpp.plan.expression.binary;
 
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.ExpressionType;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
-import org.apache.iotdb.db.query.udf.core.transformer.binary.CompareBinaryTransformer;
-import org.apache.iotdb.db.query.udf.core.transformer.binary.CompareLessEqualTransformer;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.ExpressionType;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.dag.transformer.binary.CompareBinaryTransformer;
+import org.apache.iotdb.db.mpp.transformation.dag.transformer.binary.CompareLessEqualTransformer;
 
 import java.nio.ByteBuffer;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/expression/binary/LessThanExpression.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/LessThanExpression.java
similarity index 78%
rename from server/src/main/java/org/apache/iotdb/db/query/expression/binary/LessThanExpression.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/LessThanExpression.java
index 8f49780392..630b7a4edc 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/expression/binary/LessThanExpression.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/LessThanExpression.java
@@ -17,13 +17,13 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.expression.binary;
+package org.apache.iotdb.db.mpp.plan.expression.binary;
 
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.ExpressionType;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
-import org.apache.iotdb.db.query.udf.core.transformer.binary.CompareBinaryTransformer;
-import org.apache.iotdb.db.query.udf.core.transformer.binary.CompareLessThanTransformer;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.ExpressionType;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.dag.transformer.binary.CompareBinaryTransformer;
+import org.apache.iotdb.db.mpp.transformation.dag.transformer.binary.CompareLessThanTransformer;
 
 import java.nio.ByteBuffer;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/expression/binary/LogicAndExpression.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/LogicAndExpression.java
similarity index 78%
rename from server/src/main/java/org/apache/iotdb/db/query/expression/binary/LogicAndExpression.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/LogicAndExpression.java
index 26ac76b3c2..68addddc49 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/expression/binary/LogicAndExpression.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/LogicAndExpression.java
@@ -17,13 +17,13 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.expression.binary;
+package org.apache.iotdb.db.mpp.plan.expression.binary;
 
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.ExpressionType;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
-import org.apache.iotdb.db.query.udf.core.transformer.binary.LogicAndTransformer;
-import org.apache.iotdb.db.query.udf.core.transformer.binary.LogicBinaryTransformer;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.ExpressionType;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.dag.transformer.binary.LogicAndTransformer;
+import org.apache.iotdb.db.mpp.transformation.dag.transformer.binary.LogicBinaryTransformer;
 
 import java.nio.ByteBuffer;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/expression/binary/LogicBinaryExpression.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/LogicBinaryExpression.java
similarity index 94%
rename from server/src/main/java/org/apache/iotdb/db/query/expression/binary/LogicBinaryExpression.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/LogicBinaryExpression.java
index 9ad7e20bfa..b4d644f681 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/expression/binary/LogicBinaryExpression.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/LogicBinaryExpression.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.expression.binary;
+package org.apache.iotdb.db.mpp.plan.expression.binary;
 
 import org.apache.iotdb.db.mpp.plan.analyze.TypeProvider;
-import org.apache.iotdb.db.query.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import java.nio.ByteBuffer;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/expression/binary/LogicOrExpression.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/LogicOrExpression.java
similarity index 78%
rename from server/src/main/java/org/apache/iotdb/db/query/expression/binary/LogicOrExpression.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/LogicOrExpression.java
index eff1d56357..785263b210 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/expression/binary/LogicOrExpression.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/LogicOrExpression.java
@@ -17,13 +17,13 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.expression.binary;
+package org.apache.iotdb.db.mpp.plan.expression.binary;
 
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.ExpressionType;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
-import org.apache.iotdb.db.query.udf.core.transformer.binary.LogicBinaryTransformer;
-import org.apache.iotdb.db.query.udf.core.transformer.binary.LogicOrTransformer;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.ExpressionType;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.dag.transformer.binary.LogicBinaryTransformer;
+import org.apache.iotdb.db.mpp.transformation.dag.transformer.binary.LogicOrTransformer;
 
 import java.nio.ByteBuffer;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/expression/binary/ModuloExpression.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/ModuloExpression.java
similarity index 77%
rename from server/src/main/java/org/apache/iotdb/db/query/expression/binary/ModuloExpression.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/ModuloExpression.java
index 39f4738aca..24f7ab6b40 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/expression/binary/ModuloExpression.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/ModuloExpression.java
@@ -17,13 +17,13 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.expression.binary;
+package org.apache.iotdb.db.mpp.plan.expression.binary;
 
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.ExpressionType;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
-import org.apache.iotdb.db.query.udf.core.transformer.binary.ArithmeticBinaryTransformer;
-import org.apache.iotdb.db.query.udf.core.transformer.binary.ArithmeticModuloTransformer;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.ExpressionType;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.dag.transformer.binary.ArithmeticBinaryTransformer;
+import org.apache.iotdb.db.mpp.transformation.dag.transformer.binary.ArithmeticModuloTransformer;
 
 import java.nio.ByteBuffer;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/expression/binary/MultiplicationExpression.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/MultiplicationExpression.java
similarity index 78%
rename from server/src/main/java/org/apache/iotdb/db/query/expression/binary/MultiplicationExpression.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/MultiplicationExpression.java
index 6b72d5a2d2..adc381612d 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/expression/binary/MultiplicationExpression.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/MultiplicationExpression.java
@@ -17,13 +17,13 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.expression.binary;
+package org.apache.iotdb.db.mpp.plan.expression.binary;
 
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.ExpressionType;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
-import org.apache.iotdb.db.query.udf.core.transformer.binary.ArithmeticBinaryTransformer;
-import org.apache.iotdb.db.query.udf.core.transformer.binary.ArithmeticMultiplicationTransformer;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.ExpressionType;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.dag.transformer.binary.ArithmeticBinaryTransformer;
+import org.apache.iotdb.db.mpp.transformation.dag.transformer.binary.ArithmeticMultiplicationTransformer;
 
 import java.nio.ByteBuffer;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/expression/binary/NonEqualExpression.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/NonEqualExpression.java
similarity index 78%
rename from server/src/main/java/org/apache/iotdb/db/query/expression/binary/NonEqualExpression.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/NonEqualExpression.java
index 542d4a7c25..2a25f392f2 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/expression/binary/NonEqualExpression.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/NonEqualExpression.java
@@ -17,13 +17,13 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.expression.binary;
+package org.apache.iotdb.db.mpp.plan.expression.binary;
 
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.ExpressionType;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
-import org.apache.iotdb.db.query.udf.core.transformer.binary.CompareBinaryTransformer;
-import org.apache.iotdb.db.query.udf.core.transformer.binary.CompareNonEqualTransformer;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.ExpressionType;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.dag.transformer.binary.CompareBinaryTransformer;
+import org.apache.iotdb.db.mpp.transformation.dag.transformer.binary.CompareNonEqualTransformer;
 
 import java.nio.ByteBuffer;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/expression/binary/SubtractionExpression.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/SubtractionExpression.java
similarity index 78%
rename from server/src/main/java/org/apache/iotdb/db/query/expression/binary/SubtractionExpression.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/SubtractionExpression.java
index 372d56cc73..946179f782 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/expression/binary/SubtractionExpression.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/SubtractionExpression.java
@@ -17,13 +17,13 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.expression.binary;
+package org.apache.iotdb.db.mpp.plan.expression.binary;
 
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.ExpressionType;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
-import org.apache.iotdb.db.query.udf.core.transformer.binary.ArithmeticBinaryTransformer;
-import org.apache.iotdb.db.query.udf.core.transformer.binary.ArithmeticSubtractionTransformer;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.ExpressionType;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.dag.transformer.binary.ArithmeticBinaryTransformer;
+import org.apache.iotdb.db.mpp.transformation.dag.transformer.binary.ArithmeticSubtractionTransformer;
 
 import java.nio.ByteBuffer;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/expression/leaf/ConstantOperand.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/leaf/ConstantOperand.java
similarity index 87%
rename from server/src/main/java/org/apache/iotdb/db/query/expression/leaf/ConstantOperand.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/leaf/ConstantOperand.java
index 8a6c4589c0..db142fc023 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/expression/leaf/ConstantOperand.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/leaf/ConstantOperand.java
@@ -17,20 +17,20 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.expression.leaf;
+package org.apache.iotdb.db.mpp.plan.expression.leaf;
 
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.db.mpp.plan.analyze.TypeProvider;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.ExpressionType;
 import org.apache.iotdb.db.mpp.plan.planner.plan.parameter.InputLocation;
+import org.apache.iotdb.db.mpp.transformation.dag.input.QueryDataSetInputLayer;
+import org.apache.iotdb.db.mpp.transformation.dag.intermediate.ConstantIntermediateLayer;
+import org.apache.iotdb.db.mpp.transformation.dag.intermediate.IntermediateLayer;
+import org.apache.iotdb.db.mpp.transformation.dag.memory.LayerMemoryAssigner;
+import org.apache.iotdb.db.mpp.transformation.dag.udf.UDTFContext;
 import org.apache.iotdb.db.qp.physical.crud.UDTFPlan;
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.ExpressionType;
-import org.apache.iotdb.db.query.udf.core.executor.UDTFContext;
-import org.apache.iotdb.db.query.udf.core.layer.ConstantIntermediateLayer;
-import org.apache.iotdb.db.query.udf.core.layer.IntermediateLayer;
-import org.apache.iotdb.db.query.udf.core.layer.LayerMemoryAssigner;
-import org.apache.iotdb.db.query.udf.core.layer.RawQueryInputLayer;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.utils.ReadWriteIOUtils;
 
@@ -120,7 +120,7 @@ public class ConstantOperand extends LeafOperand {
   public IntermediateLayer constructIntermediateLayer(
       long queryId,
       UDTFContext udtfContext,
-      RawQueryInputLayer rawTimeSeriesInputLayer,
+      QueryDataSetInputLayer rawTimeSeriesInputLayer,
       Map<Expression, IntermediateLayer> expressionIntermediateLayerMap,
       Map<Expression, TSDataType> expressionDataTypeMap,
       LayerMemoryAssigner memoryAssigner)
@@ -139,7 +139,7 @@ public class ConstantOperand extends LeafOperand {
   public IntermediateLayer constructIntermediateLayer(
       long queryId,
       UDTFContext udtfContext,
-      RawQueryInputLayer rawTimeSeriesInputLayer,
+      QueryDataSetInputLayer rawTimeSeriesInputLayer,
       Map<Expression, IntermediateLayer> expressionIntermediateLayerMap,
       TypeProvider typeProvider,
       LayerMemoryAssigner memoryAssigner)
diff --git a/server/src/main/java/org/apache/iotdb/db/query/expression/leaf/LeafOperand.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/leaf/LeafOperand.java
similarity index 87%
rename from server/src/main/java/org/apache/iotdb/db/query/expression/leaf/LeafOperand.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/leaf/LeafOperand.java
index 500ae89520..9f4bc80438 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/expression/leaf/LeafOperand.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/leaf/LeafOperand.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.expression.leaf;
+package org.apache.iotdb.db.mpp.plan.expression.leaf;
 
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.udf.core.executor.UDTFExecutor;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.transformation.dag.udf.UDTFExecutor;
 
 import java.time.ZoneId;
 import java.util.Collections;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/expression/leaf/TimeSeriesOperand.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/leaf/TimeSeriesOperand.java
similarity index 86%
rename from server/src/main/java/org/apache/iotdb/db/query/expression/leaf/TimeSeriesOperand.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/leaf/TimeSeriesOperand.java
index cdab2e4adc..9326672048 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/expression/leaf/TimeSeriesOperand.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/leaf/TimeSeriesOperand.java
@@ -17,24 +17,24 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.expression.leaf;
+package org.apache.iotdb.db.mpp.plan.expression.leaf;
 
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.db.exception.query.LogicalOptimizeException;
 import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.db.metadata.path.PathDeserializeUtil;
 import org.apache.iotdb.db.mpp.plan.analyze.TypeProvider;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.ExpressionType;
 import org.apache.iotdb.db.mpp.plan.planner.plan.parameter.InputLocation;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.dag.input.QueryDataSetInputLayer;
+import org.apache.iotdb.db.mpp.transformation.dag.intermediate.IntermediateLayer;
+import org.apache.iotdb.db.mpp.transformation.dag.intermediate.SingleInputColumnMultiReferenceIntermediateLayer;
+import org.apache.iotdb.db.mpp.transformation.dag.intermediate.SingleInputColumnSingleReferenceIntermediateLayer;
+import org.apache.iotdb.db.mpp.transformation.dag.memory.LayerMemoryAssigner;
+import org.apache.iotdb.db.mpp.transformation.dag.udf.UDTFContext;
 import org.apache.iotdb.db.qp.physical.crud.UDTFPlan;
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.ExpressionType;
-import org.apache.iotdb.db.query.udf.core.executor.UDTFContext;
-import org.apache.iotdb.db.query.udf.core.layer.IntermediateLayer;
-import org.apache.iotdb.db.query.udf.core.layer.LayerMemoryAssigner;
-import org.apache.iotdb.db.query.udf.core.layer.RawQueryInputLayer;
-import org.apache.iotdb.db.query.udf.core.layer.SingleInputColumnMultiReferenceIntermediateLayer;
-import org.apache.iotdb.db.query.udf.core.layer.SingleInputColumnSingleReferenceIntermediateLayer;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import java.io.IOException;
@@ -118,7 +118,7 @@ public class TimeSeriesOperand extends LeafOperand {
   public IntermediateLayer constructIntermediateLayer(
       long queryId,
       UDTFContext udtfContext,
-      RawQueryInputLayer rawTimeSeriesInputLayer,
+      QueryDataSetInputLayer rawTimeSeriesInputLayer,
       Map<Expression, IntermediateLayer> expressionIntermediateLayerMap,
       Map<Expression, TSDataType> expressionDataTypeMap,
       LayerMemoryAssigner memoryAssigner)
@@ -146,7 +146,7 @@ public class TimeSeriesOperand extends LeafOperand {
   public IntermediateLayer constructIntermediateLayer(
       long queryId,
       UDTFContext udtfContext,
-      RawQueryInputLayer rawTimeSeriesInputLayer,
+      QueryDataSetInputLayer rawTimeSeriesInputLayer,
       Map<Expression, IntermediateLayer> expressionIntermediateLayerMap,
       TypeProvider typeProvider,
       LayerMemoryAssigner memoryAssigner)
diff --git a/server/src/main/java/org/apache/iotdb/db/query/expression/leaf/TimestampOperand.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/leaf/TimestampOperand.java
similarity index 85%
rename from server/src/main/java/org/apache/iotdb/db/query/expression/leaf/TimestampOperand.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/leaf/TimestampOperand.java
index 8c9f6c741d..fec495d53e 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/expression/leaf/TimestampOperand.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/leaf/TimestampOperand.java
@@ -17,23 +17,23 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.expression.leaf;
+package org.apache.iotdb.db.mpp.plan.expression.leaf;
 
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.db.exception.query.LogicalOptimizeException;
 import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.db.mpp.plan.analyze.TypeProvider;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.ExpressionType;
 import org.apache.iotdb.db.mpp.plan.planner.plan.parameter.InputLocation;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.dag.input.QueryDataSetInputLayer;
+import org.apache.iotdb.db.mpp.transformation.dag.intermediate.IntermediateLayer;
+import org.apache.iotdb.db.mpp.transformation.dag.intermediate.SingleInputColumnMultiReferenceIntermediateLayer;
+import org.apache.iotdb.db.mpp.transformation.dag.intermediate.SingleInputColumnSingleReferenceIntermediateLayer;
+import org.apache.iotdb.db.mpp.transformation.dag.memory.LayerMemoryAssigner;
+import org.apache.iotdb.db.mpp.transformation.dag.udf.UDTFContext;
 import org.apache.iotdb.db.qp.physical.crud.UDTFPlan;
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.ExpressionType;
-import org.apache.iotdb.db.query.udf.core.executor.UDTFContext;
-import org.apache.iotdb.db.query.udf.core.layer.IntermediateLayer;
-import org.apache.iotdb.db.query.udf.core.layer.LayerMemoryAssigner;
-import org.apache.iotdb.db.query.udf.core.layer.RawQueryInputLayer;
-import org.apache.iotdb.db.query.udf.core.layer.SingleInputColumnMultiReferenceIntermediateLayer;
-import org.apache.iotdb.db.query.udf.core.layer.SingleInputColumnSingleReferenceIntermediateLayer;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import java.io.IOException;
@@ -103,7 +103,7 @@ public class TimestampOperand extends LeafOperand {
   public IntermediateLayer constructIntermediateLayer(
       long queryId,
       UDTFContext udtfContext,
-      RawQueryInputLayer rawTimeSeriesInputLayer,
+      QueryDataSetInputLayer rawTimeSeriesInputLayer,
       Map<Expression, IntermediateLayer> expressionIntermediateLayerMap,
       Map<Expression, TSDataType> expressionDataTypeMap,
       LayerMemoryAssigner memoryAssigner)
@@ -130,7 +130,7 @@ public class TimestampOperand extends LeafOperand {
   public IntermediateLayer constructIntermediateLayer(
       long queryId,
       UDTFContext udtfContext,
-      RawQueryInputLayer rawTimeSeriesInputLayer,
+      QueryDataSetInputLayer rawTimeSeriesInputLayer,
       Map<Expression, IntermediateLayer> expressionIntermediateLayerMap,
       TypeProvider typeProvider,
       LayerMemoryAssigner memoryAssigner)
diff --git a/server/src/main/java/org/apache/iotdb/db/query/expression/multi/FunctionExpression.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/multi/FunctionExpression.java
similarity index 92%
rename from server/src/main/java/org/apache/iotdb/db/query/expression/multi/FunctionExpression.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/multi/FunctionExpression.java
index 5c976f40c1..8dbe67c10d 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/expression/multi/FunctionExpression.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/multi/FunctionExpression.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.expression.multi;
+package org.apache.iotdb.db.mpp.plan.expression.multi;
 
 import org.apache.iotdb.commons.conf.IoTDBConstant;
 import org.apache.iotdb.commons.path.PartialPath;
@@ -26,27 +26,27 @@ import org.apache.iotdb.db.exception.query.LogicalOptimizeException;
 import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.db.exception.sql.SemanticException;
 import org.apache.iotdb.db.mpp.plan.analyze.TypeProvider;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.ExpressionType;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.TimeSeriesOperand;
 import org.apache.iotdb.db.mpp.plan.planner.plan.parameter.InputLocation;
+import org.apache.iotdb.db.mpp.transformation.dag.input.QueryDataSetInputLayer;
+import org.apache.iotdb.db.mpp.transformation.dag.intermediate.IntermediateLayer;
+import org.apache.iotdb.db.mpp.transformation.dag.intermediate.MultiInputColumnIntermediateLayer;
+import org.apache.iotdb.db.mpp.transformation.dag.intermediate.SingleInputColumnMultiReferenceIntermediateLayer;
+import org.apache.iotdb.db.mpp.transformation.dag.intermediate.SingleInputColumnSingleReferenceIntermediateLayer;
+import org.apache.iotdb.db.mpp.transformation.dag.memory.LayerMemoryAssigner;
+import org.apache.iotdb.db.mpp.transformation.dag.transformer.Transformer;
+import org.apache.iotdb.db.mpp.transformation.dag.transformer.multi.UDFQueryRowTransformer;
+import org.apache.iotdb.db.mpp.transformation.dag.transformer.multi.UDFQueryRowWindowTransformer;
+import org.apache.iotdb.db.mpp.transformation.dag.transformer.multi.UDFQueryTransformer;
+import org.apache.iotdb.db.mpp.transformation.dag.transformer.unary.TransparentTransformer;
+import org.apache.iotdb.db.mpp.transformation.dag.udf.UDTFContext;
+import org.apache.iotdb.db.mpp.transformation.dag.udf.UDTFExecutor;
+import org.apache.iotdb.db.mpp.transformation.dag.udf.UDTFTypeInferrer;
 import org.apache.iotdb.db.qp.constant.SQLConstant;
 import org.apache.iotdb.db.qp.physical.crud.UDTFPlan;
 import org.apache.iotdb.db.qp.strategy.optimizer.ConcatPathOptimizer;
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.ExpressionType;
-import org.apache.iotdb.db.query.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.query.udf.core.executor.UDTFContext;
-import org.apache.iotdb.db.query.udf.core.executor.UDTFExecutor;
-import org.apache.iotdb.db.query.udf.core.executor.UDTFTypeInferrer;
-import org.apache.iotdb.db.query.udf.core.layer.IntermediateLayer;
-import org.apache.iotdb.db.query.udf.core.layer.LayerMemoryAssigner;
-import org.apache.iotdb.db.query.udf.core.layer.MultiInputColumnIntermediateLayer;
-import org.apache.iotdb.db.query.udf.core.layer.RawQueryInputLayer;
-import org.apache.iotdb.db.query.udf.core.layer.SingleInputColumnMultiReferenceIntermediateLayer;
-import org.apache.iotdb.db.query.udf.core.layer.SingleInputColumnSingleReferenceIntermediateLayer;
-import org.apache.iotdb.db.query.udf.core.transformer.Transformer;
-import org.apache.iotdb.db.query.udf.core.transformer.multi.UDFQueryRowTransformer;
-import org.apache.iotdb.db.query.udf.core.transformer.multi.UDFQueryRowWindowTransformer;
-import org.apache.iotdb.db.query.udf.core.transformer.multi.UDFQueryTransformer;
-import org.apache.iotdb.db.query.udf.core.transformer.unary.TransparentTransformer;
 import org.apache.iotdb.db.utils.TypeInferenceUtils;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.utils.ReadWriteIOUtils;
@@ -313,7 +313,7 @@ public class FunctionExpression extends Expression {
   public IntermediateLayer constructIntermediateLayer(
       long queryId,
       UDTFContext udtfContext,
-      RawQueryInputLayer rawTimeSeriesInputLayer,
+      QueryDataSetInputLayer rawTimeSeriesInputLayer,
       Map<Expression, IntermediateLayer> expressionIntermediateLayerMap,
       TypeProvider typeProvider,
       LayerMemoryAssigner memoryAssigner)
@@ -353,7 +353,7 @@ public class FunctionExpression extends Expression {
   private IntermediateLayer constructUdfInputIntermediateLayer(
       long queryId,
       UDTFContext udtfContext,
-      RawQueryInputLayer rawTimeSeriesInputLayer,
+      QueryDataSetInputLayer rawTimeSeriesInputLayer,
       Map<Expression, IntermediateLayer> expressionIntermediateLayerMap,
       TypeProvider typeProvider,
       LayerMemoryAssigner memoryAssigner)
@@ -418,7 +418,7 @@ public class FunctionExpression extends Expression {
   public IntermediateLayer constructIntermediateLayer(
       long queryId,
       UDTFContext udtfContext,
-      RawQueryInputLayer rawTimeSeriesInputLayer,
+      QueryDataSetInputLayer rawTimeSeriesInputLayer,
       Map<Expression, IntermediateLayer> expressionIntermediateLayerMap,
       Map<Expression, TSDataType> expressionDataTypeMap,
       LayerMemoryAssigner memoryAssigner)
@@ -465,7 +465,7 @@ public class FunctionExpression extends Expression {
   private IntermediateLayer constructUdfInputIntermediateLayer(
       long queryId,
       UDTFContext udtfContext,
-      RawQueryInputLayer rawTimeSeriesInputLayer,
+      QueryDataSetInputLayer rawTimeSeriesInputLayer,
       Map<Expression, IntermediateLayer> expressionIntermediateLayerMap,
       Map<Expression, TSDataType> expressionDataTypeMap,
       LayerMemoryAssigner memoryAssigner)
diff --git a/server/src/main/java/org/apache/iotdb/db/query/expression/unary/InExpression.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/unary/InExpression.java
similarity index 89%
rename from server/src/main/java/org/apache/iotdb/db/query/expression/unary/InExpression.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/unary/InExpression.java
index 979d4c2bbc..28e5c3307d 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/expression/unary/InExpression.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/unary/InExpression.java
@@ -17,14 +17,14 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.expression.unary;
+package org.apache.iotdb.db.mpp.plan.expression.unary;
 
 import org.apache.iotdb.db.mpp.plan.analyze.TypeProvider;
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.ExpressionType;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
-import org.apache.iotdb.db.query.udf.core.transformer.Transformer;
-import org.apache.iotdb.db.query.udf.core.transformer.unary.InTransformer;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.ExpressionType;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.dag.transformer.Transformer;
+import org.apache.iotdb.db.mpp.transformation.dag.transformer.unary.InTransformer;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.utils.ReadWriteIOUtils;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/expression/unary/LikeExpression.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/unary/LikeExpression.java
similarity index 91%
rename from server/src/main/java/org/apache/iotdb/db/query/expression/unary/LikeExpression.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/unary/LikeExpression.java
index 0e94037e72..1c9164240b 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/expression/unary/LikeExpression.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/unary/LikeExpression.java
@@ -17,15 +17,15 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.expression.unary;
+package org.apache.iotdb.db.mpp.plan.expression.unary;
 
 import org.apache.iotdb.db.exception.sql.SemanticException;
 import org.apache.iotdb.db.mpp.plan.analyze.TypeProvider;
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.ExpressionType;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
-import org.apache.iotdb.db.query.udf.core.transformer.Transformer;
-import org.apache.iotdb.db.query.udf.core.transformer.unary.RegularTransformer;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.ExpressionType;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.dag.transformer.Transformer;
+import org.apache.iotdb.db.mpp.transformation.dag.transformer.unary.RegularTransformer;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.utils.ReadWriteIOUtils;
 
@@ -122,7 +122,7 @@ public class LikeExpression extends UnaryExpression {
   public TSDataType inferTypes(TypeProvider typeProvider) throws SemanticException {
     final String expressionString = toString();
     if (!typeProvider.containsTypeInfoOf(expressionString)) {
-      checkInputExpressionDataType(
+      Expression.checkInputExpressionDataType(
           expression.toString(), expression.inferTypes(typeProvider), TSDataType.TEXT);
       typeProvider.setType(expressionString, TSDataType.TEXT);
     }
diff --git a/server/src/main/java/org/apache/iotdb/db/query/expression/unary/LogicNotExpression.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/unary/LogicNotExpression.java
similarity index 77%
rename from server/src/main/java/org/apache/iotdb/db/query/expression/unary/LogicNotExpression.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/unary/LogicNotExpression.java
index a538e4a028..9a7191d497 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/expression/unary/LogicNotExpression.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/unary/LogicNotExpression.java
@@ -17,18 +17,18 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.expression.unary;
+package org.apache.iotdb.db.mpp.plan.expression.unary;
 
 import org.apache.iotdb.db.exception.sql.SemanticException;
 import org.apache.iotdb.db.mpp.plan.analyze.TypeProvider;
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.ExpressionType;
-import org.apache.iotdb.db.query.expression.leaf.ConstantOperand;
-import org.apache.iotdb.db.query.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.query.expression.multi.FunctionExpression;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
-import org.apache.iotdb.db.query.udf.core.transformer.Transformer;
-import org.apache.iotdb.db.query.udf.core.transformer.unary.LogicNotTransformer;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.ExpressionType;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.ConstantOperand;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.mpp.plan.expression.multi.FunctionExpression;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.dag.transformer.Transformer;
+import org.apache.iotdb.db.mpp.transformation.dag.transformer.unary.LogicNotTransformer;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import java.nio.ByteBuffer;
@@ -57,7 +57,7 @@ public class LogicNotExpression extends UnaryExpression {
   public TSDataType inferTypes(TypeProvider typeProvider) throws SemanticException {
     final String expressionString = toString();
     if (!typeProvider.containsTypeInfoOf(expressionString)) {
-      checkInputExpressionDataType(
+      Expression.checkInputExpressionDataType(
           expression.toString(), expression.inferTypes(typeProvider), TSDataType.BOOLEAN);
       typeProvider.setType(expressionString, TSDataType.BOOLEAN);
     }
diff --git a/server/src/main/java/org/apache/iotdb/db/query/expression/unary/NegationExpression.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/unary/NegationExpression.java
similarity index 79%
rename from server/src/main/java/org/apache/iotdb/db/query/expression/unary/NegationExpression.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/unary/NegationExpression.java
index 6d8c111078..2b9cba69b8 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/expression/unary/NegationExpression.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/unary/NegationExpression.java
@@ -17,18 +17,18 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.expression.unary;
+package org.apache.iotdb.db.mpp.plan.expression.unary;
 
 import org.apache.iotdb.db.exception.sql.SemanticException;
 import org.apache.iotdb.db.mpp.plan.analyze.TypeProvider;
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.ExpressionType;
-import org.apache.iotdb.db.query.expression.leaf.ConstantOperand;
-import org.apache.iotdb.db.query.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.query.expression.multi.FunctionExpression;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
-import org.apache.iotdb.db.query.udf.core.transformer.Transformer;
-import org.apache.iotdb.db.query.udf.core.transformer.unary.ArithmeticNegationTransformer;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.ExpressionType;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.ConstantOperand;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.mpp.plan.expression.multi.FunctionExpression;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.dag.transformer.Transformer;
+import org.apache.iotdb.db.mpp.transformation.dag.transformer.unary.ArithmeticNegationTransformer;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import java.nio.ByteBuffer;
@@ -58,7 +58,7 @@ public class NegationExpression extends UnaryExpression {
     final String expressionString = toString();
     if (!typeProvider.containsTypeInfoOf(expressionString)) {
       TSDataType inputExpressionType = expression.inferTypes(typeProvider);
-      checkInputExpressionDataType(
+      Expression.checkInputExpressionDataType(
           expression.toString(),
           inputExpressionType,
           TSDataType.INT32,
diff --git a/server/src/main/java/org/apache/iotdb/db/query/expression/unary/RegularExpression.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/unary/RegularExpression.java
similarity index 88%
rename from server/src/main/java/org/apache/iotdb/db/query/expression/unary/RegularExpression.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/unary/RegularExpression.java
index a8b30f0d5a..8d8b1e1186 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/expression/unary/RegularExpression.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/unary/RegularExpression.java
@@ -17,15 +17,15 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.expression.unary;
+package org.apache.iotdb.db.mpp.plan.expression.unary;
 
 import org.apache.iotdb.db.exception.sql.SemanticException;
 import org.apache.iotdb.db.mpp.plan.analyze.TypeProvider;
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.ExpressionType;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
-import org.apache.iotdb.db.query.udf.core.transformer.Transformer;
-import org.apache.iotdb.db.query.udf.core.transformer.unary.RegularTransformer;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.ExpressionType;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.dag.transformer.Transformer;
+import org.apache.iotdb.db.mpp.transformation.dag.transformer.unary.RegularTransformer;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.utils.ReadWriteIOUtils;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/expression/unary/UnaryExpression.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/unary/UnaryExpression.java
similarity index 89%
rename from server/src/main/java/org/apache/iotdb/db/query/expression/unary/UnaryExpression.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/unary/UnaryExpression.java
index 02ec49a4b1..8370eba56a 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/expression/unary/UnaryExpression.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/unary/UnaryExpression.java
@@ -17,25 +17,25 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.expression.unary;
+package org.apache.iotdb.db.mpp.plan.expression.unary;
 
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.db.exception.query.LogicalOptimizeException;
 import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.db.mpp.plan.analyze.TypeProvider;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
 import org.apache.iotdb.db.mpp.plan.planner.plan.parameter.InputLocation;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.dag.input.QueryDataSetInputLayer;
+import org.apache.iotdb.db.mpp.transformation.dag.intermediate.IntermediateLayer;
+import org.apache.iotdb.db.mpp.transformation.dag.intermediate.SingleInputColumnMultiReferenceIntermediateLayer;
+import org.apache.iotdb.db.mpp.transformation.dag.intermediate.SingleInputColumnSingleReferenceIntermediateLayer;
+import org.apache.iotdb.db.mpp.transformation.dag.memory.LayerMemoryAssigner;
+import org.apache.iotdb.db.mpp.transformation.dag.transformer.Transformer;
+import org.apache.iotdb.db.mpp.transformation.dag.udf.UDTFContext;
+import org.apache.iotdb.db.mpp.transformation.dag.udf.UDTFExecutor;
 import org.apache.iotdb.db.qp.physical.crud.UDTFPlan;
 import org.apache.iotdb.db.qp.utils.WildcardsRemover;
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.udf.core.executor.UDTFContext;
-import org.apache.iotdb.db.query.udf.core.executor.UDTFExecutor;
-import org.apache.iotdb.db.query.udf.core.layer.IntermediateLayer;
-import org.apache.iotdb.db.query.udf.core.layer.LayerMemoryAssigner;
-import org.apache.iotdb.db.query.udf.core.layer.RawQueryInputLayer;
-import org.apache.iotdb.db.query.udf.core.layer.SingleInputColumnMultiReferenceIntermediateLayer;
-import org.apache.iotdb.db.query.udf.core.layer.SingleInputColumnSingleReferenceIntermediateLayer;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
-import org.apache.iotdb.db.query.udf.core.transformer.Transformer;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import java.io.IOException;
@@ -118,7 +118,7 @@ public abstract class UnaryExpression extends Expression {
   public final IntermediateLayer constructIntermediateLayer(
       long queryId,
       UDTFContext udtfContext,
-      RawQueryInputLayer rawTimeSeriesInputLayer,
+      QueryDataSetInputLayer rawTimeSeriesInputLayer,
       Map<Expression, IntermediateLayer> expressionIntermediateLayerMap,
       Map<Expression, TSDataType> expressionDataTypeMap,
       LayerMemoryAssigner memoryAssigner)
@@ -156,7 +156,7 @@ public abstract class UnaryExpression extends Expression {
   public IntermediateLayer constructIntermediateLayer(
       long queryId,
       UDTFContext udtfContext,
-      RawQueryInputLayer rawTimeSeriesInputLayer,
+      QueryDataSetInputLayer rawTimeSeriesInputLayer,
       Map<Expression, IntermediateLayer> expressionIntermediateLayerMap,
       TypeProvider typeProvider,
       LayerMemoryAssigner memoryAssigner)
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/parser/ASTVisitor.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/parser/ASTVisitor.java
index dab981d3ea..ec6a293d53 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/parser/ASTVisitor.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/parser/ASTVisitor.java
@@ -28,6 +28,29 @@ import org.apache.iotdb.db.exception.sql.SemanticException;
 import org.apache.iotdb.db.mpp.common.filter.BasicFunctionFilter;
 import org.apache.iotdb.db.mpp.common.filter.QueryFilter;
 import org.apache.iotdb.db.mpp.plan.analyze.ExpressionAnalyzer;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.AdditionExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.DivisionExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.EqualToExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.GreaterEqualExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.GreaterThanExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.LessEqualExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.LessThanExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.LogicAndExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.LogicOrExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.ModuloExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.MultiplicationExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.NonEqualExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.SubtractionExpression;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.ConstantOperand;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.TimestampOperand;
+import org.apache.iotdb.db.mpp.plan.expression.multi.FunctionExpression;
+import org.apache.iotdb.db.mpp.plan.expression.unary.InExpression;
+import org.apache.iotdb.db.mpp.plan.expression.unary.LikeExpression;
+import org.apache.iotdb.db.mpp.plan.expression.unary.LogicNotExpression;
+import org.apache.iotdb.db.mpp.plan.expression.unary.NegationExpression;
+import org.apache.iotdb.db.mpp.plan.expression.unary.RegularExpression;
 import org.apache.iotdb.db.mpp.plan.statement.Statement;
 import org.apache.iotdb.db.mpp.plan.statement.component.FillComponent;
 import org.apache.iotdb.db.mpp.plan.statement.component.FillPolicy;
@@ -78,29 +101,6 @@ import org.apache.iotdb.db.qp.sql.IoTDBSqlParser.CountTimeseriesContext;
 import org.apache.iotdb.db.qp.sql.IoTDBSqlParser.ExpressionContext;
 import org.apache.iotdb.db.qp.sql.IoTDBSqlParserBaseVisitor;
 import org.apache.iotdb.db.qp.utils.DatetimeUtils;
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.binary.AdditionExpression;
-import org.apache.iotdb.db.query.expression.binary.DivisionExpression;
-import org.apache.iotdb.db.query.expression.binary.EqualToExpression;
-import org.apache.iotdb.db.query.expression.binary.GreaterEqualExpression;
-import org.apache.iotdb.db.query.expression.binary.GreaterThanExpression;
-import org.apache.iotdb.db.query.expression.binary.LessEqualExpression;
-import org.apache.iotdb.db.query.expression.binary.LessThanExpression;
-import org.apache.iotdb.db.query.expression.binary.LogicAndExpression;
-import org.apache.iotdb.db.query.expression.binary.LogicOrExpression;
-import org.apache.iotdb.db.query.expression.binary.ModuloExpression;
-import org.apache.iotdb.db.query.expression.binary.MultiplicationExpression;
-import org.apache.iotdb.db.query.expression.binary.NonEqualExpression;
-import org.apache.iotdb.db.query.expression.binary.SubtractionExpression;
-import org.apache.iotdb.db.query.expression.leaf.ConstantOperand;
-import org.apache.iotdb.db.query.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.query.expression.leaf.TimestampOperand;
-import org.apache.iotdb.db.query.expression.multi.FunctionExpression;
-import org.apache.iotdb.db.query.expression.unary.InExpression;
-import org.apache.iotdb.db.query.expression.unary.LikeExpression;
-import org.apache.iotdb.db.query.expression.unary.LogicNotExpression;
-import org.apache.iotdb.db.query.expression.unary.NegationExpression;
-import org.apache.iotdb.db.query.expression.unary.RegularExpression;
 import org.apache.iotdb.tsfile.common.conf.TSFileDescriptor;
 import org.apache.iotdb.tsfile.common.constant.TsFileConstant;
 import org.apache.iotdb.tsfile.file.metadata.enums.CompressionType;
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/parser/StatementGenerator.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/parser/StatementGenerator.java
index 6c3749afb0..7103246f38 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/parser/StatementGenerator.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/parser/StatementGenerator.java
@@ -24,6 +24,12 @@ import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.db.mpp.common.filter.BasicFunctionFilter;
 import org.apache.iotdb.db.mpp.plan.constant.FilterConstant;
+import org.apache.iotdb.db.mpp.plan.expression.binary.GreaterEqualExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.LessThanExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.LogicAndExpression;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.ConstantOperand;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.TimestampOperand;
 import org.apache.iotdb.db.mpp.plan.statement.Statement;
 import org.apache.iotdb.db.mpp.plan.statement.component.FromComponent;
 import org.apache.iotdb.db.mpp.plan.statement.component.ResultColumn;
@@ -43,12 +49,6 @@ import org.apache.iotdb.db.mpp.plan.statement.metadata.SetStorageGroupStatement;
 import org.apache.iotdb.db.qp.sql.IoTDBSqlParser;
 import org.apache.iotdb.db.qp.sql.SqlLexer;
 import org.apache.iotdb.db.qp.strategy.SQLParseError;
-import org.apache.iotdb.db.query.expression.binary.GreaterEqualExpression;
-import org.apache.iotdb.db.query.expression.binary.LessThanExpression;
-import org.apache.iotdb.db.query.expression.binary.LogicAndExpression;
-import org.apache.iotdb.db.query.expression.leaf.ConstantOperand;
-import org.apache.iotdb.db.query.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.query.expression.leaf.TimestampOperand;
 import org.apache.iotdb.db.utils.QueryDataSetUtils;
 import org.apache.iotdb.service.rpc.thrift.TSCreateAlignedTimeseriesReq;
 import org.apache.iotdb.service.rpc.thrift.TSCreateMultiTimeseriesReq;
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/LocalExecutionPlanner.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/LocalExecutionPlanner.java
index 6fae3156b0..34f18ad5e9 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/LocalExecutionPlanner.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/LocalExecutionPlanner.java
@@ -93,6 +93,7 @@ import org.apache.iotdb.db.mpp.execution.operator.source.ExchangeOperator;
 import org.apache.iotdb.db.mpp.execution.operator.source.SeriesAggregationScanOperator;
 import org.apache.iotdb.db.mpp.execution.operator.source.SeriesScanOperator;
 import org.apache.iotdb.db.mpp.plan.analyze.TypeProvider;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
 import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNode;
 import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanVisitor;
 import org.apache.iotdb.db.mpp.plan.planner.plan.node.metedata.read.ChildNodesSchemaScanNode;
@@ -133,7 +134,6 @@ import org.apache.iotdb.db.mpp.plan.planner.plan.parameter.OutputColumn;
 import org.apache.iotdb.db.mpp.plan.statement.component.FillPolicy;
 import org.apache.iotdb.db.mpp.plan.statement.component.OrderBy;
 import org.apache.iotdb.db.mpp.plan.statement.literal.Literal;
-import org.apache.iotdb.db.query.expression.Expression;
 import org.apache.iotdb.db.utils.datastructure.TimeSelector;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.read.filter.basic.Filter;
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/LogicalPlanBuilder.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/LogicalPlanBuilder.java
index 45dab8de2d..589685a687 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/LogicalPlanBuilder.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/LogicalPlanBuilder.java
@@ -29,6 +29,9 @@ import org.apache.iotdb.db.mpp.common.MPPQueryContext;
 import org.apache.iotdb.db.mpp.common.schematree.PathPatternTree;
 import org.apache.iotdb.db.mpp.plan.analyze.ExpressionAnalyzer;
 import org.apache.iotdb.db.mpp.plan.analyze.TypeProvider;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.mpp.plan.expression.multi.FunctionExpression;
 import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNode;
 import org.apache.iotdb.db.mpp.plan.planner.plan.node.metedata.read.ChildNodesSchemaScanNode;
 import org.apache.iotdb.db.mpp.plan.planner.plan.node.metedata.read.ChildPathsSchemaScanNode;
@@ -64,9 +67,6 @@ import org.apache.iotdb.db.mpp.plan.planner.plan.parameter.FilterNullParameter;
 import org.apache.iotdb.db.mpp.plan.planner.plan.parameter.GroupByTimeParameter;
 import org.apache.iotdb.db.mpp.plan.statement.component.OrderBy;
 import org.apache.iotdb.db.query.aggregation.AggregationType;
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.query.expression.multi.FunctionExpression;
 import org.apache.iotdb.db.utils.SchemaUtils;
 import org.apache.iotdb.tsfile.read.filter.basic.Filter;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/LogicalPlanner.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/LogicalPlanner.java
index 1265b4d6ab..4de3c11ab5 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/LogicalPlanner.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/LogicalPlanner.java
@@ -21,6 +21,7 @@ package org.apache.iotdb.db.mpp.plan.planner;
 import org.apache.iotdb.confignode.rpc.thrift.NodeManagementType;
 import org.apache.iotdb.db.mpp.common.MPPQueryContext;
 import org.apache.iotdb.db.mpp.plan.analyze.Analysis;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
 import org.apache.iotdb.db.mpp.plan.optimization.PlanOptimizer;
 import org.apache.iotdb.db.mpp.plan.planner.plan.LogicalQueryPlan;
 import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNode;
@@ -54,7 +55,6 @@ import org.apache.iotdb.db.mpp.plan.statement.metadata.ShowChildNodesStatement;
 import org.apache.iotdb.db.mpp.plan.statement.metadata.ShowChildPathsStatement;
 import org.apache.iotdb.db.mpp.plan.statement.metadata.ShowDevicesStatement;
 import org.apache.iotdb.db.mpp.plan.statement.metadata.ShowTimeSeriesStatement;
-import org.apache.iotdb.db.query.expression.Expression;
 
 import java.util.ArrayList;
 import java.util.HashMap;
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/process/FilterNode.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/process/FilterNode.java
index 338a519123..3b9a1ec475 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/process/FilterNode.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/process/FilterNode.java
@@ -18,11 +18,11 @@
  */
 package org.apache.iotdb.db.mpp.plan.planner.plan.node.process;
 
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
 import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNode;
 import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNodeId;
 import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNodeType;
 import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanVisitor;
-import org.apache.iotdb.db.query.expression.Expression;
 import org.apache.iotdb.tsfile.utils.ReadWriteIOUtils;
 
 import java.nio.ByteBuffer;
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/process/FilterNullNode.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/process/FilterNullNode.java
index c980aa5a9e..7c76a3cfc9 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/process/FilterNullNode.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/process/FilterNullNode.java
@@ -18,13 +18,13 @@
  */
 package org.apache.iotdb.db.mpp.plan.planner.plan.node.process;
 
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
 import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNode;
 import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNodeId;
 import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNodeType;
 import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanVisitor;
 import org.apache.iotdb.db.mpp.plan.planner.plan.parameter.FilterNullParameter;
 import org.apache.iotdb.db.mpp.plan.statement.component.FilterNullPolicy;
-import org.apache.iotdb.db.query.expression.Expression;
 
 import com.google.common.collect.ImmutableList;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/process/TransformNode.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/process/TransformNode.java
index 75dd967780..7f9870fc18 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/process/TransformNode.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/node/process/TransformNode.java
@@ -19,11 +19,11 @@
 
 package org.apache.iotdb.db.mpp.plan.planner.plan.node.process;
 
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
 import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNode;
 import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNodeId;
 import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNodeType;
 import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanVisitor;
-import org.apache.iotdb.db.query.expression.Expression;
 import org.apache.iotdb.tsfile.utils.ReadWriteIOUtils;
 
 import com.google.common.collect.ImmutableList;
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/parameter/AggregationDescriptor.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/parameter/AggregationDescriptor.java
index 74fd995005..67ec816dfb 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/parameter/AggregationDescriptor.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/parameter/AggregationDescriptor.java
@@ -19,8 +19,8 @@
 
 package org.apache.iotdb.db.mpp.plan.planner.plan.parameter;
 
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
 import org.apache.iotdb.db.query.aggregation.AggregationType;
-import org.apache.iotdb.db.query.expression.Expression;
 import org.apache.iotdb.tsfile.utils.ReadWriteIOUtils;
 
 import java.nio.ByteBuffer;
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/parameter/FilterNullParameter.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/parameter/FilterNullParameter.java
index cf8b61f10f..c357fb2966 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/parameter/FilterNullParameter.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/planner/plan/parameter/FilterNullParameter.java
@@ -19,8 +19,8 @@
 
 package org.apache.iotdb.db.mpp.plan.planner.plan.parameter;
 
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
 import org.apache.iotdb.db.mpp.plan.statement.component.FilterNullPolicy;
-import org.apache.iotdb.db.query.expression.Expression;
 import org.apache.iotdb.tsfile.utils.ReadWriteIOUtils;
 
 import java.nio.ByteBuffer;
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/component/FilterNullComponent.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/component/FilterNullComponent.java
index 3c29d3149b..e0e2c4c6e9 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/component/FilterNullComponent.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/component/FilterNullComponent.java
@@ -19,8 +19,8 @@
 
 package org.apache.iotdb.db.mpp.plan.statement.component;
 
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
 import org.apache.iotdb.db.mpp.plan.statement.StatementNode;
-import org.apache.iotdb.db.query.expression.Expression;
 import org.apache.iotdb.tsfile.utils.ReadWriteIOUtils;
 
 import java.nio.ByteBuffer;
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/component/ResultColumn.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/component/ResultColumn.java
index a138f6bfa1..ae23d5e3d5 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/component/ResultColumn.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/component/ResultColumn.java
@@ -19,8 +19,8 @@
 
 package org.apache.iotdb.db.mpp.plan.statement.component;
 
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
 import org.apache.iotdb.db.mpp.plan.statement.StatementNode;
-import org.apache.iotdb.db.query.expression.Expression;
 
 import java.util.Objects;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/component/SelectComponent.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/component/SelectComponent.java
index 3131d23ad5..cc92430f11 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/component/SelectComponent.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/component/SelectComponent.java
@@ -19,8 +19,8 @@
 
 package org.apache.iotdb.db.mpp.plan.statement.component;
 
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
 import org.apache.iotdb.db.mpp.plan.statement.StatementNode;
-import org.apache.iotdb.db.query.expression.Expression;
 
 import java.time.ZoneId;
 import java.util.ArrayList;
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/component/WhereCondition.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/component/WhereCondition.java
index cd62ab8742..9014f345f7 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/component/WhereCondition.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/component/WhereCondition.java
@@ -19,8 +19,8 @@
 
 package org.apache.iotdb.db.mpp.plan.statement.component;
 
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
 import org.apache.iotdb.db.mpp.plan.statement.StatementNode;
-import org.apache.iotdb.db.query.expression.Expression;
 
 /** This class maintains information of {@code WHERE} clause. */
 public class WhereCondition extends StatementNode {
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/crud/QueryStatement.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/crud/QueryStatement.java
index a626c17e0c..35a565f3e7 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/crud/QueryStatement.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/statement/crud/QueryStatement.java
@@ -23,6 +23,8 @@ import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.db.exception.sql.SemanticException;
 import org.apache.iotdb.db.mpp.plan.analyze.ExpressionAnalyzer;
 import org.apache.iotdb.db.mpp.plan.constant.StatementType;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.TimeSeriesOperand;
 import org.apache.iotdb.db.mpp.plan.statement.Statement;
 import org.apache.iotdb.db.mpp.plan.statement.StatementVisitor;
 import org.apache.iotdb.db.mpp.plan.statement.component.FillComponent;
@@ -35,8 +37,6 @@ import org.apache.iotdb.db.mpp.plan.statement.component.ResultColumn;
 import org.apache.iotdb.db.mpp.plan.statement.component.ResultSetFormat;
 import org.apache.iotdb.db.mpp.plan.statement.component.SelectComponent;
 import org.apache.iotdb.db.mpp.plan.statement.component.WhereCondition;
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.leaf.TimeSeriesOperand;
 
 import java.util.List;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/reader/LayerPointReader.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/api/LayerPointReader.java
similarity index 96%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/reader/LayerPointReader.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/api/LayerPointReader.java
index 3ee7c5a985..9f831e7bec 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/reader/LayerPointReader.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/api/LayerPointReader.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.reader;
+package org.apache.iotdb.db.mpp.transformation.api;
 
 import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/reader/LayerRowReader.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/api/LayerRowReader.java
similarity index 96%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/reader/LayerRowReader.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/api/LayerRowReader.java
index 3c9dbff32b..798a882a32 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/reader/LayerRowReader.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/api/LayerRowReader.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.reader;
+package org.apache.iotdb.db.mpp.transformation.api;
 
 import org.apache.iotdb.commons.udf.api.access.Row;
 import org.apache.iotdb.db.exception.query.QueryProcessException;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/reader/LayerRowWindowReader.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/api/LayerRowWindowReader.java
similarity index 96%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/reader/LayerRowWindowReader.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/api/LayerRowWindowReader.java
index 828e496122..699dda9398 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/reader/LayerRowWindowReader.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/api/LayerRowWindowReader.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.reader;
+package org.apache.iotdb.db.mpp.transformation.api;
 
 import org.apache.iotdb.commons.udf.api.access.RowWindow;
 import org.apache.iotdb.db.exception.query.QueryProcessException;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/access/ElasticSerializableRowRecordListBackedMultiColumnRow.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/adapter/ElasticSerializableRowRecordListBackedMultiColumnRow.java
similarity index 97%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/access/ElasticSerializableRowRecordListBackedMultiColumnRow.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/adapter/ElasticSerializableRowRecordListBackedMultiColumnRow.java
index 6447abe2ff..da49bc41fb 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/access/ElasticSerializableRowRecordListBackedMultiColumnRow.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/adapter/ElasticSerializableRowRecordListBackedMultiColumnRow.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.access;
+package org.apache.iotdb.db.mpp.transformation.dag.adapter;
 
 import org.apache.iotdb.commons.udf.api.access.Row;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/access/ElasticSerializableRowRecordListBackedMultiColumnWindow.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/adapter/ElasticSerializableRowRecordListBackedMultiColumnWindow.java
similarity index 94%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/access/ElasticSerializableRowRecordListBackedMultiColumnWindow.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/adapter/ElasticSerializableRowRecordListBackedMultiColumnWindow.java
index 5715946722..c7c6fbc314 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/access/ElasticSerializableRowRecordListBackedMultiColumnWindow.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/adapter/ElasticSerializableRowRecordListBackedMultiColumnWindow.java
@@ -17,12 +17,12 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.access;
+package org.apache.iotdb.db.mpp.transformation.dag.adapter;
 
 import org.apache.iotdb.commons.udf.api.access.Row;
 import org.apache.iotdb.commons.udf.api.access.RowIterator;
 import org.apache.iotdb.commons.udf.api.access.RowWindow;
-import org.apache.iotdb.db.query.udf.datastructure.row.ElasticSerializableRowRecordList;
+import org.apache.iotdb.db.mpp.transformation.datastructure.row.ElasticSerializableRowRecordList;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import java.io.IOException;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/access/ElasticSerializableRowRecordListBackedMultiColumnWindowIterator.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/adapter/ElasticSerializableRowRecordListBackedMultiColumnWindowIterator.java
similarity index 92%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/access/ElasticSerializableRowRecordListBackedMultiColumnWindowIterator.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/adapter/ElasticSerializableRowRecordListBackedMultiColumnWindowIterator.java
index b3e5e38190..7333fd58f3 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/access/ElasticSerializableRowRecordListBackedMultiColumnWindowIterator.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/adapter/ElasticSerializableRowRecordListBackedMultiColumnWindowIterator.java
@@ -17,11 +17,11 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.access;
+package org.apache.iotdb.db.mpp.transformation.dag.adapter;
 
 import org.apache.iotdb.commons.udf.api.access.Row;
 import org.apache.iotdb.commons.udf.api.access.RowIterator;
-import org.apache.iotdb.db.query.udf.datastructure.row.ElasticSerializableRowRecordList;
+import org.apache.iotdb.db.mpp.transformation.datastructure.row.ElasticSerializableRowRecordList;
 
 import java.io.IOException;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/access/ElasticSerializableTVListBackedSingleColumnRow.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/adapter/ElasticSerializableTVListBackedSingleColumnRow.java
similarity index 94%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/access/ElasticSerializableTVListBackedSingleColumnRow.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/adapter/ElasticSerializableTVListBackedSingleColumnRow.java
index 876fd6501d..609f8faadc 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/access/ElasticSerializableTVListBackedSingleColumnRow.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/adapter/ElasticSerializableTVListBackedSingleColumnRow.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.access;
+package org.apache.iotdb.db.mpp.transformation.dag.adapter;
 
 import org.apache.iotdb.commons.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.datastructure.tv.ElasticSerializableTVList;
+import org.apache.iotdb.db.mpp.transformation.datastructure.tv.ElasticSerializableTVList;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.utils.Binary;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/access/ElasticSerializableTVListBackedSingleColumnWindow.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/adapter/ElasticSerializableTVListBackedSingleColumnWindow.java
similarity index 94%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/access/ElasticSerializableTVListBackedSingleColumnWindow.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/adapter/ElasticSerializableTVListBackedSingleColumnWindow.java
index 0ee071c9a4..709f661ae5 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/access/ElasticSerializableTVListBackedSingleColumnWindow.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/adapter/ElasticSerializableTVListBackedSingleColumnWindow.java
@@ -17,12 +17,12 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.access;
+package org.apache.iotdb.db.mpp.transformation.dag.adapter;
 
 import org.apache.iotdb.commons.udf.api.access.Row;
 import org.apache.iotdb.commons.udf.api.access.RowIterator;
 import org.apache.iotdb.commons.udf.api.access.RowWindow;
-import org.apache.iotdb.db.query.udf.datastructure.tv.ElasticSerializableTVList;
+import org.apache.iotdb.db.mpp.transformation.datastructure.tv.ElasticSerializableTVList;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 public class ElasticSerializableTVListBackedSingleColumnWindow implements RowWindow {
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/access/ElasticSerializableTVListBackedSingleColumnWindowIterator.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/adapter/ElasticSerializableTVListBackedSingleColumnWindowIterator.java
similarity index 92%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/access/ElasticSerializableTVListBackedSingleColumnWindowIterator.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/adapter/ElasticSerializableTVListBackedSingleColumnWindowIterator.java
index 92264c2d5d..beaefb13bb 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/access/ElasticSerializableTVListBackedSingleColumnWindowIterator.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/adapter/ElasticSerializableTVListBackedSingleColumnWindowIterator.java
@@ -17,11 +17,11 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.access;
+package org.apache.iotdb.db.mpp.transformation.dag.adapter;
 
 import org.apache.iotdb.commons.udf.api.access.Row;
 import org.apache.iotdb.commons.udf.api.access.RowIterator;
-import org.apache.iotdb.db.query.udf.datastructure.tv.ElasticSerializableTVList;
+import org.apache.iotdb.db.mpp.transformation.datastructure.tv.ElasticSerializableTVList;
 
 import java.io.IOException;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/access/LayerPointReaderBackedSingleColumnRow.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/adapter/LayerPointReaderBackedSingleColumnRow.java
similarity index 95%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/access/LayerPointReaderBackedSingleColumnRow.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/adapter/LayerPointReaderBackedSingleColumnRow.java
index ca535f66f2..48a0badabf 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/access/LayerPointReaderBackedSingleColumnRow.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/adapter/LayerPointReaderBackedSingleColumnRow.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.access;
+package org.apache.iotdb.db.mpp.transformation.dag.adapter;
 
 import org.apache.iotdb.commons.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.utils.Binary;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/DAGBuilder.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/builder/DAGBuilder.java
similarity index 85%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/DAGBuilder.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/builder/DAGBuilder.java
index 270482b1e6..abe194bf2a 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/DAGBuilder.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/builder/DAGBuilder.java
@@ -17,13 +17,16 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.layer;
+package org.apache.iotdb.db.mpp.transformation.dag.builder;
 
 import org.apache.iotdb.db.exception.query.QueryProcessException;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.ResultColumn;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.dag.input.QueryDataSetInputLayer;
+import org.apache.iotdb.db.mpp.transformation.dag.intermediate.IntermediateLayer;
+import org.apache.iotdb.db.mpp.transformation.dag.memory.LayerMemoryAssigner;
 import org.apache.iotdb.db.qp.physical.crud.UDTFPlan;
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.ResultColumn;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import java.io.IOException;
@@ -34,7 +37,7 @@ public class DAGBuilder {
 
   private final long queryId;
   private final UDTFPlan udtfPlan;
-  private final RawQueryInputLayer rawTimeSeriesInputLayer;
+  private final QueryDataSetInputLayer rawTimeSeriesInputLayer;
 
   // input
   private final Expression[] resultColumnExpressions;
@@ -51,7 +54,7 @@ public class DAGBuilder {
   private final Map<Expression, TSDataType> expressionDataTypeMap;
 
   public DAGBuilder(
-      long queryId, UDTFPlan udtfPlan, RawQueryInputLayer inputLayer, float memoryBudgetInMB) {
+      long queryId, UDTFPlan udtfPlan, QueryDataSetInputLayer inputLayer, float memoryBudgetInMB) {
     this.queryId = queryId;
     this.udtfPlan = udtfPlan;
     this.rawTimeSeriesInputLayer = inputLayer;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/EvaluationDAGBuilder.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/builder/EvaluationDAGBuilder.java
similarity index 86%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/EvaluationDAGBuilder.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/builder/EvaluationDAGBuilder.java
index d083191b34..7a7a76bf5a 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/EvaluationDAGBuilder.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/builder/EvaluationDAGBuilder.java
@@ -17,14 +17,17 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.layer;
+package org.apache.iotdb.db.mpp.transformation.dag.builder;
 
 import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.db.mpp.plan.analyze.TypeProvider;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
 import org.apache.iotdb.db.mpp.plan.planner.plan.parameter.InputLocation;
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.udf.core.executor.UDTFContext;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.dag.input.QueryDataSetInputLayer;
+import org.apache.iotdb.db.mpp.transformation.dag.intermediate.IntermediateLayer;
+import org.apache.iotdb.db.mpp.transformation.dag.memory.LayerMemoryAssigner;
+import org.apache.iotdb.db.mpp.transformation.dag.udf.UDTFContext;
 
 import java.io.IOException;
 import java.util.HashMap;
@@ -35,7 +38,7 @@ public class EvaluationDAGBuilder {
 
   private final long queryId;
 
-  private final RawQueryInputLayer inputLayer;
+  private final QueryDataSetInputLayer inputLayer;
   private final Map<String, List<InputLocation>> inputLocations;
 
   private final Expression[] outputExpressions;
@@ -55,7 +58,7 @@ public class EvaluationDAGBuilder {
 
   public EvaluationDAGBuilder(
       long queryId,
-      RawQueryInputLayer inputLayer,
+      QueryDataSetInputLayer inputLayer,
       Map<String, List<InputLocation>> inputLocations,
       Expression[] outputExpressions,
       TypeProvider typeProvider,
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/reader/ConstantLayerPointReader.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/input/ConstantInputReader.java
similarity index 90%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/reader/ConstantLayerPointReader.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/input/ConstantInputReader.java
index c0d99e9189..a8cf12f972 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/reader/ConstantLayerPointReader.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/input/ConstantInputReader.java
@@ -17,10 +17,11 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.reader;
+package org.apache.iotdb.db.mpp.transformation.dag.input;
 
 import org.apache.iotdb.db.exception.query.QueryProcessException;
-import org.apache.iotdb.db.query.expression.leaf.ConstantOperand;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.ConstantOperand;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
 import org.apache.iotdb.db.utils.CommonUtils;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.utils.Binary;
@@ -30,7 +31,7 @@ import org.apache.commons.lang3.Validate;
 import java.io.IOException;
 
 /** LayerPointReader for constants. */
-public class ConstantLayerPointReader implements LayerPointReader {
+public class ConstantInputReader implements LayerPointReader {
 
   private final ConstantOperand expression;
 
@@ -41,7 +42,7 @@ public class ConstantLayerPointReader implements LayerPointReader {
   protected boolean cachedBoolean;
   protected Binary cachedBinary;
 
-  public ConstantLayerPointReader(ConstantOperand expression) throws QueryProcessException {
+  public ConstantInputReader(ConstantOperand expression) throws QueryProcessException {
     this.expression = Validate.notNull(expression);
 
     Object value =
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/RawQueryInputLayer.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/input/QueryDataSetInputLayer.java
similarity index 93%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/RawQueryInputLayer.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/input/QueryDataSetInputLayer.java
index 4f5288d771..9490461bb0 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/RawQueryInputLayer.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/input/QueryDataSetInputLayer.java
@@ -17,19 +17,20 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.layer;
+package org.apache.iotdb.db.mpp.transformation.dag.input;
 
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.db.exception.query.QueryProcessException;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.dag.memory.SafetyLine;
+import org.apache.iotdb.db.mpp.transformation.dag.memory.SafetyLine.SafetyPile;
+import org.apache.iotdb.db.mpp.transformation.datastructure.row.ElasticSerializableRowRecordList;
 import org.apache.iotdb.db.qp.physical.crud.UDTFPlan;
 import org.apache.iotdb.db.query.dataset.IUDFInputDataSet;
 import org.apache.iotdb.db.query.dataset.RawQueryDataSetWithValueFilter;
 import org.apache.iotdb.db.query.dataset.UDFRawQueryInputDataSetWithoutValueFilter;
 import org.apache.iotdb.db.query.reader.series.IReaderByTimestamp;
 import org.apache.iotdb.db.query.reader.series.ManagedSeriesReader;
-import org.apache.iotdb.db.query.udf.core.layer.SafetyLine.SafetyPile;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
-import org.apache.iotdb.db.query.udf.datastructure.row.ElasticSerializableRowRecordList;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.read.query.timegenerator.TimeGenerator;
 import org.apache.iotdb.tsfile.utils.Binary;
@@ -37,7 +38,7 @@ import org.apache.iotdb.tsfile.utils.Binary;
 import java.io.IOException;
 import java.util.List;
 
-public class RawQueryInputLayer {
+public class QueryDataSetInputLayer {
 
   private IUDFInputDataSet queryDataSet;
   private TSDataType[] dataTypes;
@@ -47,7 +48,7 @@ public class RawQueryInputLayer {
   private SafetyLine safetyLine;
 
   /** InputLayerWithoutValueFilter */
-  public RawQueryInputLayer(
+  public QueryDataSetInputLayer(
       long queryId, float memoryBudgetInMB, UDTFPlan queryPlan, List<ManagedSeriesReader> readers)
       throws QueryProcessException, IOException, InterruptedException {
     construct(
@@ -57,7 +58,7 @@ public class RawQueryInputLayer {
   }
 
   /** InputLayerWithValueFilter */
-  public RawQueryInputLayer(
+  public QueryDataSetInputLayer(
       long queryId,
       float memoryBudgetInMB,
       List<PartialPath> paths,
@@ -74,7 +75,7 @@ public class RawQueryInputLayer {
             paths, dataTypes, timeGenerator, readers, readerToIndexList, cached, true));
   }
 
-  public RawQueryInputLayer(long queryId, float memoryBudgetInMB, IUDFInputDataSet queryDataSet)
+  public QueryDataSetInputLayer(long queryId, float memoryBudgetInMB, IUDFInputDataSet queryDataSet)
       throws QueryProcessException {
     construct(queryId, memoryBudgetInMB, queryDataSet);
   }
@@ -94,10 +95,6 @@ public class RawQueryInputLayer {
     rowRecordList.setEvictionUpperBound(safetyLine.getSafetyLine());
   }
 
-  public int getInputColumnCount() {
-    return dataTypes.length;
-  }
-
   public LayerPointReader constructTimePointReader() {
     return new TimePointReader();
   }
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/TsBlockInputDataSet.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/input/TsBlockInputDataSet.java
similarity index 97%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/TsBlockInputDataSet.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/input/TsBlockInputDataSet.java
index ff9130d427..135c9c1f8d 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/TsBlockInputDataSet.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/input/TsBlockInputDataSet.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.layer;
+package org.apache.iotdb.db.mpp.transformation.dag.input;
 
 import org.apache.iotdb.db.mpp.execution.operator.Operator;
 import org.apache.iotdb.db.query.dataset.IUDFInputDataSet;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/ConstantIntermediateLayer.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/intermediate/ConstantIntermediateLayer.java
similarity index 82%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/ConstantIntermediateLayer.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/intermediate/ConstantIntermediateLayer.java
index ec02f4fc01..1af198720a 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/ConstantIntermediateLayer.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/intermediate/ConstantIntermediateLayer.java
@@ -17,16 +17,16 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.layer;
+package org.apache.iotdb.db.mpp.transformation.dag.intermediate;
 
 import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
 import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingTimeWindowAccessStrategy;
 import org.apache.iotdb.db.exception.query.QueryProcessException;
-import org.apache.iotdb.db.query.expression.leaf.ConstantOperand;
-import org.apache.iotdb.db.query.udf.core.reader.ConstantLayerPointReader;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
-import org.apache.iotdb.db.query.udf.core.reader.LayerRowReader;
-import org.apache.iotdb.db.query.udf.core.reader.LayerRowWindowReader;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.ConstantOperand;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.api.LayerRowReader;
+import org.apache.iotdb.db.mpp.transformation.api.LayerRowWindowReader;
+import org.apache.iotdb.db.mpp.transformation.dag.input.ConstantInputReader;
 
 /** IntermediateLayer for constants. */
 public class ConstantIntermediateLayer extends IntermediateLayer {
@@ -36,7 +36,7 @@ public class ConstantIntermediateLayer extends IntermediateLayer {
   public ConstantIntermediateLayer(ConstantOperand expression, long queryId, float memoryBudgetInMB)
       throws QueryProcessException {
     super(expression, queryId, memoryBudgetInMB);
-    constantLayerPointReaderCache = new ConstantLayerPointReader(expression);
+    constantLayerPointReaderCache = new ConstantInputReader(expression);
   }
 
   @Override
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/IntermediateLayer.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/intermediate/IntermediateLayer.java
similarity index 89%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/IntermediateLayer.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/intermediate/IntermediateLayer.java
index 72a571e9e7..18fc3f84d9 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/IntermediateLayer.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/intermediate/IntermediateLayer.java
@@ -17,16 +17,16 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.layer;
+package org.apache.iotdb.db.mpp.transformation.dag.intermediate;
 
 import org.apache.iotdb.commons.udf.api.customizer.strategy.AccessStrategy;
 import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
 import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingTimeWindowAccessStrategy;
 import org.apache.iotdb.db.exception.query.QueryProcessException;
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
-import org.apache.iotdb.db.query.udf.core.reader.LayerRowReader;
-import org.apache.iotdb.db.query.udf.core.reader.LayerRowWindowReader;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.api.LayerRowReader;
+import org.apache.iotdb.db.mpp.transformation.api.LayerRowWindowReader;
 
 import java.io.IOException;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/MultiInputColumnIntermediateLayer.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/intermediate/MultiInputColumnIntermediateLayer.java
similarity index 93%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/MultiInputColumnIntermediateLayer.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/intermediate/MultiInputColumnIntermediateLayer.java
index 8100d005c1..f7d14a396a 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/MultiInputColumnIntermediateLayer.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/intermediate/MultiInputColumnIntermediateLayer.java
@@ -17,21 +17,23 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.layer;
+package org.apache.iotdb.db.mpp.transformation.dag.intermediate;
 
 import org.apache.iotdb.commons.udf.api.access.Row;
 import org.apache.iotdb.commons.udf.api.access.RowWindow;
 import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
 import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingTimeWindowAccessStrategy;
 import org.apache.iotdb.db.exception.query.QueryProcessException;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.api.LayerRowReader;
+import org.apache.iotdb.db.mpp.transformation.api.LayerRowWindowReader;
+import org.apache.iotdb.db.mpp.transformation.dag.adapter.ElasticSerializableRowRecordListBackedMultiColumnRow;
+import org.apache.iotdb.db.mpp.transformation.dag.adapter.ElasticSerializableRowRecordListBackedMultiColumnWindow;
+import org.apache.iotdb.db.mpp.transformation.dag.util.InputRowUtils;
+import org.apache.iotdb.db.mpp.transformation.dag.util.LayerCacheUtils;
+import org.apache.iotdb.db.mpp.transformation.datastructure.row.ElasticSerializableRowRecordList;
 import org.apache.iotdb.db.query.dataset.IUDFInputDataSet;
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.udf.core.access.ElasticSerializableRowRecordListBackedMultiColumnRow;
-import org.apache.iotdb.db.query.udf.core.access.ElasticSerializableRowRecordListBackedMultiColumnWindow;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
-import org.apache.iotdb.db.query.udf.core.reader.LayerRowReader;
-import org.apache.iotdb.db.query.udf.core.reader.LayerRowWindowReader;
-import org.apache.iotdb.db.query.udf.datastructure.row.ElasticSerializableRowRecordList;
 import org.apache.iotdb.db.utils.datastructure.TimeSelector;
 import org.apache.iotdb.tsfile.exception.write.UnSupportedDataTypeException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/SingleInputColumnMultiReferenceIntermediateLayer.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/intermediate/SingleInputColumnMultiReferenceIntermediateLayer.java
similarity index 92%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/SingleInputColumnMultiReferenceIntermediateLayer.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/intermediate/SingleInputColumnMultiReferenceIntermediateLayer.java
index 3c0676e0b8..7be2b1fdfa 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/SingleInputColumnMultiReferenceIntermediateLayer.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/intermediate/SingleInputColumnMultiReferenceIntermediateLayer.java
@@ -17,21 +17,23 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.layer;
+package org.apache.iotdb.db.mpp.transformation.dag.intermediate;
 
 import org.apache.iotdb.commons.udf.api.access.Row;
 import org.apache.iotdb.commons.udf.api.access.RowWindow;
 import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
 import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingTimeWindowAccessStrategy;
 import org.apache.iotdb.db.exception.query.QueryProcessException;
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.udf.core.access.ElasticSerializableTVListBackedSingleColumnRow;
-import org.apache.iotdb.db.query.udf.core.access.ElasticSerializableTVListBackedSingleColumnWindow;
-import org.apache.iotdb.db.query.udf.core.layer.SafetyLine.SafetyPile;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
-import org.apache.iotdb.db.query.udf.core.reader.LayerRowReader;
-import org.apache.iotdb.db.query.udf.core.reader.LayerRowWindowReader;
-import org.apache.iotdb.db.query.udf.datastructure.tv.ElasticSerializableTVList;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.api.LayerRowReader;
+import org.apache.iotdb.db.mpp.transformation.api.LayerRowWindowReader;
+import org.apache.iotdb.db.mpp.transformation.dag.adapter.ElasticSerializableTVListBackedSingleColumnRow;
+import org.apache.iotdb.db.mpp.transformation.dag.adapter.ElasticSerializableTVListBackedSingleColumnWindow;
+import org.apache.iotdb.db.mpp.transformation.dag.memory.SafetyLine;
+import org.apache.iotdb.db.mpp.transformation.dag.memory.SafetyLine.SafetyPile;
+import org.apache.iotdb.db.mpp.transformation.dag.util.LayerCacheUtils;
+import org.apache.iotdb.db.mpp.transformation.datastructure.tv.ElasticSerializableTVList;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.utils.Binary;
 
@@ -55,8 +57,7 @@ public class SingleInputColumnMultiReferenceIntermediateLayer extends Intermedia
       Expression expression,
       long queryId,
       float memoryBudgetInMB,
-      LayerPointReader parentLayerPointReader)
-      throws QueryProcessException {
+      LayerPointReader parentLayerPointReader) {
     super(expression, queryId, memoryBudgetInMB);
     this.parentLayerPointReader = parentLayerPointReader;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/SingleInputColumnSingleReferenceIntermediateLayer.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/intermediate/SingleInputColumnSingleReferenceIntermediateLayer.java
similarity index 92%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/SingleInputColumnSingleReferenceIntermediateLayer.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/intermediate/SingleInputColumnSingleReferenceIntermediateLayer.java
index caf64cf7da..846b77b738 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/SingleInputColumnSingleReferenceIntermediateLayer.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/intermediate/SingleInputColumnSingleReferenceIntermediateLayer.java
@@ -17,20 +17,21 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.layer;
+package org.apache.iotdb.db.mpp.transformation.dag.intermediate;
 
 import org.apache.iotdb.commons.udf.api.access.Row;
 import org.apache.iotdb.commons.udf.api.access.RowWindow;
 import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
 import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingTimeWindowAccessStrategy;
 import org.apache.iotdb.db.exception.query.QueryProcessException;
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.udf.core.access.ElasticSerializableTVListBackedSingleColumnWindow;
-import org.apache.iotdb.db.query.udf.core.access.LayerPointReaderBackedSingleColumnRow;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
-import org.apache.iotdb.db.query.udf.core.reader.LayerRowReader;
-import org.apache.iotdb.db.query.udf.core.reader.LayerRowWindowReader;
-import org.apache.iotdb.db.query.udf.datastructure.tv.ElasticSerializableTVList;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.api.LayerRowReader;
+import org.apache.iotdb.db.mpp.transformation.api.LayerRowWindowReader;
+import org.apache.iotdb.db.mpp.transformation.dag.adapter.ElasticSerializableTVListBackedSingleColumnWindow;
+import org.apache.iotdb.db.mpp.transformation.dag.adapter.LayerPointReaderBackedSingleColumnRow;
+import org.apache.iotdb.db.mpp.transformation.dag.util.LayerCacheUtils;
+import org.apache.iotdb.db.mpp.transformation.datastructure.tv.ElasticSerializableTVList;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import org.slf4j.Logger;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/LayerMemoryAssigner.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/memory/LayerMemoryAssigner.java
similarity index 91%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/LayerMemoryAssigner.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/memory/LayerMemoryAssigner.java
index 03f6fbe8b2..928c662883 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/LayerMemoryAssigner.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/memory/LayerMemoryAssigner.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.layer;
+package org.apache.iotdb.db.mpp.transformation.dag.memory;
 
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.multi.FunctionExpression;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.multi.FunctionExpression;
 
 import java.util.HashMap;
 import java.util.Map;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/SafetyLine.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/memory/SafetyLine.java
similarity index 94%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/SafetyLine.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/memory/SafetyLine.java
index 9f36b0540c..cdd61ab824 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/SafetyLine.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/memory/SafetyLine.java
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.layer;
+package org.apache.iotdb.db.mpp.transformation.dag.memory;
 
-import org.apache.iotdb.db.query.udf.datastructure.tv.ElasticSerializableTVList;
+import org.apache.iotdb.db.mpp.transformation.datastructure.tv.ElasticSerializableTVList;
 
 /** Tells the {@link ElasticSerializableTVList} if it is safe to remove a cache block. */
 public class SafetyLine {
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/Transformer.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/Transformer.java
similarity index 94%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/Transformer.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/Transformer.java
index a666924a5c..17d91d60a2 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/Transformer.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/Transformer.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.transformer;
+package org.apache.iotdb.db.mpp.transformation.dag.transformer;
 
 import org.apache.iotdb.db.exception.query.QueryProcessException;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
 import org.apache.iotdb.tsfile.utils.Binary;
 
 import java.io.IOException;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/ArithmeticAdditionTransformer.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/ArithmeticAdditionTransformer.java
similarity index 89%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/ArithmeticAdditionTransformer.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/ArithmeticAdditionTransformer.java
index 439378f39b..1940fcbf2e 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/ArithmeticAdditionTransformer.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/ArithmeticAdditionTransformer.java
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.transformer.binary;
+package org.apache.iotdb.db.mpp.transformation.dag.transformer.binary;
 
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
 
 public class ArithmeticAdditionTransformer extends ArithmeticBinaryTransformer {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/ArithmeticBinaryTransformer.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/ArithmeticBinaryTransformer.java
similarity index 94%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/ArithmeticBinaryTransformer.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/ArithmeticBinaryTransformer.java
index 751fc534d6..5e3da9f1d6 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/ArithmeticBinaryTransformer.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/ArithmeticBinaryTransformer.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.transformer.binary;
+package org.apache.iotdb.db.mpp.transformation.dag.transformer.binary;
 
 import org.apache.iotdb.db.exception.query.QueryProcessException;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
 import org.apache.iotdb.tsfile.exception.write.UnSupportedDataTypeException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/ArithmeticDivisionTransformer.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/ArithmeticDivisionTransformer.java
similarity index 89%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/ArithmeticDivisionTransformer.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/ArithmeticDivisionTransformer.java
index 30fb3d248f..8792fc4393 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/ArithmeticDivisionTransformer.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/ArithmeticDivisionTransformer.java
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.transformer.binary;
+package org.apache.iotdb.db.mpp.transformation.dag.transformer.binary;
 
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
 
 public class ArithmeticDivisionTransformer extends ArithmeticBinaryTransformer {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/ArithmeticModuloTransformer.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/ArithmeticModuloTransformer.java
similarity index 89%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/ArithmeticModuloTransformer.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/ArithmeticModuloTransformer.java
index a22f2d4400..1b56cdfaab 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/ArithmeticModuloTransformer.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/ArithmeticModuloTransformer.java
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.transformer.binary;
+package org.apache.iotdb.db.mpp.transformation.dag.transformer.binary;
 
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
 
 public class ArithmeticModuloTransformer extends ArithmeticBinaryTransformer {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/ArithmeticMultiplicationTransformer.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/ArithmeticMultiplicationTransformer.java
similarity index 89%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/ArithmeticMultiplicationTransformer.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/ArithmeticMultiplicationTransformer.java
index b24522267b..1a1733c245 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/ArithmeticMultiplicationTransformer.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/ArithmeticMultiplicationTransformer.java
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.transformer.binary;
+package org.apache.iotdb.db.mpp.transformation.dag.transformer.binary;
 
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
 
 public class ArithmeticMultiplicationTransformer extends ArithmeticBinaryTransformer {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/ArithmeticSubtractionTransformer.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/ArithmeticSubtractionTransformer.java
similarity index 89%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/ArithmeticSubtractionTransformer.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/ArithmeticSubtractionTransformer.java
index 6659a40ff0..dde1b40ec8 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/ArithmeticSubtractionTransformer.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/ArithmeticSubtractionTransformer.java
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.transformer.binary;
+package org.apache.iotdb.db.mpp.transformation.dag.transformer.binary;
 
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
 
 public class ArithmeticSubtractionTransformer extends ArithmeticBinaryTransformer {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/BinaryTransformer.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/BinaryTransformer.java
similarity index 95%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/BinaryTransformer.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/BinaryTransformer.java
index c99a4e1b3c..13cd2a4d5b 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/BinaryTransformer.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/BinaryTransformer.java
@@ -17,11 +17,11 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.transformer.binary;
+package org.apache.iotdb.db.mpp.transformation.dag.transformer.binary;
 
 import org.apache.iotdb.db.exception.query.QueryProcessException;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
-import org.apache.iotdb.db.query.udf.core.transformer.Transformer;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.dag.transformer.Transformer;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import java.io.IOException;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/CompareBinaryTransformer.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/CompareBinaryTransformer.java
similarity index 95%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/CompareBinaryTransformer.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/CompareBinaryTransformer.java
index 42b42e1058..e81b4e96c4 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/CompareBinaryTransformer.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/CompareBinaryTransformer.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.transformer.binary;
+package org.apache.iotdb.db.mpp.transformation.dag.transformer.binary;
 
 import org.apache.iotdb.db.exception.query.QueryProcessException;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
 import org.apache.iotdb.tsfile.exception.write.UnSupportedDataTypeException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/CompareEqualToTransformer.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/CompareEqualToTransformer.java
similarity index 92%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/CompareEqualToTransformer.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/CompareEqualToTransformer.java
index af6b2c8d65..4ea813e083 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/CompareEqualToTransformer.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/CompareEqualToTransformer.java
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.transformer.binary;
+package org.apache.iotdb.db.mpp.transformation.dag.transformer.binary;
 
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
 
 public class CompareEqualToTransformer extends CompareBinaryTransformer {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/CompareGreaterEqualTransformer.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/CompareGreaterEqualTransformer.java
similarity index 92%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/CompareGreaterEqualTransformer.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/CompareGreaterEqualTransformer.java
index 1e98bfe423..b5d53f0dc9 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/CompareGreaterEqualTransformer.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/CompareGreaterEqualTransformer.java
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.transformer.binary;
+package org.apache.iotdb.db.mpp.transformation.dag.transformer.binary;
 
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
 
 public class CompareGreaterEqualTransformer extends CompareBinaryTransformer {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/CompareGreaterThanTransformer.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/CompareGreaterThanTransformer.java
similarity index 92%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/CompareGreaterThanTransformer.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/CompareGreaterThanTransformer.java
index 9e7a5ea3ba..798df4a1b7 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/CompareGreaterThanTransformer.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/CompareGreaterThanTransformer.java
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.transformer.binary;
+package org.apache.iotdb.db.mpp.transformation.dag.transformer.binary;
 
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
 
 public class CompareGreaterThanTransformer extends CompareBinaryTransformer {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/CompareLessEqualTransformer.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/CompareLessEqualTransformer.java
similarity index 92%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/CompareLessEqualTransformer.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/CompareLessEqualTransformer.java
index 0c53e86949..9b322c7297 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/CompareLessEqualTransformer.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/CompareLessEqualTransformer.java
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.transformer.binary;
+package org.apache.iotdb.db.mpp.transformation.dag.transformer.binary;
 
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
 
 public class CompareLessEqualTransformer extends CompareBinaryTransformer {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/CompareLessThanTransformer.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/CompareLessThanTransformer.java
similarity index 92%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/CompareLessThanTransformer.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/CompareLessThanTransformer.java
index 9e77e2aa21..19a65ce8ef 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/CompareLessThanTransformer.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/CompareLessThanTransformer.java
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.transformer.binary;
+package org.apache.iotdb.db.mpp.transformation.dag.transformer.binary;
 
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
 
 public class CompareLessThanTransformer extends CompareBinaryTransformer {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/CompareNonEqualTransformer.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/CompareNonEqualTransformer.java
similarity index 92%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/CompareNonEqualTransformer.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/CompareNonEqualTransformer.java
index 024c54deb5..65bed1face 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/CompareNonEqualTransformer.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/CompareNonEqualTransformer.java
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.transformer.binary;
+package org.apache.iotdb.db.mpp.transformation.dag.transformer.binary;
 
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
 import org.apache.iotdb.tsfile.exception.write.UnSupportedDataTypeException;
 
 public class CompareNonEqualTransformer extends CompareBinaryTransformer {
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/LogicAndTransformer.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/LogicAndTransformer.java
similarity index 88%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/LogicAndTransformer.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/LogicAndTransformer.java
index 3dc5c1d240..f2c25b46b8 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/LogicAndTransformer.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/LogicAndTransformer.java
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.transformer.binary;
+package org.apache.iotdb.db.mpp.transformation.dag.transformer.binary;
 
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
 
 public class LogicAndTransformer extends LogicBinaryTransformer {
 
@@ -27,6 +27,7 @@ public class LogicAndTransformer extends LogicBinaryTransformer {
     super(leftPointReader, rightPointReader);
   }
 
+  @Override
   protected boolean evaluate(boolean leftOperand, boolean rightOperand) {
     return leftOperand && rightOperand;
   }
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/LogicBinaryTransformer.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/LogicBinaryTransformer.java
similarity index 93%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/LogicBinaryTransformer.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/LogicBinaryTransformer.java
index 7eee752775..15cf8aa75c 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/LogicBinaryTransformer.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/LogicBinaryTransformer.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.transformer.binary;
+package org.apache.iotdb.db.mpp.transformation.dag.transformer.binary;
 
 import org.apache.iotdb.db.exception.query.QueryProcessException;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
 import org.apache.iotdb.tsfile.exception.write.UnSupportedDataTypeException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/LogicOrTransformer.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/LogicOrTransformer.java
similarity index 89%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/LogicOrTransformer.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/LogicOrTransformer.java
index b8ac911a91..2ef1e35614 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/binary/LogicOrTransformer.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/binary/LogicOrTransformer.java
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.transformer.binary;
+package org.apache.iotdb.db.mpp.transformation.dag.transformer.binary;
 
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
 
 public class LogicOrTransformer extends LogicBinaryTransformer {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/multi/UDFQueryRowTransformer.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/multi/UDFQueryRowTransformer.java
similarity index 88%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/multi/UDFQueryRowTransformer.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/multi/UDFQueryRowTransformer.java
index 354a102736..c96af9fd7f 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/multi/UDFQueryRowTransformer.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/multi/UDFQueryRowTransformer.java
@@ -17,11 +17,11 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.transformer.multi;
+package org.apache.iotdb.db.mpp.transformation.dag.transformer.multi;
 
 import org.apache.iotdb.db.exception.query.QueryProcessException;
-import org.apache.iotdb.db.query.udf.core.executor.UDTFExecutor;
-import org.apache.iotdb.db.query.udf.core.reader.LayerRowReader;
+import org.apache.iotdb.db.mpp.transformation.api.LayerRowReader;
+import org.apache.iotdb.db.mpp.transformation.dag.udf.UDTFExecutor;
 
 import java.io.IOException;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/multi/UDFQueryRowWindowTransformer.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/multi/UDFQueryRowWindowTransformer.java
similarity index 87%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/multi/UDFQueryRowWindowTransformer.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/multi/UDFQueryRowWindowTransformer.java
index 1f810694e2..65188bed3d 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/multi/UDFQueryRowWindowTransformer.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/multi/UDFQueryRowWindowTransformer.java
@@ -17,11 +17,11 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.transformer.multi;
+package org.apache.iotdb.db.mpp.transformation.dag.transformer.multi;
 
 import org.apache.iotdb.db.exception.query.QueryProcessException;
-import org.apache.iotdb.db.query.udf.core.executor.UDTFExecutor;
-import org.apache.iotdb.db.query.udf.core.reader.LayerRowWindowReader;
+import org.apache.iotdb.db.mpp.transformation.api.LayerRowWindowReader;
+import org.apache.iotdb.db.mpp.transformation.dag.udf.UDTFExecutor;
 
 import java.io.IOException;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/multi/UDFQueryTransformer.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/multi/UDFQueryTransformer.java
similarity index 92%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/multi/UDFQueryTransformer.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/multi/UDFQueryTransformer.java
index 28b18f6cfc..77e5a2ffa7 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/multi/UDFQueryTransformer.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/multi/UDFQueryTransformer.java
@@ -17,12 +17,12 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.transformer.multi;
+package org.apache.iotdb.db.mpp.transformation.dag.transformer.multi;
 
 import org.apache.iotdb.db.exception.query.QueryProcessException;
-import org.apache.iotdb.db.query.udf.core.executor.UDTFExecutor;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
-import org.apache.iotdb.db.query.udf.core.transformer.Transformer;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.dag.transformer.Transformer;
+import org.apache.iotdb.db.mpp.transformation.dag.udf.UDTFExecutor;
 import org.apache.iotdb.tsfile.exception.write.UnSupportedDataTypeException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/unary/ArithmeticNegationTransformer.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/unary/ArithmeticNegationTransformer.java
similarity index 93%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/unary/ArithmeticNegationTransformer.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/unary/ArithmeticNegationTransformer.java
index 1dbd1ba046..06bad592de 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/unary/ArithmeticNegationTransformer.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/unary/ArithmeticNegationTransformer.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.transformer.unary;
+package org.apache.iotdb.db.mpp.transformation.dag.transformer.unary;
 
 import org.apache.iotdb.db.exception.query.QueryProcessException;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import java.io.IOException;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/unary/InTransformer.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/unary/InTransformer.java
similarity index 97%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/unary/InTransformer.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/unary/InTransformer.java
index 5d219f50cf..05673d3119 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/unary/InTransformer.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/unary/InTransformer.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.transformer.unary;
+package org.apache.iotdb.db.mpp.transformation.dag.transformer.unary;
 
 import org.apache.iotdb.db.exception.query.QueryProcessException;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.utils.Binary;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/unary/LogicNotTransformer.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/unary/LogicNotTransformer.java
similarity index 92%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/unary/LogicNotTransformer.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/unary/LogicNotTransformer.java
index 558bd6caea..da23d377f4 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/unary/LogicNotTransformer.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/unary/LogicNotTransformer.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.transformer.unary;
+package org.apache.iotdb.db.mpp.transformation.dag.transformer.unary;
 
 import org.apache.iotdb.db.exception.query.QueryProcessException;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
 import org.apache.iotdb.tsfile.exception.write.UnSupportedDataTypeException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/unary/RegularTransformer.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/unary/RegularTransformer.java
similarity index 93%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/unary/RegularTransformer.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/unary/RegularTransformer.java
index e7095eb010..862c7fe563 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/unary/RegularTransformer.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/unary/RegularTransformer.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.transformer.unary;
+package org.apache.iotdb.db.mpp.transformation.dag.transformer.unary;
 
 import org.apache.iotdb.db.exception.query.QueryProcessException;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
 import org.apache.iotdb.tsfile.exception.write.UnSupportedDataTypeException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.utils.Binary;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/unary/TransparentTransformer.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/unary/TransparentTransformer.java
similarity index 94%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/unary/TransparentTransformer.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/unary/TransparentTransformer.java
index 5cec6149bc..6b544c1025 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/unary/TransparentTransformer.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/unary/TransparentTransformer.java
@@ -16,10 +16,10 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.iotdb.db.query.udf.core.transformer.unary;
+package org.apache.iotdb.db.mpp.transformation.dag.transformer.unary;
 
 import org.apache.iotdb.db.exception.query.QueryProcessException;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import java.io.IOException;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/unary/UnaryTransformer.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/unary/UnaryTransformer.java
similarity index 90%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/unary/UnaryTransformer.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/unary/UnaryTransformer.java
index c291d131be..7953b12a1c 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/transformer/unary/UnaryTransformer.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/transformer/unary/UnaryTransformer.java
@@ -17,11 +17,11 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.transformer.unary;
+package org.apache.iotdb.db.mpp.transformation.dag.transformer.unary;
 
 import org.apache.iotdb.db.exception.query.QueryProcessException;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
-import org.apache.iotdb.db.query.udf.core.transformer.Transformer;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.dag.transformer.Transformer;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import java.io.IOException;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/executor/UDTFContext.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/udf/UDTFContext.java
similarity index 89%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/executor/UDTFContext.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/udf/UDTFContext.java
index 9350376708..1876756d85 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/executor/UDTFContext.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/udf/UDTFContext.java
@@ -17,11 +17,11 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.executor;
+package org.apache.iotdb.db.mpp.transformation.dag.udf;
 
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.ResultColumn;
-import org.apache.iotdb.db.query.expression.multi.FunctionExpression;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.ResultColumn;
+import org.apache.iotdb.db.mpp.plan.expression.multi.FunctionExpression;
 import org.apache.iotdb.db.query.udf.service.UDFClassLoaderManager;
 
 import java.time.ZoneId;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/executor/UDTFExecutor.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/udf/UDTFExecutor.java
similarity index 96%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/executor/UDTFExecutor.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/udf/UDTFExecutor.java
index 822be40634..dd03c7e06c 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/executor/UDTFExecutor.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/udf/UDTFExecutor.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.executor;
+package org.apache.iotdb.db.mpp.transformation.dag.udf;
 
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.commons.udf.api.UDTF;
@@ -26,7 +26,7 @@ import org.apache.iotdb.commons.udf.api.access.RowWindow;
 import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
 import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
 import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.datastructure.tv.ElasticSerializableTVList;
+import org.apache.iotdb.db.mpp.transformation.datastructure.tv.ElasticSerializableTVList;
 import org.apache.iotdb.db.query.udf.service.UDFRegistrationService;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/executor/UDTFTypeInferrer.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/udf/UDTFTypeInferrer.java
similarity index 98%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/executor/UDTFTypeInferrer.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/udf/UDTFTypeInferrer.java
index 7f428202ef..4e3342c202 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/executor/UDTFTypeInferrer.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/udf/UDTFTypeInferrer.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.executor;
+package org.apache.iotdb.db.mpp.transformation.dag.udf;
 
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.commons.udf.api.UDTF;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/InputRowUtils.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/util/InputRowUtils.java
similarity index 97%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/InputRowUtils.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/util/InputRowUtils.java
index 5a56256944..007b8f8397 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/InputRowUtils.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/util/InputRowUtils.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.iotdb.db.query.udf.core.layer;
+package org.apache.iotdb.db.mpp.transformation.dag.util;
 
 import org.apache.iotdb.db.query.dataset.IUDFInputDataSet;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/LayerCacheUtils.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/util/LayerCacheUtils.java
similarity index 91%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/LayerCacheUtils.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/util/LayerCacheUtils.java
index ab63797f92..fdef1eb903 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/LayerCacheUtils.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/util/LayerCacheUtils.java
@@ -17,13 +17,13 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.core.layer;
+package org.apache.iotdb.db.mpp.transformation.dag.util;
 
 import org.apache.iotdb.db.exception.query.QueryProcessException;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.datastructure.row.ElasticSerializableRowRecordList;
+import org.apache.iotdb.db.mpp.transformation.datastructure.tv.ElasticSerializableTVList;
 import org.apache.iotdb.db.query.dataset.IUDFInputDataSet;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
-import org.apache.iotdb.db.query.udf.datastructure.row.ElasticSerializableRowRecordList;
-import org.apache.iotdb.db.query.udf.datastructure.tv.ElasticSerializableTVList;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import java.io.IOException;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/Cache.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/datastructure/Cache.java
similarity index 97%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/Cache.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/datastructure/Cache.java
index 3194b821e8..c70f5446bb 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/Cache.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/datastructure/Cache.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.datastructure;
+package org.apache.iotdb.db.mpp.transformation.datastructure;
 
 /** <b>Note: It's not thread safe.</b> */
 public abstract class Cache {
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/SerializableList.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/datastructure/SerializableList.java
similarity index 97%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/SerializableList.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/datastructure/SerializableList.java
index 7ab360be20..9ab4449a69 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/SerializableList.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/datastructure/SerializableList.java
@@ -17,11 +17,11 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.datastructure;
+package org.apache.iotdb.db.mpp.transformation.datastructure;
 
 import org.apache.iotdb.commons.file.SystemFileFactory;
 import org.apache.iotdb.db.conf.IoTDBDescriptor;
-import org.apache.iotdb.db.query.udf.service.TemporaryQueryDataFileService;
+import org.apache.iotdb.db.service.TemporaryQueryDataFileService;
 import org.apache.iotdb.tsfile.utils.PublicBAOS;
 
 import java.io.IOException;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/row/ElasticSerializableRowRecordList.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/datastructure/row/ElasticSerializableRowRecordList.java
similarity index 93%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/row/ElasticSerializableRowRecordList.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/datastructure/row/ElasticSerializableRowRecordList.java
index d7d9ef6407..0d57428ea2 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/row/ElasticSerializableRowRecordList.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/datastructure/row/ElasticSerializableRowRecordList.java
@@ -17,11 +17,12 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.datastructure.row;
+package org.apache.iotdb.db.mpp.transformation.datastructure.row;
 
 import org.apache.iotdb.db.exception.query.QueryProcessException;
-import org.apache.iotdb.db.query.udf.core.layer.InputRowUtils;
-import org.apache.iotdb.db.query.udf.datastructure.Cache;
+import org.apache.iotdb.db.mpp.transformation.dag.util.InputRowUtils;
+import org.apache.iotdb.db.mpp.transformation.datastructure.Cache;
+import org.apache.iotdb.db.mpp.transformation.datastructure.SerializableList;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.utils.Binary;
 import org.apache.iotdb.tsfile.utils.BitMap;
@@ -30,8 +31,6 @@ import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 
-import static org.apache.iotdb.db.query.udf.datastructure.SerializableList.INITIAL_BYTE_ARRAY_LENGTH_FOR_MEMORY_CONTROL;
-
 /** An elastic list of records that implements memory control using LRU strategy. */
 public class ElasticSerializableRowRecordList {
 
@@ -73,7 +72,9 @@ public class ElasticSerializableRowRecordList {
     this.memoryLimitInMB = memoryLimitInMB;
     int allocatableCapacity =
         SerializableRowRecordList.calculateCapacity(
-            dataTypes, memoryLimitInMB, INITIAL_BYTE_ARRAY_LENGTH_FOR_MEMORY_CONTROL);
+            dataTypes,
+            memoryLimitInMB,
+            SerializableList.INITIAL_BYTE_ARRAY_LENGTH_FOR_MEMORY_CONTROL);
     internalRowRecordListCapacity = allocatableCapacity / numCacheBlock;
     if (internalRowRecordListCapacity == 0) {
       numCacheBlock = 1;
@@ -102,7 +103,7 @@ public class ElasticSerializableRowRecordList {
         indexListOfTextFields[fieldIndex++] = i;
       }
     }
-    byteArrayLengthForMemoryControl = INITIAL_BYTE_ARRAY_LENGTH_FOR_MEMORY_CONTROL;
+    byteArrayLengthForMemoryControl = SerializableList.INITIAL_BYTE_ARRAY_LENGTH_FOR_MEMORY_CONTROL;
     totalByteArrayLengthLimit = 0;
     totalByteArrayLength = 0;
   }
@@ -222,10 +223,10 @@ public class ElasticSerializableRowRecordList {
             ((totalByteArrayLength - totalByteArrayLengthLimit)
                 / size
                 / indexListOfTextFields.length
-                / INITIAL_BYTE_ARRAY_LENGTH_FOR_MEMORY_CONTROL);
+                / SerializableList.INITIAL_BYTE_ARRAY_LENGTH_FOR_MEMORY_CONTROL);
     newByteArrayLengthForMemoryControl =
         byteArrayLengthForMemoryControl
-            + 2 * (delta + 1) * INITIAL_BYTE_ARRAY_LENGTH_FOR_MEMORY_CONTROL;
+            + 2 * (delta + 1) * SerializableList.INITIAL_BYTE_ARRAY_LENGTH_FOR_MEMORY_CONTROL;
     newInternalTVListCapacity =
         SerializableRowRecordList.calculateCapacity(
                 dataTypes, memoryLimitInMB, newByteArrayLengthForMemoryControl)
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/row/SerializableRowRecordList.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/datastructure/row/SerializableRowRecordList.java
similarity index 98%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/row/SerializableRowRecordList.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/datastructure/row/SerializableRowRecordList.java
index f49e449461..b13096659f 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/row/SerializableRowRecordList.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/datastructure/row/SerializableRowRecordList.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.datastructure.row;
+package org.apache.iotdb.db.mpp.transformation.datastructure.row;
 
 import org.apache.iotdb.db.exception.query.QueryProcessException;
-import org.apache.iotdb.db.query.udf.datastructure.SerializableList;
+import org.apache.iotdb.db.mpp.transformation.datastructure.SerializableList;
 import org.apache.iotdb.tsfile.exception.write.UnSupportedDataTypeException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.utils.Binary;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/ElasticSerializableBinaryTVList.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/datastructure/tv/ElasticSerializableBinaryTVList.java
similarity index 92%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/ElasticSerializableBinaryTVList.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/datastructure/tv/ElasticSerializableBinaryTVList.java
index 7ed0737df0..29f507aad1 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/ElasticSerializableBinaryTVList.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/datastructure/tv/ElasticSerializableBinaryTVList.java
@@ -17,15 +17,14 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.datastructure.tv;
+package org.apache.iotdb.db.mpp.transformation.datastructure.tv;
 
+import org.apache.iotdb.db.mpp.transformation.datastructure.SerializableList;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.utils.Binary;
 
 import java.io.IOException;
 
-import static org.apache.iotdb.db.query.udf.datastructure.SerializableList.INITIAL_BYTE_ARRAY_LENGTH_FOR_MEMORY_CONTROL;
-
 public class ElasticSerializableBinaryTVList extends ElasticSerializableTVList {
 
   protected static final int MEMORY_CHECK_THRESHOLD = 1000;
@@ -37,7 +36,7 @@ public class ElasticSerializableBinaryTVList extends ElasticSerializableTVList {
 
   public ElasticSerializableBinaryTVList(long queryId, float memoryLimitInMB, int cacheSize) {
     super(TSDataType.TEXT, queryId, memoryLimitInMB, cacheSize);
-    byteArrayLengthForMemoryControl = INITIAL_BYTE_ARRAY_LENGTH_FOR_MEMORY_CONTROL;
+    byteArrayLengthForMemoryControl = SerializableList.INITIAL_BYTE_ARRAY_LENGTH_FOR_MEMORY_CONTROL;
     totalByteArrayLengthLimit = 0;
     totalByteArrayLength = 0;
   }
@@ -82,10 +81,10 @@ public class ElasticSerializableBinaryTVList extends ElasticSerializableTVList {
         (int)
             ((totalByteArrayLength - totalByteArrayLengthLimit)
                 / size
-                / INITIAL_BYTE_ARRAY_LENGTH_FOR_MEMORY_CONTROL);
+                / SerializableList.INITIAL_BYTE_ARRAY_LENGTH_FOR_MEMORY_CONTROL);
     newByteArrayLengthForMemoryControl =
         byteArrayLengthForMemoryControl
-            + 2 * (delta + 1) * INITIAL_BYTE_ARRAY_LENGTH_FOR_MEMORY_CONTROL;
+            + 2 * (delta + 1) * SerializableList.INITIAL_BYTE_ARRAY_LENGTH_FOR_MEMORY_CONTROL;
     newInternalTVListCapacity =
         SerializableBinaryTVList.calculateCapacity(
                 memoryLimitInMB, newByteArrayLengthForMemoryControl)
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/ElasticSerializableTVList.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/datastructure/tv/ElasticSerializableTVList.java
similarity index 98%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/ElasticSerializableTVList.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/datastructure/tv/ElasticSerializableTVList.java
index 5cc5f42f49..91fa3de508 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/ElasticSerializableTVList.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/datastructure/tv/ElasticSerializableTVList.java
@@ -17,12 +17,12 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.datastructure.tv;
+package org.apache.iotdb.db.mpp.transformation.datastructure.tv;
 
 import org.apache.iotdb.commons.udf.api.collector.PointCollector;
 import org.apache.iotdb.db.exception.query.QueryProcessException;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
-import org.apache.iotdb.db.query.udf.datastructure.Cache;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.datastructure.Cache;
 import org.apache.iotdb.tsfile.exception.write.UnSupportedDataTypeException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.read.common.BatchData;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/SerializableBinaryTVList.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/datastructure/tv/SerializableBinaryTVList.java
similarity index 98%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/SerializableBinaryTVList.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/datastructure/tv/SerializableBinaryTVList.java
index 80f3fc5d0b..b03467f12c 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/SerializableBinaryTVList.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/datastructure/tv/SerializableBinaryTVList.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.datastructure.tv;
+package org.apache.iotdb.db.mpp.transformation.datastructure.tv;
 
 import org.apache.iotdb.tsfile.common.conf.TSFileConfig;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/SerializableBooleanTVList.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/datastructure/tv/SerializableBooleanTVList.java
similarity index 97%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/SerializableBooleanTVList.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/datastructure/tv/SerializableBooleanTVList.java
index b19246e074..2cf5e22637 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/SerializableBooleanTVList.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/datastructure/tv/SerializableBooleanTVList.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.datastructure.tv;
+package org.apache.iotdb.db.mpp.transformation.datastructure.tv;
 
 import org.apache.iotdb.tsfile.common.conf.TSFileConfig;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/SerializableDoubleTVList.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/datastructure/tv/SerializableDoubleTVList.java
similarity index 97%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/SerializableDoubleTVList.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/datastructure/tv/SerializableDoubleTVList.java
index f9d28856c3..1f1675e81f 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/SerializableDoubleTVList.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/datastructure/tv/SerializableDoubleTVList.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.datastructure.tv;
+package org.apache.iotdb.db.mpp.transformation.datastructure.tv;
 
 import org.apache.iotdb.tsfile.common.conf.TSFileConfig;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/SerializableFloatTVList.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/datastructure/tv/SerializableFloatTVList.java
similarity index 97%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/SerializableFloatTVList.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/datastructure/tv/SerializableFloatTVList.java
index 5415ad6b56..540749bb2d 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/SerializableFloatTVList.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/datastructure/tv/SerializableFloatTVList.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.datastructure.tv;
+package org.apache.iotdb.db.mpp.transformation.datastructure.tv;
 
 import org.apache.iotdb.tsfile.common.conf.TSFileConfig;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/SerializableIntTVList.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/datastructure/tv/SerializableIntTVList.java
similarity index 97%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/SerializableIntTVList.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/datastructure/tv/SerializableIntTVList.java
index 86a0106aaa..21894d55ba 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/SerializableIntTVList.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/datastructure/tv/SerializableIntTVList.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.datastructure.tv;
+package org.apache.iotdb.db.mpp.transformation.datastructure.tv;
 
 import org.apache.iotdb.tsfile.common.conf.TSFileConfig;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/SerializableLongTVList.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/datastructure/tv/SerializableLongTVList.java
similarity index 97%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/SerializableLongTVList.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/datastructure/tv/SerializableLongTVList.java
index e3300b42b0..60fb06037c 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/SerializableLongTVList.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/datastructure/tv/SerializableLongTVList.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.datastructure.tv;
+package org.apache.iotdb.db.mpp.transformation.datastructure.tv;
 
 import org.apache.iotdb.tsfile.common.conf.TSFileConfig;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/SerializableTVList.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/datastructure/tv/SerializableTVList.java
similarity index 95%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/SerializableTVList.java
rename to server/src/main/java/org/apache/iotdb/db/mpp/transformation/datastructure/tv/SerializableTVList.java
index f595043e5b..a031be2a2b 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/SerializableTVList.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/datastructure/tv/SerializableTVList.java
@@ -17,9 +17,9 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.datastructure.tv;
+package org.apache.iotdb.db.mpp.transformation.datastructure.tv;
 
-import org.apache.iotdb.db.query.udf.datastructure.SerializableList;
+import org.apache.iotdb.db.mpp.transformation.datastructure.SerializableList;
 import org.apache.iotdb.tsfile.exception.write.UnSupportedDataTypeException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.read.common.BatchData;
diff --git a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/InfluxFunction.java b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/InfluxFunction.java
index 3c800af525..2904d1d220 100644
--- a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/InfluxFunction.java
+++ b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/InfluxFunction.java
@@ -18,8 +18,8 @@
  */
 package org.apache.iotdb.db.protocol.influxdb.function;
 
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.TimeSeriesOperand;
 
 import java.util.List;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/InfluxFunctionFactory.java b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/InfluxFunctionFactory.java
index 8c20c80a91..9310990b46 100644
--- a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/InfluxFunctionFactory.java
+++ b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/InfluxFunctionFactory.java
@@ -18,6 +18,7 @@
  */
 package org.apache.iotdb.db.protocol.influxdb.function;
 
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
 import org.apache.iotdb.db.protocol.influxdb.constant.InfluxSQLConstant;
 import org.apache.iotdb.db.protocol.influxdb.function.aggregator.InfluxCountFunction;
 import org.apache.iotdb.db.protocol.influxdb.function.aggregator.InfluxMeanFunction;
@@ -30,7 +31,6 @@ import org.apache.iotdb.db.protocol.influxdb.function.selector.InfluxFirstFuncti
 import org.apache.iotdb.db.protocol.influxdb.function.selector.InfluxLastFunction;
 import org.apache.iotdb.db.protocol.influxdb.function.selector.InfluxMaxFunction;
 import org.apache.iotdb.db.protocol.influxdb.function.selector.InfluxMinFunction;
-import org.apache.iotdb.db.query.expression.Expression;
 
 import java.util.List;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/aggregator/InfluxAggregator.java b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/aggregator/InfluxAggregator.java
index 5d82ad966d..458f378053 100644
--- a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/aggregator/InfluxAggregator.java
+++ b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/aggregator/InfluxAggregator.java
@@ -19,9 +19,9 @@
 
 package org.apache.iotdb.db.protocol.influxdb.function.aggregator;
 
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
 import org.apache.iotdb.db.protocol.influxdb.function.InfluxFunction;
 import org.apache.iotdb.db.protocol.influxdb.function.InfluxFunctionValue;
-import org.apache.iotdb.db.query.expression.Expression;
 
 import java.util.List;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/aggregator/InfluxCountFunction.java b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/aggregator/InfluxCountFunction.java
index f6acb4287c..7cbc59971f 100644
--- a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/aggregator/InfluxCountFunction.java
+++ b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/aggregator/InfluxCountFunction.java
@@ -19,9 +19,9 @@
 
 package org.apache.iotdb.db.protocol.influxdb.function.aggregator;
 
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
 import org.apache.iotdb.db.protocol.influxdb.constant.InfluxSQLConstant;
 import org.apache.iotdb.db.protocol.influxdb.function.InfluxFunctionValue;
-import org.apache.iotdb.db.query.expression.Expression;
 
 import java.util.List;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/aggregator/InfluxMeanFunction.java b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/aggregator/InfluxMeanFunction.java
index 8a5a0c6930..fb1b936e2a 100644
--- a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/aggregator/InfluxMeanFunction.java
+++ b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/aggregator/InfluxMeanFunction.java
@@ -19,9 +19,9 @@
 
 package org.apache.iotdb.db.protocol.influxdb.function.aggregator;
 
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
 import org.apache.iotdb.db.protocol.influxdb.constant.InfluxSQLConstant;
 import org.apache.iotdb.db.protocol.influxdb.function.InfluxFunctionValue;
-import org.apache.iotdb.db.query.expression.Expression;
 import org.apache.iotdb.db.utils.MathUtils;
 
 import java.util.ArrayList;
diff --git a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/aggregator/InfluxMedianFunction.java b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/aggregator/InfluxMedianFunction.java
index 33d919a0b3..eea844f9c0 100644
--- a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/aggregator/InfluxMedianFunction.java
+++ b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/aggregator/InfluxMedianFunction.java
@@ -19,9 +19,9 @@
 
 package org.apache.iotdb.db.protocol.influxdb.function.aggregator;
 
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
 import org.apache.iotdb.db.protocol.influxdb.constant.InfluxSQLConstant;
 import org.apache.iotdb.db.protocol.influxdb.function.InfluxFunctionValue;
-import org.apache.iotdb.db.query.expression.Expression;
 
 import java.util.ArrayList;
 import java.util.Collections;
diff --git a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/aggregator/InfluxModeFunction.java b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/aggregator/InfluxModeFunction.java
index 48501047af..ff1f63c8e2 100644
--- a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/aggregator/InfluxModeFunction.java
+++ b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/aggregator/InfluxModeFunction.java
@@ -19,9 +19,9 @@
 
 package org.apache.iotdb.db.protocol.influxdb.function.aggregator;
 
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
 import org.apache.iotdb.db.protocol.influxdb.constant.InfluxSQLConstant;
 import org.apache.iotdb.db.protocol.influxdb.function.InfluxFunctionValue;
-import org.apache.iotdb.db.query.expression.Expression;
 
 import java.util.HashMap;
 import java.util.List;
diff --git a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/aggregator/InfluxSpreadFunction.java b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/aggregator/InfluxSpreadFunction.java
index b76ac494f6..a5cfcbde1e 100644
--- a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/aggregator/InfluxSpreadFunction.java
+++ b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/aggregator/InfluxSpreadFunction.java
@@ -19,9 +19,9 @@
 
 package org.apache.iotdb.db.protocol.influxdb.function.aggregator;
 
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
 import org.apache.iotdb.db.protocol.influxdb.constant.InfluxSQLConstant;
 import org.apache.iotdb.db.protocol.influxdb.function.InfluxFunctionValue;
-import org.apache.iotdb.db.query.expression.Expression;
 
 import java.util.List;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/aggregator/InfluxStddevFunction.java b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/aggregator/InfluxStddevFunction.java
index 614f4026d9..21790b6177 100644
--- a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/aggregator/InfluxStddevFunction.java
+++ b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/aggregator/InfluxStddevFunction.java
@@ -19,9 +19,9 @@
 
 package org.apache.iotdb.db.protocol.influxdb.function.aggregator;
 
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
 import org.apache.iotdb.db.protocol.influxdb.constant.InfluxSQLConstant;
 import org.apache.iotdb.db.protocol.influxdb.function.InfluxFunctionValue;
-import org.apache.iotdb.db.query.expression.Expression;
 import org.apache.iotdb.db.utils.MathUtils;
 
 import java.util.ArrayList;
diff --git a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/aggregator/InfluxSumFunction.java b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/aggregator/InfluxSumFunction.java
index f175a1aaf2..a0ed37920c 100644
--- a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/aggregator/InfluxSumFunction.java
+++ b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/aggregator/InfluxSumFunction.java
@@ -19,9 +19,9 @@
 
 package org.apache.iotdb.db.protocol.influxdb.function.aggregator;
 
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
 import org.apache.iotdb.db.protocol.influxdb.constant.InfluxSQLConstant;
 import org.apache.iotdb.db.protocol.influxdb.function.InfluxFunctionValue;
-import org.apache.iotdb.db.query.expression.Expression;
 import org.apache.iotdb.db.utils.MathUtils;
 
 import java.util.ArrayList;
diff --git a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/selector/InfluxFirstFunction.java b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/selector/InfluxFirstFunction.java
index bba41c0acc..0599b8ddc5 100644
--- a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/selector/InfluxFirstFunction.java
+++ b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/selector/InfluxFirstFunction.java
@@ -19,9 +19,9 @@
 
 package org.apache.iotdb.db.protocol.influxdb.function.selector;
 
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
 import org.apache.iotdb.db.protocol.influxdb.constant.InfluxSQLConstant;
 import org.apache.iotdb.db.protocol.influxdb.function.InfluxFunctionValue;
-import org.apache.iotdb.db.query.expression.Expression;
 
 import java.util.List;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/selector/InfluxLastFunction.java b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/selector/InfluxLastFunction.java
index 2674e0e8ec..be9cce9119 100644
--- a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/selector/InfluxLastFunction.java
+++ b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/selector/InfluxLastFunction.java
@@ -19,9 +19,9 @@
 
 package org.apache.iotdb.db.protocol.influxdb.function.selector;
 
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
 import org.apache.iotdb.db.protocol.influxdb.constant.InfluxSQLConstant;
 import org.apache.iotdb.db.protocol.influxdb.function.InfluxFunctionValue;
-import org.apache.iotdb.db.query.expression.Expression;
 
 import java.util.List;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/selector/InfluxMaxFunction.java b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/selector/InfluxMaxFunction.java
index 448955fde8..c31f404b57 100644
--- a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/selector/InfluxMaxFunction.java
+++ b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/selector/InfluxMaxFunction.java
@@ -19,9 +19,9 @@
 
 package org.apache.iotdb.db.protocol.influxdb.function.selector;
 
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
 import org.apache.iotdb.db.protocol.influxdb.constant.InfluxSQLConstant;
 import org.apache.iotdb.db.protocol.influxdb.function.InfluxFunctionValue;
-import org.apache.iotdb.db.query.expression.Expression;
 
 import java.util.List;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/selector/InfluxMinFunction.java b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/selector/InfluxMinFunction.java
index 073a640d86..52d6177c58 100644
--- a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/selector/InfluxMinFunction.java
+++ b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/selector/InfluxMinFunction.java
@@ -19,9 +19,9 @@
 
 package org.apache.iotdb.db.protocol.influxdb.function.selector;
 
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
 import org.apache.iotdb.db.protocol.influxdb.constant.InfluxSQLConstant;
 import org.apache.iotdb.db.protocol.influxdb.function.InfluxFunctionValue;
-import org.apache.iotdb.db.query.expression.Expression;
 
 import java.util.List;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/selector/InfluxSelector.java b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/selector/InfluxSelector.java
index c4c9e3367d..e13013b3b6 100644
--- a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/selector/InfluxSelector.java
+++ b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/function/selector/InfluxSelector.java
@@ -19,9 +19,9 @@
 
 package org.apache.iotdb.db.protocol.influxdb.function.selector;
 
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
 import org.apache.iotdb.db.protocol.influxdb.function.InfluxFunction;
 import org.apache.iotdb.db.protocol.influxdb.function.InfluxFunctionValue;
-import org.apache.iotdb.db.query.expression.Expression;
 
 import java.util.List;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/handler/QueryHandler.java b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/handler/QueryHandler.java
index 12f78ccde2..e7b0881b6d 100644
--- a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/handler/QueryHandler.java
+++ b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/handler/QueryHandler.java
@@ -23,6 +23,10 @@ import org.apache.iotdb.commons.auth.AuthException;
 import org.apache.iotdb.commons.exception.MetadataException;
 import org.apache.iotdb.db.exception.StorageEngineException;
 import org.apache.iotdb.db.exception.query.QueryProcessException;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.ResultColumn;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.mpp.plan.expression.multi.FunctionExpression;
 import org.apache.iotdb.db.protocol.influxdb.constant.InfluxConstant;
 import org.apache.iotdb.db.protocol.influxdb.constant.InfluxSQLConstant;
 import org.apache.iotdb.db.protocol.influxdb.function.InfluxFunction;
@@ -46,10 +50,6 @@ import org.apache.iotdb.db.qp.physical.PhysicalPlan;
 import org.apache.iotdb.db.qp.physical.crud.QueryPlan;
 import org.apache.iotdb.db.query.context.QueryContext;
 import org.apache.iotdb.db.query.control.SessionManager;
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.ResultColumn;
-import org.apache.iotdb.db.query.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.query.expression.multi.FunctionExpression;
 import org.apache.iotdb.db.service.basic.ServiceProvider;
 import org.apache.iotdb.protocol.influxdb.rpc.thrift.InfluxQueryResultRsp;
 import org.apache.iotdb.rpc.RpcUtils;
diff --git a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/operator/InfluxSelectComponent.java b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/operator/InfluxSelectComponent.java
index 05e5c39fec..79a1150f66 100644
--- a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/operator/InfluxSelectComponent.java
+++ b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/operator/InfluxSelectComponent.java
@@ -18,11 +18,11 @@
  */
 package org.apache.iotdb.db.protocol.influxdb.operator;
 
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.ResultColumn;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.mpp.plan.expression.multi.FunctionExpression;
 import org.apache.iotdb.db.protocol.influxdb.constant.InfluxSQLConstant;
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.ResultColumn;
-import org.apache.iotdb.db.query.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.query.expression.multi.FunctionExpression;
 
 import java.time.ZoneId;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/sql/InfluxDBSqlVisitor.java b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/sql/InfluxDBSqlVisitor.java
index b66e14ce47..f413a4a4b3 100644
--- a/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/sql/InfluxDBSqlVisitor.java
+++ b/server/src/main/java/org/apache/iotdb/db/protocol/influxdb/sql/InfluxDBSqlVisitor.java
@@ -19,6 +19,16 @@
 package org.apache.iotdb.db.protocol.influxdb.sql;
 
 import org.apache.iotdb.commons.path.PartialPath;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.ResultColumn;
+import org.apache.iotdb.db.mpp.plan.expression.binary.AdditionExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.DivisionExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.ModuloExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.MultiplicationExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.SubtractionExpression;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.mpp.plan.expression.multi.FunctionExpression;
+import org.apache.iotdb.db.mpp.plan.expression.unary.NegationExpression;
 import org.apache.iotdb.db.protocol.influxdb.operator.InfluxQueryOperator;
 import org.apache.iotdb.db.protocol.influxdb.operator.InfluxSelectComponent;
 import org.apache.iotdb.db.qp.constant.FilterConstant;
@@ -31,16 +41,6 @@ import org.apache.iotdb.db.qp.logical.crud.WhereComponent;
 import org.apache.iotdb.db.qp.sql.InfluxDBSqlParser;
 import org.apache.iotdb.db.qp.sql.InfluxDBSqlParserBaseVisitor;
 import org.apache.iotdb.db.qp.utils.DatetimeUtils;
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.ResultColumn;
-import org.apache.iotdb.db.query.expression.binary.AdditionExpression;
-import org.apache.iotdb.db.query.expression.binary.DivisionExpression;
-import org.apache.iotdb.db.query.expression.binary.ModuloExpression;
-import org.apache.iotdb.db.query.expression.binary.MultiplicationExpression;
-import org.apache.iotdb.db.query.expression.binary.SubtractionExpression;
-import org.apache.iotdb.db.query.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.query.expression.multi.FunctionExpression;
-import org.apache.iotdb.db.query.expression.unary.NegationExpression;
 
 public class InfluxDBSqlVisitor extends InfluxDBSqlParserBaseVisitor<Operator> {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/protocol/rest/handler/QueryDataSetHandler.java b/server/src/main/java/org/apache/iotdb/db/protocol/rest/handler/QueryDataSetHandler.java
index 6f68d4df19..f12c02e179 100644
--- a/server/src/main/java/org/apache/iotdb/db/protocol/rest/handler/QueryDataSetHandler.java
+++ b/server/src/main/java/org/apache/iotdb/db/protocol/rest/handler/QueryDataSetHandler.java
@@ -17,6 +17,7 @@
 
 package org.apache.iotdb.db.protocol.rest.handler;
 
+import org.apache.iotdb.db.mpp.plan.expression.ResultColumn;
 import org.apache.iotdb.db.protocol.rest.model.ExecutionStatus;
 import org.apache.iotdb.db.qp.physical.PhysicalPlan;
 import org.apache.iotdb.db.qp.physical.crud.AggregationPlan;
@@ -29,7 +30,6 @@ import org.apache.iotdb.db.query.dataset.ShowDevicesDataSet;
 import org.apache.iotdb.db.query.dataset.ShowTimeseriesDataSet;
 import org.apache.iotdb.db.query.dataset.SingleDataSet;
 import org.apache.iotdb.db.query.dataset.groupby.GroupByLevelDataSet;
-import org.apache.iotdb.db.query.expression.ResultColumn;
 import org.apache.iotdb.rpc.TSStatusCode;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.read.common.Field;
diff --git a/server/src/main/java/org/apache/iotdb/db/qp/constant/FilterConstant.java b/server/src/main/java/org/apache/iotdb/db/qp/constant/FilterConstant.java
index 2e4ebbe383..5a92fa4ecd 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/constant/FilterConstant.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/constant/FilterConstant.java
@@ -19,8 +19,8 @@
 
 package org.apache.iotdb.db.qp.constant;
 
+import org.apache.iotdb.db.mpp.plan.expression.ExpressionType;
 import org.apache.iotdb.db.qp.sql.SqlLexer;
-import org.apache.iotdb.db.query.expression.ExpressionType;
 
 import java.util.EnumMap;
 import java.util.HashMap;
diff --git a/server/src/main/java/org/apache/iotdb/db/qp/logical/crud/AggregationQueryOperator.java b/server/src/main/java/org/apache/iotdb/db/qp/logical/crud/AggregationQueryOperator.java
index e5d80719ca..8bd7d6a7a9 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/logical/crud/AggregationQueryOperator.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/logical/crud/AggregationQueryOperator.java
@@ -23,16 +23,16 @@ import org.apache.iotdb.commons.exception.MetadataException;
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.db.exception.query.LogicalOperatorException;
 import org.apache.iotdb.db.exception.query.QueryProcessException;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.ResultColumn;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.mpp.plan.expression.multi.FunctionExpression;
 import org.apache.iotdb.db.qp.constant.SQLConstant;
 import org.apache.iotdb.db.qp.physical.PhysicalPlan;
 import org.apache.iotdb.db.qp.physical.crud.AggregationPlan;
 import org.apache.iotdb.db.qp.physical.crud.AlignByDevicePlan;
 import org.apache.iotdb.db.qp.physical.crud.QueryPlan;
 import org.apache.iotdb.db.qp.strategy.PhysicalGenerator;
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.ResultColumn;
-import org.apache.iotdb.db.query.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.query.expression.multi.FunctionExpression;
 import org.apache.iotdb.db.utils.SchemaUtils;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/qp/logical/crud/LastQueryOperator.java b/server/src/main/java/org/apache/iotdb/db/qp/logical/crud/LastQueryOperator.java
index 63eddbe346..98ecd4c220 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/logical/crud/LastQueryOperator.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/logical/crud/LastQueryOperator.java
@@ -21,12 +21,12 @@ package org.apache.iotdb.db.qp.logical.crud;
 
 import org.apache.iotdb.db.exception.query.LogicalOperatorException;
 import org.apache.iotdb.db.exception.query.QueryProcessException;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.ResultColumn;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.TimeSeriesOperand;
 import org.apache.iotdb.db.qp.physical.PhysicalPlan;
 import org.apache.iotdb.db.qp.physical.crud.LastQueryPlan;
 import org.apache.iotdb.db.qp.strategy.PhysicalGenerator;
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.ResultColumn;
-import org.apache.iotdb.db.query.expression.leaf.TimeSeriesOperand;
 
 public class LastQueryOperator extends QueryOperator {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/qp/logical/crud/QueryOperator.java b/server/src/main/java/org/apache/iotdb/db/qp/logical/crud/QueryOperator.java
index 9d426332d3..3259f3ae6c 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/logical/crud/QueryOperator.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/logical/crud/QueryOperator.java
@@ -25,6 +25,10 @@ import org.apache.iotdb.db.exception.query.LogicalOptimizeException;
 import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.db.index.common.IndexType;
 import org.apache.iotdb.db.metadata.path.MeasurementPath;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.ResultColumn;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.mpp.plan.expression.multi.FunctionExpression;
 import org.apache.iotdb.db.qp.constant.SQLConstant;
 import org.apache.iotdb.db.qp.logical.Operator;
 import org.apache.iotdb.db.qp.physical.PhysicalPlan;
@@ -34,10 +38,6 @@ import org.apache.iotdb.db.qp.physical.crud.QueryIndexPlan;
 import org.apache.iotdb.db.qp.physical.crud.QueryPlan;
 import org.apache.iotdb.db.qp.physical.crud.RawDataQueryPlan;
 import org.apache.iotdb.db.qp.strategy.PhysicalGenerator;
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.ResultColumn;
-import org.apache.iotdb.db.query.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.query.expression.multi.FunctionExpression;
 import org.apache.iotdb.db.service.IoTDB;
 import org.apache.iotdb.tsfile.exception.filter.QueryFilterOptimizationException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
diff --git a/server/src/main/java/org/apache/iotdb/db/qp/logical/crud/SelectComponent.java b/server/src/main/java/org/apache/iotdb/db/qp/logical/crud/SelectComponent.java
index 19e2840224..2b4616278e 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/logical/crud/SelectComponent.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/logical/crud/SelectComponent.java
@@ -20,10 +20,10 @@
 package org.apache.iotdb.db.qp.logical.crud;
 
 import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.ResultColumn;
-import org.apache.iotdb.db.query.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.query.expression.multi.FunctionExpression;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.ResultColumn;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.mpp.plan.expression.multi.FunctionExpression;
 
 import java.time.ZoneId;
 import java.util.ArrayList;
diff --git a/server/src/main/java/org/apache/iotdb/db/qp/logical/crud/SpecialClauseComponent.java b/server/src/main/java/org/apache/iotdb/db/qp/logical/crud/SpecialClauseComponent.java
index ec0c3a74de..f9b411a1b8 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/logical/crud/SpecialClauseComponent.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/logical/crud/SpecialClauseComponent.java
@@ -19,8 +19,8 @@
 
 package org.apache.iotdb.db.qp.logical.crud;
 
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
 import org.apache.iotdb.db.qp.utils.GroupByLevelController;
-import org.apache.iotdb.db.query.expression.Expression;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/server/src/main/java/org/apache/iotdb/db/qp/logical/crud/UDAFQueryOperator.java b/server/src/main/java/org/apache/iotdb/db/qp/logical/crud/UDAFQueryOperator.java
index fd9888f36e..be2b53a8c9 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/logical/crud/UDAFQueryOperator.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/logical/crud/UDAFQueryOperator.java
@@ -20,14 +20,14 @@ package org.apache.iotdb.db.qp.logical.crud;
 
 import org.apache.iotdb.db.exception.query.LogicalOperatorException;
 import org.apache.iotdb.db.exception.query.QueryProcessException;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.ResultColumn;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.mpp.plan.expression.multi.FunctionExpression;
 import org.apache.iotdb.db.qp.physical.PhysicalPlan;
 import org.apache.iotdb.db.qp.physical.crud.AggregationPlan;
 import org.apache.iotdb.db.qp.physical.crud.UDAFPlan;
 import org.apache.iotdb.db.qp.strategy.PhysicalGenerator;
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.ResultColumn;
-import org.apache.iotdb.db.query.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.query.expression.multi.FunctionExpression;
 
 import java.util.ArrayList;
 import java.util.HashMap;
diff --git a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/AggregationPlan.java b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/AggregationPlan.java
index d0a87bf44d..b8954ec81c 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/AggregationPlan.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/AggregationPlan.java
@@ -20,10 +20,10 @@ package org.apache.iotdb.db.qp.physical.crud;
 
 import org.apache.iotdb.commons.exception.MetadataException;
 import org.apache.iotdb.commons.path.PartialPath;
+import org.apache.iotdb.db.mpp.plan.expression.ResultColumn;
 import org.apache.iotdb.db.qp.logical.Operator;
 import org.apache.iotdb.db.qp.utils.GroupByLevelController;
 import org.apache.iotdb.db.query.aggregation.AggregateResult;
-import org.apache.iotdb.db.query.expression.ResultColumn;
 import org.apache.iotdb.db.utils.SchemaUtils;
 import org.apache.iotdb.rpc.RpcUtils;
 import org.apache.iotdb.rpc.TSStatusCode;
diff --git a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/AlignByDevicePlan.java b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/AlignByDevicePlan.java
index 35a22188e4..561aae819d 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/AlignByDevicePlan.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/AlignByDevicePlan.java
@@ -20,12 +20,12 @@ package org.apache.iotdb.db.qp.physical.crud;
 
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.db.exception.query.QueryProcessException;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
 import org.apache.iotdb.db.qp.constant.SQLConstant;
 import org.apache.iotdb.db.qp.logical.Operator;
 import org.apache.iotdb.db.qp.logical.Operator.OperatorType;
 import org.apache.iotdb.db.qp.logical.crud.SpecialClauseComponent;
 import org.apache.iotdb.db.qp.strategy.PhysicalGenerator;
-import org.apache.iotdb.db.query.expression.Expression;
 import org.apache.iotdb.rpc.RpcUtils;
 import org.apache.iotdb.rpc.TSStatusCode;
 import org.apache.iotdb.service.rpc.thrift.TSExecuteStatementResp;
diff --git a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/LastQueryPlan.java b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/LastQueryPlan.java
index b7a54911eb..eea48cf4ed 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/LastQueryPlan.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/LastQueryPlan.java
@@ -21,9 +21,9 @@ package org.apache.iotdb.db.qp.physical.crud;
 
 import org.apache.iotdb.commons.exception.MetadataException;
 import org.apache.iotdb.db.exception.query.QueryProcessException;
+import org.apache.iotdb.db.mpp.plan.expression.ResultColumn;
 import org.apache.iotdb.db.qp.logical.Operator;
 import org.apache.iotdb.db.qp.strategy.PhysicalGenerator;
-import org.apache.iotdb.db.query.expression.ResultColumn;
 import org.apache.iotdb.db.service.StaticResps;
 import org.apache.iotdb.service.rpc.thrift.TSExecuteStatementResp;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
diff --git a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/QueryPlan.java b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/QueryPlan.java
index 0dc86af4fc..ba8b4ad5ba 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/QueryPlan.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/QueryPlan.java
@@ -22,11 +22,11 @@ import org.apache.iotdb.commons.exception.MetadataException;
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.db.metadata.path.MeasurementPath;
+import org.apache.iotdb.db.mpp.plan.expression.ResultColumn;
 import org.apache.iotdb.db.qp.logical.Operator;
 import org.apache.iotdb.db.qp.logical.crud.SpecialClauseComponent;
 import org.apache.iotdb.db.qp.physical.PhysicalPlan;
 import org.apache.iotdb.db.qp.strategy.PhysicalGenerator;
-import org.apache.iotdb.db.query.expression.ResultColumn;
 import org.apache.iotdb.db.service.IoTDB;
 import org.apache.iotdb.db.utils.SchemaUtils;
 import org.apache.iotdb.rpc.RpcUtils;
diff --git a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/RawDataQueryPlan.java b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/RawDataQueryPlan.java
index 2f9dce7afc..b6952e754b 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/RawDataQueryPlan.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/RawDataQueryPlan.java
@@ -22,9 +22,9 @@ import org.apache.iotdb.commons.exception.MetadataException;
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.db.metadata.path.AlignedPath;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
 import org.apache.iotdb.db.qp.logical.crud.SpecialClauseComponent;
 import org.apache.iotdb.db.qp.strategy.PhysicalGenerator;
-import org.apache.iotdb.db.query.expression.Expression;
 import org.apache.iotdb.db.utils.SchemaUtils;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.read.common.Path;
diff --git a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/UDAFPlan.java b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/UDAFPlan.java
index 483e2cdb23..7205fff532 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/UDAFPlan.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/UDAFPlan.java
@@ -19,9 +19,9 @@
 package org.apache.iotdb.db.qp.physical.crud;
 
 import org.apache.iotdb.commons.exception.MetadataException;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
 import org.apache.iotdb.db.qp.logical.Operator.OperatorType;
 import org.apache.iotdb.db.qp.strategy.PhysicalGenerator;
-import org.apache.iotdb.db.query.expression.Expression;
 import org.apache.iotdb.service.rpc.thrift.TSExecuteStatementResp;
 
 import org.apache.thrift.TException;
diff --git a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/UDFPlan.java b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/UDFPlan.java
index a60640b1f1..9fb119f4ef 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/UDFPlan.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/UDFPlan.java
@@ -19,7 +19,7 @@
 
 package org.apache.iotdb.db.qp.physical.crud;
 
-import org.apache.iotdb.db.query.expression.ResultColumn;
+import org.apache.iotdb.db.mpp.plan.expression.ResultColumn;
 
 import java.util.List;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/UDTFPlan.java b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/UDTFPlan.java
index 5ee605a460..158e454c8d 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/UDTFPlan.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/UDTFPlan.java
@@ -22,11 +22,11 @@ package org.apache.iotdb.db.qp.physical.crud;
 import org.apache.iotdb.commons.exception.MetadataException;
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.db.metadata.path.MeasurementPath;
+import org.apache.iotdb.db.mpp.plan.expression.ResultColumn;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.TimestampOperand;
+import org.apache.iotdb.db.mpp.transformation.dag.udf.UDTFContext;
 import org.apache.iotdb.db.qp.logical.Operator;
 import org.apache.iotdb.db.qp.strategy.PhysicalGenerator;
-import org.apache.iotdb.db.query.expression.ResultColumn;
-import org.apache.iotdb.db.query.expression.leaf.TimestampOperand;
-import org.apache.iotdb.db.query.udf.core.executor.UDTFContext;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.utils.Pair;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java b/server/src/main/java/org/apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java
index a81179f435..954d043a62 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java
@@ -24,6 +24,31 @@ import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.db.conf.IoTDBDescriptor;
 import org.apache.iotdb.db.engine.trigger.executor.TriggerEvent;
 import org.apache.iotdb.db.exception.sql.SQLParserException;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.ResultColumn;
+import org.apache.iotdb.db.mpp.plan.expression.binary.AdditionExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.BinaryExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.DivisionExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.EqualToExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.GreaterEqualExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.GreaterThanExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.LessEqualExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.LessThanExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.LogicAndExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.LogicOrExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.ModuloExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.MultiplicationExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.NonEqualExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.SubtractionExpression;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.ConstantOperand;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.TimestampOperand;
+import org.apache.iotdb.db.mpp.plan.expression.multi.FunctionExpression;
+import org.apache.iotdb.db.mpp.plan.expression.unary.InExpression;
+import org.apache.iotdb.db.mpp.plan.expression.unary.LikeExpression;
+import org.apache.iotdb.db.mpp.plan.expression.unary.LogicNotExpression;
+import org.apache.iotdb.db.mpp.plan.expression.unary.NegationExpression;
+import org.apache.iotdb.db.mpp.plan.expression.unary.RegularExpression;
 import org.apache.iotdb.db.qp.constant.FilterConstant;
 import org.apache.iotdb.db.qp.constant.FilterConstant.FilterType;
 import org.apache.iotdb.db.qp.constant.SQLConstant;
@@ -126,31 +151,6 @@ import org.apache.iotdb.db.query.executor.fill.IFill;
 import org.apache.iotdb.db.query.executor.fill.LinearFill;
 import org.apache.iotdb.db.query.executor.fill.PreviousFill;
 import org.apache.iotdb.db.query.executor.fill.ValueFill;
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.ResultColumn;
-import org.apache.iotdb.db.query.expression.binary.AdditionExpression;
-import org.apache.iotdb.db.query.expression.binary.BinaryExpression;
-import org.apache.iotdb.db.query.expression.binary.DivisionExpression;
-import org.apache.iotdb.db.query.expression.binary.EqualToExpression;
-import org.apache.iotdb.db.query.expression.binary.GreaterEqualExpression;
-import org.apache.iotdb.db.query.expression.binary.GreaterThanExpression;
-import org.apache.iotdb.db.query.expression.binary.LessEqualExpression;
-import org.apache.iotdb.db.query.expression.binary.LessThanExpression;
-import org.apache.iotdb.db.query.expression.binary.LogicAndExpression;
-import org.apache.iotdb.db.query.expression.binary.LogicOrExpression;
-import org.apache.iotdb.db.query.expression.binary.ModuloExpression;
-import org.apache.iotdb.db.query.expression.binary.MultiplicationExpression;
-import org.apache.iotdb.db.query.expression.binary.NonEqualExpression;
-import org.apache.iotdb.db.query.expression.binary.SubtractionExpression;
-import org.apache.iotdb.db.query.expression.leaf.ConstantOperand;
-import org.apache.iotdb.db.query.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.query.expression.leaf.TimestampOperand;
-import org.apache.iotdb.db.query.expression.multi.FunctionExpression;
-import org.apache.iotdb.db.query.expression.unary.InExpression;
-import org.apache.iotdb.db.query.expression.unary.LikeExpression;
-import org.apache.iotdb.db.query.expression.unary.LogicNotExpression;
-import org.apache.iotdb.db.query.expression.unary.NegationExpression;
-import org.apache.iotdb.db.query.expression.unary.RegularExpression;
 import org.apache.iotdb.tsfile.common.conf.TSFileDescriptor;
 import org.apache.iotdb.tsfile.common.constant.TsFileConstant;
 import org.apache.iotdb.tsfile.file.metadata.enums.CompressionType;
diff --git a/server/src/main/java/org/apache/iotdb/db/qp/strategy/LogicalGenerator.java b/server/src/main/java/org/apache/iotdb/db/qp/strategy/LogicalGenerator.java
index 9e12f0655c..b7944c64ee 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/strategy/LogicalGenerator.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/strategy/LogicalGenerator.java
@@ -22,6 +22,8 @@ import org.apache.iotdb.commons.conf.IoTDBConstant;
 import org.apache.iotdb.commons.exception.IllegalPathException;
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.commons.utils.TestOnly;
+import org.apache.iotdb.db.mpp.plan.expression.ResultColumn;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.TimeSeriesOperand;
 import org.apache.iotdb.db.qp.constant.FilterConstant.FilterType;
 import org.apache.iotdb.db.qp.logical.Operator;
 import org.apache.iotdb.db.qp.logical.crud.BasicFunctionOperator;
@@ -34,8 +36,6 @@ import org.apache.iotdb.db.qp.logical.crud.WhereComponent;
 import org.apache.iotdb.db.qp.sql.IoTDBSqlParser;
 import org.apache.iotdb.db.qp.sql.IoTDBSqlVisitor;
 import org.apache.iotdb.db.qp.sql.SqlLexer;
-import org.apache.iotdb.db.query.expression.ResultColumn;
-import org.apache.iotdb.db.query.expression.leaf.TimeSeriesOperand;
 import org.apache.iotdb.service.rpc.thrift.TSLastDataQueryReq;
 import org.apache.iotdb.service.rpc.thrift.TSRawDataQueryReq;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/qp/strategy/optimizer/ConcatPathOptimizer.java b/server/src/main/java/org/apache/iotdb/db/qp/strategy/optimizer/ConcatPathOptimizer.java
index 46a37fe3e9..c25498042d 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/strategy/optimizer/ConcatPathOptimizer.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/strategy/optimizer/ConcatPathOptimizer.java
@@ -26,6 +26,9 @@ import org.apache.iotdb.db.exception.query.LogicalOptimizeException;
 import org.apache.iotdb.db.exception.query.PathNumOverLimitException;
 import org.apache.iotdb.db.exception.sql.SQLParserException;
 import org.apache.iotdb.db.metadata.path.MeasurementPath;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.ResultColumn;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.TimeSeriesOperand;
 import org.apache.iotdb.db.qp.constant.FilterConstant.FilterType;
 import org.apache.iotdb.db.qp.constant.SQLConstant;
 import org.apache.iotdb.db.qp.logical.Operator;
@@ -41,9 +44,6 @@ import org.apache.iotdb.db.qp.logical.crud.SelectComponent;
 import org.apache.iotdb.db.qp.logical.crud.WhereComponent;
 import org.apache.iotdb.db.qp.utils.GroupByLevelController;
 import org.apache.iotdb.db.qp.utils.WildcardsRemover;
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.ResultColumn;
-import org.apache.iotdb.db.query.expression.leaf.TimeSeriesOperand;
 import org.apache.iotdb.db.service.IoTDB;
 
 import org.slf4j.Logger;
diff --git a/server/src/main/java/org/apache/iotdb/db/qp/utils/GroupByLevelController.java b/server/src/main/java/org/apache/iotdb/db/qp/utils/GroupByLevelController.java
index c1fb4657f8..781838c88b 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/utils/GroupByLevelController.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/utils/GroupByLevelController.java
@@ -22,10 +22,10 @@ package org.apache.iotdb.db.qp.utils;
 import org.apache.iotdb.commons.conf.IoTDBConstant;
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.db.exception.query.LogicalOptimizeException;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.ResultColumn;
+import org.apache.iotdb.db.mpp.plan.expression.multi.FunctionExpression;
 import org.apache.iotdb.db.qp.logical.crud.QueryOperator;
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.ResultColumn;
-import org.apache.iotdb.db.query.expression.multi.FunctionExpression;
 import org.apache.iotdb.tsfile.common.constant.TsFileConstant;
 import org.apache.iotdb.tsfile.utils.ReadWriteIOUtils;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/qp/utils/WildcardsRemover.java b/server/src/main/java/org/apache/iotdb/db/qp/utils/WildcardsRemover.java
index e0c22188f6..30cf3df9f3 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/utils/WildcardsRemover.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/utils/WildcardsRemover.java
@@ -25,10 +25,10 @@ import org.apache.iotdb.db.conf.IoTDBDescriptor;
 import org.apache.iotdb.db.exception.query.LogicalOptimizeException;
 import org.apache.iotdb.db.exception.query.PathNumOverLimitException;
 import org.apache.iotdb.db.metadata.path.MeasurementPath;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.ResultColumn;
 import org.apache.iotdb.db.qp.logical.crud.QueryOperator;
 import org.apache.iotdb.db.qp.strategy.optimizer.ConcatPathOptimizer;
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.ResultColumn;
 import org.apache.iotdb.db.service.IoTDB;
 import org.apache.iotdb.tsfile.utils.Pair;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/control/QueryResourceManager.java b/server/src/main/java/org/apache/iotdb/db/query/control/QueryResourceManager.java
index 5dd6e0a648..2f436fd392 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/control/QueryResourceManager.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/control/QueryResourceManager.java
@@ -27,7 +27,7 @@ import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.db.metadata.idtable.IDTable;
 import org.apache.iotdb.db.query.context.QueryContext;
 import org.apache.iotdb.db.query.externalsort.serialize.IExternalSortFileDeserializer;
-import org.apache.iotdb.db.query.udf.service.TemporaryQueryDataFileService;
+import org.apache.iotdb.db.service.TemporaryQueryDataFileService;
 import org.apache.iotdb.db.utils.QueryUtils;
 import org.apache.iotdb.tsfile.read.filter.basic.Filter;
 
@@ -199,7 +199,7 @@ public class QueryResourceManager {
    * Whenever the jdbc request is closed normally or abnormally, this method must be invoked. All
    * query tokens created by this jdbc request must be cleared.
    */
-  @SuppressWarnings("squid:S3776") // Suppress high Cognitive Complexity warning
+  // Suppress high Cognitive Complexity warning
   public void endQuery(long queryId) throws StorageEngineException {
     // close file stream of external sort files, and delete
     if (externalSortFileMap.get(queryId) != null) {
diff --git a/server/src/main/java/org/apache/iotdb/db/query/dataset/UDTFAlignByTimeDataSet.java b/server/src/main/java/org/apache/iotdb/db/query/dataset/UDTFAlignByTimeDataSet.java
index 4752434a7f..71a5708979 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/dataset/UDTFAlignByTimeDataSet.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/dataset/UDTFAlignByTimeDataSet.java
@@ -20,11 +20,11 @@
 package org.apache.iotdb.db.query.dataset;
 
 import org.apache.iotdb.db.exception.query.QueryProcessException;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
 import org.apache.iotdb.db.qp.physical.crud.UDTFPlan;
 import org.apache.iotdb.db.query.context.QueryContext;
 import org.apache.iotdb.db.query.reader.series.IReaderByTimestamp;
 import org.apache.iotdb.db.query.reader.series.ManagedSeriesReader;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
 import org.apache.iotdb.db.tools.watermark.WatermarkEncoder;
 import org.apache.iotdb.db.utils.datastructure.TimeSelector;
 import org.apache.iotdb.service.rpc.thrift.TSQueryDataSet;
@@ -246,7 +246,7 @@ public class UDTFAlignByTimeDataSet extends UDTFDataSet implements DirectAlignBy
         --rowOffset;
       }
 
-      rawQueryInputLayer.updateRowRecordListEvictionUpperBound();
+      queryDataSetInputLayer.updateRowRecordListEvictionUpperBound();
     }
 
     /*
@@ -350,7 +350,7 @@ public class UDTFAlignByTimeDataSet extends UDTFDataSet implements DirectAlignBy
       throw new IOException(e.getMessage());
     }
 
-    rawQueryInputLayer.updateRowRecordListEvictionUpperBound();
+    queryDataSetInputLayer.updateRowRecordListEvictionUpperBound();
 
     return rowRecord;
   }
diff --git a/server/src/main/java/org/apache/iotdb/db/query/dataset/UDTFDataSet.java b/server/src/main/java/org/apache/iotdb/db/query/dataset/UDTFDataSet.java
index 7c1dfa2af9..1f816f1a2a 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/dataset/UDTFDataSet.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/dataset/UDTFDataSet.java
@@ -22,13 +22,13 @@ package org.apache.iotdb.db.query.dataset;
 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.mpp.transformation.api.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.dag.builder.DAGBuilder;
+import org.apache.iotdb.db.mpp.transformation.dag.input.QueryDataSetInputLayer;
 import org.apache.iotdb.db.qp.physical.crud.UDTFPlan;
 import org.apache.iotdb.db.query.context.QueryContext;
 import org.apache.iotdb.db.query.reader.series.IReaderByTimestamp;
 import org.apache.iotdb.db.query.reader.series.ManagedSeriesReader;
-import org.apache.iotdb.db.query.udf.core.layer.DAGBuilder;
-import org.apache.iotdb.db.query.udf.core.layer.RawQueryInputLayer;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
 import org.apache.iotdb.db.query.udf.service.UDFClassLoaderManager;
 import org.apache.iotdb.db.query.udf.service.UDFRegistrationService;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
@@ -50,7 +50,7 @@ public abstract class UDTFDataSet extends QueryDataSet {
 
   protected final long queryId;
   protected final UDTFPlan udtfPlan;
-  protected final RawQueryInputLayer rawQueryInputLayer;
+  protected final QueryDataSetInputLayer queryDataSetInputLayer;
 
   protected LayerPointReader[] transformers;
 
@@ -68,8 +68,8 @@ public abstract class UDTFDataSet extends QueryDataSet {
     super(new ArrayList<>(deduplicatedPaths), deduplicatedDataTypes);
     queryId = queryContext.getQueryId();
     this.udtfPlan = udtfPlan;
-    rawQueryInputLayer =
-        new RawQueryInputLayer(
+    queryDataSetInputLayer =
+        new QueryDataSetInputLayer(
             queryId,
             UDF_READER_MEMORY_BUDGET_IN_MB,
             deduplicatedPaths,
@@ -94,8 +94,8 @@ public abstract class UDTFDataSet extends QueryDataSet {
     super(new ArrayList<>(deduplicatedPaths), deduplicatedDataTypes);
     queryId = queryContext.getQueryId();
     this.udtfPlan = udtfPlan;
-    rawQueryInputLayer =
-        new RawQueryInputLayer(
+    queryDataSetInputLayer =
+        new QueryDataSetInputLayer(
             queryId, UDF_READER_MEMORY_BUDGET_IN_MB, udtfPlan, readersOfSelectedSeries);
 
     initTransformers();
@@ -106,7 +106,8 @@ public abstract class UDTFDataSet extends QueryDataSet {
       throws QueryProcessException, IOException {
     queryId = queryContext.getQueryId();
     this.udtfPlan = udtfPlan;
-    rawQueryInputLayer = new RawQueryInputLayer(queryId, UDF_READER_MEMORY_BUDGET_IN_MB, dataSet);
+    queryDataSetInputLayer =
+        new QueryDataSetInputLayer(queryId, UDF_READER_MEMORY_BUDGET_IN_MB, dataSet);
     initTransformers();
     initDataSetFields();
   }
@@ -121,7 +122,7 @@ public abstract class UDTFDataSet extends QueryDataSet {
           new DAGBuilder(
                   queryId,
                   udtfPlan,
-                  rawQueryInputLayer,
+                  queryDataSetInputLayer,
                   UDF_TRANSFORMER_MEMORY_BUDGET_IN_MB + UDF_COLLECTOR_MEMORY_BUDGET_IN_MB)
               .bindInputLayerColumnIndexWithExpression()
               .buildLayerMemoryAssigner()
diff --git a/server/src/main/java/org/apache/iotdb/db/query/dataset/UDTFNonAlignDataSet.java b/server/src/main/java/org/apache/iotdb/db/query/dataset/UDTFNonAlignDataSet.java
index 01af59cac8..53a2acf177 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/dataset/UDTFNonAlignDataSet.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/dataset/UDTFNonAlignDataSet.java
@@ -20,11 +20,11 @@
 package org.apache.iotdb.db.query.dataset;
 
 import org.apache.iotdb.db.exception.query.QueryProcessException;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
 import org.apache.iotdb.db.qp.physical.crud.UDTFPlan;
 import org.apache.iotdb.db.query.context.QueryContext;
 import org.apache.iotdb.db.query.reader.series.IReaderByTimestamp;
 import org.apache.iotdb.db.query.reader.series.ManagedSeriesReader;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
 import org.apache.iotdb.db.tools.watermark.WatermarkEncoder;
 import org.apache.iotdb.service.rpc.thrift.TSQueryNonAlignDataSet;
 import org.apache.iotdb.tsfile.exception.write.UnSupportedDataTypeException;
@@ -115,7 +115,7 @@ public class UDTFNonAlignDataSet extends UDTFDataSet implements DirectNonAlignDa
       valueBufferList.add(timeValueByteBufferPair.right);
     }
 
-    rawQueryInputLayer.updateRowRecordListEvictionUpperBound();
+    queryDataSetInputLayer.updateRowRecordListEvictionUpperBound();
 
     tsQueryNonAlignDataSet.setTimeList(timeBufferList);
     tsQueryNonAlignDataSet.setValueList(valueBufferList);
diff --git a/server/src/main/java/org/apache/iotdb/db/query/dataset/groupby/GroupByFillDataSet.java b/server/src/main/java/org/apache/iotdb/db/query/dataset/groupby/GroupByFillDataSet.java
index 5b0c9a7607..d88fadc167 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/dataset/groupby/GroupByFillDataSet.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/dataset/groupby/GroupByFillDataSet.java
@@ -22,13 +22,13 @@ import org.apache.iotdb.db.conf.IoTDBDescriptor;
 import org.apache.iotdb.db.exception.StorageEngineException;
 import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.db.exception.query.UnSupportedFillTypeException;
+import org.apache.iotdb.db.mpp.transformation.datastructure.tv.ElasticSerializableTVList;
 import org.apache.iotdb.db.qp.physical.crud.GroupByTimeFillPlan;
 import org.apache.iotdb.db.query.context.QueryContext;
 import org.apache.iotdb.db.query.executor.fill.IFill;
 import org.apache.iotdb.db.query.executor.fill.LinearFill;
 import org.apache.iotdb.db.query.executor.fill.PreviousFill;
 import org.apache.iotdb.db.query.executor.fill.ValueFill;
-import org.apache.iotdb.db.query.udf.datastructure.tv.ElasticSerializableTVList;
 import org.apache.iotdb.db.utils.TypeInferenceUtils;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.read.TimeValuePair;
diff --git a/server/src/main/java/org/apache/iotdb/db/service/DataNode.java b/server/src/main/java/org/apache/iotdb/db/service/DataNode.java
index 8f51106bf9..d2333c674b 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/DataNode.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/DataNode.java
@@ -49,7 +49,6 @@ import org.apache.iotdb.db.mpp.execution.datatransfer.DataBlockService;
 import org.apache.iotdb.db.mpp.execution.schedule.DriverScheduler;
 import org.apache.iotdb.db.protocol.influxdb.meta.InfluxDBMetaManager;
 import org.apache.iotdb.db.protocol.rest.RestService;
-import org.apache.iotdb.db.query.udf.service.TemporaryQueryDataFileService;
 import org.apache.iotdb.db.query.udf.service.UDFClassLoaderManager;
 import org.apache.iotdb.db.query.udf.service.UDFRegistrationService;
 import org.apache.iotdb.db.service.basic.ServiceProvider;
diff --git a/server/src/main/java/org/apache/iotdb/db/service/IoTDB.java b/server/src/main/java/org/apache/iotdb/db/service/IoTDB.java
index 54e2b3073a..ced6730c57 100644
--- a/server/src/main/java/org/apache/iotdb/db/service/IoTDB.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/IoTDB.java
@@ -44,7 +44,6 @@ import org.apache.iotdb.db.mpp.execution.datatransfer.DataBlockService;
 import org.apache.iotdb.db.mpp.execution.schedule.DriverScheduler;
 import org.apache.iotdb.db.protocol.influxdb.meta.InfluxDBMetaManager;
 import org.apache.iotdb.db.protocol.rest.RestService;
-import org.apache.iotdb.db.query.udf.service.TemporaryQueryDataFileService;
 import org.apache.iotdb.db.query.udf.service.UDFClassLoaderManager;
 import org.apache.iotdb.db.query.udf.service.UDFRegistrationService;
 import org.apache.iotdb.db.rescon.PrimitiveArrayManager;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/service/TemporaryQueryDataFileService.java b/server/src/main/java/org/apache/iotdb/db/service/TemporaryQueryDataFileService.java
similarity index 96%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/service/TemporaryQueryDataFileService.java
rename to server/src/main/java/org/apache/iotdb/db/service/TemporaryQueryDataFileService.java
index 5c691bc8c4..4cd00dde1a 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/service/TemporaryQueryDataFileService.java
+++ b/server/src/main/java/org/apache/iotdb/db/service/TemporaryQueryDataFileService.java
@@ -17,14 +17,14 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.service;
+package org.apache.iotdb.db.service;
 
 import org.apache.iotdb.commons.exception.StartupException;
 import org.apache.iotdb.commons.file.SystemFileFactory;
 import org.apache.iotdb.commons.service.IService;
 import org.apache.iotdb.commons.service.ServiceType;
 import org.apache.iotdb.db.conf.IoTDBDescriptor;
-import org.apache.iotdb.db.query.udf.datastructure.SerializableList.SerializationRecorder;
+import org.apache.iotdb.db.mpp.transformation.datastructure.SerializableList.SerializationRecorder;
 
 import org.apache.commons.io.FileUtils;
 import org.slf4j.Logger;
diff --git a/server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/QueryLogicalPlanUtil.java b/server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/QueryLogicalPlanUtil.java
index 411396ecd3..fdcabbe1b4 100644
--- a/server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/QueryLogicalPlanUtil.java
+++ b/server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/QueryLogicalPlanUtil.java
@@ -25,6 +25,13 @@ import org.apache.iotdb.db.metadata.path.AlignedPath;
 import org.apache.iotdb.db.metadata.path.MeasurementPath;
 import org.apache.iotdb.db.mpp.common.QueryId;
 import org.apache.iotdb.db.mpp.common.header.HeaderConstant;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.GreaterThanExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.LogicAndExpression;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.ConstantOperand;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.TimeSeriesOperand;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.TimestampOperand;
+import org.apache.iotdb.db.mpp.plan.expression.multi.FunctionExpression;
 import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNode;
 import org.apache.iotdb.db.mpp.plan.planner.plan.node.process.AggregationNode;
 import org.apache.iotdb.db.mpp.plan.planner.plan.node.process.DeviceViewNode;
@@ -44,13 +51,6 @@ import org.apache.iotdb.db.mpp.plan.statement.component.FilterNullPolicy;
 import org.apache.iotdb.db.mpp.plan.statement.component.OrderBy;
 import org.apache.iotdb.db.qp.constant.SQLConstant;
 import org.apache.iotdb.db.query.aggregation.AggregationType;
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.binary.GreaterThanExpression;
-import org.apache.iotdb.db.query.expression.binary.LogicAndExpression;
-import org.apache.iotdb.db.query.expression.leaf.ConstantOperand;
-import org.apache.iotdb.db.query.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.query.expression.leaf.TimestampOperand;
-import org.apache.iotdb.db.query.expression.multi.FunctionExpression;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.read.filter.TimeFilter;
 import org.apache.iotdb.tsfile.read.filter.basic.Filter;
diff --git a/server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/node/process/AggregationNodeSerdeTest.java b/server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/node/process/AggregationNodeSerdeTest.java
index 1ebddfd736..1393453af9 100644
--- a/server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/node/process/AggregationNodeSerdeTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/node/process/AggregationNodeSerdeTest.java
@@ -24,6 +24,7 @@ import org.apache.iotdb.common.rpc.thrift.TRegionReplicaSet;
 import org.apache.iotdb.commons.exception.IllegalPathException;
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.db.metadata.path.MeasurementPath;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.TimeSeriesOperand;
 import org.apache.iotdb.db.mpp.plan.plan.node.PlanNodeDeserializeHelper;
 import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNodeId;
 import org.apache.iotdb.db.mpp.plan.planner.plan.node.process.AggregationNode;
@@ -33,7 +34,6 @@ import org.apache.iotdb.db.mpp.plan.planner.plan.parameter.AggregationStep;
 import org.apache.iotdb.db.mpp.plan.planner.plan.parameter.GroupByTimeParameter;
 import org.apache.iotdb.db.mpp.plan.statement.component.OrderBy;
 import org.apache.iotdb.db.query.aggregation.AggregationType;
-import org.apache.iotdb.db.query.expression.leaf.TimeSeriesOperand;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.read.filter.operator.In;
 
diff --git a/server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/node/process/FilterNodeSerdeTest.java b/server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/node/process/FilterNodeSerdeTest.java
index 35346f29d8..43310e8f47 100644
--- a/server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/node/process/FilterNodeSerdeTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/node/process/FilterNodeSerdeTest.java
@@ -20,15 +20,15 @@ package org.apache.iotdb.db.mpp.plan.plan.node.process;
 
 import org.apache.iotdb.commons.exception.IllegalPathException;
 import org.apache.iotdb.commons.path.PartialPath;
+import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.GreaterThanExpression;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.ConstantOperand;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.TimeSeriesOperand;
 import org.apache.iotdb.db.mpp.plan.plan.node.PlanNodeDeserializeHelper;
 import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNodeId;
 import org.apache.iotdb.db.mpp.plan.planner.plan.node.process.FilterNode;
 import org.apache.iotdb.db.mpp.plan.planner.plan.node.process.TimeJoinNode;
 import org.apache.iotdb.db.mpp.plan.statement.component.OrderBy;
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.binary.GreaterThanExpression;
-import org.apache.iotdb.db.query.expression.leaf.ConstantOperand;
-import org.apache.iotdb.db.query.expression.leaf.TimeSeriesOperand;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import org.junit.Test;
diff --git a/server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/node/process/FilterNullNodeSerdeTest.java b/server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/node/process/FilterNullNodeSerdeTest.java
index 2aeac41871..360b644d8d 100644
--- a/server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/node/process/FilterNullNodeSerdeTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/node/process/FilterNullNodeSerdeTest.java
@@ -20,13 +20,13 @@ package org.apache.iotdb.db.mpp.plan.plan.node.process;
 
 import org.apache.iotdb.commons.exception.IllegalPathException;
 import org.apache.iotdb.commons.path.PartialPath;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.TimeSeriesOperand;
 import org.apache.iotdb.db.mpp.plan.plan.node.PlanNodeDeserializeHelper;
 import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNodeId;
 import org.apache.iotdb.db.mpp.plan.planner.plan.node.process.FilterNullNode;
 import org.apache.iotdb.db.mpp.plan.planner.plan.node.process.TimeJoinNode;
 import org.apache.iotdb.db.mpp.plan.statement.component.FilterNullPolicy;
 import org.apache.iotdb.db.mpp.plan.statement.component.OrderBy;
-import org.apache.iotdb.db.query.expression.leaf.TimeSeriesOperand;
 
 import org.junit.Test;
 
diff --git a/server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/node/process/GroupByLevelNodeSerdeTest.java b/server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/node/process/GroupByLevelNodeSerdeTest.java
index 7e94ffff86..53a4b72b68 100644
--- a/server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/node/process/GroupByLevelNodeSerdeTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/node/process/GroupByLevelNodeSerdeTest.java
@@ -24,6 +24,7 @@ import org.apache.iotdb.common.rpc.thrift.TRegionReplicaSet;
 import org.apache.iotdb.commons.exception.IllegalPathException;
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.db.metadata.path.MeasurementPath;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.TimeSeriesOperand;
 import org.apache.iotdb.db.mpp.plan.plan.node.PlanNodeDeserializeHelper;
 import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNodeId;
 import org.apache.iotdb.db.mpp.plan.planner.plan.node.process.GroupByLevelNode;
@@ -33,7 +34,6 @@ import org.apache.iotdb.db.mpp.plan.planner.plan.parameter.AggregationStep;
 import org.apache.iotdb.db.mpp.plan.planner.plan.parameter.GroupByTimeParameter;
 import org.apache.iotdb.db.mpp.plan.statement.component.OrderBy;
 import org.apache.iotdb.db.query.aggregation.AggregationType;
-import org.apache.iotdb.db.query.expression.leaf.TimeSeriesOperand;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import org.junit.Test;
diff --git a/server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/node/source/SeriesAggregationScanNodeSerdeTest.java b/server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/node/source/SeriesAggregationScanNodeSerdeTest.java
index 072cf1a0a4..9b07836baf 100644
--- a/server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/node/source/SeriesAggregationScanNodeSerdeTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/mpp/plan/plan/node/source/SeriesAggregationScanNodeSerdeTest.java
@@ -25,6 +25,7 @@ import org.apache.iotdb.commons.exception.IllegalPathException;
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.db.metadata.path.MeasurementPath;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.TimeSeriesOperand;
 import org.apache.iotdb.db.mpp.plan.plan.node.PlanNodeDeserializeHelper;
 import org.apache.iotdb.db.mpp.plan.planner.plan.node.PlanNodeId;
 import org.apache.iotdb.db.mpp.plan.planner.plan.node.source.SeriesAggregationScanNode;
@@ -33,7 +34,6 @@ import org.apache.iotdb.db.mpp.plan.planner.plan.parameter.AggregationStep;
 import org.apache.iotdb.db.mpp.plan.planner.plan.parameter.GroupByTimeParameter;
 import org.apache.iotdb.db.mpp.plan.statement.component.OrderBy;
 import org.apache.iotdb.db.query.aggregation.AggregationType;
-import org.apache.iotdb.db.query.expression.leaf.TimeSeriesOperand;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.read.filter.operator.In;
 
diff --git a/server/src/test/java/org/apache/iotdb/db/protocol/influxdb/sql/InfluxDBLogicalGeneratorTest.java b/server/src/test/java/org/apache/iotdb/db/protocol/influxdb/sql/InfluxDBLogicalGeneratorTest.java
index 31c662cdef..11ab3a6a1f 100644
--- a/server/src/test/java/org/apache/iotdb/db/protocol/influxdb/sql/InfluxDBLogicalGeneratorTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/protocol/influxdb/sql/InfluxDBLogicalGeneratorTest.java
@@ -18,12 +18,12 @@
  */
 package org.apache.iotdb.db.protocol.influxdb.sql;
 
+import org.apache.iotdb.db.mpp.plan.expression.ResultColumn;
+import org.apache.iotdb.db.mpp.plan.expression.leaf.TimeSeriesOperand;
 import org.apache.iotdb.db.protocol.influxdb.operator.InfluxQueryOperator;
 import org.apache.iotdb.db.qp.logical.crud.BasicFunctionOperator;
 import org.apache.iotdb.db.qp.logical.crud.FilterOperator;
 import org.apache.iotdb.db.qp.logical.crud.WhereComponent;
-import org.apache.iotdb.db.query.expression.ResultColumn;
-import org.apache.iotdb.db.query.expression.leaf.TimeSeriesOperand;
 
 import org.junit.Test;
 
diff --git a/server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/ElasticSerializableRowRecordListTest.java b/server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/ElasticSerializableRowRecordListTest.java
index 6ed4fb2b31..4a10c08463 100644
--- a/server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/ElasticSerializableRowRecordListTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/ElasticSerializableRowRecordListTest.java
@@ -20,7 +20,8 @@
 package org.apache.iotdb.db.query.udf.datastructure;
 
 import org.apache.iotdb.db.exception.query.QueryProcessException;
-import org.apache.iotdb.db.query.udf.datastructure.row.ElasticSerializableRowRecordList;
+import org.apache.iotdb.db.mpp.transformation.datastructure.SerializableList;
+import org.apache.iotdb.db.mpp.transformation.datastructure.row.ElasticSerializableRowRecordList;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.utils.Binary;
 
diff --git a/server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/ElasticSerializableTVListTest.java b/server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/ElasticSerializableTVListTest.java
index b8fa26fac3..18a12b8d73 100644
--- a/server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/ElasticSerializableTVListTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/ElasticSerializableTVListTest.java
@@ -20,8 +20,9 @@
 package org.apache.iotdb.db.query.udf.datastructure;
 
 import org.apache.iotdb.db.exception.query.QueryProcessException;
-import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
-import org.apache.iotdb.db.query.udf.datastructure.tv.ElasticSerializableTVList;
+import org.apache.iotdb.db.mpp.transformation.api.LayerPointReader;
+import org.apache.iotdb.db.mpp.transformation.datastructure.SerializableList;
+import org.apache.iotdb.db.mpp.transformation.datastructure.tv.ElasticSerializableTVList;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.utils.Binary;
 
diff --git a/server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/LRUCache.java b/server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/LRUCache.java
index 5761b09c90..9447b22419 100644
--- a/server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/LRUCache.java
+++ b/server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/LRUCache.java
@@ -19,6 +19,8 @@
 
 package org.apache.iotdb.db.query.udf.datastructure;
 
+import org.apache.iotdb.db.mpp.transformation.datastructure.Cache;
+
 import java.util.Arrays;
 
 public class LRUCache extends Cache {
diff --git a/server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/SerializableBinaryTVListTest.java b/server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/SerializableBinaryTVListTest.java
index 1338f27bfb..726a629da6 100644
--- a/server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/SerializableBinaryTVListTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/SerializableBinaryTVListTest.java
@@ -19,8 +19,8 @@
 
 package org.apache.iotdb.db.query.udf.datastructure;
 
-import org.apache.iotdb.db.query.udf.datastructure.tv.SerializableBinaryTVList;
-import org.apache.iotdb.db.query.udf.datastructure.tv.SerializableTVList;
+import org.apache.iotdb.db.mpp.transformation.datastructure.tv.SerializableBinaryTVList;
+import org.apache.iotdb.db.mpp.transformation.datastructure.tv.SerializableTVList;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.utils.Binary;
 
diff --git a/server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/SerializableBooleanTVListTest.java b/server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/SerializableBooleanTVListTest.java
index 6203fe3581..736f605d12 100644
--- a/server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/SerializableBooleanTVListTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/SerializableBooleanTVListTest.java
@@ -19,8 +19,8 @@
 
 package org.apache.iotdb.db.query.udf.datastructure;
 
-import org.apache.iotdb.db.query.udf.datastructure.tv.SerializableBooleanTVList;
-import org.apache.iotdb.db.query.udf.datastructure.tv.SerializableTVList;
+import org.apache.iotdb.db.mpp.transformation.datastructure.tv.SerializableBooleanTVList;
+import org.apache.iotdb.db.mpp.transformation.datastructure.tv.SerializableTVList;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import org.junit.After;
diff --git a/server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/SerializableDoubleTVListTest.java b/server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/SerializableDoubleTVListTest.java
index 6f1914bc81..9c0a484abe 100644
--- a/server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/SerializableDoubleTVListTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/SerializableDoubleTVListTest.java
@@ -19,8 +19,8 @@
 
 package org.apache.iotdb.db.query.udf.datastructure;
 
-import org.apache.iotdb.db.query.udf.datastructure.tv.SerializableDoubleTVList;
-import org.apache.iotdb.db.query.udf.datastructure.tv.SerializableTVList;
+import org.apache.iotdb.db.mpp.transformation.datastructure.tv.SerializableDoubleTVList;
+import org.apache.iotdb.db.mpp.transformation.datastructure.tv.SerializableTVList;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import org.junit.After;
diff --git a/server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/SerializableFloatTVListTest.java b/server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/SerializableFloatTVListTest.java
index 346ccbd3af..ce43b3eb60 100644
--- a/server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/SerializableFloatTVListTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/SerializableFloatTVListTest.java
@@ -19,8 +19,8 @@
 
 package org.apache.iotdb.db.query.udf.datastructure;
 
-import org.apache.iotdb.db.query.udf.datastructure.tv.SerializableFloatTVList;
-import org.apache.iotdb.db.query.udf.datastructure.tv.SerializableTVList;
+import org.apache.iotdb.db.mpp.transformation.datastructure.tv.SerializableFloatTVList;
+import org.apache.iotdb.db.mpp.transformation.datastructure.tv.SerializableTVList;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import org.junit.After;
diff --git a/server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/SerializableIntTVListTest.java b/server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/SerializableIntTVListTest.java
index 33d9b4c126..0571979795 100644
--- a/server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/SerializableIntTVListTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/SerializableIntTVListTest.java
@@ -19,8 +19,8 @@
 
 package org.apache.iotdb.db.query.udf.datastructure;
 
-import org.apache.iotdb.db.query.udf.datastructure.tv.SerializableIntTVList;
-import org.apache.iotdb.db.query.udf.datastructure.tv.SerializableTVList;
+import org.apache.iotdb.db.mpp.transformation.datastructure.tv.SerializableIntTVList;
+import org.apache.iotdb.db.mpp.transformation.datastructure.tv.SerializableTVList;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import org.junit.After;
diff --git a/server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/SerializableListTest.java b/server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/SerializableListTest.java
index 81bb35aadd..dbbd2c2bfa 100644
--- a/server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/SerializableListTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/SerializableListTest.java
@@ -19,7 +19,7 @@
 
 package org.apache.iotdb.db.query.udf.datastructure;
 
-import org.apache.iotdb.db.query.udf.service.TemporaryQueryDataFileService;
+import org.apache.iotdb.db.service.TemporaryQueryDataFileService;
 
 public abstract class SerializableListTest {
 
diff --git a/server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/SerializableLongTVListTest.java b/server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/SerializableLongTVListTest.java
index dfc181fb22..ace0af9720 100644
--- a/server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/SerializableLongTVListTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/SerializableLongTVListTest.java
@@ -19,8 +19,8 @@
 
 package org.apache.iotdb.db.query.udf.datastructure;
 
-import org.apache.iotdb.db.query.udf.datastructure.tv.SerializableLongTVList;
-import org.apache.iotdb.db.query.udf.datastructure.tv.SerializableTVList;
+import org.apache.iotdb.db.mpp.transformation.datastructure.tv.SerializableLongTVList;
+import org.apache.iotdb.db.mpp.transformation.datastructure.tv.SerializableTVList;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import org.junit.After;
diff --git a/server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/SerializableRowRecordListTest.java b/server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/SerializableRowRecordListTest.java
index 29084b4ab5..af19c6cc1f 100644
--- a/server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/SerializableRowRecordListTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/SerializableRowRecordListTest.java
@@ -19,7 +19,7 @@
 
 package org.apache.iotdb.db.query.udf.datastructure;
 
-import org.apache.iotdb.db.query.udf.datastructure.row.SerializableRowRecordList;
+import org.apache.iotdb.db.mpp.transformation.datastructure.row.SerializableRowRecordList;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.read.common.Field;
 import org.apache.iotdb.tsfile.read.common.RowRecord;


[iotdb] 04/05: move builtin

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rong pushed a commit to branch iotdb-3249
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 6a35bad799b0393ad45b407cba7edfd42759036d
Author: Steve Yurong Su <ro...@apache.org>
AuthorDate: Sat May 21 02:05:00 2022 +0800

    move builtin
---
 .../IoTDBSyntaxConventionStringLiteralIT.java      |  2 +-
 .../iotdb/db/integration/IoTDBUDFManagementIT.java |  2 +-
 .../api/customizer/config/UDTFConfigurations.java  |  2 +-
 .../api/customizer/parameter/UDFParameters.java    |  2 +-
 .../api/customizer/strategy/AccessStrategy.java    |  2 +-
 .../strategy/RowByRowAccessStrategy.java           |  2 +-
 .../strategy/SlidingSizeWindowAccessStrategy.java  |  2 +-
 .../strategy/SlidingTimeWindowAccessStrategy.java  |  2 +-
 .../commons}/udf/builtin/BuiltinFunction.java      |  2 +-
 .../apache/iotdb/commons}/udf/builtin/UDTFAbs.java |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFAcos.java       |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFAsin.java       |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFAtan.java       |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFBottomK.java    | 25 ++++++++++++++++---
 .../iotdb/commons}/udf/builtin/UDTFCast.java       | 24 ++++++------------
 .../iotdb/commons}/udf/builtin/UDTFCeil.java       |  2 +-
 .../commons}/udf/builtin/UDTFCommonDerivative.java |  2 +-
 .../udf/builtin/UDTFCommonValueDifference.java     |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFConst.java      |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFConstE.java     |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFConstPi.java    |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFContains.java   |  2 +-
 .../udf/builtin/UDTFContinuouslySatisfy.java       |  2 +-
 .../apache/iotdb/commons}/udf/builtin/UDTFCos.java |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFCosh.java       |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFDegrees.java    |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFDerivative.java |  2 +-
 .../udf/builtin/UDTFEqualSizeBucketAggSample.java  |  2 +-
 .../udf/builtin/UDTFEqualSizeBucketM4Sample.java   |  2 +-
 .../builtin/UDTFEqualSizeBucketOutlierSample.java  |  2 +-
 .../builtin/UDTFEqualSizeBucketRandomSample.java   |  2 +-
 .../udf/builtin/UDTFEqualSizeBucketSample.java     |  2 +-
 .../apache/iotdb/commons}/udf/builtin/UDTFExp.java |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFFloor.java      |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFInRange.java    |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFJexl.java       | 29 ++++++++--------------
 .../apache/iotdb/commons}/udf/builtin/UDTFLog.java |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFLog10.java      |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFMatches.java    |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFMath.java       |  2 +-
 .../udf/builtin/UDTFNonNegativeDerivative.java     |  2 +-
 .../builtin/UDTFNonNegativeValueDifference.java    |  2 +-
 .../commons}/udf/builtin/UDTFNonZeroCount.java     |  2 +-
 .../commons}/udf/builtin/UDTFNonZeroDuration.java  |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFOnOff.java      |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFRadians.java    |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFRound.java      |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFSelectK.java    |  5 ++--
 .../iotdb/commons}/udf/builtin/UDTFSign.java       |  2 +-
 .../apache/iotdb/commons}/udf/builtin/UDTFSin.java |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFSinh.java       |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFSqrt.java       |  2 +-
 .../apache/iotdb/commons}/udf/builtin/UDTFTan.java |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFTanh.java       |  2 +-
 .../commons}/udf/builtin/UDTFTimeDifference.java   |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFTopK.java       |  2 +-
 .../commons}/udf/builtin/UDTFValueDifference.java  |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFValueTrend.java |  2 +-
 .../iotdb/commons}/udf/builtin/UDTFZeroCount.java  |  2 +-
 .../commons}/udf/builtin/UDTFZeroDuration.java     |  2 +-
 .../query/expression/multi/FunctionExpression.java |  2 +-
 .../query/udf/core/executor/UDTFTypeInferrer.java  |  2 +-
 .../udf/core/layer/ConstantIntermediateLayer.java  |  4 +--
 .../db/query/udf/core/layer/IntermediateLayer.java |  4 +--
 .../layer/MultiInputColumnIntermediateLayer.java   |  6 ++---
 ...InputColumnMultiReferenceIntermediateLayer.java |  4 +--
 ...nputColumnSingleReferenceIntermediateLayer.java |  4 +--
 .../db/query/udf/core/reader/LayerRowReader.java   |  2 +-
 .../udf/core/reader/LayerRowWindowReader.java      |  2 +-
 .../tv/ElasticSerializableTVList.java              |  2 +-
 .../query/udf/service/UDFRegistrationService.java  |  4 +--
 71 files changed, 116 insertions(+), 115 deletions(-)

diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSyntaxConventionStringLiteralIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSyntaxConventionStringLiteralIT.java
index de3eba8a91..957c967453 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSyntaxConventionStringLiteralIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBSyntaxConventionStringLiteralIT.java
@@ -18,7 +18,7 @@
  */
 package org.apache.iotdb.db.integration;
 
-import org.apache.iotdb.db.query.udf.builtin.BuiltinFunction;
+import org.apache.iotdb.commons.udf.builtin.BuiltinFunction;
 import org.apache.iotdb.integration.env.EnvFactory;
 import org.apache.iotdb.itbase.category.ClusterTest;
 import org.apache.iotdb.itbase.category.LocalStandaloneTest;
diff --git a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBUDFManagementIT.java b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBUDFManagementIT.java
index 4ad46aa1f5..84c1920805 100644
--- a/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBUDFManagementIT.java
+++ b/integration/src/test/java/org/apache/iotdb/db/integration/IoTDBUDFManagementIT.java
@@ -20,8 +20,8 @@
 package org.apache.iotdb.db.integration;
 
 import org.apache.iotdb.commons.path.PartialPath;
+import org.apache.iotdb.commons.udf.builtin.BuiltinFunction;
 import org.apache.iotdb.db.qp.constant.SQLConstant;
-import org.apache.iotdb.db.query.udf.builtin.BuiltinFunction;
 import org.apache.iotdb.db.query.udf.service.UDFRegistrationService;
 import org.apache.iotdb.db.service.IoTDB;
 import org.apache.iotdb.db.utils.EnvironmentUtils;
diff --git a/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/config/UDTFConfigurations.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/config/UDTFConfigurations.java
index 7446e7fee3..51985352cb 100644
--- a/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/config/UDTFConfigurations.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/config/UDTFConfigurations.java
@@ -19,10 +19,10 @@
 
 package org.apache.iotdb.commons.udf.api.customizer.config;
 
+import org.apache.iotdb.commons.udf.api.UDTF;
 import org.apache.iotdb.commons.udf.api.access.Row;
 import org.apache.iotdb.commons.udf.api.access.RowWindow;
 import org.apache.iotdb.commons.udf.api.collector.PointCollector;
-import org.apache.iotdb.commons.udf.api.UDTF;
 import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
 import org.apache.iotdb.commons.udf.api.customizer.strategy.AccessStrategy;
 import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
diff --git a/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/parameter/UDFParameters.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/parameter/UDFParameters.java
index 2ca74b7e96..65de587a88 100644
--- a/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/parameter/UDFParameters.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/parameter/UDFParameters.java
@@ -21,8 +21,8 @@ package org.apache.iotdb.commons.udf.api.customizer.parameter;
 
 import org.apache.iotdb.commons.exception.MetadataException;
 import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
 import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import java.util.List;
diff --git a/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/strategy/AccessStrategy.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/strategy/AccessStrategy.java
index 3e4d5c82b5..15ff92910b 100644
--- a/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/strategy/AccessStrategy.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/strategy/AccessStrategy.java
@@ -19,9 +19,9 @@
 
 package org.apache.iotdb.commons.udf.api.customizer.strategy;
 
+import org.apache.iotdb.commons.udf.api.UDTF;
 import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
 import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.commons.udf.api.UDTF;
 
 /**
  * Used to customize the strategy for accessing raw data in {@link UDTF#beforeStart(UDFParameters,
diff --git a/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/strategy/RowByRowAccessStrategy.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/strategy/RowByRowAccessStrategy.java
index fc76d55227..7880af5528 100644
--- a/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/strategy/RowByRowAccessStrategy.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/strategy/RowByRowAccessStrategy.java
@@ -19,11 +19,11 @@
 
 package org.apache.iotdb.commons.udf.api.customizer.strategy;
 
+import org.apache.iotdb.commons.udf.api.UDTF;
 import org.apache.iotdb.commons.udf.api.access.Row;
 import org.apache.iotdb.commons.udf.api.collector.PointCollector;
 import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
 import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.commons.udf.api.UDTF;
 
 /**
  * Used in {@link UDTF#beforeStart(UDFParameters, UDTFConfigurations)}.
diff --git a/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/strategy/SlidingSizeWindowAccessStrategy.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/strategy/SlidingSizeWindowAccessStrategy.java
index 3491363338..c534a81fe5 100644
--- a/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/strategy/SlidingSizeWindowAccessStrategy.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/strategy/SlidingSizeWindowAccessStrategy.java
@@ -19,11 +19,11 @@
 
 package org.apache.iotdb.commons.udf.api.customizer.strategy;
 
+import org.apache.iotdb.commons.udf.api.UDTF;
 import org.apache.iotdb.commons.udf.api.access.RowWindow;
 import org.apache.iotdb.commons.udf.api.collector.PointCollector;
 import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
 import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.commons.udf.api.UDTF;
 
 /**
  * Used in {@link UDTF#beforeStart(UDFParameters, UDTFConfigurations)}.
diff --git a/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/strategy/SlidingTimeWindowAccessStrategy.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/strategy/SlidingTimeWindowAccessStrategy.java
index c69160dd79..4eab05ca35 100644
--- a/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/strategy/SlidingTimeWindowAccessStrategy.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/strategy/SlidingTimeWindowAccessStrategy.java
@@ -19,11 +19,11 @@
 
 package org.apache.iotdb.commons.udf.api.customizer.strategy;
 
+import org.apache.iotdb.commons.udf.api.UDTF;
 import org.apache.iotdb.commons.udf.api.access.RowWindow;
 import org.apache.iotdb.commons.udf.api.collector.PointCollector;
 import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
 import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.commons.udf.api.UDTF;
 
 import java.time.ZoneId;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/BuiltinFunction.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/BuiltinFunction.java
similarity index 98%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/BuiltinFunction.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/BuiltinFunction.java
index bf1b7031e8..ed8bc85d33 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/BuiltinFunction.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/BuiltinFunction.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 /** All built-in UDFs need to register their function names and classes here. */
 public enum BuiltinFunction {
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFAbs.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFAbs.java
similarity index 98%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFAbs.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFAbs.java
index 12df6fef94..8de5c909ac 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFAbs.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFAbs.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.exception.MetadataException;
 import org.apache.iotdb.commons.udf.api.access.Row;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFAcos.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFAcos.java
similarity index 95%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFAcos.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFAcos.java
index dbcd5b5c98..1491c239dd 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFAcos.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFAcos.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 public class UDTFAcos extends UDTFMath {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFAsin.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFAsin.java
similarity index 95%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFAsin.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFAsin.java
index 7e375da6f5..f83394a7c1 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFAsin.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFAsin.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 public class UDTFAsin extends UDTFMath {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFAtan.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFAtan.java
similarity index 95%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFAtan.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFAtan.java
index 8f03ae84ae..e36a04ea48 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFAtan.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFAtan.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 public class UDTFAtan extends UDTFMath {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFBottomK.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFBottomK.java
similarity index 82%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFBottomK.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFBottomK.java
index 54a911c953..dcc692f842 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFBottomK.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFBottomK.java
@@ -17,15 +17,14 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.udf.api.exception.UDFInputSeriesDataTypeNotValidException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.utils.Pair;
 
-import org.apache.commons.collections4.ComparatorUtils;
-
 import java.util.Comparator;
+import java.util.Objects;
 import java.util.PriorityQueue;
 
 public class UDTFBottomK extends UDTFSelectK {
@@ -48,7 +47,25 @@ public class UDTFBottomK extends UDTFSelectK {
       case TEXT:
         stringPQ =
             new PriorityQueue<>(
-                k, ComparatorUtils.reversedComparator(Comparator.comparing(o -> o.right)));
+                k,
+                (pairA, pairB) -> {
+                  final String cs1 = pairB.right;
+                  final String cs2 = pairA.right;
+
+                  if (Objects.requireNonNull(cs1) == Objects.requireNonNull(cs2)) {
+                    return 0;
+                  }
+
+                  for (int i = 0, len = Math.min(cs1.length(), cs2.length()); i < len; i++) {
+                    final char a = cs1.charAt(i);
+                    final char b = cs2.charAt(i);
+                    if (a != b) {
+                      return a - b;
+                    }
+                  }
+
+                  return cs1.length() - cs2.length();
+                });
         break;
       default:
         // This will not happen.
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCast.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFCast.java
similarity index 93%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCast.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFCast.java
index 6befaf4c79..ca57453072 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCast.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFCast.java
@@ -17,10 +17,9 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.exception.MetadataException;
-import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.commons.udf.api.UDTF;
 import org.apache.iotdb.commons.udf.api.access.Row;
 import org.apache.iotdb.commons.udf.api.collector.PointCollector;
@@ -58,8 +57,7 @@ public class UDTFCast implements UDTF {
   }
 
   @Override
-  public void transform(Row row, PointCollector collector)
-      throws IOException, QueryProcessException {
+  public void transform(Row row, PointCollector collector) throws IOException {
     switch (sourceDataType) {
       case INT32:
         cast(row.getTime(), row.getInt(0), collector);
@@ -84,8 +82,7 @@ public class UDTFCast implements UDTF {
     }
   }
 
-  private void cast(long time, int value, PointCollector collector)
-      throws IOException, QueryProcessException {
+  private void cast(long time, int value, PointCollector collector) throws IOException {
     switch (targetDataType) {
       case INT32:
         collector.putInt(time, value);
@@ -110,8 +107,7 @@ public class UDTFCast implements UDTF {
     }
   }
 
-  private void cast(long time, long value, PointCollector collector)
-      throws IOException, QueryProcessException {
+  private void cast(long time, long value, PointCollector collector) throws IOException {
     switch (targetDataType) {
       case INT32:
         collector.putInt(time, (int) value);
@@ -136,8 +132,7 @@ public class UDTFCast implements UDTF {
     }
   }
 
-  private void cast(long time, float value, PointCollector collector)
-      throws IOException, QueryProcessException {
+  private void cast(long time, float value, PointCollector collector) throws IOException {
     switch (targetDataType) {
       case INT32:
         collector.putInt(time, (int) value);
@@ -162,8 +157,7 @@ public class UDTFCast implements UDTF {
     }
   }
 
-  private void cast(long time, double value, PointCollector collector)
-      throws IOException, QueryProcessException {
+  private void cast(long time, double value, PointCollector collector) throws IOException {
     switch (targetDataType) {
       case INT32:
         collector.putInt(time, (int) value);
@@ -188,8 +182,7 @@ public class UDTFCast implements UDTF {
     }
   }
 
-  private void cast(long time, boolean value, PointCollector collector)
-      throws IOException, QueryProcessException {
+  private void cast(long time, boolean value, PointCollector collector) throws IOException {
     switch (targetDataType) {
       case INT32:
         collector.putInt(time, value ? 1 : 0);
@@ -214,8 +207,7 @@ public class UDTFCast implements UDTF {
     }
   }
 
-  private void cast(long time, Binary value, PointCollector collector)
-      throws IOException, QueryProcessException {
+  private void cast(long time, Binary value, PointCollector collector) throws IOException {
     String stringValue = value.getStringValue();
     switch (targetDataType) {
       case INT32:
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCeil.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFCeil.java
similarity index 95%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCeil.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFCeil.java
index 76b49b4adf..a4ba41c8b0 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCeil.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFCeil.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 public class UDTFCeil extends UDTFMath {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCommonDerivative.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFCommonDerivative.java
similarity index 98%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCommonDerivative.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFCommonDerivative.java
index 52be553133..4e3684a02a 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCommonDerivative.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFCommonDerivative.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.udf.api.access.Row;
 import org.apache.iotdb.commons.udf.api.collector.PointCollector;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCommonValueDifference.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFCommonValueDifference.java
similarity index 98%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCommonValueDifference.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFCommonValueDifference.java
index d5d955259c..6a16a5173f 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCommonValueDifference.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFCommonValueDifference.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.udf.api.access.Row;
 import org.apache.iotdb.commons.udf.api.collector.PointCollector;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFConst.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFConst.java
similarity index 98%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFConst.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFConst.java
index 739c562676..63849e2b0c 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFConst.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFConst.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.udf.api.UDTF;
 import org.apache.iotdb.commons.udf.api.access.Row;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFConstE.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFConstE.java
similarity index 97%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFConstE.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFConstE.java
index d509f7c14e..c6d831de69 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFConstE.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFConstE.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.udf.api.UDTF;
 import org.apache.iotdb.commons.udf.api.access.Row;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFConstPi.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFConstPi.java
similarity index 97%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFConstPi.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFConstPi.java
index 22b66e123f..30d158b8d6 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFConstPi.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFConstPi.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.udf.api.UDTF;
 import org.apache.iotdb.commons.udf.api.access.Row;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFContains.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFContains.java
similarity index 97%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFContains.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFContains.java
index 0f52719b85..a9b0fd10c1 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFContains.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFContains.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.udf.api.UDTF;
 import org.apache.iotdb.commons.udf.api.access.Row;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFContinuouslySatisfy.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFContinuouslySatisfy.java
similarity index 99%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFContinuouslySatisfy.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFContinuouslySatisfy.java
index 5b158f3fe8..70d9d5480a 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFContinuouslySatisfy.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFContinuouslySatisfy.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.exception.MetadataException;
 import org.apache.iotdb.commons.udf.api.UDTF;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCos.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFCos.java
similarity index 95%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCos.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFCos.java
index 0bfe2459fa..777494050f 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCos.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFCos.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 public class UDTFCos extends UDTFMath {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCosh.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFCosh.java
similarity index 95%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCosh.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFCosh.java
index 01289d8f88..028d727d82 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCosh.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFCosh.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 public class UDTFCosh extends UDTFMath {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFDegrees.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFDegrees.java
similarity index 95%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFDegrees.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFDegrees.java
index 712278a46f..bfff41e1c0 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFDegrees.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFDegrees.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 public class UDTFDegrees extends UDTFMath {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFDerivative.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFDerivative.java
similarity index 97%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFDerivative.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFDerivative.java
index 8df279bc77..f2308fd728 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFDerivative.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFDerivative.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.exception.MetadataException;
 import org.apache.iotdb.commons.udf.api.access.Row;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketAggSample.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFEqualSizeBucketAggSample.java
similarity index 99%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketAggSample.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFEqualSizeBucketAggSample.java
index e78dafbdc0..1c26191dfa 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketAggSample.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFEqualSizeBucketAggSample.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.exception.MetadataException;
 import org.apache.iotdb.commons.udf.api.access.RowWindow;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketM4Sample.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFEqualSizeBucketM4Sample.java
similarity index 99%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketM4Sample.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFEqualSizeBucketM4Sample.java
index c4990b8ff3..0e8859e7f1 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketM4Sample.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFEqualSizeBucketM4Sample.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.udf.api.access.Row;
 import org.apache.iotdb.commons.udf.api.access.RowWindow;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketOutlierSample.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFEqualSizeBucketOutlierSample.java
similarity index 99%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketOutlierSample.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFEqualSizeBucketOutlierSample.java
index 286049f7a3..ff33170fc0 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketOutlierSample.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFEqualSizeBucketOutlierSample.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.exception.MetadataException;
 import org.apache.iotdb.commons.udf.api.access.Row;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketRandomSample.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFEqualSizeBucketRandomSample.java
similarity index 98%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketRandomSample.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFEqualSizeBucketRandomSample.java
index 5adce14911..e156b1622c 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketRandomSample.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFEqualSizeBucketRandomSample.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.udf.api.access.Row;
 import org.apache.iotdb.commons.udf.api.access.RowWindow;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketSample.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFEqualSizeBucketSample.java
similarity index 97%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketSample.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFEqualSizeBucketSample.java
index 336f2de527..447c38d9b7 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketSample.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFEqualSizeBucketSample.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.exception.MetadataException;
 import org.apache.iotdb.commons.udf.api.UDTF;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFExp.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFExp.java
similarity index 95%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFExp.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFExp.java
index e0e16ef7b8..f86c226919 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFExp.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFExp.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 public class UDTFExp extends UDTFMath {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFFloor.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFFloor.java
similarity index 95%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFFloor.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFFloor.java
index 92b6063fb4..b9e392df3b 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFFloor.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFFloor.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 public class UDTFFloor extends UDTFMath {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFInRange.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFInRange.java
similarity index 98%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFInRange.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFInRange.java
index 476a440e4a..fd2820b9c2 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFInRange.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFInRange.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.exception.MetadataException;
 import org.apache.iotdb.commons.udf.api.UDTF;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFJexl.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFJexl.java
similarity index 91%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFJexl.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFJexl.java
index 502a614eba..04cabac29e 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFJexl.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFJexl.java
@@ -17,10 +17,9 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.exception.MetadataException;
-import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.commons.udf.api.UDTF;
 import org.apache.iotdb.commons.udf.api.access.Row;
 import org.apache.iotdb.commons.udf.api.collector.PointCollector;
@@ -120,7 +119,7 @@ public class UDTFJexl implements UDTF {
 
   // 23, 23L, 23f, 23d, "string", true are hard codes for probing
   private HashMap<TSDataType, Object> initialMap() {
-    HashMap<TSDataType, Object> map = new HashMap<TSDataType, Object>();
+    HashMap<TSDataType, Object> map = new HashMap<>();
     map.put(TSDataType.INT32, 23);
     map.put(TSDataType.INT64, 23L);
     map.put(TSDataType.FLOAT, 23f);
@@ -153,7 +152,7 @@ public class UDTFJexl implements UDTF {
 
   @Override
   public void transform(Row row, PointCollector collector)
-      throws IOException, UDFOutputSeriesDataTypeNotValidException, QueryProcessException,
+      throws IOException, UDFOutputSeriesDataTypeNotValidException,
           UDFInputSeriesDataTypeNotValidException {
     switch (outputDataType) {
       case DOUBLE:
@@ -176,7 +175,7 @@ public class UDTFJexl implements UDTF {
         throws IOException, UDFInputSeriesDataTypeNotValidException;
 
     void evaluateText(Row row, PointCollector collector)
-        throws IOException, QueryProcessException, UDFInputSeriesDataTypeNotValidException;
+        throws IOException, UDFInputSeriesDataTypeNotValidException;
 
     void evaluateBoolean(Row row, PointCollector collector)
         throws IOException, UDFInputSeriesDataTypeNotValidException;
@@ -190,8 +189,7 @@ public class UDTFJexl implements UDTF {
     }
 
     @Override
-    public void evaluateText(Row row, PointCollector collector)
-        throws IOException, QueryProcessException {
+    public void evaluateText(Row row, PointCollector collector) throws IOException {
       collector.putString(row.getTime(), (String) script.execute(null, row.getInt(0)));
     }
 
@@ -209,8 +207,7 @@ public class UDTFJexl implements UDTF {
     }
 
     @Override
-    public void evaluateText(Row row, PointCollector collector)
-        throws IOException, QueryProcessException {
+    public void evaluateText(Row row, PointCollector collector) throws IOException {
       collector.putString(row.getTime(), (String) script.execute(null, row.getLong(0)));
     }
 
@@ -228,8 +225,7 @@ public class UDTFJexl implements UDTF {
     }
 
     @Override
-    public void evaluateText(Row row, PointCollector collector)
-        throws IOException, QueryProcessException {
+    public void evaluateText(Row row, PointCollector collector) throws IOException {
       collector.putString(row.getTime(), (String) script.execute(null, row.getFloat(0)));
     }
 
@@ -247,8 +243,7 @@ public class UDTFJexl implements UDTF {
     }
 
     @Override
-    public void evaluateText(Row row, PointCollector collector)
-        throws IOException, QueryProcessException {
+    public void evaluateText(Row row, PointCollector collector) throws IOException {
       collector.putString(row.getTime(), (String) script.execute(null, row.getDouble(0)));
     }
 
@@ -266,8 +261,7 @@ public class UDTFJexl implements UDTF {
     }
 
     @Override
-    public void evaluateText(Row row, PointCollector collector)
-        throws IOException, QueryProcessException {
+    public void evaluateText(Row row, PointCollector collector) throws IOException {
       collector.putString(row.getTime(), (String) script.execute(null, row.getString(0)));
     }
 
@@ -285,8 +279,7 @@ public class UDTFJexl implements UDTF {
     }
 
     @Override
-    public void evaluateText(Row row, PointCollector collector)
-        throws IOException, QueryProcessException {
+    public void evaluateText(Row row, PointCollector collector) throws IOException {
       collector.putString(row.getTime(), (String) script.execute(null, row.getBoolean(0)));
     }
 
@@ -309,7 +302,7 @@ public class UDTFJexl implements UDTF {
 
     @Override
     public void evaluateText(Row row, PointCollector collector)
-        throws IOException, QueryProcessException, UDFInputSeriesDataTypeNotValidException {
+        throws IOException, UDFInputSeriesDataTypeNotValidException {
       getValues(row);
       collector.putString(row.getTime(), (String) script.execute(null, values));
     }
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFLog.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFLog.java
similarity index 95%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFLog.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFLog.java
index b968893654..7d0296fec0 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFLog.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFLog.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 public class UDTFLog extends UDTFMath {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFLog10.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFLog10.java
similarity index 95%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFLog10.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFLog10.java
index 80d3546bf0..68ae840015 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFLog10.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFLog10.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 public class UDTFLog10 extends UDTFMath {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFMatches.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFMatches.java
similarity index 97%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFMatches.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFMatches.java
index f9841ca562..53301ad0ca 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFMatches.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFMatches.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.udf.api.UDTF;
 import org.apache.iotdb.commons.udf.api.access.Row;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFMath.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFMath.java
similarity index 98%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFMath.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFMath.java
index d52be03c42..3e0b42fc46 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFMath.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFMath.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.exception.MetadataException;
 import org.apache.iotdb.commons.udf.api.UDTF;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFNonNegativeDerivative.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFNonNegativeDerivative.java
similarity index 98%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFNonNegativeDerivative.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFNonNegativeDerivative.java
index 94986497eb..0666249735 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFNonNegativeDerivative.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFNonNegativeDerivative.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.udf.api.access.Row;
 import org.apache.iotdb.commons.udf.api.collector.PointCollector;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFNonNegativeValueDifference.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFNonNegativeValueDifference.java
similarity index 98%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFNonNegativeValueDifference.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFNonNegativeValueDifference.java
index 48348f5a4a..033d316210 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFNonNegativeValueDifference.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFNonNegativeValueDifference.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.udf.api.access.Row;
 import org.apache.iotdb.commons.udf.api.collector.PointCollector;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFNonZeroCount.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFNonZeroCount.java
similarity index 97%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFNonZeroCount.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFNonZeroCount.java
index d777c69e16..f88dc376cf 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFNonZeroCount.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFNonZeroCount.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 public class UDTFNonZeroCount extends UDTFContinuouslySatisfy {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFNonZeroDuration.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFNonZeroDuration.java
similarity index 97%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFNonZeroDuration.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFNonZeroDuration.java
index 145dc2a8b2..61407180c4 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFNonZeroDuration.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFNonZeroDuration.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 public class UDTFNonZeroDuration extends UDTFContinuouslySatisfy {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFOnOff.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFOnOff.java
similarity index 98%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFOnOff.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFOnOff.java
index 09e5aaec44..f742225883 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFOnOff.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFOnOff.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.exception.MetadataException;
 import org.apache.iotdb.commons.udf.api.access.Row;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFRadians.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFRadians.java
similarity index 95%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFRadians.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFRadians.java
index 150ad0eb60..d866e1b013 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFRadians.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFRadians.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 public class UDTFRadians extends UDTFMath {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFRound.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFRound.java
similarity index 95%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFRound.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFRound.java
index 6587f2ac3a..85adb5f437 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFRound.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFRound.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 public class UDTFRound extends UDTFMath {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFSelectK.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFSelectK.java
similarity index 97%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFSelectK.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFSelectK.java
index e77ad44a69..fef9908d57 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFSelectK.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFSelectK.java
@@ -17,10 +17,9 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.exception.MetadataException;
-import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.commons.udf.api.UDTF;
 import org.apache.iotdb.commons.udf.api.access.Row;
 import org.apache.iotdb.commons.udf.api.collector.PointCollector;
@@ -121,7 +120,7 @@ public abstract class UDTFSelectK implements UDTF {
 
   @Override
   public void terminate(PointCollector collector)
-      throws UDFInputSeriesDataTypeNotValidException, IOException, QueryProcessException {
+      throws UDFInputSeriesDataTypeNotValidException, IOException {
     switch (dataType) {
       case INT32:
         for (Pair<Long, Integer> pair :
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFSign.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFSign.java
similarity index 95%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFSign.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFSign.java
index ea9318691d..633f55c6e6 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFSign.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFSign.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 public class UDTFSign extends UDTFMath {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFSin.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFSin.java
similarity index 95%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFSin.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFSin.java
index 882daac719..d141a7c967 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFSin.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFSin.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 public class UDTFSin extends UDTFMath {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFSinh.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFSinh.java
similarity index 95%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFSinh.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFSinh.java
index 5403c3fbc5..b25cf132bf 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFSinh.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFSinh.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 public class UDTFSinh extends UDTFMath {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFSqrt.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFSqrt.java
similarity index 95%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFSqrt.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFSqrt.java
index c246f6270d..9958998205 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFSqrt.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFSqrt.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 public class UDTFSqrt extends UDTFMath {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFTan.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFTan.java
similarity index 95%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFTan.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFTan.java
index b5f5bf9411..984c6d7607 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFTan.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFTan.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 public class UDTFTan extends UDTFMath {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFTanh.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFTanh.java
similarity index 95%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFTanh.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFTanh.java
index 034cd67259..f9291d4aee 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFTanh.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFTanh.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 public class UDTFTanh extends UDTFMath {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFTimeDifference.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFTimeDifference.java
similarity index 97%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFTimeDifference.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFTimeDifference.java
index 962aa7a724..6b13904a55 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFTimeDifference.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFTimeDifference.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.udf.api.UDTF;
 import org.apache.iotdb.commons.udf.api.access.Row;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFTopK.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFTopK.java
similarity index 98%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFTopK.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFTopK.java
index 5d05c860e2..266100b67d 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFTopK.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFTopK.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.udf.api.exception.UDFInputSeriesDataTypeNotValidException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFValueDifference.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFValueDifference.java
similarity index 97%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFValueDifference.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFValueDifference.java
index 51aa8c103b..6c48eb7104 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFValueDifference.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFValueDifference.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.exception.MetadataException;
 import org.apache.iotdb.commons.udf.api.access.Row;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFValueTrend.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFValueTrend.java
similarity index 98%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFValueTrend.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFValueTrend.java
index 65fb3e4f68..d872df8762 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFValueTrend.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFValueTrend.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 import org.apache.iotdb.commons.udf.api.UDTF;
 import org.apache.iotdb.commons.udf.api.access.Row;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFZeroCount.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFZeroCount.java
similarity index 97%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFZeroCount.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFZeroCount.java
index 3a7499d8eb..83add40462 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFZeroCount.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFZeroCount.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 public class UDTFZeroCount extends UDTFContinuouslySatisfy {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFZeroDuration.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFZeroDuration.java
similarity index 97%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFZeroDuration.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFZeroDuration.java
index bacc1ed740..a0e40f25c3 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFZeroDuration.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/builtin/UDTFZeroDuration.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.builtin;
+package org.apache.iotdb.commons.udf.builtin;
 
 public class UDTFZeroDuration extends UDTFContinuouslySatisfy {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/expression/multi/FunctionExpression.java b/server/src/main/java/org/apache/iotdb/db/query/expression/multi/FunctionExpression.java
index a7fb75f454..5c976f40c1 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/expression/multi/FunctionExpression.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/expression/multi/FunctionExpression.java
@@ -21,6 +21,7 @@ package org.apache.iotdb.db.query.expression.multi;
 
 import org.apache.iotdb.commons.conf.IoTDBConstant;
 import org.apache.iotdb.commons.path.PartialPath;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.AccessStrategy;
 import org.apache.iotdb.db.exception.query.LogicalOptimizeException;
 import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.db.exception.sql.SemanticException;
@@ -32,7 +33,6 @@ import org.apache.iotdb.db.qp.strategy.optimizer.ConcatPathOptimizer;
 import org.apache.iotdb.db.query.expression.Expression;
 import org.apache.iotdb.db.query.expression.ExpressionType;
 import org.apache.iotdb.db.query.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.commons.udf.api.customizer.strategy.AccessStrategy;
 import org.apache.iotdb.db.query.udf.core.executor.UDTFContext;
 import org.apache.iotdb.db.query.udf.core.executor.UDTFExecutor;
 import org.apache.iotdb.db.query.udf.core.executor.UDTFTypeInferrer;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/executor/UDTFTypeInferrer.java b/server/src/main/java/org/apache/iotdb/db/query/udf/core/executor/UDTFTypeInferrer.java
index d39ed9b582..7f428202ef 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/executor/UDTFTypeInferrer.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/core/executor/UDTFTypeInferrer.java
@@ -20,11 +20,11 @@
 package org.apache.iotdb.db.query.udf.core.executor;
 
 import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.exception.sql.SemanticException;
 import org.apache.iotdb.commons.udf.api.UDTF;
 import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
 import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
 import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.db.exception.sql.SemanticException;
 import org.apache.iotdb.db.query.udf.service.UDFRegistrationService;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/ConstantIntermediateLayer.java b/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/ConstantIntermediateLayer.java
index caf8416ec9..ec02f4fc01 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/ConstantIntermediateLayer.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/ConstantIntermediateLayer.java
@@ -19,10 +19,10 @@
 
 package org.apache.iotdb.db.query.udf.core.layer;
 
-import org.apache.iotdb.db.exception.query.QueryProcessException;
-import org.apache.iotdb.db.query.expression.leaf.ConstantOperand;
 import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
 import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingTimeWindowAccessStrategy;
+import org.apache.iotdb.db.exception.query.QueryProcessException;
+import org.apache.iotdb.db.query.expression.leaf.ConstantOperand;
 import org.apache.iotdb.db.query.udf.core.reader.ConstantLayerPointReader;
 import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
 import org.apache.iotdb.db.query.udf.core.reader.LayerRowReader;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/IntermediateLayer.java b/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/IntermediateLayer.java
index cfe04a91fa..72a571e9e7 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/IntermediateLayer.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/IntermediateLayer.java
@@ -19,11 +19,11 @@
 
 package org.apache.iotdb.db.query.udf.core.layer;
 
-import org.apache.iotdb.db.exception.query.QueryProcessException;
-import org.apache.iotdb.db.query.expression.Expression;
 import org.apache.iotdb.commons.udf.api.customizer.strategy.AccessStrategy;
 import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
 import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingTimeWindowAccessStrategy;
+import org.apache.iotdb.db.exception.query.QueryProcessException;
+import org.apache.iotdb.db.query.expression.Expression;
 import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
 import org.apache.iotdb.db.query.udf.core.reader.LayerRowReader;
 import org.apache.iotdb.db.query.udf.core.reader.LayerRowWindowReader;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/MultiInputColumnIntermediateLayer.java b/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/MultiInputColumnIntermediateLayer.java
index 356cc2f9a7..8100d005c1 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/MultiInputColumnIntermediateLayer.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/MultiInputColumnIntermediateLayer.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb.db.query.udf.core.layer;
 
-import org.apache.iotdb.db.exception.query.QueryProcessException;
-import org.apache.iotdb.db.query.dataset.IUDFInputDataSet;
-import org.apache.iotdb.db.query.expression.Expression;
 import org.apache.iotdb.commons.udf.api.access.Row;
 import org.apache.iotdb.commons.udf.api.access.RowWindow;
 import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
 import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingTimeWindowAccessStrategy;
+import org.apache.iotdb.db.exception.query.QueryProcessException;
+import org.apache.iotdb.db.query.dataset.IUDFInputDataSet;
+import org.apache.iotdb.db.query.expression.Expression;
 import org.apache.iotdb.db.query.udf.core.access.ElasticSerializableRowRecordListBackedMultiColumnRow;
 import org.apache.iotdb.db.query.udf.core.access.ElasticSerializableRowRecordListBackedMultiColumnWindow;
 import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/SingleInputColumnMultiReferenceIntermediateLayer.java b/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/SingleInputColumnMultiReferenceIntermediateLayer.java
index d3abea54e0..3c0676e0b8 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/SingleInputColumnMultiReferenceIntermediateLayer.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/SingleInputColumnMultiReferenceIntermediateLayer.java
@@ -19,12 +19,12 @@
 
 package org.apache.iotdb.db.query.udf.core.layer;
 
-import org.apache.iotdb.db.exception.query.QueryProcessException;
-import org.apache.iotdb.db.query.expression.Expression;
 import org.apache.iotdb.commons.udf.api.access.Row;
 import org.apache.iotdb.commons.udf.api.access.RowWindow;
 import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
 import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingTimeWindowAccessStrategy;
+import org.apache.iotdb.db.exception.query.QueryProcessException;
+import org.apache.iotdb.db.query.expression.Expression;
 import org.apache.iotdb.db.query.udf.core.access.ElasticSerializableTVListBackedSingleColumnRow;
 import org.apache.iotdb.db.query.udf.core.access.ElasticSerializableTVListBackedSingleColumnWindow;
 import org.apache.iotdb.db.query.udf.core.layer.SafetyLine.SafetyPile;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/SingleInputColumnSingleReferenceIntermediateLayer.java b/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/SingleInputColumnSingleReferenceIntermediateLayer.java
index 67645407fd..caf64cf7da 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/SingleInputColumnSingleReferenceIntermediateLayer.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/SingleInputColumnSingleReferenceIntermediateLayer.java
@@ -19,12 +19,12 @@
 
 package org.apache.iotdb.db.query.udf.core.layer;
 
-import org.apache.iotdb.db.exception.query.QueryProcessException;
-import org.apache.iotdb.db.query.expression.Expression;
 import org.apache.iotdb.commons.udf.api.access.Row;
 import org.apache.iotdb.commons.udf.api.access.RowWindow;
 import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
 import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingTimeWindowAccessStrategy;
+import org.apache.iotdb.db.exception.query.QueryProcessException;
+import org.apache.iotdb.db.query.expression.Expression;
 import org.apache.iotdb.db.query.udf.core.access.ElasticSerializableTVListBackedSingleColumnWindow;
 import org.apache.iotdb.db.query.udf.core.access.LayerPointReaderBackedSingleColumnRow;
 import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/reader/LayerRowReader.java b/server/src/main/java/org/apache/iotdb/db/query/udf/core/reader/LayerRowReader.java
index 07ce14f5e8..3c9dbff32b 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/reader/LayerRowReader.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/core/reader/LayerRowReader.java
@@ -19,8 +19,8 @@
 
 package org.apache.iotdb.db.query.udf.core.reader;
 
-import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import java.io.IOException;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/reader/LayerRowWindowReader.java b/server/src/main/java/org/apache/iotdb/db/query/udf/core/reader/LayerRowWindowReader.java
index f31b0c4544..828e496122 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/reader/LayerRowWindowReader.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/core/reader/LayerRowWindowReader.java
@@ -19,8 +19,8 @@
 
 package org.apache.iotdb.db.query.udf.core.reader;
 
-import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.commons.udf.api.access.RowWindow;
+import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import java.io.IOException;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/ElasticSerializableTVList.java b/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/ElasticSerializableTVList.java
index bfb12e20c9..5cc5f42f49 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/ElasticSerializableTVList.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/ElasticSerializableTVList.java
@@ -19,8 +19,8 @@
 
 package org.apache.iotdb.db.query.udf.datastructure.tv;
 
-import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
 import org.apache.iotdb.db.query.udf.datastructure.Cache;
 import org.apache.iotdb.tsfile.exception.write.UnSupportedDataTypeException;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/service/UDFRegistrationService.java b/server/src/main/java/org/apache/iotdb/db/query/udf/service/UDFRegistrationService.java
index 894eb013c2..6c890da7f2 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/service/UDFRegistrationService.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/service/UDFRegistrationService.java
@@ -23,12 +23,12 @@ import org.apache.iotdb.commons.exception.StartupException;
 import org.apache.iotdb.commons.file.SystemFileFactory;
 import org.apache.iotdb.commons.service.IService;
 import org.apache.iotdb.commons.service.ServiceType;
+import org.apache.iotdb.commons.udf.api.UDF;
+import org.apache.iotdb.commons.udf.builtin.BuiltinFunction;
 import org.apache.iotdb.commons.utils.TestOnly;
 import org.apache.iotdb.db.conf.IoTDBDescriptor;
 import org.apache.iotdb.db.exception.UDFRegistrationException;
 import org.apache.iotdb.db.qp.constant.SQLConstant;
-import org.apache.iotdb.commons.udf.api.UDF;
-import org.apache.iotdb.db.query.udf.builtin.BuiltinFunction;
 import org.apache.iotdb.tsfile.fileSystem.FSFactoryProducer;
 
 import org.apache.commons.io.FileUtils;


[iotdb] 03/05: move api

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rong pushed a commit to branch iotdb-3249
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 770ed96ec1741b02dede4894b6568ca5bd355d16
Author: Steve Yurong Su <ro...@apache.org>
AuthorDate: Sat May 21 01:31:25 2022 +0800

    move api
---
 .../java/org/apache/iotdb/udf/UDTFExample.java     | 14 +++++++-------
 .../iotdb/db/query/udf/example/Accumulator.java    | 22 +++++++++++-----------
 .../apache/iotdb/db/query/udf/example/Adder.java   | 14 +++++++-------
 .../apache/iotdb/db/query/udf/example/Counter.java | 18 +++++++++---------
 .../org/apache/iotdb/db/query/udf/example/Max.java | 14 +++++++-------
 .../iotdb/db/query/udf/example/Multiplier.java     | 14 +++++++-------
 .../SlidingSizeWindowConstructorTester0.java       | 12 ++++++------
 .../SlidingSizeWindowConstructorTester1.java       | 14 +++++++-------
 .../SlidingTimeWindowConstructionTester.java       | 16 ++++++++--------
 .../db/query/udf/example/TerminateTester.java      | 12 ++++++------
 .../iotdb/db/query/udf/example/ValidateTester.java | 10 +++++-----
 .../iotdb/db/query/udf/example/WindowStartEnd.java | 14 +++++++-------
 .../org/apache/iotdb/library/anomaly/UDTFIQR.java  | 14 +++++++-------
 .../apache/iotdb/library/anomaly/UDTFKSigma.java   | 14 +++++++-------
 .../org/apache/iotdb/library/anomaly/UDTFLOF.java  | 14 +++++++-------
 .../iotdb/library/anomaly/UDTFMissDetect.java      | 14 +++++++-------
 .../apache/iotdb/library/anomaly/UDTFRange.java    | 14 +++++++-------
 .../iotdb/library/anomaly/UDTFTwoSidedFilter.java  | 14 +++++++-------
 .../iotdb/library/anomaly/util/MissDetector.java   |  4 ++--
 .../iotdb/library/anomaly/util/WindowDetect.java   |  4 ++--
 .../org/apache/iotdb/library/dmatch/UDAFCov.java   | 14 +++++++-------
 .../org/apache/iotdb/library/dmatch/UDAFDtw.java   | 16 ++++++++--------
 .../apache/iotdb/library/dmatch/UDAFPearson.java   | 14 +++++++-------
 .../apache/iotdb/library/dmatch/UDTFPtnSym.java    | 16 ++++++++--------
 .../org/apache/iotdb/library/dmatch/UDTFXCorr.java | 14 +++++++-------
 .../iotdb/library/dprofile/UDAFIntegral.java       | 14 +++++++-------
 .../iotdb/library/dprofile/UDAFIntegralAvg.java    | 14 +++++++-------
 .../org/apache/iotdb/library/dprofile/UDAFMad.java | 14 +++++++-------
 .../apache/iotdb/library/dprofile/UDAFMedian.java  | 14 +++++++-------
 .../apache/iotdb/library/dprofile/UDAFMode.java    | 14 +++++++-------
 .../iotdb/library/dprofile/UDAFPercentile.java     | 14 +++++++-------
 .../apache/iotdb/library/dprofile/UDAFPeriod.java  | 18 +++++++++---------
 .../apache/iotdb/library/dprofile/UDAFSkew.java    | 14 +++++++-------
 .../apache/iotdb/library/dprofile/UDAFSpread.java  | 14 +++++++-------
 .../apache/iotdb/library/dprofile/UDAFStddev.java  | 14 +++++++-------
 .../org/apache/iotdb/library/dprofile/UDTFACF.java | 14 +++++++-------
 .../iotdb/library/dprofile/UDTFDistinct.java       | 14 +++++++-------
 .../iotdb/library/dprofile/UDTFHistogram.java      | 14 +++++++-------
 .../apache/iotdb/library/dprofile/UDTFMinMax.java  | 14 +++++++-------
 .../apache/iotdb/library/dprofile/UDTFMvAvg.java   | 14 +++++++-------
 .../apache/iotdb/library/dprofile/UDTFPACF.java    | 14 +++++++-------
 .../org/apache/iotdb/library/dprofile/UDTFQLB.java | 14 +++++++-------
 .../iotdb/library/dprofile/UDTFResample.java       | 14 +++++++-------
 .../apache/iotdb/library/dprofile/UDTFSample.java  | 20 ++++++++++----------
 .../apache/iotdb/library/dprofile/UDTFSegment.java | 14 +++++++-------
 .../apache/iotdb/library/dprofile/UDTFSpline.java  | 14 +++++++-------
 .../apache/iotdb/library/dprofile/UDTFZScore.java  | 14 +++++++-------
 .../dprofile/util/ExactOrderStatistics.java        |  4 ++--
 .../iotdb/library/dquality/UDTFCompleteness.java   | 14 +++++++-------
 .../iotdb/library/dquality/UDTFConsistency.java    | 14 +++++++-------
 .../iotdb/library/dquality/UDTFTimeliness.java     | 14 +++++++-------
 .../iotdb/library/dquality/UDTFValidity.java       | 14 +++++++-------
 .../library/dquality/util/TimeSeriesQuality.java   |  4 ++--
 .../iotdb/library/drepair/UDTFTimestampRepair.java | 14 +++++++-------
 .../iotdb/library/drepair/UDTFValueFill.java       | 14 +++++++-------
 .../iotdb/library/drepair/UDTFValueRepair.java     | 14 +++++++-------
 .../apache/iotdb/library/drepair/util/ARFill.java  |  4 ++--
 .../iotdb/library/drepair/util/LikelihoodFill.java |  2 +-
 .../iotdb/library/drepair/util/LinearFill.java     |  2 +-
 .../iotdb/library/drepair/util/LsGreedy.java       |  2 +-
 .../apache/iotdb/library/drepair/util/MAFill.java  |  2 +-
 .../iotdb/library/drepair/util/MeanFill.java       |  2 +-
 .../iotdb/library/drepair/util/PreviousFill.java   |  2 +-
 .../apache/iotdb/library/drepair/util/Screen.java  |  2 +-
 .../iotdb/library/drepair/util/ScreenFill.java     |  4 ++--
 .../library/drepair/util/TimestampRepair.java      |  4 ++--
 .../iotdb/library/drepair/util/ValueFill.java      |  6 +++---
 .../iotdb/library/drepair/util/ValueRepair.java    |  4 ++--
 .../apache/iotdb/library/frequency/UDTFConv.java   | 14 +++++++-------
 .../apache/iotdb/library/frequency/UDTFDWT.java    | 14 +++++++-------
 .../apache/iotdb/library/frequency/UDTFDeconv.java | 14 +++++++-------
 .../apache/iotdb/library/frequency/UDTFFFT.java    | 14 +++++++-------
 .../iotdb/library/frequency/UDTFHighPass.java      | 14 +++++++-------
 .../apache/iotdb/library/frequency/UDTFIDWT.java   | 14 +++++++-------
 .../apache/iotdb/library/frequency/UDTFIFFT.java   | 14 +++++++-------
 .../iotdb/library/frequency/UDTFLowPass.java       | 14 +++++++-------
 .../iotdb/library/frequency/util/FFTUtil.java      |  2 +-
 .../library/series/UDTFConsecutiveSequences.java   | 14 +++++++-------
 .../library/series/UDTFConsecutiveWindows.java     | 14 +++++++-------
 .../iotdb/library/series/util/ConsecutiveUtil.java |  4 ++--
 .../iotdb/library/string/UDTFRegexMatch.java       | 14 +++++++-------
 .../iotdb/library/string/UDTFRegexReplace.java     | 14 +++++++-------
 .../iotdb/library/string/UDTFRegexSplit.java       | 14 +++++++-------
 .../iotdb/library/string/UDTFStrReplace.java       | 14 +++++++-------
 .../iotdb/library/util/LinearRegression.java       |  2 +-
 .../java/org/apache/iotdb/library/util/Util.java   |  4 ++--
 .../org/apache/iotdb/commons}/udf/api/UDF.java     |  8 ++++----
 .../org/apache/iotdb/commons}/udf/api/UDTF.java    | 20 ++++++++++----------
 .../apache/iotdb/commons}/udf/api/access/Row.java  |  2 +-
 .../iotdb/commons}/udf/api/access/RowIterator.java |  2 +-
 .../iotdb/commons}/udf/api/access/RowWindow.java   |  6 +++---
 .../commons}/udf/api/collector/PointCollector.java | 12 ++++++------
 .../api/customizer/config/UDFConfigurations.java   |  2 +-
 .../api/customizer/config/UDTFConfigurations.java  | 20 ++++++++++----------
 .../parameter/UDFParameterValidator.java           | 14 +++++++-------
 .../api/customizer/parameter/UDFParameters.java    |  6 +++---
 .../api/customizer/strategy/AccessStrategy.java    |  8 ++++----
 .../strategy/RowByRowAccessStrategy.java           | 12 ++++++------
 .../strategy/SlidingSizeWindowAccessStrategy.java  | 12 ++++++------
 .../strategy/SlidingTimeWindowAccessStrategy.java  | 12 ++++++------
 .../UDFAttributeNotProvidedException.java          |  2 +-
 .../commons}/udf/api/exception/UDFException.java   |  2 +-
 .../UDFInputSeriesDataTypeNotValidException.java   |  2 +-
 .../UDFInputSeriesIndexNotValidException.java      |  2 +-
 .../UDFInputSeriesNumberNotValidException.java     |  2 +-
 .../UDFOutputSeriesDataTypeNotValidException.java  |  2 +-
 .../exception/UDFParameterNotValidException.java   |  2 +-
 .../query/expression/multi/FunctionExpression.java |  2 +-
 .../apache/iotdb/db/query/udf/builtin/UDTFAbs.java | 12 ++++++------
 .../iotdb/db/query/udf/builtin/UDTFBottomK.java    |  2 +-
 .../iotdb/db/query/udf/builtin/UDTFCast.java       | 18 +++++++++---------
 .../db/query/udf/builtin/UDTFCommonDerivative.java |  6 +++---
 .../udf/builtin/UDTFCommonValueDifference.java     |  6 +++---
 .../iotdb/db/query/udf/builtin/UDTFConst.java      | 16 ++++++++--------
 .../iotdb/db/query/udf/builtin/UDTFConstE.java     | 12 ++++++------
 .../iotdb/db/query/udf/builtin/UDTFConstPi.java    | 12 ++++++------
 .../iotdb/db/query/udf/builtin/UDTFContains.java   | 16 ++++++++--------
 .../query/udf/builtin/UDTFContinuouslySatisfy.java | 18 +++++++++---------
 .../iotdb/db/query/udf/builtin/UDTFDerivative.java | 12 ++++++------
 .../udf/builtin/UDTFEqualSizeBucketAggSample.java  | 18 +++++++++---------
 .../udf/builtin/UDTFEqualSizeBucketM4Sample.java   | 16 ++++++++--------
 .../builtin/UDTFEqualSizeBucketOutlierSample.java  | 20 ++++++++++----------
 .../builtin/UDTFEqualSizeBucketRandomSample.java   | 14 +++++++-------
 .../udf/builtin/UDTFEqualSizeBucketSample.java     |  6 +++---
 .../iotdb/db/query/udf/builtin/UDTFInRange.java    | 18 +++++++++---------
 .../iotdb/db/query/udf/builtin/UDTFJexl.java       | 20 ++++++++++----------
 .../iotdb/db/query/udf/builtin/UDTFMatches.java    | 16 ++++++++--------
 .../iotdb/db/query/udf/builtin/UDTFMath.java       | 18 +++++++++---------
 .../udf/builtin/UDTFNonNegativeDerivative.java     |  6 +++---
 .../builtin/UDTFNonNegativeValueDifference.java    |  6 +++---
 .../iotdb/db/query/udf/builtin/UDTFOnOff.java      | 16 ++++++++--------
 .../iotdb/db/query/udf/builtin/UDTFSelectK.java    | 18 +++++++++---------
 .../db/query/udf/builtin/UDTFTimeDifference.java   | 12 ++++++------
 .../iotdb/db/query/udf/builtin/UDTFTopK.java       |  2 +-
 .../db/query/udf/builtin/UDTFValueDifference.java  | 12 ++++++------
 .../iotdb/db/query/udf/builtin/UDTFValueTrend.java | 12 ++++++------
 ...ializableRowRecordListBackedMultiColumnRow.java |  2 +-
 ...izableRowRecordListBackedMultiColumnWindow.java |  6 +++---
 ...wRecordListBackedMultiColumnWindowIterator.java |  4 ++--
 ...ticSerializableTVListBackedSingleColumnRow.java |  2 +-
 ...SerializableTVListBackedSingleColumnWindow.java |  6 +++---
 ...ableTVListBackedSingleColumnWindowIterator.java |  4 ++--
 .../LayerPointReaderBackedSingleColumnRow.java     |  2 +-
 .../db/query/udf/core/executor/UDTFExecutor.java   | 12 ++++++------
 .../query/udf/core/executor/UDTFTypeInferrer.java  |  8 ++++----
 .../udf/core/layer/ConstantIntermediateLayer.java  |  4 ++--
 .../db/query/udf/core/layer/IntermediateLayer.java |  6 +++---
 .../layer/MultiInputColumnIntermediateLayer.java   |  8 ++++----
 ...InputColumnMultiReferenceIntermediateLayer.java |  8 ++++----
 ...nputColumnSingleReferenceIntermediateLayer.java |  8 ++++----
 .../db/query/udf/core/reader/LayerRowReader.java   |  2 +-
 .../udf/core/reader/LayerRowWindowReader.java      |  2 +-
 .../tv/ElasticSerializableTVList.java              |  2 +-
 .../udf/service/UDFRegistrationInformation.java    |  2 +-
 .../query/udf/service/UDFRegistrationService.java  |  2 +-
 .../apache/iotdb/db/query/udf/example/Adder.java   | 14 +++++++-------
 156 files changed, 812 insertions(+), 812 deletions(-)

diff --git a/example/udf/src/main/java/org/apache/iotdb/udf/UDTFExample.java b/example/udf/src/main/java/org/apache/iotdb/udf/UDTFExample.java
index 66a07482d5..b5882d72fd 100644
--- a/example/udf/src/main/java/org/apache/iotdb/udf/UDTFExample.java
+++ b/example/udf/src/main/java/org/apache/iotdb/udf/UDTFExample.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb.udf;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import java.io.IOException;
diff --git a/integration/src/main/java/org/apache/iotdb/db/query/udf/example/Accumulator.java b/integration/src/main/java/org/apache/iotdb/db/query/udf/example/Accumulator.java
index cb6387f2eb..e7393f85c9 100644
--- a/integration/src/main/java/org/apache/iotdb/db/query/udf/example/Accumulator.java
+++ b/integration/src/main/java/org/apache/iotdb/db/query/udf/example/Accumulator.java
@@ -19,17 +19,17 @@
 
 package org.apache.iotdb.db.query.udf.example;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.access.RowIterator;
-import org.apache.iotdb.db.query.udf.api.access.RowWindow;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.SlidingTimeWindowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.access.RowIterator;
+import org.apache.iotdb.commons.udf.api.access.RowWindow;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingTimeWindowAccessStrategy;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import org.slf4j.Logger;
diff --git a/integration/src/main/java/org/apache/iotdb/db/query/udf/example/Adder.java b/integration/src/main/java/org/apache/iotdb/db/query/udf/example/Adder.java
index 2b1fc1f13d..8b9ea955f4 100644
--- a/integration/src/main/java/org/apache/iotdb/db/query/udf/example/Adder.java
+++ b/integration/src/main/java/org/apache/iotdb/db/query/udf/example/Adder.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb.db.query.udf.example;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.tsfile.exception.write.UnSupportedDataTypeException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
diff --git a/integration/src/main/java/org/apache/iotdb/db/query/udf/example/Counter.java b/integration/src/main/java/org/apache/iotdb/db/query/udf/example/Counter.java
index 6ca4deaac6..b6b8955e9f 100644
--- a/integration/src/main/java/org/apache/iotdb/db/query/udf/example/Counter.java
+++ b/integration/src/main/java/org/apache/iotdb/db/query/udf/example/Counter.java
@@ -19,15 +19,15 @@
 
 package org.apache.iotdb.db.query.udf.example;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.access.RowWindow;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.SlidingTimeWindowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.access.RowWindow;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingTimeWindowAccessStrategy;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import org.slf4j.Logger;
diff --git a/integration/src/main/java/org/apache/iotdb/db/query/udf/example/Max.java b/integration/src/main/java/org/apache/iotdb/db/query/udf/example/Max.java
index ef4aa50c6a..42795487c0 100644
--- a/integration/src/main/java/org/apache/iotdb/db/query/udf/example/Max.java
+++ b/integration/src/main/java/org/apache/iotdb/db/query/udf/example/Max.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb.db.query.udf.example;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import org.slf4j.Logger;
diff --git a/integration/src/main/java/org/apache/iotdb/db/query/udf/example/Multiplier.java b/integration/src/main/java/org/apache/iotdb/db/query/udf/example/Multiplier.java
index 9b90126381..8055ab1435 100644
--- a/integration/src/main/java/org/apache/iotdb/db/query/udf/example/Multiplier.java
+++ b/integration/src/main/java/org/apache/iotdb/db/query/udf/example/Multiplier.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb.db.query.udf.example;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import org.slf4j.Logger;
diff --git a/integration/src/main/java/org/apache/iotdb/db/query/udf/example/SlidingSizeWindowConstructorTester0.java b/integration/src/main/java/org/apache/iotdb/db/query/udf/example/SlidingSizeWindowConstructorTester0.java
index 436eaf9cb2..2ead453dd4 100644
--- a/integration/src/main/java/org/apache/iotdb/db/query/udf/example/SlidingSizeWindowConstructorTester0.java
+++ b/integration/src/main/java/org/apache/iotdb/db/query/udf/example/SlidingSizeWindowConstructorTester0.java
@@ -19,12 +19,12 @@
 
 package org.apache.iotdb.db.query.udf.example;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.RowWindow;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.RowWindow;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import org.slf4j.Logger;
diff --git a/integration/src/main/java/org/apache/iotdb/db/query/udf/example/SlidingSizeWindowConstructorTester1.java b/integration/src/main/java/org/apache/iotdb/db/query/udf/example/SlidingSizeWindowConstructorTester1.java
index fc132333c7..ed6050c2ad 100644
--- a/integration/src/main/java/org/apache/iotdb/db/query/udf/example/SlidingSizeWindowConstructorTester1.java
+++ b/integration/src/main/java/org/apache/iotdb/db/query/udf/example/SlidingSizeWindowConstructorTester1.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb.db.query.udf.example;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import org.slf4j.Logger;
diff --git a/integration/src/main/java/org/apache/iotdb/db/query/udf/example/SlidingTimeWindowConstructionTester.java b/integration/src/main/java/org/apache/iotdb/db/query/udf/example/SlidingTimeWindowConstructionTester.java
index 917811ff34..111aad3c75 100644
--- a/integration/src/main/java/org/apache/iotdb/db/query/udf/example/SlidingTimeWindowConstructionTester.java
+++ b/integration/src/main/java/org/apache/iotdb/db/query/udf/example/SlidingTimeWindowConstructionTester.java
@@ -19,14 +19,14 @@
 
 package org.apache.iotdb.db.query.udf.example;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.RowIterator;
-import org.apache.iotdb.db.query.udf.api.access.RowWindow;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.SlidingTimeWindowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.RowIterator;
+import org.apache.iotdb.commons.udf.api.access.RowWindow;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingTimeWindowAccessStrategy;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import org.slf4j.Logger;
diff --git a/integration/src/main/java/org/apache/iotdb/db/query/udf/example/TerminateTester.java b/integration/src/main/java/org/apache/iotdb/db/query/udf/example/TerminateTester.java
index a7fba82c72..909984940c 100644
--- a/integration/src/main/java/org/apache/iotdb/db/query/udf/example/TerminateTester.java
+++ b/integration/src/main/java/org/apache/iotdb/db/query/udf/example/TerminateTester.java
@@ -19,12 +19,12 @@
 
 package org.apache.iotdb.db.query.udf.example;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import org.slf4j.Logger;
diff --git a/integration/src/main/java/org/apache/iotdb/db/query/udf/example/ValidateTester.java b/integration/src/main/java/org/apache/iotdb/db/query/udf/example/ValidateTester.java
index b5c0dea54f..7f53d9fe59 100644
--- a/integration/src/main/java/org/apache/iotdb/db/query/udf/example/ValidateTester.java
+++ b/integration/src/main/java/org/apache/iotdb/db/query/udf/example/ValidateTester.java
@@ -19,11 +19,11 @@
 
 package org.apache.iotdb.db.query.udf.example;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 public class ValidateTester implements UDTF {
diff --git a/integration/src/main/java/org/apache/iotdb/db/query/udf/example/WindowStartEnd.java b/integration/src/main/java/org/apache/iotdb/db/query/udf/example/WindowStartEnd.java
index 2745becbdf..ccf002aea0 100644
--- a/integration/src/main/java/org/apache/iotdb/db/query/udf/example/WindowStartEnd.java
+++ b/integration/src/main/java/org/apache/iotdb/db/query/udf/example/WindowStartEnd.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb.db.query.udf.example;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.RowWindow;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.SlidingTimeWindowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.RowWindow;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingTimeWindowAccessStrategy;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import java.io.IOException;
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/anomaly/UDTFIQR.java b/library-udf/src/main/java/org/apache/iotdb/library/anomaly/UDTFIQR.java
index 5f358200ad..4646fe103d 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/anomaly/UDTFIQR.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/anomaly/UDTFIQR.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb.library.anomaly;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.library.util.Util;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/anomaly/UDTFKSigma.java b/library-udf/src/main/java/org/apache/iotdb/library/anomaly/UDTFKSigma.java
index 4c734115ef..1ddd01ad4d 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/anomaly/UDTFKSigma.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/anomaly/UDTFKSigma.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb.library.anomaly;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.library.util.CircularQueue;
 import org.apache.iotdb.library.util.LongCircularQueue;
 import org.apache.iotdb.library.util.Util;
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/anomaly/UDTFLOF.java b/library-udf/src/main/java/org/apache/iotdb/library/anomaly/UDTFLOF.java
index 5c5d8d2294..e747b2a066 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/anomaly/UDTFLOF.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/anomaly/UDTFLOF.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb.library.anomaly;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.RowWindow;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.RowWindow;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
 import org.apache.iotdb.library.util.Util;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/anomaly/UDTFMissDetect.java b/library-udf/src/main/java/org/apache/iotdb/library/anomaly/UDTFMissDetect.java
index a146799b19..29bc70c9d4 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/anomaly/UDTFMissDetect.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/anomaly/UDTFMissDetect.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb.library.anomaly;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.library.anomaly.util.StreamMissDetector;
 import org.apache.iotdb.library.util.Util;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/anomaly/UDTFRange.java b/library-udf/src/main/java/org/apache/iotdb/library/anomaly/UDTFRange.java
index c0fec32696..26a9af205f 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/anomaly/UDTFRange.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/anomaly/UDTFRange.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb.library.anomaly;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.library.util.Util;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/anomaly/UDTFTwoSidedFilter.java b/library-udf/src/main/java/org/apache/iotdb/library/anomaly/UDTFTwoSidedFilter.java
index 80a4f545d5..f8f72a5437 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/anomaly/UDTFTwoSidedFilter.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/anomaly/UDTFTwoSidedFilter.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb.library.anomaly;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.RowWindow;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.RowWindow;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
 import org.apache.iotdb.library.anomaly.util.WindowDetect;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/anomaly/util/MissDetector.java b/library-udf/src/main/java/org/apache/iotdb/library/anomaly/util/MissDetector.java
index 18a2db5cf2..8d654ace8a 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/anomaly/util/MissDetector.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/anomaly/util/MissDetector.java
@@ -19,8 +19,8 @@
 
 package org.apache.iotdb.library.anomaly.util;
 
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.access.RowIterator;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.access.RowIterator;
 import org.apache.iotdb.library.util.Util;
 
 import org.apache.commons.math3.stat.regression.SimpleRegression;
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/anomaly/util/WindowDetect.java b/library-udf/src/main/java/org/apache/iotdb/library/anomaly/util/WindowDetect.java
index 0d8e15d23e..9828d61acb 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/anomaly/util/WindowDetect.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/anomaly/util/WindowDetect.java
@@ -19,8 +19,8 @@
 
 package org.apache.iotdb.library.anomaly.util;
 
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.access.RowIterator;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.access.RowIterator;
 import org.apache.iotdb.library.util.Util;
 
 import java.util.ArrayList;
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/dmatch/UDAFCov.java b/library-udf/src/main/java/org/apache/iotdb/library/dmatch/UDAFCov.java
index bf61929ac3..403f51d6d1 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/dmatch/UDAFCov.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/dmatch/UDAFCov.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb.library.dmatch;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.library.util.Util;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/dmatch/UDAFDtw.java b/library-udf/src/main/java/org/apache/iotdb/library/dmatch/UDAFDtw.java
index 90fae2816e..fd9c408f8a 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/dmatch/UDAFDtw.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/dmatch/UDAFDtw.java
@@ -19,14 +19,14 @@
 
 package org.apache.iotdb.library.dmatch;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.access.RowWindow;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.access.RowWindow;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
 import org.apache.iotdb.library.util.Util;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/dmatch/UDAFPearson.java b/library-udf/src/main/java/org/apache/iotdb/library/dmatch/UDAFPearson.java
index 3a8e97ac1a..56a1a6dcf0 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/dmatch/UDAFPearson.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/dmatch/UDAFPearson.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb.library.dmatch;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.library.util.Util;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/dmatch/UDTFPtnSym.java b/library-udf/src/main/java/org/apache/iotdb/library/dmatch/UDTFPtnSym.java
index 98478e751b..f95d46e4a9 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/dmatch/UDTFPtnSym.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/dmatch/UDTFPtnSym.java
@@ -19,14 +19,14 @@
 
 package org.apache.iotdb.library.dmatch;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.access.RowWindow;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.access.RowWindow;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
 import org.apache.iotdb.library.util.Util;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/dmatch/UDTFXCorr.java b/library-udf/src/main/java/org/apache/iotdb/library/dmatch/UDTFXCorr.java
index b72a3a276d..4f08709be8 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/dmatch/UDTFXCorr.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/dmatch/UDTFXCorr.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb.library.dmatch;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.library.dmatch.util.CrossCorrelation;
 import org.apache.iotdb.library.util.Util;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDAFIntegral.java b/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDAFIntegral.java
index 87fa45a63a..0299557484 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDAFIntegral.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDAFIntegral.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb.library.dprofile;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.library.util.Util;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDAFIntegralAvg.java b/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDAFIntegralAvg.java
index 2250ca9816..486ec29b38 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDAFIntegralAvg.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDAFIntegralAvg.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb.library.dprofile;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.library.util.Util;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDAFMad.java b/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDAFMad.java
index 9164198c35..602b6f6cdc 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDAFMad.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDAFMad.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb.library.dprofile;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.library.dprofile.util.ExactOrderStatistics;
 import org.apache.iotdb.library.dprofile.util.MADSketch;
 import org.apache.iotdb.library.util.Util;
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDAFMedian.java b/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDAFMedian.java
index 00b45af92c..8c61703245 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDAFMedian.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDAFMedian.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb.library.dprofile;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.library.dprofile.util.ExactOrderStatistics;
 import org.apache.iotdb.library.dprofile.util.GKArray;
 import org.apache.iotdb.library.util.Util;
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDAFMode.java b/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDAFMode.java
index e19cce850a..002c52484b 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDAFMode.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDAFMode.java
@@ -18,13 +18,13 @@
  */
 package org.apache.iotdb.library.dprofile;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.library.dprofile.util.MaxSelector;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDAFPercentile.java b/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDAFPercentile.java
index 6eebfee988..100cd80109 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDAFPercentile.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDAFPercentile.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb.library.dprofile;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.library.dprofile.util.ExactOrderStatistics;
 import org.apache.iotdb.library.dprofile.util.GKArray;
 import org.apache.iotdb.library.util.Util;
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDAFPeriod.java b/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDAFPeriod.java
index 892e553f79..c8f6469be0 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDAFPeriod.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDAFPeriod.java
@@ -19,15 +19,15 @@
 
 package org.apache.iotdb.library.dprofile;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.access.RowIterator;
-import org.apache.iotdb.db.query.udf.api.access.RowWindow;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.access.RowIterator;
+import org.apache.iotdb.commons.udf.api.access.RowWindow;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
 import org.apache.iotdb.library.util.Util;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDAFSkew.java b/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDAFSkew.java
index 559f1cc857..4d3c82c734 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDAFSkew.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDAFSkew.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb.library.dprofile;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.library.util.Util;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDAFSpread.java b/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDAFSpread.java
index 414ff37c0a..7a237fa938 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDAFSpread.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDAFSpread.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb.library.dprofile;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.library.util.NoNumberException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDAFStddev.java b/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDAFStddev.java
index 5611c0116c..b01598cdf3 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDAFStddev.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDAFStddev.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb.library.dprofile;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.library.util.Util;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDTFACF.java b/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDTFACF.java
index 3bc410c816..8ab3337f84 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDTFACF.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDTFACF.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb.library.dprofile;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.library.dprofile.util.CrossCorrelation;
 import org.apache.iotdb.library.util.Util;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDTFDistinct.java b/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDTFDistinct.java
index 5f0ab6c89d..d1b552ef16 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDTFDistinct.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDTFDistinct.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb.library.dprofile;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import org.eclipse.collections.api.iterator.MutableBooleanIterator;
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDTFHistogram.java b/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDTFHistogram.java
index 4f0c4ce529..a24dcc197b 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDTFHistogram.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDTFHistogram.java
@@ -18,13 +18,13 @@
  */
 package org.apache.iotdb.library.dprofile;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.library.util.Util;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDTFMinMax.java b/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDTFMinMax.java
index a7812c0c4a..ee5e0fb9c6 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDTFMinMax.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDTFMinMax.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb.library.dprofile;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.library.util.Util;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDTFMvAvg.java b/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDTFMvAvg.java
index 4226354db8..b5aea28fa1 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDTFMvAvg.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDTFMvAvg.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb.library.dprofile;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.library.util.DoubleCircularQueue;
 import org.apache.iotdb.library.util.Util;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDTFPACF.java b/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDTFPACF.java
index e9622ee2fb..7c73e53511 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDTFPACF.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDTFPACF.java
@@ -18,13 +18,13 @@
  */
 package org.apache.iotdb.library.dprofile;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.library.dprofile.util.YuleWalker;
 import org.apache.iotdb.library.util.Util;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDTFQLB.java b/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDTFQLB.java
index f213ef824b..6f014c894a 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDTFQLB.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDTFQLB.java
@@ -18,13 +18,13 @@
  */
 package org.apache.iotdb.library.dprofile;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.library.util.Util;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDTFResample.java b/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDTFResample.java
index 229dbef8c6..220b08f247 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDTFResample.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDTFResample.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb.library.dprofile;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.library.dprofile.util.Resampler;
 import org.apache.iotdb.library.util.Util;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDTFSample.java b/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDTFSample.java
index 370e244143..5df57ecf91 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDTFSample.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDTFSample.java
@@ -19,16 +19,16 @@
 
 package org.apache.iotdb.library.dprofile;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.access.RowIterator;
-import org.apache.iotdb.db.query.udf.api.access.RowWindow;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.access.RowIterator;
+import org.apache.iotdb.commons.udf.api.access.RowWindow;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
 import org.apache.iotdb.library.util.Util;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDTFSegment.java b/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDTFSegment.java
index dbdfc08011..0c56942d00 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDTFSegment.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDTFSegment.java
@@ -18,13 +18,13 @@
  */
 package org.apache.iotdb.library.dprofile;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.library.dprofile.util.Segment;
 import org.apache.iotdb.library.util.Util;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDTFSpline.java b/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDTFSpline.java
index cf6925e5db..13d3ef5fb7 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDTFSpline.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDTFSpline.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb.library.dprofile;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.library.util.Util;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDTFZScore.java b/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDTFZScore.java
index 1f1a8ead60..4b1c5f0ceb 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDTFZScore.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/dprofile/UDTFZScore.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb.library.dprofile;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.library.util.Util;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/dprofile/util/ExactOrderStatistics.java b/library-udf/src/main/java/org/apache/iotdb/library/dprofile/util/ExactOrderStatistics.java
index e6aa0e9d3a..61d5aa24e8 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/dprofile/util/ExactOrderStatistics.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/dprofile/util/ExactOrderStatistics.java
@@ -18,8 +18,8 @@
  */
 package org.apache.iotdb.library.dprofile.util;
 
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.exception.UDFInputSeriesDataTypeNotValidException;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.exception.UDFInputSeriesDataTypeNotValidException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import org.eclipse.collections.impl.list.mutable.primitive.DoubleArrayList;
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/dquality/UDTFCompleteness.java b/library-udf/src/main/java/org/apache/iotdb/library/dquality/UDTFCompleteness.java
index db1d356632..d4d8b55ece 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/dquality/UDTFCompleteness.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/dquality/UDTFCompleteness.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb.library.dquality;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.RowWindow;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.SlidingTimeWindowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.RowWindow;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingTimeWindowAccessStrategy;
 import org.apache.iotdb.library.dquality.util.TimeSeriesQuality;
 import org.apache.iotdb.library.util.Util;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/dquality/UDTFConsistency.java b/library-udf/src/main/java/org/apache/iotdb/library/dquality/UDTFConsistency.java
index b01a7f35a3..5b131d4a1f 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/dquality/UDTFConsistency.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/dquality/UDTFConsistency.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb.library.dquality;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.RowWindow;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.SlidingTimeWindowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.RowWindow;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingTimeWindowAccessStrategy;
 import org.apache.iotdb.library.dquality.util.TimeSeriesQuality;
 import org.apache.iotdb.library.util.NoNumberException;
 import org.apache.iotdb.library.util.Util;
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/dquality/UDTFTimeliness.java b/library-udf/src/main/java/org/apache/iotdb/library/dquality/UDTFTimeliness.java
index 89552f4b16..26203c026c 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/dquality/UDTFTimeliness.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/dquality/UDTFTimeliness.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb.library.dquality;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.RowWindow;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.SlidingTimeWindowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.RowWindow;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingTimeWindowAccessStrategy;
 import org.apache.iotdb.library.dquality.util.TimeSeriesQuality;
 import org.apache.iotdb.library.util.NoNumberException;
 import org.apache.iotdb.library.util.Util;
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/dquality/UDTFValidity.java b/library-udf/src/main/java/org/apache/iotdb/library/dquality/UDTFValidity.java
index 99e3345c72..2f66d491af 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/dquality/UDTFValidity.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/dquality/UDTFValidity.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb.library.dquality;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.RowWindow;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.SlidingTimeWindowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.RowWindow;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingTimeWindowAccessStrategy;
 import org.apache.iotdb.library.dquality.util.TimeSeriesQuality;
 import org.apache.iotdb.library.util.NoNumberException;
 import org.apache.iotdb.library.util.Util;
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/dquality/util/TimeSeriesQuality.java b/library-udf/src/main/java/org/apache/iotdb/library/dquality/util/TimeSeriesQuality.java
index 2734413d66..39e5a82d0e 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/dquality/util/TimeSeriesQuality.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/dquality/util/TimeSeriesQuality.java
@@ -19,8 +19,8 @@
 
 package org.apache.iotdb.library.dquality.util;
 
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.access.RowIterator;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.access.RowIterator;
 import org.apache.iotdb.library.util.Util;
 
 import org.apache.commons.math3.stat.descriptive.rank.Median;
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/drepair/UDTFTimestampRepair.java b/library-udf/src/main/java/org/apache/iotdb/library/drepair/UDTFTimestampRepair.java
index 85bcbc3bb0..143d77d575 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/drepair/UDTFTimestampRepair.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/drepair/UDTFTimestampRepair.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb.library.drepair;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.RowWindow;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.RowWindow;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
 import org.apache.iotdb.library.drepair.util.TimestampRepair;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/drepair/UDTFValueFill.java b/library-udf/src/main/java/org/apache/iotdb/library/drepair/UDTFValueFill.java
index 9d148b573b..a43d581fe1 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/drepair/UDTFValueFill.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/drepair/UDTFValueFill.java
@@ -18,13 +18,13 @@
  */
 package org.apache.iotdb.library.drepair;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.RowWindow;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.RowWindow;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
 import org.apache.iotdb.library.drepair.util.ARFill;
 import org.apache.iotdb.library.drepair.util.LikelihoodFill;
 import org.apache.iotdb.library.drepair.util.LinearFill;
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/drepair/UDTFValueRepair.java b/library-udf/src/main/java/org/apache/iotdb/library/drepair/UDTFValueRepair.java
index a7cd8ca774..9207d8e4b8 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/drepair/UDTFValueRepair.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/drepair/UDTFValueRepair.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb.library.drepair;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.RowWindow;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.RowWindow;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
 import org.apache.iotdb.library.drepair.util.LsGreedy;
 import org.apache.iotdb.library.drepair.util.Screen;
 import org.apache.iotdb.library.drepair.util.ValueRepair;
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/drepair/util/ARFill.java b/library-udf/src/main/java/org/apache/iotdb/library/drepair/util/ARFill.java
index cc362cbfe4..44a3f77c62 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/drepair/util/ARFill.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/drepair/util/ARFill.java
@@ -18,8 +18,8 @@
  */
 package org.apache.iotdb.library.drepair.util;
 
-import org.apache.iotdb.db.query.udf.api.access.RowIterator;
-import org.apache.iotdb.db.query.udf.api.exception.UDFException;
+import org.apache.iotdb.commons.udf.api.access.RowIterator;
+import org.apache.iotdb.commons.udf.api.exception.UDFException;
 
 public class ARFill extends ValueFill {
   // TODO Higer order AR regression
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/drepair/util/LikelihoodFill.java b/library-udf/src/main/java/org/apache/iotdb/library/drepair/util/LikelihoodFill.java
index cc26be1a24..5e035cf3df 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/drepair/util/LikelihoodFill.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/drepair/util/LikelihoodFill.java
@@ -18,7 +18,7 @@
  */
 package org.apache.iotdb.library.drepair.util;
 
-import org.apache.iotdb.db.query.udf.api.access.RowIterator;
+import org.apache.iotdb.commons.udf.api.access.RowIterator;
 
 import java.util.ArrayList;
 import java.util.List;
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/drepair/util/LinearFill.java b/library-udf/src/main/java/org/apache/iotdb/library/drepair/util/LinearFill.java
index 8c8a41b29b..635b6f6b11 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/drepair/util/LinearFill.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/drepair/util/LinearFill.java
@@ -18,7 +18,7 @@
  */
 package org.apache.iotdb.library.drepair.util;
 
-import org.apache.iotdb.db.query.udf.api.access.RowIterator;
+import org.apache.iotdb.commons.udf.api.access.RowIterator;
 
 public class LinearFill extends ValueFill {
 
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/drepair/util/LsGreedy.java b/library-udf/src/main/java/org/apache/iotdb/library/drepair/util/LsGreedy.java
index 21decefc20..52ea1023c0 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/drepair/util/LsGreedy.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/drepair/util/LsGreedy.java
@@ -18,7 +18,7 @@
  */
 package org.apache.iotdb.library.drepair.util;
 
-import org.apache.iotdb.db.query.udf.api.access.RowIterator;
+import org.apache.iotdb.commons.udf.api.access.RowIterator;
 import org.apache.iotdb.library.util.Util;
 
 import java.util.PriorityQueue;
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/drepair/util/MAFill.java b/library-udf/src/main/java/org/apache/iotdb/library/drepair/util/MAFill.java
index c1e90d5382..4488b4ad4f 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/drepair/util/MAFill.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/drepair/util/MAFill.java
@@ -18,7 +18,7 @@
  */
 package org.apache.iotdb.library.drepair.util;
 
-import org.apache.iotdb.db.query.udf.api.access.RowIterator;
+import org.apache.iotdb.commons.udf.api.access.RowIterator;
 
 public class MAFill extends ValueFill {
   int window_size = 5;
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/drepair/util/MeanFill.java b/library-udf/src/main/java/org/apache/iotdb/library/drepair/util/MeanFill.java
index f7d8d6377b..7db2f2fd78 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/drepair/util/MeanFill.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/drepair/util/MeanFill.java
@@ -18,7 +18,7 @@
  */
 package org.apache.iotdb.library.drepair.util;
 
-import org.apache.iotdb.db.query.udf.api.access.RowIterator;
+import org.apache.iotdb.commons.udf.api.access.RowIterator;
 
 public class MeanFill extends ValueFill {
   public MeanFill(RowIterator dataIterator) throws Exception {
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/drepair/util/PreviousFill.java b/library-udf/src/main/java/org/apache/iotdb/library/drepair/util/PreviousFill.java
index a424d50b99..a3a58d546b 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/drepair/util/PreviousFill.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/drepair/util/PreviousFill.java
@@ -18,7 +18,7 @@
  */
 package org.apache.iotdb.library.drepair.util;
 
-import org.apache.iotdb.db.query.udf.api.access.RowIterator;
+import org.apache.iotdb.commons.udf.api.access.RowIterator;
 
 public class PreviousFill extends ValueFill {
 
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/drepair/util/Screen.java b/library-udf/src/main/java/org/apache/iotdb/library/drepair/util/Screen.java
index 8c3877478a..7eb09c6093 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/drepair/util/Screen.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/drepair/util/Screen.java
@@ -18,7 +18,7 @@
  */
 package org.apache.iotdb.library.drepair.util;
 
-import org.apache.iotdb.db.query.udf.api.access.RowIterator;
+import org.apache.iotdb.commons.udf.api.access.RowIterator;
 import org.apache.iotdb.library.util.Util;
 
 import org.apache.commons.lang3.tuple.Pair;
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/drepair/util/ScreenFill.java b/library-udf/src/main/java/org/apache/iotdb/library/drepair/util/ScreenFill.java
index 40131bc9e6..4c96e1ee76 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/drepair/util/ScreenFill.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/drepair/util/ScreenFill.java
@@ -18,8 +18,8 @@
  */
 package org.apache.iotdb.library.drepair.util;
 
-import org.apache.iotdb.db.query.udf.api.access.RowIterator;
-import org.apache.iotdb.db.query.udf.api.exception.UDFException;
+import org.apache.iotdb.commons.udf.api.access.RowIterator;
+import org.apache.iotdb.commons.udf.api.exception.UDFException;
 import org.apache.iotdb.library.util.Util;
 
 import org.apache.commons.lang3.tuple.Pair;
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/drepair/util/TimestampRepair.java b/library-udf/src/main/java/org/apache/iotdb/library/drepair/util/TimestampRepair.java
index b01e87a56f..196e35a64f 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/drepair/util/TimestampRepair.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/drepair/util/TimestampRepair.java
@@ -18,8 +18,8 @@
  */
 package org.apache.iotdb.library.drepair.util;
 
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.access.RowIterator;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.access.RowIterator;
 import org.apache.iotdb.library.util.Util;
 
 import org.slf4j.Logger;
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/drepair/util/ValueFill.java b/library-udf/src/main/java/org/apache/iotdb/library/drepair/util/ValueFill.java
index 1275f960db..3d1d9c7b0e 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/drepair/util/ValueFill.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/drepair/util/ValueFill.java
@@ -18,9 +18,9 @@
  */
 package org.apache.iotdb.library.drepair.util;
 
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.access.RowIterator;
-import org.apache.iotdb.db.query.udf.api.exception.UDFException;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.access.RowIterator;
+import org.apache.iotdb.commons.udf.api.exception.UDFException;
 import org.apache.iotdb.library.util.Util;
 
 import java.util.ArrayList;
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/drepair/util/ValueRepair.java b/library-udf/src/main/java/org/apache/iotdb/library/drepair/util/ValueRepair.java
index 0d8f53256a..49c0056ad9 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/drepair/util/ValueRepair.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/drepair/util/ValueRepair.java
@@ -18,8 +18,8 @@
  */
 package org.apache.iotdb.library.drepair.util;
 
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.access.RowIterator;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.access.RowIterator;
 import org.apache.iotdb.library.util.Util;
 
 import java.util.ArrayList;
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/frequency/UDTFConv.java b/library-udf/src/main/java/org/apache/iotdb/library/frequency/UDTFConv.java
index e756f794fb..bddc15639a 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/frequency/UDTFConv.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/frequency/UDTFConv.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb.library.frequency;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.library.util.Util;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/frequency/UDTFDWT.java b/library-udf/src/main/java/org/apache/iotdb/library/frequency/UDTFDWT.java
index 615de54b4c..069a369b75 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/frequency/UDTFDWT.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/frequency/UDTFDWT.java
@@ -18,13 +18,13 @@
  */
 package org.apache.iotdb.library.frequency;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.library.frequency.util.DWTUtil;
 import org.apache.iotdb.library.util.Util;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/frequency/UDTFDeconv.java b/library-udf/src/main/java/org/apache/iotdb/library/frequency/UDTFDeconv.java
index 7f6e743486..a44521271b 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/frequency/UDTFDeconv.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/frequency/UDTFDeconv.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb.library.frequency;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.library.util.Util;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/frequency/UDTFFFT.java b/library-udf/src/main/java/org/apache/iotdb/library/frequency/UDTFFFT.java
index 2aae08c477..6dfece67cf 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/frequency/UDTFFFT.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/frequency/UDTFFFT.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb.library.frequency;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.library.frequency.util.FFTUtil;
 import org.apache.iotdb.library.util.Util;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/frequency/UDTFHighPass.java b/library-udf/src/main/java/org/apache/iotdb/library/frequency/UDTFHighPass.java
index 070f193041..0a0eb49c84 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/frequency/UDTFHighPass.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/frequency/UDTFHighPass.java
@@ -18,13 +18,13 @@
  */
 package org.apache.iotdb.library.frequency;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.library.util.Util;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/frequency/UDTFIDWT.java b/library-udf/src/main/java/org/apache/iotdb/library/frequency/UDTFIDWT.java
index 38d75b24a4..b086499dd0 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/frequency/UDTFIDWT.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/frequency/UDTFIDWT.java
@@ -18,13 +18,13 @@
  */
 package org.apache.iotdb.library.frequency;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.library.frequency.util.DWTUtil;
 import org.apache.iotdb.library.util.Util;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/frequency/UDTFIFFT.java b/library-udf/src/main/java/org/apache/iotdb/library/frequency/UDTFIFFT.java
index bf2ddb95fa..408654d503 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/frequency/UDTFIFFT.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/frequency/UDTFIFFT.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb.library.frequency;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.library.util.Util;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/frequency/UDTFLowPass.java b/library-udf/src/main/java/org/apache/iotdb/library/frequency/UDTFLowPass.java
index 855d17041e..7260dc9935 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/frequency/UDTFLowPass.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/frequency/UDTFLowPass.java
@@ -18,13 +18,13 @@
  */
 package org.apache.iotdb.library.frequency;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.library.util.Util;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/frequency/util/FFTUtil.java b/library-udf/src/main/java/org/apache/iotdb/library/frequency/util/FFTUtil.java
index 848a158794..574f770a1d 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/frequency/util/FFTUtil.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/frequency/util/FFTUtil.java
@@ -18,7 +18,7 @@
  */
 package org.apache.iotdb.library.frequency.util;
 
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
 
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/series/UDTFConsecutiveSequences.java b/library-udf/src/main/java/org/apache/iotdb/library/series/UDTFConsecutiveSequences.java
index 66d5abb24d..9c043bd47a 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/series/UDTFConsecutiveSequences.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/series/UDTFConsecutiveSequences.java
@@ -16,13 +16,13 @@
 
 package org.apache.iotdb.library.series;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.library.series.util.ConsecutiveUtil;
 import org.apache.iotdb.library.util.Util;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/series/UDTFConsecutiveWindows.java b/library-udf/src/main/java/org/apache/iotdb/library/series/UDTFConsecutiveWindows.java
index 9424a7ac26..9a2765fcf4 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/series/UDTFConsecutiveWindows.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/series/UDTFConsecutiveWindows.java
@@ -16,13 +16,13 @@
 
 package org.apache.iotdb.library.series;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.library.series.util.ConsecutiveUtil;
 import org.apache.iotdb.library.util.Util;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/series/util/ConsecutiveUtil.java b/library-udf/src/main/java/org/apache/iotdb/library/series/util/ConsecutiveUtil.java
index a5e085b46f..35d8d0d9d5 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/series/util/ConsecutiveUtil.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/series/util/ConsecutiveUtil.java
@@ -15,8 +15,8 @@
  */
 package org.apache.iotdb.library.series.util;
 
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
 import org.apache.iotdb.library.util.Util;
 
 import org.apache.commons.lang3.tuple.Pair;
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/string/UDTFRegexMatch.java b/library-udf/src/main/java/org/apache/iotdb/library/string/UDTFRegexMatch.java
index cbe4ef62cf..5b4580a24f 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/string/UDTFRegexMatch.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/string/UDTFRegexMatch.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb.library.string;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import java.util.regex.Matcher;
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/string/UDTFRegexReplace.java b/library-udf/src/main/java/org/apache/iotdb/library/string/UDTFRegexReplace.java
index 2af3bbbc7c..80891ae0f2 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/string/UDTFRegexReplace.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/string/UDTFRegexReplace.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb.library.string;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import org.eclipse.collections.impl.list.mutable.primitive.IntArrayList;
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/string/UDTFRegexSplit.java b/library-udf/src/main/java/org/apache/iotdb/library/string/UDTFRegexSplit.java
index 45a9c79d1e..9f00641b18 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/string/UDTFRegexSplit.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/string/UDTFRegexSplit.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb.library.string;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 /** This function splits string from an input series according to given regex. */
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/string/UDTFStrReplace.java b/library-udf/src/main/java/org/apache/iotdb/library/string/UDTFStrReplace.java
index b6b19f4bcc..1b67789c96 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/string/UDTFStrReplace.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/string/UDTFStrReplace.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb.library.string;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 /** This function does limited times of replacement of substring from an input series. */
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/util/LinearRegression.java b/library-udf/src/main/java/org/apache/iotdb/library/util/LinearRegression.java
index b79ac7f8c3..00d9d4b160 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/util/LinearRegression.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/util/LinearRegression.java
@@ -18,7 +18,7 @@
  */
 package org.apache.iotdb.library.util;
 
-import org.apache.iotdb.db.query.udf.api.exception.UDFException;
+import org.apache.iotdb.commons.udf.api.exception.UDFException;
 
 import java.util.Arrays;
 
diff --git a/library-udf/src/main/java/org/apache/iotdb/library/util/Util.java b/library-udf/src/main/java/org/apache/iotdb/library/util/Util.java
index f1a1896546..734005aa38 100644
--- a/library-udf/src/main/java/org/apache/iotdb/library/util/Util.java
+++ b/library-udf/src/main/java/org/apache/iotdb/library/util/Util.java
@@ -18,8 +18,8 @@
  */
 package org.apache.iotdb.library.util;
 
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import org.apache.commons.math3.stat.descriptive.rank.Median;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/api/UDF.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/UDF.java
similarity index 82%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/api/UDF.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/api/UDF.java
index ffa19132e7..e7d37fdd02 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/api/UDF.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/UDF.java
@@ -17,11 +17,11 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.api;
+package org.apache.iotdb.commons.udf.api;
 
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
 
 public interface UDF {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/api/UDTF.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/UDTF.java
similarity index 86%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/api/UDTF.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/api/UDTF.java
index 7f29e1f1d1..48b8b1e91f 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/api/UDTF.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/UDTF.java
@@ -17,17 +17,17 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.api;
+package org.apache.iotdb.commons.udf.api;
 
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.access.RowWindow;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.SlidingTimeWindowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.access.RowWindow;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingTimeWindowAccessStrategy;
 
 /**
  * User-defined Time-series Generating Function (UDTF)
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/api/access/Row.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/access/Row.java
similarity index 98%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/api/access/Row.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/api/access/Row.java
index eaf1f7c960..989a33c66d 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/api/access/Row.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/access/Row.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.api.access;
+package org.apache.iotdb.commons.udf.api.access;
 
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.utils.Binary;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/api/access/RowIterator.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/access/RowIterator.java
similarity index 96%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/api/access/RowIterator.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/api/access/RowIterator.java
index fa941dfcc9..fd8b1bec99 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/api/access/RowIterator.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/access/RowIterator.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.api.access;
+package org.apache.iotdb.commons.udf.api.access;
 
 import java.io.IOException;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/api/access/RowWindow.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/access/RowWindow.java
similarity index 93%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/api/access/RowWindow.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/api/access/RowWindow.java
index 54b6caf0ec..99d5ff8550 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/api/access/RowWindow.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/access/RowWindow.java
@@ -17,10 +17,10 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.api.access;
+package org.apache.iotdb.commons.udf.api.access;
 
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.SlidingTimeWindowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingTimeWindowAccessStrategy;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import java.io.IOException;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/api/collector/PointCollector.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/collector/PointCollector.java
similarity index 93%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/api/collector/PointCollector.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/api/collector/PointCollector.java
index b0dfe481af..1867933902 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/api/collector/PointCollector.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/collector/PointCollector.java
@@ -17,13 +17,13 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.api.collector;
+package org.apache.iotdb.commons.udf.api.collector;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.access.RowWindow;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.access.RowWindow;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.utils.Binary;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/config/UDFConfigurations.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/config/UDFConfigurations.java
similarity index 95%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/config/UDFConfigurations.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/config/UDFConfigurations.java
index 80af84503f..713b6e162e 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/config/UDFConfigurations.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/config/UDFConfigurations.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.api.customizer.config;
+package org.apache.iotdb.commons.udf.api.customizer.config;
 
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/config/UDTFConfigurations.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/config/UDTFConfigurations.java
similarity index 81%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/config/UDTFConfigurations.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/config/UDTFConfigurations.java
index c7a3f7b973..7446e7fee3 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/config/UDTFConfigurations.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/config/UDTFConfigurations.java
@@ -17,17 +17,17 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.api.customizer.config;
+package org.apache.iotdb.commons.udf.api.customizer.config;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.access.RowWindow;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.AccessStrategy;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.SlidingTimeWindowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.access.RowWindow;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.AccessStrategy;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingTimeWindowAccessStrategy;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import java.time.ZoneId;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/parameter/UDFParameterValidator.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/parameter/UDFParameterValidator.java
similarity index 93%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/parameter/UDFParameterValidator.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/parameter/UDFParameterValidator.java
index abc983e930..34f9255423 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/parameter/UDFParameterValidator.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/parameter/UDFParameterValidator.java
@@ -17,15 +17,15 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.api.customizer.parameter;
+package org.apache.iotdb.commons.udf.api.customizer.parameter;
 
 import org.apache.iotdb.commons.exception.MetadataException;
-import org.apache.iotdb.db.query.udf.api.exception.UDFAttributeNotProvidedException;
-import org.apache.iotdb.db.query.udf.api.exception.UDFException;
-import org.apache.iotdb.db.query.udf.api.exception.UDFInputSeriesDataTypeNotValidException;
-import org.apache.iotdb.db.query.udf.api.exception.UDFInputSeriesIndexNotValidException;
-import org.apache.iotdb.db.query.udf.api.exception.UDFInputSeriesNumberNotValidException;
-import org.apache.iotdb.db.query.udf.api.exception.UDFParameterNotValidException;
+import org.apache.iotdb.commons.udf.api.exception.UDFAttributeNotProvidedException;
+import org.apache.iotdb.commons.udf.api.exception.UDFException;
+import org.apache.iotdb.commons.udf.api.exception.UDFInputSeriesDataTypeNotValidException;
+import org.apache.iotdb.commons.udf.api.exception.UDFInputSeriesIndexNotValidException;
+import org.apache.iotdb.commons.udf.api.exception.UDFInputSeriesNumberNotValidException;
+import org.apache.iotdb.commons.udf.api.exception.UDFParameterNotValidException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 public class UDFParameterValidator {
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/parameter/UDFParameters.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/parameter/UDFParameters.java
similarity index 96%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/parameter/UDFParameters.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/parameter/UDFParameters.java
index 31c8f1fb09..2ca74b7e96 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/parameter/UDFParameters.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/parameter/UDFParameters.java
@@ -17,12 +17,12 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.api.customizer.parameter;
+package org.apache.iotdb.commons.udf.api.customizer.parameter;
 
 import org.apache.iotdb.commons.exception.MetadataException;
 import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.UDTF;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import java.util.List;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/strategy/AccessStrategy.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/strategy/AccessStrategy.java
similarity index 85%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/strategy/AccessStrategy.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/strategy/AccessStrategy.java
index b3f946dabb..3e4d5c82b5 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/strategy/AccessStrategy.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/strategy/AccessStrategy.java
@@ -17,11 +17,11 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.api.customizer.strategy;
+package org.apache.iotdb.commons.udf.api.customizer.strategy;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.UDTF;
 
 /**
  * Used to customize the strategy for accessing raw data in {@link UDTF#beforeStart(UDFParameters,
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/strategy/RowByRowAccessStrategy.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/strategy/RowByRowAccessStrategy.java
similarity index 83%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/strategy/RowByRowAccessStrategy.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/strategy/RowByRowAccessStrategy.java
index d441772370..fc76d55227 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/strategy/RowByRowAccessStrategy.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/strategy/RowByRowAccessStrategy.java
@@ -17,13 +17,13 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.api.customizer.strategy;
+package org.apache.iotdb.commons.udf.api.customizer.strategy;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.UDTF;
 
 /**
  * Used in {@link UDTF#beforeStart(UDFParameters, UDTFConfigurations)}.
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/strategy/SlidingSizeWindowAccessStrategy.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/strategy/SlidingSizeWindowAccessStrategy.java
similarity index 91%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/strategy/SlidingSizeWindowAccessStrategy.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/strategy/SlidingSizeWindowAccessStrategy.java
index e86bc43a8f..3491363338 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/strategy/SlidingSizeWindowAccessStrategy.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/strategy/SlidingSizeWindowAccessStrategy.java
@@ -17,13 +17,13 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.api.customizer.strategy;
+package org.apache.iotdb.commons.udf.api.customizer.strategy;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.RowWindow;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.access.RowWindow;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.UDTF;
 
 /**
  * Used in {@link UDTF#beforeStart(UDFParameters, UDTFConfigurations)}.
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/strategy/SlidingTimeWindowAccessStrategy.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/strategy/SlidingTimeWindowAccessStrategy.java
similarity index 95%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/strategy/SlidingTimeWindowAccessStrategy.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/strategy/SlidingTimeWindowAccessStrategy.java
index 5bb8b0c87a..c69160dd79 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/strategy/SlidingTimeWindowAccessStrategy.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/customizer/strategy/SlidingTimeWindowAccessStrategy.java
@@ -17,13 +17,13 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.api.customizer.strategy;
+package org.apache.iotdb.commons.udf.api.customizer.strategy;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.RowWindow;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.access.RowWindow;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.UDTF;
 
 import java.time.ZoneId;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/api/exception/UDFAttributeNotProvidedException.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/exception/UDFAttributeNotProvidedException.java
similarity index 95%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/api/exception/UDFAttributeNotProvidedException.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/api/exception/UDFAttributeNotProvidedException.java
index 0ff2a128fc..fe966149dd 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/api/exception/UDFAttributeNotProvidedException.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/exception/UDFAttributeNotProvidedException.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.api.exception;
+package org.apache.iotdb.commons.udf.api.exception;
 
 public class UDFAttributeNotProvidedException extends UDFParameterNotValidException {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/api/exception/UDFException.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/exception/UDFException.java
similarity index 95%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/api/exception/UDFException.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/api/exception/UDFException.java
index b2dcd90a0f..c4a974cd34 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/api/exception/UDFException.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/exception/UDFException.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.api.exception;
+package org.apache.iotdb.commons.udf.api.exception;
 
 public class UDFException extends Exception {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/api/exception/UDFInputSeriesDataTypeNotValidException.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/exception/UDFInputSeriesDataTypeNotValidException.java
similarity index 96%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/api/exception/UDFInputSeriesDataTypeNotValidException.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/api/exception/UDFInputSeriesDataTypeNotValidException.java
index 7bcd9bcd96..96df90aa63 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/api/exception/UDFInputSeriesDataTypeNotValidException.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/exception/UDFInputSeriesDataTypeNotValidException.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.api.exception;
+package org.apache.iotdb.commons.udf.api.exception;
 
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/api/exception/UDFInputSeriesIndexNotValidException.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/exception/UDFInputSeriesIndexNotValidException.java
similarity index 95%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/api/exception/UDFInputSeriesIndexNotValidException.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/api/exception/UDFInputSeriesIndexNotValidException.java
index 7239fd76f9..d5197298ed 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/api/exception/UDFInputSeriesIndexNotValidException.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/exception/UDFInputSeriesIndexNotValidException.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.api.exception;
+package org.apache.iotdb.commons.udf.api.exception;
 
 public class UDFInputSeriesIndexNotValidException extends UDFParameterNotValidException {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/api/exception/UDFInputSeriesNumberNotValidException.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/exception/UDFInputSeriesNumberNotValidException.java
similarity index 96%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/api/exception/UDFInputSeriesNumberNotValidException.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/api/exception/UDFInputSeriesNumberNotValidException.java
index bd899763aa..3ee4e75f43 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/api/exception/UDFInputSeriesNumberNotValidException.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/exception/UDFInputSeriesNumberNotValidException.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.api.exception;
+package org.apache.iotdb.commons.udf.api.exception;
 
 public class UDFInputSeriesNumberNotValidException extends UDFParameterNotValidException {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/api/exception/UDFOutputSeriesDataTypeNotValidException.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/exception/UDFOutputSeriesDataTypeNotValidException.java
similarity index 95%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/api/exception/UDFOutputSeriesDataTypeNotValidException.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/api/exception/UDFOutputSeriesDataTypeNotValidException.java
index f94591d97e..ff484594a9 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/api/exception/UDFOutputSeriesDataTypeNotValidException.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/exception/UDFOutputSeriesDataTypeNotValidException.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.api.exception;
+package org.apache.iotdb.commons.udf.api.exception;
 
 public class UDFOutputSeriesDataTypeNotValidException extends UDFParameterNotValidException {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/api/exception/UDFParameterNotValidException.java b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/exception/UDFParameterNotValidException.java
similarity index 94%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/api/exception/UDFParameterNotValidException.java
rename to node-commons/src/main/java/org/apache/iotdb/commons/udf/api/exception/UDFParameterNotValidException.java
index 0951c354aa..4fbfe2268b 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/api/exception/UDFParameterNotValidException.java
+++ b/node-commons/src/main/java/org/apache/iotdb/commons/udf/api/exception/UDFParameterNotValidException.java
@@ -17,7 +17,7 @@
  * under the License.
  */
 
-package org.apache.iotdb.db.query.udf.api.exception;
+package org.apache.iotdb.commons.udf.api.exception;
 
 public class UDFParameterNotValidException extends UDFException {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/expression/multi/FunctionExpression.java b/server/src/main/java/org/apache/iotdb/db/query/expression/multi/FunctionExpression.java
index 12e6084a6a..a7fb75f454 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/expression/multi/FunctionExpression.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/expression/multi/FunctionExpression.java
@@ -32,7 +32,7 @@ import org.apache.iotdb.db.qp.strategy.optimizer.ConcatPathOptimizer;
 import org.apache.iotdb.db.query.expression.Expression;
 import org.apache.iotdb.db.query.expression.ExpressionType;
 import org.apache.iotdb.db.query.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.AccessStrategy;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.AccessStrategy;
 import org.apache.iotdb.db.query.udf.core.executor.UDTFContext;
 import org.apache.iotdb.db.query.udf.core.executor.UDTFExecutor;
 import org.apache.iotdb.db.query.udf.core.executor.UDTFTypeInferrer;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFAbs.java b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFAbs.java
index 82ed1b7651..12df6fef94 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFAbs.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFAbs.java
@@ -20,12 +20,12 @@
 package org.apache.iotdb.db.query.udf.builtin;
 
 import org.apache.iotdb.commons.exception.MetadataException;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
-import org.apache.iotdb.db.query.udf.api.exception.UDFInputSeriesDataTypeNotValidException;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.exception.UDFInputSeriesDataTypeNotValidException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import java.io.IOException;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFBottomK.java b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFBottomK.java
index ccf21080b8..54a911c953 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFBottomK.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFBottomK.java
@@ -19,7 +19,7 @@
 
 package org.apache.iotdb.db.query.udf.builtin;
 
-import org.apache.iotdb.db.query.udf.api.exception.UDFInputSeriesDataTypeNotValidException;
+import org.apache.iotdb.commons.udf.api.exception.UDFInputSeriesDataTypeNotValidException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.utils.Pair;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCast.java b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCast.java
index 2a2ad1e3e5..6befaf4c79 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCast.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCast.java
@@ -21,15 +21,15 @@ package org.apache.iotdb.db.query.udf.builtin;
 
 import org.apache.iotdb.commons.exception.MetadataException;
 import org.apache.iotdb.db.exception.query.QueryProcessException;
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
-import org.apache.iotdb.db.query.udf.api.exception.UDFAttributeNotProvidedException;
-import org.apache.iotdb.db.query.udf.api.exception.UDFInputSeriesNumberNotValidException;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.exception.UDFAttributeNotProvidedException;
+import org.apache.iotdb.commons.udf.api.exception.UDFInputSeriesNumberNotValidException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.utils.Binary;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCommonDerivative.java b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCommonDerivative.java
index deb1c7b17b..52be553133 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCommonDerivative.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCommonDerivative.java
@@ -19,9 +19,9 @@
 
 package org.apache.iotdb.db.query.udf.builtin;
 
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.exception.UDFInputSeriesDataTypeNotValidException;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.exception.UDFInputSeriesDataTypeNotValidException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import java.io.IOException;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCommonValueDifference.java b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCommonValueDifference.java
index 1dbd2222d4..d5d955259c 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCommonValueDifference.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFCommonValueDifference.java
@@ -19,9 +19,9 @@
 
 package org.apache.iotdb.db.query.udf.builtin;
 
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.exception.UDFInputSeriesDataTypeNotValidException;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.exception.UDFInputSeriesDataTypeNotValidException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import java.io.IOException;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFConst.java b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFConst.java
index 89784252f8..739c562676 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFConst.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFConst.java
@@ -19,14 +19,14 @@
 
 package org.apache.iotdb.db.query.udf.builtin;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
-import org.apache.iotdb.db.query.udf.api.exception.UDFParameterNotValidException;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.exception.UDFParameterNotValidException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.utils.Binary;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFConstE.java b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFConstE.java
index 0e6ee37697..d509f7c14e 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFConstE.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFConstE.java
@@ -19,12 +19,12 @@
 
 package org.apache.iotdb.db.query.udf.builtin;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 public class UDTFConstE implements UDTF {
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFConstPi.java b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFConstPi.java
index c2724c7c7e..22b66e123f 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFConstPi.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFConstPi.java
@@ -19,12 +19,12 @@
 
 package org.apache.iotdb.db.query.udf.builtin;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 public class UDTFConstPi implements UDTF {
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFContains.java b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFContains.java
index 09ee073a60..0f52719b85 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFContains.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFContains.java
@@ -19,14 +19,14 @@
 
 package org.apache.iotdb.db.query.udf.builtin;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
-import org.apache.iotdb.db.query.udf.api.exception.UDFException;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.exception.UDFException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 public class UDTFContains implements UDTF {
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFContinuouslySatisfy.java b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFContinuouslySatisfy.java
index 34569181c8..5b158f3fe8 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFContinuouslySatisfy.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFContinuouslySatisfy.java
@@ -20,15 +20,15 @@
 package org.apache.iotdb.db.query.udf.builtin;
 
 import org.apache.iotdb.commons.exception.MetadataException;
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
-import org.apache.iotdb.db.query.udf.api.exception.UDFException;
-import org.apache.iotdb.db.query.udf.api.exception.UDFInputSeriesDataTypeNotValidException;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.exception.UDFException;
+import org.apache.iotdb.commons.udf.api.exception.UDFInputSeriesDataTypeNotValidException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.utils.Pair;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFDerivative.java b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFDerivative.java
index ffadabb339..8df279bc77 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFDerivative.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFDerivative.java
@@ -20,12 +20,12 @@
 package org.apache.iotdb.db.query.udf.builtin;
 
 import org.apache.iotdb.commons.exception.MetadataException;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
-import org.apache.iotdb.db.query.udf.api.exception.UDFInputSeriesDataTypeNotValidException;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.exception.UDFInputSeriesDataTypeNotValidException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import java.io.IOException;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketAggSample.java b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketAggSample.java
index 84fa4688ea..e78dafbdc0 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketAggSample.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketAggSample.java
@@ -20,15 +20,15 @@
 package org.apache.iotdb.db.query.udf.builtin;
 
 import org.apache.iotdb.commons.exception.MetadataException;
-import org.apache.iotdb.db.query.udf.api.access.RowWindow;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
-import org.apache.iotdb.db.query.udf.api.exception.UDFException;
-import org.apache.iotdb.db.query.udf.api.exception.UDFInputSeriesDataTypeNotValidException;
-import org.apache.iotdb.db.query.udf.api.exception.UDFParameterNotValidException;
+import org.apache.iotdb.commons.udf.api.access.RowWindow;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.exception.UDFException;
+import org.apache.iotdb.commons.udf.api.exception.UDFInputSeriesDataTypeNotValidException;
+import org.apache.iotdb.commons.udf.api.exception.UDFParameterNotValidException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import java.io.IOException;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketM4Sample.java b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketM4Sample.java
index b4b7b2c1c5..c4990b8ff3 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketM4Sample.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketM4Sample.java
@@ -19,14 +19,14 @@
 
 package org.apache.iotdb.db.query.udf.builtin;
 
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.access.RowWindow;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
-import org.apache.iotdb.db.query.udf.api.exception.UDFException;
-import org.apache.iotdb.db.query.udf.api.exception.UDFInputSeriesDataTypeNotValidException;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.access.RowWindow;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.exception.UDFException;
+import org.apache.iotdb.commons.udf.api.exception.UDFInputSeriesDataTypeNotValidException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import java.io.IOException;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketOutlierSample.java b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketOutlierSample.java
index 249c46ecb1..286049f7a3 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketOutlierSample.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketOutlierSample.java
@@ -20,16 +20,16 @@
 package org.apache.iotdb.db.query.udf.builtin;
 
 import org.apache.iotdb.commons.exception.MetadataException;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.access.RowWindow;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
-import org.apache.iotdb.db.query.udf.api.exception.UDFException;
-import org.apache.iotdb.db.query.udf.api.exception.UDFInputSeriesDataTypeNotValidException;
-import org.apache.iotdb.db.query.udf.api.exception.UDFParameterNotValidException;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.access.RowWindow;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.exception.UDFException;
+import org.apache.iotdb.commons.udf.api.exception.UDFInputSeriesDataTypeNotValidException;
+import org.apache.iotdb.commons.udf.api.exception.UDFParameterNotValidException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.utils.Pair;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketRandomSample.java b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketRandomSample.java
index 3b45f194c8..5adce14911 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketRandomSample.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketRandomSample.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb.db.query.udf.builtin;
 
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.access.RowWindow;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
-import org.apache.iotdb.db.query.udf.api.exception.UDFInputSeriesDataTypeNotValidException;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.access.RowWindow;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.exception.UDFInputSeriesDataTypeNotValidException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import java.io.IOException;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketSample.java b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketSample.java
index 78f1fa57c0..336f2de527 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketSample.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFEqualSizeBucketSample.java
@@ -20,9 +20,9 @@
 package org.apache.iotdb.db.query.udf.builtin;
 
 import org.apache.iotdb.commons.exception.MetadataException;
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.exception.UDFException;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.exception.UDFException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 public abstract class UDTFEqualSizeBucketSample implements UDTF {
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFInRange.java b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFInRange.java
index 422bfd9d21..476a440e4a 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFInRange.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFInRange.java
@@ -20,15 +20,15 @@
 package org.apache.iotdb.db.query.udf.builtin;
 
 import org.apache.iotdb.commons.exception.MetadataException;
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
-import org.apache.iotdb.db.query.udf.api.exception.UDFException;
-import org.apache.iotdb.db.query.udf.api.exception.UDFInputSeriesDataTypeNotValidException;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.exception.UDFException;
+import org.apache.iotdb.commons.udf.api.exception.UDFInputSeriesDataTypeNotValidException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import java.io.IOException;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFJexl.java b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFJexl.java
index 20a529e31d..502a614eba 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFJexl.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFJexl.java
@@ -21,16 +21,16 @@ package org.apache.iotdb.db.query.udf.builtin;
 
 import org.apache.iotdb.commons.exception.MetadataException;
 import org.apache.iotdb.db.exception.query.QueryProcessException;
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
-import org.apache.iotdb.db.query.udf.api.exception.UDFException;
-import org.apache.iotdb.db.query.udf.api.exception.UDFInputSeriesDataTypeNotValidException;
-import org.apache.iotdb.db.query.udf.api.exception.UDFOutputSeriesDataTypeNotValidException;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.exception.UDFException;
+import org.apache.iotdb.commons.udf.api.exception.UDFInputSeriesDataTypeNotValidException;
+import org.apache.iotdb.commons.udf.api.exception.UDFOutputSeriesDataTypeNotValidException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import org.apache.commons.jexl3.JexlBuilder;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFMatches.java b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFMatches.java
index cecb9db992..f9841ca562 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFMatches.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFMatches.java
@@ -19,14 +19,14 @@
 
 package org.apache.iotdb.db.query.udf.builtin;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
-import org.apache.iotdb.db.query.udf.api.exception.UDFException;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.exception.UDFException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import java.util.regex.Pattern;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFMath.java b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFMath.java
index 20c6963395..d52be03c42 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFMath.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFMath.java
@@ -20,15 +20,15 @@
 package org.apache.iotdb.db.query.udf.builtin;
 
 import org.apache.iotdb.commons.exception.MetadataException;
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
-import org.apache.iotdb.db.query.udf.api.exception.UDFException;
-import org.apache.iotdb.db.query.udf.api.exception.UDFInputSeriesDataTypeNotValidException;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.exception.UDFException;
+import org.apache.iotdb.commons.udf.api.exception.UDFInputSeriesDataTypeNotValidException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import java.io.IOException;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFNonNegativeDerivative.java b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFNonNegativeDerivative.java
index 8e44c50eaf..94986497eb 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFNonNegativeDerivative.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFNonNegativeDerivative.java
@@ -19,9 +19,9 @@
 
 package org.apache.iotdb.db.query.udf.builtin;
 
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.exception.UDFInputSeriesDataTypeNotValidException;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.exception.UDFInputSeriesDataTypeNotValidException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import java.io.IOException;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFNonNegativeValueDifference.java b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFNonNegativeValueDifference.java
index 0a6549a572..48348f5a4a 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFNonNegativeValueDifference.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFNonNegativeValueDifference.java
@@ -19,9 +19,9 @@
 
 package org.apache.iotdb.db.query.udf.builtin;
 
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.exception.UDFInputSeriesDataTypeNotValidException;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.exception.UDFInputSeriesDataTypeNotValidException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import java.io.IOException;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFOnOff.java b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFOnOff.java
index fa2e9bff8d..09e5aaec44 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFOnOff.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFOnOff.java
@@ -20,14 +20,14 @@
 package org.apache.iotdb.db.query.udf.builtin;
 
 import org.apache.iotdb.commons.exception.MetadataException;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
-import org.apache.iotdb.db.query.udf.api.exception.UDFException;
-import org.apache.iotdb.db.query.udf.api.exception.UDFInputSeriesDataTypeNotValidException;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.exception.UDFException;
+import org.apache.iotdb.commons.udf.api.exception.UDFInputSeriesDataTypeNotValidException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import java.io.IOException;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFSelectK.java b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFSelectK.java
index 6e7b2a5cc1..e77ad44a69 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFSelectK.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFSelectK.java
@@ -21,15 +21,15 @@ package org.apache.iotdb.db.query.udf.builtin;
 
 import org.apache.iotdb.commons.exception.MetadataException;
 import org.apache.iotdb.db.exception.query.QueryProcessException;
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
-import org.apache.iotdb.db.query.udf.api.exception.UDFException;
-import org.apache.iotdb.db.query.udf.api.exception.UDFInputSeriesDataTypeNotValidException;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.exception.UDFException;
+import org.apache.iotdb.commons.udf.api.exception.UDFInputSeriesDataTypeNotValidException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.utils.Pair;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFTimeDifference.java b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFTimeDifference.java
index ee2c69c7a4..962aa7a724 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFTimeDifference.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFTimeDifference.java
@@ -19,12 +19,12 @@
 
 package org.apache.iotdb.db.query.udf.builtin;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import java.io.IOException;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFTopK.java b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFTopK.java
index 3f35fe6af6..5d05c860e2 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFTopK.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFTopK.java
@@ -19,7 +19,7 @@
 
 package org.apache.iotdb.db.query.udf.builtin;
 
-import org.apache.iotdb.db.query.udf.api.exception.UDFInputSeriesDataTypeNotValidException;
+import org.apache.iotdb.commons.udf.api.exception.UDFInputSeriesDataTypeNotValidException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.utils.Pair;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFValueDifference.java b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFValueDifference.java
index 0d7d41b5ba..51aa8c103b 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFValueDifference.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFValueDifference.java
@@ -20,12 +20,12 @@
 package org.apache.iotdb.db.query.udf.builtin;
 
 import org.apache.iotdb.commons.exception.MetadataException;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
-import org.apache.iotdb.db.query.udf.api.exception.UDFInputSeriesDataTypeNotValidException;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.exception.UDFInputSeriesDataTypeNotValidException;
 
 import java.io.IOException;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFValueTrend.java b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFValueTrend.java
index 8862ef1e03..65fb3e4f68 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFValueTrend.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFValueTrend.java
@@ -19,12 +19,12 @@
 
 package org.apache.iotdb.db.query.udf.builtin;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.exception.UDFException;
-import org.apache.iotdb.db.query.udf.api.exception.UDFInputSeriesDataTypeNotValidException;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.exception.UDFException;
+import org.apache.iotdb.commons.udf.api.exception.UDFInputSeriesDataTypeNotValidException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import java.io.IOException;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/access/ElasticSerializableRowRecordListBackedMultiColumnRow.java b/server/src/main/java/org/apache/iotdb/db/query/udf/core/access/ElasticSerializableRowRecordListBackedMultiColumnRow.java
index d29b0d5dc5..6447abe2ff 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/access/ElasticSerializableRowRecordListBackedMultiColumnRow.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/core/access/ElasticSerializableRowRecordListBackedMultiColumnRow.java
@@ -19,7 +19,7 @@
 
 package org.apache.iotdb.db.query.udf.core.access;
 
-import org.apache.iotdb.db.query.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.access.Row;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.utils.Binary;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/access/ElasticSerializableRowRecordListBackedMultiColumnWindow.java b/server/src/main/java/org/apache/iotdb/db/query/udf/core/access/ElasticSerializableRowRecordListBackedMultiColumnWindow.java
index d384267516..5715946722 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/access/ElasticSerializableRowRecordListBackedMultiColumnWindow.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/core/access/ElasticSerializableRowRecordListBackedMultiColumnWindow.java
@@ -19,9 +19,9 @@
 
 package org.apache.iotdb.db.query.udf.core.access;
 
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.access.RowIterator;
-import org.apache.iotdb.db.query.udf.api.access.RowWindow;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.access.RowIterator;
+import org.apache.iotdb.commons.udf.api.access.RowWindow;
 import org.apache.iotdb.db.query.udf.datastructure.row.ElasticSerializableRowRecordList;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/access/ElasticSerializableRowRecordListBackedMultiColumnWindowIterator.java b/server/src/main/java/org/apache/iotdb/db/query/udf/core/access/ElasticSerializableRowRecordListBackedMultiColumnWindowIterator.java
index 801e43f35d..b3e5e38190 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/access/ElasticSerializableRowRecordListBackedMultiColumnWindowIterator.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/core/access/ElasticSerializableRowRecordListBackedMultiColumnWindowIterator.java
@@ -19,8 +19,8 @@
 
 package org.apache.iotdb.db.query.udf.core.access;
 
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.access.RowIterator;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.access.RowIterator;
 import org.apache.iotdb.db.query.udf.datastructure.row.ElasticSerializableRowRecordList;
 
 import java.io.IOException;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/access/ElasticSerializableTVListBackedSingleColumnRow.java b/server/src/main/java/org/apache/iotdb/db/query/udf/core/access/ElasticSerializableTVListBackedSingleColumnRow.java
index 1207f32ee1..876fd6501d 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/access/ElasticSerializableTVListBackedSingleColumnRow.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/core/access/ElasticSerializableTVListBackedSingleColumnRow.java
@@ -19,7 +19,7 @@
 
 package org.apache.iotdb.db.query.udf.core.access;
 
-import org.apache.iotdb.db.query.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.access.Row;
 import org.apache.iotdb.db.query.udf.datastructure.tv.ElasticSerializableTVList;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.utils.Binary;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/access/ElasticSerializableTVListBackedSingleColumnWindow.java b/server/src/main/java/org/apache/iotdb/db/query/udf/core/access/ElasticSerializableTVListBackedSingleColumnWindow.java
index f8fcf92d22..0ee071c9a4 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/access/ElasticSerializableTVListBackedSingleColumnWindow.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/core/access/ElasticSerializableTVListBackedSingleColumnWindow.java
@@ -19,9 +19,9 @@
 
 package org.apache.iotdb.db.query.udf.core.access;
 
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.access.RowIterator;
-import org.apache.iotdb.db.query.udf.api.access.RowWindow;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.access.RowIterator;
+import org.apache.iotdb.commons.udf.api.access.RowWindow;
 import org.apache.iotdb.db.query.udf.datastructure.tv.ElasticSerializableTVList;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/access/ElasticSerializableTVListBackedSingleColumnWindowIterator.java b/server/src/main/java/org/apache/iotdb/db/query/udf/core/access/ElasticSerializableTVListBackedSingleColumnWindowIterator.java
index 7dc35d6c3f..92264c2d5d 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/access/ElasticSerializableTVListBackedSingleColumnWindowIterator.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/core/access/ElasticSerializableTVListBackedSingleColumnWindowIterator.java
@@ -19,8 +19,8 @@
 
 package org.apache.iotdb.db.query.udf.core.access;
 
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.access.RowIterator;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.access.RowIterator;
 import org.apache.iotdb.db.query.udf.datastructure.tv.ElasticSerializableTVList;
 
 import java.io.IOException;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/access/LayerPointReaderBackedSingleColumnRow.java b/server/src/main/java/org/apache/iotdb/db/query/udf/core/access/LayerPointReaderBackedSingleColumnRow.java
index a7258788bf..ca535f66f2 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/access/LayerPointReaderBackedSingleColumnRow.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/core/access/LayerPointReaderBackedSingleColumnRow.java
@@ -19,7 +19,7 @@
 
 package org.apache.iotdb.db.query.udf.core.access;
 
-import org.apache.iotdb.db.query.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.access.Row;
 import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.utils.Binary;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/executor/UDTFExecutor.java b/server/src/main/java/org/apache/iotdb/db/query/udf/core/executor/UDTFExecutor.java
index a811cd0ae1..822be40634 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/executor/UDTFExecutor.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/core/executor/UDTFExecutor.java
@@ -20,12 +20,12 @@
 package org.apache.iotdb.db.query.udf.core.executor;
 
 import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.access.RowWindow;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.access.RowWindow;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
 import org.apache.iotdb.db.query.udf.datastructure.tv.ElasticSerializableTVList;
 import org.apache.iotdb.db.query.udf.service.UDFRegistrationService;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/executor/UDTFTypeInferrer.java b/server/src/main/java/org/apache/iotdb/db/query/udf/core/executor/UDTFTypeInferrer.java
index d089438384..d39ed9b582 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/executor/UDTFTypeInferrer.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/core/executor/UDTFTypeInferrer.java
@@ -21,10 +21,10 @@ package org.apache.iotdb.db.query.udf.core.executor;
 
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.db.exception.sql.SemanticException;
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
 import org.apache.iotdb.db.query.udf.service.UDFRegistrationService;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/ConstantIntermediateLayer.java b/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/ConstantIntermediateLayer.java
index b82b268976..caf8416ec9 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/ConstantIntermediateLayer.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/ConstantIntermediateLayer.java
@@ -21,8 +21,8 @@ package org.apache.iotdb.db.query.udf.core.layer;
 
 import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.db.query.expression.leaf.ConstantOperand;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.SlidingTimeWindowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingTimeWindowAccessStrategy;
 import org.apache.iotdb.db.query.udf.core.reader.ConstantLayerPointReader;
 import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
 import org.apache.iotdb.db.query.udf.core.reader.LayerRowReader;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/IntermediateLayer.java b/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/IntermediateLayer.java
index 890a6b4259..cfe04a91fa 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/IntermediateLayer.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/IntermediateLayer.java
@@ -21,9 +21,9 @@ package org.apache.iotdb.db.query.udf.core.layer;
 
 import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.AccessStrategy;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.SlidingTimeWindowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.AccessStrategy;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingTimeWindowAccessStrategy;
 import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
 import org.apache.iotdb.db.query.udf.core.reader.LayerRowReader;
 import org.apache.iotdb.db.query.udf.core.reader.LayerRowWindowReader;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/MultiInputColumnIntermediateLayer.java b/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/MultiInputColumnIntermediateLayer.java
index 843bd85504..356cc2f9a7 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/MultiInputColumnIntermediateLayer.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/MultiInputColumnIntermediateLayer.java
@@ -22,10 +22,10 @@ package org.apache.iotdb.db.query.udf.core.layer;
 import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.db.query.dataset.IUDFInputDataSet;
 import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.access.RowWindow;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.SlidingTimeWindowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.access.RowWindow;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingTimeWindowAccessStrategy;
 import org.apache.iotdb.db.query.udf.core.access.ElasticSerializableRowRecordListBackedMultiColumnRow;
 import org.apache.iotdb.db.query.udf.core.access.ElasticSerializableRowRecordListBackedMultiColumnWindow;
 import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/SingleInputColumnMultiReferenceIntermediateLayer.java b/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/SingleInputColumnMultiReferenceIntermediateLayer.java
index ba4f91a66f..d3abea54e0 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/SingleInputColumnMultiReferenceIntermediateLayer.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/SingleInputColumnMultiReferenceIntermediateLayer.java
@@ -21,10 +21,10 @@ package org.apache.iotdb.db.query.udf.core.layer;
 
 import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.access.RowWindow;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.SlidingTimeWindowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.access.RowWindow;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingTimeWindowAccessStrategy;
 import org.apache.iotdb.db.query.udf.core.access.ElasticSerializableTVListBackedSingleColumnRow;
 import org.apache.iotdb.db.query.udf.core.access.ElasticSerializableTVListBackedSingleColumnWindow;
 import org.apache.iotdb.db.query.udf.core.layer.SafetyLine.SafetyPile;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/SingleInputColumnSingleReferenceIntermediateLayer.java b/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/SingleInputColumnSingleReferenceIntermediateLayer.java
index 6d151e937b..67645407fd 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/SingleInputColumnSingleReferenceIntermediateLayer.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/SingleInputColumnSingleReferenceIntermediateLayer.java
@@ -21,10 +21,10 @@ package org.apache.iotdb.db.query.udf.core.layer;
 
 import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.access.RowWindow;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.SlidingTimeWindowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.access.RowWindow;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingSizeWindowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.SlidingTimeWindowAccessStrategy;
 import org.apache.iotdb.db.query.udf.core.access.ElasticSerializableTVListBackedSingleColumnWindow;
 import org.apache.iotdb.db.query.udf.core.access.LayerPointReaderBackedSingleColumnRow;
 import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/reader/LayerRowReader.java b/server/src/main/java/org/apache/iotdb/db/query/udf/core/reader/LayerRowReader.java
index e2a2f23872..07ce14f5e8 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/reader/LayerRowReader.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/core/reader/LayerRowReader.java
@@ -20,7 +20,7 @@
 package org.apache.iotdb.db.query.udf.core.reader;
 
 import org.apache.iotdb.db.exception.query.QueryProcessException;
-import org.apache.iotdb.db.query.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.access.Row;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import java.io.IOException;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/reader/LayerRowWindowReader.java b/server/src/main/java/org/apache/iotdb/db/query/udf/core/reader/LayerRowWindowReader.java
index 4e2b129fd3..f31b0c4544 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/reader/LayerRowWindowReader.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/core/reader/LayerRowWindowReader.java
@@ -20,7 +20,7 @@
 package org.apache.iotdb.db.query.udf.core.reader;
 
 import org.apache.iotdb.db.exception.query.QueryProcessException;
-import org.apache.iotdb.db.query.udf.api.access.RowWindow;
+import org.apache.iotdb.commons.udf.api.access.RowWindow;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 import java.io.IOException;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/ElasticSerializableTVList.java b/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/ElasticSerializableTVList.java
index cec4cf0cc6..bfb12e20c9 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/ElasticSerializableTVList.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/ElasticSerializableTVList.java
@@ -20,7 +20,7 @@
 package org.apache.iotdb.db.query.udf.datastructure.tv;
 
 import org.apache.iotdb.db.exception.query.QueryProcessException;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
 import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
 import org.apache.iotdb.db.query.udf.datastructure.Cache;
 import org.apache.iotdb.tsfile.exception.write.UnSupportedDataTypeException;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/service/UDFRegistrationInformation.java b/server/src/main/java/org/apache/iotdb/db/query/udf/service/UDFRegistrationInformation.java
index c09092fada..729629c0b2 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/service/UDFRegistrationInformation.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/service/UDFRegistrationInformation.java
@@ -19,7 +19,7 @@
 
 package org.apache.iotdb.db.query.udf.service;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.UDTF;
 
 import java.lang.reflect.InvocationTargetException;
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/service/UDFRegistrationService.java b/server/src/main/java/org/apache/iotdb/db/query/udf/service/UDFRegistrationService.java
index 8f90da5c9d..894eb013c2 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/service/UDFRegistrationService.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/service/UDFRegistrationService.java
@@ -27,7 +27,7 @@ import org.apache.iotdb.commons.utils.TestOnly;
 import org.apache.iotdb.db.conf.IoTDBDescriptor;
 import org.apache.iotdb.db.exception.UDFRegistrationException;
 import org.apache.iotdb.db.qp.constant.SQLConstant;
-import org.apache.iotdb.db.query.udf.api.UDF;
+import org.apache.iotdb.commons.udf.api.UDF;
 import org.apache.iotdb.db.query.udf.builtin.BuiltinFunction;
 import org.apache.iotdb.tsfile.fileSystem.FSFactoryProducer;
 
diff --git a/server/src/test/java/org/apache/iotdb/db/query/udf/example/Adder.java b/server/src/test/java/org/apache/iotdb/db/query/udf/example/Adder.java
index 2b1fc1f13d..8b9ea955f4 100644
--- a/server/src/test/java/org/apache/iotdb/db/query/udf/example/Adder.java
+++ b/server/src/test/java/org/apache/iotdb/db/query/udf/example/Adder.java
@@ -19,13 +19,13 @@
 
 package org.apache.iotdb.db.query.udf.example;
 
-import org.apache.iotdb.db.query.udf.api.UDTF;
-import org.apache.iotdb.db.query.udf.api.access.Row;
-import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
-import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
-import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
-import org.apache.iotdb.db.query.udf.api.customizer.strategy.RowByRowAccessStrategy;
+import org.apache.iotdb.commons.udf.api.UDTF;
+import org.apache.iotdb.commons.udf.api.access.Row;
+import org.apache.iotdb.commons.udf.api.collector.PointCollector;
+import org.apache.iotdb.commons.udf.api.customizer.config.UDTFConfigurations;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameterValidator;
+import org.apache.iotdb.commons.udf.api.customizer.parameter.UDFParameters;
+import org.apache.iotdb.commons.udf.api.customizer.strategy.RowByRowAccessStrategy;
 import org.apache.iotdb.tsfile.exception.write.UnSupportedDataTypeException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 


[iotdb] 01/05: remove QueryExecption from the udf package

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rong pushed a commit to branch iotdb-3249
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 456c3d009a15d6dd68fd72d65755e1ea3d1800e8
Author: Steve Yurong Su <ro...@apache.org>
AuthorDate: Fri May 20 22:28:17 2022 +0800

    remove QueryExecption from the udf package
---
 .../org/apache/iotdb/db/qp/utils/DatetimeUtils.java     | 12 ++++--------
 .../db/query/udf/api/collector/PointCollector.java      |  9 ++++-----
 .../udf/api/customizer/config/UDFConfigurations.java    |  5 ++---
 .../udf/api/customizer/config/UDTFConfigurations.java   |  5 ++---
 .../udf/api/customizer/strategy/AccessStrategy.java     | 17 +++++++++++------
 .../strategy/SlidingSizeWindowAccessStrategy.java       |  7 +++----
 .../strategy/SlidingTimeWindowAccessStrategy.java       | 11 +++++------
 .../tv/ElasticSerializableBinaryTVList.java             | 13 ++++++-------
 .../udf/datastructure/tv/ElasticSerializableTVList.java |  6 +++---
 9 files changed, 40 insertions(+), 45 deletions(-)

diff --git a/server/src/main/java/org/apache/iotdb/db/qp/utils/DatetimeUtils.java b/server/src/main/java/org/apache/iotdb/db/qp/utils/DatetimeUtils.java
index 9a1dd4fc64..e77d67344b 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/utils/DatetimeUtils.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/utils/DatetimeUtils.java
@@ -20,7 +20,6 @@ package org.apache.iotdb.db.qp.utils;
 
 import org.apache.iotdb.commons.utils.TestOnly;
 import org.apache.iotdb.db.conf.IoTDBDescriptor;
-import org.apache.iotdb.db.exception.query.LogicalOperatorException;
 import org.apache.iotdb.db.query.control.SessionManager;
 
 import java.time.DateTimeException;
@@ -450,13 +449,11 @@ public class DatetimeUtils {
           .appendOptional(ISO_OFFSET_DATE_TIME_WITH_DOT_WITH_SPACE_NS)
           .toFormatter();
 
-  public static long convertDatetimeStrToLong(String str, ZoneId zoneId)
-      throws LogicalOperatorException {
+  public static long convertDatetimeStrToLong(String str, ZoneId zoneId) {
     return convertDatetimeStrToLong(str, toZoneOffset(zoneId), 0);
   }
 
-  public static long getInstantWithPrecision(String str, String timestampPrecision)
-      throws LogicalOperatorException {
+  public static long getInstantWithPrecision(String str, String timestampPrecision) {
     try {
       ZonedDateTime zonedDateTime = ZonedDateTime.parse(str, formatter);
       Instant instant = zonedDateTime.toInstant();
@@ -476,13 +473,12 @@ public class DatetimeUtils {
       }
       return instant.toEpochMilli();
     } catch (DateTimeParseException e) {
-      throw new LogicalOperatorException(e.getMessage());
+      throw new RuntimeException(e.getMessage());
     }
   }
 
   /** convert date time string to millisecond, microsecond or nanosecond. */
-  public static long convertDatetimeStrToLong(String str, ZoneOffset offset, int depth)
-      throws LogicalOperatorException {
+  public static long convertDatetimeStrToLong(String str, ZoneOffset offset, int depth) {
 
     String timestampPrecision = IoTDBDescriptor.getInstance().getConfig().getTimestampPrecision();
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/api/collector/PointCollector.java b/server/src/main/java/org/apache/iotdb/db/query/udf/api/collector/PointCollector.java
index d1f4b9fafb..b0dfe481af 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/api/collector/PointCollector.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/api/collector/PointCollector.java
@@ -19,7 +19,6 @@
 
 package org.apache.iotdb.db.query.udf.api.collector;
 
-import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.db.query.udf.api.UDTF;
 import org.apache.iotdb.db.query.udf.api.access.Row;
 import org.apache.iotdb.db.query.udf.api.access.RowWindow;
@@ -116,10 +115,10 @@ public interface PointCollector {
    * @param timestamp timestamp to collect
    * @param value Binary value to collect
    * @throws IOException if any I/O errors occur
-   * @throws QueryProcessException if memory is not enough to continue collecting data points
+   * @throws RuntimeException if memory is not enough to continue collecting data points
    * @see TSDataType
    */
-  void putBinary(long timestamp, Binary value) throws IOException, QueryProcessException;
+  void putBinary(long timestamp, Binary value) throws IOException;
 
   /**
    * Collects a String data point with timestamp.
@@ -131,8 +130,8 @@ public interface PointCollector {
    * @param timestamp timestamp to collect
    * @param value String value to collect
    * @throws IOException if any I/O errors occur
-   * @throws QueryProcessException if memory is not enough to continue collecting data points
+   * @throws RuntimeException if memory is not enough to continue collecting data points
    * @see TSDataType
    */
-  void putString(long timestamp, String value) throws IOException, QueryProcessException;
+  void putString(long timestamp, String value) throws IOException;
 }
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/config/UDFConfigurations.java b/server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/config/UDFConfigurations.java
index 9b4c55f04a..80af84503f 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/config/UDFConfigurations.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/config/UDFConfigurations.java
@@ -19,7 +19,6 @@
 
 package org.apache.iotdb.db.query.udf.api.customizer.config;
 
-import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
 public abstract class UDFConfigurations {
@@ -30,9 +29,9 @@ public abstract class UDFConfigurations {
     return outputDataType;
   }
 
-  public void check() throws QueryProcessException {
+  public void check() {
     if (outputDataType == null) {
-      throw new QueryProcessException("UDF outputDataType is not set.");
+      throw new RuntimeException("UDF outputDataType is not set.");
     }
   }
 }
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/config/UDTFConfigurations.java b/server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/config/UDTFConfigurations.java
index ab431d6856..c7a3f7b973 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/config/UDTFConfigurations.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/config/UDTFConfigurations.java
@@ -19,7 +19,6 @@
 
 package org.apache.iotdb.db.query.udf.api.customizer.config;
 
-import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.db.query.udf.api.UDTF;
 import org.apache.iotdb.db.query.udf.api.access.Row;
 import org.apache.iotdb.db.query.udf.api.access.RowWindow;
@@ -96,10 +95,10 @@ public class UDTFConfigurations extends UDFConfigurations {
   }
 
   @Override
-  public void check() throws QueryProcessException {
+  public void check() {
     super.check();
     if (accessStrategy == null) {
-      throw new QueryProcessException("Access strategy is not set.");
+      throw new RuntimeException("Access strategy is not set.");
     }
     accessStrategy.check();
   }
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/strategy/AccessStrategy.java b/server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/strategy/AccessStrategy.java
index e825ad2179..e86f1340f3 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/strategy/AccessStrategy.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/strategy/AccessStrategy.java
@@ -19,7 +19,6 @@
 
 package org.apache.iotdb.db.query.udf.api.customizer.strategy;
 
-import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.db.query.udf.api.UDTF;
 import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
 import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameters;
@@ -32,22 +31,28 @@ public interface AccessStrategy {
 
   enum AccessStrategyType {
 
-    /** @see RowByRowAccessStrategy */
+    /**
+     * @see RowByRowAccessStrategy
+     */
     ROW_BY_ROW,
 
-    /** @see SlidingTimeWindowAccessStrategy */
+    /**
+     * @see SlidingTimeWindowAccessStrategy
+     */
     SLIDING_TIME_WINDOW,
 
-    /** @see SlidingSizeWindowAccessStrategy */
+    /**
+     * @see SlidingSizeWindowAccessStrategy
+     */
     SLIDING_SIZE_WINDOW
   }
 
   /**
    * Used by the system to check the access strategy.
    *
-   * @throws QueryProcessException if invalid strategy is set
+   * @throws RuntimeException if invalid strategy is set
    */
-  void check() throws QueryProcessException;
+  void check();
 
   /**
    * Returns the actual access strategy type.
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/strategy/SlidingSizeWindowAccessStrategy.java b/server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/strategy/SlidingSizeWindowAccessStrategy.java
index e7e7f101b7..e86bc43a8f 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/strategy/SlidingSizeWindowAccessStrategy.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/strategy/SlidingSizeWindowAccessStrategy.java
@@ -19,7 +19,6 @@
 
 package org.apache.iotdb.db.query.udf.api.customizer.strategy;
 
-import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.db.query.udf.api.UDTF;
 import org.apache.iotdb.db.query.udf.api.access.RowWindow;
 import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
@@ -98,13 +97,13 @@ public class SlidingSizeWindowAccessStrategy implements AccessStrategy {
   }
 
   @Override
-  public void check() throws QueryProcessException {
+  public void check() {
     if (windowSize <= 0) {
-      throw new QueryProcessException(
+      throw new RuntimeException(
           String.format("Parameter windowSize(%d) should be positive.", windowSize));
     }
     if (slidingStep <= 0) {
-      throw new QueryProcessException(
+      throw new RuntimeException(
           String.format("Parameter slidingStep(%d) should be positive.", slidingStep));
     }
   }
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/strategy/SlidingTimeWindowAccessStrategy.java b/server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/strategy/SlidingTimeWindowAccessStrategy.java
index 2d08b464ae..e81aa21a88 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/strategy/SlidingTimeWindowAccessStrategy.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/strategy/SlidingTimeWindowAccessStrategy.java
@@ -19,7 +19,6 @@
 
 package org.apache.iotdb.db.query.udf.api.customizer.strategy;
 
-import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.db.qp.utils.DatetimeUtils;
 import org.apache.iotdb.db.query.udf.api.UDTF;
 import org.apache.iotdb.db.query.udf.api.access.RowWindow;
@@ -193,21 +192,21 @@ public class SlidingTimeWindowAccessStrategy implements AccessStrategy {
   }
 
   @Override
-  public void check() throws QueryProcessException {
+  public void check() {
     if (inputInString) {
       parseStringParameters();
     }
 
     if (timeInterval <= 0) {
-      throw new QueryProcessException(
+      throw new RuntimeException(
           String.format("Parameter timeInterval(%d) should be positive.", timeInterval));
     }
     if (slidingStep <= 0) {
-      throw new QueryProcessException(
+      throw new RuntimeException(
           String.format("Parameter slidingStep(%d) should be positive.", slidingStep));
     }
     if (displayWindowEnd < displayWindowBegin) {
-      throw new QueryProcessException(
+      throw new RuntimeException(
           String.format(
               "displayWindowEnd(%d) < displayWindowBegin(%d)",
               displayWindowEnd, displayWindowBegin));
@@ -243,7 +242,7 @@ public class SlidingTimeWindowAccessStrategy implements AccessStrategy {
     return AccessStrategyType.SLIDING_TIME_WINDOW;
   }
 
-  private void parseStringParameters() throws QueryProcessException {
+  private void parseStringParameters() {
     timeInterval = DatetimeUtils.convertDurationStrToLong(timeIntervalString);
     slidingStep =
         slidingStepString == null
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/ElasticSerializableBinaryTVList.java b/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/ElasticSerializableBinaryTVList.java
index 0e481b7a5f..687057e274 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/ElasticSerializableBinaryTVList.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/ElasticSerializableBinaryTVList.java
@@ -45,7 +45,7 @@ public class ElasticSerializableBinaryTVList extends ElasticSerializableTVList {
   }
 
   @Override
-  public void putBinary(long timestamp, Binary value) throws IOException, QueryProcessException {
+  public void putBinary(long timestamp, Binary value) throws IOException {
     super.putBinary(timestamp, value);
     totalByteArrayLengthLimit += byteArrayLengthForMemoryControl;
     totalByteArrayLength += value.getLength();
@@ -53,7 +53,7 @@ public class ElasticSerializableBinaryTVList extends ElasticSerializableTVList {
   }
 
   @Override
-  public void putString(long timestamp, String value) throws IOException, QueryProcessException {
+  public void putString(long timestamp, String value) throws IOException {
     Binary binary = Binary.valueOf(value);
     super.putBinary(timestamp, binary);
     totalByteArrayLengthLimit += byteArrayLengthForMemoryControl;
@@ -61,13 +61,13 @@ public class ElasticSerializableBinaryTVList extends ElasticSerializableTVList {
     checkMemoryUsage();
   }
 
-  protected void checkMemoryUsage() throws IOException, QueryProcessException {
+  protected void checkMemoryUsage() throws IOException {
     if (size % MEMORY_CHECK_THRESHOLD != 0 || totalByteArrayLength <= totalByteArrayLengthLimit) {
       return;
     }
 
     int newByteArrayLengthForMemoryControl = byteArrayLengthForMemoryControl;
-    while (newByteArrayLengthForMemoryControl * size < totalByteArrayLength) {
+    while ((long) newByteArrayLengthForMemoryControl * size < totalByteArrayLength) {
       newByteArrayLengthForMemoryControl *= 2;
     }
     int newInternalTVListCapacity =
@@ -98,12 +98,11 @@ public class ElasticSerializableBinaryTVList extends ElasticSerializableTVList {
       return;
     }
 
-    throw new QueryProcessException("Memory is not enough for current query.");
+    throw new RuntimeException("Memory is not enough for current query.");
   }
 
   protected void applyNewMemoryControlParameters(
-      int newByteArrayLengthForMemoryControl, int newInternalTVListCapacity)
-      throws IOException, QueryProcessException {
+      int newByteArrayLengthForMemoryControl, int newInternalTVListCapacity) throws IOException {
     ElasticSerializableTVList newElasticSerializableTVList =
         new ElasticSerializableTVList(
             TSDataType.TEXT, queryId, memoryLimitInMB, newInternalTVListCapacity, cacheSize);
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/ElasticSerializableTVList.java b/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/ElasticSerializableTVList.java
index adf9abc09a..9e13e6333f 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/ElasticSerializableTVList.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/ElasticSerializableTVList.java
@@ -218,20 +218,20 @@ public class ElasticSerializableTVList implements PointCollector {
   }
 
   @Override
-  public void putBinary(long timestamp, Binary value) throws IOException, QueryProcessException {
+  public void putBinary(long timestamp, Binary value) throws IOException {
     checkExpansion();
     cache.get(size / internalTVListCapacity).putBinary(timestamp, value);
     ++size;
   }
 
   @Override
-  public void putString(long timestamp, String value) throws IOException, QueryProcessException {
+  public void putString(long timestamp, String value) throws IOException {
     checkExpansion();
     cache.get(size / internalTVListCapacity).putBinary(timestamp, Binary.valueOf(value));
     ++size;
   }
 
-  public void putNull(long timestamp) throws IOException, QueryProcessException {
+  public void putNull(long timestamp) throws IOException {
     switch (dataType) {
       case INT32:
         putInt(timestamp, 0);


[iotdb] 02/05: pre remove

Posted by ro...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

rong pushed a commit to branch iotdb-3249
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 0def94fb18a89b11767843a44c8435a9e162ff85
Author: Steve Yurong Su <ro...@apache.org>
AuthorDate: Sat May 21 01:24:38 2022 +0800

    pre remove
---
 .../query/expression/multi/FunctionExpression.java | 30 ++++++--
 .../api/customizer/parameter/UDFParameters.java    | 51 +++++---------
 .../api/customizer/strategy/AccessStrategy.java    | 12 +---
 .../strategy/SlidingTimeWindowAccessStrategy.java  | 80 +++++++---------------
 .../db/query/udf/core/executor/UDTFExecutor.java   | 64 +++++------------
 .../query/udf/core/executor/UDTFTypeInferrer.java  | 23 ++++---
 ...nputColumnSingleReferenceIntermediateLayer.java |  3 +-
 .../tv/ElasticSerializableBinaryTVList.java        |  4 +-
 .../tv/ElasticSerializableTVList.java              | 13 ++--
 .../udf/datastructure/tv/SerializableTVList.java   |  6 +-
 .../query/udf/service/UDFClassLoaderManager.java   |  3 +-
 .../query/udf/service/UDFRegistrationService.java  | 10 ++-
 .../db/tools/watermark/WatermarkDetector.java      |  9 +--
 .../ElasticSerializableTVListTest.java             | 12 ++--
 14 files changed, 124 insertions(+), 196 deletions(-)

diff --git a/server/src/main/java/org/apache/iotdb/db/query/expression/multi/FunctionExpression.java b/server/src/main/java/org/apache/iotdb/db/query/expression/multi/FunctionExpression.java
index caa87859e6..12e6084a6a 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/expression/multi/FunctionExpression.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/expression/multi/FunctionExpression.java
@@ -240,7 +240,7 @@ public class FunctionExpression extends Expression {
     for (Expression expression : expressions) {
       expression.constructUdfExecutors(expressionName2Executor, zoneId);
     }
-    expressionName2Executor.put(expressionString, new UDTFExecutor(this, zoneId));
+    expressionName2Executor.put(expressionString, new UDTFExecutor(functionName, zoneId));
   }
 
   @Override
@@ -254,7 +254,15 @@ public class FunctionExpression extends Expression {
 
       if (isTimeSeriesGeneratingFunctionExpression()) {
         typeProvider.setType(
-            expressionString, new UDTFTypeInferrer(this).inferOutputType(typeProvider));
+            expressionString,
+            new UDTFTypeInferrer(functionName)
+                .inferOutputType(
+                    expressions.stream().map(Expression::toString).collect(Collectors.toList()),
+                    getPaths(),
+                    expressions.stream()
+                        .map(f -> typeProvider.getType(f.toString()))
+                        .collect(Collectors.toList()),
+                    functionAttributes));
       } else {
         if (expressions.size() != 1) {
           throw new SemanticException(
@@ -381,7 +389,15 @@ public class FunctionExpression extends Expression {
       throws QueryProcessException, IOException {
     UDTFExecutor executor = udtfContext.getExecutorByFunctionExpression(this);
 
-    executor.beforeStart(queryId, memoryAssigner.assign(), typeProvider);
+    executor.beforeStart(
+        queryId,
+        memoryAssigner.assign(),
+        expressions.stream().map(Expression::toString).collect(Collectors.toList()),
+        getPaths(),
+        expressions.stream()
+            .map(f -> typeProvider.getType(f.toString()))
+            .collect(Collectors.toList()),
+        functionAttributes);
 
     AccessStrategy accessStrategy = executor.getConfigurations().getAccessStrategy();
     switch (accessStrategy.getAccessStrategyType()) {
@@ -487,7 +503,13 @@ public class FunctionExpression extends Expression {
       throws QueryProcessException, IOException {
     UDTFExecutor executor = udtfContext.getExecutorByFunctionExpression(this);
 
-    executor.beforeStart(queryId, memoryAssigner.assign(), expressionDataTypeMap);
+    executor.beforeStart(
+        queryId,
+        memoryAssigner.assign(),
+        expressions.stream().map(Expression::toString).collect(Collectors.toList()),
+        getPaths(),
+        expressions.stream().map(expressionDataTypeMap::get).collect(Collectors.toList()),
+        functionAttributes);
 
     AccessStrategy accessStrategy = executor.getConfigurations().getAccessStrategy();
     switch (accessStrategy.getAccessStrategyType()) {
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/parameter/UDFParameters.java b/server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/parameter/UDFParameters.java
index 9b9b6640f0..31c8f1fb09 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/parameter/UDFParameters.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/parameter/UDFParameters.java
@@ -21,15 +21,10 @@ package org.apache.iotdb.db.query.udf.api.customizer.parameter;
 
 import org.apache.iotdb.commons.exception.MetadataException;
 import org.apache.iotdb.commons.path.PartialPath;
-import org.apache.iotdb.db.exception.query.QueryProcessException;
-import org.apache.iotdb.db.mpp.plan.analyze.TypeProvider;
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.multi.FunctionExpression;
 import org.apache.iotdb.db.query.udf.api.UDTF;
 import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 
-import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
@@ -47,40 +42,28 @@ import java.util.Map;
  */
 public class UDFParameters {
 
-  private final List<Expression> expressions;
-  private final List<PartialPath> paths;
+  private final List<String> childExpressions;
+  private final List<PartialPath> maybeTimeSeriesPaths;
+  private final List<TSDataType> childExpressionDataTypes;
   private final Map<String, String> attributes;
-  private final List<TSDataType> dataTypes;
 
   public UDFParameters(
-      FunctionExpression functionExpression, Map<Expression, TSDataType> expressionDataTypeMap)
-      throws QueryProcessException {
-    expressions = functionExpression.getExpressions();
-    paths = functionExpression.getPaths();
-    attributes = functionExpression.getFunctionAttributes();
-    dataTypes = new ArrayList<>();
-    for (Expression expression : expressions) {
-      dataTypes.add(expressionDataTypeMap.get(expression));
-    }
+      List<String> childExpressions,
+      List<PartialPath> maybeTimeSeriesPaths,
+      List<TSDataType> childExpressionDataTypes,
+      Map<String, String> attributes) {
+    this.childExpressions = childExpressions;
+    this.maybeTimeSeriesPaths = maybeTimeSeriesPaths;
+    this.childExpressionDataTypes = childExpressionDataTypes;
+    this.attributes = attributes;
   }
 
-  public UDFParameters(FunctionExpression functionExpression, TypeProvider typeProvider)
-      throws QueryProcessException {
-    expressions = functionExpression.getExpressions();
-    paths = functionExpression.getPaths();
-    attributes = functionExpression.getFunctionAttributes();
-    dataTypes = new ArrayList<>();
-    for (Expression expression : expressions) {
-      dataTypes.add(typeProvider.getType(expression.toString()));
-    }
-  }
-
-  public List<Expression> getExpressions() {
-    return expressions;
+  public List<String> getChildExpressions() {
+    return childExpressions;
   }
 
   public List<PartialPath> getPaths() {
-    return paths;
+    return maybeTimeSeriesPaths;
   }
 
   public Map<String, String> getAttributes() {
@@ -88,15 +71,15 @@ public class UDFParameters {
   }
 
   public List<TSDataType> getDataTypes() throws MetadataException {
-    return dataTypes;
+    return childExpressionDataTypes;
   }
 
   public PartialPath getPath(int index) {
-    return paths.get(index);
+    return maybeTimeSeriesPaths.get(index);
   }
 
   public TSDataType getDataType(int index) throws MetadataException {
-    return dataTypes.get(index);
+    return childExpressionDataTypes.get(index);
   }
 
   public boolean hasAttribute(String attributeKey) {
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/strategy/AccessStrategy.java b/server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/strategy/AccessStrategy.java
index e86f1340f3..b3f946dabb 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/strategy/AccessStrategy.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/strategy/AccessStrategy.java
@@ -31,19 +31,13 @@ public interface AccessStrategy {
 
   enum AccessStrategyType {
 
-    /**
-     * @see RowByRowAccessStrategy
-     */
+    /** @see RowByRowAccessStrategy */
     ROW_BY_ROW,
 
-    /**
-     * @see SlidingTimeWindowAccessStrategy
-     */
+    /** @see SlidingTimeWindowAccessStrategy */
     SLIDING_TIME_WINDOW,
 
-    /**
-     * @see SlidingSizeWindowAccessStrategy
-     */
+    /** @see SlidingSizeWindowAccessStrategy */
     SLIDING_SIZE_WINDOW
   }
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/strategy/SlidingTimeWindowAccessStrategy.java b/server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/strategy/SlidingTimeWindowAccessStrategy.java
index e81aa21a88..5bb8b0c87a 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/strategy/SlidingTimeWindowAccessStrategy.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/api/customizer/strategy/SlidingTimeWindowAccessStrategy.java
@@ -19,7 +19,6 @@
 
 package org.apache.iotdb.db.query.udf.api.customizer.strategy;
 
-import org.apache.iotdb.db.qp.utils.DatetimeUtils;
 import org.apache.iotdb.db.query.udf.api.UDTF;
 import org.apache.iotdb.db.query.udf.api.access.RowWindow;
 import org.apache.iotdb.db.query.udf.api.collector.PointCollector;
@@ -61,7 +60,7 @@ import java.time.ZoneId;
  *       parameters.getLong(0),       // display window begin
  *       parameters.getLong(10000))); // display window end
  * }</pre>
- * <p>Style 2:
+ * <p>Style 2 (deprecated since v0.14):
  * <pre>{@code
  * @Override
  * public void beforeStart(UDFParameters parameters, UDTFConfigurations configurations) {
@@ -77,21 +76,16 @@ import java.time.ZoneId;
  */
 public class SlidingTimeWindowAccessStrategy implements AccessStrategy {
 
-  private final boolean inputInString;
-
-  private String timeIntervalString;
-  private String slidingStepString;
-  private String displayWindowBeginString;
-  private String displayWindowEndString;
-
-  private long timeInterval;
-  private long slidingStep;
-  private long displayWindowBegin;
-  private long displayWindowEnd;
+  private final long timeInterval;
+  private final long slidingStep;
+  private final long displayWindowBegin;
+  private final long displayWindowEnd;
 
   private ZoneId zoneId;
 
   /**
+   * Deprecated since v0.14.
+   *
    * @param timeIntervalString time interval in string. examples: 12d8m9ns, 1y1mo, etc. supported
    *     units: y, mo, w, d, h, m, s, ms, us, ns.
    * @param slidingStepString sliding step in string. examples: 12d8m9ns, 1y1mo, etc. supported
@@ -100,49 +94,48 @@ public class SlidingTimeWindowAccessStrategy implements AccessStrategy {
    *     2011-12-03T10:15:30+01:00.
    * @param displayWindowEndString display window end in string. format: 2011-12-03T10:15:30 or
    *     2011-12-03T10:15:30+01:00.
-   * @see DatetimeUtils.DurationUnit
+   * @throws UnsupportedOperationException deprecated since v0.14
    */
+  @Deprecated
   public SlidingTimeWindowAccessStrategy(
       String timeIntervalString,
       String slidingStepString,
       String displayWindowBeginString,
       String displayWindowEndString) {
-    inputInString = true;
-    this.timeIntervalString = timeIntervalString;
-    this.slidingStepString = slidingStepString;
-    this.displayWindowBeginString = displayWindowBeginString;
-    this.displayWindowEndString = displayWindowEndString;
+    throw new UnsupportedOperationException("The method is deprecated since v0.14.");
   }
 
   /**
-   * Display window begin will be set to the same as the minimum timestamp of the query result set,
-   * and display window end will be set to the same as the maximum timestamp of the query result
-   * set.
+   * Deprecated since v0.14.
+   *
+   * <p>Display window begin will be set to the same as the minimum timestamp of the query result
+   * set, and display window end will be set to the same as the maximum timestamp of the query
+   * result set.
    *
    * @param timeIntervalString time interval in string. examples: 12d8m9ns, 1y1mo, etc. supported
    *     units: y, mo, w, d, h, m, s, ms, us, ns.
    * @param slidingStepString sliding step in string. examples: 12d8m9ns, 1y1mo, etc. supported
    *     units: y, mo, w, d, h, m, s, ms, us, ns.
-   * @see DatetimeUtils.DurationUnit
+   * @throws UnsupportedOperationException deprecated since v0.14
    */
+  @Deprecated
   public SlidingTimeWindowAccessStrategy(String timeIntervalString, String slidingStepString) {
-    inputInString = true;
-    this.timeIntervalString = timeIntervalString;
-    this.slidingStepString = slidingStepString;
+    throw new UnsupportedOperationException("The method is deprecated since v0.14.");
   }
 
   /**
-   * Sliding step will be set to the same as the time interval, display window begin will be set to
-   * the same as the minimum timestamp of the query result set, and display window end will be set
-   * to the same as the maximum timestamp of the query result set.
+   * Deprecated since v0.14.
+   *
+   * <p>Sliding step will be set to the same as the time interval, display window begin will be set
+   * to the same as the minimum timestamp of the query result set, and display window end will be
+   * set to the same as the maximum timestamp of the query result set.
    *
    * @param timeIntervalString time interval in string. examples: 12d8m9ns, 1y1mo, etc. supported
    *     units: y, mo, w, d, h, m, s, ms, us, ns.
-   * @see DatetimeUtils.DurationUnit
+   * @throws UnsupportedOperationException deprecated since v0.14
    */
   public SlidingTimeWindowAccessStrategy(String timeIntervalString) {
-    inputInString = true;
-    this.timeIntervalString = timeIntervalString;
+    throw new UnsupportedOperationException("The method is deprecated since v0.14.");
   }
 
   /**
@@ -153,7 +146,6 @@ public class SlidingTimeWindowAccessStrategy implements AccessStrategy {
    */
   public SlidingTimeWindowAccessStrategy(
       long timeInterval, long slidingStep, long displayWindowBegin, long displayWindowEnd) {
-    inputInString = false;
     this.timeInterval = timeInterval;
     this.slidingStep = slidingStep;
     this.displayWindowBegin = displayWindowBegin;
@@ -169,7 +161,6 @@ public class SlidingTimeWindowAccessStrategy implements AccessStrategy {
    * @param slidingStep 0 < slidingStep
    */
   public SlidingTimeWindowAccessStrategy(long timeInterval, long slidingStep) {
-    inputInString = false;
     this.timeInterval = timeInterval;
     this.slidingStep = slidingStep;
     this.displayWindowBegin = Long.MIN_VALUE;
@@ -184,7 +175,6 @@ public class SlidingTimeWindowAccessStrategy implements AccessStrategy {
    * @param timeInterval 0 < timeInterval
    */
   public SlidingTimeWindowAccessStrategy(long timeInterval) {
-    inputInString = false;
     this.timeInterval = timeInterval;
     this.slidingStep = timeInterval;
     this.displayWindowBegin = Long.MIN_VALUE;
@@ -193,10 +183,6 @@ public class SlidingTimeWindowAccessStrategy implements AccessStrategy {
 
   @Override
   public void check() {
-    if (inputInString) {
-      parseStringParameters();
-    }
-
     if (timeInterval <= 0) {
       throw new RuntimeException(
           String.format("Parameter timeInterval(%d) should be positive.", timeInterval));
@@ -241,20 +227,4 @@ public class SlidingTimeWindowAccessStrategy implements AccessStrategy {
   public AccessStrategyType getAccessStrategyType() {
     return AccessStrategyType.SLIDING_TIME_WINDOW;
   }
-
-  private void parseStringParameters() {
-    timeInterval = DatetimeUtils.convertDurationStrToLong(timeIntervalString);
-    slidingStep =
-        slidingStepString == null
-            ? timeInterval
-            : DatetimeUtils.convertDurationStrToLong(slidingStepString);
-    displayWindowBegin =
-        displayWindowBeginString == null
-            ? Long.MIN_VALUE
-            : DatetimeUtils.convertDatetimeStrToLong(displayWindowBeginString, zoneId);
-    displayWindowEnd =
-        displayWindowEndString == null
-            ? Long.MAX_VALUE
-            : DatetimeUtils.convertDatetimeStrToLong(displayWindowEndString, zoneId);
-  }
 }
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/executor/UDTFExecutor.java b/server/src/main/java/org/apache/iotdb/db/query/udf/core/executor/UDTFExecutor.java
index b8f697f6b7..a811cd0ae1 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/executor/UDTFExecutor.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/core/executor/UDTFExecutor.java
@@ -19,10 +19,7 @@
 
 package org.apache.iotdb.db.query.udf.core.executor;
 
-import org.apache.iotdb.db.exception.query.QueryProcessException;
-import org.apache.iotdb.db.mpp.plan.analyze.TypeProvider;
-import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.multi.FunctionExpression;
+import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.db.query.udf.api.UDTF;
 import org.apache.iotdb.db.query.udf.api.access.Row;
 import org.apache.iotdb.db.query.udf.api.access.RowWindow;
@@ -37,57 +34,36 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import java.time.ZoneId;
+import java.util.List;
 import java.util.Map;
 
 public class UDTFExecutor {
 
   private static final Logger LOGGER = LoggerFactory.getLogger(UDTFExecutor.class);
 
-  protected final FunctionExpression expression;
+  protected final String functionName;
   protected final UDTFConfigurations configurations;
 
   protected UDTF udtf;
   protected ElasticSerializableTVList collector;
 
-  public UDTFExecutor(FunctionExpression expression, ZoneId zoneId) {
-    this.expression = expression;
+  public UDTFExecutor(String functionName, ZoneId zoneId) {
+    this.functionName = functionName;
     configurations = new UDTFConfigurations(zoneId);
   }
 
-  public void beforeStart(long queryId, float collectorMemoryBudgetInMB, TypeProvider typeProvider)
-      throws QueryProcessException {
-    udtf = (UDTF) UDFRegistrationService.getInstance().reflect(expression);
-
-    UDFParameters parameters = new UDFParameters(expression, typeProvider);
-
-    try {
-      udtf.validate(new UDFParameterValidator(parameters));
-    } catch (Exception e) {
-      onError("validate(UDFParameterValidator)", e);
-    }
-
-    try {
-      udtf.beforeStart(parameters, configurations);
-    } catch (Exception e) {
-      onError("beforeStart(UDFParameters, UDTFConfigurations)", e);
-    }
-    configurations.check();
-
-    collector =
-        ElasticSerializableTVList.newElasticSerializableTVList(
-            configurations.getOutputDataType(), queryId, collectorMemoryBudgetInMB, 1);
-  }
-
-  // TODO: remove it after MPP finished
-  @Deprecated
   public void beforeStart(
       long queryId,
       float collectorMemoryBudgetInMB,
-      Map<Expression, TSDataType> expressionDataTypeMap)
-      throws QueryProcessException {
-    udtf = (UDTF) UDFRegistrationService.getInstance().reflect(expression);
+      List<String> childExpressions,
+      List<PartialPath> maybeTimeSeriesPaths,
+      List<TSDataType> childExpressionDataTypes,
+      Map<String, String> attributes) {
+    udtf = (UDTF) UDFRegistrationService.getInstance().reflect(functionName);
 
-    UDFParameters parameters = new UDFParameters(expression, expressionDataTypeMap);
+    final UDFParameters parameters =
+        new UDFParameters(
+            childExpressions, maybeTimeSeriesPaths, childExpressionDataTypes, attributes);
 
     try {
       udtf.validate(new UDFParameterValidator(parameters));
@@ -107,7 +83,7 @@ public class UDTFExecutor {
             configurations.getOutputDataType(), queryId, collectorMemoryBudgetInMB, 1);
   }
 
-  public void execute(Row row, boolean isCurrentRowNull) throws QueryProcessException {
+  public void execute(Row row, boolean isCurrentRowNull) {
     try {
       if (isCurrentRowNull) {
         // A null row will never trigger any UDF computing
@@ -120,7 +96,7 @@ public class UDTFExecutor {
     }
   }
 
-  public void execute(RowWindow rowWindow) throws QueryProcessException {
+  public void execute(RowWindow rowWindow) {
     try {
       udtf.transform(rowWindow, collector);
     } catch (Exception e) {
@@ -128,7 +104,7 @@ public class UDTFExecutor {
     }
   }
 
-  public void terminate() throws QueryProcessException {
+  public void terminate() {
     try {
       udtf.terminate(collector);
     } catch (Exception e) {
@@ -142,18 +118,14 @@ public class UDTFExecutor {
     }
   }
 
-  private void onError(String methodName, Exception e) throws QueryProcessException {
+  private void onError(String methodName, Exception e) {
     LOGGER.warn("Error occurred during executing UDTF", e);
-    throw new QueryProcessException(
+    throw new RuntimeException(
         String.format(
                 "Error occurred during executing UDTF#%s: %s", methodName, System.lineSeparator())
             + e);
   }
 
-  public FunctionExpression getExpression() {
-    return expression;
-  }
-
   public UDTFConfigurations getConfigurations() {
     return configurations;
   }
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/executor/UDTFTypeInferrer.java b/server/src/main/java/org/apache/iotdb/db/query/udf/core/executor/UDTFTypeInferrer.java
index ca7233906a..d089438384 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/executor/UDTFTypeInferrer.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/core/executor/UDTFTypeInferrer.java
@@ -19,9 +19,8 @@
 
 package org.apache.iotdb.db.query.udf.core.executor;
 
+import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.db.exception.sql.SemanticException;
-import org.apache.iotdb.db.mpp.plan.analyze.TypeProvider;
-import org.apache.iotdb.db.query.expression.multi.FunctionExpression;
 import org.apache.iotdb.db.query.udf.api.UDTF;
 import org.apache.iotdb.db.query.udf.api.customizer.config.UDTFConfigurations;
 import org.apache.iotdb.db.query.udf.api.customizer.parameter.UDFParameterValidator;
@@ -33,22 +32,30 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import java.time.ZoneId;
+import java.util.List;
+import java.util.Map;
 
 public class UDTFTypeInferrer {
 
   private static final Logger LOGGER = LoggerFactory.getLogger(UDTFTypeInferrer.class);
 
-  protected final FunctionExpression expression;
+  protected final String functionName;
 
-  public UDTFTypeInferrer(FunctionExpression expression) {
-    this.expression = expression;
+  public UDTFTypeInferrer(String functionName) {
+    this.functionName = functionName;
   }
 
-  public TSDataType inferOutputType(TypeProvider typeProvider) {
+  public TSDataType inferOutputType(
+      List<String> childExpressions,
+      List<PartialPath> maybeTimeSeriesPaths,
+      List<TSDataType> childExpressionDataTypes,
+      Map<String, String> attributes) {
     try {
-      UDTF udtf = (UDTF) UDFRegistrationService.getInstance().reflect(expression);
+      UDTF udtf = (UDTF) UDFRegistrationService.getInstance().reflect(functionName);
 
-      UDFParameters parameters = new UDFParameters(expression, typeProvider);
+      UDFParameters parameters =
+          new UDFParameters(
+              childExpressions, maybeTimeSeriesPaths, childExpressionDataTypes, attributes);
       udtf.validate(new UDFParameterValidator(parameters));
 
       // use ZoneId.systemDefault() because UDF's data type is ZoneId independent
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/SingleInputColumnSingleReferenceIntermediateLayer.java b/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/SingleInputColumnSingleReferenceIntermediateLayer.java
index 29549ccdd0..6d151e937b 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/SingleInputColumnSingleReferenceIntermediateLayer.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/SingleInputColumnSingleReferenceIntermediateLayer.java
@@ -113,8 +113,7 @@ public class SingleInputColumnSingleReferenceIntermediateLayer extends Intermedi
 
   @Override
   protected LayerRowWindowReader constructRowSlidingSizeWindowReader(
-      SlidingSizeWindowAccessStrategy strategy, float memoryBudgetInMB)
-      throws QueryProcessException {
+      SlidingSizeWindowAccessStrategy strategy, float memoryBudgetInMB) {
 
     return new LayerRowWindowReader() {
 
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/ElasticSerializableBinaryTVList.java b/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/ElasticSerializableBinaryTVList.java
index 687057e274..7ed0737df0 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/ElasticSerializableBinaryTVList.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/ElasticSerializableBinaryTVList.java
@@ -19,7 +19,6 @@
 
 package org.apache.iotdb.db.query.udf.datastructure.tv;
 
-import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.utils.Binary;
 
@@ -36,8 +35,7 @@ public class ElasticSerializableBinaryTVList extends ElasticSerializableTVList {
   protected long totalByteArrayLengthLimit;
   protected long totalByteArrayLength;
 
-  public ElasticSerializableBinaryTVList(long queryId, float memoryLimitInMB, int cacheSize)
-      throws QueryProcessException {
+  public ElasticSerializableBinaryTVList(long queryId, float memoryLimitInMB, int cacheSize) {
     super(TSDataType.TEXT, queryId, memoryLimitInMB, cacheSize);
     byteArrayLengthForMemoryControl = INITIAL_BYTE_ARRAY_LENGTH_FOR_MEMORY_CONTROL;
     totalByteArrayLengthLimit = 0;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/ElasticSerializableTVList.java b/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/ElasticSerializableTVList.java
index 9e13e6333f..cec4cf0cc6 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/ElasticSerializableTVList.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/ElasticSerializableTVList.java
@@ -36,12 +36,10 @@ import java.util.List;
 public class ElasticSerializableTVList implements PointCollector {
 
   public static ElasticSerializableTVList newElasticSerializableTVList(
-      TSDataType dataType, long queryId, float memoryLimitInMB, int cacheSize)
-      throws QueryProcessException {
-    if (dataType.equals(TSDataType.TEXT)) {
-      return new ElasticSerializableBinaryTVList(queryId, memoryLimitInMB, cacheSize);
-    }
-    return new ElasticSerializableTVList(dataType, queryId, memoryLimitInMB, cacheSize);
+      TSDataType dataType, long queryId, float memoryLimitInMB, int cacheSize) {
+    return dataType.equals(TSDataType.TEXT)
+        ? new ElasticSerializableBinaryTVList(queryId, memoryLimitInMB, cacheSize)
+        : new ElasticSerializableTVList(dataType, queryId, memoryLimitInMB, cacheSize);
   }
 
   protected TSDataType dataType;
@@ -62,8 +60,7 @@ public class ElasticSerializableTVList implements PointCollector {
   protected int evictionUpperBound;
 
   protected ElasticSerializableTVList(
-      TSDataType dataType, long queryId, float memoryLimitInMB, int cacheSize)
-      throws QueryProcessException {
+      TSDataType dataType, long queryId, float memoryLimitInMB, int cacheSize) {
     this.dataType = dataType;
     this.queryId = queryId;
     this.memoryLimitInMB = memoryLimitInMB;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/SerializableTVList.java b/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/SerializableTVList.java
index edbee1c376..f595043e5b 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/SerializableTVList.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/datastructure/tv/SerializableTVList.java
@@ -19,7 +19,6 @@
 
 package org.apache.iotdb.db.query.udf.datastructure.tv;
 
-import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.db.query.udf.datastructure.SerializableList;
 import org.apache.iotdb.tsfile.exception.write.UnSupportedDataTypeException;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
@@ -47,8 +46,7 @@ public abstract class SerializableTVList extends BatchData implements Serializab
     }
   }
 
-  protected static int calculateCapacity(TSDataType dataType, float memoryLimitInMB)
-      throws QueryProcessException {
+  protected static int calculateCapacity(TSDataType dataType, float memoryLimitInMB) {
     int size;
     switch (dataType) {
       case INT32:
@@ -76,7 +74,7 @@ public abstract class SerializableTVList extends BatchData implements Serializab
     }
 
     if (size <= 0) {
-      throw new QueryProcessException("Memory is not enough for current query.");
+      throw new RuntimeException("Memory is not enough for current query.");
     }
     return size;
   }
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/service/UDFClassLoaderManager.java b/server/src/main/java/org/apache/iotdb/db/query/udf/service/UDFClassLoaderManager.java
index 2af5764747..99cf877d3e 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/service/UDFClassLoaderManager.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/service/UDFClassLoaderManager.java
@@ -46,9 +46,8 @@ public class UDFClassLoaderManager implements IService {
   /**
    * activeClassLoader is used to load all classes under libRoot. libRoot may be updated before the
    * user executes CREATE FUNCTION or after the user executes DROP FUNCTION. Therefore, we need to
-   * continuously maintain the activeClassLoader so that the classes it loads are always up to date.
+   * continuously maintain the activeClassLoader so that the classes it loads are always up-to-date.
    */
-  @SuppressWarnings("squid:S3077")
   private volatile UDFClassLoader activeClassLoader;
 
   UDFClassLoaderManager() {
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/service/UDFRegistrationService.java b/server/src/main/java/org/apache/iotdb/db/query/udf/service/UDFRegistrationService.java
index af451f5e38..8f90da5c9d 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/service/UDFRegistrationService.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/service/UDFRegistrationService.java
@@ -26,9 +26,7 @@ import org.apache.iotdb.commons.service.ServiceType;
 import org.apache.iotdb.commons.utils.TestOnly;
 import org.apache.iotdb.db.conf.IoTDBDescriptor;
 import org.apache.iotdb.db.exception.UDFRegistrationException;
-import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.db.qp.constant.SQLConstant;
-import org.apache.iotdb.db.query.expression.multi.FunctionExpression;
 import org.apache.iotdb.db.query.udf.api.UDF;
 import org.apache.iotdb.db.query.udf.builtin.BuiltinFunction;
 import org.apache.iotdb.tsfile.fileSystem.FSFactoryProducer;
@@ -239,8 +237,8 @@ public class UDFRegistrationService implements IService {
     }
   }
 
-  public UDF reflect(FunctionExpression expression) throws QueryProcessException {
-    String functionName = expression.getFunctionName().toUpperCase();
+  public UDF reflect(String functionName) {
+    functionName = functionName.toUpperCase();
     UDFRegistrationInformation information = registrationInformation.get(functionName);
     if (information == null) {
       String errorMessage =
@@ -248,7 +246,7 @@ public class UDFRegistrationService implements IService {
               "Failed to reflect UDF instance, because UDF %s has not been registered.",
               functionName);
       logger.warn(errorMessage);
-      throw new QueryProcessException(errorMessage);
+      throw new RuntimeException(errorMessage);
     }
 
     if (!information.isBuiltin()) {
@@ -267,7 +265,7 @@ public class UDFRegistrationService implements IService {
               "Failed to reflect UDF %s(%s) instance, because %s",
               functionName, information.getClassName(), e);
       logger.warn(errorMessage);
-      throw new QueryProcessException(errorMessage);
+      throw new RuntimeException(errorMessage);
     }
   }
 
diff --git a/server/src/main/java/org/apache/iotdb/db/tools/watermark/WatermarkDetector.java b/server/src/main/java/org/apache/iotdb/db/tools/watermark/WatermarkDetector.java
index 54b0a0bbf6..45f9e35a6f 100644
--- a/server/src/main/java/org/apache/iotdb/db/tools/watermark/WatermarkDetector.java
+++ b/server/src/main/java/org/apache/iotdb/db/tools/watermark/WatermarkDetector.java
@@ -68,7 +68,7 @@ public class WatermarkDetector {
         dataType);
   }
 
-  @SuppressWarnings("squid:S3776") // Suppress high Cognitive Complexity warning
+  // Suppress high Cognitive Complexity warning
   public static boolean isWatermarked(
       String filePath,
       String secretKey,
@@ -171,12 +171,7 @@ public class WatermarkDetector {
     try {
       timestamp = Long.parseLong(str);
     } catch (NumberFormatException e) {
-      try {
-        ZoneId zoneId = ZoneId.systemDefault();
-        timestamp = DatetimeUtils.convertDatetimeStrToLong(str, zoneId);
-      } catch (LogicalOperatorException e1) {
-        throw new LogicalOperatorException("The format of timestamp is not unexpected.");
-      }
+      timestamp = DatetimeUtils.convertDatetimeStrToLong(str, ZoneId.systemDefault());
     }
     return timestamp;
   }
diff --git a/server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/ElasticSerializableTVListTest.java b/server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/ElasticSerializableTVListTest.java
index 865c270266..b8fa26fac3 100644
--- a/server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/ElasticSerializableTVListTest.java
+++ b/server/src/test/java/org/apache/iotdb/db/query/udf/datastructure/ElasticSerializableTVListTest.java
@@ -92,13 +92,9 @@ public class ElasticSerializableTVListTest extends SerializableListTest {
   }
 
   private void initESTVList(TSDataType dataType) {
-    try {
-      tvList =
-          ElasticSerializableTVList.newElasticSerializableTVList(
-              dataType, QUERY_ID, MEMORY_USAGE_LIMIT_IN_MB, CACHE_SIZE);
-    } catch (QueryProcessException e) {
-      fail(e.toString());
-    }
+    tvList =
+        ElasticSerializableTVList.newElasticSerializableTVList(
+            dataType, QUERY_ID, MEMORY_USAGE_LIMIT_IN_MB, CACHE_SIZE);
     assertEquals(0, tvList.size());
   }
 
@@ -160,7 +156,7 @@ public class ElasticSerializableTVListTest extends SerializableListTest {
           }
           break;
       }
-    } catch (IOException | QueryProcessException e) {
+    } catch (IOException e) {
       fail(e.toString());
     }
     assertEquals(ITERATION_TIMES, tvList.size());