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

caogaofei pushed a commit to branch beyyes/multi_devices_fe
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit eb1c6ce7f8f46bfc5477dadeccddd231b258486a
Merge: f252329c39b 5ad07424552
Author: Beyyes <[email protected]>
AuthorDate: Sun Nov 19 16:19:26 2023 +0800

    merge with master

 .../org/apache/iotdb/flink/FlinkIoTDBSink.java     |   2 +-
 .../org/apache/iotdb/flink/FlinkIoTDBSource.java   |   2 +-
 .../apache/iotdb/flink/FlinkTsFileBatchSink.java   |   2 +-
 .../apache/iotdb/flink/FlinkTsFileStreamSink.java  |   2 +-
 .../java/org/apache/iotdb/flink/TsFileUtils.java   |   2 +-
 .../iotdb/hadoop/tsfile/TSMRWriteExample.java      |   2 +-
 .../apache/iotdb/hadoop/tsfile/TsFileHelper.java   |   2 +-
 .../iotdb/hadoop/tsfile/TsFileWriteToHDFS.java     |   2 +-
 .../main/java/org/apache/iotdb/kafka/Consumer.java |   2 +-
 .../org/apache/iotdb/kafka/ConsumerThread.java     |   2 +-
 .../java/org/apache/iotdb/CountPointProcessor.java |   2 +-
 .../org/apache/iotdb/pulsar/PulsarConsumer.java    |   2 +-
 .../apache/iotdb/pulsar/PulsarConsumerThread.java  |   2 +-
 .../apache/iotdb/rabbitmq/RabbitMQConsumer.java    |   2 +-
 .../apache/iotdb/rocketmq/RocketMQConsumer.java    |   2 +-
 .../iotdb/AlignedTimeseriesSessionExample.java     |   2 +-
 .../org/apache/iotdb/DataMigrationExample.java     |   2 +-
 .../iotdb/HybridTimeseriesSessionExample.java      |   2 +-
 .../org/apache/iotdb/SessionConcurrentExample.java |   2 +-
 .../main/java/org/apache/iotdb/SessionExample.java |   2 +-
 .../java/org/apache/iotdb/SessionPoolExample.java  |   2 +-
 .../iotdb/SyntaxConventionRelatedExample.java      |   2 +-
 .../main/java/org/apache/iotdb/TabletExample.java  |   2 +-
 .../org/apache/iotdb/trigger/LoggerTrigger.java    |   2 +-
 .../iotdb/trigger/StatisticsUpdaterTrigger.java    |   2 +-
 .../iotdb/tsfile/TsFileForceAppendWrite.java       |   2 +-
 .../apache/iotdb/tsfile/TsFileSequenceRead.java    |   2 +-
 .../tsfile/TsFileWriteAlignedWithTSRecord.java     |   2 +-
 .../iotdb/tsfile/TsFileWriteAlignedWithTablet.java |   2 +-
 .../iotdb/tsfile/TsFileWriteWithTSRecord.java      |   2 +-
 .../apache/iotdb/tsfile/TsFileWriteWithTablet.java |   2 +-
 .../apache/iotdb/db/query/udf/example/Adder.java   |   2 +-
 .../iotdb/db/query/udf/example/TwoSumBlock.java    |   4 +-
 .../org/apache/iotdb/db/it/IOTDBLoadTsFileIT.java  |   2 +-
 .../iotdb/db/it/IoTDBPartialInsertionIT.java       |   2 +-
 .../iotdb/db/it/selectinto/IoTDBSelectIntoIT.java  |   2 +-
 .../test/java/org/apache/iotdb/flink/it/Utils.java |   2 +-
 .../session/it/IoTDBSessionAlignedInsertIT.java    |   2 +-
 .../iotdb/session/it/IoTDBSessionComplexIT.java    |   2 +-
 .../it/IoTDBSessionDisableMemControlIT.java        |   2 +-
 .../iotdb/session/it/IoTDBSessionInsertNullIT.java |   2 +-
 .../IoTDBSessionInsertWithTriggerExecutionIT.java  |   2 +-
 .../session/it/IoTDBSessionSchemaTemplateIT.java   |   2 +-
 .../iotdb/session/it/IoTDBSessionSimpleIT.java     |   2 +-
 .../session/it/IoTDBSessionSyntaxConventionIT.java |   2 +-
 .../org/apache/iotdb/session/it/SessionIT.java     |   2 +-
 .../iotdb/session/it/pool/SessionPoolIT.java       |   2 +-
 .../{ => write}/UnSupportedDataTypeException.java  |   2 +-
 .../{ => file/metadata}/enums/TSDataType.java      |   4 +-
 .../common/block}/TsBlockBuilderStatus.java        |   4 +-
 .../common/block/column}/Column.java               |   5 +-
 .../common/block/column}/ColumnBuilder.java        |   4 +-
 .../common/block/column}/ColumnBuilderStatus.java  |   4 +-
 .../common/block/column}/ColumnEncoding.java       |   2 +-
 .../apache/iotdb/tsfile/utils/TsPrimitiveType.java |   4 +-
 .../main/java/org/apache/iotdb/udf/api/UDTF.java   |   6 +-
 .../org/apache/iotdb/udf/api/utils/RowImpl.java    |   2 +-
 .../main/java/org/apache/iotdb/tool/ExportCsv.java |   2 +-
 .../java/org/apache/iotdb/tool/ExportTsFile.java   |   2 +-
 .../main/java/org/apache/iotdb/tool/ImportCsv.java |  14 +--
 .../java/org/apache/iotdb/isession/ISession.java   |   2 +-
 .../org/apache/iotdb/isession/SessionDataSet.java  |   4 +-
 .../apache/iotdb/isession/pool/ISessionPool.java   |   2 +-
 .../iotdb/jdbc/GroupedLSBWatermarkEncoder.java     |   2 +-
 .../apache/iotdb/jdbc/IoTDBDatabaseMetadata.java   |   2 +-
 .../iotdb/jdbc/IoTDBNonAlignJDBCResultSet.java     |   4 +-
 .../apache/iotdb/jdbc/IoTDBJDBCResultSetTest.java  |   2 +-
 .../org/apache/iotdb/rpc/IoTDBJDBCDataSet.java     |   4 +-
 .../java/org/apache/iotdb/rpc/IoTDBRpcDataSet.java |   2 +-
 .../java/org/apache/iotdb/session/Session.java     |   4 +-
 .../org/apache/iotdb/session/pool/SessionPool.java |   2 +-
 .../iotdb/session/template/MeasurementNode.java    |   2 +-
 .../apache/iotdb/session/util/SessionUtils.java    |   4 +-
 .../iotdb/session/SessionCacheLeaderTest.java      |   2 +-
 .../java/org/apache/iotdb/session/SessionTest.java |   2 +-
 .../java/org/apache/iotdb/session/TabletTest.java  |   2 +-
 .../session/pool/SessionPoolExceptionTest.java     |   2 +-
 .../apache/iotdb/session/pool/SessionPoolTest.java |   2 +-
 .../iotdb/session/util/SessionUtilsTest.java       |   2 +-
 .../iotdb/flink/DefaultIoTSerializationSchema.java |   2 +-
 .../main/java/org/apache/iotdb/flink/Event.java    |   2 +-
 .../java/org/apache/iotdb/flink/IoTDBSink.java     |   2 +-
 .../iotdb/flink/options/IoTDBSinkOptions.java      |   2 +-
 .../org/apache/iotdb/flink/sql/common/Utils.java   |   2 +-
 .../sql/function/IoTDBBoundedScanFunction.java     |   2 +-
 .../flink/sql/function/IoTDBCDCSourceFunction.java |   2 +-
 .../flink/sql/function/IoTDBLookupFunction.java    |   2 +-
 .../flink/sql/function/IoTDBSinkFunction.java      |   2 +-
 .../iotdb/flink/tsfile/RowTSRecordConverter.java   |   2 +-
 .../tsfile/RowTsFileOutputFormatTestBase.java      |   2 +-
 .../apache/iotdb/flink/util/TsFileWriteUtil.java   |   2 +-
 .../iotdb/hadoop/tsfile/record/HDFSTSRecord.java   |   4 +-
 .../iotdb/hadoop/tsfile/TsFileTestHelper.java      |   2 +-
 .../org/apache/iotdb/hive/TsFileTestHelper.java    |   2 +-
 .../org/apache/iotdb/spark/db/DataFrameTools.scala |   4 +-
 .../tsfile/qp/optimizer/PhysicalOptimizer.java     |   2 +-
 .../org/apache/iotdb/spark/tsfile/Converter.scala  |   3 +-
 .../iotdb/spark/tsfile/NarrowConverter.scala       |   3 +-
 .../apache/iotdb/spark/tsfile/WideConverter.scala  |   3 +-
 .../apache/iotdb/spark/tsfile/ConverterTest.scala  |   2 +-
 .../persistence/schema/TemplateTable.java          |   2 +-
 .../impl/node/RemoveConfigNodeProcedure.java       |   3 +-
 .../impl/schema/AlterLogicalViewProcedure.java     |   6 +-
 .../impl/schema/DeleteLogicalViewProcedure.java    |   6 +-
 .../impl/schema/SetTemplateProcedure.java          |   6 +-
 .../impl/trigger/CreateTriggerProcedure.java       |   4 +-
 .../impl/trigger/DropTriggerProcedure.java         |   2 +-
 .../request/ConfigPhysicalPlanSerDeTest.java       |   2 +-
 .../persistence/schema/ClusterSchemaInfoTest.java  |   2 +-
 .../persistence/schema/TemplateTableTest.java      |   2 +-
 .../schema/DeactivateTemplateProcedureTest.java    |   2 +-
 .../impl/schema/UnsetTemplateProcedureTest.java    |   2 +-
 .../consensus/iot/client/DispatchLogHandler.java   |   2 +-
 .../src/main/codegen/templates/ModeAccumulator.ftl |   6 +-
 .../codegen/templates/abstractVariationWindow.ftl  |   2 +-
 .../src/main/codegen/templates/constantFill.ftl    |   2 +-
 .../src/main/codegen/templates/linearFill.ftl      |   2 +-
 .../src/main/codegen/templates/previousFill.ftl    |   2 +-
 .../src/main/codegen/templates/variationWindow.ftl |   2 +-
 .../codegen/templates/variationWindowManager.ftl   |   2 +-
 .../org/apache/iotdb/db/audit/AuditLogger.java     |   2 +-
 .../org/apache/iotdb/db/auth/AuthorityChecker.java |   2 +-
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java |   4 +-
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  |   2 +-
 .../schemaregion/SchemaExecutionVisitor.java       |   2 +-
 .../metadata/DataTypeMismatchException.java        |   2 +-
 .../request/PipeTransferTabletRawReq.java          |   4 +-
 .../connector/protocol/opcua/OpcUaConnector.java   |   2 +-
 .../thrift/async/IoTDBThriftAsyncConnector.java    | 118 ++++++++-------------
 .../PipeTransferTabletBatchEventHandler.java       |   2 +-
 .../PipeTransferTabletInsertionEventHandler.java   |   2 +-
 .../PipeTransferTsFileInsertionEventHandler.java   |   5 +-
 .../protocol/websocket/WebSocketConnector.java     |  11 +-
 .../event/common/row/PipeDataTypeTransformer.java  |   2 +-
 .../iotdb/db/pipe/event/common/row/PipeRow.java    |   2 +-
 .../tablet/TabletInsertionDataContainer.java       |   4 +-
 .../tsfile/TsFileInsertionDataContainer.java       |   2 +-
 .../tsfile/TsFileInsertionDataTabletIterator.java  |   2 +-
 .../db/pipe/resource/memory/PipeMemoryManager.java |   2 +-
 .../iotdb/db/protocol/mqtt/MPPPublishHandler.java  |   2 +-
 .../org/apache/iotdb/db/protocol/mqtt/Message.java |   2 +-
 .../db/protocol/rest/utils/InsertRowDataUtils.java |   2 +-
 .../rest/v1/handler/QueryDataSetHandler.java       |   4 +-
 .../v1/handler/StatementConstructionHandler.java   |   2 +-
 .../rest/v2/handler/QueryDataSetHandler.java       |   4 +-
 .../v2/handler/StatementConstructionHandler.java   |   2 +-
 .../protocol/thrift/impl/ClientRPCServiceImpl.java |   4 +-
 .../impl/DataNodeInternalRPCServiceImpl.java       |   2 +-
 .../db/queryengine/common/header/ColumnHeader.java |   2 +-
 .../common/header/ColumnHeaderConstant.java        |   2 +-
 .../queryengine/common/header/DatasetHeader.java   |   2 +-
 .../common/schematree/ClusterSchemaTree.java       |  10 ++
 .../queryengine/common/schematree/ISchemaTree.java |   8 ++
 .../SchemaTreeDeviceUsingTemplateVisitor.java      |  54 ++++++++++
 .../visitor/SchemaTreeDeviceVisitor.java           |   6 --
 .../visitor/SchemaTreeVisitorFactory.java          |   5 +
 .../execution/aggregation/Accumulator.java         |   6 +-
 .../execution/aggregation/AccumulatorFactory.java  |   2 +-
 .../execution/aggregation/Aggregator.java          |   6 +-
 .../execution/aggregation/AvgAccumulator.java      |   8 +-
 .../execution/aggregation/CountAccumulator.java    |   6 +-
 .../execution/aggregation/CountIfAccumulator.java  |   6 +-
 .../aggregation/CountTimeAccumulator.java          |   6 +-
 .../execution/aggregation/ExtremeAccumulator.java  |   8 +-
 .../aggregation/FirstValueAccumulator.java         |   8 +-
 .../aggregation/FirstValueDescAccumulator.java     |   4 +-
 .../aggregation/LastValueAccumulator.java          |   8 +-
 .../aggregation/LastValueDescAccumulator.java      |   4 +-
 .../execution/aggregation/MaxTimeAccumulator.java  |   6 +-
 .../aggregation/MaxTimeDescAccumulator.java        |   2 +-
 .../execution/aggregation/MaxValueAccumulator.java |   8 +-
 .../execution/aggregation/MinTimeAccumulator.java  |   6 +-
 .../aggregation/MinTimeDescAccumulator.java        |   2 +-
 .../execution/aggregation/MinValueAccumulator.java |   8 +-
 .../execution/aggregation/SumAccumulator.java      |   8 +-
 .../aggregation/TimeDurationAccumulator.java       |   6 +-
 .../MonotonicQueueSlidingWindowAggregator.java     |   2 +-
 .../slidingwindow/SlidingWindowAggregator.java     |   8 +-
 .../SlidingWindowAggregatorFactory.java            |   4 +-
 .../execution/load/AlignedChunkData.java           |   4 +-
 .../execution/load/NonAlignedChunkData.java        |   2 +-
 .../queryengine/execution/load/TsFileSplitter.java |   2 +-
 .../execution/operator/AggregationUtil.java        |   4 +-
 .../operator/process/AbstractIntoOperator.java     |   6 +-
 .../operator/process/AggregationOperator.java      |   2 +-
 .../operator/process/DeviceViewIntoOperator.java   |   4 +-
 .../operator/process/DeviceViewOperator.java       |   6 +-
 .../execution/operator/process/FillOperator.java   |   2 +-
 .../operator/process/FilterAndProjectOperator.java |   6 +-
 .../execution/operator/process/IntoOperator.java   |   4 +-
 .../operator/process/LinearFillOperator.java       |   2 +-
 .../operator/process/MergeSortOperator.java        |   4 +-
 .../process/RawDataAggregationOperator.java        |   2 +-
 .../operator/process/SingleDeviceViewOperator.java |   4 +-
 .../process/SlidingWindowAggregationOperator.java  |   2 +-
 .../execution/operator/process/SortOperator.java   |   4 +-
 .../operator/process/TagAggregationOperator.java   |   4 +-
 .../execution/operator/process/TopKOperator.java   |   8 +-
 .../operator/process/TransformOperator.java        |   6 +-
 .../execution/operator/process/fill/IFill.java     |   2 +-
 .../operator/process/fill/ILinearFill.java         |   2 +-
 .../process/fill/identity/IdentityFill.java        |   2 +-
 .../process/fill/identity/IdentityLinearFill.java  |   2 +-
 .../operator/process/fill/linear/LinearFill.java   |   2 +-
 .../process/join/HorizontallyConcatOperator.java   |   6 +-
 .../process/join/RowBasedTimeJoinOperator.java     |   2 +-
 .../operator/process/join/merge/ColumnMerger.java  |   2 +-
 .../process/join/merge/MergeSortComparator.java    |   2 +-
 .../process/join/merge/MultiColumnMerger.java      |   4 +-
 .../join/merge/NonOverlappedMultiColumnMerger.java |   2 +-
 .../process/join/merge/SingleColumnMerger.java     |   4 +-
 .../last/AbstractUpdateLastCacheOperator.java      |   2 +-
 .../operator/process/last/LastQueryUtil.java       |   2 +-
 .../process/last/UpdateLastCacheOperator.java      |   2 +-
 .../last/UpdateViewPathLastCacheOperator.java      |   2 +-
 .../schema/CountGroupByLevelMergeOperator.java     |   2 +-
 .../schema/CountGroupByLevelScanOperator.java      |   2 +-
 .../operator/schema/CountMergeOperator.java        |   2 +-
 .../schema/NodeManageMemoryMergeOperator.java      |   2 +-
 .../operator/schema/NodePathsConvertOperator.java  |   2 +-
 .../operator/schema/NodePathsCountOperator.java    |   2 +-
 .../operator/schema/SchemaCountOperator.java       |   2 +-
 .../schema/SchemaQueryOrderByHeatOperator.java     |   2 +-
 .../operator/schema/SchemaQueryScanOperator.java   |   2 +-
 .../operator/schema/SchemaTsBlockUtil.java         |   2 +-
 .../AbstractSeriesAggregationScanOperator.java     |   2 +-
 .../operator/source/AlignedSeriesScanOperator.java |   4 +-
 .../operator/source/AlignedSeriesScanUtil.java     |   2 +-
 .../operator/source/SeriesScanOperator.java        |   4 +-
 .../execution/operator/source/SeriesScanUtil.java  |   4 +-
 .../operator/source/ShowQueriesOperator.java       |   4 +-
 .../operator/window/AbstractVariationWindow.java   |   2 +-
 .../execution/operator/window/ConditionWindow.java |   2 +-
 .../operator/window/ConditionWindowManager.java    |   4 +-
 .../execution/operator/window/CountWindow.java     |   2 +-
 .../operator/window/CountWindowManager.java        |   4 +-
 .../execution/operator/window/IWindow.java         |   2 +-
 .../execution/operator/window/IWindowManager.java  |   4 +-
 .../execution/operator/window/SessionWindow.java   |   2 +-
 .../operator/window/SessionWindowManager.java      |   2 +-
 .../execution/operator/window/TimeWindow.java      |   2 +-
 .../operator/window/TimeWindowManager.java         |   2 +-
 .../operator/window/VariationWindowManager.java    |   2 +-
 .../operator/window/VariationWindowParameter.java  |   2 +-
 .../operator/window/WindowManagerFactory.java      |   2 +-
 .../execution/schedule/DriverTaskThread.java       |  35 ++++--
 .../multilevelqueue/MultilevelPriorityQueue.java   |   4 +
 .../timer/RuleBasedTimeSliceAllocator.java         |   7 +-
 .../db/queryengine/plan/analyze/Analysis.java      |   2 +-
 .../queryengine/plan/analyze/AnalyzeVisitor.java   |   2 +-
 .../plan/analyze/ExpressionAnalyzer.java           |   2 +-
 .../plan/analyze/ExpressionTypeAnalyzer.java       |   2 +-
 .../queryengine/plan/analyze/ExpressionUtils.java  |   2 +-
 .../plan/analyze/LoadTsfileAnalyzer.java           |   2 +-
 .../queryengine/plan/analyze/SelectIntoUtils.java  |   2 +-
 .../db/queryengine/plan/analyze/TypeProvider.java  |   2 +-
 .../analyze/cache/schema/SchemaCacheEntry.java     |   2 +-
 .../analyze/schema/AutoCreateSchemaExecutor.java   |   2 +-
 .../analyze/schema/ClusterSchemaFetchExecutor.java |   2 +-
 .../plan/analyze/schema/ClusterSchemaFetcher.java  |   2 +-
 .../plan/analyze/schema/ISchemaAutoCreation.java   |   2 +-
 .../plan/analyze/schema/ISchemaFetcher.java        |   2 +-
 .../plan/analyze/schema/NormalSchemaFetcher.java   |   2 +-
 .../plan/analyze/schema/SchemaValidator.java       |   2 +-
 .../plan/analyze/schema/TemplateSchemaFetcher.java |   2 +-
 .../config/metadata/CountDatabaseTask.java         |   2 +-
 .../config/metadata/CountTimeSlotListTask.java     |   2 +-
 .../execution/config/metadata/GetRegionIdTask.java |   2 +-
 .../config/metadata/GetSeriesSlotListTask.java     |   2 +-
 .../config/metadata/GetTimeSlotListTask.java       |   2 +-
 .../config/metadata/ShowClusterDetailsTask.java    |   2 +-
 .../execution/config/metadata/ShowClusterTask.java |   2 +-
 .../config/metadata/ShowConfigNodesTask.java       |   2 +-
 .../config/metadata/ShowContinuousQueriesTask.java |   4 +-
 .../config/metadata/ShowDataNodesTask.java         |   2 +-
 .../config/metadata/ShowFunctionsTask.java         |   2 +-
 .../config/metadata/ShowPipePluginsTask.java       |   2 +-
 .../execution/config/metadata/ShowRegionTask.java  |   2 +-
 .../execution/config/metadata/ShowTTLTask.java     |   2 +-
 .../config/metadata/ShowTriggersTask.java          |   2 +-
 .../config/metadata/ShowVariablesTask.java         |   2 +-
 .../template/ShowNodesInSchemaTemplateTask.java    |   2 +-
 .../metadata/template/ShowPathSetTemplateTask.java |   2 +-
 .../metadata/template/ShowSchemaTemplateTask.java  |   2 +-
 .../execution/config/sys/pipe/ShowPipeTask.java    |   2 +-
 .../config/sys/quota/ShowSpaceQuotaTask.java       |   2 +-
 .../config/sys/quota/ShowThrottleQuotaTask.java    |   2 +-
 .../memory/StatementMemorySourceVisitor.java       |   2 +-
 .../db/queryengine/plan/expression/Expression.java |   2 +-
 .../plan/expression/ExpressionFactory.java         |   2 +-
 .../plan/expression/binary/BinaryExpression.java   |   2 +-
 .../plan/expression/leaf/ConstantOperand.java      |   2 +-
 .../plan/expression/leaf/LeafOperand.java          |   2 +-
 .../plan/expression/leaf/TimeSeriesOperand.java    |   2 +-
 .../plan/expression/multi/FunctionExpression.java  |   2 +-
 .../multi/builtin/BuiltInScalarFunctionHelper.java |   2 +-
 .../multi/builtin/helper/CastFunctionHelper.java   |   2 +-
 .../multi/builtin/helper/DiffFunctionHelper.java   |   2 +-
 .../builtin/helper/ReplaceFunctionHelper.java      |   2 +-
 .../multi/builtin/helper/RoundFunctionHelper.java  |   2 +-
 .../builtin/helper/SubStringFunctionHelper.java    |   2 +-
 .../expression/other/CaseWhenThenExpression.java   |   2 +-
 .../plan/expression/ternary/TernaryExpression.java |   2 +-
 .../plan/expression/unary/UnaryExpression.java     |   2 +-
 .../visitor/ColumnTransformerVisitor.java          |   2 +-
 .../visitor/IntermediateLayerVisitor.java          |   2 +-
 .../db/queryengine/plan/parser/ASTVisitor.java     |   2 +-
 .../plan/parser/StatementGenerator.java            |   2 +-
 .../plan/planner/LocalExecutionPlanContext.java    |   2 +-
 .../plan/planner/LogicalPlanBuilder.java           |   2 +-
 .../plan/planner/OperatorTreeGenerator.java        |   2 +-
 .../write/CreateAlignedTimeSeriesNode.java         |   2 +-
 .../metedata/write/CreateMultiTimeSeriesNode.java  |   2 +-
 .../node/metedata/write/CreateTimeSeriesNode.java  |   2 +-
 .../plan/node/metedata/write/MeasurementGroup.java |   2 +-
 .../plan/planner/plan/node/write/InsertNode.java   |   2 +-
 .../planner/plan/node/write/InsertRowNode.java     |   4 +-
 .../plan/node/write/InsertRowsOfOneDeviceNode.java |   2 +-
 .../planner/plan/node/write/InsertTabletNode.java  |   4 +-
 .../plan/node/write/PipeEnrichedInsertNode.java    |   2 +-
 .../parameter/DeviceViewIntoPathDescriptor.java    |   2 +-
 .../planner/plan/parameter/IntoPathDescriptor.java |   2 +-
 .../plan/statement/crud/InsertBaseStatement.java   |   2 +-
 .../crud/InsertMultiTabletsStatement.java          |   2 +-
 .../plan/statement/crud/InsertRowStatement.java    |   2 +-
 .../crud/InsertRowsOfOneDeviceStatement.java       |   2 +-
 .../plan/statement/crud/InsertRowsStatement.java   |   2 +-
 .../plan/statement/crud/InsertTabletStatement.java |   4 +-
 .../crud/PipeEnrichedInsertBaseStatement.java      |   2 +-
 .../InternalCreateTimeSeriesStatement.java         |   2 +-
 .../plan/statement/literal/BooleanLiteral.java     |   2 +-
 .../plan/statement/literal/DoubleLiteral.java      |   2 +-
 .../plan/statement/literal/Literal.java            |   2 +-
 .../plan/statement/literal/LongLiteral.java        |   2 +-
 .../plan/statement/literal/NullLiteral.java        |   2 +-
 .../plan/statement/literal/StringLiteral.java      |   2 +-
 .../metadata/CreateAlignedTimeSeriesStatement.java |   2 +-
 .../metadata/CreateMultiTimeSeriesStatement.java   |   2 +-
 .../metadata/CreateTimeSeriesStatement.java        |   2 +-
 .../statement/metadata/ShowDatabaseStatement.java  |   2 +-
 .../template/AlterSchemaTemplateStatement.java     |   2 +-
 .../template/CreateSchemaTemplateStatement.java    |   2 +-
 .../transformation/api/LayerPointReader.java       |   2 +-
 .../transformation/api/LayerRowReader.java         |   2 +-
 .../transformation/api/LayerRowWindowReader.java   |   2 +-
 ...ializableRowRecordListBackedMultiColumnRow.java |   2 +-
 ...izableRowRecordListBackedMultiColumnWindow.java |   2 +-
 .../dag/builder/EvaluationDAGBuilder.java          |   2 +-
 .../dag/column/CaseWhenThenColumnTransformer.java  |   4 +-
 .../transformation/dag/column/ColumnCache.java     |   2 +-
 .../dag/column/ColumnTransformer.java              |   2 +-
 .../binary/ArithmeticBinaryColumnTransformer.java  |   4 +-
 .../dag/column/binary/BinaryColumnTransformer.java |   4 +-
 .../binary/CompareBinaryColumnTransformer.java     |   4 +-
 .../column/binary/LogicAndColumnTransformer.java   |   4 +-
 .../column/binary/LogicOrColumnTransformer.java    |   4 +-
 .../dag/column/leaf/ConstantColumnTransformer.java |   2 +-
 .../column/multi/MappableUDFColumnTransformer.java |   4 +-
 .../column/ternary/BetweenColumnTransformer.java   |   4 +-
 .../ternary/CompareTernaryColumnTransformer.java   |   4 +-
 .../unary/ArithmeticNegationColumnTransformer.java |   4 +-
 .../dag/column/unary/InColumnTransformer.java      |   4 +-
 .../dag/column/unary/IsNullColumnTransformer.java  |   4 +-
 .../column/unary/LogicNotColumnTransformer.java    |   4 +-
 .../dag/column/unary/RegularColumnTransformer.java |   4 +-
 .../dag/column/unary/UnaryColumnTransformer.java   |   4 +-
 .../scalar/CastFunctionColumnTransformer.java      |   4 +-
 .../scalar/DiffFunctionColumnTransformer.java      |   4 +-
 .../scalar/ReplaceFunctionColumnTransformer.java   |   4 +-
 .../scalar/RoundFunctionColumnTransformer.java     |   4 +-
 .../scalar/SubStringFunctionColumnTransformer.java |   4 +-
 .../dag/input/ConstantInputReader.java             |   2 +-
 .../transformation/dag/input/IUDFInputDataSet.java |   2 +-
 .../dag/input/QueryDataSetInputLayer.java          |   2 +-
 .../dag/input/TsBlockInputDataSet.java             |   2 +-
 .../MultiInputColumnIntermediateLayer.java         |   4 +-
 ...InputColumnMultiReferenceIntermediateLayer.java |   2 +-
 ...nputColumnSingleReferenceIntermediateLayer.java |   2 +-
 .../binary/ArithmeticBinaryTransformer.java        |   4 +-
 .../dag/transformer/binary/BinaryTransformer.java  |   2 +-
 .../binary/CompareBinaryTransformer.java           |   4 +-
 .../binary/CompareNonEqualTransformer.java         |   2 +-
 .../transformer/binary/LogicBinaryTransformer.java |   4 +-
 .../multi/MappableUDFQueryRowTransformer.java      |   2 +-
 .../dag/transformer/multi/UDFQueryTransformer.java |   2 +-
 .../multi/UniversalUDFQueryTransformer.java        |   2 +-
 .../ternary/CompareTernaryTransformer.java         |   4 +-
 .../transformer/ternary/TernaryTransformer.java    |   2 +-
 .../unary/ArithmeticNegationTransformer.java       |   2 +-
 .../dag/transformer/unary/InTransformer.java       |   2 +-
 .../dag/transformer/unary/IsNullTransformer.java   |   2 +-
 .../dag/transformer/unary/LogicNotTransformer.java |   4 +-
 .../dag/transformer/unary/RegularTransformer.java  |   4 +-
 .../transformer/unary/TransparentTransformer.java  |   2 +-
 .../dag/transformer/unary/UnaryTransformer.java    |   2 +-
 .../unary/scalar/CastFunctionTransformer.java      |   2 +-
 .../unary/scalar/DiffFunctionTransformer.java      |   2 +-
 .../unary/scalar/ReplaceFunctionTransformer.java   |   2 +-
 .../unary/scalar/RoundFunctionTransformer.java     |   2 +-
 .../unary/scalar/SubStringFunctionTransformer.java |   2 +-
 .../transformation/dag/udf/UDTFExecutor.java       |   6 +-
 .../dag/udf/UDTFInformationInferrer.java           |   2 +-
 .../transformation/dag/util/LayerCacheUtils.java   |   2 +-
 .../transformation/dag/util/TransformUtils.java    |   6 +-
 .../row/ElasticSerializableRowRecordList.java      |   2 +-
 .../row/SerializableRowRecordList.java             |   4 +-
 .../tv/ElasticSerializableBinaryTVList.java        |   2 +-
 .../tv/ElasticSerializableTVList.java              |   4 +-
 .../datastructure/tv/SerializableBinaryTVList.java |   2 +-
 .../tv/SerializableBooleanTVList.java              |   2 +-
 .../datastructure/tv/SerializableDoubleTVList.java |   2 +-
 .../datastructure/tv/SerializableFloatTVList.java  |   2 +-
 .../datastructure/tv/SerializableIntTVList.java    |   2 +-
 .../datastructure/tv/SerializableLongTVList.java   |   2 +-
 .../datastructure/tv/SerializableTVList.java       |   4 +-
 .../schemaregion/impl/SchemaRegionMemoryImpl.java  |   2 +-
 .../schemaregion/impl/SchemaRegionPBTreeImpl.java  |   2 +-
 .../visitor/SchemaRegionPlanDeserializer.java      |   2 +-
 .../visitor/SchemaRegionPlanSerializer.java        |   2 +-
 .../visitor/SchemaRegionPlanTxtSerializer.java     |   2 +-
 .../mtree/impl/mem/MTreeBelowSGMemoryImpl.java     |   2 +-
 .../mtree/impl/mem/mnode/info/LogicalViewInfo.java |   2 +-
 .../mtree/impl/mem/mnode/info/MeasurementInfo.java |   2 +-
 .../mtree/impl/pbtree/MTreeBelowSGCachedImpl.java  |   4 +-
 .../mtree/impl/pbtree/schemafile/RecordUtils.java  |   2 +-
 .../impl/pbtree/schemafile/WrappedSegment.java     |   2 +-
 .../schemaregion/mtree/traverser/Traverser.java    |  85 ++++++++-------
 .../read/resp/info/impl/ShowTimeSeriesResult.java  |   2 +-
 .../reader/impl/TimeseriesReaderWithViewFetch.java |   2 +-
 .../schemaregion/utils/ResourceByPathUtils.java    |   2 +-
 .../write/req/ICreateAlignedTimeSeriesPlan.java    |   2 +-
 .../write/req/ICreateTimeSeriesPlan.java           |   2 +-
 .../write/req/SchemaRegionWritePlanFactory.java    |   2 +-
 .../req/impl/CreateAlignedTimeSeriesPlanImpl.java  |   2 +-
 .../write/req/impl/CreateTimeSeriesPlanImpl.java   |   2 +-
 .../template/ClusterTemplateManager.java           |   2 +-
 .../iotdb/db/schemaengine/template/Template.java   |   2 +-
 .../template/alter/TemplateExtendInfo.java         |   2 +-
 .../metrics/IoTDBInternalLocalReporter.java        |   2 +-
 .../execute/utils/MultiTsFileDeviceIterator.java   |  10 +-
 .../utils/writer/AbstractCompactionWriter.java     |   2 +-
 .../writer/AbstractCrossCompactionWriter.java      |   2 +-
 .../writer/AbstractInnerCompactionWriter.java      |   2 +-
 .../utils/writer/FastCrossCompactionWriter.java    |   2 +-
 .../utils/writer/FastInnerCompactionWriter.java    |   2 +-
 .../writer/ReadPointCrossCompactionWriter.java     |   2 +-
 .../writer/ReadPointInnerCompactionWriter.java     |   2 +-
 .../compaction/io/CompactionTsFileWriter.java      |   2 +-
 .../dataregion/memtable/AbstractMemTable.java      |   2 +-
 .../memtable/AlignedReadOnlyMemChunk.java          |   2 +-
 .../memtable/AlignedWritableMemChunk.java          |   4 +-
 .../dataregion/memtable/IWritableMemChunk.java     |   2 +-
 .../dataregion/memtable/ReadOnlyMemChunk.java      |   2 +-
 .../dataregion/memtable/TsFileProcessor.java       |   2 +-
 .../dataregion/memtable/WritableMemChunk.java      |   4 +-
 .../read/reader/chunk/MemAlignedPageReader.java    |   6 +-
 .../read/reader/chunk/MemPageReader.java           |   6 +-
 .../reader/common/CachedPriorityMergeReader.java   |   2 +-
 .../dataregion/utils/TsFileResourceUtils.java      |   2 +-
 .../dataregion/wal/utils/WALWriteUtils.java        |   2 +-
 .../rescon/memory/PrimitiveArrayManager.java       |   4 +-
 .../rescon/quotas/DefaultOperationQuota.java       |   2 +-
 .../iotdb/db/tools/TsFileSplitByPartitionTool.java |   4 +-
 .../org/apache/iotdb/db/tools/TsFileSplitTool.java |   4 +-
 .../db/tools/validate/TsFileValidationTool.java    |   2 +-
 .../org/apache/iotdb/db/utils/CommonUtils.java     |   2 +-
 .../iotdb/db/utils/EncodingInferenceUtils.java     |   4 +-
 .../java/org/apache/iotdb/db/utils/MemUtils.java   |   2 +-
 .../apache/iotdb/db/utils/QueryDataSetUtils.java   |   6 +-
 .../org/apache/iotdb/db/utils/SchemaUtils.java     |   2 +-
 .../apache/iotdb/db/utils/TimeValuePairUtils.java  |   4 +-
 .../apache/iotdb/db/utils/TypeInferenceUtils.java  |   2 +-
 .../db/utils/datastructure/AlignedTVList.java      |   4 +-
 .../db/utils/datastructure/BackAlignedTVList.java  |   2 +-
 .../db/utils/datastructure/BackBinaryTVList.java   |   2 +-
 .../db/utils/datastructure/BackBooleanTVList.java  |   2 +-
 .../db/utils/datastructure/BackDoubleTVList.java   |   2 +-
 .../db/utils/datastructure/BackFloatTVList.java    |   2 +-
 .../db/utils/datastructure/BackIntTVList.java      |   2 +-
 .../db/utils/datastructure/BackLongTVList.java     |   2 +-
 .../iotdb/db/utils/datastructure/BinaryTVList.java |   2 +-
 .../db/utils/datastructure/BooleanTVList.java      |   2 +-
 .../iotdb/db/utils/datastructure/DoubleTVList.java |   2 +-
 .../iotdb/db/utils/datastructure/FloatTVList.java  |   2 +-
 .../iotdb/db/utils/datastructure/IntTVList.java    |   2 +-
 .../iotdb/db/utils/datastructure/LongTVList.java   |   2 +-
 .../db/utils/datastructure/QuickAlignedTVList.java |   2 +-
 .../iotdb/db/utils/datastructure/TVList.java       |   2 +-
 .../db/utils/datastructure/TimAlignedTVList.java   |   2 +-
 .../db/utils/datastructure/TimBinaryTVList.java    |   2 +-
 .../db/utils/datastructure/TimBooleanTVList.java   |   2 +-
 .../db/utils/datastructure/TimDoubleTVList.java    |   2 +-
 .../db/utils/datastructure/TimFloatTVList.java     |   2 +-
 .../iotdb/db/utils/datastructure/TimIntTVList.java |   2 +-
 .../db/utils/datastructure/TimLongTVList.java      |   2 +-
 .../apache/iotdb/db/utils/sort/DiskSpiller.java    |   4 +-
 .../iotdb/db/utils/windowing/api/Window.java       |   2 +-
 .../windowing/configuration/Configuration.java     |   2 +-
 .../SlidingSizeWindowConfiguration.java            |   2 +-
 .../SlidingTimeWindowConfiguration.java            |   2 +-
 .../utils/windowing/window/EvictableBatchList.java |   2 +-
 .../db/utils/windowing/window/WindowImpl.java      |   4 +-
 .../apache/iotdb/db/metadata/MetaUtilsTest.java    |   2 +-
 .../db/metadata/cache/DataNodeSchemaCacheTest.java |   2 +-
 .../cache/dualkeycache/DualKeyCacheTest.java       |   2 +-
 .../metadata/mtree/schemafile/RecordUtilTests.java |   2 +-
 .../metadata/mtree/schemafile/SchemaFileTest.java  |   2 +-
 .../metadata/mtree/schemafile/SchemaPageTest.java  |   2 +-
 .../mtree/schemafile/WrappedSegmentTest.java       |   2 +-
 .../db/metadata/path/MeasurementPathTest.java      |   2 +-
 .../schemaRegion/SchemaRegionAliasAndTagTest.java  |   2 +-
 .../schemaRegion/SchemaRegionBasicTest.java        |   2 +-
 .../schemaRegion/SchemaRegionManagementTest.java   |   2 +-
 .../schemaRegion/SchemaRegionTemplateTest.java     |   2 +-
 .../schemaRegion/SchemaRegionTestUtil.java         |   2 +-
 .../schemaRegion/SchemaStatisticsTest.java         |   2 +-
 .../metadata/view/ViewExpressionToStringTest.java  |   2 +-
 .../iotdb/db/pipe/connector/PipeReceiverTest.java  |   2 +-
 .../db/pipe/connector/PipeThriftRequestTest.java   |   2 +-
 .../db/pipe/event/PipeDataTypeTransformerTest.java |   2 +-
 .../pipe/event/PipeTabletInsertionEventTest.java   |   2 +-
 .../resource/PipeTsFileResourceManagerTest.java    |   2 +-
 .../apache/iotdb/db/query/udf/example/Adder.java   |   2 +-
 .../common/schematree/ClusterSchemaTreeTest.java   |  22 +++-
 .../queryengine/common/schematree/NodeRefTest.java |   2 +-
 .../queryengine/execution/ConfigExecutionTest.java |   2 +-
 .../db/queryengine/execution/DataDriverTest.java   |   9 +-
 .../execution/aggregation/AccumulatorTest.java     |   6 +-
 .../executor/RegionWriteExecutorTest.java          |   2 +-
 .../operator/AggregationOperatorTest.java          |   2 +-
 .../AlignedSeriesAggregationScanOperatorTest.java  |   2 +-
 .../operator/AlignedSeriesScanOperatorTest.java    |   2 +-
 .../execution/operator/AlignedSeriesTestUtil.java  |   2 +-
 .../execution/operator/DeviceViewOperatorTest.java |   2 +-
 .../execution/operator/FillOperatorTest.java       |   2 +-
 .../operator/HorizontallyConcatOperatorTest.java   |   2 +-
 .../execution/operator/LastQueryOperatorTest.java  |   2 +-
 .../operator/LastQuerySortOperatorTest.java        |   2 +-
 .../execution/operator/LimitOperatorTest.java      |   2 +-
 .../execution/operator/LinearFillOperatorTest.java |   2 +-
 .../execution/operator/MergeSortOperatorTest.java  |   4 +-
 .../execution/operator/MultiColumnMergerTest.java  |   6 +-
 .../NonOverlappedMultiColumnMergerTest.java        |   6 +-
 .../execution/operator/OffsetOperatorTest.java     |   2 +-
 .../execution/operator/OperatorMemoryTest.java     |   2 +-
 .../operator/RawDataAggregationOperatorTest.java   |   2 +-
 .../SeriesAggregationScanOperatorTest.java         |   2 +-
 .../execution/operator/SeriesScanOperatorTest.java |   2 +-
 .../execution/operator/SingleColumnMergerTest.java |   6 +-
 .../operator/SingleDeviceViewOperatorTest.java     |   2 +-
 .../SlidingWindowAggregationOperatorTest.java      |   2 +-
 .../execution/operator/SortOperatorTest.java       |   2 +-
 .../execution/operator/TopKOperatorTest.java       |   4 +-
 .../operator/UpdateLastCacheOperatorTest.java      |   2 +-
 .../schema/SchemaFetchScanOperatorTest.java        |   2 +-
 .../schema/SchemaQueryScanOperatorTest.java        |   2 +-
 .../operator/sink/IdentitySinkOperatorTest.java    |   2 +-
 .../plan/analyze/AggregationDescriptorTest.java    |   2 +-
 .../db/queryengine/plan/analyze/AnalyzeTest.java   |   2 +-
 .../plan/analyze/FakeSchemaFetcherImpl.java        |   2 +-
 .../plan/optimization/LimitOffsetPushDownTest.java |   2 +-
 .../plan/parser/StatementGeneratorTest.java        |   2 +-
 .../db/queryengine/plan/plan/ExpressionTest.java   |   2 +-
 .../queryengine/plan/plan/LogicalPlannerTest.java  |   2 +-
 .../queryengine/plan/plan/PipelineBuilderTest.java |   2 +-
 .../plan/plan/QueryLogicalPlanUtil.java            |   2 +-
 .../distribution/AggregationDistributionTest.java  |   2 +-
 .../distribution/DistributionPlannerBasicTest.java |   2 +-
 .../queryengine/plan/plan/distribution/Util.java   |   2 +-
 .../queryengine/plan/plan/distribution/Util2.java  |   2 +-
 .../metadata/write/MetadataWriteNodeSerDeTest.java |   2 +-
 .../node/process/AggregationNodeSerdeTest.java     |   2 +-
 .../plan/node/process/FilterNodeSerdeTest.java     |   2 +-
 .../node/process/GroupByLevelNodeSerdeTest.java    |   2 +-
 .../plan/node/process/GroupByTagNodeSerdeTest.java |   2 +-
 .../plan/plan/node/process/LimitNodeSerdeTest.java |   2 +-
 .../plan/node/process/OffsetNodeSerdeTest.java     |   2 +-
 .../plan/plan/node/process/SortNodeSerdeTest.java  |   2 +-
 .../plan/node/process/TimeJoinNodeSerdeTest.java   |   2 +-
 .../source/SeriesAggregationScanNodeSerdeTest.java |   2 +-
 .../plan/node/source/SeriesScanNodeSerdeTest.java  |   2 +-
 .../write/InsertMultiTabletsNodeSerdeTest.java     |   2 +-
 .../plan/node/write/InsertRowNodeSerdeTest.java    |   2 +-
 .../plan/node/write/InsertRowsNodeSerdeTest.java   |   2 +-
 .../write/InsertRowsOfOneDeviceNodeSerdeTest.java  |   2 +-
 .../plan/node/write/InsertTabletNodeSerdeTest.java |   2 +-
 .../plan/node/write/WritePlanNodeSplitTest.java    |   2 +-
 ...meticAndCompareBinaryColumnTransformerTest.java |   6 +-
 .../binary/LogicBinaryColumnTransformerTest.java   |   6 +-
 .../column/unary/UnaryColumnTransformerTest.java   |   6 +-
 .../ElasticSerializableRowRecordListTest.java      |   2 +-
 .../ElasticSerializableTVListTest.java             |   2 +-
 .../SerializableBinaryTVListTest.java              |   2 +-
 .../SerializableBooleanTVListTest.java             |   2 +-
 .../SerializableDoubleTVListTest.java              |   2 +-
 .../datastructure/SerializableFloatTVListTest.java |   2 +-
 .../datastructure/SerializableIntTVListTest.java   |   2 +-
 .../datastructure/SerializableLongTVListTest.java  |   2 +-
 .../SerializableRowRecordListTest.java             |   2 +-
 .../DataNodeInternalRPCServiceImplTest.java        |   2 +-
 .../storageengine/buffer/BloomFilterCacheTest.java |   2 +-
 .../db/storageengine/buffer/ChunkCacheTest.java    |   2 +-
 .../storageengine/dataregion/DataRegionTest.java   |   2 +-
 .../dataregion/LastFlushTimeMapTest.java           |   2 +-
 .../iotdb/db/storageengine/dataregion/TTLTest.java |   2 +-
 .../compaction/AbstractCompactionTest.java         |   2 +-
 .../compaction/CompactionSchedulerTest.java        |   1 +
 .../compaction/CompactionValidationTest.java       |   2 +-
 .../CrossSpaceCompactionWithUnusualCasesTest.java  |   2 +-
 .../compaction/FastAlignedCrossCompactionTest.java |   2 +-
 .../FastCrossCompactionPerformerTest.java          |   2 +-
 .../FastInnerCompactionPerformerTest.java          |   2 +-
 .../FastNonAlignedCrossCompactionTest.java         |   2 +-
 .../compaction/ReadChunkInnerCompactionTest.java   | 111 ++++++++++++++++++-
 .../ReadPointAlignedCrossCompactionTest.java       |   2 +-
 .../ReadPointCompactionPerformerTest.java          |   2 +-
 .../ReadPointNonAlignedCrossCompactionTest.java    |   2 +-
 .../compaction/TestUtilsForAlignedSeries.java      |   2 +-
 .../TsFileValidationCorrectnessTests.java          |   2 +-
 ...eCompactionWithFastPerformerValidationTest.java |   2 +-
 ...actionWithReadPointPerformerValidationTest.java |   2 +-
 .../InsertionCrossSpaceCompactionRecoverTest.java  |   2 +-
 .../InsertionCrossSpaceCompactionSelectorTest.java |   2 +-
 .../dataregion/compaction/cross/MergeTest.java     |   2 +-
 .../compaction/cross/MergeUpgradeTest.java         |   2 +-
 ...eCrossSpaceCompactionWithFastPerformerTest.java |   2 +-
 ...sSpaceCompactionWithReadPointPerformerTest.java |   2 +-
 .../inner/AbstractInnerSpaceCompactionTest.java    |   2 +-
 .../inner/FastCompactionPerformerAlignedTest.java  |   2 +-
 .../FastCompactionPerformerNoAlignedTest.java      |   2 +-
 .../inner/InnerCompactionMoreDataTest.java         |   2 +-
 .../compaction/inner/InnerCompactionTest.java      |   2 +-
 .../ReadChunkCompactionPerformerAlignedTest.java   |   2 +-
 .../ReadChunkCompactionPerformerNoAlignedTest.java |   2 +-
 .../inner/sizetiered/SizeTieredCompactionTest.java |   2 +-
 .../recover/SizeTieredCompactionRecoverTest.java   |   2 +-
 .../settle/SettleRequestHandlerTest.java           |   2 +-
 .../compaction/utils/CompactionCheckerUtils.java   |   2 +-
 .../compaction/utils/CompactionConfigRestorer.java |   4 +
 .../utils/CompactionFileGeneratorUtils.java        |   2 +-
 .../compaction/utils/CompactionTestFileWriter.java |   2 +-
 .../utils/MultiTsFileDeviceIteratorTest.java       |   2 +-
 .../compaction/utils/TsFileGeneratorUtils.java     |   2 +-
 .../dataregion/memtable/MemTableFlushTaskTest.java |   2 +-
 .../dataregion/memtable/MemTableTestUtils.java     |   2 +-
 .../dataregion/memtable/MemtableBenchmark.java     |   2 +-
 .../dataregion/memtable/PrimitiveMemTableTest.java |   4 +-
 .../dataregion/memtable/TsFileProcessorTest.java   |   2 +-
 .../reader/chunk/MemAlignedChunkLoaderTest.java    |   2 +-
 .../read/reader/chunk/MemChunkLoaderTest.java      |   2 +-
 .../read/reader/common/FakedSeriesReader.java      |   2 +-
 .../AlignedSeriesScanLimitOffsetPushDownTest.java  |   2 +-
 .../read/reader/series/SeriesReaderTestUtil.java   |   2 +-
 .../series/SeriesScanLimitOffsetPushDownTest.java  |   2 +-
 .../dataregion/wal/WALManagerTest.java             |   2 +-
 .../wal/allocation/ElasticStrategyTest.java        |   2 +-
 .../wal/allocation/FirstCreateStrategyTest.java    |   2 +-
 .../wal/allocation/RoundRobinStrategyTest.java     |   2 +-
 .../dataregion/wal/buffer/WALBufferCommonTest.java |   2 +-
 .../dataregion/wal/io/WALFileTest.java             |   2 +-
 .../wal/node/ConsensusReqReaderTest.java           |   2 +-
 .../dataregion/wal/node/WALEntryHandlerTest.java   |   2 +-
 .../dataregion/wal/node/WALNodeTest.java           |   2 +-
 .../wal/recover/WALRecoverManagerTest.java         |   2 +-
 .../wal/recover/WALRecoverWriterTest.java          |   2 +-
 .../file/SealedTsFileRecoverPerformerTest.java     |   2 +-
 .../wal/recover/file/TsFilePlanRedoerTest.java     |   2 +-
 .../file/UnsealedTsFileRecoverPerformerTest.java   |   2 +-
 .../wal/utils/WALInsertNodeCacheTest.java          |   2 +-
 .../rescon/memory/ResourceManagerTest.java         |   2 +-
 .../org/apache/iotdb/db/tools/MLogParserTest.java  |   2 +-
 .../iotdb/db/tools/PBTreeFileSketchTest.java       |   2 +-
 .../iotdb/db/tools/TsFileAndModSettleToolTest.java |   2 +-
 .../iotdb/db/tools/TsFileSelfCheckToolTest.java    |   2 +-
 .../iotdb/db/tools/TsFileSketchToolTest.java       |   2 +-
 .../db/trigger/executor/TriggerExecuteTest.java    |   2 +-
 .../iotdb/db/utils/EncodingInferenceUtilsTest.java |   2 +-
 .../org/apache/iotdb/db/utils/MemUtilsTest.java    |   2 +-
 .../iotdb/db/utils/QueryDataSetUtilsTest.java      |   2 +-
 .../org/apache/iotdb/db/utils/SchemaTestUtils.java |   2 +-
 .../org/apache/iotdb/db/utils/SchemaUtilsTest.java |   2 +-
 .../apache/iotdb/db/utils/SerializeUtilsTest.java  |   2 +-
 .../iotdb/db/utils/TypeInferenceUtilsTest.java     |   2 +-
 .../db/utils/datastructure/AlignedTVListTest.java  |   2 +-
 .../db/utils/datastructure/MergeSortHeapTest.java  |   2 +-
 .../datastructure/PrimitiveArrayManagerTest.java   |   2 +-
 .../apache/iotdb/db/utils/sort/SortUtilTest.java   |   4 +-
 .../SlidingSizeWindowEvaluationHandlerTest.java    |   2 +-
 .../SlidingTimeWindowEvaluationHandlerTest.java    |   2 +-
 .../metrics/reporter/iotdb/IoTDBReporter.java      |   2 +-
 .../reporter/iotdb/IoTDBSessionReporter.java       |   2 +-
 .../resources/conf/iotdb-common.properties         |   2 +-
 .../org/apache/iotdb/commons/path/AlignedPath.java |   2 +-
 .../apache/iotdb/commons/path/MeasurementPath.java |   2 +-
 .../org/apache/iotdb/commons/path/PartialPath.java |   2 +-
 .../commons/schema/filter/SchemaFilterFactory.java |   2 +-
 .../commons/schema/filter/impl/DataTypeFilter.java |   2 +-
 .../node/common/AbstractMeasurementMNode.java      |   2 +-
 .../commons/schema/node/info/IMeasurementInfo.java |   2 +-
 .../schema/node/role/IMeasurementMNode.java        |   2 +-
 .../commons/schema/tree/AbstractTreeVisitor.java   |  35 ++++++
 .../commons/schema/view/LogicalViewSchema.java     |   2 +-
 .../viewExpression/leaf/ConstantViewOperand.java   |   2 +-
 .../commons/udf/builtin/String/UDTFConcat.java     |   4 +-
 .../commons/udf/builtin/String/UDTFEndsWith.java   |   4 +-
 .../commons/udf/builtin/String/UDTFLower.java      |   4 +-
 .../commons/udf/builtin/String/UDTFStartsWith.java |   4 +-
 .../commons/udf/builtin/String/UDTFStrCompare.java |   4 +-
 .../commons/udf/builtin/String/UDTFStrLength.java  |   4 +-
 .../commons/udf/builtin/String/UDTFStrLocate.java  |   4 +-
 .../iotdb/commons/udf/builtin/String/UDTFTrim.java |   4 +-
 .../commons/udf/builtin/String/UDTFUpper.java      |   4 +-
 .../apache/iotdb/commons/udf/builtin/UDTFAbs.java  |   4 +-
 .../iotdb/commons/udf/builtin/UDTFConst.java       |   6 +-
 .../iotdb/commons/udf/builtin/UDTFConstE.java      |   4 +-
 .../iotdb/commons/udf/builtin/UDTFConstPi.java     |   4 +-
 .../iotdb/commons/udf/builtin/UDTFContains.java    |   4 +-
 .../udf/builtin/UDTFContinuouslySatisfy.java       |   2 +-
 .../udf/builtin/UDTFEqualSizeBucketAggSample.java  |   2 +-
 .../udf/builtin/UDTFEqualSizeBucketSample.java     |   2 +-
 .../iotdb/commons/udf/builtin/UDTFInRange.java     |   6 +-
 .../apache/iotdb/commons/udf/builtin/UDTFJexl.java |   2 +-
 .../apache/iotdb/commons/udf/builtin/UDTFM4.java   |   2 +-
 .../iotdb/commons/udf/builtin/UDTFMatches.java     |   4 +-
 .../apache/iotdb/commons/udf/builtin/UDTFMath.java |   6 +-
 .../iotdb/commons/udf/builtin/UDTFOnOff.java       |   6 +-
 .../iotdb/commons/udf/builtin/UDTFSelectK.java     |   2 +-
 .../iotdb/commons/udf/builtin/UDTFValueTrend.java  |   2 +-
 .../commons/udf/utils/UDFDataTypeTransformer.java  |   2 +-
 .../apache/iotdb/commons/utils/SerializeUtils.java |   2 +-
 .../iotdb/tsfile/common/conf/TSFileConfig.java     |   2 +-
 .../iotdb/tsfile/encoding/decoder/Decoder.java     |   2 +-
 .../tsfile/encoding/decoder/FloatDecoder.java      |   2 +-
 .../tsfile/encoding/encoder/FloatEncoder.java      |   2 +-
 .../tsfile/encoding/encoder/PlainEncoder.java      |   2 +-
 .../tsfile/encoding/encoder/TSEncodingBuilder.java |   4 +-
 .../iotdb/tsfile/file/header/ChunkHeader.java      |   2 +-
 .../iotdb/tsfile/file/header/PageHeader.java       |   2 +-
 .../tsfile/file/metadata/AlignedChunkMetadata.java |   2 +-
 .../iotdb/tsfile/file/metadata/ChunkMetadata.java  |   2 +-
 .../iotdb/tsfile/file/metadata/IChunkMetadata.java |   2 +-
 .../tsfile/file/metadata/TimeseriesMetadata.java   |   2 +-
 .../file/metadata/statistics/BinaryStatistics.java |   2 +-
 .../metadata/statistics/BooleanStatistics.java     |   2 +-
 .../file/metadata/statistics/DoubleStatistics.java |   2 +-
 .../file/metadata/statistics/FloatStatistics.java  |   2 +-
 .../metadata/statistics/IntegerStatistics.java     |   2 +-
 .../file/metadata/statistics/LongStatistics.java   |   2 +-
 .../file/metadata/statistics/Statistics.java       |   2 +-
 .../file/metadata/statistics/TimeStatistics.java   |   2 +-
 .../iotdb/tsfile/read/TsFileSequenceReader.java    |   2 +-
 .../apache/iotdb/tsfile/read/common/BatchData.java |   4 +-
 .../iotdb/tsfile/read/common/BatchDataFactory.java |   2 +-
 .../tsfile/read/common/DescReadBatchData.java      |   2 +-
 .../tsfile/read/common/DescReadWriteBatchData.java |   4 +-
 .../org/apache/iotdb/tsfile/read/common/Field.java |   4 +-
 .../apache/iotdb/tsfile/read/common/RowRecord.java |   2 +-
 .../iotdb/tsfile/read/common/block/TsBlock.java    |   4 +-
 .../tsfile/read/common/block/TsBlockBuilder.java   |   7 +-
 .../block/column/BinaryArrayColumnEncoder.java     |   3 +-
 .../read/common/block/column/BinaryColumn.java     |   4 +-
 .../common/block/column/BinaryColumnBuilder.java   |   7 +-
 .../read/common/block/column/BooleanColumn.java    |   4 +-
 .../common/block/column/BooleanColumnBuilder.java  |   7 +-
 .../block/column/ByteArrayColumnEncoder.java       |   3 +-
 .../read/common/block/column/ColumnEncoder.java    |   3 +-
 .../common/block/column/ColumnEncoderFactory.java  |   2 -
 .../read/common/block/column/DoubleColumn.java     |   4 +-
 .../common/block/column/DoubleColumnBuilder.java   |   7 +-
 .../read/common/block/column/FloatColumn.java      |   4 +-
 .../common/block/column/FloatColumnBuilder.java    |   7 +-
 .../block/column/Int32ArrayColumnEncoder.java      |   3 +-
 .../block/column/Int64ArrayColumnEncoder.java      |   3 +-
 .../tsfile/read/common/block/column/IntColumn.java |   4 +-
 .../read/common/block/column/IntColumnBuilder.java |   7 +-
 .../read/common/block/column/LongColumn.java       |   4 +-
 .../common/block/column/LongColumnBuilder.java     |   7 +-
 .../read/common/block/column/NullColumn.java       |   4 +-
 .../block/column/RunLengthColumnEncoder.java       |   4 +-
 .../block/column/RunLengthEncodedColumn.java       |   4 +-
 .../read/common/block/column/TimeColumn.java       |   4 +-
 .../common/block/column/TimeColumnBuilder.java     |   7 +-
 .../read/common/block/column/TsBlockSerde.java     |   4 +-
 .../iotdb/tsfile/read/common/type/BinaryType.java  |   4 +-
 .../iotdb/tsfile/read/common/type/BooleanType.java |   4 +-
 .../iotdb/tsfile/read/common/type/DoubleType.java  |   4 +-
 .../iotdb/tsfile/read/common/type/FloatType.java   |   4 +-
 .../iotdb/tsfile/read/common/type/IntType.java     |   4 +-
 .../iotdb/tsfile/read/common/type/LongType.java    |   4 +-
 .../apache/iotdb/tsfile/read/common/type/Type.java |   4 +-
 .../iotdb/tsfile/read/common/type/TypeFactory.java |   2 +-
 .../tsfile/read/controller/IMetadataQuerier.java   |   2 +-
 .../read/controller/MetadataQuerierByFileImpl.java |   2 +-
 .../tsfile/read/expression/QueryExpression.java    |   2 +-
 .../iotdb/tsfile/read/filter/operator/Between.java |   2 +-
 .../iotdb/tsfile/read/filter/operator/Eq.java      |   2 +-
 .../iotdb/tsfile/read/filter/operator/Gt.java      |   2 +-
 .../iotdb/tsfile/read/filter/operator/GtEq.java    |   2 +-
 .../iotdb/tsfile/read/filter/operator/Lt.java      |   2 +-
 .../iotdb/tsfile/read/filter/operator/LtEq.java    |   2 +-
 .../iotdb/tsfile/read/filter/operator/NotEq.java   |   2 +-
 .../query/dataset/DataSetWithTimeGenerator.java    |   2 +-
 .../query/dataset/DataSetWithoutTimeGenerator.java |   4 +-
 .../tsfile/read/query/dataset/QueryDataSet.java    |   2 +-
 .../query/executor/ExecutorWithTimeGenerator.java  |   2 +-
 .../tsfile/read/query/executor/TsFileExecutor.java |   2 +-
 .../read/query/timegenerator/TimeGenerator.java    |   2 +-
 .../iotdb/tsfile/read/reader/IPageReader.java      |   2 +-
 .../read/reader/chunk/AlignedChunkReader.java      |   2 +-
 .../tsfile/read/reader/chunk/ChunkReader.java      |   2 +-
 .../tsfile/read/reader/page/AlignedPageReader.java |   2 +-
 .../iotdb/tsfile/read/reader/page/PageReader.java  |   6 +-
 .../tsfile/read/reader/page/ValuePageReader.java   |   6 +-
 .../reader/series/FileSeriesReaderByTimestamp.java |   2 +-
 .../iotdb/tsfile/utils/ReadWriteIOUtils.java       |   2 +-
 .../iotdb/tsfile/utils/TsFileGeneratorUtils.java   |   2 +-
 .../write/chunk/AlignedChunkGroupWriterImpl.java   |   4 +-
 .../tsfile/write/chunk/AlignedChunkWriterImpl.java |   4 +-
 .../iotdb/tsfile/write/chunk/ChunkWriterImpl.java  |   2 +-
 .../chunk/NonAlignedChunkGroupWriterImpl.java      |   4 +-
 .../iotdb/tsfile/write/chunk/TimeChunkWriter.java  |   2 +-
 .../iotdb/tsfile/write/chunk/ValueChunkWriter.java |   2 +-
 .../apache/iotdb/tsfile/write/page/PageWriter.java |   2 +-
 .../iotdb/tsfile/write/page/ValuePageWriter.java   |   2 +-
 .../apache/iotdb/tsfile/write/record/Tablet.java   |   4 +-
 .../write/record/datapoint/BooleanDataPoint.java   |   2 +-
 .../tsfile/write/record/datapoint/DataPoint.java   |   4 +-
 .../write/record/datapoint/DoubleDataPoint.java    |   2 +-
 .../write/record/datapoint/FloatDataPoint.java     |   2 +-
 .../write/record/datapoint/IntDataPoint.java       |   2 +-
 .../write/record/datapoint/LongDataPoint.java      |   2 +-
 .../write/record/datapoint/StringDataPoint.java    |   2 +-
 .../tsfile/write/schema/IMeasurementSchema.java    |   2 +-
 .../tsfile/write/schema/MeasurementSchema.java     |   2 +-
 .../tsfile/write/schema/TimeseriesSchema.java      |   2 +-
 .../write/schema/VectorMeasurementSchema.java      |   2 +-
 .../write/writer/RestorableTsFileIOWriter.java     |   2 +-
 .../iotdb/tsfile/write/writer/TsFileIOWriter.java  |   2 +-
 .../write/writer/TsFileIOWriterEndFileTest.java    |   2 +-
 .../write/writer/tsmiterator/DiskTSMIterator.java  |   2 +-
 .../write/writer/tsmiterator/TSMIterator.java      |   2 +-
 .../common/block/BinaryArrayColumnEncoderTest.java |   4 +-
 .../common/block/ByteArrayColumnEncoderTest.java   |   4 +-
 .../tsfile/common/block/ColumnEncoderTest.java     |   2 +-
 .../common/block/Int32ArrayColumnEncoderTest.java  |   4 +-
 .../common/block/Int64ArrayColumnEncoderTest.java  |   4 +-
 .../tsfile/common/block/NullColumnUnitTest.java    |   4 +-
 .../common/block/RunLengthColumnEncoderTest.java   |   4 +-
 .../tsfile/common/block/TsBlockSerdeTest.java      |   6 +-
 .../iotdb/tsfile/common/block/TsBlockTest.java     |   2 +-
 .../tsfile/encoding/decoder/FloatDecoderTest.java  |   2 +-
 .../tsfile/exception/TsFileExceptionTest.java      |   1 +
 .../iotdb/tsfile/file/header/PageHeaderTest.java   |   2 +-
 .../tsfile/file/metadata/utils/TestHelper.java     |   2 +-
 .../apache/iotdb/tsfile/read/TsFileReaderTest.java |   2 +-
 .../tsfile/read/TsFileSequenceReaderTest.java      |   2 +-
 .../iotdb/tsfile/read/common/BatchDataTest.java    |   2 +-
 .../iotdb/tsfile/read/common/ColumnTest.java       |   2 +-
 .../tsfile/read/filter/StatisticsFilterTest.java   |   2 +-
 .../read/query/timegenerator/ReadWriteTest.java    |   2 +-
 .../timegenerator/TimeGeneratorReadEmptyTest.java  |   2 +-
 .../timegenerator/TimeGeneratorReadWriteTest.java  |   2 +-
 .../TsFileGeneratorForSeriesReaderByTimestamp.java |   2 +-
 .../iotdb/tsfile/read/reader/FakedBatchReader.java |   2 +-
 .../tsfile/read/reader/FakedMultiBatchReader.java  |   2 +-
 .../iotdb/tsfile/read/reader/PageReaderTest.java   |   2 +-
 .../apache/iotdb/tsfile/utils/FileGenerator.java   |   2 +-
 .../org/apache/iotdb/tsfile/utils/RecordUtils.java |   2 +-
 .../apache/iotdb/tsfile/utils/RecordUtilsTest.java |   2 +-
 .../iotdb/tsfile/utils/TsFileGeneratorForTest.java |   2 +-
 .../iotdb/tsfile/utils/TsPrimitiveTypeTest.java    |   2 +-
 .../tsfile/write/DefaultSchemaTemplateTest.java    |   2 +-
 .../tsfile/write/MetadataIndexConstructorTest.java |   2 +-
 .../org/apache/iotdb/tsfile/write/PerfTest.java    |   2 +-
 .../iotdb/tsfile/write/ReadPageInMemTest.java      |   2 +-
 ...SameMeasurementsWithDifferentDataTypesTest.java |   2 +-
 .../iotdb/tsfile/write/TsFileIOWriterTest.java     |   2 +-
 .../tsfile/write/TsFileIntegrityCheckingTool.java  |   2 +-
 .../iotdb/tsfile/write/TsFileReadWriteTest.java    |   2 +-
 .../iotdb/tsfile/write/TsFileWriteApiTest.java     |   2 +-
 .../iotdb/tsfile/write/TsFileWriterTest.java       |   2 +-
 .../org/apache/iotdb/tsfile/write/WriteTest.java   |   2 +-
 .../iotdb/tsfile/write/record/TabletTest.java      |   2 +-
 .../write/schema/converter/SchemaBuilderTest.java  |   2 +-
 .../write/writer/AlignedChunkWriterImplTest.java   |   2 +-
 .../write/writer/ForceAppendTsFileWriterTest.java  |   2 +-
 .../writer/MeasurementSchemaSerializeTest.java     |   2 +-
 .../iotdb/tsfile/write/writer/PageWriterTest.java  |   2 +-
 .../write/writer/RestorableTsFileIOWriterTest.java |   2 +-
 .../tsfile/write/writer/TimeChunkWriterTest.java   |   2 +-
 .../tsfile/write/writer/TimePageWriterTest.java    |   2 +-
 .../writer/TsFileIOWriterMemoryControlTest.java    |   2 +-
 .../tsfile/write/writer/ValueChunkWriterTest.java  |   2 +-
 .../tsfile/write/writer/ValuePageWriterTest.java   |   2 +-
 .../write/writer/VectorMeasurementSchemaStub.java  |   2 +-
 .../iotdb/library/string/UDTFRegexMatch.java       |   4 +-
 .../iotdb/library/string/UDTFRegexReplace.java     |   4 +-
 .../iotdb/library/string/UDTFRegexSplit.java       |   4 +-
 .../iotdb/library/string/UDTFStrReplace.java       |   4 +-
 899 files changed, 1520 insertions(+), 1329 deletions(-)

