This is an automated email from the ASF dual-hosted git repository. shuwenwei pushed a commit to branch read_tsfile_table_function in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 83e4e51c49cf383b56d78e1a52f10b34deb10d72 Merge: 5dd9a42ec30 86987e48667 Author: shuwenwei <[email protected]> AuthorDate: Wed Jun 10 18:02:30 2026 +0800 Merge branch 'iotdb_master' into read_tsfile_table_function .github/scripts/package-client-cpp-manylinux228.sh | 140 + .github/workflows/client-cpp-package.yml | 465 +- .github/workflows/cluster-it-1c1d.yml | 8 + .github/workflows/cluster-it-1c1d1a.yml | 8 + .github/workflows/cluster-it-1c3d.yml | 8 + .github/workflows/compile-check.yml | 8 + .github/workflows/dependency-check.yml | 8 + .github/workflows/multi-language-client.yml | 66 +- .github/workflows/pipe-it.yml | 8 + .github/workflows/sonar-codecov.yml | 8 + .github/workflows/table-cluster-it-1c1d.yml | 8 + .github/workflows/table-cluster-it-1c3d.yml | 8 + .github/workflows/unit-test.yml | 8 + .gitignore | 10 +- CLAUDE.md | 9 +- CONTRIBUTING.md | 3 - SECURITY.md | 29 + THREAT_MODEL.md | 208 + distribution/pom.xml | 66 +- distribution/src/assembly/client-cpp.xml | 6 +- example/client-c-example/README.md | 68 - example/client-c-example/pom.xml | 150 - example/client-c-example/src/table_example.c | 152 - example/client-c-example/src/tree_example.c | 114 - example/client-cpp-example/pom.xml | 200 - example/client-cpp-example/src/CMakeLists.txt | 151 - example/pom.xml | 9 - .../ConsensusSubscriptionWalFileAnalyzer.java | 528 + .../iotdb/ConsensusSubscriptionSessionExample.java | 198 + ...sensusTableModelSubscriptionSessionExample.java | 201 + .../it/env/cluster/config/MppCommonConfig.java | 23 +- .../env/cluster/config/MppSharedCommonConfig.java | 21 + .../it/env/remote/config/RemoteCommonConfig.java | 15 + .../constant/BuiltinAggregationFunctionEnum.java | 9 +- .../apache/iotdb/itbase/constant/TestConstant.java | 28 + .../org/apache/iotdb/itbase/env/CommonConfig.java | 6 + .../IoTDBRegionMigrateITFrameworkForRatis.java | 36 +- ...IoTDBRegionOperationReliabilityITFramework.java | 128 +- ...oTDBRegionMigrateAddingPeerCrashForRatisIT.java | 48 + .../IoTDBRegionMigrateClusterCrashForRatisIT.java | 76 + ...oTDBRegionMigrateConfigNodeCrashForRatisIT.java | 164 + .../java/org/apache/iotdb/db/it/IoTDBMiscIT.java | 18 +- .../aggregation/IoTDBStatisticalAggregationIT.java | 590 + .../db/it/schema/IoTDBAlterTimeSeriesTypeIT.java | 7 +- .../pipe/it/dual/TypeConversionSemanticCase.java | 315 + .../IoTDBPipeTypeConversionSemanticIT.java | 255 + .../IoTDBPipeTypeConversionSemanticIT.java | 259 + .../treemodel/manual/IoTDBPipePermissionIT.java | 1 + .../relational/it/db/it/IoTDBDeletionTableIT.java | 21 + .../db/it/IoTDBWindowFunctionBatchedResultIT.java | 94 + .../relational/it/db/it/IoTDBWindowTVFIT.java | 435 + .../it/query/recent/IoTDBComplexQueryIT.java | 28 + .../it/query/recent/IoTDBFillTableIT.java | 155 + .../it/query/recent/IoTDBTableAggregationIT.java | 294 + .../it/schema/IoTDBAlterColumnTypeIT.java | 9 +- .../AbstractSubscriptionConsensusLocalIT.java | 55 + .../local/ConsensusSubscriptionITSupport.java | 670 + .../local/IoTDBConsensusSubscriptionBasicIT.java | 141 + .../IoTDBConsensusSubscriptionConsumerGroupIT.java | 156 + .../local/IoTDBConsensusSubscriptionDataIT.java | 173 + .../IoTDBConsensusSubscriptionRecoveryIT.java | 98 + .../local/IoTDBConsensusSubscriptionSeekIT.java | 202 + .../ConsensusSubscriptionTableITSupport.java | 516 + .../IoTDBConsensusSubscriptionBasicTableIT.java | 88 + .../IoTDBConsensusSubscriptionDataTableIT.java | 137 + .../IoTDBConsensusSubscriptionFilterTableIT.java | 272 + ...usSubscriptionSubscribeBeforeRegionTableIT.java | 71 + .../IoTDBEncryptedPasswordPullConsumerIT.java | 5 +- iotdb-client/client-cpp/CMakeLists.txt | 305 + iotdb-client/client-cpp/README.md | 613 +- iotdb-client/client-cpp/README_zh.md | 277 + iotdb-client/client-cpp/cmake/CheckCxx11Abi.cmake | 59 + iotdb-client/client-cpp/cmake/FetchBoost.cmake | 130 + .../client-cpp/cmake/FetchBuildTools.cmake | 266 + iotdb-client/client-cpp/cmake/FetchOpenSSL.cmake | 121 + iotdb-client/client-cpp/cmake/FetchThrift.cmake | 278 + .../client-cpp/cmake/GenerateThriftSources.cmake | 126 + .../client-cpp/cmake/iotdb-session-config.cmake.in | 56 + iotdb-client/client-cpp/cmake/iotdb-session.pc.in | 26 + .../examples}/AlignedTimeseriesSessionExample.cpp | 25 +- iotdb-client/client-cpp/examples/CMakeLists.txt | 187 + .../client-cpp/examples}/MultiSvrNodeClient.cpp | 8 +- iotdb-client/client-cpp/examples/README.md | 260 + iotdb-client/client-cpp/examples/README_zh.md | 253 + .../client-cpp/examples}/SessionExample.cpp | 33 +- .../examples}/TableModelSessionExample.cpp | 0 iotdb-client/client-cpp/examples/table_example.c | 153 + iotdb-client/client-cpp/examples/tree_example.c | 114 + iotdb-client/client-cpp/pom.xml | 370 +- .../client-cpp/src/assembly/client-cpp.xml | 69 +- .../package-metadata/third_party/DEPENDENCIES.md | 42 +- .../src/{main => include}/AbstractSessionBuilder.h | 10 +- .../client-cpp/src/{main => include}/Column.h | 0 .../src/{main => include}/ColumnDecoder.h | 0 .../client-cpp/src/{main => include}/Common.h | 146 +- iotdb-client/client-cpp/src/include/Date.h | 74 + .../client-cpp/src/{main => include}/DeviceID.h | 0 .../client-cpp/src/include/Endpoint.h | 34 +- .../client-cpp/src/include/Export.h | 27 +- iotdb-client/client-cpp/src/include/Optional.h | 77 + .../client-cpp/src/{main => include}/Session.h | 328 +- .../src/{main => include}/SessionBuilder.h | 0 .../client-cpp/src/{main => include}/SessionC.h | 0 .../client-cpp/src/include/SessionConfig.h | 27 +- .../client-cpp/src/include/SessionDataSet.h | 124 + .../client-cpp/src/{main => include}/SessionPool.h | 0 .../client-cpp/src/include/Status.h | 25 +- .../src/{main => include}/TableSession.h | 0 .../src/{main => include}/TableSessionBuilder.h | 0 .../client-cpp/src/{main => include}/TsBlock.h | 0 iotdb-client/client-cpp/src/main/CMakeLists.txt | 90 - iotdb-client/client-cpp/src/main/SessionDataSet.h | 124 - .../src/{main => rpc}/IoTDBRpcDataSet.cpp | 74 +- .../client-cpp/src/{main => rpc}/IoTDBRpcDataSet.h | 51 +- .../client-cpp/src/{main => rpc}/NodesSupplier.cpp | 11 +- .../client-cpp/src/{main => rpc}/NodesSupplier.h | 9 +- iotdb-client/client-cpp/src/rpc/RpcCommon.cpp | 214 + iotdb-client/client-cpp/src/rpc/RpcCommon.h | 81 + .../src/{main => rpc}/SessionConnection.cpp | 34 +- .../src/{main => rpc}/SessionConnection.h | 20 +- .../client-cpp/src/rpc/SessionDataSetFactory.h | 42 + iotdb-client/client-cpp/src/rpc/SessionImpl.h | 231 + .../src/{main => rpc}/ThriftConnection.cpp | 16 +- .../src/{main => rpc}/ThriftConnection.h | 4 +- iotdb-client/client-cpp/src/rpc/ThriftConvert.cpp | 61 + .../client-cpp/src/rpc/ThriftConvert.h | 30 +- .../client-cpp/src/{main => session}/Column.cpp | 0 .../src/{main => session}/ColumnDecoder.cpp | 0 .../client-cpp/src/{main => session}/Common.cpp | 224 +- iotdb-client/client-cpp/src/session/Date.cpp | 63 + .../client-cpp/src/{main => session}/Session.cpp | 490 +- .../client-cpp/src/{main => session}/SessionC.cpp | 0 .../client-cpp/src/session/SessionDataSet.cpp | 320 + .../src/{main => session}/SessionPool.cpp | 0 .../src/{main => session}/TableSession.cpp | 0 .../client-cpp/src/{main => session}/TsBlock.cpp | 0 iotdb-client/client-cpp/src/test/CMakeLists.txt | 152 - iotdb-client/client-cpp/src/test/catch2/catch.hpp | 17974 ------------------- iotdb-client/client-cpp/test/CMakeLists.txt | 104 + iotdb-client/client-cpp/test/catch2/.gitignore | 4 + .../client-cpp/{src => }/test/cpp/sessionCIT.cpp | 0 .../{src => }/test/cpp/sessionCRelationalIT.cpp | 0 .../client-cpp/{src => }/test/cpp/sessionIT.cpp | 7 +- .../{src => }/test/cpp/sessionRelationalIT.cpp | 7 +- iotdb-client/client-cpp/{src => }/test/main.cpp | 0 .../client-cpp/{src => }/test/main_Relational.cpp | 0 iotdb-client/client-cpp/{src => }/test/main_c.cpp | 0 .../{src => }/test/main_c_Relational.cpp | 0 iotdb-client/client-cpp/third-party/.gitignore | 7 + iotdb-client/client-cpp/third-party/README.md | 75 + .../client-cpp/third-party/linux/.gitignore | 2 + iotdb-client/client-cpp/third-party/mac/.gitignore | 2 + .../client-cpp/third-party/windows/.gitignore | 2 + .../java/org/apache/iotdb/rpc/TSStatusCode.java | 4 +- .../iotdb/session/AbstractSessionBuilder.java | 1 + .../java/org/apache/iotdb/session/Session.java | 2 + .../apache/iotdb/session/SessionConnection.java | 4 + iotdb-client/subscription/pom.xml | 5 + .../iotdb/rpc/subscription/config/TopicConfig.java | 89 +- .../rpc/subscription/config/TopicConstant.java | 11 + .../subscription/payload/poll/RegionProgress.java | 85 + .../payload/poll/SubscriptionCommitContext.java | 222 +- .../payload/poll/SubscriptionPollRequest.java | 49 +- .../payload/poll/SubscriptionPollResponse.java | 10 +- .../payload/poll/SubscriptionPollResponseType.java | 7 + .../subscription/payload/poll/TopicProgress.java | 94 + .../payload/poll/WatermarkPayload.java | 82 + .../rpc/subscription/payload/poll/WriterId.java | 77 + .../subscription/payload/poll/WriterProgress.java | 77 + .../payload/request/PipeSubscribeRequestType.java | 1 + .../payload/request/SubscriptionHeartbeatReq.java | 128 + .../payload/request/SubscriptionSeekReq.java | 164 + .../payload/response/PipeSubscribeCommitResp.java | 85 +- .../PipeSubscribeSeekResp.java} | 47 +- .../SubscriptionTableSessionBuilder.java | 5 + .../SubscriptionTreeSessionBuilder.java | 5 + .../consumer/ISubscriptionTablePullConsumer.java | 25 + .../consumer/ISubscriptionTreePullConsumer.java | 25 + .../base/AbstractSubscriptionConsumer.java | 629 +- .../base/AbstractSubscriptionProvider.java | 161 +- .../base/AbstractSubscriptionProviders.java | 5 +- .../base/AbstractSubscriptionPullConsumer.java | 411 +- .../base/AbstractSubscriptionPushConsumer.java | 16 + .../consumer/base/ColumnAlignProcessor.java | 186 + .../base/SubscriptionMessageProcessor.java | 82 + .../consumer/base/WatermarkProcessor.java | 335 + .../consumer/table/SubscriptionTableProvider.java | 7 +- .../table/SubscriptionTablePullConsumer.java | 27 + .../consumer/tree/SubscriptionTreeProvider.java | 7 +- .../tree/SubscriptionTreePullConsumer.java | 27 + .../session/subscription/payload/PollResult.java | 67 + .../subscription/payload/SubscriptionMessage.java | 57 +- .../payload/SubscriptionMessageType.java | 1 + .../poll/SubscriptionCommitContextTest.java | 148 + .../payload/poll/SubscriptionPollRequestTest.java | 62 + .../payload/request/SubscriptionSeekReqTest.java | 53 + .../consumer/base/ColumnAlignProcessorTest.java | 255 + .../consumer/base/WatermarkProcessorTest.java | 224 + iotdb-core/ainode/iotdb/ainode/core/constant.py | 1 + iotdb-core/ainode/iotdb/ainode/core/rpc/client.py | 11 +- .../src/main/codegen/templates/nextFill.ftl | 101 + .../aggregation/CentralMomentAccumulator.java | 302 + .../aggregation/CorrelationAccumulator.java | 261 + .../aggregation/CovarianceAccumulator.java | 250 + .../aggregation/RegressionAccumulator.java | 265 + .../operator/process/TableNextFillOperator.java | 81 + .../process/TableNextFillWithGroupOperator.java | 165 + .../operator/process/fill/next/NextFill.java | 182 + .../process/window/TableWindowOperator.java | 2 +- .../window/partition/PartitionExecutor.java | 11 +- .../relational/aggregation/AccumulatorFactory.java | 69 + .../aggregation/TableCentralMomentAccumulator.java | 298 + .../aggregation/TableCorrelationAccumulator.java | 277 + .../aggregation/TableCovarianceAccumulator.java | 272 + .../aggregation/TableRegressionAccumulator.java | 283 + .../grouped/GroupedCentralMomentAccumulator.java | 270 + .../grouped/GroupedCorrelationAccumulator.java | 246 + .../grouped/GroupedCovarianceAccumulator.java | 242 + .../grouped/GroupedRegressionAccumulator.java | 263 + .../calc/plan/planner/CommonOperatorUtils.java | 105 +- .../calc/plan/planner/TableOperatorGenerator.java | 65 +- .../planner/memory/MemoryReservationManager.java | 8 + .../iotdb/calc/utils/constant/SqlConstant.java | 7 + .../client/async/CnToDnAsyncRequestType.java | 2 + .../CnToDnInternalServiceAsyncRequestManager.java | 13 + .../handlers/heartbeat/AINodeHeartbeatHandler.java | 2 +- .../heartbeat/DataNodeHeartbeatHandler.java | 125 +- .../rpc/DataNodeAsyncRequestRPCHandler.java | 10 + .../handlers/rpc/DataNodeTSStatusRPCHandler.java | 16 +- .../ConsumerGroupPushMetaRPCHandler.java | 11 +- ...dler.java => PullCommitProgressRPCHandler.java} | 28 +- .../rpc/subscription/TopicPushMetaRPCHandler.java | 11 +- .../iotdb/confignode/conf/ConfigNodeConfig.java | 40 + .../confignode/conf/ConfigNodeDescriptor.java | 15 + .../consensus/request/ConfigPhysicalPlan.java | 6 + .../consensus/request/ConfigPhysicalPlanType.java | 3 + .../request/ConfigPhysicalPlanVisitor.java | 12 + .../CommitProgressHandleMetaChangePlan.java | 78 + .../statemachine/ConfigRegionStateMachine.java | 394 +- .../iotdb/confignode/manager/ConfigManager.java | 81 + .../iotdb/confignode/manager/ProcedureManager.java | 47 +- .../manager/consensus/ConsensusManager.java | 104 +- .../iotdb/confignode/manager/load/LoadManager.java | 75 + .../manager/load/cache/AbstractLoadCache.java | 4 + .../confignode/manager/load/cache/LoadCache.java | 27 + .../load/cache/consensus/ConsensusGroupCache.java | 2 +- .../iotdb/confignode/manager/node/NodeManager.java | 4 + .../manager/subscription/SubscriptionManager.java | 15 + .../subscription/SubscriptionMetaSyncer.java | 7 + .../runtime/SubscriptionLeaderChangeHandler.java | 43 + .../runtime/SubscriptionRuntimeCoordinator.java | 160 + .../confignode/persistence/auth/AuthorInfo.java | 6 +- .../persistence/auth/AuthorPlanExecutor.java | 12 + .../persistence/executor/ConfigPlanExecutor.java | 5 + .../persistence/subscription/SubscriptionInfo.java | 263 + .../confignode/procedure/ProcedureExecutor.java | 13 +- .../procedure/env/ConfigNodeProcedureEnv.java | 86 + .../AbstractOperateSubscriptionProcedure.java | 1 + .../impl/subscription/SubscriptionOperation.java | 2 + .../runtime/CommitProgressSyncProcedure.java | 316 + .../SubscriptionHandleLeaderChangeProcedure.java | 444 + .../subscription/CreateSubscriptionProcedure.java | 85 +- .../subscription/DropSubscriptionProcedure.java | 14 + .../impl/sync/AuthOperationProcedure.java | 6 + .../procedure/store/ProcedureFactory.java | 12 + .../confignode/procedure/store/ProcedureType.java | 2 + .../iotdb/confignode/service/ConfigNode.java | 8 +- .../thrift/ConfigNodeRPCServiceProcessor.java | 16 +- .../manager/consensus/ConsensusManagerTest.java | 116 + .../confignode/manager/load/LoadManagerTest.java | 70 + .../persistence/auth/AuthorPlanExecutorTest.java | 80 + .../SubscriptionInfoTopicValidationTest.java | 220 + .../DropSubscriptionProcedureTest.java | 3 + .../impl/sync/AuthOperationProcedureTest.java | 56 + .../thrift/ConfigNodeRPCServiceProcessorTest.java | 47 + .../DeserializedBatchIndexedConsensusRequest.java | 29 +- .../common/request/IndexedConsensusRequest.java | 66 +- .../iotdb/consensus/config/IoTConsensusConfig.java | 33 +- .../apache/iotdb/consensus/config/RatisConfig.java | 22 +- .../apache/iotdb/consensus/iot/IoTConsensus.java | 36 + .../consensus/iot/IoTConsensusServerImpl.java | 337 +- .../iot/SubscriptionWalRetentionPolicy.java} | 38 +- .../org/apache/iotdb/consensus/iot/WriterMeta.java | 112 + .../consensus/iot/WriterSafeFrontierTracker.java | 145 + .../consensus/iot/client/DispatchLogHandler.java | 45 +- .../consensus/iot/log/ConsensusReqReader.java | 90 + .../consensus/iot/logdispatcher/LogDispatcher.java | 82 +- .../consensus/iot/logdispatcher/SyncStatus.java | 4 + .../service/IoTConsensusRPCServiceProcessor.java | 31 + .../subscription/SubscriptionQueueRegistry.java | 124 + .../SubscriptionWalRetentionCalculator.java | 126 + .../apache/iotdb/consensus/ratis/RatisClient.java | 31 +- .../iotdb/consensus/ratis/RatisConsensus.java | 2 +- .../apache/iotdb/consensus/iot/WriterMetaTest.java | 76 + .../iot/WriterSafeFrontierTrackerTest.java | 56 + .../consensus/iot/util/FakeConsensusReqReader.java | 20 + .../iotdb/consensus/iot/util/TestStateMachine.java | 8 +- .../apache/iotdb/db/i18n/DataNodeMiscMessages.java | 16 + .../iotdb/db/i18n/DataNodeQueryMessages.java | 4 + .../iotdb/db/i18n/StorageEngineMessages.java | 16 + .../apache/iotdb/db/i18n/DataNodeMiscMessages.java | 16 + .../iotdb/db/i18n/DataNodeQueryMessages.java | 4 + .../iotdb/db/i18n/StorageEngineMessages.java | 16 + .../iotdb/db/auth/ClusterAuthorityFetcher.java | 35 +- .../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 31 +- .../org/apache/iotdb/db/conf/IoTDBDescriptor.java | 16 + .../db/consensus/DataRegionConsensusImpl.java | 6 + .../db/consensus/SchemaRegionConsensusImpl.java | 3 + .../dataregion/DataExecutionVisitor.java | 9 +- .../dataregion/DataRegionStateMachine.java | 3 + .../IoTConsensusDataRegionStateMachine.java | 8 +- .../task/execution/PipeSubtaskExecutorManager.java | 24 +- .../table/TsFileInsertionEventTableParser.java | 197 +- .../twostage/plugin/TwoStageCountProcessor.java | 9 +- .../protocol/thrift/IoTDBDataNodeReceiver.java | 44 +- .../evolvable/batch/PipeTabletEventPlainBatch.java | 22 +- .../batch/PipeTransferBatchReqBuilder.java | 43 +- .../sink/protocol/writeback/WriteBackSink.java | 21 +- .../listener/PipeInsertionDataNodeListener.java | 2 +- .../iotdb/db/protocol/client/ConfigNodeClient.java | 53 +- .../protocol/thrift/impl/ClientRPCServiceImpl.java | 10 +- .../impl/DataNodeInternalRPCServiceImpl.java | 94 + .../execution/aggregation/AccumulatorFactory.java | 39 + .../SlidingWindowAggregatorFactory.java | 7 + .../fragment/FragmentInstanceContext.java | 90 +- .../execution/fragment/QueryContext.java | 20 +- .../fragment/QueryModificationLoader.java | 314 + .../db/queryengine/plan/analyze/AnalyzeUtils.java | 14 +- .../plan/analyze/ClusterPartitionFetcher.java | 38 +- .../plan/analyze/ExpressionTypeAnalyzer.java | 12 + .../plan/analyze/load/LoadTsFileAnalyzer.java | 3 +- .../analyze/load/LoadTsFileTableSchemaCache.java | 31 +- .../config/executor/ClusterConfigTaskExecutor.java | 29 +- .../db/queryengine/plan/parser/ASTVisitor.java | 7 + .../memory/FakedMemoryReservationManager.java | 3 + .../NotThreadSafeMemoryReservationManager.java | 9 + .../memory/ThreadSafeMemoryReservationManager.java | 5 + .../plan/planner/plan/node/PlanGraphPrinter.java | 15 + .../plan/node/load/LoadSingleTsFileNode.java | 36 +- .../plan/node/pipe/PipeEnrichedDeleteDataNode.java | 55 + .../plan/node/pipe/PipeEnrichedInsertNode.java | 44 + .../planner/plan/node/write/DeleteDataNode.java | 7 +- .../plan/node/write/InsertMultiTabletsNode.java | 24 + .../plan/planner/plan/node/write/InsertNode.java | 13 + .../planner/plan/node/write/InsertRowNode.java | 2 +- .../planner/plan/node/write/InsertRowsNode.java | 24 + .../plan/node/write/InsertRowsOfOneDeviceNode.java | 21 + .../planner/plan/node/write/InsertTabletNode.java | 40 +- .../plan/node/write/RelationalDeleteDataNode.java | 26 +- .../plan/node/write/RelationalInsertRowNode.java | 2 +- .../plan/node/write/RelationalInsertRowsNode.java | 3 + .../node/write/RelationalInsertTabletNode.java | 7 +- .../plan/planner/plan/node/write/SearchNode.java | 65 + .../plan/parameter/AggregationDescriptor.java | 21 + .../plan/relational/analyzer/Analysis.java | 26 + .../relational/analyzer/StatementAnalyzer.java | 324 +- .../relational/metadata/TableMetadataImpl.java | 46 + .../plan/relational/planner/PredicateUtils.java | 28 +- .../plan/relational/planner/QueryPlanner.java | 34 +- .../plan/relational/planner/RelationPlanner.java | 6 +- .../planner/iterative/rule/PruneFillColumns.java | 5 + .../PushLimitOffsetIntoTableScan.java | 7 + .../optimizations/UnaliasSymbolReferences.java | 46 + .../plan/relational/sql/parser/AstBuilder.java | 38 + .../scheduler/load/LoadTsFileDispatcherImpl.java | 8 +- .../plan/scheduler/load/LoadTsFileScheduler.java | 88 +- .../plan/statement/crud/InsertTabletStatement.java | 118 +- .../impl/pbtree/memory/ReleaseFlushMonitor.java | 17 + .../schemaregion/mtree/traverser/Traverser.java | 1 + .../db/storageengine/dataregion/DataRegion.java | 81 +- .../dataregion/modification/DeletionPredicate.java | 9 +- .../dataregion/modification/IDPredicate.java | 13 +- .../dataregion/modification/ModEntry.java | 12 +- .../dataregion/modification/TreeDeletionEntry.java | 11 +- .../dataregion/modification/v1/Deletion.java | 10 +- .../dataregion/snapshot/SnapshotLoader.java | 46 +- .../dataregion/tsfile/TsFileResource.java | 18 +- .../tableDiskUsageIndex/TableDiskUsageIndex.java | 31 +- .../dataregion/wal/buffer/WALBuffer.java | 22 +- .../dataregion/wal/buffer/WALInfoEntry.java | 9 +- .../storageengine/dataregion/wal/io/LogWriter.java | 3 +- .../dataregion/wal/io/ProgressWALReader.java | 85 + .../dataregion/wal/io/WALByteBufReader.java | 73 + .../dataregion/wal/io/WALFileVersion.java | 5 +- .../dataregion/wal/io/WALInputStream.java | 8 +- .../dataregion/wal/io/WALMetaData.java | 242 +- .../storageengine/dataregion/wal/io/WALWriter.java | 22 +- .../dataregion/wal/node/WALFakeNode.java | 30 + .../storageengine/dataregion/wal/node/WALNode.java | 119 +- .../dataregion/wal/utils/WALFileUtils.java | 211 + .../dataregion/wal/utils/WALWriteUtils.java | 16 +- .../load/splitter/AlignedChunkData.java | 9 + .../load/splitter/NonAlignedChunkData.java | 16 + .../agent/SubscriptionBrokerAgent.java | 734 +- .../agent/SubscriptionConsumerAgent.java | 56 +- .../agent/SubscriptionRuntimeAgent.java | 7 +- .../subscription/agent/SubscriptionTopicAgent.java | 16 +- .../broker/ConsensusSubscriptionBroker.java | 836 + .../subscription/broker/ISubscriptionBroker.java | 93 + .../db/subscription/broker/SubscriptionBroker.java | 64 +- .../broker/SubscriptionPrefetchingQueue.java | 69 + .../consensus/ConsensusLogToTabletConverter.java | 799 + .../consensus/ConsensusPrefetchingQueue.java | 3443 ++++ .../consensus/ConsensusRegionRuntimeState.java | 86 + .../ConsensusSubscriptionCommitManager.java | 1673 ++ .../ConsensusSubscriptionSetupHandler.java | 694 + .../broker/consensus/PrefetchRoundResult.java | 62 + .../broker/consensus/ProgressWALIterator.java | 517 + .../consensus/SubscriptionConsensusProgress.java | 200 + .../db/subscription/event/SubscriptionEvent.java | 20 +- ...nsensusSubscriptionPrefetchingQueueMetrics.java | 246 + .../subscription/metric/SubscriptionMetrics.java | 2 + .../receiver/SubscriptionReceiverV1.java | 288 +- .../ConsensusSubscriptionPrefetchExecutor.java | 160 + ...nsensusSubscriptionPrefetchExecutorManager.java | 74 + .../task/subtask/ConsensusPrefetchSubtask.java | 244 + .../task/subtask/SubscriptionSinkSubtask.java | 27 +- .../subtask/SubscriptionSinkSubtaskLifeCycle.java | 11 +- .../org/apache/iotdb/db/utils/SchemaUtils.java | 49 + .../apache/iotdb/db/utils/TypeInferenceUtils.java | 58 +- .../schemaRegion/SchemaStatisticsTest.java | 61 +- .../pipe/event/TsFileInsertionEventParserTest.java | 88 + .../plugin/TwoStageCountProcessorTest.java} | 29 +- .../protocol/thrift/IoTDBDataNodeReceiverTest.java | 43 +- .../fragment/QueryModificationLoaderTest.java | 358 + .../AlignedSeriesAggregationScanOperatorTest.java | 33 +- .../operator/DeviceViewIntoOperatorTest.java | 16 +- .../execution/operator/FillOperatorTest.java | 7 +- .../operator/HorizontallyConcatOperatorTest.java | 3 +- .../operator/MergeTreeSortOperatorTest.java | 3 +- .../execution/operator/OffsetOperatorTest.java | 20 +- .../execution/operator/OperatorTestUtils.java | 55 + .../SeriesAggregationScanOperatorTest.java | 33 +- .../execution/operator/SeriesScanOperatorTest.java | 3 +- .../execution/operator/TreeIntoOperatorTest.java | 6 +- .../operator/TreeLinearFillOperatorTest.java | 5 +- .../operator/UpdateLastCacheOperatorTest.java | 7 +- .../operator/process/fill/NextFillTest.java | 299 + .../queryengine/plan/analyze/AnalyzeUtilsTest.java | 55 + .../plan/analyze/load/LoadTsFileAnalyzerTest.java | 69 +- .../node/write/DeleteDataNodeSerdeTest.java | 28 + .../planner/node/write/InsertRowNodeSerdeTest.java | 28 +- .../node/write/InsertTabletNodeSerdeTest.java | 28 +- .../node/write/RelationalDeleteDataNodeTest.java | 9 +- .../relational/analyzer/SelectAliasReuseTest.java | 347 + .../relational/analyzer/TableFunctionTest.java | 187 + .../plan/relational/analyzer/TestMetadata.java | 13 + .../relational/planner/NextFillNodeSerdeTest.java | 112 + .../relational/planner/PredicateUtilsTest.java | 13 + .../relational/sql/parser/FillStatementTest.java | 68 + .../load/LoadTsFileDispatcherImplTest.java | 98 + .../modification/TableDeletionEntryTest.java | 8 +- .../modification/TreeDeletionEntryTest.java | 5 +- .../dataregion/modification/v1/DeletionTest.java | 52 + .../dataregion/snapshot/IoTDBSnapshotTest.java | 26 + .../wal/compression/WALCompressionTest.java | 37 +- .../dataregion/wal/io/ProgressWALReaderTest.java | 93 + .../dataregion/wal/io/WALFileTest.java | 1 + .../wal/io/WALMetaDataV3CompatibilityTest.java | 185 + .../wal/node/ConsensusReqReaderTest.java | 17 + .../dataregion/wal/node/WALNodeTest.java | 66 + .../dataregion/wal/utils/WALFileUtilsTest.java | 74 + .../load/splitter/ChunkDataDirectWriteTest.java | 91 + .../ConsensusLogToTabletConverterTest.java | 208 + .../ConsensusSubscriptionCommitStateTest.java | 314 + .../broker/consensus/ProgressWALIteratorTest.java | 323 + .../resources/conf/iotdb-system.properties | 1 - .../conf/iotdb-system.properties.template | 22 +- .../apache/iotdb/commons/i18n/UtilMessages.java | 1 + .../apache/iotdb/commons/i18n/UtilMessages.java | 1 + .../iotdb/commons/concurrent/ThreadName.java | 9 +- .../apache/iotdb/commons/conf/CommonConfig.java | 174 +- .../iotdb/commons/conf/CommonDescriptor.java | 122 + .../iotdb/commons/pipe/config/PipeDescriptor.java | 8 +- .../plan/node/CommonPlanNodeDeserializer.java | 3 + .../planner/plan/node/ICoreQueryPlanVisitor.java | 5 + .../plan/planner/plan/node/PlanNodeType.java | 2 +- .../function/TableBuiltinTableFunction.java | 4 + .../{PreviousFillNode.java => NextFillNode.java} | 27 +- .../relational/planner/node/PreviousFillNode.java | 5 +- .../plan/relational/planner/node/ValuesNode.java | 5 + .../queryengine/plan/relational/sql/ast/Fill.java | 22 +- .../sql/util/CommonQuerySqlFormatter.java | 3 +- .../plan/statement/component/FillPolicy.java | 1 + .../plan/udf/BuiltinAggregationFunction.java | 23 +- .../iotdb/commons/service/metric/enums/Metric.java | 4 + .../subscription/config/SubscriptionConfig.java | 73 +- .../meta/consumer/CommitProgressKeeper.java | 190 + .../meta/consumer/ConsumerGroupMeta.java | 25 + .../TableBuiltinAggregationFunction.java | 16 +- .../relational/tvf/CapacityTableFunction.java | 69 +- .../builtin/relational/tvf/M4TableFunction.java | 802 + .../org/apache/iotdb/commons/utils/FileUtils.java | 3 + .../apache/iotdb/commons/utils/WindowsOSUtils.java | 47 +- .../commons/pipe/config/PipeDescriptorTest.java | 65 + .../meta/consumer/CommitProgressKeeperTest.java | 163 + .../relational/tvf/CapacityTableFunctionTest.java | 204 + .../apache/iotdb/commons/utils/FileUtilsTest.java | 8 + .../iotdb/commons/utils/WindowsOSUtilsTest.java | 12 + .../db/relational/grammar/sql/RelationalSql.g4 | 1 + .../thrift-commons/src/main/thrift/common.thrift | 7 + .../src/main/thrift/confignode.thrift | 22 +- .../src/main/thrift/iotconsensus.thrift | 16 +- .../src/main/thrift/datanode.thrift | 43 +- 504 files changed, 44388 insertions(+), 22065 deletions(-)
