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 <[email protected]> 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); + } }
