This is an automated email from the ASF dual-hosted git repository.
jackietien pushed a commit to branch ty/InnerTimeJoin
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/ty/InnerTimeJoin by this push:
new 7ad7664be9a add outputColumnNames
7ad7664be9a is described below
commit 7ad7664be9a93ba753aa898f252efe3ed064e6dd
Author: JackieTien97 <[email protected]>
AuthorDate: Fri Jan 5 14:58:54 2024 +0800
add outputColumnNames
---
.../process/join/InnerTimeJoinOperator.java | 26 +--
.../plan/planner/OperatorTreeGenerator.java | 31 +++-
.../plan/planner/distribution/SourceRewriter.java | 15 +-
.../plan/node/process/join/InnerTimeJoinNode.java | 66 ++++++-
.../db/queryengine/execution/DataDriverTest.java | 3 +-
.../process/join/InnerTimeJoinOperatorTest.java | 38 +++-
.../plan/{plan => planner}/ExpressionTest.java | 2 +-
.../{plan => planner}/FragmentInstanceIdTest.java | 2 +-
.../FragmentInstanceSerdeTest.java | 2 +-
.../plan/{plan => planner}/LogicalPlannerTest.java | 9 +-
.../{plan => planner}/PipelineBuilderTest.java | 4 +-
.../{plan => planner}/QueryLogicalPlanUtil.java | 2 +-
.../plan/{plan => planner}/QueryPlannerTest.java | 2 +-
.../distribution/AggregationDistributionTest.java | 3 +-
.../AlignByDeviceOrderByLimitOffsetTest.java | 3 +-
.../distribution/AlignedByDeviceTest.java | 3 +-
.../distribution/DistributionPlannerBasicTest.java | 3 +-
.../distribution/DistributionPlannerCycleTest.java | 3 +-
.../distribution/LastQueryTest.java | 3 +-
.../distribution/NoDataRegionPlanningTest.java | 3 +-
.../distribution/SplitTimePartitionTest.java | 205 +++++++++++++++++++++
.../plan/{plan => planner}/distribution/Util.java | 2 +-
.../plan/{plan => planner}/distribution/Util2.java | 2 +-
.../node/PlanGraphPrinterTest.java | 2 +-
.../node/PlanNodeDeserializeHelper.java | 2 +-
.../node/load/LoadTsFileNodeTest.java | 2 +-
.../read/DeviceSchemaScanNodeSerdeTest.java | 4 +-
.../NodeManagementMemoryMergeNodeSerdeTest.java | 4 +-
.../read/PathsUsingTemplateScanNodeTest.java | 2 +-
.../metadata/read/SchemaCountNodeSerdeTest.java | 4 +-
.../metadata/read/SchemaFetchMergeNodeTest.java | 2 +-
.../metadata/read/SchemaFetchScanNodeTest.java | 2 +-
.../read/TimeSeriesSchemaScanNodeSerdeTest.java | 4 +-
.../metadata/write/MetadataWriteNodeSerDeTest.java | 2 +-
.../node/process/AggregationNodeSerdeTest.java | 4 +-
.../node/process/DeviceViewNodeSerdeTest.java | 4 +-
.../node/process/ExchangeNodeSerdeTest.java | 4 +-
.../node/process/FillNodeSerdeTest.java | 4 +-
.../node/process/FilterNodeSerdeTest.java | 4 +-
.../node/process/GroupByLevelNodeSerdeTest.java | 4 +-
.../node/process/GroupByTagNodeSerdeTest.java | 4 +-
.../node/process/IntoNodeSerdeTest.java | 4 +-
.../node/process/LimitNodeSerdeTest.java | 4 +-
.../node/process/OffsetNodeSerdeTest.java | 4 +-
.../process/SingleDeviceViewNodeSerdeTest.java | 4 +-
.../node/process/SortNodeSerdeTest.java | 4 +-
.../node/process/TimeJoinNodeSerdeTest.java | 4 +-
.../node/sink/IdentitySinkNodeSerdeTest.java | 4 +-
.../node/sink/ShuffleSinkHandleNodeSerdeTest.java | 4 +-
.../source/SeriesAggregationScanNodeSerdeTest.java | 4 +-
.../node/source/SeriesScanNodeSerdeTest.java | 4 +-
.../node/write/DeleteDataNodeSerdeTest.java | 2 +-
.../write/InsertMultiTabletsNodeSerdeTest.java | 2 +-
.../node/write/InsertRowNodeSerdeTest.java | 2 +-
.../node/write/InsertRowsNodeSerdeTest.java | 2 +-
.../write/InsertRowsOfOneDeviceNodeSerdeTest.java | 2 +-
.../node/write/InsertTabletNodeSerdeTest.java | 2 +-
.../node/write/WritePlanNodeSplitTest.java | 2 +-
.../statement/sys/pipe/PipeStatementTest.java | 2 +-
.../storageengine/dataregion/DataRegionTest.java | 12 ++
.../iotdb/db/storageengine/dataregion/TTLTest.java | 3 +
61 files changed, 446 insertions(+), 115 deletions(-)
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/join/InnerTimeJoinOperator.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/join/InnerTimeJoinOperator.java
index bb36e02726c..64a75493b18 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/join/InnerTimeJoinOperator.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/join/InnerTimeJoinOperator.java
@@ -23,6 +23,7 @@ import
org.apache.iotdb.db.queryengine.execution.operator.Operator;
import org.apache.iotdb.db.queryengine.execution.operator.OperatorContext;
import
org.apache.iotdb.db.queryengine.execution.operator.process.ProcessOperator;
import
org.apache.iotdb.db.queryengine.execution.operator.process.join.merge.TimeComparator;
+import
org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.InputLocation;
import org.apache.iotdb.tsfile.common.conf.TSFileDescriptor;
import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
import org.apache.iotdb.tsfile.read.common.block.TsBlock;
@@ -35,6 +36,7 @@ import com.google.common.util.concurrent.ListenableFuture;
import java.util.ArrayList;
import java.util.List;
+import java.util.Map;
import java.util.concurrent.TimeUnit;
import static com.google.common.base.Preconditions.checkArgument;
@@ -61,6 +63,8 @@ public class InnerTimeJoinOperator implements ProcessOperator
{
private final TimeComparator comparator;
+ private final Map<InputLocation, Integer> outputColumnMap;
+
/** Index of the child that is currently fetching input */
private int currentChildIndex = 0;
@@ -71,7 +75,8 @@ public class InnerTimeJoinOperator implements ProcessOperator
{
OperatorContext operatorContext,
List<Operator> children,
List<TSDataType> dataTypes,
- TimeComparator comparator) {
+ TimeComparator comparator,
+ Map<InputLocation, Integer> outputColumnMap) {
this.operatorContext = operatorContext;
this.children = children;
this.inputOperatorsCount = children.size();
@@ -82,6 +87,7 @@ public class InnerTimeJoinOperator implements ProcessOperator
{
this.inputIndex = new int[this.inputOperatorsCount];
this.resultBuilder = new TsBlockBuilder(dataTypes);
this.comparator = comparator;
+ this.outputColumnMap = outputColumnMap;
}
@Override
@@ -143,9 +149,8 @@ public class InnerTimeJoinOperator implements
ProcessOperator {
// build value columns for each child
if (selectedRowIndexArray[0].length > 0) {
- int columnIndex = 0;
for (int i = 0; i < inputOperatorsCount; i++) {
- columnIndex += buildValueColumns(columnIndex, i,
selectedRowIndexArray[i]);
+ buildValueColumns(i, selectedRowIndexArray[i]);
}
}
}
@@ -251,11 +256,12 @@ public class InnerTimeJoinOperator implements
ProcessOperator {
return res;
}
- private int buildValueColumns(int startColumnIndex, int childIndex, int[]
selectedRowIndex) {
+ private void buildValueColumns(int childIndex, int[] selectedRowIndex) {
TsBlock tsBlock = inputTsBlocks[childIndex];
for (int i = 0, size = inputTsBlocks[childIndex].getValueColumnCount(); i
< size; i++) {
- ColumnBuilder columnBuilder =
resultBuilder.getColumnBuilder(startColumnIndex + i);
- Column column = inputTsBlocks[childIndex].getColumn(i);
+ ColumnBuilder columnBuilder =
+ resultBuilder.getColumnBuilder(outputColumnMap.get(new
InputLocation(childIndex, i)));
+ Column column = tsBlock.getColumn(i);
if (column.mayHaveNull()) {
for (int rowIndex : selectedRowIndex) {
if (column.isNull(rowIndex)) {
@@ -270,8 +276,6 @@ public class InnerTimeJoinOperator implements
ProcessOperator {
}
}
}
-
- return startColumnIndex + tsBlock.getValueColumnCount();
}
/**
@@ -384,9 +388,9 @@ public class InnerTimeJoinOperator implements
ProcessOperator {
long currentRetainedSize = 0;
long minChildReturnSize = Long.MAX_VALUE;
for (Operator child : children) {
- long maxReturnSize = child.calculateMaxReturnSize();
- currentRetainedSize += (maxReturnSize +
child.calculateRetainedSizeAfterCallingNext());
- minChildReturnSize = Math.min(minChildReturnSize, maxReturnSize);
+ long tmpMaxReturnSize = child.calculateMaxReturnSize();
+ currentRetainedSize += (tmpMaxReturnSize +
child.calculateRetainedSizeAfterCallingNext());
+ minChildReturnSize = Math.min(minChildReturnSize, tmpMaxReturnSize);
}
// max cached TsBlock
return currentRetainedSize - minChildReturnSize;
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/OperatorTreeGenerator.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/OperatorTreeGenerator.java
index d4b80556d52..094a543a916 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/OperatorTreeGenerator.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/OperatorTreeGenerator.java
@@ -2082,7 +2082,36 @@ public class OperatorTreeGenerator extends
PlanVisitor<Operator, LocalExecutionP
? getOutputColumnTypesOfTimeJoinNode(node)
: getOutputColumnTypes(node, context.getTypeProvider());
- return new InnerTimeJoinOperator(operatorContext, children,
outputColumnTypes, timeComparator);
+ return new InnerTimeJoinOperator(
+ operatorContext, children, outputColumnTypes, timeComparator,
getOutputColumnMap(node));
+ }
+
+ private Map<InputLocation, Integer> getOutputColumnMap(InnerTimeJoinNode
innerTimeJoinNode) {
+ Map<InputLocation, Integer> result = new HashMap<>();
+ if (innerTimeJoinNode.outputColumnNamesIsNull()) {
+ int outputIndex = 0;
+ for (int i = 0, size = innerTimeJoinNode.getChildren().size(); i < size;
i++) {
+ PlanNode child = innerTimeJoinNode.getChildren().get(i);
+ List<String> childOutputColumns = child.getOutputColumnNames();
+ for (int j = 0, childSize = childOutputColumns.size(); j < childSize;
j++) {
+ result.put(new InputLocation(i, j), outputIndex++);
+ }
+ }
+ } else {
+ List<String> outputColumns = innerTimeJoinNode.getOutputColumnNames();
+ Map<String, Integer> outputColumnIndexMap = new HashMap<>();
+ for (int i = 0; i < outputColumns.size(); i++) {
+ outputColumnIndexMap.put(outputColumns.get(i), i);
+ }
+ for (int i = 0, size = innerTimeJoinNode.getChildren().size(); i < size;
i++) {
+ PlanNode child = innerTimeJoinNode.getChildren().get(i);
+ List<String> childOutputColumns = child.getOutputColumnNames();
+ for (int j = 0, childSize = childOutputColumns.size(); j < childSize;
j++) {
+ result.put(new InputLocation(i, j),
outputColumnIndexMap.get(childOutputColumns.get(j)));
+ }
+ }
+ }
+ return result;
}
@Override
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/SourceRewriter.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/SourceRewriter.java
index 6950ff95df4..fe724605a88 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/SourceRewriter.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/SourceRewriter.java
@@ -724,18 +724,25 @@ public class SourceRewriter extends
SimplePlanNodeRewriter<DistributionPlanConte
} else {
// add merge sort node for InnerTimeJoinNodes
// TODO add new type of Node, just traverse all child nodes sequentially
in the future
+ List<String> outputColumnNames = node.getOutputColumnNames();
MergeSortNode mergeSortNode =
new MergeSortNode(
context.queryContext.getQueryId().genPlanNodeId(),
node.getMergeOrder() == Ordering.ASC ? TIME_ASC : TIME_DESC,
- node.getOutputColumnNames());
+ outputColumnNames);
+ // set unified outputColumnNames for each child InnerTimeJoinNode
+ children.forEach(
+ child -> {
+ ((InnerTimeJoinNode)
child).setOutputColumnNames(outputColumnNames);
+ });
mergeSortNode.setChildren(children);
return Collections.singletonList(mergeSortNode);
}
}
- private List<List<TTimePartitionSlot>> splitTimePartition(
+ // make it as protected just for UT usage
+ protected static List<List<TTimePartitionSlot>> splitTimePartition(
List<List<List<TTimePartitionSlot>>> childTimePartitionList) {
if (childTimePartitionList.isEmpty()) {
return Collections.emptyList();
@@ -747,7 +754,7 @@ public class SourceRewriter extends
SimplePlanNodeRewriter<DistributionPlanConte
return res;
}
- private List<List<TTimePartitionSlot>> combineTwoTimePartitionList(
+ private static List<List<TTimePartitionSlot>> combineTwoTimePartitionList(
List<List<TTimePartitionSlot>> left, List<List<TTimePartitionSlot>>
right) {
int leftIndex = 0;
int leftSize = left.size();
@@ -762,7 +769,7 @@ public class SourceRewriter extends
SimplePlanNodeRewriter<DistributionPlanConte
int rightCurrentListIndex = 0;
while (leftIndex < leftSize && rightIndex < rightSize) {
List<TTimePartitionSlot> leftCurrentList = left.get(leftIndex);
- List<TTimePartitionSlot> rightCurrentList = left.get(rightIndex);
+ List<TTimePartitionSlot> rightCurrentList = right.get(rightIndex);
int leftCurrentListSize = leftCurrentList.size();
int rightCurrentListSize = rightCurrentList.size();
while (leftCurrentListIndex < leftCurrentListSize
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/process/join/InnerTimeJoinNode.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/process/join/InnerTimeJoinNode.java
index 6b885d87b37..ea54024b3cb 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/process/join/InnerTimeJoinNode.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/plan/node/process/join/InnerTimeJoinNode.java
@@ -61,19 +61,31 @@ public class InnerTimeJoinNode extends
MultiChildProcessNode {
// empty for zero time partitions
private List<Long> timePartitions;
+ // in most cases, it will be null, if we've got more than one root
InnerTimeJoinNode, and these
+ // InnerTimeJoinNodes' result will be merged by MergeSortNode
+ // we will make sure that all these InnerTimeJoinNodes output same column
names;
+ // for logical planner, it will also be null
+ private List<String> outputColumnNames;
+
public InnerTimeJoinNode(PlanNodeId id, Ordering mergeOrder) {
this(id, new ArrayList<>(), mergeOrder, null);
}
- public InnerTimeJoinNode(PlanNodeId id, Ordering mergeOrder, List<PlanNode>
children) {
- this(id, children, mergeOrder, null);
+ public InnerTimeJoinNode(
+ PlanNodeId id, List<PlanNode> children, Ordering mergeOrder, List<Long>
timePartitions) {
+ this(id, children, mergeOrder, timePartitions, null);
}
public InnerTimeJoinNode(
- PlanNodeId id, List<PlanNode> children, Ordering mergeOrder, List<Long>
timePartitions) {
+ PlanNodeId id,
+ List<PlanNode> children,
+ Ordering mergeOrder,
+ List<Long> timePartitions,
+ List<String> outputColumnNames) {
super(id, children);
this.mergeOrder = mergeOrder;
this.timePartitions = timePartitions;
+ this.outputColumnNames = outputColumnNames;
}
public Ordering getMergeOrder() {
@@ -96,10 +108,12 @@ public class InnerTimeJoinNode extends
MultiChildProcessNode {
@Override
public List<String> getOutputColumnNames() {
- return children.stream()
- .map(PlanNode::getOutputColumnNames)
- .flatMap(List::stream)
- .collect(Collectors.toList());
+ return outputColumnNames != null
+ ? outputColumnNames
+ : children.stream()
+ .map(PlanNode::getOutputColumnNames)
+ .flatMap(List::stream)
+ .collect(Collectors.toList());
}
@Override
@@ -120,6 +134,15 @@ public class InnerTimeJoinNode extends
MultiChildProcessNode {
ReadWriteIOUtils.write(timePartitionId, byteBuffer);
}
}
+ if (outputColumnNames == null) {
+ ReadWriteIOUtils.write(false, byteBuffer);
+ } else {
+ ReadWriteIOUtils.write(true, byteBuffer);
+ ReadWriteIOUtils.write(outputColumnNames.size(), byteBuffer);
+ for (String outputColumnName : outputColumnNames) {
+ ReadWriteIOUtils.write(outputColumnName, byteBuffer);
+ }
+ }
}
@Override
@@ -135,6 +158,15 @@ public class InnerTimeJoinNode extends
MultiChildProcessNode {
ReadWriteIOUtils.write(timePartitionId, stream);
}
}
+ if (outputColumnNames == null) {
+ ReadWriteIOUtils.write(false, stream);
+ } else {
+ ReadWriteIOUtils.write(true, stream);
+ ReadWriteIOUtils.write(outputColumnNames.size(), stream);
+ for (String outputColumnName : outputColumnNames) {
+ ReadWriteIOUtils.write(outputColumnName, stream);
+ }
+ }
}
public static InnerTimeJoinNode deserialize(ByteBuffer byteBuffer) {
@@ -148,8 +180,18 @@ public class InnerTimeJoinNode extends
MultiChildProcessNode {
timePartitionIds.add(ReadWriteIOUtils.readLong(byteBuffer));
}
}
+ List<String> outputColumnNames = null;
+ boolean hasOutputColumnNames = ReadWriteIOUtils.readBool(byteBuffer);
+ if (hasOutputColumnNames) {
+ int size = ReadWriteIOUtils.read(byteBuffer);
+ outputColumnNames = new ArrayList<>(size);
+ for (int i = 0; i < size; i++) {
+ outputColumnNames.add(ReadWriteIOUtils.readString(byteBuffer));
+ }
+ }
PlanNodeId planNodeId = PlanNodeId.deserialize(byteBuffer);
- return new InnerTimeJoinNode(planNodeId, new ArrayList<>(), mergeOrder,
timePartitionIds);
+ return new InnerTimeJoinNode(
+ planNodeId, new ArrayList<>(), mergeOrder, timePartitionIds,
outputColumnNames);
}
@Override
@@ -186,4 +228,12 @@ public class InnerTimeJoinNode extends
MultiChildProcessNode {
public Optional<List<Long>> getTimePartitions() {
return Optional.ofNullable(timePartitions);
}
+
+ public void setOutputColumnNames(List<String> outputColumnNames) {
+ this.outputColumnNames = outputColumnNames;
+ }
+
+ public boolean outputColumnNamesIsNull() {
+ return outputColumnNames == null;
+ }
}
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/DataDriverTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/DataDriverTest.java
index bbd450cdaf8..568aa9d3fc7 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/DataDriverTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/DataDriverTest.java
@@ -176,7 +176,8 @@ public class DataDriverTest {
String deviceId = DATA_DRIVER_TEST_SG + ".device0";
Mockito.when(
- dataRegion.query(driverContext.getPaths(), deviceId,
fragmentInstanceContext, null))
+ dataRegion.query(
+ driverContext.getPaths(), deviceId, fragmentInstanceContext,
null, null))
.thenReturn(new QueryDataSource(seqResources, unSeqResources));
fragmentInstanceContext.initQueryDataSource(driverContext.getPaths());
fragmentInstanceContext.initializeNumOfDrivers(1);
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/join/InnerTimeJoinOperatorTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/join/InnerTimeJoinOperatorTest.java
index 7d05e0f23bc..bccff9bdb56 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/join/InnerTimeJoinOperatorTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/join/InnerTimeJoinOperatorTest.java
@@ -23,6 +23,7 @@ import
org.apache.iotdb.db.queryengine.execution.operator.Operator;
import org.apache.iotdb.db.queryengine.execution.operator.OperatorContext;
import
org.apache.iotdb.db.queryengine.execution.operator.process.join.merge.AscTimeComparator;
import
org.apache.iotdb.db.queryengine.execution.operator.process.join.merge.DescTimeComparator;
+import
org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.InputLocation;
import org.apache.iotdb.tsfile.common.conf.TSFileDescriptor;
import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
import org.apache.iotdb.tsfile.read.common.block.TsBlock;
@@ -37,6 +38,8 @@ import org.mockito.Mockito;
import java.nio.charset.StandardCharsets;
import java.util.Arrays;
import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
import java.util.concurrent.TimeUnit;
import static org.junit.Assert.assertEquals;
@@ -245,12 +248,17 @@ public class InnerTimeJoinOperatorTest {
}
};
+ Map<InputLocation, Integer> outputColumnMap = new HashMap<>();
+ outputColumnMap.put(new InputLocation(0, 0), 0);
+ outputColumnMap.put(new InputLocation(1, 0), 1);
+
InnerTimeJoinOperator innerTimeJoinOperator =
new InnerTimeJoinOperator(
operatorContext,
Arrays.asList(leftChild, rightChild),
Arrays.asList(TSDataType.INT32, TSDataType.INT64),
- new AscTimeComparator());
+ new AscTimeComparator(),
+ outputColumnMap);
assertEquals(
TSFileDescriptor.getInstance().getConfig().getMaxTsBlockSizeInBytes()
+ 64 * 1024 * 2,
@@ -559,12 +567,19 @@ public class InnerTimeJoinOperatorTest {
}
};
+ Map<InputLocation, Integer> outputColumnMap = new HashMap<>();
+ outputColumnMap.put(new InputLocation(0, 0), 0);
+ outputColumnMap.put(new InputLocation(0, 1), 1);
+ outputColumnMap.put(new InputLocation(1, 0), 2);
+ outputColumnMap.put(new InputLocation(1, 1), 3);
+
InnerTimeJoinOperator innerTimeJoinOperator =
new InnerTimeJoinOperator(
operatorContext,
Arrays.asList(leftChild, rightChild),
Arrays.asList(TSDataType.INT32, TSDataType.INT64,
TSDataType.FLOAT, TSDataType.BOOLEAN),
- new DescTimeComparator());
+ new DescTimeComparator(),
+ outputColumnMap);
long[] timeArray = new long[] {19L, 18L, 15L, 7L, 3L};
int[] column1Array = new int[] {19, 18, 0, 7, 3};
@@ -833,12 +848,19 @@ public class InnerTimeJoinOperatorTest {
}
};
+ Map<InputLocation, Integer> outputColumnMap = new HashMap<>();
+ outputColumnMap.put(new InputLocation(0, 0), 0);
+ outputColumnMap.put(new InputLocation(0, 1), 1);
+ outputColumnMap.put(new InputLocation(1, 0), 2);
+ outputColumnMap.put(new InputLocation(1, 1), 3);
+
InnerTimeJoinOperator innerTimeJoinOperator =
new InnerTimeJoinOperator(
operatorContext,
Arrays.asList(child1, child2),
Arrays.asList(TSDataType.INT32, TSDataType.INT64,
TSDataType.FLOAT, TSDataType.BOOLEAN),
- new DescTimeComparator());
+ new DescTimeComparator(),
+ outputColumnMap);
long[] timeArray = new long[] {100L, 90L, 50L, 20L, 10L};
int[] column1Array = new int[] {100, 90, 50, 20, 10};
@@ -1212,6 +1234,13 @@ public class InnerTimeJoinOperatorTest {
}
};
+ Map<InputLocation, Integer> outputColumnMap = new HashMap<>();
+ outputColumnMap.put(new InputLocation(0, 0), 0);
+ outputColumnMap.put(new InputLocation(0, 1), 1);
+ outputColumnMap.put(new InputLocation(1, 0), 2);
+ outputColumnMap.put(new InputLocation(1, 1), 3);
+ outputColumnMap.put(new InputLocation(2, 0), 4);
+
InnerTimeJoinOperator innerTimeJoinOperator =
new InnerTimeJoinOperator(
operatorContext,
@@ -1222,7 +1251,8 @@ public class InnerTimeJoinOperatorTest {
TSDataType.FLOAT,
TSDataType.BOOLEAN,
TSDataType.TEXT),
- new DescTimeComparator());
+ new DescTimeComparator(),
+ outputColumnMap);
try {
int count = 0;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/ExpressionTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/ExpressionTest.java
similarity index 98%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/ExpressionTest.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/ExpressionTest.java
index a69a9f462e7..79512877c68 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/ExpressionTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/ExpressionTest.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan;
+package org.apache.iotdb.db.queryengine.plan.planner;
import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.db.queryengine.common.NodeRef;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/FragmentInstanceIdTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/FragmentInstanceIdTest.java
similarity index 96%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/FragmentInstanceIdTest.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/FragmentInstanceIdTest.java
index 6c9dd1a6907..3ad5a6e1403 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/FragmentInstanceIdTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/FragmentInstanceIdTest.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan;
+package org.apache.iotdb.db.queryengine.plan.planner;
import org.apache.iotdb.db.queryengine.common.FragmentInstanceId;
import org.apache.iotdb.mpp.rpc.thrift.TFragmentInstanceId;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/FragmentInstanceSerdeTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/FragmentInstanceSerdeTest.java
similarity index 99%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/FragmentInstanceSerdeTest.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/FragmentInstanceSerdeTest.java
index 6cb45788dff..8d91a72988f 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/FragmentInstanceSerdeTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/FragmentInstanceSerdeTest.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan;
+package org.apache.iotdb.db.queryengine.plan.planner;
import org.apache.iotdb.common.rpc.thrift.TConsensusGroupId;
import org.apache.iotdb.common.rpc.thrift.TConsensusGroupType;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/LogicalPlannerTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/LogicalPlannerTest.java
similarity index 98%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/LogicalPlannerTest.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/LogicalPlannerTest.java
index 9eec3553629..ca227932c71 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/LogicalPlannerTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/LogicalPlannerTest.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan;
+package org.apache.iotdb.db.queryengine.plan.planner;
import org.apache.iotdb.common.rpc.thrift.TAggregationType;
import org.apache.iotdb.commons.exception.IllegalPathException;
@@ -34,8 +34,7 @@ import
org.apache.iotdb.db.queryengine.plan.analyze.FakeSchemaFetcherImpl;
import org.apache.iotdb.db.queryengine.plan.expression.Expression;
import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
import org.apache.iotdb.db.queryengine.plan.parser.StatementGenerator;
-import
org.apache.iotdb.db.queryengine.plan.plan.node.PlanNodeDeserializeHelper;
-import org.apache.iotdb.db.queryengine.plan.planner.LogicalPlanner;
+import
org.apache.iotdb.db.queryengine.plan.planner.node.PlanNodeDeserializeHelper;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeType;
import
org.apache.iotdb.db.queryengine.plan.planner.plan.node.metedata.read.DevicesSchemaScanNode;
@@ -79,8 +78,8 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import static
org.apache.iotdb.db.queryengine.plan.plan.QueryLogicalPlanUtil.querySQLs;
-import static
org.apache.iotdb.db.queryengine.plan.plan.QueryLogicalPlanUtil.sqlToPlanMap;
+import static
org.apache.iotdb.db.queryengine.plan.planner.QueryLogicalPlanUtil.querySQLs;
+import static
org.apache.iotdb.db.queryengine.plan.planner.QueryLogicalPlanUtil.sqlToPlanMap;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.fail;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/PipelineBuilderTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/PipelineBuilderTest.java
similarity index 99%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/PipelineBuilderTest.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/PipelineBuilderTest.java
index 02bc0443287..3841da6405f 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/PipelineBuilderTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/PipelineBuilderTest.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan;
+package org.apache.iotdb.db.queryengine.plan.planner;
import org.apache.iotdb.common.rpc.thrift.TAggregationType;
import org.apache.iotdb.common.rpc.thrift.TEndPoint;
@@ -39,8 +39,6 @@ import
org.apache.iotdb.db.queryengine.execution.operator.source.ExchangeOperato
import
org.apache.iotdb.db.queryengine.execution.operator.source.SeriesScanOperator;
import org.apache.iotdb.db.queryengine.plan.analyze.TypeProvider;
import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
-import org.apache.iotdb.db.queryengine.plan.planner.LocalExecutionPlanContext;
-import org.apache.iotdb.db.queryengine.plan.planner.OperatorTreeGenerator;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeId;
import
org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.AggregationNode;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/QueryLogicalPlanUtil.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/QueryLogicalPlanUtil.java
similarity index 99%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/QueryLogicalPlanUtil.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/QueryLogicalPlanUtil.java
index 65a46edc357..07d89735810 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/QueryLogicalPlanUtil.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/QueryLogicalPlanUtil.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan;
+package org.apache.iotdb.db.queryengine.plan.planner;
import org.apache.iotdb.common.rpc.thrift.TAggregationType;
import org.apache.iotdb.commons.exception.IllegalPathException;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/QueryPlannerTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/QueryPlannerTest.java
similarity index 98%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/QueryPlannerTest.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/QueryPlannerTest.java
index 6ae8c0cf845..0a750518bcf 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/QueryPlannerTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/QueryPlannerTest.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan;
+package org.apache.iotdb.db.queryengine.plan.planner;
import org.apache.iotdb.common.rpc.thrift.TEndPoint;
import org.apache.iotdb.commons.client.ClientPoolFactory;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/distribution/AggregationDistributionTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/AggregationDistributionTest.java
similarity index 99%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/distribution/AggregationDistributionTest.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/AggregationDistributionTest.java
index 0562010e9c9..04f3830f796 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/distribution/AggregationDistributionTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/AggregationDistributionTest.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan.distribution;
+package org.apache.iotdb.db.queryengine.plan.planner.distribution;
import org.apache.iotdb.common.rpc.thrift.TAggregationType;
import org.apache.iotdb.common.rpc.thrift.TEndPoint;
@@ -29,7 +29,6 @@ import org.apache.iotdb.db.queryengine.common.QueryId;
import org.apache.iotdb.db.queryengine.plan.analyze.Analysis;
import org.apache.iotdb.db.queryengine.plan.expression.Expression;
import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
-import
org.apache.iotdb.db.queryengine.plan.planner.distribution.DistributionPlanner;
import org.apache.iotdb.db.queryengine.plan.planner.plan.DistributedQueryPlan;
import org.apache.iotdb.db.queryengine.plan.planner.plan.FragmentInstance;
import org.apache.iotdb.db.queryengine.plan.planner.plan.LogicalQueryPlan;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/distribution/AlignByDeviceOrderByLimitOffsetTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/AlignByDeviceOrderByLimitOffsetTest.java
similarity index 98%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/distribution/AlignByDeviceOrderByLimitOffsetTest.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/AlignByDeviceOrderByLimitOffsetTest.java
index 8691debcb15..88206dc97d2 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/distribution/AlignByDeviceOrderByLimitOffsetTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/AlignByDeviceOrderByLimitOffsetTest.java
@@ -17,13 +17,12 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan.distribution;
+package org.apache.iotdb.db.queryengine.plan.planner.distribution;
import org.apache.iotdb.common.rpc.thrift.TEndPoint;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
import org.apache.iotdb.db.queryengine.common.QueryId;
import org.apache.iotdb.db.queryengine.plan.analyze.Analysis;
-import
org.apache.iotdb.db.queryengine.plan.planner.distribution.DistributionPlanner;
import org.apache.iotdb.db.queryengine.plan.planner.plan.DistributedQueryPlan;
import org.apache.iotdb.db.queryengine.plan.planner.plan.LogicalQueryPlan;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNode;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/distribution/AlignedByDeviceTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/AlignedByDeviceTest.java
similarity index 99%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/distribution/AlignedByDeviceTest.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/AlignedByDeviceTest.java
index 3ae90a9f970..f56a685a048 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/distribution/AlignedByDeviceTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/AlignedByDeviceTest.java
@@ -17,13 +17,12 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan.distribution;
+package org.apache.iotdb.db.queryengine.plan.planner.distribution;
import org.apache.iotdb.common.rpc.thrift.TEndPoint;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
import org.apache.iotdb.db.queryengine.common.QueryId;
import org.apache.iotdb.db.queryengine.plan.analyze.Analysis;
-import
org.apache.iotdb.db.queryengine.plan.planner.distribution.DistributionPlanner;
import org.apache.iotdb.db.queryengine.plan.planner.plan.DistributedQueryPlan;
import org.apache.iotdb.db.queryengine.plan.planner.plan.LogicalQueryPlan;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNode;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/distribution/DistributionPlannerBasicTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/DistributionPlannerBasicTest.java
similarity index 98%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/distribution/DistributionPlannerBasicTest.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/DistributionPlannerBasicTest.java
index f9fb9ff3be8..6d6c7a17ac9 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/distribution/DistributionPlannerBasicTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/DistributionPlannerBasicTest.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan.distribution;
+package org.apache.iotdb.db.queryengine.plan.planner.distribution;
import org.apache.iotdb.common.rpc.thrift.TEndPoint;
import org.apache.iotdb.commons.exception.IllegalPathException;
@@ -28,7 +28,6 @@ import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
import org.apache.iotdb.db.queryengine.common.QueryId;
import org.apache.iotdb.db.queryengine.plan.analyze.Analysis;
import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
-import
org.apache.iotdb.db.queryengine.plan.planner.distribution.DistributionPlanner;
import org.apache.iotdb.db.queryengine.plan.planner.plan.DistributedQueryPlan;
import org.apache.iotdb.db.queryengine.plan.planner.plan.LogicalQueryPlan;
import org.apache.iotdb.db.queryengine.plan.planner.plan.SubPlan;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/distribution/DistributionPlannerCycleTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/DistributionPlannerCycleTest.java
similarity index 96%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/distribution/DistributionPlannerCycleTest.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/DistributionPlannerCycleTest.java
index 8af58bb3c5a..df2f3d16339 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/distribution/DistributionPlannerCycleTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/DistributionPlannerCycleTest.java
@@ -17,13 +17,12 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan.distribution;
+package org.apache.iotdb.db.queryengine.plan.planner.distribution;
import org.apache.iotdb.common.rpc.thrift.TEndPoint;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
import org.apache.iotdb.db.queryengine.common.QueryId;
import org.apache.iotdb.db.queryengine.plan.analyze.Analysis;
-import
org.apache.iotdb.db.queryengine.plan.planner.distribution.DistributionPlanner;
import org.apache.iotdb.db.queryengine.plan.planner.plan.DistributedQueryPlan;
import org.apache.iotdb.db.queryengine.plan.planner.plan.LogicalQueryPlan;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNode;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/distribution/LastQueryTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/LastQueryTest.java
similarity index 98%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/distribution/LastQueryTest.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/LastQueryTest.java
index 5f675e41f43..f0c930d0d00 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/distribution/LastQueryTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/LastQueryTest.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan.distribution;
+package org.apache.iotdb.db.queryengine.plan.planner.distribution;
import org.apache.iotdb.common.rpc.thrift.TEndPoint;
import org.apache.iotdb.commons.exception.IllegalPathException;
@@ -25,7 +25,6 @@ import org.apache.iotdb.commons.path.AlignedPath;
import org.apache.iotdb.commons.path.MeasurementPath;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
import org.apache.iotdb.db.queryengine.common.QueryId;
-import
org.apache.iotdb.db.queryengine.plan.planner.distribution.DistributionPlanner;
import org.apache.iotdb.db.queryengine.plan.planner.plan.DistributedQueryPlan;
import org.apache.iotdb.db.queryengine.plan.planner.plan.LogicalQueryPlan;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNode;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/distribution/NoDataRegionPlanningTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/NoDataRegionPlanningTest.java
similarity index 93%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/distribution/NoDataRegionPlanningTest.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/NoDataRegionPlanningTest.java
index 48b750fcdb8..28fd1a922c6 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/distribution/NoDataRegionPlanningTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/NoDataRegionPlanningTest.java
@@ -17,13 +17,12 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan.distribution;
+package org.apache.iotdb.db.queryengine.plan.planner.distribution;
import org.apache.iotdb.common.rpc.thrift.TEndPoint;
import org.apache.iotdb.db.queryengine.common.MPPQueryContext;
import org.apache.iotdb.db.queryengine.common.QueryId;
import org.apache.iotdb.db.queryengine.plan.analyze.Analysis;
-import
org.apache.iotdb.db.queryengine.plan.planner.distribution.DistributionPlanner;
import org.apache.iotdb.db.queryengine.plan.planner.plan.DistributedQueryPlan;
import org.apache.iotdb.db.queryengine.plan.planner.plan.LogicalQueryPlan;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNode;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/SplitTimePartitionTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/SplitTimePartitionTest.java
new file mode 100644
index 00000000000..5f63df62ece
--- /dev/null
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/SplitTimePartitionTest.java
@@ -0,0 +1,205 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.iotdb.db.queryengine.plan.planner.distribution;
+
+import org.apache.iotdb.common.rpc.thrift.TTimePartitionSlot;
+
+import org.junit.Test;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import static
org.apache.iotdb.db.queryengine.plan.planner.distribution.SourceRewriter.splitTimePartition;
+import static org.junit.Assert.assertEquals;
+
+public class SplitTimePartitionTest {
+
+ @Test
+ public void testSplitTimePartition1() {
+ // timepartition-1 timepartition-2 timepartition-3
timepartition-4
+ // SeriesSlot-1 region-1 region-1 region-1
region-1
+ // SeriesSlot-2 region-2 region-2 region-2
region-2
+ // SeriesSlot-3 region-1 region-1 region-1
region-1
+ // SeriesSlot-4 region-2 region-2 region-2
region-2
+ List<List<List<TTimePartitionSlot>>> sourceTimeRangeList = new
ArrayList<>();
+ sourceTimeRangeList.add(new ArrayList<>());
+ sourceTimeRangeList
+ .get(0)
+ .add(
+ Arrays.asList(
+ new TTimePartitionSlot(1),
+ new TTimePartitionSlot(11),
+ new TTimePartitionSlot(21),
+ new TTimePartitionSlot(31)));
+ sourceTimeRangeList.add(new ArrayList<>());
+ sourceTimeRangeList
+ .get(1)
+ .add(
+ Arrays.asList(
+ new TTimePartitionSlot(1),
+ new TTimePartitionSlot(11),
+ new TTimePartitionSlot(21),
+ new TTimePartitionSlot(31)));
+ sourceTimeRangeList.add(new ArrayList<>());
+ sourceTimeRangeList
+ .get(2)
+ .add(
+ Arrays.asList(
+ new TTimePartitionSlot(1),
+ new TTimePartitionSlot(11),
+ new TTimePartitionSlot(21),
+ new TTimePartitionSlot(31)));
+ sourceTimeRangeList.add(new ArrayList<>());
+ sourceTimeRangeList
+ .get(3)
+ .add(
+ Arrays.asList(
+ new TTimePartitionSlot(1),
+ new TTimePartitionSlot(11),
+ new TTimePartitionSlot(21),
+ new TTimePartitionSlot(31)));
+
+ List<List<TTimePartitionSlot>> res =
splitTimePartition(sourceTimeRangeList);
+ assertEquals(1, res.size());
+ assertEquals(4, res.get(0).size());
+ assertEquals(1, res.get(0).get(0).startTime);
+ assertEquals(11, res.get(0).get(1).startTime);
+ assertEquals(21, res.get(0).get(2).startTime);
+ assertEquals(31, res.get(0).get(3).startTime);
+ }
+
+ @Test
+ public void testSplitTimePartition2() {
+ // timepartition-1 timepartition-2 timepartition-3
timepartition-4
+ // timepartition-5
+ // SeriesSlot-1 region-1 region-1 region-1
region-1
+ // region-1
+ // SeriesSlot-2 region-2 region-2 region-2
region-2
+ // region-2
+ // SeriesSlot-3 region-1 region-1 region-1
region-1
+ // region-3
+ // SeriesSlot-4 region-2 region-2 region-2
region-2
+ // region-4
+
+ List<List<List<TTimePartitionSlot>>> sourceTimeRangeList = new
ArrayList<>();
+ sourceTimeRangeList.add(new ArrayList<>());
+ sourceTimeRangeList
+ .get(0)
+ .add(
+ Arrays.asList(
+ new TTimePartitionSlot(1),
+ new TTimePartitionSlot(11),
+ new TTimePartitionSlot(21),
+ new TTimePartitionSlot(31),
+ new TTimePartitionSlot(41)));
+ sourceTimeRangeList.add(new ArrayList<>());
+ sourceTimeRangeList
+ .get(1)
+ .add(
+ Arrays.asList(
+ new TTimePartitionSlot(1),
+ new TTimePartitionSlot(11),
+ new TTimePartitionSlot(21),
+ new TTimePartitionSlot(31),
+ new TTimePartitionSlot(41)));
+ sourceTimeRangeList.add(new ArrayList<>());
+ sourceTimeRangeList
+ .get(2)
+ .add(
+ Arrays.asList(
+ new TTimePartitionSlot(1),
+ new TTimePartitionSlot(11),
+ new TTimePartitionSlot(21),
+ new TTimePartitionSlot(31)));
+ sourceTimeRangeList.get(2).add(Collections.singletonList(new
TTimePartitionSlot(41)));
+ sourceTimeRangeList.add(new ArrayList<>());
+ sourceTimeRangeList
+ .get(3)
+ .add(
+ Arrays.asList(
+ new TTimePartitionSlot(1),
+ new TTimePartitionSlot(11),
+ new TTimePartitionSlot(21),
+ new TTimePartitionSlot(31)));
+ sourceTimeRangeList.get(3).add(Collections.singletonList(new
TTimePartitionSlot(41)));
+
+ List<List<TTimePartitionSlot>> res =
splitTimePartition(sourceTimeRangeList);
+ assertEquals(2, res.size());
+ assertEquals(4, res.get(0).size());
+ assertEquals(1, res.get(0).get(0).startTime);
+ assertEquals(11, res.get(0).get(1).startTime);
+ assertEquals(21, res.get(0).get(2).startTime);
+ assertEquals(31, res.get(0).get(3).startTime);
+ assertEquals(1, res.get(1).size());
+ assertEquals(41, res.get(1).get(0).startTime);
+ }
+
+ @Test
+ public void testSplitTimePartition3() {
+ // timepartition-1 timepartition-2 timepartition-3
timepartition-4
+ // SeriesSlot-1 region-1 region-2 region-2
region-4
+ // SeriesSlot-2 region-1 region-3 region-3
region-3
+ // SeriesSlot-3 region-1 region-1 region-4
region-3
+ // SeriesSlot-4 region-4 region-2 region-4
region-4
+ List<List<List<TTimePartitionSlot>>> sourceTimeRangeList = new
ArrayList<>();
+ sourceTimeRangeList.add(new ArrayList<>());
+ sourceTimeRangeList.get(0).add(Collections.singletonList(new
TTimePartitionSlot(1)));
+ sourceTimeRangeList
+ .get(0)
+ .add(Arrays.asList(new TTimePartitionSlot(11), new
TTimePartitionSlot(21)));
+ sourceTimeRangeList.get(0).add(Collections.singletonList(new
TTimePartitionSlot(31)));
+
+ sourceTimeRangeList.add(new ArrayList<>());
+ sourceTimeRangeList.get(1).add(Collections.singletonList(new
TTimePartitionSlot(1)));
+ sourceTimeRangeList
+ .get(1)
+ .add(
+ Arrays.asList(
+ new TTimePartitionSlot(11),
+ new TTimePartitionSlot(21),
+ new TTimePartitionSlot(31)));
+ sourceTimeRangeList.add(new ArrayList<>());
+ sourceTimeRangeList
+ .get(2)
+ .add(Arrays.asList(new TTimePartitionSlot(1), new
TTimePartitionSlot(11)));
+ sourceTimeRangeList.get(2).add(Collections.singletonList(new
TTimePartitionSlot(21)));
+ sourceTimeRangeList.get(2).add(Collections.singletonList(new
TTimePartitionSlot(31)));
+
+ sourceTimeRangeList.add(new ArrayList<>());
+ sourceTimeRangeList.get(3).add(Collections.singletonList(new
TTimePartitionSlot(1)));
+ sourceTimeRangeList.get(3).add(Collections.singletonList(new
TTimePartitionSlot(11)));
+ sourceTimeRangeList
+ .get(3)
+ .add(Arrays.asList(new TTimePartitionSlot(21), new
TTimePartitionSlot(31)));
+
+ List<List<TTimePartitionSlot>> res =
splitTimePartition(sourceTimeRangeList);
+ assertEquals(4, res.size());
+ assertEquals(1, res.get(0).size());
+ assertEquals(1, res.get(0).get(0).startTime);
+ assertEquals(1, res.get(1).size());
+ assertEquals(11, res.get(1).get(0).startTime);
+ assertEquals(1, res.get(2).size());
+ assertEquals(21, res.get(2).get(0).startTime);
+ assertEquals(1, res.get(3).size());
+ assertEquals(31, res.get(3).get(0).startTime);
+ }
+}
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/distribution/Util.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/Util.java
similarity index 99%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/distribution/Util.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/Util.java
index b462480a0ef..0c77e598edc 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/distribution/Util.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/Util.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan.distribution;
+package org.apache.iotdb.db.queryengine.plan.planner.distribution;
import org.apache.iotdb.common.rpc.thrift.TConsensusGroupId;
import org.apache.iotdb.common.rpc.thrift.TConsensusGroupType;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/distribution/Util2.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/Util2.java
similarity index 99%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/distribution/Util2.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/Util2.java
index 1ae2aad4a6c..cae77a3491d 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/distribution/Util2.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/distribution/Util2.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan.distribution;
+package org.apache.iotdb.db.queryengine.plan.planner.distribution;
import org.apache.iotdb.common.rpc.thrift.TConsensusGroupId;
import org.apache.iotdb.common.rpc.thrift.TConsensusGroupType;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/PlanGraphPrinterTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/PlanGraphPrinterTest.java
similarity index 98%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/PlanGraphPrinterTest.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/PlanGraphPrinterTest.java
index 0be66fbbe99..dd0e664d38a 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/PlanGraphPrinterTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/PlanGraphPrinterTest.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan.node;
+package org.apache.iotdb.db.queryengine.plan.planner.node;
import org.apache.iotdb.commons.exception.IllegalPathException;
import org.apache.iotdb.commons.path.MeasurementPath;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/PlanNodeDeserializeHelper.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/PlanNodeDeserializeHelper.java
similarity index 95%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/PlanNodeDeserializeHelper.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/PlanNodeDeserializeHelper.java
index e0b644ef425..dd58ec38edb 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/PlanNodeDeserializeHelper.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/PlanNodeDeserializeHelper.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan.node;
+package org.apache.iotdb.db.queryengine.plan.planner.node;
import org.apache.iotdb.commons.exception.IllegalPathException;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNode;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/load/LoadTsFileNodeTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/load/LoadTsFileNodeTest.java
similarity index 98%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/load/LoadTsFileNodeTest.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/load/LoadTsFileNodeTest.java
index 2291a6a3543..7ef1ecf238c 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/load/LoadTsFileNodeTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/load/LoadTsFileNodeTest.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan.node.load;
+package org.apache.iotdb.db.queryengine.plan.planner.node.load;
import org.apache.iotdb.db.queryengine.plan.analyze.Analysis;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeId;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/metadata/read/DeviceSchemaScanNodeSerdeTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/metadata/read/DeviceSchemaScanNodeSerdeTest.java
similarity index 96%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/metadata/read/DeviceSchemaScanNodeSerdeTest.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/metadata/read/DeviceSchemaScanNodeSerdeTest.java
index 163224079a9..0b48e158f31 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/metadata/read/DeviceSchemaScanNodeSerdeTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/metadata/read/DeviceSchemaScanNodeSerdeTest.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan.node.metadata.read;
+package org.apache.iotdb.db.queryengine.plan.planner.node.metadata.read;
import org.apache.iotdb.common.rpc.thrift.TEndPoint;
import org.apache.iotdb.commons.exception.IllegalPathException;
@@ -25,7 +25,7 @@ import org.apache.iotdb.commons.schema.SchemaConstant;
import org.apache.iotdb.db.queryengine.common.FragmentInstanceId;
import org.apache.iotdb.db.queryengine.common.PlanFragmentId;
import
org.apache.iotdb.db.queryengine.execution.exchange.sink.DownStreamChannelLocation;
-import
org.apache.iotdb.db.queryengine.plan.plan.node.PlanNodeDeserializeHelper;
+import
org.apache.iotdb.db.queryengine.plan.planner.node.PlanNodeDeserializeHelper;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeId;
import
org.apache.iotdb.db.queryengine.plan.planner.plan.node.metedata.read.DevicesSchemaScanNode;
import
org.apache.iotdb.db.queryengine.plan.planner.plan.node.metedata.read.SchemaQueryMergeNode;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/metadata/read/NodeManagementMemoryMergeNodeSerdeTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/metadata/read/NodeManagementMemoryMergeNodeSerdeTest.java
similarity index 97%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/metadata/read/NodeManagementMemoryMergeNodeSerdeTest.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/metadata/read/NodeManagementMemoryMergeNodeSerdeTest.java
index bf1aaaef0ae..3e6eb483f23 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/metadata/read/NodeManagementMemoryMergeNodeSerdeTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/metadata/read/NodeManagementMemoryMergeNodeSerdeTest.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan.node.metadata.read;
+package org.apache.iotdb.db.queryengine.plan.planner.node.metadata.read;
import org.apache.iotdb.common.rpc.thrift.TEndPoint;
import org.apache.iotdb.common.rpc.thrift.TSchemaNode;
@@ -28,7 +28,7 @@ import org.apache.iotdb.commons.schema.node.MNodeType;
import org.apache.iotdb.db.queryengine.common.FragmentInstanceId;
import org.apache.iotdb.db.queryengine.common.PlanFragmentId;
import
org.apache.iotdb.db.queryengine.execution.exchange.sink.DownStreamChannelLocation;
-import
org.apache.iotdb.db.queryengine.plan.plan.node.PlanNodeDeserializeHelper;
+import
org.apache.iotdb.db.queryengine.plan.planner.node.PlanNodeDeserializeHelper;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeId;
import
org.apache.iotdb.db.queryengine.plan.planner.plan.node.metedata.read.NodeManagementMemoryMergeNode;
import
org.apache.iotdb.db.queryengine.plan.planner.plan.node.metedata.read.NodePathsConvertNode;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/metadata/read/PathsUsingTemplateScanNodeTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/metadata/read/PathsUsingTemplateScanNodeTest.java
similarity index 96%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/metadata/read/PathsUsingTemplateScanNodeTest.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/metadata/read/PathsUsingTemplateScanNodeTest.java
index 1dd2572231f..8a65a02a107 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/metadata/read/PathsUsingTemplateScanNodeTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/metadata/read/PathsUsingTemplateScanNodeTest.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan.node.metadata.read;
+package org.apache.iotdb.db.queryengine.plan.planner.node.metadata.read;
import org.apache.iotdb.commons.exception.IllegalPathException;
import org.apache.iotdb.commons.path.PartialPath;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/metadata/read/SchemaCountNodeSerdeTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/metadata/read/SchemaCountNodeSerdeTest.java
similarity index 97%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/metadata/read/SchemaCountNodeSerdeTest.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/metadata/read/SchemaCountNodeSerdeTest.java
index 524e1daa8fc..0139371e26b 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/metadata/read/SchemaCountNodeSerdeTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/metadata/read/SchemaCountNodeSerdeTest.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan.node.metadata.read;
+package org.apache.iotdb.db.queryengine.plan.planner.node.metadata.read;
import org.apache.iotdb.common.rpc.thrift.TEndPoint;
import org.apache.iotdb.commons.exception.IllegalPathException;
@@ -25,7 +25,7 @@ import org.apache.iotdb.commons.schema.SchemaConstant;
import org.apache.iotdb.db.queryengine.common.FragmentInstanceId;
import org.apache.iotdb.db.queryengine.common.PlanFragmentId;
import
org.apache.iotdb.db.queryengine.execution.exchange.sink.DownStreamChannelLocation;
-import
org.apache.iotdb.db.queryengine.plan.plan.node.PlanNodeDeserializeHelper;
+import
org.apache.iotdb.db.queryengine.plan.planner.node.PlanNodeDeserializeHelper;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeId;
import
org.apache.iotdb.db.queryengine.plan.planner.plan.node.metedata.read.CountSchemaMergeNode;
import
org.apache.iotdb.db.queryengine.plan.planner.plan.node.metedata.read.DevicesCountNode;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/metadata/read/SchemaFetchMergeNodeTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/metadata/read/SchemaFetchMergeNodeTest.java
similarity index 97%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/metadata/read/SchemaFetchMergeNodeTest.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/metadata/read/SchemaFetchMergeNodeTest.java
index 139ccc7dcee..c242778efab 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/metadata/read/SchemaFetchMergeNodeTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/metadata/read/SchemaFetchMergeNodeTest.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan.node.metadata.read;
+package org.apache.iotdb.db.queryengine.plan.planner.node.metadata.read;
import org.apache.iotdb.commons.exception.IllegalPathException;
import org.apache.iotdb.commons.path.PartialPath;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/metadata/read/SchemaFetchScanNodeTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/metadata/read/SchemaFetchScanNodeTest.java
similarity index 97%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/metadata/read/SchemaFetchScanNodeTest.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/metadata/read/SchemaFetchScanNodeTest.java
index 26a1b54ad31..0d45a127f17 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/metadata/read/SchemaFetchScanNodeTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/metadata/read/SchemaFetchScanNodeTest.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan.node.metadata.read;
+package org.apache.iotdb.db.queryengine.plan.planner.node.metadata.read;
import org.apache.iotdb.commons.exception.IllegalPathException;
import org.apache.iotdb.commons.path.PartialPath;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/metadata/read/TimeSeriesSchemaScanNodeSerdeTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/metadata/read/TimeSeriesSchemaScanNodeSerdeTest.java
similarity index 96%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/metadata/read/TimeSeriesSchemaScanNodeSerdeTest.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/metadata/read/TimeSeriesSchemaScanNodeSerdeTest.java
index 20e02eb2a00..34b437fde31 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/metadata/read/TimeSeriesSchemaScanNodeSerdeTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/metadata/read/TimeSeriesSchemaScanNodeSerdeTest.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan.node.metadata.read;
+package org.apache.iotdb.db.queryengine.plan.planner.node.metadata.read;
import org.apache.iotdb.common.rpc.thrift.TEndPoint;
import org.apache.iotdb.commons.exception.IllegalPathException;
@@ -25,7 +25,7 @@ import org.apache.iotdb.commons.schema.SchemaConstant;
import org.apache.iotdb.db.queryengine.common.FragmentInstanceId;
import org.apache.iotdb.db.queryengine.common.PlanFragmentId;
import
org.apache.iotdb.db.queryengine.execution.exchange.sink.DownStreamChannelLocation;
-import
org.apache.iotdb.db.queryengine.plan.plan.node.PlanNodeDeserializeHelper;
+import
org.apache.iotdb.db.queryengine.plan.planner.node.PlanNodeDeserializeHelper;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeId;
import
org.apache.iotdb.db.queryengine.plan.planner.plan.node.metedata.read.SchemaQueryMergeNode;
import
org.apache.iotdb.db.queryengine.plan.planner.plan.node.metedata.read.TimeSeriesSchemaScanNode;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/metadata/write/MetadataWriteNodeSerDeTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/metadata/write/MetadataWriteNodeSerDeTest.java
similarity index 99%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/metadata/write/MetadataWriteNodeSerDeTest.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/metadata/write/MetadataWriteNodeSerDeTest.java
index 1c7b22f8242..294e0c86221 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/metadata/write/MetadataWriteNodeSerDeTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/metadata/write/MetadataWriteNodeSerDeTest.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan.node.metadata.write;
+package org.apache.iotdb.db.queryengine.plan.planner.node.metadata.write;
import org.apache.iotdb.commons.exception.IllegalPathException;
import org.apache.iotdb.commons.path.PartialPath;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/AggregationNodeSerdeTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/process/AggregationNodeSerdeTest.java
similarity index 99%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/AggregationNodeSerdeTest.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/process/AggregationNodeSerdeTest.java
index 2cdb8bda556..196ea033193 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/AggregationNodeSerdeTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/process/AggregationNodeSerdeTest.java
@@ -16,14 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan.node.process;
+package org.apache.iotdb.db.queryengine.plan.planner.node.process;
import org.apache.iotdb.common.rpc.thrift.TAggregationType;
import org.apache.iotdb.commons.exception.IllegalPathException;
import org.apache.iotdb.commons.path.MeasurementPath;
import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
-import
org.apache.iotdb.db.queryengine.plan.plan.node.PlanNodeDeserializeHelper;
+import
org.apache.iotdb.db.queryengine.plan.planner.node.PlanNodeDeserializeHelper;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeId;
import
org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.AggregationNode;
import
org.apache.iotdb.db.queryengine.plan.planner.plan.node.source.SeriesAggregationScanNode;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/DeviceViewNodeSerdeTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/process/DeviceViewNodeSerdeTest.java
similarity index 94%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/DeviceViewNodeSerdeTest.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/process/DeviceViewNodeSerdeTest.java
index 0aabd98acd7..ea3e9b8a7dd 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/DeviceViewNodeSerdeTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/process/DeviceViewNodeSerdeTest.java
@@ -16,10 +16,10 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan.node.process;
+package org.apache.iotdb.db.queryengine.plan.planner.node.process;
import org.apache.iotdb.commons.exception.IllegalPathException;
-import
org.apache.iotdb.db.queryengine.plan.plan.node.PlanNodeDeserializeHelper;
+import
org.apache.iotdb.db.queryengine.plan.planner.node.PlanNodeDeserializeHelper;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeId;
import
org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.DeviceViewNode;
import
org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.join.FullOuterTimeJoinNode;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/ExchangeNodeSerdeTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/process/ExchangeNodeSerdeTest.java
similarity index 95%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/ExchangeNodeSerdeTest.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/process/ExchangeNodeSerdeTest.java
index d7cdc60cc52..a66fe4be15f 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/ExchangeNodeSerdeTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/process/ExchangeNodeSerdeTest.java
@@ -16,14 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan.node.process;
+package org.apache.iotdb.db.queryengine.plan.planner.node.process;
import org.apache.iotdb.common.rpc.thrift.TEndPoint;
import org.apache.iotdb.commons.exception.IllegalPathException;
import org.apache.iotdb.db.queryengine.common.FragmentInstanceId;
import org.apache.iotdb.db.queryengine.common.PlanFragmentId;
import
org.apache.iotdb.db.queryengine.execution.exchange.sink.DownStreamChannelLocation;
-import
org.apache.iotdb.db.queryengine.plan.plan.node.PlanNodeDeserializeHelper;
+import
org.apache.iotdb.db.queryengine.plan.planner.node.PlanNodeDeserializeHelper;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeId;
import
org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.ExchangeNode;
import
org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.join.FullOuterTimeJoinNode;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/FillNodeSerdeTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/process/FillNodeSerdeTest.java
similarity index 93%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/FillNodeSerdeTest.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/process/FillNodeSerdeTest.java
index 79261afe368..4e3b9953ef0 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/FillNodeSerdeTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/process/FillNodeSerdeTest.java
@@ -16,10 +16,10 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan.node.process;
+package org.apache.iotdb.db.queryengine.plan.planner.node.process;
import org.apache.iotdb.commons.exception.IllegalPathException;
-import
org.apache.iotdb.db.queryengine.plan.plan.node.PlanNodeDeserializeHelper;
+import
org.apache.iotdb.db.queryengine.plan.planner.node.PlanNodeDeserializeHelper;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeId;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.FillNode;
import
org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.join.FullOuterTimeJoinNode;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/FilterNodeSerdeTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/process/FilterNodeSerdeTest.java
similarity index 94%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/FilterNodeSerdeTest.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/process/FilterNodeSerdeTest.java
index 770e35d4e00..d1f29873c49 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/FilterNodeSerdeTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/process/FilterNodeSerdeTest.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan.node.process;
+package org.apache.iotdb.db.queryengine.plan.planner.node.process;
import org.apache.iotdb.commons.exception.IllegalPathException;
import org.apache.iotdb.commons.path.PartialPath;
@@ -24,7 +24,7 @@ import
org.apache.iotdb.db.queryengine.plan.expression.Expression;
import
org.apache.iotdb.db.queryengine.plan.expression.binary.GreaterThanExpression;
import org.apache.iotdb.db.queryengine.plan.expression.leaf.ConstantOperand;
import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
-import
org.apache.iotdb.db.queryengine.plan.plan.node.PlanNodeDeserializeHelper;
+import
org.apache.iotdb.db.queryengine.plan.planner.node.PlanNodeDeserializeHelper;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeId;
import
org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.FilterNode;
import
org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.join.FullOuterTimeJoinNode;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/GroupByLevelNodeSerdeTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/process/GroupByLevelNodeSerdeTest.java
similarity index 97%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/GroupByLevelNodeSerdeTest.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/process/GroupByLevelNodeSerdeTest.java
index ae21f684de9..6d379d72f17 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/GroupByLevelNodeSerdeTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/process/GroupByLevelNodeSerdeTest.java
@@ -16,14 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan.node.process;
+package org.apache.iotdb.db.queryengine.plan.planner.node.process;
import org.apache.iotdb.common.rpc.thrift.TAggregationType;
import org.apache.iotdb.commons.exception.IllegalPathException;
import org.apache.iotdb.commons.path.MeasurementPath;
import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
-import
org.apache.iotdb.db.queryengine.plan.plan.node.PlanNodeDeserializeHelper;
+import
org.apache.iotdb.db.queryengine.plan.planner.node.PlanNodeDeserializeHelper;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeId;
import
org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.GroupByLevelNode;
import
org.apache.iotdb.db.queryengine.plan.planner.plan.node.source.SeriesAggregationScanNode;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/GroupByTagNodeSerdeTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/process/GroupByTagNodeSerdeTest.java
similarity index 97%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/GroupByTagNodeSerdeTest.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/process/GroupByTagNodeSerdeTest.java
index 01ccf8749c9..b7e879681b2 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/GroupByTagNodeSerdeTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/process/GroupByTagNodeSerdeTest.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan.node.process;
+package org.apache.iotdb.db.queryengine.plan.planner.node.process;
import org.apache.iotdb.common.rpc.thrift.TAggregationType;
import org.apache.iotdb.commons.exception.IllegalPathException;
@@ -24,7 +24,7 @@ import org.apache.iotdb.commons.path.MeasurementPath;
import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
import
org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
-import
org.apache.iotdb.db.queryengine.plan.plan.node.PlanNodeDeserializeHelper;
+import
org.apache.iotdb.db.queryengine.plan.planner.node.PlanNodeDeserializeHelper;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeId;
import
org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.GroupByTagNode;
import
org.apache.iotdb.db.queryengine.plan.planner.plan.node.source.SeriesAggregationScanNode;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/IntoNodeSerdeTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/process/IntoNodeSerdeTest.java
similarity index 96%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/IntoNodeSerdeTest.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/process/IntoNodeSerdeTest.java
index 6569d4f764d..18e40adeb57 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/IntoNodeSerdeTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/process/IntoNodeSerdeTest.java
@@ -17,11 +17,11 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan.node.process;
+package org.apache.iotdb.db.queryengine.plan.planner.node.process;
import org.apache.iotdb.commons.exception.IllegalPathException;
import org.apache.iotdb.commons.path.PartialPath;
-import
org.apache.iotdb.db.queryengine.plan.plan.node.PlanNodeDeserializeHelper;
+import
org.apache.iotdb.db.queryengine.plan.planner.node.PlanNodeDeserializeHelper;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeId;
import
org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.DeviceViewIntoNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.IntoNode;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/LimitNodeSerdeTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/process/LimitNodeSerdeTest.java
similarity index 93%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/LimitNodeSerdeTest.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/process/LimitNodeSerdeTest.java
index 538c7b4df45..427ae18caed 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/LimitNodeSerdeTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/process/LimitNodeSerdeTest.java
@@ -16,11 +16,11 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan.node.process;
+package org.apache.iotdb.db.queryengine.plan.planner.node.process;
import org.apache.iotdb.commons.exception.IllegalPathException;
import org.apache.iotdb.commons.path.MeasurementPath;
-import
org.apache.iotdb.db.queryengine.plan.plan.node.PlanNodeDeserializeHelper;
+import
org.apache.iotdb.db.queryengine.plan.planner.node.PlanNodeDeserializeHelper;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeId;
import
org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.LimitNode;
import
org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.OffsetNode;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/OffsetNodeSerdeTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/process/OffsetNodeSerdeTest.java
similarity index 93%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/OffsetNodeSerdeTest.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/process/OffsetNodeSerdeTest.java
index f48dd74a8f1..da11d3e7f9a 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/OffsetNodeSerdeTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/process/OffsetNodeSerdeTest.java
@@ -16,11 +16,11 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan.node.process;
+package org.apache.iotdb.db.queryengine.plan.planner.node.process;
import org.apache.iotdb.commons.exception.IllegalPathException;
import org.apache.iotdb.commons.path.MeasurementPath;
-import
org.apache.iotdb.db.queryengine.plan.plan.node.PlanNodeDeserializeHelper;
+import
org.apache.iotdb.db.queryengine.plan.planner.node.PlanNodeDeserializeHelper;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeId;
import
org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.OffsetNode;
import
org.apache.iotdb.db.queryengine.plan.planner.plan.node.source.SeriesScanNode;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/SingleDeviceViewNodeSerdeTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/process/SingleDeviceViewNodeSerdeTest.java
similarity index 93%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/SingleDeviceViewNodeSerdeTest.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/process/SingleDeviceViewNodeSerdeTest.java
index 0fbaa4824fc..d1904a4c301 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/SingleDeviceViewNodeSerdeTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/process/SingleDeviceViewNodeSerdeTest.java
@@ -16,10 +16,10 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan.node.process;
+package org.apache.iotdb.db.queryengine.plan.planner.node.process;
import org.apache.iotdb.commons.exception.IllegalPathException;
-import
org.apache.iotdb.db.queryengine.plan.plan.node.PlanNodeDeserializeHelper;
+import
org.apache.iotdb.db.queryengine.plan.planner.node.PlanNodeDeserializeHelper;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeId;
import
org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.SingleDeviceViewNode;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/SortNodeSerdeTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/process/SortNodeSerdeTest.java
similarity index 94%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/SortNodeSerdeTest.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/process/SortNodeSerdeTest.java
index a4b911d7338..b2151e92f08 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/SortNodeSerdeTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/process/SortNodeSerdeTest.java
@@ -16,11 +16,11 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan.node.process;
+package org.apache.iotdb.db.queryengine.plan.planner.node.process;
import org.apache.iotdb.commons.exception.IllegalPathException;
import org.apache.iotdb.commons.path.MeasurementPath;
-import
org.apache.iotdb.db.queryengine.plan.plan.node.PlanNodeDeserializeHelper;
+import
org.apache.iotdb.db.queryengine.plan.planner.node.PlanNodeDeserializeHelper;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeId;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.SortNode;
import
org.apache.iotdb.db.queryengine.plan.planner.plan.node.source.SeriesScanNode;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/TimeJoinNodeSerdeTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/process/TimeJoinNodeSerdeTest.java
similarity index 96%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/TimeJoinNodeSerdeTest.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/process/TimeJoinNodeSerdeTest.java
index 0918cbe664b..247cd1274d9 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/TimeJoinNodeSerdeTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/process/TimeJoinNodeSerdeTest.java
@@ -16,11 +16,11 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan.node.process;
+package org.apache.iotdb.db.queryengine.plan.planner.node.process;
import org.apache.iotdb.commons.exception.IllegalPathException;
import org.apache.iotdb.commons.path.MeasurementPath;
-import
org.apache.iotdb.db.queryengine.plan.plan.node.PlanNodeDeserializeHelper;
+import
org.apache.iotdb.db.queryengine.plan.planner.node.PlanNodeDeserializeHelper;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeId;
import
org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.join.FullOuterTimeJoinNode;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/sink/IdentitySinkNodeSerdeTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/sink/IdentitySinkNodeSerdeTest.java
similarity index 94%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/sink/IdentitySinkNodeSerdeTest.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/sink/IdentitySinkNodeSerdeTest.java
index aaba888f2d1..5d2cdd8d798 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/sink/IdentitySinkNodeSerdeTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/sink/IdentitySinkNodeSerdeTest.java
@@ -17,12 +17,12 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan.node.sink;
+package org.apache.iotdb.db.queryengine.plan.planner.node.sink;
import org.apache.iotdb.common.rpc.thrift.TEndPoint;
import org.apache.iotdb.commons.exception.IllegalPathException;
import
org.apache.iotdb.db.queryengine.execution.exchange.sink.DownStreamChannelLocation;
-import
org.apache.iotdb.db.queryengine.plan.plan.node.PlanNodeDeserializeHelper;
+import
org.apache.iotdb.db.queryengine.plan.planner.node.PlanNodeDeserializeHelper;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeId;
import
org.apache.iotdb.db.queryengine.plan.planner.plan.node.sink.IdentitySinkNode;
import org.apache.iotdb.mpp.rpc.thrift.TFragmentInstanceId;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/sink/ShuffleSinkHandleNodeSerdeTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/sink/ShuffleSinkHandleNodeSerdeTest.java
similarity index 94%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/sink/ShuffleSinkHandleNodeSerdeTest.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/sink/ShuffleSinkHandleNodeSerdeTest.java
index b857949082c..9963572729b 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/sink/ShuffleSinkHandleNodeSerdeTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/sink/ShuffleSinkHandleNodeSerdeTest.java
@@ -17,12 +17,12 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan.node.sink;
+package org.apache.iotdb.db.queryengine.plan.planner.node.sink;
import org.apache.iotdb.common.rpc.thrift.TEndPoint;
import org.apache.iotdb.commons.exception.IllegalPathException;
import
org.apache.iotdb.db.queryengine.execution.exchange.sink.DownStreamChannelLocation;
-import
org.apache.iotdb.db.queryengine.plan.plan.node.PlanNodeDeserializeHelper;
+import
org.apache.iotdb.db.queryengine.plan.planner.node.PlanNodeDeserializeHelper;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeId;
import
org.apache.iotdb.db.queryengine.plan.planner.plan.node.sink.ShuffleSinkNode;
import org.apache.iotdb.mpp.rpc.thrift.TFragmentInstanceId;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/source/SeriesAggregationScanNodeSerdeTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/source/SeriesAggregationScanNodeSerdeTest.java
similarity index 95%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/source/SeriesAggregationScanNodeSerdeTest.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/source/SeriesAggregationScanNodeSerdeTest.java
index 0d894f30e51..b23c849bfec 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/source/SeriesAggregationScanNodeSerdeTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/source/SeriesAggregationScanNodeSerdeTest.java
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan.node.source;
+package org.apache.iotdb.db.queryengine.plan.planner.node.source;
import org.apache.iotdb.common.rpc.thrift.TAggregationType;
import org.apache.iotdb.commons.exception.IllegalPathException;
@@ -24,7 +24,7 @@ import org.apache.iotdb.commons.path.MeasurementPath;
import org.apache.iotdb.commons.path.PartialPath;
import org.apache.iotdb.db.exception.query.QueryProcessException;
import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
-import
org.apache.iotdb.db.queryengine.plan.plan.node.PlanNodeDeserializeHelper;
+import
org.apache.iotdb.db.queryengine.plan.planner.node.PlanNodeDeserializeHelper;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeId;
import
org.apache.iotdb.db.queryengine.plan.planner.plan.node.source.SeriesAggregationScanNode;
import
org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.AggregationDescriptor;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/source/SeriesScanNodeSerdeTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/source/SeriesScanNodeSerdeTest.java
similarity index 93%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/source/SeriesScanNodeSerdeTest.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/source/SeriesScanNodeSerdeTest.java
index 68a158ebbdd..f95dbacde00 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/source/SeriesScanNodeSerdeTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/source/SeriesScanNodeSerdeTest.java
@@ -16,12 +16,12 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan.node.source;
+package org.apache.iotdb.db.queryengine.plan.planner.node.source;
import org.apache.iotdb.commons.exception.IllegalPathException;
import org.apache.iotdb.commons.path.MeasurementPath;
import org.apache.iotdb.db.exception.query.QueryProcessException;
-import
org.apache.iotdb.db.queryengine.plan.plan.node.PlanNodeDeserializeHelper;
+import
org.apache.iotdb.db.queryengine.plan.planner.node.PlanNodeDeserializeHelper;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeId;
import
org.apache.iotdb.db.queryengine.plan.planner.plan.node.source.SeriesScanNode;
import org.apache.iotdb.db.queryengine.plan.statement.component.Ordering;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/write/DeleteDataNodeSerdeTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/write/DeleteDataNodeSerdeTest.java
similarity index 97%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/write/DeleteDataNodeSerdeTest.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/write/DeleteDataNodeSerdeTest.java
index 51898eab277..cbfba2a6879 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/write/DeleteDataNodeSerdeTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/write/DeleteDataNodeSerdeTest.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan.node.write;
+package org.apache.iotdb.db.queryengine.plan.planner.node.write;
import org.apache.iotdb.commons.exception.IllegalPathException;
import org.apache.iotdb.commons.path.PartialPath;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/write/InsertMultiTabletsNodeSerdeTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/write/InsertMultiTabletsNodeSerdeTest.java
similarity index 98%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/write/InsertMultiTabletsNodeSerdeTest.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/write/InsertMultiTabletsNodeSerdeTest.java
index 7c2883f3b38..550c19c4a7c 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/write/InsertMultiTabletsNodeSerdeTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/write/InsertMultiTabletsNodeSerdeTest.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan.node.write;
+package org.apache.iotdb.db.queryengine.plan.planner.node.write;
import org.apache.iotdb.commons.exception.MetadataException;
import org.apache.iotdb.commons.path.PartialPath;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/write/InsertRowNodeSerdeTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/write/InsertRowNodeSerdeTest.java
similarity index 99%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/write/InsertRowNodeSerdeTest.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/write/InsertRowNodeSerdeTest.java
index 27774afc5cb..53e662e0a01 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/write/InsertRowNodeSerdeTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/write/InsertRowNodeSerdeTest.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan.node.write;
+package org.apache.iotdb.db.queryengine.plan.planner.node.write;
import org.apache.iotdb.commons.exception.IllegalPathException;
import org.apache.iotdb.commons.path.PartialPath;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/write/InsertRowsNodeSerdeTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/write/InsertRowsNodeSerdeTest.java
similarity index 97%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/write/InsertRowsNodeSerdeTest.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/write/InsertRowsNodeSerdeTest.java
index a887e0f37ce..38067f375b7 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/write/InsertRowsNodeSerdeTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/write/InsertRowsNodeSerdeTest.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan.node.write;
+package org.apache.iotdb.db.queryengine.plan.planner.node.write;
import org.apache.iotdb.commons.exception.IllegalPathException;
import org.apache.iotdb.commons.path.PartialPath;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/write/InsertRowsOfOneDeviceNodeSerdeTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/write/InsertRowsOfOneDeviceNodeSerdeTest.java
similarity index 97%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/write/InsertRowsOfOneDeviceNodeSerdeTest.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/write/InsertRowsOfOneDeviceNodeSerdeTest.java
index b1cd5bc91e4..8709069dcd8 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/write/InsertRowsOfOneDeviceNodeSerdeTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/write/InsertRowsOfOneDeviceNodeSerdeTest.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan.node.write;
+package org.apache.iotdb.db.queryengine.plan.planner.node.write;
import org.apache.iotdb.commons.exception.IllegalPathException;
import org.apache.iotdb.commons.path.PartialPath;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/write/InsertTabletNodeSerdeTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/write/InsertTabletNodeSerdeTest.java
similarity index 98%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/write/InsertTabletNodeSerdeTest.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/write/InsertTabletNodeSerdeTest.java
index 09765636f1c..7aeb5eaeb33 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/write/InsertTabletNodeSerdeTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/write/InsertTabletNodeSerdeTest.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan.node.write;
+package org.apache.iotdb.db.queryengine.plan.planner.node.write;
import org.apache.iotdb.commons.exception.IllegalPathException;
import org.apache.iotdb.commons.path.PartialPath;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/write/WritePlanNodeSplitTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/write/WritePlanNodeSplitTest.java
similarity index 99%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/write/WritePlanNodeSplitTest.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/write/WritePlanNodeSplitTest.java
index 441348c1934..050dcf80160 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/write/WritePlanNodeSplitTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/node/write/WritePlanNodeSplitTest.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan.node.write;
+package org.apache.iotdb.db.queryengine.plan.planner.node.write;
import org.apache.iotdb.common.rpc.thrift.TConsensusGroupId;
import org.apache.iotdb.common.rpc.thrift.TConsensusGroupType;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/statement/sys/pipe/PipeStatementTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/statement/sys/pipe/PipeStatementTest.java
similarity index 98%
rename from
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/statement/sys/pipe/PipeStatementTest.java
rename to
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/statement/sys/pipe/PipeStatementTest.java
index dd35996e37e..ab885ddb557 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/statement/sys/pipe/PipeStatementTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/planner/statement/sys/pipe/PipeStatementTest.java
@@ -17,7 +17,7 @@
* under the License.
*/
-package org.apache.iotdb.db.queryengine.plan.plan.statement.sys.pipe;
+package org.apache.iotdb.db.queryengine.plan.planner.statement.sys.pipe;
import org.apache.iotdb.db.queryengine.plan.analyze.QueryType;
import org.apache.iotdb.db.queryengine.plan.statement.StatementType;
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/DataRegionTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/DataRegionTest.java
index c6ec0ed78d9..18bfeba6838 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/DataRegionTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/DataRegionTest.java
@@ -218,6 +218,7 @@ public class DataRegionTest {
Collections.singletonList(new PartialPath(deviceId,
measurementId)),
deviceId,
context,
+ null,
null);
Assert.assertEquals(10, queryDataSource.getSeqResources().size());
for (TsFileResource resource : queryDataSource.getSeqResources()) {
@@ -294,6 +295,7 @@ public class DataRegionTest {
Collections.singletonList(new PartialPath(deviceId,
measurementId)),
deviceId,
context,
+ null,
null);
Assert.assertEquals(2, queryDataSource.getSeqResources().size());
@@ -375,6 +377,7 @@ public class DataRegionTest {
Collections.singletonList(new PartialPath(deviceId,
measurementId)),
deviceId,
context,
+ null,
null);
Assert.assertEquals(0, queryDataSource.getSeqResources().size());
@@ -455,6 +458,7 @@ public class DataRegionTest {
Collections.singletonList(new PartialPath(deviceId,
measurementId)),
deviceId,
context,
+ null,
null);
Assert.assertEquals(0, queryDataSource.getSeqResources().size());
@@ -489,6 +493,7 @@ public class DataRegionTest {
Collections.singletonList(new PartialPath(deviceId,
measurementId)),
deviceId,
context,
+ null,
null);
Assert.assertEquals(10, queryDataSource.getSeqResources().size());
Assert.assertEquals(10, queryDataSource.getUnseqResources().size());
@@ -529,6 +534,7 @@ public class DataRegionTest {
Collections.singletonList(new PartialPath(deviceId,
measurementId)),
deviceId,
context,
+ null,
null);
Assert.assertEquals(0, queryDataSource.getSeqResources().size());
Assert.assertEquals(0, queryDataSource.getUnseqResources().size());
@@ -572,6 +578,7 @@ public class DataRegionTest {
Collections.singletonList(new PartialPath(deviceId,
measurementId)),
deviceId,
context,
+ null,
null);
Assert.assertEquals(0, queryDataSource.getSeqResources().size());
Assert.assertEquals(20, queryDataSource.getUnseqResources().size());
@@ -661,6 +668,7 @@ public class DataRegionTest {
Collections.singletonList(new PartialPath(deviceId,
measurementId)),
deviceId,
context,
+ null,
null);
Assert.assertEquals(0, queryDataSource.getSeqResources().size());
@@ -749,6 +757,7 @@ public class DataRegionTest {
Collections.singletonList(new PartialPath(deviceId,
measurementId)),
deviceId,
context,
+ null,
null);
Assert.assertEquals(0, queryDataSource.getSeqResources().size());
@@ -837,6 +846,7 @@ public class DataRegionTest {
Collections.singletonList(new PartialPath(deviceId,
measurementId)),
deviceId,
context,
+ null,
null);
Assert.assertEquals(0, queryDataSource.getSeqResources().size());
@@ -874,6 +884,7 @@ public class DataRegionTest {
Collections.singletonList(new PartialPath("root.ln22",
measurementId)),
"root.ln22",
context,
+ null,
null);
Assert.assertEquals(10, queryDataSource.getSeqResources().size());
Assert.assertEquals(0, queryDataSource.getUnseqResources().size());
@@ -949,6 +960,7 @@ public class DataRegionTest {
Collections.singletonList(new PartialPath(deviceId,
measurementId)),
deviceId,
context,
+ null,
null);
Assert.assertEquals(2, queryDataSource.getSeqResources().size());
for (TsFileResource resource : queryDataSource.getSeqResources()) {
diff --git
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/TTLTest.java
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/TTLTest.java
index f56ab0ddf71..4cbd484bb9d 100644
---
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/TTLTest.java
+++
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/TTLTest.java
@@ -180,6 +180,7 @@ public class TTLTest {
Collections.singletonList(mockMeasurementPath()),
sg1,
EnvironmentUtils.TEST_QUERY_CONTEXT,
+ null,
null);
List<TsFileResource> seqResource = dataSource.getSeqResources();
List<TsFileResource> unseqResource = dataSource.getUnseqResources();
@@ -194,6 +195,7 @@ public class TTLTest {
Collections.singletonList(mockMeasurementPath()),
sg1,
EnvironmentUtils.TEST_QUERY_CONTEXT,
+ null,
null);
seqResource = dataSource.getSeqResources();
unseqResource = dataSource.getUnseqResources();
@@ -224,6 +226,7 @@ public class TTLTest {
Collections.singletonList(mockMeasurementPath()),
sg1,
EnvironmentUtils.TEST_QUERY_CONTEXT,
+ null,
null);
seqResource = dataSource.getSeqResources();
unseqResource = dataSource.getUnseqResources();