You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by hu...@apache.org on 2023/11/19 09:25:44 UTC
(iotdb) 02/03: Merge remote-tracking branch 'origin/master' into lmh/refactorFilter
This is an automated email from the ASF dual-hosted git repository.
hui pushed a commit to branch lmh/refactorFilter
in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 2d107faa715e0683c796a94dac7745ce1bbddc06
Merge: ea2d091e3f3 5ad07424552
Author: Minghui Liu <li...@foxmail.com>
AuthorDate: Sun Nov 19 17:06:53 2023 +0800
Merge remote-tracking branch 'origin/master' into lmh/refactorFilter
# Conflicts:
# iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/ExpressionAnalyzer.java
# iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/ExpressionUtils.java
# iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/ExpressionFactory.java
# iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/LogicalPlanBuilder.java
# iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeTest.java
# iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/QueryLogicalPlanUtil.java
# iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/AggregationNodeSerdeTest.java
# iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/GroupByLevelNodeSerdeTest.java
# iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/GroupByTagNodeSerdeTest.java
# iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/LimitNodeSerdeTest.java
# iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/OffsetNodeSerdeTest.java
# iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/SortNodeSerdeTest.java
# iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/TimeJoinNodeSerdeTest.java
# iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/source/SeriesAggregationScanNodeSerdeTest.java
# iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/source/SeriesScanNodeSerdeTest.java
# iotdb-core/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/Between.java
# iotdb-core/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/Eq.java
# iotdb-core/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/Gt.java
# iotdb-core/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/GtEq.java
# iotdb-core/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/Lt.java
# iotdb-core/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/LtEq.java
# iotdb-core/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/NotEq.java
# iotdb-core/tsfile/src/main/java/org/apache/iotdb/tsfile/utils/TimeDuration.java
.github/workflows/pipe-it-2cluster.yml | 6 +-
.../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 | 17 +-
.../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 +-
.../it/env/cluster/config/MppCommonConfig.java | 16 ++
.../env/cluster/config/MppSharedCommonConfig.java | 15 +
.../it/env/remote/config/RemoteCommonConfig.java | 11 +
.../org/apache/iotdb/itbase/env/CommonConfig.java | 4 +
.../org/apache/iotdb/db/it/IOTDBLoadTsFileIT.java | 2 +-
.../apache/iotdb/db/it/IoTDBInsertMultiRowIT.java | 21 ++
.../iotdb/db/it/IoTDBPartialInsertionIT.java | 2 +-
.../aggregation/IoTDBCountTimeAlignedDeviceIT.java | 58 ++++
.../db/it/aligned/IoTDBAlignedSeriesQuery5IT.java | 56 ++++
.../db/it/fill/IoTDBFillWithThresholdInMSIT.java | 276 ++++++++++++++++++
.../db/it/fill/IoTDBFillWithThresholdInNSIT.java | 242 ++++++++++++++++
.../db/it/fill/IoTDBFillWithThresholdInUSIT.java | 242 ++++++++++++++++
.../iotdb/db/it/selectinto/IoTDBSelectIntoIT.java | 2 +-
.../org/apache/iotdb/db/it/utils/TestUtils.java | 57 +++-
.../test/java/org/apache/iotdb/flink/it/Utils.java | 2 +-
.../apache/iotdb/pipe/it/IoTDBPipeClusterIT.java | 140 +++++++---
.../pipe/it/IoTDBPipeConnectorParallelIT.java | 11 +-
.../apache/iotdb/pipe/it/IoTDBPipeDataSyncIT.java | 14 +-
.../apache/iotdb/pipe/it/IoTDBPipeLifeCycleIT.java | 192 +++++++++----
.../apache/iotdb/pipe/it/IoTDBPipeProtocolIT.java | 48 ++--
.../iotdb/pipe/it/IoTDBPipeSwitchStatusIT.java | 10 +-
.../apache/iotdb/pipe/it/IoTDBPipeSyntaxIT.java | 43 ++-
.../pipe/it/extractor/IoTDBPipeExtractorIT.java | 231 ++++++++++-----
.../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 +-
.../parameter/PipeParameterValidator.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-connector/grafana-plugin/go.mod | 20 +-
.../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 +-
.../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4 | 2 +-
.../src/assembly/resources/conf/confignode-env.bat | 4 +
.../src/assembly/resources/conf/confignode-env.sh | 3 +
.../resources/conf/iotdb-confignode.properties | 7 +-
.../write/region/CreateRegionGroupsPlan.java | 23 +-
.../manager/consensus/ConsensusManager.java | 18 +-
.../pipe/runtime/PipeHeartbeatScheduler.java | 6 +
.../manager/pipe/runtime/PipeMetaSyncer.java | 8 +-
.../manager/pipe/task/PipeTaskCoordinator.java | 7 +-
.../manager/pipe/task/PipeTaskCoordinatorLock.java | 4 +
.../partition/DatabasePartitionTable.java | 8 +-
.../persistence/partition/PartitionInfo.java | 4 +-
.../persistence/schema/ConfigMTreeStore.java | 3 +-
.../persistence/schema/TemplateTable.java | 2 +-
.../impl/node/RemoveConfigNodeProcedure.java | 3 +-
.../impl/schema/AlterLogicalViewProcedure.java | 6 +-
.../impl/schema/DeleteDatabaseProcedure.java | 6 +-
.../impl/schema/DeleteLogicalViewProcedure.java | 6 +-
.../impl/schema/SetTemplateProcedure.java | 6 +-
.../statemachine/CreateRegionGroupsProcedure.java | 2 -
.../impl/trigger/CreateTriggerProcedure.java | 4 +-
.../impl/trigger/DropTriggerProcedure.java | 2 +-
.../request/ConfigPhysicalPlanSerDeTest.java | 6 +-
.../confignode/persistence/PartitionInfoTest.java | 5 -
.../persistence/schema/ClusterSchemaInfoTest.java | 2 +-
.../persistence/schema/TemplateTableTest.java | 2 +-
.../impl/CreateRegionGroupsProcedureTest.java | 3 -
.../schema/DeactivateTemplateProcedureTest.java | 2 +-
.../impl/schema/UnsetTemplateProcedureTest.java | 2 +-
.../confignode1conf/iotdb-confignode.properties | 1 -
.../confignode2conf/iotdb-confignode.properties | 1 -
.../confignode3conf/iotdb-confignode.properties | 1 -
.../consensus/iot/IoTConsensusServerImpl.java | 21 ++
.../consensus/iot/client/DispatchLogHandler.java | 2 +-
.../ratis/ApplicationStateMachineProxy.java | 16 +-
.../iotdb/consensus/ratis/RatisConsensus.java | 91 +++---
.../iotdb/consensus/ratis/utils/Retriable.java | 107 +++++++
.../iotdb/consensus/ratis/utils/RetryPolicy.java | 79 ++++++
.../apache/iotdb/consensus/ratis/utils/Utils.java | 10 +
.../iotdb/consensus/ratis/RecoverReadTest.java | 3 +-
iotdb-core/datanode/pom.xml | 4 +
.../src/assembly/resources/conf/datanode-env.bat | 3 +-
.../src/assembly/resources/conf/datanode-env.sh | 3 +-
.../resources/conf/iotdb-datanode.properties | 19 +-
.../src/main/codegen/templates/ModeAccumulator.ftl | 6 +-
.../codegen/templates/abstractVariationWindow.ftl | 2 +-
.../src/main/codegen/templates/constantFill.ftl | 5 +-
.../src/main/codegen/templates/linearFill.ftl | 2 +-
.../src/main/codegen/templates/previousFill.ftl | 58 ++--
.../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 +-
.../org/apache/iotdb/db/conf/IoTDBStartCheck.java | 5 +
.../db/consensus/DataRegionConsensusImpl.java | 2 +
.../db/consensus/SchemaRegionConsensusImpl.java | 2 +
.../dataregion/DataExecutionVisitor.java | 4 +-
.../schemaregion/SchemaExecutionVisitor.java | 2 +-
.../metadata/DataTypeMismatchException.java | 2 +-
.../agent/plugin/PipeConnectorConstructor.java | 112 ++++++++
.../agent/plugin/PipeExtractorConstructor.java | 58 ++++
.../db/pipe/agent/plugin/PipePluginAgent.java | 111 ++++----
.../pipe/agent/plugin/PipePluginConstructor.java | 85 ++++++
.../agent/plugin/PipeProcessorConstructor.java | 52 ++++
.../pipe/agent/runtime/PipeCronEventInjector.java | 72 -----
.../agent/runtime/PipePeriodicalJobExecutor.java | 100 +++++++
.../db/pipe/agent/runtime/PipeRuntimeAgent.java | 7 +-
...oTDBThriftAsyncPipeTransferBatchReqBuilder.java | 2 +-
...IoTDBThriftSyncPipeTransferBatchReqBuilder.java | 2 +-
.../builder/PipeTransferBatchReqBuilder.java | 30 +-
.../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 +-
.../PipeHistoricalDataRegionTsFileExtractor.java | 21 +-
.../realtime/assigner/DisruptorQueue.java | 2 +-
.../iotdb/db/pipe/metric/PipeResourceMetrics.java | 23 +-
.../db/pipe/resource/memory/PipeMemoryBlock.java | 137 ++++++++-
.../db/pipe/resource/memory/PipeMemoryManager.java | 121 ++++++--
.../db/pipe/task/stage/PipeTaskExtractorStage.java | 20 +-
.../db/pipe/task/stage/PipeTaskProcessorStage.java | 15 +-
.../connector/PipeConnectorSubtaskManager.java | 73 +----
.../iotdb/db/protocol/client/ConfigNodeInfo.java | 14 +-
.../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/v1/impl/GrafanaApiServiceImpl.java | 3 +-
.../rest/v2/handler/QueryDataSetHandler.java | 4 +-
.../v2/handler/StatementConstructionHandler.java | 2 +-
.../rest/v2/impl/GrafanaApiServiceImpl.java | 3 +-
.../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 | 176 +++++++++---
.../common/schematree/DeviceSchemaInfo.java | 36 ++-
.../common/schematree/IMeasurementSchemaInfo.java | 4 +
.../queryengine/common/schematree/ISchemaTree.java | 25 +-
.../common/schematree/MeasurementSchemaInfo.java | 12 +-
.../common/schematree/node/SchemaEntityNode.java | 18 +-
.../schematree/node/SchemaMeasurementNode.java | 1 +
.../SchemaTreeDeviceUsingTemplateVisitor.java | 54 ++++
.../visitor/SchemaTreeDeviceVisitor.java | 17 +-
.../schematree/visitor/SchemaTreeVisitor.java | 65 ++++-
.../visitor/SchemaTreeVisitorFactory.java | 16 +-
.../SchemaTreeVisitorWithLimitOffsetWrapper.java | 6 +
.../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/executor/RegionWriteExecutor.java | 10 +-
.../execution/fragment/QueryContext.java | 23 +-
.../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 | 4 +-
.../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 | 8 +-
.../operator/process/TagAggregationOperator.java | 4 +-
.../execution/operator/process/TopKOperator.java | 12 +-
.../operator/process/TransformOperator.java | 6 +-
.../execution/operator/process/fill/IFill.java | 5 +-
.../process/fill/{IFill.java => IFillFilter.java} | 12 +-
.../operator/process/fill/ILinearFill.java | 2 +-
.../AbstractMonthIntervalFillFilter.java} | 38 +--
.../FixedIntervalFillFilter.java} | 20 +-
.../MonthIntervalMSFillFilter.java} | 33 ++-
.../fill/filter/MonthIntervalNSFillFilter.java | 45 +++
.../fill/filter/MonthIntervalUSFillFilter.java | 50 ++++
.../process/fill/identity/IdentityFill.java | 5 +-
.../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 +-
.../operator/schema/SchemaFetchScanOperator.java | 9 +-
.../schema/SchemaQueryOrderByHeatOperator.java | 2 +-
.../operator/schema/SchemaQueryScanOperator.java | 2 +-
.../operator/schema/SchemaTsBlockUtil.java | 2 +-
.../AbstractSeriesAggregationScanOperator.java | 144 ++++++----
.../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 | 29 +-
.../plan/analyze/ExpressionAnalyzer.java | 2 +-
.../plan/analyze/ExpressionTypeAnalyzer.java | 2 +-
.../queryengine/plan/analyze/ExpressionUtils.java | 3 +-
.../plan/analyze/LoadTsfileAnalyzer.java | 14 +-
.../queryengine/plan/analyze/SelectIntoUtils.java | 2 +-
.../db/queryengine/plan/analyze/TypeProvider.java | 2 +-
.../analyze/cache/schema/DataNodeSchemaCache.java | 58 ++--
.../schema/DeviceUsingTemplateSchemaCache.java | 44 +--
.../analyze/cache/schema/SchemaCacheEntry.java | 3 +-
.../analyze/schema/AutoCreateSchemaExecutor.java | 34 +--
.../analyze/schema/ClusterSchemaFetchExecutor.java | 2 +-
.../plan/analyze/schema/ClusterSchemaFetcher.java | 12 +-
.../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/executor/ClusterConfigTaskExecutor.java | 11 +
.../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 | 11 +-
.../plan/parser/StatementGenerator.java | 2 +-
.../plan/planner/LocalExecutionPlanContext.java | 2 +-
.../plan/planner/LogicalPlanBuilder.java | 2 +-
.../plan/planner/OperatorTreeGenerator.java | 76 ++++-
.../plan/planner/plan/node/PlanGraphPrinter.java | 5 +
.../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 | 6 +-
.../planner/plan/node/write/InsertRowNode.java | 4 +-
.../plan/node/write/InsertRowsOfOneDeviceNode.java | 48 ++--
.../planner/plan/node/write/InsertTabletNode.java | 4 +-
.../plan/node/write/PipeEnrichedInsertNode.java | 2 +-
.../parameter/DeviceViewIntoPathDescriptor.java | 2 +-
.../planner/plan/parameter/FillDescriptor.java | 36 ++-
.../planner/plan/parameter/IntoPathDescriptor.java | 2 +-
.../plan/scheduler/AsyncSendPlanNodeHandler.java | 7 +-
.../plan/scheduler/load/LoadTsFileScheduler.java | 10 +-
.../plan/statement/component/FillComponent.java | 14 +
.../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 +-
.../apache/iotdb/db/schemaengine/SchemaEngine.java | 2 +
.../schemaengine/schemaregion/ISchemaRegion.java | 7 +-
.../schemaregion/impl/SchemaRegionMemoryImpl.java | 25 +-
.../schemaregion/impl/SchemaRegionPBTreeImpl.java | 55 ++--
.../visitor/SchemaRegionPlanDeserializer.java | 2 +-
.../visitor/SchemaRegionPlanSerializer.java | 2 +-
.../visitor/SchemaRegionPlanTxtSerializer.java | 2 +-
.../schemaregion/mtree/IMTreeStore.java | 9 +-
.../mtree/impl/mem/MTreeBelowSGMemoryImpl.java | 64 ++++-
.../schemaregion/mtree/impl/mem/MemMTreeStore.java | 2 +-
.../mtree/impl/mem/mnode/info/LogicalViewInfo.java | 2 +-
.../mtree/impl/mem/mnode/info/MeasurementInfo.java | 2 +-
.../mnode/iterator/AbstractTraverserIterator.java | 11 +-
.../impl/mem/mnode/iterator/MNodeIterator.java | 5 +
.../mtree/impl/pbtree/CachedMTreeStore.java | 41 ++-
.../mtree/impl/pbtree/MTreeBelowSGCachedImpl.java | 142 ++++++----
.../pbtree/ReentrantReadOnlyCachedMTreeStore.java | 5 +-
.../mtree/impl/pbtree/schemafile/RecordUtils.java | 2 +-
.../impl/pbtree/schemafile/WrappedSegment.java | 2 +-
.../schemaregion/mtree/traverser/Traverser.java | 41 ++-
.../traverser/basic/MeasurementTraverser.java | 13 +
.../traverser/collector/MeasurementCollector.java | 5 +
.../read/resp/info/impl/ShowTimeSeriesResult.java | 2 +-
.../reader/impl/TimeseriesReaderWithViewFetch.java | 2 +-
.../schemaregion/utils/ResourceByPathUtils.java | 12 +-
.../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 | 12 +-
.../iotdb/db/schemaengine/template/Template.java | 2 +-
.../template/alter/TemplateExtendInfo.java | 2 +-
.../java/org/apache/iotdb/db/service/DataNode.java | 62 ++--
.../apache/iotdb/db/service/IoTDBShutdownHook.java | 3 +
.../db/service/metrics/CompactionMetrics.java | 311 +++++++++++++++++++++
.../metrics/IoTDBInternalLocalReporter.java | 2 +-
.../db/storageengine/buffer/BloomFilterCache.java | 56 ++--
.../storageengine/buffer/CacheHitRatioMonitor.java | 3 +-
.../iotdb/db/storageengine/buffer/ChunkCache.java | 155 +++++++---
.../buffer/TimeSeriesMetadataCache.java | 125 ++++++---
.../db/storageengine/dataregion/DataRegion.java | 76 +++--
.../dataregion/HashLastFlushTimeMap.java | 2 +-
.../impl/ReadChunkCompactionPerformer.java | 10 +-
.../execute/recover/CompactionRecoverManager.java | 18 +-
.../execute/task/AbstractCompactionTask.java | 63 ++++-
.../execute/task/CrossSpaceCompactionTask.java | 7 +-
.../execute/task/InnerSpaceCompactionTask.java | 35 +--
.../task/InsertionCrossSpaceCompactionTask.java | 24 +-
.../execute/utils/MultiTsFileDeviceIterator.java | 29 +-
.../fast/AlignedSeriesCompactionExecutor.java | 18 +-
.../fast/NonAlignedSeriesCompactionExecutor.java | 9 +-
.../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 | 13 +-
.../schedule/CompactionScheduleSummary.java | 72 +++++
.../compaction/schedule/CompactionScheduler.java | 36 ++-
.../compaction/schedule/CompactionWorker.java | 13 +-
.../impl/RewriteCrossSpaceCompactionSelector.java | 11 +-
.../dataregion/memtable/AbstractMemTable.java | 4 +-
.../memtable/AlignedReadOnlyMemChunk.java | 2 +-
.../memtable/AlignedWritableMemChunk.java | 25 +-
.../dataregion/memtable/IWritableMemChunk.java | 2 +-
.../dataregion/memtable/ReadOnlyMemChunk.java | 2 +-
.../dataregion/memtable/TsFileProcessor.java | 2 +-
.../dataregion/memtable/WritableMemChunk.java | 4 +-
.../read/reader/chunk/DiskAlignedChunkLoader.java | 26 +-
.../read/reader/chunk/DiskChunkLoader.java | 27 +-
.../read/reader/chunk/MemAlignedPageReader.java | 6 +-
.../read/reader/chunk/MemPageReader.java | 6 +-
.../metadata/DiskAlignedChunkMetadataLoader.java | 4 +-
.../chunk/metadata/DiskChunkMetadataLoader.java | 4 +-
.../metadata/MemAlignedChunkMetadataLoader.java | 4 +-
.../chunk/metadata/MemChunkMetadataLoader.java | 4 +-
.../reader/common/CachedPriorityMergeReader.java | 2 +-
.../storageengine/dataregion/tsfile/TsFileID.java | 96 +++++++
.../dataregion/tsfile/TsFileManager.java | 16 +-
.../dataregion/tsfile/TsFileResource.java | 105 ++-----
.../dataregion/utils/TsFileResourceUtils.java | 2 +-
.../storageengine/dataregion/wal/node/WALNode.java | 7 +-
.../dataregion/wal/utils/WALEntryHandler.java | 2 +-
.../dataregion/wal/utils/WALEntryPosition.java | 8 +-
.../dataregion/wal/utils/WALInsertNodeCache.java | 62 +++-
.../dataregion/wal/utils/WALWriteUtils.java | 2 +-
.../wal/utils/listener/WALFlushListener.java | 2 +-
.../db/storageengine/rescon/disk/TierManager.java | 3 +
.../rescon/memory/PrimitiveArrayManager.java | 4 +-
.../db/storageengine/rescon/memory/SystemInfo.java | 52 +++-
.../rescon/memory/TimePartitionManager.java | 6 +
.../rescon/quotas/DefaultOperationQuota.java | 2 +-
.../iotdb/db/tools/TsFileSplitByPartitionTool.java | 4 +-
.../org/apache/iotdb/db/tools/TsFileSplitTool.java | 4 +-
.../TsFileOverlapValidationAndRepairTool.java | 3 +-
.../db/tools/validate/TsFileValidationTool.java | 2 +-
.../org/apache/iotdb/db/utils/CommonUtils.java | 2 +-
.../iotdb/db/utils/EncodingInferenceUtils.java | 4 +-
.../org/apache/iotdb/db/utils/FileLoaderUtils.java | 16 +-
.../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 +-
.../iotdb/db/utils/TimestampPrecisionUtils.java | 2 +-
.../apache/iotdb/db/utils/TypeInferenceUtils.java | 2 +-
.../db/utils/datastructure/AlignedTVList.java | 66 ++++-
.../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 | 75 ++++-
.../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 | 50 ++--
.../schemaRegion/SchemaRegionManagementTest.java | 2 +-
.../schemaRegion/SchemaRegionTemplateTest.java | 42 +--
.../schemaRegion/SchemaRegionTestUtil.java | 2 +-
.../schemaRegion/SchemaStatisticsTest.java | 2 +-
.../metadata/view/ViewExpressionToStringTest.java | 2 +-
.../db/pipe/agent/plugin/PipePluginAgentTest.java | 6 +-
.../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 +-
.../db/protocol/rest/GrafanaApiServiceTest.java | 92 +++++-
.../apache/iotdb/db/query/udf/example/Adder.java | 2 +-
.../common/schematree/ClusterSchemaTreeTest.java | 123 +++++++-
.../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 | 7 +-
.../execution/operator/DeviceViewOperatorTest.java | 2 +-
.../execution/operator/FillOperatorTest.java | 177 +++++++++++-
.../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 | 49 ++--
.../execution/operator/TopKOperatorTest.java | 8 +-
.../operator/UpdateLastCacheOperatorTest.java | 2 +-
.../fill/filter/MonthIntervalFillFilterTest.java | 163 +++++++++++
.../schema/SchemaFetchScanOperatorTest.java | 23 +-
.../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/optimization/TestPlanBuilder.java | 8 +-
.../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/plan/node/process/FillNodeSerdeTest.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 | 82 +++++-
...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 | 42 ++-
.../db/storageengine/buffer/ChunkCacheTest.java | 67 ++---
.../storageengine/dataregion/DataRegionTest.java | 2 +-
.../dataregion/LastFlushTimeMapTest.java | 2 +-
.../iotdb/db/storageengine/dataregion/TTLTest.java | 2 +-
.../TsFileResourceProgressIndexTest.java | 162 ++++++++++-
.../compaction/AbstractCompactionTest.java | 5 +-
.../compaction/CompactionSchedulerTest.java | 8 +-
.../CompactionSchedulerWithFastPerformerTest.java | 5 +
.../compaction/CompactionValidationTest.java | 2 +-
.../CrossSpaceCompactionWithUnusualCasesTest.java | 2 +-
.../compaction/FastAlignedCrossCompactionTest.java | 2 +-
.../FastCrossCompactionPerformerTest.java | 2 +-
.../FastInnerCompactionPerformerTest.java | 4 +-
.../FastNonAlignedCrossCompactionTest.java | 2 +-
.../compaction/ReadChunkInnerCompactionTest.java | 299 +++++++++++++++++++-
.../ReadPointAlignedCrossCompactionTest.java | 2 +-
.../ReadPointCompactionPerformerTest.java | 2 +-
.../ReadPointNonAlignedCrossCompactionTest.java | 2 +-
.../compaction/TestUtilsForAlignedSeries.java | 2 +-
.../TsFileValidationCorrectnessTests.java | 2 +-
.../cross/CrossSpaceCompactionExceptionTest.java | 4 +
...eCompactionWithFastPerformerValidationTest.java | 2 +-
...actionWithReadPointPerformerValidationTest.java | 2 +-
.../InsertionCrossSpaceCompactionRecoverTest.java | 2 +-
.../InsertionCrossSpaceCompactionSelectorTest.java | 2 +-
.../cross/InsertionCrossSpaceCompactionTest.java | 8 +-
.../dataregion/compaction/cross/MergeTest.java | 2 +-
.../compaction/cross/MergeUpgradeTest.java | 2 +-
...eCrossSpaceCompactionWithFastPerformerTest.java | 2 +-
...sSpaceCompactionWithReadPointPerformerTest.java | 6 +-
.../inner/AbstractInnerSpaceCompactionTest.java | 2 +-
.../inner/FastCompactionPerformerAlignedTest.java | 2 +-
.../FastCompactionPerformerNoAlignedTest.java | 2 +-
.../inner/InnerCompactionEmptyTsFileTest.java | 2 +-
.../inner/InnerCompactionMoreDataTest.java | 2 +-
.../inner/InnerCompactionSchedulerTest.java | 10 +-
.../compaction/inner/InnerCompactionTest.java | 4 +-
.../InnerSeqCompactionWithFastPerformerTest.java | 8 +-
...nerSeqCompactionWithReadChunkPerformerTest.java | 2 +
.../InnerUnseqCompactionWithFastPerformerTest.java | 2 +
...rUnseqCompactionWithReadPointPerformerTest.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 | 37 +--
.../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 | 9 +-
.../reader/chunk/MemAlignedChunkLoaderTest.java | 2 +-
.../read/reader/chunk/MemChunkLoaderTest.java | 2 +-
.../read/reader/common/FakedSeriesReader.java | 2 +-
.../AlignedSeriesScanLimitOffsetPushDownTest.java | 8 +-
.../read/reader/series/SeriesReaderTestUtil.java | 4 +-
.../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 | 11 +-
.../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 | 4 +-
.../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 | 13 +-
.../SlidingSizeWindowEvaluationHandlerTest.java | 2 +-
.../SlidingTimeWindowEvaluationHandlerTest.java | 2 +-
.../datanode1conf/iotdb-datanode.properties | 1 -
.../datanode2conf/iotdb-datanode.properties | 1 -
.../datanode3conf/iotdb-datanode.properties | 1 -
iotdb-core/metrics/ReadMe.md | 18 +-
.../disk/DoNothingDiskMetricsManager.java} | 10 +-
.../metricsets/disk/IDiskMetricsManager.java | 24 +-
.../metricsets/net/DoNothingNetMetricManager.java} | 10 +-
.../metrics/metricsets/net/INetMetricManager.java | 33 ++-
.../metrics/metricsets/system/SystemMetrics.java | 40 +--
.../metrics/reporter/iotdb/IoTDBReporter.java | 2 +-
.../reporter/iotdb/IoTDBSessionReporter.java | 2 +-
.../apache/iotdb/metrics/utils/MetricLevel.java | 2 +-
.../iotdb/metrics/config/MetricConfigTest.java | 2 -
.../resources/conf/iotdb-common.properties | 2 +-
.../iotdb/commons/concurrent/ThreadName.java | 4 +-
.../apache/iotdb/commons/conf/CommonConfig.java | 9 +
.../iotdb/commons/conf/CommonDescriptor.java | 5 +
.../apache/iotdb/commons/conf/IoTDBConstant.java | 6 -
.../commons/consensus/index/ProgressIndex.java | 144 ++++++++--
.../consensus/index/impl/HybridProgressIndex.java | 36 ++-
.../consensus/index/impl/IoTProgressIndex.java | 19 +-
.../consensus/index/impl/MinimumProgressIndex.java | 12 +-
.../consensus/index/impl/RecoverProgressIndex.java | 22 +-
.../consensus/index/impl/SimpleProgressIndex.java | 11 +-
.../org/apache/iotdb/commons/path/AlignedPath.java | 2 +-
.../apache/iotdb/commons/path/MeasurementPath.java | 2 +-
.../org/apache/iotdb/commons/path/PartialPath.java | 2 +-
.../apache/iotdb/commons/path/PathPatternNode.java | 6 +-
.../apache/iotdb/commons/path/PathPatternTree.java | 17 +-
.../apache/iotdb/commons/path/fa/dfa/DFAState.java | 6 +-
.../iotdb/commons/path/fa/dfa/PatternDFA.java | 63 +++--
.../iotdb/commons/path/fa/dfa/graph/DFAGraph.java | 80 ++++--
.../iotdb/commons/pipe/config/PipeConfig.java | 4 +
.../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/node/utils/IMNodeIterator.java | 2 +
.../commons/schema/tree/AbstractTreeVisitor.java | 50 +++-
.../commons/schema/view/LogicalViewSchema.java | 2 +-
.../viewExpression/leaf/ConstantViewOperand.java | 2 +-
.../iotdb/commons/service/RegisterManager.java | 6 +
.../iotdb/commons/service/metric/enums/Metric.java | 8 +-
.../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 +-
.../apache/iotdb/commons/path/PatternDFATest.java | 35 ++-
.../iotdb/commons/pipe/PipeMetaDeSerTest.java | 4 +-
.../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 | 52 +++-
.../iotdb/tsfile/file/header/PageHeader.java | 2 +-
.../tsfile/file/metadata/AlignedChunkMetadata.java | 12 +-
.../iotdb/tsfile/file/metadata/ChunkMetadata.java | 114 ++++----
.../iotdb/tsfile/file/metadata/IChunkMetadata.java | 4 +-
.../tsfile/file/metadata/TimeseriesMetadata.java | 57 ++--
.../iotdb/tsfile/file/metadata/TsFileMetadata.java | 31 --
.../file/metadata/statistics/BinaryStatistics.java | 24 +-
.../metadata/statistics/BooleanStatistics.java | 19 +-
.../file/metadata/statistics/DoubleStatistics.java | 19 +-
.../file/metadata/statistics/FloatStatistics.java | 19 +-
.../metadata/statistics/IntegerStatistics.java | 19 +-
.../file/metadata/statistics/LongStatistics.java | 19 +-
.../file/metadata/statistics/Statistics.java | 20 +-
.../file/metadata/statistics/TimeStatistics.java | 18 +-
.../iotdb/tsfile/read/TsFileSequenceReader.java | 32 ++-
.../apache/iotdb/tsfile/read/common/BatchData.java | 4 +-
.../iotdb/tsfile/read/common/BatchDataFactory.java | 2 +-
.../org/apache/iotdb/tsfile/read/common/Chunk.java | 28 +-
.../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 +-
.../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 +-
.../org/apache/iotdb/tsfile/utils/BloomFilter.java | 95 ++-----
.../apache/iotdb/tsfile/utils/FilePathUtils.java | 38 ---
.../iotdb/tsfile/utils/ReadWriteIOUtils.java | 7 +-
.../apache/iotdb/tsfile/utils/TimeDuration.java | 8 +
.../iotdb/tsfile/utils/TsFileGeneratorUtils.java | 2 +-
.../write/chunk/AlignedChunkGroupWriterImpl.java | 4 +-
.../tsfile/write/chunk/AlignedChunkWriterImpl.java | 9 +-
.../iotdb/tsfile/write/chunk/ChunkWriterImpl.java | 7 +-
.../iotdb/tsfile/write/chunk/IChunkWriter.java | 3 +
.../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 | 11 +-
.../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 | 3 +-
.../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 +-
pom.xml | 2 +-
1099 files changed, 8657 insertions(+), 3427 deletions(-)
diff --cc iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/ClientRPCServiceImpl.java
index 2c68184f8e7,bb12793dc3c..184ecd31744
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/ClientRPCServiceImpl.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/protocol/thrift/impl/ClientRPCServiceImpl.java
@@@ -167,9 -166,10 +166,10 @@@ import org.apache.iotdb.tsfile.file.met
import org.apache.iotdb.tsfile.read.TimeValuePair;
import org.apache.iotdb.tsfile.read.common.block.TsBlock;
import org.apache.iotdb.tsfile.read.common.block.TsBlockBuilder;
+ import org.apache.iotdb.tsfile.read.common.block.column.Column;
import org.apache.iotdb.tsfile.read.common.block.column.TsBlockSerde;
-import org.apache.iotdb.tsfile.read.filter.TimeFilter;
import org.apache.iotdb.tsfile.read.filter.basic.Filter;
+import org.apache.iotdb.tsfile.read.filter.factory.TimeFilter;
import org.apache.iotdb.tsfile.utils.Binary;
import org.apache.iotdb.tsfile.utils.Pair;
import org.apache.iotdb.tsfile.utils.TimeDuration;
diff --cc iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeVisitor.java
index c51933221e5,e813503ee91..9e1c0757e86
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeVisitor.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeVisitor.java
@@@ -138,11 -137,16 +138,11 @@@ import org.apache.iotdb.db.queryengine.
import org.apache.iotdb.db.queryengine.plan.statement.sys.ShowQueriesStatement;
import org.apache.iotdb.db.queryengine.plan.statement.sys.ShowVersionStatement;
import org.apache.iotdb.db.schemaengine.template.Template;
-import org.apache.iotdb.db.utils.TimestampPrecisionUtils;
import org.apache.iotdb.rpc.RpcUtils;
import org.apache.iotdb.rpc.TSStatusCode;
- import org.apache.iotdb.tsfile.enums.TSDataType;
+ import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
import org.apache.iotdb.tsfile.read.common.TimeRange;
-import org.apache.iotdb.tsfile.read.filter.GroupByFilter;
-import org.apache.iotdb.tsfile.read.filter.GroupByMonthFilter;
-import org.apache.iotdb.tsfile.read.filter.PredicateRemoveNotRewriter;
import org.apache.iotdb.tsfile.read.filter.basic.Filter;
-import org.apache.iotdb.tsfile.read.filter.factory.FilterFactory;
import org.apache.iotdb.tsfile.utils.Pair;
import org.apache.iotdb.tsfile.write.schema.IMeasurementSchema;
diff --cc iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/ExpressionAnalyzer.java
index 44a7ba4ecb4,d79e06f34ca..df4732eb5a1
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/ExpressionAnalyzer.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/ExpressionAnalyzer.java
@@@ -61,7 -59,10 +61,7 @@@ import org.apache.iotdb.db.queryengine.
import org.apache.iotdb.db.queryengine.plan.statement.component.ResultColumn;
import org.apache.iotdb.db.utils.constant.SqlConstant;
import org.apache.iotdb.tsfile.common.constant.TsFileConstant;
- import org.apache.iotdb.tsfile.enums.TSDataType;
+ import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
-import org.apache.iotdb.tsfile.read.filter.TimeFilter;
-import org.apache.iotdb.tsfile.read.filter.basic.Filter;
-import org.apache.iotdb.tsfile.read.filter.factory.FilterFactory;
import org.apache.iotdb.tsfile.utils.Pair;
import java.util.ArrayList;
diff --cc iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/ExpressionUtils.java
index b14512dedf4,69533a3ff4c..509c0bd6bcb
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/ExpressionUtils.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/ExpressionUtils.java
@@@ -51,10 -52,9 +51,11 @@@ import org.apache.iotdb.db.queryengine.
import org.apache.iotdb.db.queryengine.plan.expression.unary.NegationExpression;
import org.apache.iotdb.db.queryengine.plan.expression.unary.RegularExpression;
import org.apache.iotdb.db.queryengine.plan.expression.unary.UnaryExpression;
+ import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
+ import org.apache.iotdb.tsfile.read.filter.TimeFilter;
+import org.apache.iotdb.db.queryengine.plan.expression.visitor.predicate.ConvertExpressionToTimeFilterVisitor;
- import org.apache.iotdb.tsfile.enums.TSDataType;
import org.apache.iotdb.tsfile.read.filter.basic.Filter;
+import org.apache.iotdb.tsfile.read.filter.factory.TimeFilter;
import org.apache.iotdb.tsfile.utils.Pair;
import java.util.ArrayList;
diff --cc iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/ExpressionFactory.java
index ac3d91adda2,cb34ec72682..2c099559350
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/ExpressionFactory.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/ExpressionFactory.java
@@@ -34,12 -34,7 +34,12 @@@ import org.apache.iotdb.db.queryengine.
import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimeSeriesOperand;
import org.apache.iotdb.db.queryengine.plan.expression.leaf.TimestampOperand;
import org.apache.iotdb.db.queryengine.plan.expression.multi.FunctionExpression;
+ import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
+import org.apache.iotdb.db.queryengine.plan.expression.unary.FixedIntervalMultiRangeExpression;
+import org.apache.iotdb.db.queryengine.plan.expression.unary.InExpression;
+import org.apache.iotdb.db.queryengine.plan.expression.unary.LogicNotExpression;
+import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.GroupByTimeParameter;
- import org.apache.iotdb.tsfile.enums.TSDataType;
+import org.apache.iotdb.tsfile.utils.TimeDuration;
import java.util.Arrays;
import java.util.Collections;
diff --cc iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/LogicalPlanBuilder.java
index 39b225be56f,2d84088d4ed..02c254e0d61
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/LogicalPlanBuilder.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/LogicalPlanBuilder.java
@@@ -99,7 -99,8 +99,7 @@@ import org.apache.iotdb.db.queryengine.
import org.apache.iotdb.db.schemaengine.schemaregion.utils.MetaUtils;
import org.apache.iotdb.db.schemaengine.template.Template;
import org.apache.iotdb.db.utils.SchemaUtils;
- 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;
diff --cc iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/OperatorTreeGenerator.java
index c0a99e9a4c1,bc70aff0fe9..5a76dca686d
--- 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
@@@ -219,10 -223,11 +224,11 @@@ import org.apache.iotdb.tsfile.file.met
import org.apache.iotdb.tsfile.read.TimeValuePair;
import org.apache.iotdb.tsfile.read.common.block.TsBlockBuilder;
import org.apache.iotdb.tsfile.read.filter.basic.Filter;
-import org.apache.iotdb.tsfile.read.filter.operator.Gt;
-import org.apache.iotdb.tsfile.read.filter.operator.GtEq;
+import org.apache.iotdb.tsfile.read.filter.operator.TimeFilterOperators.TimeGt;
+import org.apache.iotdb.tsfile.read.filter.operator.TimeFilterOperators.TimeGtEq;
import org.apache.iotdb.tsfile.utils.Binary;
import org.apache.iotdb.tsfile.utils.Pair;
+ import org.apache.iotdb.tsfile.utils.TimeDuration;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
diff --cc iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/reader/chunk/MemAlignedPageReader.java
index 26244c5bfb1,3f305da610d..7070f84bc4d
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/reader/chunk/MemAlignedPageReader.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/reader/chunk/MemAlignedPageReader.java
@@@ -28,8 -26,10 +26,10 @@@ import org.apache.iotdb.tsfile.read.com
import org.apache.iotdb.tsfile.read.common.BatchDataFactory;
import org.apache.iotdb.tsfile.read.common.block.TsBlock;
import org.apache.iotdb.tsfile.read.common.block.TsBlockBuilder;
+ import org.apache.iotdb.tsfile.read.common.block.column.Column;
+ import org.apache.iotdb.tsfile.read.common.block.column.ColumnBuilder;
import org.apache.iotdb.tsfile.read.filter.basic.Filter;
-import org.apache.iotdb.tsfile.read.filter.operator.AndFilter;
+import org.apache.iotdb.tsfile.read.filter.factory.FilterFactory;
import org.apache.iotdb.tsfile.read.reader.IAlignedPageReader;
import org.apache.iotdb.tsfile.read.reader.IPageReader;
import org.apache.iotdb.tsfile.read.reader.series.PaginationController;
diff --cc iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/reader/chunk/MemPageReader.java
index f1c571a5cff,9c067e53925..fa71bc3d894
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/reader/chunk/MemPageReader.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/reader/chunk/MemPageReader.java
@@@ -28,9 -27,10 +27,10 @@@ import org.apache.iotdb.tsfile.read.com
import org.apache.iotdb.tsfile.read.common.BatchDataFactory;
import org.apache.iotdb.tsfile.read.common.block.TsBlock;
import org.apache.iotdb.tsfile.read.common.block.TsBlockBuilder;
+ import org.apache.iotdb.tsfile.read.common.block.column.ColumnBuilder;
import org.apache.iotdb.tsfile.read.common.block.column.TimeColumnBuilder;
import org.apache.iotdb.tsfile.read.filter.basic.Filter;
-import org.apache.iotdb.tsfile.read.filter.operator.AndFilter;
+import org.apache.iotdb.tsfile.read.filter.factory.FilterFactory;
import org.apache.iotdb.tsfile.read.reader.IPageReader;
import org.apache.iotdb.tsfile.read.reader.series.PaginationController;
import org.apache.iotdb.tsfile.utils.Binary;
diff --cc iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/TimeValuePairUtils.java
index 0e19cd28fb1,c87b90d66bc..f6829614beb
--- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/TimeValuePairUtils.java
+++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/utils/TimeValuePairUtils.java
@@@ -19,10 -19,16 +19,10 @@@
package org.apache.iotdb.db.utils;
import org.apache.iotdb.tsfile.common.conf.TSFileConfig;
- import org.apache.iotdb.tsfile.enums.TSDataType;
- import org.apache.iotdb.tsfile.exception.UnSupportedDataTypeException;
+ import org.apache.iotdb.tsfile.exception.write.UnSupportedDataTypeException;
+ import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
import org.apache.iotdb.tsfile.read.TimeValuePair;
import org.apache.iotdb.tsfile.read.common.BatchData;
-import org.apache.iotdb.tsfile.read.filter.GroupByFilter;
-import org.apache.iotdb.tsfile.read.filter.TimeFilter;
-import org.apache.iotdb.tsfile.read.filter.basic.Filter;
-import org.apache.iotdb.tsfile.read.filter.operator.AndFilter;
-import org.apache.iotdb.tsfile.read.filter.operator.NotFilter;
-import org.apache.iotdb.tsfile.read.filter.operator.OrFilter;
import org.apache.iotdb.tsfile.utils.Binary;
import org.apache.iotdb.tsfile.utils.TsPrimitiveType;
import org.apache.iotdb.tsfile.utils.TsPrimitiveType.TsBinary;
diff --cc iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/AlignedSeriesAggregationScanOperatorTest.java
index bb40f0d52b6,a9295d8a411..5949516be39
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/AlignedSeriesAggregationScanOperatorTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/AlignedSeriesAggregationScanOperatorTest.java
@@@ -43,12 -43,12 +43,12 @@@ import org.apache.iotdb.db.queryengine.
import org.apache.iotdb.db.storageengine.dataregion.read.QueryDataSource;
import org.apache.iotdb.db.storageengine.dataregion.tsfile.TsFileResource;
import org.apache.iotdb.tsfile.common.conf.TSFileDescriptor;
- import org.apache.iotdb.tsfile.enums.TSDataType;
import org.apache.iotdb.tsfile.exception.write.WriteProcessException;
+ import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
import org.apache.iotdb.tsfile.read.common.block.TsBlock;
-import org.apache.iotdb.tsfile.read.filter.TimeFilter;
import org.apache.iotdb.tsfile.read.filter.basic.Filter;
-import org.apache.iotdb.tsfile.read.filter.operator.AndFilter;
+import org.apache.iotdb.tsfile.read.filter.factory.FilterFactory;
+import org.apache.iotdb.tsfile.read.filter.factory.TimeFilter;
import org.apache.iotdb.tsfile.utils.TimeDuration;
import org.apache.iotdb.tsfile.write.schema.IMeasurementSchema;
import org.apache.iotdb.tsfile.write.schema.MeasurementSchema;
diff --cc iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/RawDataAggregationOperatorTest.java
index 8b84ca70aa3,7c6869bd94a..5060e1fa2a1
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/RawDataAggregationOperatorTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/RawDataAggregationOperatorTest.java
@@@ -53,11 -53,12 +53,11 @@@ import org.apache.iotdb.db.storageengin
import org.apache.iotdb.db.storageengine.dataregion.read.reader.series.SeriesReaderTestUtil;
import org.apache.iotdb.db.storageengine.dataregion.tsfile.TsFileResource;
import org.apache.iotdb.tsfile.common.conf.TSFileDescriptor;
- import org.apache.iotdb.tsfile.enums.TSDataType;
import org.apache.iotdb.tsfile.exception.write.WriteProcessException;
+ import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
import org.apache.iotdb.tsfile.read.common.block.TsBlock;
import org.apache.iotdb.tsfile.read.filter.basic.Filter;
-import org.apache.iotdb.tsfile.read.filter.factory.FilterType;
-import org.apache.iotdb.tsfile.read.filter.operator.Gt;
+import org.apache.iotdb.tsfile.read.filter.factory.TimeFilter;
import org.apache.iotdb.tsfile.utils.TimeDuration;
import org.apache.iotdb.tsfile.write.schema.MeasurementSchema;
diff --cc iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/SeriesAggregationScanOperatorTest.java
index 207ffd41b83,355f397ca9a..3f827fe77ef
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/SeriesAggregationScanOperatorTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/SeriesAggregationScanOperatorTest.java
@@@ -41,12 -41,12 +41,12 @@@ import org.apache.iotdb.db.storageengin
import org.apache.iotdb.db.storageengine.dataregion.read.reader.series.SeriesReaderTestUtil;
import org.apache.iotdb.db.storageengine.dataregion.tsfile.TsFileResource;
import org.apache.iotdb.tsfile.common.conf.TSFileDescriptor;
- import org.apache.iotdb.tsfile.enums.TSDataType;
import org.apache.iotdb.tsfile.exception.write.WriteProcessException;
+ import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
import org.apache.iotdb.tsfile.read.common.block.TsBlock;
-import org.apache.iotdb.tsfile.read.filter.TimeFilter;
import org.apache.iotdb.tsfile.read.filter.basic.Filter;
-import org.apache.iotdb.tsfile.read.filter.operator.AndFilter;
+import org.apache.iotdb.tsfile.read.filter.factory.FilterFactory;
+import org.apache.iotdb.tsfile.read.filter.factory.TimeFilter;
import org.apache.iotdb.tsfile.utils.TimeDuration;
import org.apache.iotdb.tsfile.write.schema.MeasurementSchema;
diff --cc iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/UpdateLastCacheOperatorTest.java
index d2a66957ca0,0a3cf458cb3..dac9edf9c81
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/UpdateLastCacheOperatorTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/UpdateLastCacheOperatorTest.java
@@@ -40,11 -40,11 +40,11 @@@ import org.apache.iotdb.db.storageengin
import org.apache.iotdb.db.storageengine.dataregion.read.reader.series.SeriesReaderTestUtil;
import org.apache.iotdb.db.storageengine.dataregion.tsfile.TsFileResource;
import org.apache.iotdb.tsfile.common.conf.TSFileDescriptor;
- import org.apache.iotdb.tsfile.enums.TSDataType;
import org.apache.iotdb.tsfile.exception.write.WriteProcessException;
+ import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
import org.apache.iotdb.tsfile.read.common.block.TsBlock;
-import org.apache.iotdb.tsfile.read.filter.TimeFilter;
import org.apache.iotdb.tsfile.read.filter.basic.Filter;
+import org.apache.iotdb.tsfile.read.filter.factory.TimeFilter;
import org.apache.iotdb.tsfile.write.schema.MeasurementSchema;
import com.google.common.collect.Sets;
diff --cc iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeTest.java
index 9489ae54fed,312b6fb9615..36b74167c49
--- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeTest.java
+++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeTest.java
@@@ -48,7 -48,10 +48,7 @@@ import org.apache.iotdb.db.queryengine.
import org.apache.iotdb.db.queryengine.plan.parser.StatementGenerator;
import org.apache.iotdb.db.queryengine.plan.statement.Statement;
import org.apache.iotdb.db.queryengine.plan.statement.crud.QueryStatement;
- import org.apache.iotdb.tsfile.enums.TSDataType;
+ import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
-import org.apache.iotdb.tsfile.read.filter.GroupByFilter;
-import org.apache.iotdb.tsfile.read.filter.TimeFilter;
-import org.apache.iotdb.tsfile.read.filter.operator.AndFilter;
import org.apache.iotdb.tsfile.utils.Pair;
import org.apache.ratis.thirdparty.com.google.common.collect.ImmutableMap;
diff --cc iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/QueryLogicalPlanUtil.java
index 93b57e0cd27,87ffe9baca7..db9e3e7a5ff
--- 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/plan/QueryLogicalPlanUtil.java
@@@ -53,9 -53,9 +53,9 @@@ import org.apache.iotdb.db.queryengine.
import org.apache.iotdb.db.queryengine.plan.statement.component.OrderByKey;
import org.apache.iotdb.db.queryengine.plan.statement.component.Ordering;
import org.apache.iotdb.db.queryengine.plan.statement.component.SortItem;
- import org.apache.iotdb.tsfile.enums.TSDataType;
+ import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
-import org.apache.iotdb.tsfile.read.filter.TimeFilter;
import org.apache.iotdb.tsfile.read.filter.basic.Filter;
+import org.apache.iotdb.tsfile.read.filter.factory.TimeFilter;
import java.time.ZonedDateTime;
import java.util.ArrayList;
diff --cc iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/AggregationNodeSerdeTest.java
index 47cc47fc721,d98eb9e0577..2cdb8bda556
--- 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/plan/node/process/AggregationNodeSerdeTest.java
@@@ -31,7 -31,9 +31,7 @@@ import org.apache.iotdb.db.queryengine.
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.AggregationStep;
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.GroupByTimeParameter;
import org.apache.iotdb.db.queryengine.plan.statement.component.Ordering;
- import org.apache.iotdb.tsfile.enums.TSDataType;
+ import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
-import org.apache.iotdb.tsfile.read.filter.TimeFilter;
-import org.apache.iotdb.tsfile.read.filter.ValueFilter;
import org.apache.iotdb.tsfile.utils.TimeDuration;
import com.google.common.collect.Sets;
diff --cc iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/GroupByLevelNodeSerdeTest.java
index 7e0027c58cc,9b1a5c38149..ae21f684de9
--- 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/plan/node/process/GroupByLevelNodeSerdeTest.java
@@@ -32,7 -32,9 +32,7 @@@ import org.apache.iotdb.db.queryengine.
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.CrossSeriesAggregationDescriptor;
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.GroupByTimeParameter;
import org.apache.iotdb.db.queryengine.plan.statement.component.Ordering;
- import org.apache.iotdb.tsfile.enums.TSDataType;
+ import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
-import org.apache.iotdb.tsfile.read.filter.TimeFilter;
-import org.apache.iotdb.tsfile.read.filter.ValueFilter;
import org.apache.iotdb.tsfile.utils.TimeDuration;
import org.junit.Test;
diff --cc iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/GroupByTagNodeSerdeTest.java
index a9a7e638536,9876b2503b6..01ccf8749c9
--- 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/plan/node/process/GroupByTagNodeSerdeTest.java
@@@ -33,7 -33,9 +33,7 @@@ import org.apache.iotdb.db.queryengine.
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.CrossSeriesAggregationDescriptor;
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.GroupByTimeParameter;
import org.apache.iotdb.db.queryengine.plan.statement.component.Ordering;
- import org.apache.iotdb.tsfile.enums.TSDataType;
+ import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
-import org.apache.iotdb.tsfile.read.filter.TimeFilter;
-import org.apache.iotdb.tsfile.read.filter.ValueFilter;
import org.apache.iotdb.tsfile.utils.TimeDuration;
import org.junit.Assert;
diff --cc iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/LimitNodeSerdeTest.java
index afc1f4599e1,964f637cdf4..538c7b4df45
--- 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/plan/node/process/LimitNodeSerdeTest.java
@@@ -26,7 -26,8 +26,7 @@@ import org.apache.iotdb.db.queryengine.
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.OffsetNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.source.SeriesScanNode;
import org.apache.iotdb.db.queryengine.plan.statement.component.Ordering;
- import org.apache.iotdb.tsfile.enums.TSDataType;
+ import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
-import org.apache.iotdb.tsfile.read.filter.GroupByFilter;
import org.junit.Test;
diff --cc iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/OffsetNodeSerdeTest.java
index 740a08eaac6,c5016aaf643..f48dd74a8f1
--- 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/plan/node/process/OffsetNodeSerdeTest.java
@@@ -25,7 -25,8 +25,7 @@@ import org.apache.iotdb.db.queryengine.
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.OffsetNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.source.SeriesScanNode;
import org.apache.iotdb.db.queryengine.plan.statement.component.Ordering;
- import org.apache.iotdb.tsfile.enums.TSDataType;
+ import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
-import org.apache.iotdb.tsfile.read.filter.GroupByFilter;
import org.junit.Test;
diff --cc iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/SortNodeSerdeTest.java
index 280225b52ab,45951a5d6de..a4b911d7338
--- 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/plan/node/process/SortNodeSerdeTest.java
@@@ -28,7 -28,8 +28,7 @@@ import org.apache.iotdb.db.queryengine.
import org.apache.iotdb.db.queryengine.plan.statement.component.OrderByKey;
import org.apache.iotdb.db.queryengine.plan.statement.component.Ordering;
import org.apache.iotdb.db.queryengine.plan.statement.component.SortItem;
- import org.apache.iotdb.tsfile.enums.TSDataType;
+ import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
-import org.apache.iotdb.tsfile.read.filter.GroupByFilter;
import com.google.common.collect.ImmutableList;
import org.junit.Test;
diff --cc iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/process/TimeJoinNodeSerdeTest.java
index 4d577196cf6,c00380d266f..350699acf07
--- 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/plan/node/process/TimeJoinNodeSerdeTest.java
@@@ -25,7 -25,9 +25,7 @@@ import org.apache.iotdb.db.queryengine.
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.TimeJoinNode;
import org.apache.iotdb.db.queryengine.plan.planner.plan.node.source.SeriesScanNode;
import org.apache.iotdb.db.queryengine.plan.statement.component.Ordering;
- import org.apache.iotdb.tsfile.enums.TSDataType;
+ import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
-import org.apache.iotdb.tsfile.read.filter.TimeFilter;
-import org.apache.iotdb.tsfile.read.filter.ValueFilter;
import org.junit.Test;
diff --cc iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/source/SeriesAggregationScanNodeSerdeTest.java
index a13301a6bb4,39d9afad7d6..0d894f30e51
--- 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/plan/node/source/SeriesAggregationScanNodeSerdeTest.java
@@@ -31,9 -31,12 +31,9 @@@ import org.apache.iotdb.db.queryengine.
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.AggregationStep;
import org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.GroupByTimeParameter;
import org.apache.iotdb.db.queryengine.plan.statement.component.Ordering;
- import org.apache.iotdb.tsfile.enums.TSDataType;
+ import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
-import org.apache.iotdb.tsfile.read.filter.TimeFilter;
-import org.apache.iotdb.tsfile.read.filter.ValueFilter;
import org.apache.iotdb.tsfile.utils.TimeDuration;
-import com.google.common.collect.Sets;
import org.junit.Test;
import java.nio.ByteBuffer;
diff --cc iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/plan/node/source/SeriesScanNodeSerdeTest.java
index 17535d05217,e9203d11b2a..68a158ebbdd
--- 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/plan/node/source/SeriesScanNodeSerdeTest.java
@@@ -25,7 -25,8 +25,7 @@@ import org.apache.iotdb.db.queryengine.
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;
- import org.apache.iotdb.tsfile.enums.TSDataType;
+ import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
-import org.apache.iotdb.tsfile.read.filter.GroupByFilter;
import org.junit.Test;
diff --cc iotdb-core/tsfile/src/main/java/org/apache/iotdb/tsfile/read/expression/QueryExpression.java
index 1ce2be946d7,8f647923ce0..33ebcb9321a
--- a/iotdb-core/tsfile/src/main/java/org/apache/iotdb/tsfile/read/expression/QueryExpression.java
+++ b/iotdb-core/tsfile/src/main/java/org/apache/iotdb/tsfile/read/expression/QueryExpression.java
@@@ -19,9 -19,10 +19,9 @@@
package org.apache.iotdb.tsfile.read.expression;
- import org.apache.iotdb.tsfile.enums.TSDataType;
+ import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
import org.apache.iotdb.tsfile.read.common.Path;
-import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
diff --cc iotdb-core/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/page/PageReader.java
index 02960a96c98,d01705adc12..b5cd89eb047
--- a/iotdb-core/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/page/PageReader.java
+++ b/iotdb-core/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/page/PageReader.java
@@@ -30,9 -29,10 +29,10 @@@ import org.apache.iotdb.tsfile.read.com
import org.apache.iotdb.tsfile.read.common.TimeRange;
import org.apache.iotdb.tsfile.read.common.block.TsBlock;
import org.apache.iotdb.tsfile.read.common.block.TsBlockBuilder;
+ import org.apache.iotdb.tsfile.read.common.block.column.ColumnBuilder;
import org.apache.iotdb.tsfile.read.common.block.column.TimeColumnBuilder;
import org.apache.iotdb.tsfile.read.filter.basic.Filter;
-import org.apache.iotdb.tsfile.read.filter.operator.AndFilter;
+import org.apache.iotdb.tsfile.read.filter.factory.FilterFactory;
import org.apache.iotdb.tsfile.read.reader.IPageReader;
import org.apache.iotdb.tsfile.read.reader.series.PaginationController;
import org.apache.iotdb.tsfile.utils.Binary;
diff --cc iotdb-core/tsfile/src/main/java/org/apache/iotdb/tsfile/utils/TimeDuration.java
index 73c318a1275,9e3d5d20581..772975916a0
--- a/iotdb-core/tsfile/src/main/java/org/apache/iotdb/tsfile/utils/TimeDuration.java
+++ b/iotdb-core/tsfile/src/main/java/org/apache/iotdb/tsfile/utils/TimeDuration.java
@@@ -192,12 -192,11 +192,20 @@@ public class TimeDuration implements Se
return Objects.hash(monthDuration, nonMonthDuration);
}
+ @Override
+ public String toString() {
+ return "TimeDuration{"
+ + (monthDuration > 0 ? monthDuration + "mo, " : "")
+ + (nonMonthDuration > 0 ? nonMonthDuration : "")
+ + '}';
+ }
++
+ @Override
+ public int compareTo(TimeDuration other) {
+ int monthCompare = Integer.compare(monthDuration, other.monthDuration);
+ if (monthCompare != 0) {
+ return monthCompare;
+ }
+ return Long.compare(nonMonthDuration, other.nonMonthDuration);
+ }
}