diff --cc 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/Analysis.java
index e3be8cdb5d9,e9a541a9d79..ac563fb5494
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/Analysis.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/Analysis.java
@@@ -45,10 -44,9 +45,10 @@@ import org.apache.iotdb.db.queryengine.
  import org.apache.iotdb.db.queryengine.plan.statement.crud.QueryStatement;
  import 
org.apache.iotdb.db.queryengine.plan.statement.sys.ShowQueriesStatement;
  import org.apache.iotdb.db.schemaengine.template.Template;
- import org.apache.iotdb.tsfile.enums.TSDataType;
+ import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
  import org.apache.iotdb.tsfile.read.filter.basic.Filter;
  import org.apache.iotdb.tsfile.utils.Pair;
 +import org.apache.iotdb.tsfile.write.schema.IMeasurementSchema;
  
  import java.util.ArrayList;
  import java.util.HashMap;
diff --cc 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/TypeProvider.java
index 6bf638456cc,e408bfa9f1b..de56dbfdcb0
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/TypeProvider.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/TypeProvider.java
@@@ -19,9 -19,8 +19,9 @@@
  
  package org.apache.iotdb.db.queryengine.plan.analyze;
  
- import org.apache.iotdb.tsfile.enums.TSDataType;
+ import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
  import org.apache.iotdb.tsfile.utils.ReadWriteIOUtils;
 +import org.apache.iotdb.tsfile.write.schema.IMeasurementSchema;
  
  import java.io.DataOutputStream;
  import java.io.IOException;
