This is an automated email from the ASF dual-hosted git repository. haonan pushed a commit to branch metric in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 491a220848616e80ad54964947ca8767c28af917 Merge: c798767f44a 3e4c6a4df91 Author: HTHou <[email protected]> AuthorDate: Fri Dec 15 10:05:59 2023 +0800 Merge branch 'master' of github.com:apache/iotdb into metric .github/workflows/grafana-plugin.yml | 2 +- Jenkinsfile | 4 + example/schema/pom.xml | 2 +- .../java/org/apache/iotdb/tsfile/TsFileRead.java | 16 +- .../iotdb/it/env/cluster/ClusterConstant.java | 5 + .../it/env/cluster/node/AbstractNodeWrapper.java | 26 +- .../iotdb/it/env/cluster/node/DataNodeWrapper.java | 20 + .../apache/iotdb/itbase/constant/TestConstant.java | 1 + .../java/org/apache/iotdb/itbase/env/BaseEnv.java | 1 + .../it/partition/IoTDBPartitionCreationIT.java | 4 +- .../apache/iotdb/db/it/GrafanaApiServiceIT.java | 448 +++++ .../org/apache/iotdb/db/it/IOTDBLoadTsFileIT.java | 2 +- .../org/apache/iotdb/db/it/IoTDBMultiDeviceIT.java | 34 + .../org/apache/iotdb/db/it/IoTDBRestServiceIT.java | 2087 ++++++++++++++++++++ .../IoTDBAlignByDeviceWithTemplateIT.java | 98 + .../org/apache/iotdb/db/it/auth/IoTDBAuthIT.java | 25 +- .../iotdb/db/it/auth/IoTDBClusterAuthorityIT.java | 5 +- .../iotdb/db/it/auth/IoTDBSystemPermissionIT.java | 75 +- .../db/it/auth/IoTDBTemplatePermissionIT.java | 5 + .../apache/iotdb/db/it/groupby/IOTDBGroupByIT.java | 196 ++ .../apache/iotdb/db/it/metric/IoTDBMetricIT.java | 71 + .../org/apache/iotdb/db/it/utils/TestUtils.java | 120 +- .../iotdb/pipe/PipeEnvironmentException.java | 12 +- .../apache/iotdb/pipe/it/AbstractPipeDualIT.java | 60 + .../apache/iotdb/pipe/it/IoTDBPipeClusterIT.java | 65 +- .../pipe/it/IoTDBPipeConnectorParallelIT.java | 28 +- .../apache/iotdb/pipe/it/IoTDBPipeDataSinkIT.java | 29 +- .../apache/iotdb/pipe/it/IoTDBPipeExtractorIT.java | 71 +- .../apache/iotdb/pipe/it/IoTDBPipeLifeCycleIT.java | 126 +- ...orParallelIT.java => IoTDBPipeProcessorIT.java} | 68 +- .../apache/iotdb/pipe/it/IoTDBPipeProtocolIT.java | 27 +- .../iotdb/pipe/it/IoTDBPipeSingleEnvDemoIT.java | 16 +- .../iotdb/pipe/it/IoTDBPipeSwitchStatusIT.java | 51 +- .../apache/iotdb/pipe/it/IoTDBPipeSyntaxIT.java | 31 +- .../java/org/apache/iotdb/pipe/api/access/Row.java | 10 +- .../parameter/PipeParameterValidator.java | 6 +- .../api/customizer/parameter/PipeParameters.java | 104 +- iotdb-client/cli/pom.xml | 17 + .../java/org/apache/iotdb/cli/AbstractCli.java | 2 +- .../java/org/apache/iotdb/jdbc/IoTDBStatement.java | 15 +- .../java/org/apache/iotdb/session/Session.java | 8 +- .../org/apache/iotdb/session/pool/SessionPool.java | 8 +- .../java/org/apache/iotdb/session/SessionTest.java | 12 + .../session/pool/SessionPoolExceptionTest.java | 12 + .../flink/sql/client/IoTDBWebSocketClient.java | 20 +- .../flink/sql/function/IoTDBCDCSourceFunction.java | 84 +- iotdb-connector/grafana-plugin/backend-compile.bat | 2 +- iotdb-connector/grafana-plugin/backend-compile.sh | 31 +- iotdb-connector/grafana-plugin/go.mod | 35 +- .../iotdb/spark/tsfile/NarrowConverter.scala | 56 +- .../apache/iotdb/spark/tsfile/WideConverter.scala | 56 +- .../resources/conf/iotdb-confignode.properties | 2 + .../iotdb/confignode/conf/ConfigNodeConfig.java | 2 +- .../manager/load/balancer/RegionBalancer.java | 21 +- .../region/CopySetRegionGroupAllocator.java | 160 -- .../region/GreedyCopySetRegionGroupAllocator.java | 191 ++ .../region/GreedyRegionGroupAllocator.java | 31 +- .../manager/partition/PartitionManager.java | 15 +- .../payload/request/PipeTransferConfigPlanReq.java | 78 + .../manager/pipe/runtime/PipeHeartbeatParser.java | 4 +- .../manager/pipe/runtime/PipeMetaSyncer.java | 15 +- .../manager/pipe/task/PipeTaskCoordinator.java | 35 +- .../partition/DatabasePartitionTable.java | 8 + .../persistence/partition/PartitionInfo.java | 8 + .../persistence/pipe/PipePluginInfo.java | 13 +- .../confignode/persistence/pipe/PipeTaskInfo.java | 28 +- .../confignode/persistence/schema/ConfigMTree.java | 2 +- .../persistence/schema/mnode/IConfigMNode.java | 28 + .../schema/mnode/basic/ConfigBasicMNode.java | 50 +- .../mnode/impl/ConfigBasicInternalMNode.java | 37 +- .../impl/pipe/task/CreatePipeProcedureV2.java | 21 +- .../impl/pipe/task/DropPipeProcedureV2.java | 8 +- .../impl/pipe/task/StartPipeProcedureV2.java | 39 +- .../impl/pipe/task/StopPipeProcedureV2.java | 38 +- .../GreedyCopySetRegionGroupAllocatorTest.java | 203 ++ .../confignode/persistence/PartitionInfoTest.java | 70 +- iotdb-core/consensus/pom.xml | 10 +- .../apache/iotdb/consensus/iot/IoTConsensus.java | 31 +- .../consensus/iot/IoTConsensusServerImpl.java | 37 +- .../consensus/iot/IoTConsensusServerMetrics.java | 2 +- .../consensus/iot/client/DispatchLogHandler.java | 17 +- .../iot/logdispatcher/IndexController.java | 5 +- .../consensus/iot/logdispatcher/LogDispatcher.java | 25 +- .../consensus/iot/logdispatcher/SyncStatus.java | 4 +- .../service/IoTConsensusRPCServiceProcessor.java | 2 +- .../iotdb/consensus/ratis/RatisConsensus.java | 26 +- .../consensus/ratis/metrics/CounterProxy.java | 6 +- .../iotdb/consensus/ratis/metrics/GaugeProxy.java | 24 +- .../ratis/metrics/IoTDBMetricRegistry.java | 121 +- .../ratis/metrics/MetricRegistryManager.java | 2 +- .../ratis/metrics/RatisMetricsManager.java | 20 +- .../iotdb/consensus/ratis/metrics/TimerProxy.java | 32 +- .../apache/iotdb/consensus/ratis/utils/Utils.java | 19 +- .../apache/iotdb/consensus/iot/ReplicateTest.java | 30 +- .../iot/logdispatcher/IndexControllerTest.java | 14 +- .../iotdb/consensus/ratis/RecoverReadTest.java | 8 +- .../resources/conf/iotdb-datanode.properties | 10 +- .../org/apache/iotdb/db/audit/AuditLogger.java | 2 +- .../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 42 + .../org/apache/iotdb/db/conf/IoTDBDescriptor.java | 24 + .../iotdb/db/conf/rest/IoTDBRestServiceConfig.java | 1 + .../db/conf/rest/IoTDBRestServiceDescriptor.java | 119 +- .../dataregion/DataExecutionVisitor.java | 50 +- .../schemaregion/SchemaExecutionVisitor.java | 14 + .../agent/plugin/PipeConnectorConstructor.java | 13 +- .../db/pipe/agent/plugin/PipePluginAgent.java | 7 + .../agent/plugin/PipeProcessorConstructor.java | 3 + .../iotdb/db/pipe/agent/task/PipeTaskAgent.java | 6 +- .../config/constant/PipeProcessorConstant.java | 12 + .../env/PipeTaskConnectorRuntimeEnvironment.java | 9 +- .../env/PipeTaskExtractorRuntimeEnvironment.java | 9 +- ...va => PipeTaskProcessorRuntimeEnvironment.java} | 13 +- .../plugin/env/PipeTaskRuntimeEnvironment.java | 8 +- ...va => PipeTaskTemporaryRuntimeEnvironment.java} | 14 +- .../request/PipeTransferFilePieceReq.java | 4 +- .../evolvable/request/PipeTransferFileSealReq.java | 4 +- .../request/PipeTransferHandshakeReq.java | 4 +- .../request/PipeTransferSchemaPlanReq.java | 105 + .../request/PipeTransferTabletBatchReq.java | 4 +- .../request/PipeTransferTabletBinaryReq.java | 4 +- .../request/PipeTransferTabletInsertNodeReq.java | 4 +- .../request/PipeTransferTabletRawReq.java | 4 +- .../protocol/airgap/IoTDBAirGapConnector.java | 2 +- .../thrift/sync/IoTDBThriftSyncConnector.java | 48 +- .../sync/IoTDBThriftSyncConnectorClient.java | 12 +- .../protocol/websocket/WebSocketConnector.java | 95 +- .../websocket/WebSocketConnectorServer.java | 467 +++-- .../protocol/writeback/WriteBackConnector.java | 4 +- .../iotdb/db/pipe/event/common/row/PipeRow.java | 5 + .../tsfile/TsFileInsertionDataContainer.java | 6 +- .../PipeHistoricalDataRegionTsFileExtractor.java | 59 +- .../downsampling/DownSamplingProcessor.java | 213 ++ .../downsampling/PartialPathLastTimeCache.java | 111 ++ .../pipe/receiver/airgap/IoTDBAirGapReceiver.java | 2 +- .../pipe/receiver/thrift/IoTDBThriftReceiver.java | 2 +- .../receiver/thrift/IoTDBThriftReceiverAgent.java | 2 +- .../receiver/thrift/IoTDBThriftReceiverV1.java | 46 +- .../db/pipe/resource/memory/PipeMemoryBlock.java | 14 +- .../db/pipe/task/stage/PipeTaskProcessorStage.java | 6 +- .../rest/v1/handler/RequestValidationHandler.java | 12 - .../v1/handler/StatementConstructionHandler.java | 59 - .../protocol/rest/v1/impl/RestApiServiceImpl.java | 47 - .../rest/v2/handler/RequestValidationHandler.java | 43 + .../protocol/rest/v2/impl/RestApiServiceImpl.java | 36 +- .../protocol/thrift/impl/ClientRPCServiceImpl.java | 4 +- .../db/queryengine/execution/driver/Driver.java | 4 - .../execution/exchange/sink/LocalSinkChannel.java | 39 +- .../execution/exchange/sink/ShuffleSinkHandle.java | 27 +- .../execution/exchange/sink/SinkChannel.java | 73 +- .../exchange/source/LocalSourceHandle.java | 15 +- .../execution/exchange/source/SourceHandle.java | 20 +- .../execution/executor/RegionWriteExecutor.java | 276 ++- .../fragment/FragmentInstanceContext.java | 1 + .../fragment/FragmentInstanceExecution.java | 3 +- .../queryengine/execution/memory/MemoryPool.java | 6 +- .../execution/operator/AggregationUtil.java | 16 +- .../queryengine/execution/operator/Operator.java | 12 +- .../operator/process/AggregationOperator.java | 19 +- .../operator/process/ColumnInjectOperator.java | 115 ++ .../process/SlidingWindowAggregationOperator.java | 18 +- .../execution/operator/process/TopKOperator.java | 35 +- .../operator/schema/SchemaFetchScanOperator.java | 5 + .../source/AbstractDataSourceOperator.java | 5 + .../AbstractSeriesAggregationScanOperator.java | 19 +- .../AlignedSeriesAggregationScanOperator.java | 25 + .../operator/source/AlignedSeriesScanUtil.java | 99 +- .../operator/source/LastCacheScanOperator.java | 5 + .../source/SeriesAggregationScanOperator.java | 25 + .../execution/operator/source/SeriesScanUtil.java | 32 +- .../operator/source/ShowQueriesOperator.java | 5 + .../schedule/DriverTaskTimeoutSentinelThread.java | 2 +- .../queryengine/plan/analyze/AnalyzeVisitor.java | 44 +- .../plan/analyze/LoadTsfileAnalyzer.java | 39 +- .../queryengine/plan/analyze/TemplatedAnalyze.java | 43 +- .../analyze/schema/AutoCreateSchemaExecutor.java | 61 +- .../queryengine/plan/execution/QueryExecution.java | 10 +- .../config/executor/ClusterConfigTaskExecutor.java | 1 + .../ConvertPredicateToTimeFilterVisitor.java | 30 +- .../plan/optimization/LimitOffsetPushDown.java | 11 +- .../plan/optimization/PlanNodePushDown.java | 76 + .../base/ColumnInjectionPushDown.java} | 13 +- .../plan/planner/LogicalPlanBuilder.java | 16 +- .../plan/planner/LogicalPlanVisitor.java | 68 +- .../plan/planner/OperatorTreeGenerator.java | 60 +- .../planner/distribution/DistributionPlanner.java | 36 +- .../planner/distribution/ExchangeNodeAdder.java | 41 +- .../plan/planner/plan/node/PlanGraphPrinter.java | 13 + .../plan/planner/plan/node/PlanNode.java | 10 + .../plan/planner/plan/node/PlanNodeType.java | 22 +- .../plan/planner/plan/node/PlanVisitor.java | 28 +- .../planner/plan/node/load/LoadTsFileNode.java | 7 +- .../node/metedata/write/CreateTimeSeriesNode.java | 2 +- .../metedata/write/view/AlterLogicalViewNode.java | 43 +- .../node/pipe/PipeEnrichedConfigSchemaNode.java | 161 ++ .../plan/node/pipe/PipeEnrichedDeleteDataNode.java | 169 ++ .../{write => pipe}/PipeEnrichedInsertNode.java | 19 +- .../node/pipe/PipeEnrichedWriteSchemaNode.java | 192 ++ .../planner/plan/node/process/AggregationNode.java | 8 +- .../plan/node/process/ColumnInjectNode.java | 123 ++ .../node/process/SlidingWindowAggregationNode.java | 56 +- .../source/AlignedSeriesAggregationScanNode.java | 34 +- .../node/source/SeriesAggregationScanNode.java | 34 +- .../node/source/SeriesAggregationSourceNode.java | 37 +- .../planner/plan/node/write/DeleteDataNode.java | 4 +- .../plan/planner/plan/node/write/InsertNode.java | 10 - .../planner/plan/parameter/SeriesScanOptions.java | 7 +- .../queryengine/plan/statement/StatementType.java | 3 +- .../plan/statement/StatementVisitor.java | 13 +- .../crud/PipeEnrichedInsertBaseStatement.java | 220 --- .../crud/PipeEnrichedLoadTsFileStatement.java | 137 -- .../template/AlterSchemaTemplateStatement.java | 19 - .../plan/statement/pipe/PipeEnrichedStatement.java | 72 + .../binary/CompareBinaryColumnTransformer.java | 33 +- .../column/ternary/BetweenColumnTransformer.java | 21 +- .../binary/CompareEqualToTransformer.java | 5 +- .../binary/CompareGreaterEqualTransformer.java | 5 +- .../binary/CompareGreaterThanTransformer.java | 5 +- .../binary/CompareLessEqualTransformer.java | 5 +- .../binary/CompareLessThanTransformer.java | 5 +- .../binary/CompareNonEqualTransformer.java | 5 +- .../transformer/ternary/BetweenTransformer.java | 15 +- .../transformation/dag/util/TransformUtils.java | 41 +- .../apache/iotdb/db/schemaengine/SchemaEngine.java | 33 +- .../mtree/impl/mem/MTreeBelowSGMemoryImpl.java | 28 +- .../schemaregion/mtree/impl/mem/MemMTreeStore.java | 23 +- .../mtree/impl/mem/mnode/basic/BasicMNode.java | 26 +- .../impl/mem/mnode/factory/MemMNodeFactory.java | 11 +- .../impl/mem/mnode/impl/BasicInternalMNode.java | 83 +- .../impl/mem/mnode/impl/DatabaseDeviceMNode.java | 37 - .../mtree/impl/mem/mnode/impl/DatabaseMNode.java | 17 +- .../mtree/impl/mem/mnode/impl/DeviceMNode.java | 36 - .../mtree/impl/mem/mnode/info/LogicalViewInfo.java | 2 +- .../impl/mem/snapshot/MemMTreeSnapshotUtil.java | 75 +- .../mtree/impl/pbtree/CachedMTreeStore.java | 43 +- .../mtree/impl/pbtree/MTreeBelowSGCachedImpl.java | 28 +- .../impl/pbtree/mnode/basic/CachedBasicMNode.java | 25 +- .../pbtree/mnode/factory/CacheMNodeFactory.java | 11 +- .../mnode/impl/CachedBasicInternalMNode.java | 91 +- .../mnode/impl/CachedDatabaseDeviceMNode.java | 49 - .../pbtree/mnode/impl/CachedDatabaseMNode.java | 18 +- .../impl/pbtree/mnode/impl/CachedDeviceMNode.java | 48 - .../mtree/impl/pbtree/schemafile/InternalPage.java | 18 +- .../mtree/impl/pbtree/schemafile/SchemaPage.java | 2 +- .../mtree/impl/pbtree/schemafile/Segment.java | 478 ----- .../impl/pbtree/schemafile/WrappedSegment.java | 708 +++++-- .../schemaregion/utils/MNodeUtils.java | 54 +- .../db/service/metrics/file/TsFileMetrics.java | 8 +- .../iotdb/db/storageengine/buffer/ChunkCache.java | 10 +- .../db/storageengine/dataregion/DataRegion.java | 175 +- .../CompactionLastTimeCheckFailedException.java} | 17 +- .../execute/task/AbstractCompactionTask.java | 2 +- .../execute/task/InnerSpaceCompactionTask.java | 8 +- .../readchunk/AlignedSeriesCompactionExecutor.java | 12 + .../readchunk/SingleSeriesCompactionExecutor.java | 13 + .../utils/writer/AbstractCompactionWriter.java | 11 + .../writer/AbstractCrossCompactionWriter.java | 11 +- .../writer/AbstractInnerCompactionWriter.java | 2 + .../utils/writer/FastInnerCompactionWriter.java | 4 + .../compaction/schedule/CompactionScheduler.java | 13 + .../compaction/schedule/CompactionWorker.java | 9 +- .../estimator/AbstractCompactionEstimator.java | 27 +- .../impl/RewriteCrossSpaceCompactionSelector.java | 6 +- .../impl/SizeTieredCompactionSelector.java | 11 +- .../compaction/settle/SettleRequestHandler.java | 24 +- .../io/LocalTextModificationAccessor.java | 3 - .../read/reader/chunk/DiskAlignedChunkLoader.java | 6 +- .../read/reader/chunk/DiskChunkLoader.java | 6 +- .../read/reader/chunk/MemAlignedPageReader.java | 78 +- .../read/reader/chunk/MemPageReader.java | 32 +- .../dataregion/wal/utils/WALInsertNodeCache.java | 8 +- .../quotas/DataNodeThrottleQuotaManager.java | 2 +- .../rescon/quotas/DefaultOperationQuota.java | 16 +- .../db/trigger/executor/TriggerFireVisitor.java | 17 +- .../columngenerator/ColumnGenerator.java} | 11 +- .../columngenerator/ColumnGeneratorType.java} | 15 +- .../SlidingTimeColumnGenerator.java | 52 + .../parameter/ColumnGeneratorParameter.java | 82 + .../SlidingTimeColumnGeneratorParameter.java | 80 + .../apache/iotdb/db/metadata/mnode/MNodeTest.java | 31 +- .../metadata/mtree/schemafile/SchemaFileTest.java | 2 +- .../schemaRegion/SchemaStatisticsTest.java | 2 + ...est.java => PipeDataNodeThriftRequestTest.java} | 80 +- .../operator/AggregationOperatorTest.java | 1 + .../AlignedSeriesAggregationScanOperatorTest.java | 12 +- .../execution/operator/FillOperatorTest.java | 15 + .../operator/LastQueryMergeOperatorTest.java | 20 + .../execution/operator/LinearFillOperatorTest.java | 35 + .../execution/operator/OperatorMemoryTest.java | 2 + .../operator/RawDataAggregationOperatorTest.java | 4 +- .../SeriesAggregationScanOperatorTest.java | 12 +- .../SlidingWindowAggregationOperatorTest.java | 1 + .../execution/operator/TopKOperatorTest.java | 297 ++- .../operator/UpdateLastCacheOperatorTest.java | 6 +- .../ConvertPredicateToTimeFilterTest.java | 46 +- .../plan/analyze/QueryTimePartitionTest.java | 108 +- .../plan/optimization/LimitOffsetPushDownTest.java | 10 +- .../plan/plan/QueryLogicalPlanUtil.java | 8 +- .../distribution/AggregationDistributionTest.java | 3 +- .../db/storageengine/buffer/ChunkCacheTest.java | 6 +- .../storageengine/dataregion/DataRegionTest.java | 86 + .../compaction/CompactionOverlapCheckTest.java | 269 +++ .../compaction/CompactionSchedulerTest.java | 25 +- .../ReadPointCompactionPerformerTest.java | 2 +- .../inner/InnerSpaceCompactionSelectorTest.java | 63 +- .../utils/CompactionUpdateFileCountTest.java | 2 +- .../reader/chunk/MemAlignedChunkLoaderTest.java | 9 +- .../dataregion/snapshot/IoTDBSnapshotTest.java | 4 + .../datanode/src/test/resources/logback-test.xml | 1 + iotdb-core/node-commons/pom.xml | 5 + .../resources/conf/iotdb-common.properties | 10 +- .../iotdb/commons/client/ClientPoolFactory.java | 2 +- .../iotdb/commons/concurrent/ThreadName.java | 4 +- .../apache/iotdb/commons/conf/CommonConfig.java | 19 +- .../iotdb/commons/conf/CommonDescriptor.java | 13 +- .../iotdb/commons/pipe/config/PipeConfig.java | 11 +- .../request}/IoTDBConnectorRequestVersion.java | 2 +- .../payload/request}/PipeRequestType.java | 8 +- .../request/PipeTransferSnapshotPieceReq.java} | 78 +- .../request/PipeTransferSnapshotSealReq.java} | 74 +- .../payload/request/TransferConfigPlanReq.java} | 11 +- .../response/PipeTransferSnapshotPieceResp.java | 81 + .../ConcurrentIterableLinkedQueue.java | 345 ++++ .../pipe/plugin/builtin/BuiltinPipePlugin.java | 53 +- .../connector/IoTDBThriftSslConnector.java} | 16 +- .../builtin/processor/DownSamplingProcessor.java} | 16 +- .../builtin/processor/PlaceHolderProcessor.java | 68 + .../apache/iotdb/commons/schema/node/IMNode.java | 12 +- .../node/common/AbstractAboveDatabaseMNode.java | 18 +- .../node/common/AbstractDatabaseDeviceMNode.java | 299 --- .../schema/node/common/AbstractDatabaseMNode.java | 26 +- .../node/common/AbstractMeasurementMNode.java | 19 +- ...actDeviceMNode.java => DeviceMNodeWrapper.java} | 130 +- .../commons/schema/node/role/IDeviceMNode.java | 2 +- .../commons/schema/node/role/IInternalMNode.java} | 43 +- .../commons/schema/node/visitor/MNodeVisitor.java | 7 - .../ConcurrentIterableLinkedQueueTest.java | 439 ++++ .../pipe/{ => task/meta}/PipeMetaDeSerTest.java | 7 +- .../iotdb/tsfile/file/header/ChunkGroupHeader.java | 2 +- .../iotdb/tsfile/file/header/PageHeader.java | 23 +- .../tsfile/file/metadata/AlignedChunkMetadata.java | 42 +- .../file/metadata/AlignedTimeSeriesMetadata.java | 57 +- .../iotdb/tsfile/file/metadata/ChunkMetadata.java | 22 + .../iotdb/tsfile/file/metadata/IChunkMetadata.java | 6 +- .../metadata/IMetadata.java} | 19 +- .../tsfile/file/metadata/ITimeSeriesMetadata.java | 9 +- .../tsfile/file/metadata/TimeseriesMetadata.java | 31 + .../apache/iotdb/tsfile/read/common/TimeRange.java | 10 +- .../iotdb/tsfile/read/common/block/TsBlock.java | 32 +- .../tsfile/read/common/block/TsBlockBuilder.java | 7 +- .../base => basic}/BinaryLogicalFilter.java | 10 +- ...ilter.java => DisableStatisticsTimeFilter.java} | 8 +- ...lter.java => DisableStatisticsValueFilter.java} | 22 +- .../iotdb/tsfile/read/filter/basic/Filter.java | 71 +- .../tsfile/read/filter/basic/OperatorType.java | 68 +- .../iotdb/tsfile/read/filter/basic/TimeFilter.java | 58 + .../tsfile/read/filter/basic/ValueFilter.java | 120 ++ .../{TimeFilter.java => TimeFilterApi.java} | 4 +- .../tsfile/read/filter/factory/ValueFilter.java | 168 -- .../tsfile/read/filter/factory/ValueFilterApi.java | 186 ++ .../iotdb/tsfile/read/filter/operator/And.java | 19 +- .../tsfile/read/filter/operator/GroupByFilter.java | 8 +- .../read/filter/operator/GroupByMonthFilter.java | 7 +- .../iotdb/tsfile/read/filter/operator/Not.java | 30 +- .../iotdb/tsfile/read/filter/operator/Or.java | 19 +- .../read/filter/operator/TimeFilterOperators.java | 196 +- .../read/filter/operator/ValueFilterOperators.java | 649 +++--- .../filter/operator/base/ColumnCompareFilter.java | 51 - .../filter/operator/base/ColumnRangeFilter.java | 51 - .../read/filter/operator/base/ColumnSetFilter.java | 50 - .../iotdb/tsfile/read/reader/IPageReader.java | 7 +- .../read/reader/chunk/AlignedChunkReader.java | 34 +- .../tsfile/read/reader/chunk/ChunkReader.java | 14 +- .../tsfile/read/reader/page/AlignedPageReader.java | 101 +- .../iotdb/tsfile/read/reader/page/PageReader.java | 40 +- .../tsfile/read/reader/page/ValuePageReader.java | 3 +- .../reader/series/AbstractFileSeriesReader.java | 16 +- .../read/reader/series/EmptyFileSeriesReader.java | 4 +- .../read/reader/series/FileSeriesReader.java | 4 +- .../org/apache/iotdb/tsfile/utils/BytesUtils.java | 10 + .../ITimeFilter.java => utils/Preconditions.java} | 20 +- .../iotdb/tsfile/common/block/TsBlockTest.java | 77 + .../apache/iotdb/tsfile/read/ExpressionTest.java | 36 +- .../iotdb/tsfile/read/ReadInPartitionTest.java | 8 +- .../org/apache/iotdb/tsfile/read/ReadTest.java | 60 +- .../iotdb/tsfile/read/TimePlainEncodeReadTest.java | 64 +- .../apache/iotdb/tsfile/read/TsFileReaderTest.java | 66 +- .../tsfile/read/filter/FilterSerializeTest.java | 70 +- .../iotdb/tsfile/read/filter/FilterTestUtil.java | 105 + .../tsfile/read/filter/GroupByFilterTest.java | 33 +- .../tsfile/read/filter/GroupByMonthFilterTest.java | 35 +- .../read/filter/IExpressionOptimizerTest.java | 83 +- .../read/filter/MinTimeMaxTimeFilterTest.java | 70 +- .../iotdb/tsfile/read/filter/OperatorTest.java | 95 +- .../filter/PredicateRemoveNotRewriterTest.java | 62 +- .../tsfile/read/filter/StatisticsFilterTest.java | 300 +-- .../read/query/executor/QueryExecutorTest.java | 11 +- .../read/query/timegenerator/ReadWriteTest.java | 10 +- .../timegenerator/TimeGeneratorReadEmptyTest.java | 10 +- .../timegenerator/TimeGeneratorReadWriteTest.java | 10 +- .../query/timegenerator/TimeGeneratorTest.java | 10 +- .../iotdb/tsfile/read/reader/ReaderTest.java | 8 +- iotdb-doap.rdf | 33 + .../openapi/src/main/openapi3/iotdb_rest_v1.yaml | 52 - pom.xml | 16 +- 404 files changed, 13798 insertions(+), 6197 deletions(-)
