This is an automated email from the ASF dual-hosted git repository. jiangtian pushed a commit to branch yym_rpc_compress in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 052a37fafefe8c46fb9244614cd4f383821deb71 Merge: e59dd30b609 a0a4700b932 Author: Tian Jiang <[email protected]> AuthorDate: Wed Jul 2 09:36:19 2025 +0800 Merge branch 'master' into yym_rpc_compress # Conflicts: # iotdb-client/session/src/main/java/org/apache/iotdb/session/TableSessionBuilder.java .github/workflows/greeting-ainode.yml | 52 + .github/workflows/pipe-it.yml | 106 +- LICENSE | 15 + RELEASE_NOTES.md | 44 + code-coverage/pom.xml | 2 +- distribution/pom.xml | 12 +- docker/src/main/DockerCompose/do-docker-build.sh | 4 +- .../DockerCompose/docker-compose-cluster-1c2d.yml | 3 + .../DockerCompose/docker-compose-standalone.yml | 2 +- docker/src/main/Dockerfile-1.0.0-confignode | 2 +- docker/src/main/Dockerfile-1.0.0-datanode | 2 +- docker/src/main/Dockerfile-1.0.0-standalone | 2 +- docker/src/main/Dockerfile-1c1d | 4 +- example/client-cpp-example/pom.xml | 2 +- example/jdbc/pom.xml | 2 +- example/mqtt-customize/pom.xml | 2 +- .../server/CustomizedJsonPayloadFormatter.java | 9 +- example/mqtt/pom.xml | 2 +- example/pipe-count-point-processor/pom.xml | 2 +- example/pipe-opc-ua-sink/pom.xml | 2 +- example/pom.xml | 2 +- example/rest-java-example/pom.xml | 2 +- example/schema/pom.xml | 2 +- example/session/pom.xml | 2 +- .../main/java/org/apache/iotdb/SessionExample.java | 18 +- .../apache/iotdb/SubscriptionSessionExample.java | 4 +- .../org/apache/iotdb/TableModelSessionExample.java | 15 +- .../apache/iotdb/TableModelSessionPoolExample.java | 2 +- example/trigger/pom.xml | 2 +- example/udf/pom.xml | 2 +- integration-test/pom.xml | 88 +- .../db/query/udf/example/relational/MySplit.java | 4 +- .../org/apache/iotdb/it/env/cluster/EnvUtils.java | 77 +- .../it/env/cluster/config/MppCommonConfig.java | 12 +- .../it/env/cluster/config/MppDataNodeConfig.java | 24 + .../env/cluster/config/MppSharedCommonConfig.java | 14 +- .../iotdb/it/env/cluster/env/AbstractEnv.java | 276 +- .../it/env/cluster/node/AbstractNodeWrapper.java | 13 +- .../iotdb/it/env/cluster/node/DataNodeWrapper.java | 1 + .../it/env/remote/config/RemoteCommonConfig.java | 10 +- .../it/env/remote/config/RemoteDataNodeConfig.java | 20 + .../iotdb/it/utils/TsFileTableGenerator.java | 7 +- ...usterIT2SubscriptionTableArchVerification.java} | 2 +- ...terIT2SubscriptionTableRegressionConsumer.java} | 2 +- ...ClusterIT2SubscriptionTableRegressionMisc.java} | 2 +- ...lusterIT2SubscriptionTreeArchVerification.java} | 2 +- ...sterIT2SubscriptionTreeRegressionConsumer.java} | 2 +- ...iClusterIT2SubscriptionTreeRegressionMisc.java} | 2 +- .../org/apache/iotdb/itbase/env/CommonConfig.java | 4 +- .../apache/iotdb/itbase/env/DataNodeConfig.java | 8 + .../org/apache/iotdb/ainode/it/AINodeBasicIT.java | 36 +- .../partition/IoTDBPartitionTableAutoCleanIT.java | 7 +- ....java => IoTDBPartitionTableAutoCleanUSIT.java} | 34 +- .../IoTDBRemoveConfigNodeITFramework.java | 2 +- .../IoTDBRemoveDataNodeNormalIT.java | 366 +- .../removedatanode/IoTDBRemoveDataNodeUtils.java | 178 + ...work.java => IoTDBRemoveUnknownDataNodeIT.java} | 324 +- .../confignode/it/utils/ConfigNodeTestUtils.java | 12 + .../iotdb/db/it/IoTDBCustomizedClusterIT.java | 271 ++ .../apache/iotdb/db/it/IoTDBLoadLastCacheIT.java | 642 ++++ .../org/apache/iotdb/db/it/IoTDBLoadTsFileIT.java | 104 +- .../iotdb/db/it/IoTDBSetConfigurationIT.java | 12 +- .../db/it/aligned/IoTDBPredicatePushDownIT.java | 9 + .../iotdb/db/it/auth/IoTDBSeriesPermissionIT.java | 6 +- .../java/org/apache/iotdb/db/it/cq/IoTDBCQIT.java | 16 +- .../db/it/query/IoTDBEncryptionValueQueryIT.java | 6 +- .../db/it/query/IoTDBLoadEncryptedTsFileIT.java | 8 +- ...rageGroupIT.java => IoTDBDeleteDatabaseIT.java} | 18 +- .../iotdb/db/it/schema/IoTDBMetadataFetchIT.java | 42 +- .../org/apache/iotdb/db/it/utils/TestUtils.java | 17 +- .../pipe/it/dual/tablemodel/TableModelUtils.java | 105 +- .../manual/basic/IoTDBPipePermissionIT.java | 43 + .../manual/enhanced/IoTDBPipeIdempotentIT.java | 52 +- .../IoTDBPipeTypeConversionISessionIT.java | 18 +- .../manual/IoTDBPipeTypeConversionISessionIT.java | 5 +- .../iotdb/pipe/it/single/IoTDBPipeAggregateIT.java | 5 +- .../relational/it/db/it/IoTDBAsofJoinTableIT.java | 225 ++ .../it/db/it/IoTDBAuthenticationTableIT.java | 2 +- .../relational/it/db/it/IoTDBInsertTableIT.java | 2 +- .../db/it/IoTDBMultiTAGsWithAttributesTableIT.java | 651 +++- .../it/db/it/IoTDBPatternRecognitionIT.java | 951 +++++ .../relational/it/db/it/IoTDBWindowFunctionIT.java | 642 ++++ .../relational/it/db/it/IoTDBWindowTVFIT.java | 232 +- .../it/db/it/udf/IoTDBSQLFunctionManagementIT.java | 2 +- .../udf/IoTDBUserDefinedAggregateFunctionIT.java | 6 +- ...BUserDefinedAggregationFunctionNonStreamIT.java | 57 + .../old/aligned/IoTDBPredicatePushDownTableIT.java | 13 + .../it/query/old/orderBy/IoTDBOrderByTableIT.java | 33 +- .../it/query/recent/IoTDBMaintainAuthIT.java | 18 +- .../it/query/recent/IoTDBTableAggregationIT.java | 260 +- .../IoTDBCorrelatedExistsSubqueryIT.java | 7 +- .../IoTDBCorrelatedQuantifiedComparisonIT.java | 153 + ...T.java => IoTDBCorrelatedScalarSubqueryIT.java} | 274 +- .../view/old/IoTDBFilterBetweenTableViewIT.java | 222 ++ .../query/view/old/IoTDBFilterNullTableViewIT.java | 131 + .../it/query/view/old/IoTDBFilterTableViewIT.java | 242 ++ .../view/old/IoTDBNestedQueryTableViewIT.java | 505 +++ .../view/old/IoTDBSimpleQueryTableViewIT.java | 572 +++ .../IoTDBAlignByDeviceTableView2IT.java} | 37 +- .../IoTDBAlignByDeviceTableView3IT.java} | 37 +- .../IoTDBAlignByDeviceTableViewIT.java | 568 +++ ...oTDBAlignByDeviceWithTemplateTableView2IT.java} | 39 +- .../IoTDBAlignByDeviceWithTemplateTableViewIT.java | 543 +++ ...derByLimitOffsetAlignByDeviceTableView2IT.java} | 41 +- ...OrderByLimitOffsetAlignByDeviceTableViewIT.java | 170 + ...IoTDBOrderByWithAlignByDeviceTableView2IT.java} | 39 +- ...IoTDBOrderByWithAlignByDeviceTableView3IT.java} | 39 +- .../IoTDBOrderByWithAlignByDeviceTableViewIT.java | 1588 +++++++++ ...IoTDBAlignedOffsetLimitPushDownTableViewIT.java | 166 + .../IoTDBAlignedSeriesQueryTableView2IT.java | 53 + .../IoTDBAlignedSeriesQueryTableView3IT.java | 53 + .../IoTDBAlignedSeriesQueryTableView4IT.java | 54 + .../IoTDBAlignedSeriesQueryTableView5IT.java | 55 + .../IoTDBAlignedSeriesQueryTableViewIT.java | 3698 ++++++++++++++++++++ .../IoTDBPredicatePushDownTableView2IT.java | 54 + .../IoTDBPredicatePushDownTableView3IT.java | 54 + .../IoTDBPredicatePushDownTableView4IT.java | 54 + .../IoTDBPredicatePushDownTableViewIT.java} | 7 +- .../it/query/view/old/aligned/TableViewUtils.java | 224 ++ .../old/orderby/IoTDBOrderByTableViewIT.java} | 135 +- .../view/old/query/IoTDBArithmeticTableViewIT.java | 411 +++ .../view/old/query/IoTDBPaginationTableViewIT.java | 233 ++ .../view/recent/IoTDBColumnsMatchTableViewIT.java | 364 ++ .../view/recent/IoTDBComplexQueryTableViewIT.java | 100 + .../view/recent/IoTDBDistinctTagTableViewIT.java | 173 + .../it/query/view/recent/IoTDBFillTableViewIT.java | 740 ++++ .../query/view/recent/IoTDBGapFillTableViewIT.java | 559 +++ .../view/recent/IoTDBNullIdQueryTableViewIT.java | 543 +++ .../view/recent/IoTDBNullValueTableViewIT.java | 84 + ...oTDBTableViewAggregationFunctionDistinctIT.java | 381 ++ .../recent/IoTDBTableViewAggregationIT.java} | 483 +-- .../IoTDBTableViewAggregationNonStreamIT.java} | 483 +-- .../query/view/recent/IoTDBTableViewQueryIT.java | 392 +++ ...oTDBTableViewQueryWithNotMatchedDataTypeIT.java | 103 + .../recent/IoTDBTableViewWithTreeTTLQueryIT.java | 146 + .../relational/it/schema/IoTDBDatabaseIT.java | 260 +- .../iotdb/relational/it/schema/IoTDBDeviceIT.java | 6 + .../iotdb/relational/it/schema/IoTDBTableIT.java | 359 +- .../it/session/IoTDBSessionRelationalIT.java | 2 +- .../pool/IoTDBInsertTableSessionPoolIT.java | 2 +- .../org/apache/iotdb/session/it/SessionIT.java | 133 +- .../it/IoTDBSubscriptionITConstant.java | 28 + .../org/apache/iotdb/subscription/it/Retry.java | 16 +- .../apache/iotdb/subscription/it/RetryRule.java | 69 + .../it/cluster/IoTDBSubscriptionRestartIT.java | 4 + .../it/dual/AbstractSubscriptionDualIT.java | 4 + .../dual/tablemodel/IoTDBSubscriptionTopicIT.java | 407 +++ .../IoTDBSubscriptionConsumerGroupIT.java | 7 +- .../IoTDBSubscriptionTimePrecisionIT.java | 7 +- .../{ => treemodel}/IoTDBSubscriptionTopicIT.java | 79 +- .../it/local/AbstractSubscriptionLocalIT.java | 2 + .../it/local/IoTDBSubscriptionBasicIT.java | 128 +- .../tablemodel/IoTDBSubscriptionIsolationIT.java | 218 ++ .../IoTDBSubscriptionPermissionIT.java | 135 +- .../it/triple/AbstractSubscriptionTripleIT.java | 5 + .../subscription/it/triple/tablemodel/.gitkeep | 18 + .../IoTDBSubscriptionSharingIT.java | 13 +- .../AbstractSubscriptionTreeRegressionIT.java} | 88 +- .../IoTDBDefaultPullConsumerDataSetIT.java | 10 +- .../IoTDBDefaultTsfilePushConsumerIT.java | 21 +- .../IoTDBRootDatasetPushConsumerIT.java | 10 +- .../IoTDBRootPullConsumeTsfileIT.java | 20 +- ...merPullConsumerWith1TopicShareProcessMixIT.java | 10 +- .../param/IoTDBTestParamPullConsumerIT.java | 10 +- .../param/IoTDBTestParamPushConsumerIT.java | 10 +- .../param/IoTDBTestParamSubscriptionSessionIT.java | 10 +- .../regression/param/IoTDBTestParamTopicIT.java | 10 +- ...DBTestAutoCommitFalseDataSetPullConsumerIT.java | 10 +- ...TDBTestAutoCommitTrueDataSetPullConsumerIT.java | 11 +- .../format/IoTDBDBDataSetPullConsumerIT.java | 10 +- .../format/IoTDBDBTsfilePullConsumerIT.java | 10 +- .../IoTDBAllTsDatasetPullConsumerIT.java | 10 +- .../IoTDBAllTsTsfilePullConsumerIT.java | 10 +- .../IoTDBAllTsfilePullConsumerSnapshotIT.java | 10 +- .../IoTDBPathDeviceDataSetPullConsumerIT.java | 10 +- .../IoTDBPathDeviceTsfilePullConsumerIT.java | 10 +- .../IoTDBTimeTsDatasetPullConsumerIT.java | 10 +- .../IoTDBTimeTsTsfilePullConsumerIT.java | 10 +- .../IoTDBSnapshotDevicePullConsumerDataSetIT.java | 13 +- .../IoTDBSnapshotDevicePullConsumerTsfileIT.java | 10 +- ...DBConsumer2With1TopicShareProcessDataSetIT.java | 10 +- ...TDBConsumer2With1TopicShareProcessTsfileIT.java | 11 +- .../multi/IoTDBMultiGroupVsMultiConsumerIT.java | 10 +- .../IoTDBOneConsumerMultiTopicsDatasetIT.java | 10 +- .../multi/IoTDBOneConsumerMultiTopicsMixIT.java | 10 +- .../multi/IoTDBOneConsumerMultiTopicsTsfileIT.java | 20 +- .../pattern/IoTDBDBPatternPullConsumeTsfileIT.java | 10 +- .../IoTDBDBPatternPullConsumerDataSetIT.java | 10 +- .../IoTDBDefaultPatternPullConsumerDataSetIT.java | 10 +- .../IoTDBDevicePatternPullConsumeTsfileIT.java | 10 +- .../IoTDBDevicePatternPullConsumerDataSetIT.java | 41 +- ...DBMiddleMatch2PatternPullConsumerDataSetIT.java | 10 +- ...IoTDBMiddleMatchPatternPullConsumeTsfileIT.java | 39 +- ...TDBMiddleMatchPatternPullConsumerDataSetIT.java | 11 +- .../IoTDBRootPatternPullConsumeTsfileIT.java | 10 +- .../pattern/IoTDBTSPatternPullConsumeTsfileIT.java | 10 +- .../IoTDBTSPatternPullConsumerDataSetIT.java | 10 +- .../time/IoTDBAllPullConsumerDataSetIT.java | 10 +- .../time/IoTDBHistoryPullConsumerDataSetIT.java | 10 +- .../time/IoTDBRealTimePullConsumerDataSetIT.java | 10 +- ...oTDBTimeRangeAccuratePullConsumerDataSetIT.java | 11 +- .../time/IoTDBTimeRangePullConsumerDataSetIT.java | 10 +- .../format/IoTDBTestPushConsumeDataSetIT.java | 10 +- .../IoTDBTestPushConsumeNoTargetDirTsfileIT.java | 10 +- .../format/IoTDBTestPushConsumeTsfileIT.java | 10 +- .../IoTDBLooseAllTsDatasetPushConsumerIT.java | 10 +- ...TDBLooseAllTsDatasetPushConsumerSnapshotIT.java | 11 +- .../IoTDBLooseAllTsfilePushConsumerIT.java | 10 +- .../IoTDBPathLooseDeviceTsfilePushConsumerIT.java | 10 +- .../IoTDBPathLooseTsDatasetPushConsumerIT.java | 10 +- .../IoTDBPathLooseTsfilePushConsumerIT.java | 10 +- .../IoTDBPathTsLooseDatasetPushConsumerIT.java | 10 +- .../IoTDBTimeLooseTsDatasetPushConsumerIT.java | 10 +- .../IoTDBTimeLooseTsTsfilePushConsumerIT.java | 10 +- .../IoTDBTimeLooseTsfilePushConsumerIT.java | 10 +- .../IoTDBTimeTsLooseDatasetPushConsumerIT.java | 10 +- ...oTDBSnapshotTSPatternDatasetPushConsumerIT.java | 33 +- ...IoTDBSnapshotTSPatternTsfilePushConsumerIT.java | 19 +- ...DBConsumer2With1TopicShareProcessDataSetIT.java | 10 +- ...TDBConsumer2With1TopicShareProcessTsfileIT.java | 11 +- .../multi/IoTDBMultiGroupVsMultiConsumerIT.java | 20 +- .../IoTDBOneConsumerMultiTopicsDatasetIT.java | 10 +- .../multi/IoTDBOneConsumerMultiTopicsMixIT.java | 10 +- .../multi/IoTDBOneConsumerMultiTopicsTsfileIT.java | 17 +- .../IoTDBDBPatternDatasetPushConsumerIT.java | 10 +- .../IoTDBDBPatternTsfilePushConsumerIT.java | 10 +- .../IoTDBDefaultPatternTsfilePushConsumerIT.java | 10 +- .../IoTDBDevicePatternDatasetPushConsumerIT.java | 10 +- .../IoTDBDevicePatternTsfilePushConsumerIT.java | 10 +- .../IoTDBRootPatternDatasetPushConsumerIT.java | 10 +- .../IoTDBTSPatternDatasetPushConsumerIT.java | 10 +- .../IoTDBTSPatternTsfilePushConsumerIT.java | 10 +- .../IoTDBHistoryRootDatasetPushConsumerIT.java | 10 +- .../time/IoTDBHistoryRootTsFilePushConsumerIT.java | 10 +- .../time/IoTDBRealTimeDBDatasetPushConsumerIT.java | 10 +- .../time/IoTDBRealTimeDBTsfilePushConsumerIT.java | 10 +- ...DBTimeRangeAccurateDBDataSetPushConsumerIT.java | 10 +- .../IoTDBTimeRangeDBDataSetPushConsumerIT.java | 10 +- .../time/IoTDBTimeRangeDBTsfilePushConsumerIT.java | 10 +- .../topic/IoTDBDataSet1TopicConsumerSpecialIT.java | 10 +- .../regression/topic/IoTDBTestTopicNameIT.java | 10 +- .../regression/user/IoTDBOtherUserConsumerIT.java | 10 +- .../apache/iotdb/tools/it/ExportTsFileTestIT.java | 88 +- iotdb-api/external-api/pom.xml | 2 +- iotdb-api/pipe-api/pom.xml | 2 +- iotdb-api/pom.xml | 2 +- iotdb-api/trigger-api/pom.xml | 2 +- iotdb-api/udf-api/pom.xml | 2 +- .../api/exception/UDFColumnNotFoundException.java | 12 +- .../api/exception/UDFTypeMismatchException.java | 12 +- .../table/argument/ScalarArgumentChecker.java | 8 + .../ScalarParameterSpecification.java | 2 +- .../java/org/apache/iotdb/udf/api/type/Type.java | 10 + iotdb-client/cli/pom.xml | 22 +- .../java/org/apache/iotdb/cli/AbstractCli.java | 4 +- .../org/apache/iotdb/cli/utils/JlineUtils.java | 12 + .../org/apache/iotdb/tool/common/Constants.java | 1 - .../org/apache/iotdb/tool/common/OptionsUtil.java | 5 +- .../apache/iotdb/tool/data/AbstractDataTool.java | 6 +- .../apache/iotdb/tool/data/ImportDataTable.java | 9 +- .../org/apache/iotdb/tool/tsfile/ExportTsFile.java | 7 +- .../subscription/AbstractSubscriptionTsFile.java | 1 + .../subscription/SubscriptionTableTsFile.java | 28 +- .../subscription/SubscriptionTreeTsFile.java | 31 +- iotdb-client/client-cpp/pom.xml | 78 +- iotdb-client/client-cpp/src/main/Column.cpp | 359 ++ iotdb-client/client-cpp/src/main/Column.h | 353 ++ iotdb-client/client-cpp/src/main/ColumnDecoder.cpp | 178 + iotdb-client/client-cpp/src/main/ColumnDecoder.h | 75 + iotdb-client/client-cpp/src/main/Common.cpp | 456 +++ iotdb-client/client-cpp/src/main/Common.h | 485 +++ iotdb-client/client-cpp/src/main/DeviceID.h | 161 + .../client-cpp/src/main/IoTDBRpcDataSet.cpp | 620 ++++ iotdb-client/client-cpp/src/main/IoTDBRpcDataSet.h | 159 + iotdb-client/client-cpp/src/main/NodesSupplier.cpp | 77 +- iotdb-client/client-cpp/src/main/NodesSupplier.h | 30 +- iotdb-client/client-cpp/src/main/Session.cpp | 2618 +++++++------- iotdb-client/client-cpp/src/main/Session.h | 1552 +++----- .../client-cpp/src/main/SessionConnection.cpp | 516 ++- .../client-cpp/src/main/SessionConnection.h | 299 +- .../client-cpp/src/main/SessionDataSet.cpp | 280 ++ iotdb-client/client-cpp/src/main/SessionDataSet.h | 146 + iotdb-client/client-cpp/src/main/TableSession.cpp | 15 +- iotdb-client/client-cpp/src/main/TableSession.h | 12 +- .../client-cpp/src/main/ThriftConnection.cpp | 109 +- .../client-cpp/src/main/ThriftConnection.h | 25 +- iotdb-client/client-cpp/src/main/TsBlock.cpp | 109 + iotdb-client/client-cpp/src/main/TsBlock.h | 55 + iotdb-client/client-cpp/src/test/cpp/sessionIT.cpp | 203 +- .../src/test/cpp/sessionRelationalIT.cpp | 177 +- iotdb-client/client-cpp/src/test/main.cpp | 2 +- .../client-cpp/src/test/main_Relational.cpp | 20 +- iotdb-client/client-go | 2 +- iotdb-client/client-py/pom.xml | 8 +- .../tests/integration/sqlalchemy/test_dialect.py | 2 +- iotdb-client/isession/pom.xml | 8 +- .../java/org/apache/iotdb/isession/ISession.java | 10 +- .../apache/iotdb/isession/pool/ISessionPool.java | 4 + iotdb-client/jdbc/pom.xml | 8 +- .../iotdb/jdbc/IoTDBAbstractDatabaseMetadata.java | 17 +- .../org/apache/iotdb/jdbc/IoTDBConnection.java | 27 +- .../apache/iotdb/jdbc/IoTDBDatabaseMetadata.java | 22 +- .../java/org/apache/iotdb/jdbc/IoTDBStatement.java | 9 +- .../IoTDBRelationalDatabaseMetadata.java | 148 +- iotdb-client/pom.xml | 2 +- iotdb-client/service-rpc/pom.xml | 6 +- .../java/org/apache/iotdb/rpc/TSStatusCode.java | 13 +- .../rpc/subscription/config/ConsumerConfig.java | 4 + .../rpc/subscription/config/ConsumerConstant.java | 3 + .../response/PipeSubscribeHeartbeatResp.java | 17 +- iotdb-client/session/pom.xml | 10 +- .../java/org/apache/iotdb/session/Session.java | 254 +- .../apache/iotdb/session/SessionConnection.java | 66 +- .../apache/iotdb/session/TableSessionBuilder.java | 9 +- .../org/apache/iotdb/session/pool/SessionPool.java | 32 +- .../subscription/AbstractSubscriptionSession.java | 21 +- .../subscription/ISubscriptionTableSession.java | 22 + .../subscription/ISubscriptionTreeSession.java | 22 + .../subscription/SubscriptionSessionWrapper.java | 4 +- .../subscription/SubscriptionTableSession.java | 12 + .../subscription/SubscriptionTreeSession.java | 12 + .../consumer/ISubscriptionTablePullConsumer.java | 12 + .../consumer/ISubscriptionTreePullConsumer.java | 12 + .../base/AbstractSubscriptionConsumer.java | 27 +- .../base/AbstractSubscriptionProvider.java | 32 +- .../base/AbstractSubscriptionProviders.java | 13 +- .../table/SubscriptionTablePullConsumer.java | 5 + .../tree/SubscriptionTreePullConsumer.java | 5 + .../session/subscription/model/Subscription.java | 15 +- iotdb-core/ainode/ainode/core/client.py | 128 +- iotdb-core/ainode/ainode/core/config.py | 210 +- iotdb-core/ainode/ainode/core/constant.py | 100 +- iotdb-core/ainode/ainode/core/exception.py | 50 +- iotdb-core/ainode/ainode/core/handler.py | 27 +- iotdb-core/ainode/ainode/core/ingress/__init__.py | 17 + iotdb-core/ainode/ainode/core/ingress/dataset.py | 44 + iotdb-core/ainode/ainode/core/ingress/iotdb.py | 372 ++ iotdb-core/ainode/ainode/core/log.py | 38 +- .../ainode/ainode/core/manager/cluster_manager.py | 27 +- .../ainode/core/manager/inference_manager.py | 346 +- .../ainode/ainode/core/manager/model_manager.py | 113 +- .../ainode/core/model/built_in_model_factory.py | 649 +++- .../ainode/ainode/core/model/model_factory.py | 156 +- iotdb-core/ainode/ainode/core/model/model_info.py | 160 + .../ainode/ainode/core/model/model_storage.py | 297 +- .../ainode/ainode/core/model/sundial/__init__.py | 17 + .../core/model/sundial/configuration_sundial.py | 67 + .../ainode/ainode/core/model/sundial/flow_loss.py | 255 ++ .../ainode/core/model/sundial/modeling_sundial.py | 671 ++++ .../core/model/sundial/ts_generation_mixin.py | 374 ++ .../ainode/ainode/core/model/timerxl/__init__.py | 17 + .../core/model/timerxl/configuration_timer.py | 59 + .../ainode/core/model/timerxl/modeling_timer.py | 660 ++++ .../core/model/timerxl/ts_generation_mixin.py | 366 ++ iotdb-core/ainode/ainode/core/script.py | 115 +- iotdb-core/ainode/ainode/core/service.py | 12 +- iotdb-core/ainode/ainode/core/util/activation.py | 55 + iotdb-core/ainode/ainode/core/util/cache.py | 88 + .../ainode/ainode/core/util/huggingface_cache.py | 227 ++ iotdb-core/ainode/ainode/core/util/masking.py | 93 + iotdb-core/ainode/ainode/core/util/serde.py | 469 +-- iotdb-core/ainode/poetry.lock | 841 ++++- iotdb-core/ainode/pom.xml | 10 +- iotdb-core/ainode/pyproject.toml | 20 +- .../ainode/resources/conf/iotdb-ainode.properties | 32 +- iotdb-core/antlr/pom.xml | 2 +- .../org/apache/iotdb/db/qp/sql/IdentifierParser.g4 | 6 + .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4 | 64 +- .../antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4 | 24 + iotdb-core/confignode/pom.xml | 26 +- .../client/async/CnToDnAsyncRequestType.java | 1 + .../CnToDnInternalServiceAsyncRequestManager.java | 7 + .../rpc/DataNodeAsyncRequestRPCHandler.java | 19 + .../rpc/TreeDeviceViewFieldDetectionHandler.java | 100 + .../confignode/conf/SystemPropertiesUtils.java | 1 - .../consensus/request/ConfigPhysicalPlan.java | 70 +- .../consensus/request/ConfigPhysicalPlanType.java | 15 +- .../request/ConfigPhysicalPlanVisitor.java | 76 +- .../request/read/database/GetDatabasePlan.java | 9 +- ...blePlan.java => PipeCreateTableOrViewPlan.java} | 10 +- .../request/write/table/AddTableColumnPlan.java | 15 +- .../write/table/CommitDeleteColumnPlan.java | 14 +- .../request/write/table/CommitDeleteTablePlan.java | 11 +- .../request/write/table/PreDeleteColumnPlan.java | 14 +- .../request/write/table/PreDeleteTablePlan.java | 11 +- .../request/write/table/RenameTableColumnPlan.java | 15 +- ...meTableColumnPlan.java => RenameTablePlan.java} | 26 +- .../request/write/table/SetTableCommentPlan.java | 14 +- .../write/table/SetTablePropertiesPlan.java | 14 +- .../AddTableViewColumnPlan.java} | 21 +- .../CommitDeleteViewColumnPlan.java} | 14 +- .../CommitDeleteViewPlan.java} | 14 +- .../PreCreateTableViewPlan.java} | 33 +- .../PreDeleteViewColumnPlan.java} | 13 +- .../PreDeleteViewPlan.java} | 13 +- .../RenameViewColumnPlan.java} | 16 +- .../RenameViewPlan.java} | 13 +- .../SetViewCommentPlan.java} | 14 +- .../SetViewPropertiesPlan.java} | 15 +- .../consensus/response/model/ModelTableResp.java | 13 +- .../subscription/SubscriptionTableResp.java | 37 +- .../response/subscription/TopicTableResp.java | 25 +- .../exception/DatabaseNotExistsException.java | 2 +- .../iotdb/confignode/manager/ConfigManager.java | 115 +- .../apache/iotdb/confignode/manager/IManager.java | 14 + .../iotdb/confignode/manager/ModelManager.java | 53 +- .../iotdb/confignode/manager/ProcedureManager.java | 200 +- .../iotdb/confignode/manager/TTLManager.java | 9 +- .../region/GreedyCopySetRegionGroupAllocator.java | 265 +- .../load/cache/detector/PhiAccrualDetector.java | 2 +- .../manager/load/service/TopologyService.java | 2 +- .../iotdb/confignode/manager/node/NodeManager.java | 88 + .../pipe/agent/task/PipeConfigNodeSubtask.java | 9 +- .../runtime/heartbeat/PipeHeartbeatParser.java | 2 + .../pipe/event/PipeConfigRegionSnapshotEvent.java | 2 +- .../extractor/ConfigRegionListeningFilter.java | 15 +- .../pipe/extractor/ConfigRegionListeningQueue.java | 26 +- ...ConfigPhysicalPlanTablePatternParseVisitor.java | 19 +- ...nfigPhysicalPlanTablePrivilegeParseVisitor.java | 19 +- .../PipeConfigNodeRemainingTimeOperator.java | 4 +- .../receiver/protocol/IoTDBConfigNodeReceiver.java | 191 +- .../PipeConfigPhysicalPlanTSStatusVisitor.java | 28 +- .../manager/schema/ClusterSchemaManager.java | 265 +- .../subscription/SubscriptionCoordinator.java | 57 +- .../iotdb/confignode/persistence/ModelInfo.java | 26 +- .../persistence/executor/ConfigPlanExecutor.java | 15 + .../partition/DatabasePartitionTable.java | 10 +- .../persistence/partition/PartitionInfo.java | 2 +- .../persistence/partition/RegionGroup.java | 6 +- .../confignode/persistence/pipe/PipeTaskInfo.java | 18 +- .../schema/CNPhysicalPlanGenerator.java | 4 +- .../persistence/schema/ClusterSchemaInfo.java | 308 +- .../confignode/persistence/schema/ConfigMTree.java | 101 +- .../schema/TreeDeviceViewFieldDetector.java | 307 ++ .../schema/mnode/info/ConfigTableInfo.java | 6 + .../persistence/subscription/SubscriptionInfo.java | 97 +- .../confignode/procedure/InternalProcedure.java | 6 +- .../procedure/PartitionTableAutoCleaner.java | 29 +- .../iotdb/confignode/procedure/Procedure.java | 62 +- .../confignode/procedure/ProcedureExecutor.java | 4 - .../procedure/env/ConfigNodeProcedureEnv.java | 68 +- .../procedure/env/RemoveDataNodeHandler.java | 8 +- .../procedure/impl/StateMachineProcedure.java | 8 +- .../procedure/impl/cq/CreateCQProcedure.java | 4 +- .../procedure/impl/node/RemoveAINodeProcedure.java | 4 +- .../impl/node/RemoveDataNodesProcedure.java | 5 +- .../impl/pipe/AbstractOperatePipeProcedureV2.java | 8 +- .../pipe/plugin/CreatePipePluginProcedure.java | 4 +- .../impl/pipe/plugin/DropPipePluginProcedure.java | 4 +- .../impl/pipe/runtime/PipeMetaSyncProcedure.java | 69 +- .../impl/pipe/task/AlterPipeProcedureV2.java | 88 +- .../impl/pipe/task/CreatePipeProcedureV2.java | 45 +- .../pipe/util/PipeExternalSourceLoadBalancer.java | 218 ++ .../impl/region/AddRegionPeerProcedure.java | 4 +- .../region/NotifyRegionMigrationProcedure.java | 6 +- .../impl/region/ReconstructRegionProcedure.java | 4 +- .../impl/region/RemoveRegionPeerProcedure.java | 4 +- .../impl/schema/AlterLogicalViewProcedure.java | 4 +- .../impl/schema/DeactivateTemplateProcedure.java | 4 +- .../impl/schema/DeleteDatabaseProcedure.java | 4 +- .../impl/schema/DeleteLogicalViewProcedure.java | 4 +- .../impl/schema/DeleteTimeSeriesProcedure.java | 4 +- .../procedure/impl/schema/SchemaUtils.java | 20 +- .../procedure/impl/schema/SetTTLProcedure.java | 4 +- .../impl/schema/SetTemplateProcedure.java | 4 +- .../impl/schema/UnsetTemplateProcedure.java | 4 +- .../table/AbstractAlterOrDropTableProcedure.java | 28 +- .../impl/schema/table/AddTableColumnProcedure.java | 31 +- .../impl/schema/table/CreateTableProcedure.java | 34 +- .../impl/schema/table/DeleteDevicesProcedure.java | 6 +- .../schema/table/DropTableColumnProcedure.java | 37 +- .../impl/schema/table/DropTableProcedure.java | 34 +- .../schema/table/RenameTableColumnProcedure.java | 49 +- ...umnProcedure.java => RenameTableProcedure.java} | 128 +- .../schema/table/SetTablePropertiesProcedure.java | 28 +- .../schema/table/view/AddViewColumnProcedure.java | 98 + .../table/view/CreateTableViewProcedure.java | 191 + .../schema/table/view/DropViewColumnProcedure.java | 55 + .../impl/schema/table/view/DropViewProcedure.java} | 29 +- .../table/view/RenameViewColumnProcedure.java | 56 + .../schema/table/view/RenameViewProcedure.java | 55 + .../table/view/SetViewPropertiesProcedure.java | 56 + .../AbstractOperateSubscriptionProcedure.java | 4 +- .../subscription/CreateSubscriptionProcedure.java | 10 - .../impl/sync/AbstractOperatePipeProcedure.java | 4 +- .../AddNeverFinishSubProcedureProcedure.java | 4 +- .../impl/testonly/NeverFinishProcedure.java | 4 +- .../state/schema/RenameTableColumnState.java | 3 +- ...TableColumnState.java => RenameTableState.java} | 5 +- .../procedure/store/ProcedureFactory.java | 73 + .../confignode/procedure/store/ProcedureType.java | 18 + .../iotdb/confignode/service/ConfigNode.java | 12 +- .../confignode/service/ConfigNodeShutdownHook.java | 3 + .../thrift/ConfigNodeRPCServiceProcessor.java | 110 +- .../confignode/conf/ConfigNodePropertiesTest.java | 30 +- .../request/ConfigPhysicalPlanSerDeTest.java | 216 +- .../consensus/response/pipe/PipeTableRespTest.java | 6 +- .../GreedyCopySetRemoveNodeReplicaSelectTest.java | 40 +- .../agent/PipeConfigNodeSubtaskExecutorTest.java | 3 +- ...igPhysicalPlanTablePatternParseVisitorTest.java | 83 +- .../iotdb/confignode/persistence/PipeInfoTest.java | 4 +- .../persistence/schema/ClusterSchemaInfoTest.java | 5 +- .../persistence/schema/ConfigMTreeTest.java | 2 +- .../confignode/procedure/entity/IncProcedure.java | 5 +- .../confignode/procedure/entity/NoopProcedure.java | 5 +- .../procedure/entity/SimpleLockProcedure.java | 5 +- .../procedure/entity/SimpleSTMProcedure.java | 4 +- .../procedure/entity/SleepProcedure.java | 5 +- .../procedure/entity/StuckSTMProcedure.java | 4 +- .../pipe/receiver/PipeEnrichedProcedureTest.java | 206 +- .../schema/table/CreateTableProcedureTest.java | 2 +- ...edureTest.java => CreateViewProcedureTest.java} | 26 +- ...dureTest.java => RenameTableProcedureTest.java} | 35 +- .../table/view/AddViewColumnProcedureTest.java | 62 + .../CreateViewProcedureTest.java} | 25 +- .../table/view/DropViewColumnProcedureTest.java | 53 + .../schema/table/view/DropViewProcedureTest.java | 52 + .../table/view/RenameViewColumnProcedureTest.java | 53 + .../schema/table/view/RenameViewProcedureTest.java | 52 + .../table/view/SetViewPropertiesProcedureTest.java | 64 + iotdb-core/consensus/pom.xml | 14 +- .../apache/iotdb/consensus/ConsensusFactory.java | 4 +- .../consensus/iot/IoTConsensusServerImpl.java | 7 +- .../iotdb/consensus/iot/logdispatcher/Batch.java | 17 +- .../consensus/iot/logdispatcher/LogDispatcher.java | 11 +- .../consensus/iot/logdispatcher/SyncStatus.java | 9 +- .../apache/iotdb/consensus/pipe/PipeConsensus.java | 10 +- .../consensus/pipe/PipeConsensusServerImpl.java | 19 +- .../pipe/consensuspipe/ConsensusPipeConnector.java | 4 +- .../pipe/consensuspipe/ConsensusPipeReceiver.java | 3 +- .../consensuspipe/ReplicateProgressManager.java | 2 +- .../pipe/metric/PipeConsensusSyncLagManager.java | 12 +- .../iotdb/consensus/ratis/RatisConsensus.java | 2 + .../iotdb/consensus/simple/SimpleConsensus.java | 3 +- iotdb-core/datanode/pom.xml | 40 +- .../assembly/resources/conf/logback-datanode.xml | 6 +- .../org/apache/iotdb/db/audit/AuditLogger.java | 1 + .../org/apache/iotdb/db/auth/AuthorityChecker.java | 9 +- .../apache/iotdb/db/auth/BasicAuthorityCache.java | 2 +- .../iotdb/db/auth/ClusterAuthorityFetcher.java | 7 +- .../apache/iotdb/db/conf/DataNodeMemoryConfig.java | 16 +- .../java/org/apache/iotdb/db/conf/IoTDBConfig.java | 59 +- .../org/apache/iotdb/db/conf/IoTDBDescriptor.java | 28 +- .../org/apache/iotdb/db/conf/IoTDBStartCheck.java | 37 +- .../db/consensus/DataRegionConsensusImpl.java | 1 - .../db/consensus/SchemaRegionConsensusImpl.java | 1 - .../dataregion/DataExecutionVisitor.java | 5 + .../dataregion/DataRegionStateMachine.java | 4 + .../schemaregion/SchemaExecutionVisitor.java | 15 + .../iotdb/db/exception/ainode/ModelException.java | 11 +- .../metadata/DatabaseNotSetException.java | 13 - .../runtime/TableLostRuntimeException.java} | 23 +- .../TableNotExistsRuntimeException.java} | 17 +- .../pipe/agent/plugin/PipeDataNodePluginAgent.java | 15 + .../PipeDataRegionExtractorConstructor.java | 5 + .../db/pipe/agent/runtime/PipeAgentLauncher.java | 4 + .../agent/runtime/PipeDataNodeRuntimeAgent.java | 6 + .../db/pipe/agent/task/PipeDataNodeTaskAgent.java | 100 +- .../agent/task/builder/PipeDataNodeBuilder.java | 20 +- .../task/builder/PipeDataNodeTaskBuilder.java | 41 +- .../agent/task/connection/PipeEventCollector.java | 17 +- .../task/execution/PipeSubtaskExecutorManager.java | 6 +- .../agent/task/stage/PipeTaskExtractorStage.java | 2 + .../agent/task/stage/PipeTaskProcessorStage.java | 2 + .../subtask/connector/PipeConnectorSubtask.java | 114 +- .../connector/PipeConnectorSubtaskManager.java | 21 +- .../PipeRealtimePriorityBlockingQueue.java | 22 +- .../subtask/processor/PipeProcessorSubtask.java | 19 +- .../client/IoTDBDataNodeAsyncClientManager.java | 13 +- .../evolvable/batch/PipeTabletEventBatch.java | 43 +- .../evolvable/batch/PipeTabletEventPlainBatch.java | 4 - .../batch/PipeTransferBatchReqBuilder.java | 81 +- .../request/PipeTransferTabletRawReqV2.java | 2 +- .../airgap/IoTDBDataRegionAirGapConnector.java | 10 + .../connector/protocol/opcua/OpcUaConnector.java | 6 +- .../connector/protocol/opcua/OpcUaNameSpace.java | 8 +- .../pipeconsensus/PipeConsensusAsyncConnector.java | 371 +- .../pipeconsensus/PipeConsensusSyncConnector.java | 34 +- ...r.java => PipeConsensusDeleteEventHandler.java} | 66 +- .../PipeConsensusTabletBatchEventHandler.java | 2 +- .../PipeConsensusTabletInsertionEventHandler.java | 26 +- .../PipeConsensusTsFileInsertionEventHandler.java | 16 +- .../PipeConsensusTransferBatchReqBuilder.java | 13 +- .../async/IoTDBDataRegionAsyncConnector.java | 109 +- .../PipeTransferTabletBatchEventHandler.java | 7 +- .../async/handler/PipeTransferTsFileHandler.java | 13 +- .../thrift/sync/IoTDBDataRegionSyncConnector.java | 31 +- .../protocol/websocket/WebSocketConnector.java | 13 +- .../protocol/writeback/WriteBackConnector.java | 85 +- .../util/builder/PipeTableModelTsFileBuilder.java | 5 +- .../builder/PipeTableModelTsFileBuilderV2.java | 56 +- .../util/builder/PipeTreeModelTsFileBuilder.java | 1 + .../util/builder/PipeTreeModelTsFileBuilderV2.java | 47 +- .../sorter/PipeTableModelTabletEventSorter.java | 142 +- .../util/sorter/PipeTabletEventSorter.java | 146 +- .../sorter/PipeTreeModelTabletEventSorter.java | 60 +- .../ReplicateProgressDataNodeManager.java | 21 +- .../deletion/persist/PageCacheDeletionBuffer.java | 1 + .../statement/PipeStatementInsertionEvent.java | 222 ++ .../tablet/PipeInsertNodeTabletInsertionEvent.java | 7 +- .../common/tablet/PipeRawTabletInsertionEvent.java | 37 +- .../tablet/parser/TabletInsertionEventParser.java | 19 +- .../event/common/terminate/PipeTerminateEvent.java | 45 + .../common/tsfile/PipeTsFileInsertionEvent.java | 78 +- ...ileInsertionEventTableParserTabletIterator.java | 15 +- .../db/pipe/event/realtime/PipeRealtimeEvent.java | 5 + .../event/realtime/PipeRealtimeEventFactory.java | 50 +- .../dataregion/IoTDBDataRegionExtractor.java | 25 +- ...oricalDataRegionTsFileAndDeletionExtractor.java | 117 +- .../realtime/PipeRealtimeDataRegionExtractor.java | 2 + .../PipeRealtimeDataRegionHybridExtractor.java | 209 +- .../realtime/assigner/PipeDataRegionAssigner.java | 52 +- ...ava => PipeTsFileEpochProgressIndexKeeper.java} | 53 +- .../dataregion/realtime/epoch/TsFileEpoch.java | 14 +- .../listener/PipeInsertionDataNodeListener.java | 11 +- .../db/pipe/extractor/mqtt/MQTTExtractor.java | 182 + .../extractor/mqtt/MQTTPublishHandler.java} | 242 +- .../PipeDataNodeRemainingEventAndTimeMetrics.java | 121 +- .../PipeDataNodeRemainingEventAndTimeOperator.java | 71 +- .../overview/PipeWALInsertNodeCacheMetrics.java | 94 +- .../sink/PipeDataRegionConnectorMetrics.java | 116 + .../processor/aggregate/AggregateProcessor.java | 23 +- .../standardstatistics/MaxValueOperator.java | 54 + .../standardstatistics/MinValueOperator.java | 54 + .../sametype/numeric/AbsoluteMaxOperator.java | 16 +- .../{AbsoluteMaxOperator.java => MaxOperator.java} | 32 +- .../{AbsoluteMaxOperator.java => MinOperator.java} | 36 +- .../StandardStatisticsOperatorProcessor.java | 10 +- .../downsampling/DownSamplingProcessor.java | 25 +- .../pipeconsensus/PipeConsensusReceiver.java | 490 +-- .../pipeconsensus/PipeConsensusReceiverAgent.java | 142 +- .../protocol/thrift/IoTDBDataNodeReceiver.java | 61 +- .../visitor/PipePlanToStatementVisitor.java | 4 +- .../resource/memory/InsertNodeMemoryEstimator.java | 4 + .../resource/memory/PipeDynamicMemoryBlock.java | 156 + .../pipe/resource/memory/PipeMemoryBlockType.java | 2 + .../db/pipe/resource/memory/PipeMemoryManager.java | 56 +- .../pipe/resource/memory/PipeMemoryWeightUtil.java | 33 +- .../resource/memory/PipeModelFixedMemoryBlock.java | 125 + .../strategy/DynamicMemoryAllocationStrategy.java | 32 +- .../strategy/ThresholdAllocationStrategy.java | 134 + .../iotdb/db/protocol/client/ConfigNodeClient.java | 31 + .../protocol/client/ConfigNodeClientManager.java | 1 - .../iotdb/db/protocol/client/ConfigNodeInfo.java | 1 - .../db/protocol/mqtt/JSONPayloadFormatter.java | 22 +- .../db/protocol/mqtt/LinePayloadFormatter.java | 14 +- .../iotdb/db/protocol/mqtt/MPPPublishHandler.java | 15 +- .../iotdb/db/protocol/mqtt/PayloadFormatter.java | 12 + .../v1/handler/StatementConstructionHandler.java | 4 +- .../protocol/rest/v1/impl/RestApiServiceImpl.java | 46 +- .../protocol/rest/v2/handler/FastLastHandler.java | 71 + .../rest/v2/handler/RequestValidationHandler.java | 8 + .../protocol/rest/v2/impl/RestApiServiceImpl.java | 184 +- .../iotdb/db/protocol/session/SessionManager.java | 14 + .../protocol/thrift/impl/ClientRPCServiceImpl.java | 325 +- .../impl/DataNodeInternalRPCServiceImpl.java | 132 +- .../common/header/DatasetHeaderFactory.java | 14 +- .../queryengine/execution/QueryStateMachine.java | 62 +- .../execution/aggregation/UDAFAccumulator.java | 2 +- .../execution/driver/DriverContext.java | 6 + .../exchange/source/LocalSourceHandle.java | 13 +- .../execution/executor/RegionWriteExecutor.java | 2 + .../fragment/FakedFragmentInstanceContext.java | 106 + .../fragment/FragmentInstanceContext.java | 36 +- .../execution/fragment/FragmentInstanceInfo.java | 4 + .../fragment/FragmentInstanceManager.java | 8 +- .../execution/fragment/FragmentInstanceState.java | 2 +- .../execution/fragment/QueryContext.java | 2 +- .../execution/operator/EmptyDataOperator.java | 81 + .../execution/operator/OperatorContext.java | 6 +- .../operator/process/FilterAndProjectOperator.java | 6 + ...erator.java => PatternRecognitionOperator.java} | 165 +- .../operator/process/TransformOperator.java | 2 +- .../operator/process/ai/InferenceOperator.java | 37 +- .../process/join/LeftOuterTimeJoinOperator.java | 2 +- .../AscLongTypeIgnoreEqualJoinKeyComparator.java | 95 + .../DescLongTypeIgnoreEqualJoinKeyComparator.java | 95 + .../merge/comparator/JoinKeyComparatorFactory.java | 20 + .../process/rowpattern/LogicalIndexNavigation.java | 189 + .../rowpattern/PatternPartitionExecutor.java | 442 +++ .../rowpattern/PatternVariableRecognizer.java | 147 + .../process/rowpattern/PhysicalValueAccessor.java | 4 +- .../process/rowpattern/PhysicalValuePointer.java | 53 + .../rowpattern/expression/ArithmeticOperator.java | 82 + .../rowpattern/expression/BinaryComputation.java} | 22 +- .../rowpattern/expression/BinaryOperator.java} | 19 +- .../rowpattern/expression/ComparisonOperator.java | 147 + .../process/rowpattern/expression/Computation.java | 186 + .../expression/ConstantComputation.java} | 16 +- .../rowpattern/expression/LogicalOperator.java | 55 + .../rowpattern/expression/NaryComputation.java} | 23 +- .../rowpattern/expression/NaryOperator.java} | 15 +- .../expression/PatternExpressionComputation.java | 154 + .../expression/ReferenceComputation.java} | 20 +- .../process/rowpattern/matcher/ArrayView.java} | 41 +- .../operator/process/rowpattern/matcher/Done.java} | 30 +- .../process/rowpattern/matcher/Instruction.java} | 45 +- .../process/rowpattern/matcher/IntList.java | 82 + .../process/rowpattern/matcher/IntMultimap.java | 112 + .../process/rowpattern/matcher/IntStack.java} | 46 +- .../matcher/IrRowPatternToProgramRewriter.java | 264 ++ .../operator/process/rowpattern/matcher/Jump.java} | 42 +- .../process/rowpattern/matcher/MatchEnd.java} | 30 +- .../process/rowpattern/matcher/MatchLabel.java} | 42 +- .../process/rowpattern/matcher/MatchResult.java} | 33 +- .../process/rowpattern/matcher/MatchStart.java} | 30 +- .../process/rowpattern/matcher/Matcher.java | 256 ++ .../rowpattern/matcher/PatternCaptures.java | 66 + .../process/rowpattern/matcher/Program.java | 83 + .../operator/process/rowpattern/matcher/Save.java} | 30 +- .../process/rowpattern/matcher/Split.java} | 51 +- .../process/window/TableWindowOperator.java | 13 +- .../window/function/WindowFunctionFactory.java | 67 + .../window/function/rank/NTileFunction.java | 13 +- .../process/window/function/value/LagFunction.java | 59 +- .../window/function/value/LeadFunction.java | 58 +- .../window/function/value/NthValueFunction.java | 23 +- .../window/partition/PartitionExecutor.java | 19 +- .../process/window/partition/frame/FrameInfo.java | 58 + .../process/window/partition/frame/RangeFrame.java | 31 +- .../process/window/partition/frame/RowsFrame.java | 20 +- .../process/window/utils/RowComparator.java | 32 + .../schema/source/DeviceAttributeUpdater.java | 9 +- .../schema/source/DeviceBlackListConstructor.java | 9 +- .../schema/source/DevicePredicateFilter.java | 12 +- .../schema/source/DevicePredicateHandler.java | 17 +- .../operator/schema/source/DeviceUpdater.java | 12 +- .../schema/source/SchemaSourceFactory.java | 14 +- .../schema/source/TableDeviceQuerySource.java | 185 +- .../execution/operator/source/FileLoaderUtils.java | 16 +- .../execution/operator/source/SeriesScanUtil.java | 24 +- .../relational/AbstractAggTableScanOperator.java | 8 +- .../AbstractAsofMergeSortJoinOperator.java | 198 ++ .../relational/AsofMergeSortInnerJoinOperator.java | 127 + .../relational/AsofMergeSortLeftJoinOperator.java | 140 + .../InformationSchemaContentSupplierFactory.java | 695 +++- .../relational/LastQueryAggTableScanOperator.java | 13 +- .../AbstractApproxMostFrequentAccumulator.java | 57 + .../relational/aggregation/AccumulatorFactory.java | 67 +- .../ApproxCountDistinctAccumulator.java | 5 +- .../BinaryApproxMostFrequentAccumulator.java | 130 + .../BlobApproxMostFrequentAccumulator.java | 39 + .../BooleanApproxMostFrequentAccumulator.java | 129 + .../DoubleApproxMostFrequentAccumulator.java | 129 + .../FloatApproxMostFrequentAccumulator.java | 129 + .../IntApproxMostFrequentAccumulator.java | 129 + .../LongApproxMostFrequentAccumulator.java | 128 + .../ApproxMostFrequentBucketDeserializer.java | 21 + .../ApproxMostFrequentBucketSerializer.java | 21 + .../aggregation/approximate/Counter.java | 71 + .../aggregation/approximate/DoublyLinkedList.java | 173 + .../approximate/ExternalizableUtil.java | 31 + .../aggregation/{ => approximate}/HyperLogLog.java | 6 +- .../{ => approximate}/HyperLogLogStateFactory.java | 2 +- .../relational/aggregation/approximate/ITopK.java | 43 + .../aggregation/approximate/ListNode2.java | 42 + .../relational/aggregation/approximate/Pair.java | 56 + .../aggregation/approximate/SpaceSaving.java | 147 + .../approximate/SpaceSavingByteCalculator.java | 21 + .../approximate/SpaceSavingStateFactory.java | 90 + .../aggregation/approximate/StreamSummary.java | 294 ++ ...stractGroupedApproxMostFrequentAccumulator.java | 67 + ...BinaryGroupedApproxMostFrequentAccumulator.java | 105 + .../BlobGroupedApproxMostFrequentAccumulator.java | 40 + ...ooleanGroupedApproxMostFrequentAccumulator.java | 104 + ...DoubleGroupedApproxMostFrequentAccumulator.java | 104 + .../FloatGroupedApproxMostFrequentAccumulator.java | 104 + .../GroupedApproxCountDistinctAccumulator.java | 6 +- .../grouped/GroupedCountAllAccumulator.java | 87 + .../GroupedUserDefinedAggregateAccumulator.java | 29 +- .../IntGroupedApproxMostFrequentAccumulator.java | 104 + .../LongGroupedApproxMostFrequentAccumulator.java | 104 + .../grouped/StreamingAggregationOperator.java | 2 +- .../grouped/StreamingHashAggregationOperator.java | 2 +- .../grouped/array/HyperLogLogBigArray.java | 2 +- .../aggregation/grouped/array/ObjectBigArray.java | 4 + .../grouped/array/SpaceSavingBigArray.java | 93 + .../relational/ColumnTransformerBuilder.java | 9 +- .../execution/schedule/task/DriverTaskId.java | 3 +- .../iotdb/db/queryengine/plan/Coordinator.java | 21 +- .../db/queryengine/plan/analyze/AnalyzeUtils.java | 6 +- .../queryengine/plan/analyze/AnalyzeVisitor.java | 9 +- .../plan/analyze/ClusterPartitionFetcher.java | 50 +- .../db/queryengine/plan/analyze/IModelFetcher.java | 4 + .../db/queryengine/plan/analyze/ModelFetcher.java | 26 + .../db/queryengine/plan/analyze/TypeProvider.java | 8 +- .../analyze/cache/partition/PartitionCache.java | 307 +- .../analyze/cache/schema/DataNodeTTLCache.java | 2 +- .../cache/schema/dualkeycache/IDualKeyCache.java | 5 + .../schema/dualkeycache/impl/DualKeyCacheImpl.java | 22 + .../plan/analyze/load/LoadTsFileAnalyzer.java | 48 +- .../analyze/load/LoadTsFileTreeSchemaCache.java | 4 + .../load/TreeSchemaAutoCreatorAndVerifier.java | 7 +- .../queryengine/plan/execution/QueryExecution.java | 8 +- .../plan/execution/config/ConfigExecution.java | 29 +- .../execution/config/TableConfigTaskVisitor.java | 173 +- .../execution/config/TreeConfigTaskVisitor.java | 10 +- .../config/executor/ClusterConfigTaskExecutor.java | 254 +- .../config/executor/IConfigTaskExecutor.java | 46 +- .../config/metadata/ShowFunctionsTask.java | 12 +- .../config/metadata/ai/CreateTrainingTask.java | 47 +- .../config/metadata/ai/ShowModelsTask.java | 80 +- .../relational/AbstractAlterOrDropTableTask.java | 5 +- .../relational/AlterTableAddColumnTask.java | 7 +- .../relational/AlterTableCommentColumnTask.java | 4 +- .../relational/AlterTableCommentTableTask.java | 7 +- .../relational/AlterTableDropColumnTask.java | 7 +- .../relational/AlterTableRenameColumnTask.java | 7 +- .../relational/AlterTableRenameTableTask.java | 7 +- .../relational/AlterTableSetPropertiesTask.java | 7 +- .../metadata/relational/CreateTableTask.java | 6 +- .../{DropDBTask.java => CreateTableViewTask.java} | 13 +- .../relational/DescribeTableDetailsTask.java | 2 +- .../metadata/relational/DescribeTableTask.java | 2 +- .../config/metadata/relational/DropDBTask.java | 7 +- .../config/metadata/relational/DropTableTask.java | 7 +- .../metadata/relational/ShowCreateTableTask.java | 149 + .../metadata/relational/ShowCreateViewTask.java | 155 + .../config/metadata/relational/ShowDBTask.java | 36 +- .../metadata/relational/ShowTablesDetailsTask.java | 11 + .../config/metadata/relational/ShowTablesTask.java | 2 + ...ropTopicTask.java => DropSubscriptionTask.java} | 23 +- .../config/sys/subscription/DropTopicTask.java | 1 + .../sys/subscription/ShowSubscriptionsTask.java | 14 +- .../config/sys/subscription/ShowTopicsTask.java | 1 + .../expression/binary/CompareBinaryExpression.java | 24 + .../plan/expression/multi/FunctionExpression.java | 2 +- .../predicate/ConvertPredicateToFilterVisitor.java | 4 +- .../ConvertPredicateToTimeFilterVisitor.java | 3 +- .../db/queryengine/plan/parser/ASTVisitor.java | 172 +- .../plan/planner/LogicalPlanVisitor.java | 55 +- .../plan/planner/OperatorTreeGenerator.java | 12 +- .../plan/planner/TableOperatorGenerator.java | 766 +++- .../queryengine/plan/planner/TreeModelPlanner.java | 2 +- .../SimpleFragmentParallelPlanner.java | 1 + .../plan/planner/distribution/SourceRewriter.java | 70 +- .../memory/FakedMemoryReservationManager.java} | 16 +- .../plan/AbstractFragmentParallelPlanner.java | 5 +- .../plan/planner/plan/PlanFragment.java | 9 + .../plan/planner/plan/node/PlanGraphPrinter.java | 47 +- .../plan/planner/plan/node/PlanNodeType.java | 8 + .../plan/planner/plan/node/PlanVisitor.java | 10 + .../metadata/write/view/AlterLogicalViewNode.java | 2 +- .../planner/plan/node/process/AggregationNode.java | 3 +- .../plan/node/process/RawDataAggregationNode.java | 3 +- .../source/AlignedSeriesAggregationScanNode.java | 21 +- .../node/source/SeriesAggregationScanNode.java | 15 +- .../planner/plan/node/write/InsertRowNode.java | 9 +- .../planner/plan/node/write/InsertTabletNode.java | 17 + .../planner/plan/parameter/SeriesScanOptions.java | 47 +- .../plan/relational/analyzer/Analysis.java | 281 +- .../relational/analyzer/ExpressionAnalysis.java | 11 +- .../relational/analyzer/ExpressionAnalyzer.java | 942 ++++- .../relational/analyzer/ExpressionTreeUtils.java | 17 +- .../analyzer/PatternRecognitionAnalysis.java | 338 ++ .../analyzer/PatternRecognitionAnalyzer.java | 228 ++ .../relational/analyzer/StatementAnalyzer.java | 700 +++- .../predicate/ConvertPredicateToFilterVisitor.java | 2 +- .../ConvertSchemaPredicateToFilterVisitor.java | 4 +- .../function}/TableBuiltinTableFunction.java | 8 +- .../function/tvf/ForecastTableFunction.java | 752 ++++ .../plan/relational/metadata/ColumnSchema.java | 17 +- .../plan/relational/metadata/DeviceEntry.java | 2 +- .../relational/metadata/FunctionNullability.java | 4 + .../plan/relational/metadata/Metadata.java | 15 +- ...DeviceEntry.java => NonAlignedDeviceEntry.java} | 6 +- .../relational/metadata/TableMetadataImpl.java | 134 +- .../plan/relational/metadata/TableSchema.java | 58 +- .../relational/metadata/TreeDeviceViewSchema.java | 26 +- .../fetcher/DeviceInCacheFilterVisitor.java | 13 +- .../metadata/fetcher/SchemaPredicateUtil.java | 22 +- .../fetcher/TableDeviceCacheAttributeGuard.java | 4 +- .../metadata/fetcher/TableDeviceSchemaFetcher.java | 316 +- .../fetcher/TableDeviceSchemaValidator.java | 12 +- .../fetcher/TableHeaderSchemaValidator.java | 57 +- .../cache/LastCacheLoadStrategy.java} | 29 +- .../fetcher/cache/TableDeviceCacheEntry.java | 26 +- .../fetcher/cache/TableDeviceLastCache.java | 11 + .../fetcher/cache/TableDeviceSchemaCache.java | 45 +- .../relational/metadata/fetcher/cache/TableId.java | 4 +- .../fetcher/cache/TreeDeviceNormalSchema.java | 6 +- .../planner/IrExpressionInterpreter.java | 52 + .../plan/relational/planner/QueryPlanner.java | 478 +++ .../plan/relational/planner/RelationPlanner.java | 553 ++- .../plan/relational/planner/SymbolsExtractor.java | 33 +- .../relational/planner/TableLogicalPlanner.java | 50 +- .../plan/relational/planner/TableModelPlanner.java | 2 +- .../plan/relational/planner/TranslationMap.java | 7 +- .../distribute/TableDistributedPlanGenerator.java | 260 +- .../distribute/TableModelQueryFragmentPlanner.java | 1 + .../planner/ir/ExpressionTreeRewriter.java | 3 +- .../iterative/rule/ExpressionRewriteRuleSet.java | 260 +- .../rule/ImplementPatternRecognition.java | 100 + .../planner/iterative/rule/OptimizeRowPattern.java | 63 + .../iterative/rule/PruneJoinChildrenColumns.java | 10 + .../planner/iterative/rule/PruneJoinColumns.java | 1 + .../rule/PrunePatternRecognitionSourceColumns.java | 78 + .../iterative/rule/PruneTableScanColumns.java | 7 +- .../planner/iterative/rule/PruneWindowColumns.java | 89 + .../rule/PushDownOffsetIntoTableScan.java | 69 + .../iterative/rule/SimplifyExpressions.java | 8 +- ...orrelatedDistinctAggregationWithProjection.java | 1 + ...elatedDistinctAggregationWithoutProjection.java | 1 + ...mCorrelatedGlobalAggregationWithProjection.java | 1 + ...rrelatedGlobalAggregationWithoutProjection.java | 1 + ...CorrelatedGroupedAggregationWithProjection.java | 1 + ...relatedGroupedAggregationWithoutProjection.java | 1 + .../rule/TransformCorrelatedJoinToJoin.java | 1 + .../rule/TransformCorrelatedScalarSubquery.java | 194 + .../rule/TransformExistsApplyToCorrelatedJoin.java | 1 + .../TransformFilteringSemiJoinToInnerJoin.java | 1 + .../rule/TransformUncorrelatedSubqueryToJoin.java | 1 + .../planner/node/AggregationTableScanNode.java | 26 +- .../node/AggregationTreeDeviceViewScanNode.java | 8 +- .../planner/node/DeviceTableScanNode.java | 35 +- .../plan/relational/planner/node/GroupNode.java | 2 +- .../plan/relational/planner/node/JoinNode.java | 161 +- .../plan/relational/planner/node/Measure.java | 95 + .../planner/node/PatternRecognitionNode.java | 384 ++ .../plan/relational/planner/node/Patterns.java | 27 +- .../plan/relational/planner/node/RowsPerMatch.java | 127 + .../relational/planner/node/SkipToPosition.java} | 42 +- .../node/TreeAlignedDeviceViewScanNode.java | 8 +- .../planner/node/TreeDeviceViewScanNode.java | 14 +- .../node/TreeNonAlignedDeviceViewScanNode.java | 8 +- .../plan/relational/planner/node/WindowNode.java | 602 ++++ .../node/schema/AbstractTableDeviceQueryNode.java | 82 +- .../schema/TableDeviceAttributeUpdateNode.java | 52 +- .../node/schema/TableDeviceQueryCountNode.java | 12 +- .../node/schema/TableDeviceQueryScanNode.java | 27 +- .../DataNodeLocationSupplierFactory.java | 12 +- .../optimizations/DistributedOptimizeFactory.java | 5 +- .../planner/optimizations/JoinUtils.java | 4 +- .../optimizations/LogicalOptimizeFactory.java | 24 +- .../planner/optimizations/ParallelizeGrouping.java | 22 + .../optimizations/PlanNodeDecorrelator.java | 2 +- .../optimizations/PushPredicateIntoTableScan.java | 49 +- .../planner/optimizations/SortElimination.java | 60 +- .../planner/optimizations/SymbolMapper.java | 120 + .../optimizations/TransformSortToStreamSort.java | 33 +- .../optimizations/UnaliasSymbolReferences.java | 31 +- .../relational/planner/optimizations/Util.java | 4 +- .../planner/rowpattern/ClassifierValuePointer.java | 70 + .../rowpattern/ExpressionAndValuePointers.java | 234 ++ .../planner/rowpattern/IrAlternation.java | 99 + .../relational/planner/rowpattern/IrAnchor.java | 87 + .../planner/rowpattern/IrConcatenation.java | 100 + .../rowpattern/IrEmpty.java} | 42 +- .../rowpattern/IrExclusion.java} | 47 +- .../relational/planner/rowpattern/IrLabel.java | 85 + .../rowpattern/IrPatternAlternationOptimizer.java | 141 + .../planner/rowpattern/IrPermutation.java | 96 + .../planner/rowpattern/IrQuantified.java | 88 + .../planner/rowpattern/IrQuantifier.java | 126 + .../planner/rowpattern/IrRowPattern.java | 119 + .../planner/rowpattern/IrRowPatternFlattener.java | 206 ++ .../planner/rowpattern/IrRowPatternVisitor.java | 68 + .../planner/rowpattern/LogicalIndexPointer.java | 167 + .../rowpattern/MatchNumberValuePointer.java} | 33 +- .../relational/planner/rowpattern/Patterns.java | 83 + .../planner/rowpattern/RowPatternToIrRewriter.java | 148 + .../planner/rowpattern/ScalarValuePointer.java | 82 + .../planner/rowpattern/ValuePointer.java | 17 + .../plan/relational/security/AccessControl.java | 10 + .../relational/security/AccessControlImpl.java | 29 +- .../relational/security/AllowAllAccessControl.java | 6 + .../sql/ast/AbstractQueryDeviceWithCache.java | 17 +- .../relational/sql/ast/AbstractTraverseDevice.java | 41 +- .../plan/relational/sql/ast/AddColumn.java | 28 +- .../sql/ast/{JoinOn.java => AnchorPattern.java} | 39 +- .../plan/relational/sql/ast/AsofJoinOn.java | 163 + .../plan/relational/sql/ast/AstVisitor.java | 112 + .../plan/relational/sql/ast/ColumnDefinition.java | 22 +- .../plan/relational/sql/ast/CreateTable.java | 4 +- .../plan/relational/sql/ast/CreateTraining.java | 68 +- .../plan/relational/sql/ast/CreateView.java | 95 + .../sql/ast/DefaultTraversalVisitor.java | 65 +- .../plan/relational/sql/ast/DeleteDevice.java | 39 +- .../plan/relational/sql/ast/DescribeTable.java | 27 +- .../plan/relational/sql/ast/DropColumn.java | 15 +- .../plan/relational/sql/ast/DropDB.java | 6 - .../{DescribeTable.java => DropSubscription.java} | 55 +- .../plan/relational/sql/ast/DropTable.java | 17 +- .../sql/ast/{JoinOn.java => EmptyPattern.java} | 30 +- .../sql/ast/{JoinOn.java => ExcludedPattern.java} | 34 +- .../plan/relational/sql/ast/FrameBound.java | 139 + .../plan/relational/sql/ast/FunctionCall.java | 198 +- .../plan/relational/sql/ast/Identifier.java | 12 +- .../plan/relational/sql/ast/JoinOn.java | 11 +- .../ast/{JoinOn.java => MeasureDefinition.java} | 51 +- .../relational/sql/ast/OneOrMoreQuantifier.java} | 14 +- .../plan/relational/sql/ast/OrderBy.java | 29 + .../ast/{OrderBy.java => PatternAlternation.java} | 47 +- .../{OrderBy.java => PatternConcatenation.java} | 47 +- .../ast/{OrderBy.java => PatternPermutation.java} | 47 +- .../ast/{DropDB.java => PatternQuantifier.java} | 48 +- .../sql/ast/PatternRecognitionRelation.java | 205 ++ .../sql/ast/{JoinOn.java => PatternVariable.java} | 34 +- .../sql/ast/{JoinOn.java => ProcessingMode.java} | 35 +- .../plan/relational/sql/ast/QualifiedName.java | 23 + .../ast/{OrderBy.java => QuantifiedPattern.java} | 54 +- .../relational/sql/ast/QuerySpecification.java | 10 +- .../sql/ast/{DropDB.java => RangeQuantifier.java} | 55 +- .../plan/relational/sql/ast/RenameColumn.java | 19 +- .../plan/relational/sql/ast/RenameTable.java | 29 +- .../plan/relational/sql/ast/RowPattern.java} | 14 +- .../plan/relational/sql/ast/SetProperties.java | 3 +- .../plan/relational/sql/ast/SetTableComment.java | 15 +- .../plan/relational/sql/ast/ShowDevice.java | 22 +- .../plan/relational/sql/ast/SkipTo.java | 133 + .../plan/relational/sql/ast/SortItem.java | 24 + .../ast/{OrderBy.java => SubsetDefinition.java} | 55 +- .../sql/ast/TableFunctionTableArgument.java | 6 +- .../ast/{JoinOn.java => VariableDefinition.java} | 51 +- .../relational/sql/ast/ViewFieldDefinition.java | 68 + .../plan/relational/sql/ast/Window.java} | 13 +- .../sql/ast/{DropDB.java => WindowDefinition.java} | 50 +- .../plan/relational/sql/ast/WindowFrame.java | 143 + .../sql/ast/{OrderBy.java => WindowReference.java} | 65 +- .../relational/sql/ast/WindowSpecification.java | 206 ++ .../relational/sql/ast/ZeroOrMoreQuantifier.java} | 14 +- .../relational/sql/ast/ZeroOrOneQuantifier.java} | 14 +- .../plan/relational/sql/parser/AstBuilder.java | 685 +++- .../plan/relational/sql/rewrite/ShowRewrite.java | 26 +- .../sql/rewrite/StatementRewriteFactory.java | 8 +- .../relational/sql/util/ExpressionFormatter.java | 81 + .../plan/relational/sql/util/QueryUtil.java | 38 +- .../relational/sql/util/ReservedIdentifiers.java | 4 +- .../relational/sql/util/RowPatternFormatter.java | 143 + .../plan/relational/sql/util/SqlFormatter.java | 234 +- .../plan/scheduler/ClusterScheduler.java | 11 +- .../scheduler/FixedRateFragInsStateTracker.java | 99 +- .../scheduler/FragmentInstanceDispatcherImpl.java | 108 +- .../plan/scheduler/IFragInstanceDispatcher.java | 6 +- .../scheduler/load/LoadTsFileDispatcherImpl.java | 51 +- .../plan/scheduler/load/LoadTsFileScheduler.java | 96 +- .../queryengine/plan/statement/StatementType.java | 1 + .../plan/statement/StatementVisitor.java | 5 + .../plan/statement/crud/DeleteDataStatement.java | 3 +- .../plan/statement/crud/InsertBaseStatement.java | 2 +- .../plan/statement/crud/InsertStatement.java | 2 +- .../InternalBatchActivateTemplateStatement.java | 3 +- .../InternalCreateMultiTimeSeriesStatement.java | 2 +- .../InternalCreateTimeSeriesStatement.java | 2 +- .../metadata/AlterTimeSeriesStatement.java | 3 +- .../metadata/CreateAlignedTimeSeriesStatement.java | 2 +- .../metadata/CreateMultiTimeSeriesStatement.java | 2 +- .../metadata/CreateTimeSeriesStatement.java | 3 +- .../metadata/DeleteTimeSeriesStatement.java | 3 +- .../plan/statement/metadata/SetTTLStatement.java | 3 +- .../statement/metadata/ShowDatabaseStatement.java | 41 +- .../metadata/model/CreateTrainingStatement.java | 14 +- ...atement.java => DropSubscriptionStatement.java} | 27 +- .../metadata/subscription/DropTopicStatement.java | 17 +- .../subscription/ShowSubscriptionsStatement.java | 15 +- .../metadata/subscription/ShowTopicsStatement.java | 15 +- .../template/ActivateTemplateStatement.java | 3 +- .../template/BatchActivateTemplateStatement.java | 3 +- .../template/DeactivateTemplateStatement.java | 3 +- .../metadata/view/AlterLogicalViewStatement.java | 6 +- .../metadata/view/CreateLogicalViewStatement.java | 6 +- .../metadata/view/CreateTableViewStatement.java} | 24 +- .../metadata/view/DeleteLogicalViewStatement.java | 3 +- .../metadata/view/RenameLogicalViewStatement.java | 2 +- .../db/queryengine/plan/udf}/TableUDFUtils.java | 3 +- .../db/queryengine/plan/udf}/TreeUDFUtils.java | 3 +- .../plan/udf}/UDFManagementService.java | 7 +- .../AbstractCaseWhenThenColumnTransformer.java | 4 +- ...mer.java => FailFunctionColumnTransformer.java} | 42 +- .../dag/column/leaf/ConstantColumnTransformer.java | 2 +- .../unary/ArithmeticNegationColumnTransformer.java | 3 +- .../dag/udf/UDAFInformationInferrer.java | 2 +- .../transformation/dag/udf/UDTFExecutor.java | 2 +- .../dag/udf/UDTFInformationInferrer.java | 2 +- .../apache/iotdb/db/schemaengine/SchemaEngine.java | 4 +- .../schemaengine/schemaregion/ISchemaRegion.java | 9 + .../update/DeviceAttributeCacheUpdater.java | 2 +- .../GeneralRegionAttributeSecurityService.java | 169 +- .../schemaregion/impl/SchemaRegionMemoryImpl.java | 82 +- .../schemaregion/impl/SchemaRegionPBTreeImpl.java | 10 + .../mtree/impl/mem/MTreeBelowSGMemoryImpl.java | 34 + .../mtree/impl/mem/mnode/info/TableDeviceInfo.java | 2 +- .../mtree/impl/mem/mnode/info/TreeDeviceInfo.java | 2 +- .../read/resp/info/impl/ShowDevicesResult.java | 16 +- .../read/resp/info/impl/TimeseriesSchemaInfo.java | 10 +- .../schemaengine/schemaregion/tag/TagManager.java | 20 +- .../schemaregion/utils/ResourceByPathUtils.java | 5 + .../utils/filter/DeviceFilterVisitor.java | 4 +- .../db/schemaengine/table/DataNodeTableCache.java | 42 +- .../table/DataNodeTreeViewSchemaUtils.java | 83 + .../iotdb/db/schemaengine/table/ITableCache.java | 10 +- .../schemaengine/table/InformationSchemaUtils.java | 22 +- .../java/org/apache/iotdb/db/service/DataNode.java | 40 +- .../iotdb/db/service/DataNodeShutdownHook.java | 40 +- .../iotdb/db/service/metrics/WritingMetrics.java | 47 +- .../metrics/memory/StorageEngineMemoryMetrics.java | 126 + .../iotdb/db/storageengine/StorageEngine.java | 6 +- .../db/storageengine/dataregion/DataRegion.java | 175 +- .../performer/ICrossCompactionPerformer.java | 6 + ...rformer.java => IInnerCompactionPerformer.java} | 11 +- .../execute/performer/ISeqCompactionPerformer.java | 2 +- .../performer/IUnseqCompactionPerformer.java | 2 +- .../performer/impl/FastCompactionPerformer.java | 15 + .../impl/ReadChunkCompactionPerformer.java | 8 + .../impl/ReadPointCompactionPerformer.java | 8 + .../execute/task/AbstractCompactionTask.java | 10 + .../execute/task/InnerSpaceCompactionTask.java | 18 +- .../execute/utils/CompactionPathUtils.java | 3 +- .../execute/utils/CompactionTableSchema.java | 2 +- .../compaction/io/CompactionTsFileWriter.java | 2 +- .../estimator/AbstractCompactionEstimator.java | 124 +- .../estimator/AbstractCrossSpaceEstimator.java | 6 +- .../estimator/AbstractInnerSpaceEstimator.java | 5 +- .../estimator/CompactionEstimateUtils.java | 91 +- .../selector/estimator/CompactionTaskInfo.java | 6 - ...taInfo.java => CompactionTaskMetadataInfo.java} | 12 +- .../FastCompactionInnerCompactionEstimator.java | 44 +- .../FastCrossSpaceCompactionEstimator.java | 29 +- .../compaction/selector/estimator/FileInfo.java | 39 +- .../ReadChunkInnerCompactionEstimator.java | 25 +- .../RepairUnsortedFileCompactionEstimator.java | 21 +- .../impl/NewSizeTieredCompactionSelector.java | 76 +- .../impl/RewriteCrossSpaceCompactionSelector.java | 2 +- .../memtable/AlignedWritableMemChunk.java | 13 +- .../dataregion/memtable/TsFileProcessor.java | 8 + .../dataregion/memtable/WritableMemChunkGroup.java | 4 +- .../dataregion/tsfile/TsFileResource.java | 21 +- .../dataregion/tsfile/TsFileResourceList.java | 2 +- .../dataregion/utils/TsFileResourceUtils.java | 67 +- .../storageengine/dataregion/wal/WALManager.java | 14 +- .../dataregion/wal/buffer/WALBuffer.java | 9 +- .../dataregion/wal/buffer/WALEntry.java | 5 + .../wal/checkpoint/CheckpointManager.java | 4 +- .../dataregion/wal/io/WALInputStream.java | 99 +- .../dataregion/wal/utils/WALEntryPosition.java | 15 +- .../dataregion/wal/utils/WALInsertNodeCache.java | 128 +- .../dataregion/wal/utils/WALPrintTool.java | 75 + .../db/storageengine/load/LoadTsFileManager.java | 101 +- .../load/active/ActiveLoadDirScanner.java | 14 +- .../active/ActiveLoadFailedMessageHandler.java | 33 +- .../load/active/ActiveLoadPendingQueue.java | 45 +- .../load/active/ActiveLoadTsFileLoader.java | 88 +- .../load/config/LoadTsFileConfigurator.java | 18 +- ...leStatementDataTypeConvertExecutionVisitor.java | 98 +- ...eeStatementDataTypeConvertExecutionVisitor.java | 169 +- .../converter/LoadTsFileDataTypeConverter.java | 81 +- .../rescon/memory/PrimitiveArrayManager.java | 7 + .../agent/SubscriptionBrokerAgent.java | 76 + .../agent/SubscriptionReceiverAgent.java | 16 +- .../agent/SubscriptionRuntimeAgent.java | 4 + .../db/subscription/broker/SubscriptionBroker.java | 28 + .../broker/SubscriptionPrefetchingQueue.java | 12 +- .../broker/SubscriptionPrefetchingTsFileQueue.java | 6 + .../batch/SubscriptionPipeTsFileEventBatch.java | 40 +- .../receiver/SubscriptionReceiverV1.java | 50 +- .../iotdb/db/utils/EncodingInferenceUtils.java | 1 + .../apache/iotdb/db/utils/ErrorHandlingUtils.java | 4 +- .../iotdb/db/utils/constant/SqlConstant.java | 15 + .../db/utils/datastructure/AlignedTVList.java | 12 +- .../iotdb/db/utils/datastructure/TVList.java | 24 +- .../iotdb/db/utils/sort/SortBufferManager.java | 4 +- .../SchemaRegionSimpleRecoverTest.java | 8 +- .../schemaRegion/SchemaRegionTableDeviceTest.java | 27 +- .../schemaRegion/SchemaRegionTestUtil.java | 7 +- .../pipe/connector/PipeTabletEventSorterTest.java | 93 +- .../db/protocol/mqtt/JSONPayloadFormatterTest.java | 12 +- .../db/protocol/mqtt/LinePayloadFormatterTest.java | 9 +- ...nAlignedTreeDeviceViewScanOperatorTreeTest.java | 109 +- ...t.java => ViewFromTreeAdaptorOperatorTest.java} | 12 +- .../rowpattern/IrRowPatternOptimizationTest.java | 208 ++ .../operator/process/rowpattern/MatcherTest.java | 209 ++ .../process/rowpattern/PatternExpressionTest.java | 53 + .../window/function/rank/NTileFunctionTest.java | 28 +- .../window/function/value/LagFunctionTest.java | 57 +- .../window/function/value/LeadFunctionTest.java | 57 +- .../function/value/NthValueFunctionTest.java | 36 +- .../window/partition/frame/FrameTestUtils.java | 2 +- .../window/partition/frame/RangeFrameTest.java | 20 +- .../plan/analyze/cache/PartitionCacheTest.java | 5 +- .../plan/parser/StatementGeneratorTest.java | 9 +- .../distribution/AggregationAlignByDeviceTest.java | 57 + .../planner/node/process/WindowNodeSerdeTest.java | 118 + .../plan/relational/analyzer/AnalyzerTest.java | 23 +- .../analyzer/AsofInnerJoinOperatorTest.java | 665 ++++ .../plan/relational/analyzer/AsofJoinTest.java | 279 ++ .../plan/relational/analyzer/AuthTest.java | 4 +- .../plan/relational/analyzer/JoinTest.java | 197 +- .../analyzer/LimitOffsetPushDownTest.java | 15 +- .../analyzer/RowPatternRecognitionTest.java | 491 +++ .../plan/relational/analyzer/SortTest.java | 10 +- .../plan/relational/analyzer/SubQueryTest.java | 24 + .../plan/relational/analyzer/TSBSMetadata.java | 75 +- .../relational/analyzer/TableFunctionTest.java | 154 + .../{TestMatadata.java => TestMetadata.java} | 179 +- .../plan/relational/analyzer/TestPlanBuilder.java | 4 +- .../plan/relational/analyzer/TestUtils.java | 2 +- .../plan/relational/analyzer/TreeViewTest.java | 23 +- .../fetcher/cache/TableDeviceSchemaCacheTest.java | 139 +- .../relational/planner/CorrelatedSubqueryTest.java | 5 +- .../planner/PatternRecognitionNodeSerdeTest.java | 160 + .../plan/relational/planner/PlanTester.java | 13 +- .../relational/planner/PredicateUtilsTest.java | 4 +- .../planner/UncorrelatedSubqueryTest.java | 9 +- .../relational/planner/WindowFunctionTest.java | 258 ++ .../planner/assertions/AsofJoinClauseProvider.java | 55 + .../{SortMatcher.java => GroupMatcher.java} | 42 +- .../relational/planner/assertions/JoinMatcher.java | 32 +- .../relational/planner/assertions/PlanAssert.java | 6 +- .../planner/assertions/PlanMatchPattern.java | 47 +- .../relational/planner/assertions/SortMatcher.java | 4 +- .../planner/assertions/TableScanMatcher.java | 1 - .../{SortMatcher.java => TopKMatcher.java} | 33 +- .../security/encrypt/MessageDigestEncryptTest.java | 12 +- .../storageengine/dataregion/DataRegionTest.java | 4 +- .../CompactionTableModelTestFileWriter.java | 2 +- .../CompactionTableSchemaCollectorTest.java | 2 +- .../TableModelCompactionWithTTLTest.java | 4 +- .../utils/CompactionTaskMemCostEstimatorTest.java | 87 +- .../compaction/utils/CompactionUtilsTest.java | 57 + .../wal/compression/WALCompressionTest.java | 45 +- .../dataregion/wal/node/WALEntryHandlerTest.java | 2 +- .../wal/node/WalDeleteOutdatedNewTest.java | 2 +- .../file/UnsealedTsFileRecoverPerformerTest.java | 4 +- .../wal/utils/WALInsertNodeCacheTest.java | 50 +- .../rescon/memory/ResourceManagerTest.java | 79 +- .../apache/iotdb/db/utils/EnvironmentUtils.java | 2 +- iotdb-core/metrics/core/pom.xml | 4 +- iotdb-core/metrics/interface/pom.xml | 8 +- .../org/apache/iotdb/metrics/utils/MetricInfo.java | 3 +- iotdb-core/metrics/pom.xml | 2 +- iotdb-core/node-commons/pom.xml | 28 +- .../conf/iotdb-system.properties.template | 20 +- .../commons/auth/authorizer/BasicAuthorizer.java | 42 +- .../commons/binaryallocator/BinaryAllocator.java | 66 +- .../PooledBinaryPhantomReference.java} | 32 +- .../iotdb/commons/binaryallocator/arena/Arena.java | 36 +- .../binaryallocator/autoreleaser/Releaser.java | 91 + .../binaryallocator/config/AllocatorConfig.java | 4 +- .../commons/binaryallocator/evictor/Evictor.java | 25 +- .../apache/iotdb/commons/client/ClientManager.java | 5 + .../iotdb/commons/client/ClientPoolFactory.java | 27 + .../iotdb/commons/client/IClientManager.java | 3 + .../iotdb/commons/client/ainode/AINodeClient.java | 62 +- .../iotdb/commons/client/ainode/AINodeInfo.java | 29 - ...ner.java => IoTV2GlobalComponentContainer.java} | 45 +- .../commons/concurrent/IoTDBThreadPoolFactory.java | 28 + .../iotdb/commons/concurrent/ThreadName.java | 17 +- .../iotdb/commons/concurrent/WrappedRunnable.java | 4 +- .../apache/iotdb/commons/conf/CommonConfig.java | 367 +- .../iotdb/commons/conf/CommonDescriptor.java | 5 + ...meRateAverageTime.java => PipeRateAverage.java} | 10 +- ...utException.java => PortOccupiedException.java} | 13 +- .../commons/exception/QueryTimeoutException.java | 4 + ...sensusRetryWithIncreasingIntervalException.java | 9 +- .../iotdb/commons/model/ModelInformation.java | 2 +- .../commons/partition/SeriesPartitionTable.java | 15 +- .../iotdb/commons/path/ExtendedPartialPath.java | 22 +- .../org/apache/iotdb/commons/path/PartialPath.java | 20 +- .../apache/iotdb/commons/path/PathPatternTree.java | 14 +- .../iotdb/commons/path/fa/nfa/SimpleNFA.java | 5 +- .../agent/plugin/builtin/BuiltinPipePlugin.java | 13 + .../builtin/extractor/mqtt/MQTTExtractor.java | 68 + .../agent/runtime/PipePeriodicalJobExecutor.java | 33 + .../commons/pipe/agent/task/PipeTaskAgent.java | 16 +- .../commons/pipe/agent/task/meta/PipeMeta.java | 6 +- .../pipe/agent/task/meta/PipeRuntimeMeta.java | 61 +- .../pipe/agent/task/meta/PipeStaticMeta.java | 21 +- .../commons/pipe/agent/task/meta/PipeTaskMeta.java | 142 +- .../task/progress/PipeEventCommitManager.java | 11 - .../task/subtask/PipeAbstractConnectorSubtask.java | 138 +- .../agent/task/subtask/PipeReportableSubtask.java | 30 +- .../iotdb/commons/pipe/config/PipeConfig.java | 119 +- .../iotdb/commons/pipe/config/PipeDescriptor.java | 116 +- .../config/constant/PipeConnectorConstant.java | 23 +- .../config/constant/PipeExtractorConstant.java | 50 + .../env/PipeTaskConnectorRuntimeEnvironment.java | 12 +- .../thrift/request/PipeTransferCompressedReq.java | 15 + .../pipe/connector/protocol/IoTDBConnector.java | 114 +- .../pipe/datastructure/pattern/TablePattern.java | 4 +- .../datastructure/visibility/VisibilityUtils.java | 10 + .../iotdb/commons/pipe/event/EnrichedEvent.java | 10 + .../pipe/receiver/PipeReceiverStatusHandler.java | 55 +- .../commons/pipe/resource/log/PipeLogManager.java | 14 + .../schema/column/ColumnHeaderConstant.java | 60 +- .../iotdb/commons/schema/filter/SchemaFilter.java | 9 +- .../commons/schema/filter/SchemaFilterType.java | 4 +- .../commons/schema/filter/SchemaFilterVisitor.java | 8 +- .../schema/filter/impl/DeviceFilterUtil.java | 29 +- .../filter/impl/StringValueFilterVisitor.java | 4 +- .../filter/impl/singlechild/AttributeFilter.java | 4 +- .../singlechild/{IdFilter.java => TagFilter.java} | 16 +- .../commons/schema/table/InformationSchema.java | 130 + .../commons/schema/table/TableNodeStatus.java | 14 + .../iotdb/commons/schema/table/TableType.java} | 26 +- .../iotdb/commons/schema/table/TreeViewSchema.java | 105 + .../apache/iotdb/commons/schema/table/TsTable.java | 106 +- .../schema/table/column/FieldColumnSchema.java | 7 +- .../schema/table/column/TsTableColumnCategory.java | 18 +- .../schema/table/column/TsTableColumnSchema.java | 4 - .../security/encrypt/AsymmetricEncrypt.java | 23 +- .../security/encrypt/MessageDigestEncrypt.java | 10 +- .../AbstractPeriodicalServiceWithAdvance.java | 93 + .../iotdb/commons/service/metric/enums/Metric.java | 12 + .../subscription/config/SubscriptionConfig.java | 6 + .../meta/consumer/ConsumerGroupMeta.java | 96 +- .../meta/consumer/ConsumerGroupMetaKeeper.java | 7 + .../meta/subscription/SubscriptionMeta.java | 84 +- .../commons/subscription/meta/topic/TopicMeta.java | 9 + .../subscription/meta/topic/TopicMetaKeeper.java | 8 + .../TableBuiltinAggregationFunction.java | 2 +- .../relational/TableBuiltinWindowFunction.java | 60 + .../relational/tvf/CumulateTableFunction.java | 20 +- .../builtin/relational/tvf/HOPTableFunction.java | 18 +- .../relational/tvf/SessionTableFunction.java | 1 + .../relational/tvf/TumbleTableFunction.java | 14 +- .../relational/tvf/VariationTableFunction.java | 196 +- .../udf/builtin/relational/tvf/WindowTVFUtils.java | 6 +- .../org/apache/iotdb/commons/utils/AuthUtils.java | 22 +- .../org/apache/iotdb/commons/utils/RetryUtils.java | 12 + .../apache/iotdb/commons/utils/StatusUtils.java | 14 + .../iotdb/commons/utils/TimePartitionUtils.java | 13 - .../binaryallocator/BinaryAllocatorTest.java | 44 +- .../iotdb/commons/pipe/task/PipeMetaDeSerTest.java | 22 +- .../commons/schema/SchemaFilterSerDeTest.java | 8 +- iotdb-core/pom.xml | 2 +- iotdb-core/relational-grammar/pom.xml | 2 +- .../db/relational/grammar/sql/RelationalSql.g4 | 235 +- .../grammar/sql/RelationalSqlKeywords.java | 8 +- iotdb-doap.rdf | 8 + iotdb-protocol/openapi/pom.xml | 2 +- .../openapi/src/main/openapi3/iotdb_rest_v2.yaml | 25 + iotdb-protocol/pom.xml | 2 +- iotdb-protocol/thrift-ainode/pom.xml | 4 +- .../thrift-ainode/src/main/thrift/ainode.thrift | 33 +- iotdb-protocol/thrift-commons/pom.xml | 2 +- .../thrift-commons/src/main/thrift/common.thrift | 3 +- iotdb-protocol/thrift-confignode/pom.xml | 4 +- .../src/main/thrift/confignode.thrift | 90 +- iotdb-protocol/thrift-consensus/pom.xml | 4 +- .../src/main/thrift/iotconsensus.thrift | 1 + iotdb-protocol/thrift-datanode/pom.xml | 4 +- .../thrift-datanode/src/main/thrift/client.thrift | 13 + .../src/main/thrift/datanode.thrift | 22 +- library-udf/pom.xml | 4 +- pom.xml | 8 +- scripts/conf/datanode-env.sh | 8 +- scripts/sbin/stop-ainode.sh | 11 +- scripts/tools/{load-tsfile.sh => export-tsfile.sh} | 49 +- scripts/tools/{load-tsfile.sh => wal/print-wal.sh} | 28 +- .../windows/{load-tsfile.bat => export-tsfile.bat} | 32 +- .../windows/{load-tsfile.bat => wal/print-wal.bat} | 49 +- 1351 files changed, 77895 insertions(+), 14695 deletions(-) diff --cc iotdb-client/client-go index dc64b1a7648,dc64b1a7648..8faa354ced4 --- a/iotdb-client/client-go +++ b/iotdb-client/client-go @@@ -1,1 -1,1 +1,1 @@@ --Subproject commit dc64b1a7648d3c505c10eed5419f422bb49f1def ++Subproject commit 8faa354ced45031748721da2eed2267062c8d8cc diff --cc iotdb-client/session/src/main/java/org/apache/iotdb/session/TableSessionBuilder.java index e2d51fbfc6a,a46de6562ea..27c642507c6 --- a/iotdb-client/session/src/main/java/org/apache/iotdb/session/TableSessionBuilder.java +++ b/iotdb-client/session/src/main/java/org/apache/iotdb/session/TableSessionBuilder.java @@@ -382,7 -271,12 +382,14 @@@ public class TableSessionBuilder extend } this.sqlDialect = TABLE; Session newSession = new Session(this); - newSession.open(isCompressed, connectionTimeoutInMs); ++ newSession.enableRPCCompression = isCompressed; ++ + try { + newSession.open(enableCompression, connectionTimeoutInMs); + } catch (IoTDBConnectionException e) { + newSession.close(); + throw e; + } return new TableSession(newSession); } }
