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:36 UTC
[iotdb] 05/05: redesign udf package
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;