diff --cc 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/mtree/traverser/Traverser.java
index 600c3481bdd,b73624f2a1b..c9603c060f9
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/mtree/traverser/Traverser.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/mtree/traverser/Traverser.java
@@@ -187,61 -185,58 +185,61 @@@ public abstract class Traverser<R, N ex
    @Override
    protected Iterator<N> getChildrenIterator(N parent, Iterator<String> 
childrenName)
        throws Exception {
-     currentChildrenIterator =
-         new IMNodeIterator<N>() {
-           private N next = null;
-           private boolean skipTemplateChildren = false;
- 
-           @Override
-           public boolean hasNext() {
-             if (next == null) {
-               while (next == null && childrenName.hasNext()) {
-                 try {
-                   next = getChild(parent, childrenName.next(), 
skipTemplateChildren);
-                 } catch (Throwable e) {
-                   logger.warn(e.getMessage(), e);
-                   throw new RuntimeException(e);
-                 }
-               }
-             }
-             return next != null;
-           }
 +
-           @Override
-           public N next() {
-             if (!hasNext()) {
-               throw new NoSuchElementException();
+     return new IMNodeIterator<N>() {
+       private N next = null;
+       private boolean skipTemplateChildren = false;
+ 
+       @Override
+       public boolean hasNext() {
+         if (next == null) {
+           while (next == null && childrenName.hasNext()) {
+             try {
+               next = getChild(parent, childrenName.next(), 
skipTemplateChildren);
+             } catch (Throwable e) {
+               logger.warn(e.getMessage(), e);
+               throw new RuntimeException(e);
              }
-             N result = next;
-             next = null;
-             return result;
            }
+         }
+         return next != null;
+       }
  
-           @Override
-           public void skipTemplateChildren() {
-             skipTemplateChildren = true;
-           }
+       @Override
+       public N next() {
+         if (!hasNext()) {
+           throw new NoSuchElementException();
+         }
+         N result = next;
+         next = null;
+         return result;
+       }
  
-           @Override
-           public void close() {
-             if (next != null) {
-               releaseNode(next);
-               next = null;
-             }
-           }
-         };
-     return currentChildrenIterator;
+       @Override
+       public void skipTemplateChildren() {
+         skipTemplateChildren = true;
+       }
+ 
+       @Override
+       public void close() {
+         if (next != null) {
+           releaseNode(next);
+           next = null;
+         }
+       }
+     };
    }
  
    @Override
    protected Iterator<N> getChildrenIterator(N parent) throws 
MetadataException {
+     IMNodeIterator<N> currentChildrenIterator;
      if (parent.isAboveDatabase()) {
 -      return new MNodeIterator<>(parent.getChildren().values().iterator());
 +      currentChildrenIterator = new 
MNodeIterator<>(parent.getChildren().values().iterator());
      } else {
 -      return store.getTraverserIterator(parent, templateMap, 
skipPreDeletedSchema);
 +      currentChildrenIterator =
 +          store.getTraverserIterator(parent, templateMap, 
skipPreDeletedSchema);
      }
 +    return currentChildrenIterator;
    }
  
    @Override

Reply via email to