This is an automated email from the ASF dual-hosted git repository.

lancelly pushed a commit to branch support_correlated_quantified_comparison
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 68e405f8161ccd73b6d6c32883034bf00b1517e0
Merge: c50cff459c4 eda42490462
Author: lancelly <[email protected]>
AuthorDate: Mon May 12 15:59:29 2025 +0800

    Merge branch 'master' into support_correlated_scalar_subquery

 .asf.yaml                                          |    3 +
 .github/workflows/multi-language-client.yml        |   14 +-
 .github/workflows/pipe-it.yml                      |   66 +-
 README.md                                          |    2 +-
 README_ZH.md                                       |    2 +-
 RELEASE_NOTES.md                                   |  100 ++
 code-coverage/pom.xml                              |    2 +-
 dependencies.json                                  |   10 +-
 distribution/pom.xml                               |   12 +-
 distribution/src/assembly/ainode.xml               |    6 +
 distribution/src/assembly/all.xml                  |   50 +-
 distribution/src/assembly/cli.xml                  |   17 +-
 distribution/src/assembly/confignode.xml           |   41 +-
 distribution/src/assembly/datanode.xml             |   45 +-
 .../DockerCompose/docker-compose-host-3c3d.yml     |    2 +
 .../DockerCompose/docker-compose-standalone.yml    |    4 +-
 .../main/DockerCompose/replace-conf-from-env.sh    |   11 +-
 docker/src/main/Dockerfile-1c1d                    |    2 +-
 example/client-cpp-example/pom.xml                 |    2 +-
 example/jdbc/pom.xml                               |    2 +-
 example/mqtt-customize/pom.xml                     |    2 +-
 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 +-
 .../org/apache/iotdb/TableModelSessionExample.java |   15 +-
 .../apache/iotdb/TableModelSessionPoolExample.java |    2 +-
 .../TableModelSubscriptionSessionExample.java      |   19 +-
 example/trigger/pom.xml                            |    2 +-
 example/udf/pom.xml                                |    2 +-
 .../iotdb/udf/table/ExcludeColumnExample.java      |  117 ++
 .../org/apache/iotdb/udf/table/RepeatExample.java  |  136 ++
 .../org/apache/iotdb/udf/table/SplitExample.java   |  133 ++
 integration-test/pom.xml                           |   88 +-
 integration-test/src/assembly/mpp-test.xml         |   32 +-
 .../example/relational/MyErrorTableFunction.java   |  127 ++
 .../udf/example/relational/MyExcludeColumn.java    |   98 ++
 .../udf/example/relational/MyRepeatWithIndex.java  |  113 ++
 .../example/relational/MyRepeatWithoutIndex.java   |  110 ++
 .../udf/example/relational/MySelectColumn.java     |   98 ++
 .../db/query/udf/example/relational/MySplit.java   |  117 ++
 .../it/env/cluster/config/MppConfigNodeConfig.java |   12 +
 .../it/env/cluster/config/MppDataNodeConfig.java   |   12 +
 .../iotdb/it/env/cluster/env/AbstractEnv.java      |   13 +-
 .../env/remote/config/RemoteConfigNodeConfig.java  |   10 +
 .../it/env/remote/config/RemoteDataNodeConfig.java |   10 +
 .../iotdb/it/env/remote/env/RemoteServerEnv.java   |   13 +-
 .../iotdb/it/utils/TsFileTableGenerator.java       |    7 +-
 ...usterIT2SubscriptionTableArchVerification.java} |    2 +-
 ...terIT2SubscriptionTableRegressionConsumer.java} |    2 +-
 ...ClusterIT2SubscriptionTableRegressionMisc.java} |    2 +-
 ...lusterIT2SubscriptionTreeArchVerification.java} |    2 +-
 ...sterIT2SubscriptionTreeRegressionConsumer.java} |    2 +-
 ...iClusterIT2SubscriptionTreeRegressionMisc.java} |    2 +-
 .../java/org/apache/iotdb/itbase/env/BaseEnv.java  |   11 +-
 .../apache/iotdb/itbase/env/ConfigNodeConfig.java  |    5 +
 .../apache/iotdb/itbase/env/DataNodeConfig.java    |    4 +
 .../org/apache/iotdb/ainode/it/AINodeBasicIT.java  |   15 +-
 .../apache/iotdb/cli/it/StartClientScriptIT.java   |    4 +-
 .../it/cluster/IoTDBClusterNodeGetterIT.java       |    2 +-
 .../partition/IoTDBPartitionTableAutoCleanIT.java  |  102 +-
 .../org/apache/iotdb/db/it/IoTDBLoadTsFileIT.java  |  141 +-
 .../org/apache/iotdb/db/it/IoTDBRestartIT.java     |    1 -
 .../iotdb/db/it/aggregation/IoTDBCountIfIT.java    |   13 +
 .../db/it/aligned/IoTDBPredicatePushDownIT.java    |    9 +
 .../org/apache/iotdb/db/it/auth/IoTDBAuthIT.java   |   17 +-
 .../it/auth/IoTDBClusterAuthorityRelationalIT.java |    1 -
 .../iotdb/db/it/auth/IoTDBRelationalAuthIT.java    |  105 +-
 .../java/org/apache/iotdb/db/it/cq/IoTDBCQIT.java  |   16 +-
 .../apache/iotdb/db/it/metric/IoTDBMetricIT.java   |   92 +-
 .../it/schema/IoTDBDeleteAlignedTimeseriesIT.java  |   42 +
 .../iotdb/db/it/schema/IoTDBExtendTemplateIT.java  |    7 +
 .../org/apache/iotdb/db/it/utils/TestUtils.java    |   22 +-
 .../pipe/it/dual/tablemodel/TableModelUtils.java   |  119 +-
 .../tablemodel/manual/basic/IoTDBPipeAlterIT.java  |    6 +-
 .../manual/basic/IoTDBPipeDataSinkIT.java          |    6 +
 .../manual/basic/IoTDBPipeExtractorIT.java         |    7 +
 .../manual/basic/IoTDBPipeLifeCycleIT.java         |   64 +-
 .../manual/basic/IoTDBPipePermissionIT.java        |  314 ++++
 .../manual/basic/IoTDBPipeProtocolIT.java          |    4 +
 .../manual/basic/IoTDBPipeSwitchStatusIT.java      |    4 +
 .../tablemodel/manual/basic/IoTDBPipeSyntaxIT.java |    1 +
 .../manual/basic/IoTDBPipeWithLoadIT.java          |  111 ++
 .../manual/basic/IoTDBTablePatternFormatIT.java    |    7 +
 .../manual/enhanced/IoTDBPipeAutoConflictIT.java   |    4 +
 .../manual/enhanced/IoTDBPipeAutoDropIT.java       |    2 +
 .../manual/enhanced/IoTDBPipeClusterIT.java        |   13 +
 .../enhanced/IoTDBPipeConnectorCompressionIT.java  |   12 +-
 .../enhanced/IoTDBPipeConnectorParallelIT.java     |    2 +
 .../manual/enhanced/IoTDBPipeIdempotentIT.java     |   67 +-
 .../manual/enhanced/IoTDBPipeMetaIT.java           |   56 +
 .../manual/enhanced/IoTDBPipeNullValueIT.java      |    1 +
 .../IoTDBPipeTypeConversionISessionIT.java         |   18 +-
 .../treemodel/auto/basic/IoTDBPipeProcessorIT.java |    2 +
 .../manual/IoTDBPipeTypeConversionISessionIT.java  |    5 +-
 .../iotdb/pipe/it/single/IoTDBPipeAggregateIT.java |    5 +-
 .../pipe/it/single/IoTDBPipePermissionIT.java      |  200 +++
 .../relational/it/db/it/IoTDBAsofJoinTableIT.java  |  146 ++
 .../it/db/it/IoTDBAuthenticationTableIT.java       |  204 ++-
 .../it/db/it/IoTDBFlushQueryTableIT.java           |   30 +-
 .../relational/it/db/it/IoTDBInsertTableIT.java    |   81 +-
 .../db/it/IoTDBMultiTAGsWithAttributesTableIT.java |  620 +++++++-
 .../relational/it/db/it/IoTDBWindowTVFIT.java      |  353 +++++
 .../it/db/it/udf/IoTDBSQLFunctionManagementIT.java |   22 +-
 .../udf/IoTDBUserDefinedAggregateFunctionIT.java   |   10 +-
 .../db/it/udf/IoTDBUserDefinedTableFunctionIT.java |  322 ++++
 .../old/aligned/IoTDBPredicatePushDownTableIT.java |   13 +
 .../scalar/IoTDBFormatFunctionTableIT.java         |   18 +-
 .../it/query/old/orderBy/IoTDBOrderByTableIT.java  |   33 +-
 .../it/query/old/query/IoTDBArithmeticTableIT.java |   12 +
 .../query/old/query/IoTDBGreatestLeastTableIT.java |    8 +-
 .../it/query/recent/IoTDBColumnsMatchTableIT.java  |  354 +++++
 .../it/query/recent/IoTDBComplexQueryIT.java       |   84 ++
 .../it/query/recent/IoTDBDistinctTagIT.java        |  257 ++++
 .../it/query/recent/IoTDBMaintainAuthIT.java       |   92 +-
 .../it/query/recent/IoTDBNullIdQueryIT.java        |   12 +
 .../it/query/recent/IoTDBTableAggregationIT.java   |  151 +-
 .../recent/IoTDBTableAggregationNonStreamIT.java   |   56 +
 .../IoTDBCorrelatedExistsSubqueryIT.java           |   24 +-
 .../relational/it/rest/it/IoTDBRestServiceIT.java  |   14 +-
 .../relational/it/schema/IoTDBDatabaseIT.java      |  216 ++-
 .../iotdb/relational/it/schema/IoTDBTableIT.java   |  363 ++++-
 .../it/session/IoTDBSessionRelationalIT.java       |  196 ++-
 .../pool/IoTDBInsertTableSessionPoolIT.java        |    2 +-
 .../iotdb/session/it/IoTDBSessionInsertNullIT.java |   28 +
 .../iotdb/session/it/IoTDBSessionSimpleIT.java     |   73 +
 .../iotdb/subscription/it/dual/tablemodel/.gitkeep |    1 +
 .../IoTDBSubscriptionConsumerGroupIT.java          |    7 +-
 .../IoTDBSubscriptionTimePrecisionIT.java          |    7 +-
 .../{ => treemodel}/IoTDBSubscriptionTopicIT.java  |   79 +-
 .../it/local/IoTDBSubscriptionBasicIT.java         |   67 -
 .../tablemodel/IoTDBSubscriptionPermissionIT.java  |  386 +++++
 .../subscription/it/triple/tablemodel/.gitkeep     |    1 +
 .../IoTDBSubscriptionSharingIT.java                |   13 +-
 .../AbstractSubscriptionTreeRegressionIT.java}     |    6 +-
 .../IoTDBDefaultPullConsumerDataSetIT.java         |   38 +-
 .../IoTDBDefaultTsfilePushConsumerIT.java          |   10 +-
 .../IoTDBRootDatasetPushConsumerIT.java            |   10 +-
 .../IoTDBRootPullConsumeTsfileIT.java              |   10 +-
 ...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  |   10 +-
 .../IoTDBSnapshotDevicePullConsumerTsfileIT.java   |   10 +-
 ...DBConsumer2With1TopicShareProcessDataSetIT.java |   10 +-
 ...TDBConsumer2With1TopicShareProcessTsfileIT.java |   46 +-
 .../multi/IoTDBMultiGroupVsMultiConsumerIT.java    |   10 +-
 .../IoTDBOneConsumerMultiTopicsDatasetIT.java      |   10 +-
 .../multi/IoTDBOneConsumerMultiTopicsMixIT.java    |   10 +-
 .../multi/IoTDBOneConsumerMultiTopicsTsfileIT.java |   10 +-
 .../pattern/IoTDBDBPatternPullConsumeTsfileIT.java |   10 +-
 .../IoTDBDBPatternPullConsumerDataSetIT.java       |   10 +-
 .../IoTDBDefaultPatternPullConsumerDataSetIT.java  |   10 +-
 .../IoTDBDevicePatternPullConsumeTsfileIT.java     |   10 +-
 .../IoTDBDevicePatternPullConsumerDataSetIT.java   |   10 +-
 ...DBMiddleMatch2PatternPullConsumerDataSetIT.java |   10 +-
 ...IoTDBMiddleMatchPatternPullConsumeTsfileIT.java |   11 +-
 ...TDBMiddleMatchPatternPullConsumerDataSetIT.java |   11 +-
 .../IoTDBRootPatternPullConsumeTsfileIT.java       |   10 +-
 .../pattern/IoTDBTSPatternPullConsumeTsfileIT.java |   12 +-
 .../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  |   20 +-
 .../IoTDBPathLooseTsDatasetPushConsumerIT.java     |   10 +-
 .../IoTDBPathLooseTsfilePushConsumerIT.java        |   10 +-
 .../IoTDBPathTsLooseDatasetPushConsumerIT.java     |   10 +-
 .../IoTDBTimeLooseTsDatasetPushConsumerIT.java     |   10 +-
 .../IoTDBTimeLooseTsTsfilePushConsumerIT.java      |   10 +-
 .../IoTDBTimeLooseTsfilePushConsumerIT.java        |   20 +-
 .../IoTDBTimeTsLooseDatasetPushConsumerIT.java     |   10 +-
 ...oTDBSnapshotTSPatternDatasetPushConsumerIT.java |   11 +-
 ...IoTDBSnapshotTSPatternTsfilePushConsumerIT.java |   11 +-
 ...DBConsumer2With1TopicShareProcessDataSetIT.java |   10 +-
 ...TDBConsumer2With1TopicShareProcessTsfileIT.java |   19 +-
 .../multi/IoTDBMultiGroupVsMultiConsumerIT.java    |   10 +-
 .../IoTDBOneConsumerMultiTopicsDatasetIT.java      |   10 +-
 .../multi/IoTDBOneConsumerMultiTopicsMixIT.java    |   10 +-
 .../multi/IoTDBOneConsumerMultiTopicsTsfileIT.java |   10 +-
 .../IoTDBDBPatternDatasetPushConsumerIT.java       |   10 +-
 .../IoTDBDBPatternTsfilePushConsumerIT.java        |   10 +-
 .../IoTDBDefaultPatternTsfilePushConsumerIT.java   |   10 +-
 .../IoTDBDevicePatternDatasetPushConsumerIT.java   |   10 +-
 .../IoTDBDevicePatternTsfilePushConsumerIT.java    |   10 +-
 .../IoTDBRootPatternDatasetPushConsumerIT.java     |   10 +-
 .../IoTDBTSPatternDatasetPushConsumerIT.java       |   10 +-
 .../IoTDBTSPatternTsfilePushConsumerIT.java        |   14 +-
 .../IoTDBHistoryRootDatasetPushConsumerIT.java     |   10 +-
 .../time/IoTDBHistoryRootTsFilePushConsumerIT.java |   10 +-
 .../time/IoTDBRealTimeDBDatasetPushConsumerIT.java |   10 +-
 .../time/IoTDBRealTimeDBTsfilePushConsumerIT.java  |   18 +-
 ...DBTimeRangeAccurateDBDataSetPushConsumerIT.java |   10 +-
 .../IoTDBTimeRangeDBDataSetPushConsumerIT.java     |   10 +-
 .../time/IoTDBTimeRangeDBTsfilePushConsumerIT.java |   32 +-
 .../topic/IoTDBDataSet1TopicConsumerSpecialIT.java |   10 +-
 .../regression/topic/IoTDBTestTopicNameIT.java     |   10 +-
 .../regression/user/IoTDBOtherUserConsumerIT.java  |   10 +-
 .../apache/iotdb/tools/it/ExportDataTestIT.java    |   19 +-
 .../apache/iotdb/tools/it/ExportSchemaTestIT.java  |   15 +-
 .../apache/iotdb/tools/it/ExportTsFileTestIT.java  |   83 +-
 .../apache/iotdb/tools/it/ImportDataTestIT.java    |    2 +-
 .../apache/iotdb/tools/it/ImportSchemaTestIT.java  |   26 +-
 iotdb-api/external-api/pom.xml                     |    2 +-
 iotdb-api/pipe-api/pom.xml                         |    2 +-
 .../api/customizer/parameter/PipeParameters.java   |   18 +-
 ...sensusRetryWithIncreasingIntervalException.java |    6 +-
 iotdb-api/pom.xml                                  |    2 +-
 iotdb-api/trigger-api/pom.xml                      |    2 +-
 iotdb-api/udf-api/pom.xml                          |    2 +-
 ...Function.java => EmptyTableFunctionHandle.java} |   17 +-
 .../iotdb/udf/api/relational/TableFunction.java    |   89 +-
 .../iotdb/udf/api/relational/access/Record.java    |    2 +
 .../relational/table/MapTableFunctionHandle.java   |  186 +++
 .../relational/table/TableFunctionAnalysis.java    |  130 ++
 .../api/relational/table/TableFunctionHandle.java  |   28 +-
 .../table/TableFunctionProcessorProvider.java      |   43 +
 .../api/relational/table/argument/Argument.java    |   44 +-
 .../relational/table/argument/DescribedSchema.java |   89 ++
 .../relational/table/argument/ScalarArgument.java  |  155 ++
 .../table/argument/ScalarArgumentChecker.java      |   23 +-
 .../relational/table/argument/TableArgument.java   |  177 +++
 .../processor/TableFunctionDataProcessor.java      |   68 +
 .../processor/TableFunctionLeafProcessor.java      |   27 +-
 .../specification/ParameterSpecification.java      |   77 +
 .../ScalarParameterSpecification.java              |   95 ++
 .../specification/TableParameterSpecification.java |   98 ++
 .../java/org/apache/iotdb/udf/api/type/Type.java   |   38 +
 iotdb-client/cli/pom.xml                           |   22 +-
 iotdb-client/cli/src/assembly/cli.xml              |   10 +
 .../src/assembly/resources/tools/load-tsfile.bat   |   50 -
 .../src/assembly/resources/tools/load-tsfile.sh    |   60 -
 .../java/org/apache/iotdb/cli/AbstractCli.java     |   55 +-
 .../src/main/java/org/apache/iotdb/cli/Cli.java    |    1 +
 .../org/apache/iotdb/cli/utils/JlineUtils.java     |   16 +
 .../org/apache/iotdb/tool/common/Constants.java    |   53 +-
 .../org/apache/iotdb/tool/common/OptionsUtil.java  |  216 ++-
 .../apache/iotdb/tool/data/AbstractDataTool.java   |   18 +-
 .../apache/iotdb/tool/data/AbstractImportData.java |   12 +-
 .../org/apache/iotdb/tool/data/ExportData.java     |   16 +-
 .../apache/iotdb/tool/data/ExportDataTable.java    |  192 +--
 .../org/apache/iotdb/tool/data/ExportDataTree.java |  187 +--
 .../org/apache/iotdb/tool/data/ImportData.java     |    8 +-
 .../apache/iotdb/tool/data/ImportDataTable.java    |   32 +-
 .../org/apache/iotdb/tool/data/ImportDataTree.java |   57 +-
 .../iotdb/tool/schema/AbstractExportSchema.java    |   17 +-
 .../iotdb/tool/schema/AbstractImportSchema.java    |   94 ++
 .../iotdb/tool/schema/AbstractSchemaTool.java      |  120 +-
 .../org/apache/iotdb/tool/schema/ExportSchema.java |  323 +---
 .../iotdb/tool/schema/ExportSchemaTable.java       |  293 ++++
 .../apache/iotdb/tool/schema/ExportSchemaTree.java |  116 ++
 .../org/apache/iotdb/tool/schema/ImportSchema.java |  613 +-------
 .../iotdb/tool/schema/ImportSchemaTable.java       |  188 +++
 .../{ImportSchema.java => ImportSchemaTree.java}   |  417 ++----
 .../org/apache/iotdb/tool/tsfile/ExportTsFile.java |    5 +
 .../iotdb/tool/tsfile/ImportTsFileRemotely.java    |    6 +-
 .../subscription/AbstractSubscriptionTsFile.java   |    1 +
 .../subscription/SubscriptionTableTsFile.java      |   28 +-
 .../subscription/SubscriptionTreeTsFile.java       |   29 +-
 iotdb-client/client-cpp/pom.xml                    |   28 +-
 .../client-cpp/src/main/AbstractSessionBuilder.h   |    3 +
 iotdb-client/client-cpp/src/main/NodesSupplier.cpp |  221 +++
 iotdb-client/client-cpp/src/main/NodesSupplier.h   |  137 ++
 iotdb-client/client-cpp/src/main/Session.cpp       |  181 ++-
 iotdb-client/client-cpp/src/main/Session.h         |   71 +-
 .../client-cpp/src/main/SessionConnection.cpp      |  256 ++++
 .../client-cpp/src/main/SessionConnection.h        |   81 +
 .../client-cpp/src/main/ThriftConnection.cpp       |  158 ++
 .../client-cpp/src/main/ThriftConnection.h         |   68 +
 iotdb-client/client-py/README.md                   |    4 +-
 iotdb-client/client-py/iotdb/Session.py            |  342 ++---
 iotdb-client/client-py/iotdb/SessionPool.py        |    4 +-
 .../client-py/iotdb/template/MeasurementNode.py    |    2 +-
 iotdb-client/client-py/iotdb/template/Template.py  |    6 +-
 .../{TsFileConstant.py => tsfile_constant.py}      |    0
 .../tsfile/utils/{DateUtils.py => date_utils.py}   |    0
 .../iotdb/tsfile/utils/{Pair.py => pair.py}        |    0
 ...{ReadWriteIOUtils.py => read_write_io_utils.py} |    0
 .../client-py/iotdb/tsfile/utils/tsblock_serde.py  |  266 ++++
 iotdb-client/client-py/iotdb/utils/Field.py        |   35 +-
 .../client-py/iotdb/utils/IoTDBRpcDataSet.py       |  463 ------
 iotdb-client/client-py/iotdb/utils/NumpyTablet.py  |    2 +-
 .../client-py/iotdb/utils/SessionDataSet.py        |   67 +-
 iotdb-client/client-py/iotdb/utils/Tablet.py       |    2 +-
 .../{IoTDBConnectionException.py => exception.py}  |   20 +
 .../client-py/iotdb/utils/iotdb_rpc_dataset.py     |  406 +++++
 iotdb-client/client-py/iotdb/utils/rpc_utils.py    |  110 ++
 iotdb-client/client-py/pom.xml                     |   19 +-
 iotdb-client/client-py/requirements.txt            |    1 +
 iotdb-client/client-py/resources/pyproject.toml    |    8 +-
 .../session_aligned_timeseries_example.py          |    4 +-
 iotdb-client/client-py/session_example.py          |    4 +-
 iotdb-client/client-py/session_pool_example.py     |    2 +-
 iotdb-client/client-py/session_ssl_example.py      |    4 +-
 .../client-py/table_model_session_example.py       |    4 +-
 .../integration/tablet_performance_comparison.py   |    4 +-
 .../tests/integration/test_new_data_types.py       |   12 +-
 .../tests/integration/test_tablemodel_query.py     |  476 ++++++
 iotdb-client/isession/pom.xml                      |    8 +-
 .../org/apache/iotdb/isession/SessionDataSet.java  |   18 +
 iotdb-client/jdbc/pom.xml                          |    8 +-
 .../iotdb/jdbc/IoTDBAbstractDatabaseMetadata.java  |  108 +-
 .../org/apache/iotdb/jdbc/IoTDBConnection.java     |   39 +-
 .../apache/iotdb/jdbc/IoTDBDatabaseMetadata.java   |   85 +-
 .../java/org/apache/iotdb/jdbc/IoTDBStatement.java |  136 +-
 .../IoTDBRelationalDatabaseMetadata.java           |  296 +++-
 iotdb-client/pom.xml                               |    2 +-
 iotdb-client/service-rpc/pom.xml                   |    6 +-
 .../java/org/apache/iotdb/rpc/IoTDBRpcDataSet.java |   17 +-
 .../java/org/apache/iotdb/rpc/TSStatusCode.java    |    4 +
 .../rpc/subscription/annotation/TableModel.java    |   18 +-
 .../rpc/subscription/config/ConsumerConfig.java    |    8 +
 .../subscription/payload/poll/ErrorPayload.java    |    4 +
 .../subscription/payload/poll/FileSealPayload.java |   27 +-
 .../subscription/payload/poll/TabletsPayload.java  |   41 +-
 .../response/PipeSubscribeHeartbeatResp.java       |   48 +-
 iotdb-client/session/pom.xml                       |   10 +-
 .../java/org/apache/iotdb/session/Session.java     |    4 +
 .../apache/iotdb/session/SessionConnection.java    |  148 +-
 .../iotdb/session/pool/TableSessionWrapper.java    |   28 +-
 .../SubscriptionSessionConnection.java             |   32 -
 .../base/AbstractSubscriptionConsumer.java         |   68 +-
 .../base/AbstractSubscriptionConsumerBuilder.java  |   20 -
 .../base/AbstractSubscriptionProvider.java         |   13 +-
 .../base/AbstractSubscriptionProviders.java        |    6 +-
 .../SubscriptionTablePullConsumerBuilder.java      |    3 +-
 .../SubscriptionTablePushConsumerBuilder.java      |    3 +-
 .../tree/SubscriptionTreePullConsumerBuilder.java  |    3 +-
 .../tree/SubscriptionTreePushConsumerBuilder.java  |    3 +-
 .../payload/SubscriptionFileHandler.java           |    7 -
 .../subscription/payload/SubscriptionMessage.java  |   29 +-
 .../payload/SubscriptionMessageHandler.java        |    7 +-
 .../payload/SubscriptionSessionDataSet.java        |   96 +-
 .../SubscriptionSessionDataSetsHandler.java        |   56 +-
 .../payload/SubscriptionTsFileHandler.java         |   14 +-
 .../iotdb/session/SessionCacheLeaderTest.java      |    2 +-
 iotdb-core/ainode/.gitignore                       |    4 +-
 iotdb-core/ainode/ainode.xml                       |   27 +
 .../ainode/model => ainode/TimerXL}/__init__.py    |    2 +-
 .../ainode/ainode/TimerXL/layers/Attn_Bias.py      |   95 ++
 .../ainode/TimerXL/layers/Attn_Projection.py       |  123 ++
 iotdb-core/ainode/ainode/TimerXL/layers/Embed.py   |  261 ++++
 .../ainode/TimerXL/layers/SelfAttention_Family.py  |  167 +++
 .../ainode/TimerXL/layers/Transformer_EncDec.py    |  328 +++++
 .../model => ainode/TimerXL/layers}/__init__.py    |    2 +-
 .../model => ainode/TimerXL/models}/__init__.py    |    2 +-
 .../ainode/TimerXL/models/configuration_timer.py   |   60 +
 .../ainode/ainode/TimerXL/models/timer_xl.py       |  395 +++++
 iotdb-core/ainode/{iotdb => ainode}/__init__.py    |    0
 .../{iotdb/ainode => ainode/core}/__init__.py      |    0
 .../ainode/{iotdb/ainode => ainode/core}/client.py |   42 +-
 .../ainode/{iotdb/ainode => ainode/core}/config.py |   22 +-
 .../{iotdb/ainode => ainode/core}/constant.py      |   18 +
 .../{iotdb/ainode => ainode/core}/exception.py     |    2 +-
 .../{iotdb/ainode => ainode/core}/handler.py       |   22 +-
 .../ainode/{iotdb/ainode => ainode/core}/log.py    |    4 +-
 .../ainode => ainode/core}/manager/__init__.py     |    0
 .../core}/manager/cluster_manager.py               |    4 +-
 .../core}/manager/inference_manager.py             |  147 +-
 .../core}/manager/model_manager.py                 |   16 +-
 .../ainode => ainode/core}/model/__init__.py       |    0
 .../core}/model/built_in_model_factory.py          |   92 +-
 .../ainode => ainode/core}/model/model_factory.py  |   10 +-
 .../ainode => ainode/core}/model/model_storage.py  |   15 +-
 .../ainode/{iotdb/ainode => ainode/core}/script.py |   16 +-
 .../{iotdb/ainode => ainode/core}/service.py       |    8 +-
 .../{iotdb/ainode => ainode/core}/util/__init__.py |    0
 iotdb-core/ainode/ainode/core/util/activation.py   |   51 +
 .../ainode => ainode/core}/util/decorator.py       |    0
 .../ainode/ainode/core/util/huggingface_cache.py   |  202 +++
 .../{iotdb/ainode => ainode/core}/util/lock.py     |    0
 iotdb-core/ainode/ainode/core/util/masking.py      |   81 +
 .../{iotdb/ainode => ainode/core}/util/serde.py    |    6 +-
 .../{iotdb/ainode => ainode/core}/util/status.py   |    6 +-
 iotdb-core/ainode/poetry.lock                      |  149 +-
 iotdb-core/ainode/pom.xml                          |   18 +-
 iotdb-core/ainode/pyproject.toml                   |   24 +-
 iotdb-core/antlr/pom.xml                           |    2 +-
 .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4   |   69 +
 .../antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4  |   24 +
 iotdb-core/confignode/pom.xml                      |   30 +-
 iotdb-core/confignode/src/assembly/confignode.xml  |   28 +-
 .../confignode/client/CnToCnNodeRequestType.java   |    2 +-
 .../client/async/CnToDnAsyncRequestType.java       |    3 +
 .../CnToDnInternalServiceAsyncRequestManager.java  |   18 +
 .../rpc/DataNodeAsyncRequestRPCHandler.java        |   21 +
 .../rpc/TreeDeviceViewFieldDetectionHandler.java}  |   56 +-
 .../client/sync/SyncConfigNodeClientPool.java      |    6 +-
 .../iotdb/confignode/conf/ConfigNodeConfig.java    |   58 +-
 .../confignode/conf/ConfigNodeDescriptor.java      |   30 +
 .../consensus/request/ConfigPhysicalPlan.java      |   76 +-
 .../consensus/request/ConfigPhysicalPlanType.java  |   17 +-
 .../request/ConfigPhysicalPlanVisitor.java         |   91 +-
 .../request/read/database/GetDatabasePlan.java     |    9 +-
 .../request/write/model/UpdateModelInfoPlan.java   |    4 +
 ...blePlan.java => PipeCreateTableOrViewPlan.java} |   10 +-
 .../write/pipe/payload/PipeDeleteDevicesPlan.java  |   44 +-
 .../request/write/table/AbstractTablePlan.java     |   15 +-
 .../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 +-
 ...iesPlan.java => SetTableColumnCommentPlan.java} |   28 +-
 ...ropertiesPlan.java => SetTableCommentPlan.java} |   31 +-
 .../write/table/SetTablePropertiesPlan.java        |   14 +-
 .../AddTableViewColumnPlan.java}                   |   20 +-
 .../CommitDeleteViewColumnPlan.java}               |   13 +-
 .../CommitDeleteViewPlan.java}                     |   15 +-
 .../PreCreateTableViewPlan.java}                   |   33 +-
 .../PreDeleteViewColumnPlan.java}                  |   13 +-
 .../PreDeleteViewPlan.java}                        |   15 +-
 .../RenameViewColumnPlan.java}                     |   15 +-
 .../RenameViewPlan.java}                           |   15 +-
 .../SetViewCommentPlan.java}                       |   14 +-
 .../SetViewPropertiesPlan.java}                    |   15 +-
 .../iotdb/confignode/manager/ClusterManager.java   |   12 +-
 .../iotdb/confignode/manager/ConfigManager.java    |  158 +-
 .../apache/iotdb/confignode/manager/IManager.java  |    3 +
 .../iotdb/confignode/manager/ModelManager.java     |   51 +-
 .../confignode/manager/PermissionManager.java      |    6 +
 .../iotdb/confignode/manager/ProcedureManager.java |  218 ++-
 .../iotdb/confignode/manager/TTLManager.java       |    9 +-
 .../iotdb/confignode/manager/load/LoadManager.java |   10 +-
 .../manager/load/balancer/PartitionBalancer.java   |    8 +-
 .../region/GreedyCopySetRegionGroupAllocator.java  |  356 ++++-
 .../region/GreedyRegionGroupAllocator.java         |   13 +
 .../balancer/region/IRegionGroupAllocator.java     |   21 +
 .../PartiteGraphPlacementRegionGroupAllocator.java |   13 +
 .../manager/load/cache/AbstractLoadCache.java      |   26 +-
 .../manager/load/cache/IFailureDetector.java}      |   31 +-
 .../confignode/manager/load/cache/LoadCache.java   |   29 +-
 .../manager/load/cache/detector/FixedDetector.java |   58 +
 .../load/cache/detector/PhiAccrualDetector.java    |  192 +++
 .../load/cache/node/AINodeHeartbeatCache.java      |   42 +-
 .../load/cache/node/ConfigNodeHeartbeatCache.java  |   30 +-
 .../load/cache/node/DataNodeHeartbeatCache.java    |   40 +-
 .../manager/load/cache/region/RegionCache.java     |   37 +-
 .../load/cache/region/RegionGroupCache.java        |   15 +-
 .../manager/load/service/EventService.java         |   11 +-
 .../manager/load/service/HeartbeatService.java     |   20 +
 .../manager/load/service/StatisticsService.java    |    4 +-
 .../manager/load/service/TopologyService.java      |  319 ++++
 .../load/subscriber/IClusterStatusSubscriber.java  |    6 +-
 .../load/subscriber/NodeStatisticsChangeEvent.java |    3 +-
 .../iotdb/confignode/manager/node/NodeManager.java |   70 +-
 .../manager/partition/PartitionManager.java        |   67 +-
 .../pipe/agent/task/PipeConfigNodeSubtask.java     |    2 +-
 .../pipe/agent/task/PipeConfigNodeTaskAgent.java   |    4 +-
 .../runtime/PipeLeaderChangeHandler.java           |   12 -
 .../runtime/PipeRuntimeCoordinator.java            |   12 -
 .../pipe/event/PipeConfigRegionSnapshotEvent.java  |   16 +-
 .../pipe/event/PipeConfigRegionWritePlanEvent.java |   26 +-
 .../extractor/ConfigRegionListeningFilter.java     |   22 +-
 .../pipe/extractor/ConfigRegionListeningQueue.java |   26 +-
 .../pipe/extractor/IoTDBConfigRegionExtractor.java |  113 +-
 ...ConfigPhysicalPlanTablePatternParseVisitor.java |   79 +-
 ...nfigPhysicalPlanTablePrivilegeParseVisitor.java |  389 +++++
 ...eConfigPhysicalPlanTreePatternParseVisitor.java |    2 +-
 .../manager/pipe/metric/PipeConfigNodeMetrics.java |    9 +
 .../PipeConfigNodeRemainingTimeMetrics.java        |    2 +-
 .../PipeConfigNodeRemainingTimeOperator.java       |    2 +-
 .../PipeConfigNodeResourceMetrics.java             |    2 +-
 .../{ => overview}/PipeProcedureMetrics.java       |    2 +-
 .../metric/{ => overview}/PipeTaskInfoMetrics.java |    2 +-
 .../PipeTemporaryMetaInCoordinatorMetrics.java     |    2 +-
 .../PipeConfigNodeReceiverMetrics.java             |    2 +-
 .../PipeConfigRegionConnectorMetrics.java          |    2 +-
 .../PipeConfigNodeListenerMetrics.java             |    2 +-
 .../PipeConfigRegionExtractorMetrics.java          |    2 +-
 .../receiver/protocol/IoTDBConfigNodeReceiver.java |  356 ++++-
 .../PipeConfigPhysicalPlanTSStatusVisitor.java     |   54 +-
 .../resource/PipeConfigNodeResourceManager.java    |    1 +
 .../PipeConfigNodeSnapshotResourceManager.java     |    2 +-
 .../manager/schema/ClusterSchemaManager.java       |  273 +++-
 .../iotdb/confignode/persistence/AuthorInfo.java   |    4 +
 .../iotdb/confignode/persistence/TTLInfo.java      |    2 +-
 .../persistence/executor/ConfigPlanExecutor.java   |   31 +-
 .../confignode/persistence/node/NodeInfo.java      |    7 +
 .../confignode/persistence/pipe/PipeInfo.java      |    2 +-
 .../persistence/pipe/PipePluginInfo.java           |   51 +-
 .../schema/CNPhysicalPlanGenerator.java            |    4 +-
 .../persistence/schema/ClusterSchemaInfo.java      |  332 +++--
 .../confignode/persistence/schema/ConfigMTree.java |  134 +-
 .../schema/TreeDeviceViewFieldDetector.java        |  254 ++++
 .../schema/mnode/info/ConfigTableInfo.java         |    6 +
 .../procedure/PartitionTableAutoCleaner.java       |   21 +-
 .../procedure/TimeoutExecutorThread.java           |    2 +-
 .../procedure/env/ConfigNodeProcedureEnv.java      |   85 +-
 .../procedure/env/RegionMaintainHandler.java       |    8 -
 .../procedure/env/RemoveDataNodeHandler.java       |  186 +++
 .../procedure/impl/StateMachineProcedure.java      |   11 +-
 .../impl/node/RemoveConfigNodeProcedure.java       |    8 +-
 .../impl/node/RemoveDataNodesProcedure.java        |    6 +-
 .../impl/pipe/AbstractOperatePipeProcedureV2.java  |    2 +-
 .../impl/pipe/task/AlterPipeProcedureV2.java       |   67 +-
 .../impl/pipe/task/CreatePipeProcedureV2.java      |   97 ++
 .../impl/region/CreateRegionGroupsProcedure.java   |   35 +-
 .../region/NotifyRegionMigrationProcedure.java     |  137 ++
 .../impl/region/ReconstructRegionProcedure.java    |   33 -
 .../impl/region/RegionMigrateProcedure.java        |   43 +-
 .../impl/schema/DeleteDatabaseProcedure.java       |    4 +-
 .../impl/schema/UnsetTemplateProcedure.java        |  100 +-
 .../table/AbstractAlterOrDropTableProcedure.java   |    5 +-
 .../impl/schema/table/AddTableColumnProcedure.java |   27 +-
 .../impl/schema/table/CreateTableProcedure.java    |   22 +-
 .../impl/schema/table/DeleteDevicesProcedure.java  |    2 +-
 .../schema/table/DropTableColumnProcedure.java     |   33 +-
 .../impl/schema/table/DropTableProcedure.java      |   30 +-
 .../schema/table/RenameTableColumnProcedure.java   |   45 +-
 ...umnProcedure.java => RenameTableProcedure.java} |  120 +-
 .../schema/table/SetTablePropertiesProcedure.java  |   24 +-
 .../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 +
 .../consumer/CreateConsumerProcedure.java          |    4 +-
 .../subscription/CreateSubscriptionProcedure.java  |   21 +-
 ...eState.java => NotifyRegionMigrationState.java} |    6 +-
 .../procedure/state/RemoveConfigNodeState.java     |    2 +-
 .../state/schema/RenameTableColumnState.java       |    3 +-
 ...TableColumnState.java => RenameTableState.java} |    5 +-
 .../procedure/store/ProcedureFactory.java          |   80 +
 .../confignode/procedure/store/ProcedureType.java  |   19 +
 .../thrift/ConfigNodeRPCServiceProcessor.java      |  119 +-
 .../request/ConfigPhysicalPlanSerDeTest.java       |  235 ++-
 .../GreedyCopySetRemoveNodeReplicaSelectTest.java  |  342 +++++
 .../manager/load/cache/RegionGroupCacheTest.java   |   19 +-
 .../manager/load/cache/detector/DetectorTest.java  |  180 +++
 ...igPhysicalPlanTablePatternParseVisitorTest.java |  110 +-
 ...figPhysicalPlanTreePatternParseVisitorTest.java |    2 +-
 .../persistence/schema/ClusterSchemaInfoTest.java  |    5 +-
 .../pipe/receiver/PipeEnrichedProcedureTest.java   |  204 +++
 .../schema/table/CreateTableViewProcedureTest.java |   75 +
 .../schema/table/RenameTableProcedureTest.java     |   52 +
 .../table/view/AddViewColumnProcedureTest.java     |   62 +
 .../table/view/CreateTableViewProcedureTest.java   |   76 +
 .../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 +-
 .../iotdb/consensus/config/IoTConsensusConfig.java |   30 +-
 .../consensus/config/PipeConsensusConfig.java      |   28 -
 .../apache/iotdb/consensus/iot/IoTConsensus.java   |    8 +-
 .../consensus/iot/IoTConsensusServerImpl.java      |   44 +-
 .../consensus/iot/client/DispatchLogHandler.java   |   27 +-
 .../logdispatcher/IoTConsensusMemoryManager.java   |   50 +-
 .../apache/iotdb/consensus/pipe/PipeConsensus.java |   86 +-
 .../consensus/pipe/PipeConsensusServerImpl.java    |    4 +-
 .../pipe/consensuspipe/ConsensusPipeManager.java   |    8 +-
 .../pipe/consensuspipe/ConsensusPipeReceiver.java  |    3 +-
 .../pipe/metric/PipeConsensusSyncLagManager.java   |    6 +-
 .../apache/iotdb/consensus/iot/StabilityTest.java  |   49 +-
 iotdb-core/datanode/pom.xml                        |   42 +-
 iotdb-core/datanode/src/assembly/server.xml        |   44 +-
 .../ArithmeticBinaryColumnTransformer.ftl          |   11 +
 .../org/apache/iotdb/db/auth/AuthorityChecker.java |   11 +-
 .../apache/iotdb/db/conf/DataNodeMemoryConfig.java |  692 +++++++++
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java |  432 +-----
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  |  403 ++---
 .../db/consensus/DataRegionConsensusImpl.java      |   15 +-
 .../schemaregion/SchemaExecutionVisitor.java       |   15 +
 .../iotdb/db/exception/ainode/ModelException.java  |   11 +-
 .../db/exception/runtime/IntoProcessException.java |   17 +-
 .../agent/runtime/PipeDataNodeRuntimeAgent.java    |    6 +
 .../runtime/PipeSchemaRegionListenerManager.java   |    2 +-
 .../db/pipe/agent/task/PipeDataNodeTaskAgent.java  |  128 +-
 .../agent/task/builder/PipeDataNodeBuilder.java    |    4 +-
 .../task/builder/PipeDataNodeTaskBuilder.java      |   51 +-
 .../pipe/agent/task/connection/EnrichedDeque.java  |    2 +-
 .../agent/task/connection/PipeEventCollector.java  |   49 +-
 .../agent/task/stage/PipeTaskProcessorStage.java   |    7 +-
 .../subtask/connector/PipeConnectorSubtask.java    |   46 +-
 .../connector/PipeConnectorSubtaskManager.java     |    3 +-
 .../PipeRealtimePriorityBlockingQueue.java         |   64 +-
 .../subtask/processor/PipeProcessorSubtask.java    |   22 +-
 .../client/IoTDBDataNodeAsyncClientManager.java    |    6 +-
 .../IoTDBDataNodeCacheLeaderClientManager.java     |   14 +-
 .../evolvable/batch/PipeTabletEventBatch.java      |   12 +-
 .../evolvable/batch/PipeTabletEventPlainBatch.java |    4 -
 .../batch/PipeTabletEventTsFileBatch.java          |   18 +-
 .../batch/PipeTransferBatchReqBuilder.java         |   65 +-
 .../request/PipeTransferSchemaSnapshotSealReq.java |    5 +-
 .../airgap/IoTDBDataRegionAirGapConnector.java     |   10 +
 .../connector/protocol/opcda/OpcDaConnector.java   |    8 +-
 .../protocol/opcda/OpcDaServerHandle.java          |    9 +-
 .../connector/protocol/opcua/OpcUaNameSpace.java   |   21 +-
 .../pipeconsensus/PipeConsensusAsyncConnector.java |    5 +-
 .../pipeconsensus/PipeConsensusSyncConnector.java  |    8 +-
 .../PipeConsensusTsFileInsertionEventHandler.java  |   27 +-
 .../PipeConsensusTransferBatchReqBuilder.java      |   20 +-
 .../async/IoTDBDataRegionAsyncConnector.java       |  266 ++--
 .../PipeTransferTabletBatchEventHandler.java       |    7 +-
 .../async/handler/PipeTransferTsFileHandler.java   |   84 +-
 .../thrift/sync/IoTDBDataRegionSyncConnector.java  |   14 +
 .../thrift/sync/IoTDBSchemaRegionConnector.java    |    8 +-
 .../protocol/writeback/WriteBackConnector.java     |   96 +-
 ...ilder.java => PipeTableModelTsFileBuilder.java} |  159 +-
 .../builder/PipeTableModelTsFileBuilderV2.java     |  259 ++++
 .../util/builder/PipeTreeModelTsFileBuilder.java   |   68 +-
 .../util/builder/PipeTreeModelTsFileBuilderV2.java |  198 +++
 .../connector/util/builder/PipeTsFileBuilder.java  |   24 +-
 .../sorter/PipeTableModelTabletEventSorter.java    |   12 +-
 .../consensus/ConsensusPipeDataNodeDispatcher.java |    3 -
 .../ReplicateProgressDataNodeManager.java          |    3 +-
 .../pipe/consensus/deletion/DeletionResource.java  |    6 +
 .../deletion/DeletionResourceManager.java          |   15 +
 .../deletion/persist/PageCacheDeletionBuffer.java  |   45 +-
 .../db/pipe/event/UserDefinedEnrichedEvent.java    |   14 +-
 .../db/pipe/event/common/PipeInsertionEvent.java   |   17 +-
 .../common/deletion/PipeDeleteDataNodeEvent.java   |   31 +-
 .../event/common/heartbeat/PipeHeartbeatEvent.java |   19 +-
 .../schema/PipeSchemaRegionSnapshotEvent.java      |   20 +-
 .../schema/PipeSchemaRegionWritePlanEvent.java     |   18 +-
 .../tablet/PipeInsertNodeTabletInsertionEvent.java |  136 +-
 .../common/tablet/PipeRawTabletInsertionEvent.java |   57 +-
 .../tablet/parser/TabletInsertionEventParser.java  |   34 +-
 .../event/common/terminate/PipeTerminateEvent.java |   64 +-
 .../common/tsfile/PipeTsFileInsertionEvent.java    |  134 +-
 .../tsfile/parser/TsFileInsertionEventParser.java  |   23 +
 .../parser/TsFileInsertionEventParserProvider.java |   81 +-
 .../query/TsFileInsertionEventQueryParser.java     |   19 +-
 .../scan/TsFileInsertionEventScanParser.java       |   26 +-
 .../table/TsFileInsertionEventTableParser.java     |   38 +-
 ...ileInsertionEventTableParserTabletIterator.java |  169 ++-
 .../db/pipe/event/realtime/PipeRealtimeEvent.java  |   28 +-
 .../event/realtime/PipeRealtimeEventFactory.java   |   27 +-
 .../dataregion/IoTDBDataRegionExtractor.java       |    8 +-
 ...oricalDataRegionTsFileAndDeletionExtractor.java |   49 +-
 .../realtime/PipeRealtimeDataRegionExtractor.java  |   22 +-
 .../PipeRealtimeDataRegionHybridExtractor.java     |   26 +-
 .../realtime/assigner/PipeDataRegionAssigner.java  |   21 +-
 .../dataregion/realtime/epoch/TsFileEpoch.java     |    2 +-
 .../realtime/epoch/TsFileEpochManager.java         |    8 +-
 .../listener/PipeInsertionDataNodeListener.java    |   14 +-
 .../matcher/CachedSchemaPatternMatcher.java        |   40 +-
 .../realtime/matcher/PipeDataRegionMatcher.java    |    3 +
 .../schemaregion/IoTDBSchemaRegionExtractor.java   |   82 +-
 .../PipePlanTablePrivilegeParseVisitor.java        |   81 +
 .../schemaregion/PipeStatementToPlanVisitor.java   |   48 +
 .../schemaregion/SchemaRegionListeningFilter.java  |   15 +
 .../iotdb/db/pipe/metric/PipeDataNodeMetrics.java  |   15 +
 .../PipeDataNodeRemainingEventAndTimeMetrics.java  |    2 +-
 .../PipeDataNodeRemainingEventAndTimeOperator.java |    2 +-
 .../{ => overview}/PipeHeartbeatEventMetrics.java  |    2 +-
 .../metric/{ => overview}/PipeResourceMetrics.java |    4 +-
 .../overview/PipeTsFileToTabletsMetrics.java       |  170 +++
 .../PipeWALInsertNodeCacheMetrics.java             |    2 +-
 .../{ => processor}/PipeProcessorMetrics.java      |    2 +-
 .../PipeDataNodeReceiverMetrics.java               |    2 +-
 .../PipeSchemaRegionConnectorMetrics.java          |    2 +-
 .../PipeSchemaRegionExtractorMetrics.java          |    2 +-
 .../PipeSchemaRegionListenerMetrics.java           |    2 +-
 .../{ => sink}/PipeDataRegionConnectorMetrics.java |  118 +-
 .../metric/{ => source}/PipeAssignerMetrics.java   |    2 +-
 .../{ => source}/PipeDataRegionEventCounter.java   |    2 +-
 .../PipeDataRegionExtractorMetrics.java            |    2 +-
 .../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 +-
 .../pipe/processor/twostage/combiner/Combiner.java |    5 +-
 .../pipeconsensus/PipeConsensusReceiver.java       |  568 ++++---
 .../pipeconsensus/PipeConsensusReceiverAgent.java  |   73 +-
 .../protocol/thrift/IoTDBDataNodeReceiver.java     |  184 +--
 .../visitor/PipePlanToStatementVisitor.java        |    4 +-
 .../visitor/PipeStatementExceptionVisitor.java     |    5 +
 ...leStatementDataTypeConvertExecutionVisitor.java |    1 +
 .../resource/memory/InsertNodeMemoryEstimator.java |  323 +---
 .../db/pipe/resource/memory/PipeMemoryBlock.java   |    2 +-
 .../db/pipe/resource/memory/PipeMemoryManager.java |  184 +--
 .../pipe/resource/memory/PipeMemoryWeightUtil.java |    3 +-
 .../pipe/resource/tsfile/PipeTsFileResource.java   |   20 +-
 .../resource/tsfile/PipeTsFileResourceManager.java |    4 +-
 .../iotdb/db/protocol/client/ConfigNodeClient.java |   25 +-
 .../db/protocol/client/DataNodeInternalClient.java |    8 +-
 .../client/dn/AsyncTSStatusRPCHandler.java         |   25 +-
 .../client/dn/DataNodeAsyncRequestRPCHandler.java  |   20 +-
 .../client/dn/DataNodeIntraHeartbeatManager.java   |   59 +
 .../iotdb/db/protocol/mqtt/MPPPublishHandler.java  |   45 +-
 .../rest/table/v1/handler/ExceptionHandler.java    |    4 +
 .../table/v1/handler/ExecuteStatementHandler.java  |   25 +-
 .../table/v1/handler/RequestValidationHandler.java |    8 -
 .../v1/handler/StatementConstructionHandler.java   |    6 +-
 .../rest/table/v1/impl/RestApiServiceImpl.java     |   11 +-
 .../protocol/rest/v1/handler/ExceptionHandler.java |    4 +
 .../rest/v1/handler/ExecuteStatementHandler.java   |    2 +
 .../rest/v1/handler/QueryDataSetHandler.java       |    2 +
 .../protocol/rest/v1/impl/RestApiServiceImpl.java  |   46 +-
 .../protocol/rest/v2/handler/ExceptionHandler.java |    4 +
 .../rest/v2/handler/ExecuteStatementHandler.java   |    2 +
 .../rest/v2/handler/QueryDataSetHandler.java       |    2 +
 .../protocol/rest/v2/impl/RestApiServiceImpl.java  |   46 +-
 .../iotdb/db/protocol/session/IClientSession.java  |    6 +
 .../protocol/thrift/impl/ClientRPCServiceImpl.java |  240 +--
 .../impl/DataNodeInternalRPCServiceImpl.java       |  226 ++-
 .../common/header/DatasetHeaderFactory.java        |    8 +
 .../execution/aggregation/UDAFAccumulator.java     |    2 +-
 .../db/queryengine/execution/driver/Driver.java    |   15 +-
 .../execution/exchange/SharedTsBlockQueue.java     |   13 +-
 .../execution/exchange/sink/ISinkChannel.java      |    2 +
 .../execution/exchange/sink/LocalSinkChannel.java  |   21 +-
 .../execution/exchange/sink/ShuffleSinkHandle.java |    5 +-
 .../execution/exchange/sink/SinkChannel.java       |    5 +-
 .../exchange/source/LocalSourceHandle.java         |   12 +-
 .../execution/exchange/source/SourceHandle.java    |    2 +-
 .../execution/executor/RegionReadExecutor.java     |   17 +-
 .../execution/executor/RegionWriteExecutor.java    |  112 +-
 .../fragment/FragmentInstanceContext.java          |  112 +-
 .../fragment/FragmentInstanceExecution.java        |   18 +-
 .../fragment/FragmentInstanceManager.java          |   24 +-
 .../execution/fragment/QueryStatistics.java        |   10 +
 .../execution/memory/LocalMemoryManager.java       |    5 +-
 .../queryengine/execution/memory/MemoryPool.java   |   42 +-
 .../execution/operator/AbstractOperator.java       |    5 +-
 .../operator/process/AbstractIntoOperator.java     |    6 +-
 .../operator/process/AssignUniqueIdOperator.java   |    2 +-
 .../operator/process/CollectOperator.java          |    7 +
 .../operator/process/EnforceSingleRowOperator.java |    2 +-
 .../operator/process/FilterAndProjectOperator.java |   15 +
 .../execution/operator/process/LimitOperator.java  |    6 +
 .../execution/operator/process/OffsetOperator.java |    6 +
 .../operator/process/TransformOperator.java        |    2 +-
 .../operator/process/ai/InferenceOperator.java     |   42 +-
 .../process/function/PartitionRecognizer.java      |  207 +++
 .../function/TableFunctionLeafOperator.java        |  111 ++
 .../process/function/TableFunctionOperator.java    |  293 ++++
 .../process/function/partition/PartitionCache.java |  112 ++
 .../process/function/partition/PartitionState.java |   62 +
 .../operator/process/function/partition/Slice.java |  204 +++
 .../process/join/LeftOuterTimeJoinOperator.java    |   15 +-
 .../join/SimpleNestedLoopCrossJoinOperator.java    |    2 +-
 .../join/TableLeftOuterTimeJoinOperator.java       |   55 +
 .../AscLongTypeIgnoreEqualJoinKeyComparator.java   |   95 ++
 .../DescLongTypeIgnoreEqualJoinKeyComparator.java  |   95 ++
 .../merge/comparator/JoinKeyComparatorFactory.java |   20 +
 .../process/window/TableWindowOperator.java        |    2 +-
 .../operator/schema/SchemaQueryScanOperator.java   |   12 +-
 .../schema/source/DeviceAttributeUpdater.java      |   17 +-
 .../schema/source/DeviceBlackListConstructor.java  |   18 +-
 .../schema/source/DevicePredicateFilter.java       |   11 +-
 .../schema/source/DevicePredicateHandler.java      |   33 +-
 .../operator/schema/source/DeviceUpdater.java      |   13 +-
 .../operator/schema/source/ISchemaSource.java      |    5 +
 .../schema/source/SchemaSourceFactory.java         |   16 +-
 .../schema/source/TableDeviceFetchSource.java      |   21 +
 .../schema/source/TableDeviceQuerySource.java      |  209 ++-
 .../operator/sink/ShuffleHelperOperator.java       |    2 +-
 .../relational/AbstractAggTableScanOperator.java   |   28 +-
 .../AbstractDefaultAggTableScanOperator.java       |    2 +-
 .../relational/AbstractMergeSortJoinOperator.java  |    4 +-
 .../relational/AbstractTableScanOperator.java      |   56 +-
 .../relational/AsofMergeSortInnerJoinOperator.java |  237 +++
 .../relational/DeviceIteratorScanOperator.java     |  233 +++
 .../InformationSchemaContentSupplierFactory.java   |  357 ++++-
 .../relational/LastQueryAggTableScanOperator.java  |   18 +-
 .../MeasurementToTableViewAdaptorUtils.java        |  103 ++
 .../TreeToTableViewAdaptorOperator.java}           |  104 +-
 .../relational/aggregation/AccumulatorFactory.java |    7 +-
 .../ApproxCountDistinctAccumulator.java            |  265 ++++
 .../relational/aggregation/AvgAccumulator.java     |    8 +-
 .../relational/aggregation/CountAccumulator.java   |    4 +-
 .../aggregation/CountAllAccumulator.java           |    4 +-
 .../relational/aggregation/ExtremeAccumulator.java |    2 +-
 .../relational/aggregation/FirstAccumulator.java   |   12 +-
 .../relational/aggregation/FirstByAccumulator.java |   17 +-
 .../source/relational/aggregation/HyperLogLog.java |  246 ++++
 .../aggregation/HyperLogLogStateFactory.java       |   88 ++
 .../relational/aggregation/LastAccumulator.java    |   12 +-
 .../relational/aggregation/LastByAccumulator.java  |   17 +-
 .../relational/aggregation/MaxAccumulator.java     |   12 +-
 .../relational/aggregation/MinAccumulator.java     |   12 +-
 .../relational/aggregation/SumAccumulator.java     |    8 +-
 .../relational/aggregation/TableAggregator.java    |    9 +-
 .../aggregation/TableMaxMinByBaseAccumulator.java  |    9 +-
 .../aggregation/TableVarianceAccumulator.java      |    4 +-
 .../aggregation/grouped/GroupedAggregator.java     |    4 +-
 .../GroupedApproxCountDistinctAccumulator.java     |  314 ++++
 .../aggregation/grouped/GroupedAvgAccumulator.java |    8 +-
 .../grouped/GroupedExtremeAccumulator.java         |   17 +-
 .../grouped/GroupedFirstAccumulator.java           |   32 +-
 .../grouped/GroupedFirstByAccumulator.java         |   24 +-
 .../grouped/GroupedLastAccumulator.java            |   42 +-
 .../grouped/GroupedLastByAccumulator.java          |   26 +-
 .../aggregation/grouped/GroupedMaxAccumulator.java |   16 +-
 .../grouped/GroupedMaxMinByBaseAccumulator.java    |   34 +-
 .../aggregation/grouped/GroupedMinAccumulator.java |   16 +-
 .../grouped/GroupedModeAccumulator.java            |    6 +-
 .../aggregation/grouped/GroupedSumAccumulator.java |    5 +-
 .../grouped/GroupedVarianceAccumulator.java        |    4 +-
 .../grouped/StreamingAggregationOperator.java      |   32 +-
 .../grouped/StreamingHashAggregationOperator.java  |   35 +-
 .../aggregation/grouped/array/BinaryBigArray.java  |    4 -
 .../grouped/array/HyperLogLogBigArray.java         |   84 ++
 .../aggregation/grouped/array/MapBigArray.java     |    4 -
 .../aggregation/grouped/array/ObjectBigArray.java  |   12 +-
 .../aggregation/grouped/hash/HashStrategy.java     |    2 +-
 .../relational/ColumnTransformerBuilder.java       |    4 +-
 .../execution/schedule/AbstractDriverThread.java   |   27 +-
 .../execution/schedule/DriverScheduler.java        |    8 +-
 .../metric/SeriesScanCostMetricSet.java            |   40 +-
 .../iotdb/db/queryengine/plan/ClusterTopology.java |  179 +++
 .../iotdb/db/queryengine/plan/Coordinator.java     |   20 +-
 .../db/queryengine/plan/analyze/AnalyzeUtils.java  |    2 -
 .../queryengine/plan/analyze/AnalyzeVisitor.java   |   55 +-
 .../plan/analyze/ClusterPartitionFetcher.java      |   80 +-
 .../db/queryengine/plan/analyze/IModelFetcher.java |    4 +
 .../db/queryengine/plan/analyze/ModelFetcher.java  |   26 +
 .../analyze/cache/partition/PartitionCache.java    |  324 ++--
 .../cache/schema/DataNodeDevicePathCache.java      |   23 +-
 .../analyze/cache/schema/DataNodeTTLCache.java     |    2 +-
 .../cache/schema/dualkeycache/IDualKeyCache.java   |   28 +-
 .../dualkeycache/impl/CacheEntryGroupImpl.java     |   57 +-
 .../cache/schema/dualkeycache/impl/CacheStats.java |   47 +-
 .../schema/dualkeycache/impl/DualKeyCacheImpl.java |  525 +++----
 .../schema/dualkeycache/impl/ICacheEntryGroup.java |   13 +-
 .../plan/analyze/load/LoadTsFileAnalyzer.java      |  363 +++--
 .../analyze/load/LoadTsFileTableSchemaCache.java   |  108 +-
 .../analyze/load/LoadTsFileTreeSchemaCache.java    |   10 +-
 .../load/TreeSchemaAutoCreatorAndVerifier.java     |    7 +-
 .../analyze/lock/DataNodeSchemaLockManager.java    |    1 +
 .../plan/analyze/lock/SchemaLockType.java          |   15 +-
 .../analyze/schema/AutoCreateSchemaExecutor.java   |   34 +-
 .../analyze/schema/ClusterSchemaFetchExecutor.java |   21 +-
 .../plan/analyze/schema/ClusterSchemaFetcher.java  |    7 +-
 .../plan/analyze/schema/SchemaValidator.java       |    2 +-
 .../plan/analyze/schema/TemplateSchemaFetcher.java |   11 +-
 .../queryengine/plan/execution/QueryExecution.java |    9 +-
 .../plan/execution/config/ConfigExecution.java     |   29 +-
 .../execution/config/TableConfigTaskVisitor.java   |  423 +++++-
 .../execution/config/TreeConfigTaskVisitor.java    |   73 +-
 .../config/executor/ClusterConfigTaskExecutor.java |  373 ++++-
 .../config/executor/IConfigTaskExecutor.java       |   74 +-
 .../config/metadata/CreatePipePluginTask.java      |    2 +
 .../config/metadata/ShowFunctionsTask.java         |   16 +-
 .../metadata/{model => ai}/CreateModelTask.java    |    2 +-
 .../config/metadata/ai/CreateTrainingTask.java     |  108 ++
 .../metadata/{model => ai}/DropModelTask.java      |    2 +-
 .../metadata/{model => ai}/ShowModelsTask.java     |   10 +-
 .../relational/AbstractAlterOrDropTableTask.java   |    5 +-
 .../relational/AlterTableAddColumnTask.java        |    7 +-
 ...nTask.java => AlterTableCommentColumnTask.java} |   15 +-
 ...leTask.java => AlterTableCommentTableTask.java} |   20 +-
 .../relational/AlterTableDropColumnTask.java       |    7 +-
 .../relational/AlterTableRenameColumnTask.java     |    7 +-
 .../relational/AlterTableRenameTableTask.java      |    7 +-
 .../relational/AlterTableSetPropertiesTask.java    |    7 +-
 .../metadata/relational/CreateTableTask.java       |    6 +-
 ...DropTableTask.java => CreateTableViewTask.java} |   13 +-
 .../relational/DescribeTableDetailsTask.java       |   12 +-
 .../metadata/relational/DescribeTableTask.java     |    2 +-
 .../config/metadata/relational/DropTableTask.java  |    7 +-
 .../metadata/relational/ShowCreateTableTask.java   |  149 ++
 .../metadata/relational/ShowCreateViewTask.java    |  146 ++
 .../metadata/relational/ShowTablesDetailsTask.java |   17 +
 .../execution/config/sys/pipe/AlterPipeTask.java   |    3 +-
 .../execution/config/sys/pipe/ShowPipeTask.java    |    2 +-
 .../expression/binary/CompareBinaryExpression.java |   24 +
 .../plan/expression/multi/FunctionExpression.java  |    2 +-
 .../predicate/ConvertPredicateToFilterVisitor.java |    4 +-
 .../ConvertPredicateToTimeFilterVisitor.java       |    3 +-
 .../db/queryengine/plan/parser/ASTVisitor.java     |  204 ++-
 .../plan/parser/StatementGenerator.java            |    6 +-
 .../plan/planner/LocalExecutionPlanContext.java    |    3 +-
 .../plan/planner/LocalExecutionPlanner.java        |  137 +-
 .../plan/planner/LogicalPlanBuilder.java           |    1 +
 .../plan/planner/LogicalPlanVisitor.java           |    2 +-
 .../plan/planner/OperatorTreeGenerator.java        |    1 +
 .../plan/planner/TableOperatorGenerator.java       |  808 ++++++++--
 .../queryengine/plan/planner/TreeModelPlanner.java |    2 -
 .../SimpleFragmentParallelPlanner.java             |  121 +-
 .../distribution/WriteFragmentParallelPlanner.java |   10 +-
 .../ReplicaSetUnreachableException.java}           |   21 +-
 .../exceptions/RootFIPlacementException.java}      |   25 +-
 .../plan/AbstractFragmentParallelPlanner.java      |  168 +++
 .../plan/planner/plan/FragmentInstance.java        |    2 +-
 .../plan/planner/plan/PlanFragment.java            |   22 +-
 .../plan/planner/plan/node/PlanGraphPrinter.java   |   62 +-
 .../plan/planner/plan/node/PlanNodeType.java       |   13 +-
 .../plan/planner/plan/node/PlanVisitor.java        |   15 +
 .../plan/node/metadata/write/MeasurementGroup.java |   25 +-
 .../metadata/write/view/AlterLogicalViewNode.java  |    2 +-
 .../plan/node/process/AI/InferenceNode.java        |   18 +-
 .../plan/planner/plan/node/write/InsertNode.java   |    3 +-
 .../planner/plan/node/write/InsertTabletNode.java  |    6 +-
 .../plan/node/write/RelationalInsertRowNode.java   |    5 -
 .../node/write/RelationalInsertTabletNode.java     |   14 +-
 .../plan/parameter/AggregationDescriptor.java      |    2 +-
 .../plan/relational/analyzer/Analysis.java         |   27 +-
 .../relational/analyzer/ExpressionAnalyzer.java    |    8 +-
 .../relational/analyzer/ExpressionTreeUtils.java   |    2 +-
 .../relational/analyzer/StatementAnalyzer.java     | 1553 +++++++++++++++++++-
 .../analyzer/StatementAnalyzerFactory.java         |    4 +
 .../predicate/ConvertPredicateToFilterVisitor.java |    2 +-
 .../ConvertSchemaPredicateToFilterVisitor.java     |    4 +-
 .../analyzer/tablefunction/ArgumentAnalysis.java}  |   32 +-
 .../analyzer/tablefunction/ArgumentsAnalysis.java  |   52 +
 .../tablefunction/TableArgumentAnalysis.java       |  152 ++
 .../TableFunctionInvocationAnalysis.java           |   83 ++
 .../plan/relational/function/FunctionId.java       |    2 +
 .../function/TableBuiltinTableFunction.java        |   88 ++
 .../function/tvf/ForecastTableFunction.java        |  642 ++++++++
 .../relational/metadata/AlignedDeviceEntry.java    |   20 +-
 .../plan/relational/metadata/ColumnSchema.java     |   17 +-
 .../plan/relational/metadata/DeviceEntry.java      |   28 +-
 .../plan/relational/metadata/Metadata.java         |    6 +-
 ...DeviceEntry.java => NonAlignedDeviceEntry.java} |   24 +-
 .../plan/relational/metadata/ResolvedFunction.java |    1 -
 .../relational/metadata/TableMetadataImpl.java     |   77 +-
 .../plan/relational/metadata/TableSchema.java      |   60 +-
 .../relational/metadata/TreeDeviceViewSchema.java  |   26 +-
 .../fetcher/DeviceInCacheFilterVisitor.java        |   17 +-
 .../metadata/fetcher/SchemaPredicateUtil.java      |   30 +-
 .../metadata/fetcher/TableDeviceSchemaFetcher.java |  307 ++--
 .../fetcher/TableDeviceSchemaValidator.java        |    6 +-
 .../fetcher/TableHeaderSchemaValidator.java        |   75 +-
 .../fetcher/cache/TableAttributeSchema.java        |    6 +-
 .../fetcher/cache/TableDeviceLastCache.java        |    5 +-
 .../fetcher/cache/TableDeviceSchemaCache.java      |   43 +-
 .../planner/DataOrganizationSpecification.java     |  106 ++
 .../plan/relational/planner/QueryPlanner.java      |   20 +
 .../plan/relational/planner/RelationPlanner.java   |  297 +++-
 .../plan/relational/planner/SymbolAllocator.java   |    4 +
 .../relational/planner/TableLogicalPlanner.java    |   73 +-
 .../plan/relational/planner/TableModelPlanner.java |    9 -
 .../planner/distribute/AddExchangeNodes.java       |   36 +-
 .../distribute/TableDistributedPlanGenerator.java  |  436 +++++-
 .../distribute/TableDistributedPlanner.java        |   12 +-
 .../distribute/TableModelQueryFragmentPlanner.java |  170 +--
 .../TableModelTypeProviderExtractor.java           |    7 +
 .../plan/relational/planner/ir/IrUtils.java        |   20 +-
 .../rule/ImplementTableFunctionSource.java         |  135 ++
 .../iterative/rule/PruneExplainAnalyzeColumns.java |   49 +
 .../iterative/rule/PruneJoinChildrenColumns.java   |   10 +
 .../planner/iterative/rule/PruneJoinColumns.java   |    1 +
 .../rule/PruneTableFunctionProcessorColumns.java   |   88 ++
 .../PruneTableFunctionProcessorSourceColumns.java  |   98 ++
 .../iterative/rule/SimplifyCountOverConstant.java  |  145 ++
 .../rule/SingleDistinctAggregationToGroupBy.java   |    3 +-
 ...orrelatedDistinctAggregationWithProjection.java |    1 +
 ...elatedDistinctAggregationWithoutProjection.java |    1 +
 ...mCorrelatedGlobalAggregationWithProjection.java |    1 +
 ...rrelatedGlobalAggregationWithoutProjection.java |    1 +
 ...CorrelatedGroupedAggregationWithProjection.java |    1 +
 ...relatedGroupedAggregationWithoutProjection.java |    1 +
 .../rule/TransformCorrelatedJoinToJoin.java        |    1 +
 .../TransformFilteringSemiJoinToInnerJoin.java     |    1 +
 .../rule/TransformUncorrelatedSubqueryToJoin.java  |    1 +
 .../planner/node/AggregationTableScanNode.java     |   11 +-
 .../planner/node/DeviceTableScanNode.java          |    3 +-
 .../plan/relational/planner/node/ExchangeNode.java |    6 +-
 .../planner/node/ExplainAnalyzeNode.java           |   20 +-
 .../plan/relational/planner/node/GroupNode.java    |  104 ++
 .../plan/relational/planner/node/JoinNode.java     |  161 +-
 .../plan/relational/planner/node/OutputNode.java   |    2 +
 .../plan/relational/planner/node/Patterns.java     |   17 +-
 .../relational/planner/node/TableFunctionNode.java |  371 +++++
 .../planner/node/TableFunctionProcessorNode.java   |  295 ++++
 .../planner/node/TreeDeviceViewScanNode.java       |    4 +
 .../node/schema/AbstractTableDeviceQueryNode.java  |   82 +-
 .../schema/TableDeviceAttributeUpdateNode.java     |   52 +-
 .../node/schema/TableDeviceQueryCountNode.java     |   12 +-
 .../node/schema/TableDeviceQueryScanNode.java      |   27 +-
 .../DataNodeLocationSupplierFactory.java           |    5 +
 .../optimizations/LogicalOptimizeFactory.java      |   16 +-
 .../planner/optimizations/ParallelizeGrouping.java |  266 ++++
 .../PushLimitOffsetIntoTableScan.java              |   17 +
 .../optimizations/PushPredicateIntoTableScan.java  |   79 +-
 .../planner/optimizations/SymbolMapper.java        |    7 +
 .../TransformAggregationToStreamable.java          |   55 +-
 ...mQuantifiedComparisonApplyToCorrelatedJoin.java |   13 +-
 .../optimizations/TransformSortToStreamSort.java   |    6 +
 .../optimizations/UnaliasSymbolReferences.java     |  146 +-
 .../relational/planner/optimizations/Util.java     |    2 +-
 .../plan/relational/security/AccessControl.java    |   18 +-
 .../relational/security/AccessControlImpl.java     |   87 +-
 .../relational/security/AllowAllAccessControl.java |   13 +-
 .../relational/security/ITableAuthChecker.java     |    3 +
 .../relational/security/ITableAuthCheckerImpl.java |   18 +
 .../relational/security/TableModelPrivilege.java   |    5 -
 .../sql/ast/AbstractQueryDeviceWithCache.java      |   50 +-
 .../relational/sql/ast/AbstractTraverseDevice.java |   52 +-
 .../plan/relational/sql/ast/AddColumn.java         |   28 +-
 .../plan/relational/sql/ast/AsofJoinOn.java        |  163 ++
 .../plan/relational/sql/ast/AstVisitor.java        |   45 +
 .../plan/relational/sql/ast/ColumnDefinition.java  |   39 +-
 .../sql/ast/{DescribeTable.java => Columns.java}   |   54 +-
 .../plan/relational/sql/ast/CreateTable.java       |   12 +-
 .../plan/relational/sql/ast/CreateTableView.java   |   95 ++
 .../plan/relational/sql/ast/CreateTraining.java    |  156 ++
 .../sql/ast/DefaultTraversalVisitor.java           |   17 +-
 .../plan/relational/sql/ast/DeleteDevice.java      |   38 +-
 .../plan/relational/sql/ast/DescribeTable.java     |   27 +-
 .../plan/relational/sql/ast/DropColumn.java        |   15 +-
 .../plan/relational/sql/ast/DropTable.java         |   17 +-
 .../plan/relational/sql/ast/Expression.java        |    3 +
 .../plan/relational/sql/ast/JoinOn.java            |   11 +-
 .../plan/relational/sql/ast/LoadTsFile.java        |   91 +-
 .../plan/relational/sql/ast/RenameColumn.java      |   19 +-
 .../plan/relational/sql/ast/RenameTable.java       |   29 +-
 .../queryengine/plan/relational/sql/ast/Row.java   |   33 +
 .../ast/{DropColumn.java => SetColumnComment.java} |   26 +-
 .../plan/relational/sql/ast/SetProperties.java     |   15 +-
 .../{DescribeTable.java => SetTableComment.java}   |   71 +-
 .../plan/relational/sql/ast/ShowDevice.java        |   32 +-
 .../sql/ast/{JoinOn.java => ShowModels.java}       |   50 +-
 .../relational/sql/ast/ShowQueriesStatement.java   |   27 +-
 .../plan/relational/sql/ast/ShowRegions.java       |   43 +-
 .../plan/relational/sql/ast/SingleColumn.java      |   21 +
 .../relational/sql/ast/TableExpressionType.java    |    3 +-
 .../relational/sql/ast/TableFunctionArgument.java  |   92 ++
 .../sql/ast/TableFunctionInvocation.java           |   92 ++
 .../sql/ast/TableFunctionTableArgument.java        |  119 ++
 .../queryengine/plan/relational/sql/ast/Trim.java  |    2 +-
 .../relational/sql/ast/ViewFieldDefinition.java    |   68 +
 .../plan/relational/sql/parser/AstBuilder.java     |  602 +++++++-
 .../plan/relational/sql/rewrite/ShowRewrite.java   |   26 +-
 .../sql/rewrite/StatementRewriteFactory.java       |    6 +-
 .../plan/relational/sql/util/AstUtil.java          |   22 +
 .../relational/sql/util/ExpressionFormatter.java   |    6 +
 .../relational/sql/util/ReservedIdentifiers.java   |    4 +-
 .../plan/relational/sql/util/SqlFormatter.java     |  174 ++-
 .../plan/scheduler/AsyncPlanNodeSender.java        |   21 +-
 .../plan/scheduler/AsyncSendPlanNodeHandler.java   |    2 +-
 .../plan/scheduler/ClusterScheduler.java           |    5 -
 .../FailedFragmentInstanceWithStatus.java}         |   24 +-
 .../scheduler/FragmentInstanceDispatcherImpl.java  |  297 ++--
 .../scheduler/load/LoadTsFileDispatcherImpl.java   |   11 +-
 .../plan/scheduler/load/LoadTsFileScheduler.java   |  118 +-
 .../plan/statement/StatementVisitor.java           |    5 +
 .../plan/statement/crud/DeleteDataStatement.java   |    3 +-
 .../plan/statement/crud/InsertBaseStatement.java   |   48 +-
 .../crud/InsertMultiTabletsStatement.java          |   16 +
 .../plan/statement/crud/InsertRowStatement.java    |   13 +
 .../crud/InsertRowsOfOneDeviceStatement.java       |   16 +
 .../plan/statement/crud/InsertRowsStatement.java   |   16 +
 .../plan/statement/crud/InsertStatement.java       |    2 +-
 .../plan/statement/crud/InsertTabletStatement.java |   18 +
 .../plan/statement/crud/LoadTsFileStatement.java   |   90 +-
 .../plan/statement/crud/QueryStatement.java        |    9 +
 .../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/ShowRegionStatement.java    |   29 +-
 .../metadata/model/CreateTrainingStatement.java    |  140 ++
 .../metadata/pipe/AlterPipeStatement.java          |    9 +
 .../metadata/pipe/CreatePipePluginStatement.java   |   10 +
 .../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            |   10 +-
 .../dag/column/leaf/ConstantColumnTransformer.java |    2 +-
 .../multi/BooleanGreatestColumnTransformer.java    |    2 +-
 .../multi/BooleanLeastColumnTransformer.java       |    2 +-
 .../unary/scalar/FormatColumnTransformer.java      |    4 +-
 .../dag/udf/UDAFInformationInferrer.java           |    2 +-
 .../transformation/dag/udf/UDTFExecutor.java       |    2 +-
 .../dag/udf/UDTFInformationInferrer.java           |    2 +-
 .../apache/iotdb/db/schemaengine/SchemaEngine.java |    4 +-
 .../metric/SchemaEngineCachedMetric.java           |    5 +-
 .../rescon/ISchemaRegionStatistics.java            |    2 +
 .../rescon/MemSchemaEngineStatistics.java          |   41 +-
 .../rescon/MemSchemaRegionStatistics.java          |   16 +
 .../attribute/DeviceAttributeStore.java            |   48 +-
 .../attribute/IDeviceAttributeStore.java           |   16 +-
 .../update/DeviceAttributeCacheUpdater.java        |    2 +-
 .../GeneralRegionAttributeSecurityService.java     |  169 +--
 .../attribute/update/UpdateDetailContainer.java    |    2 +-
 .../schemaregion/impl/SchemaRegionMemoryImpl.java  |   81 +-
 .../mtree/impl/mem/MTreeBelowSGMemoryImpl.java     |    2 +-
 .../ReleaseFlushStrategySizeBasedImpl.java         |    6 +-
 .../read/resp/info/impl/ShowDevicesResult.java     |   18 +-
 .../read/resp/info/impl/TimeseriesSchemaInfo.java  |   10 +-
 .../schemaengine/schemaregion/tag/TagManager.java  |   20 +-
 .../schemaregion/utils/ResourceByPathUtils.java    |   12 +-
 .../utils/filter/DeviceFilterVisitor.java          |    4 +-
 .../db/schemaengine/table/DataNodeTableCache.java  |   46 +-
 .../table/DataNodeTreeViewSchemaUtils.java         |   53 +
 .../schemaengine/table/InformationSchemaUtils.java |   12 +
 .../template/TemplateInternalRPCUpdateType.java    |    4 +-
 .../java/org/apache/iotdb/db/service/DataNode.java |    2 +-
 .../iotdb/db/service/RegionMigrateService.java     |   67 +
 .../db/service/metrics/CompactionMetrics.java      |    2 +-
 .../iotdb/db/service/metrics/FileMetrics.java      |   10 +
 .../iotdb/db/service/metrics/WritingMetrics.java   |   40 +-
 .../db/service/metrics/file/ModsFileMetrics.java   |    4 +-
 .../metrics/memory/ConsensusMemoryMetrics.java     |   50 +-
 .../metrics/memory/GlobalMemoryMetrics.java        |   82 +-
 .../metrics/memory/OffHeapMemoryMetrics.java       |  102 ++
 .../metrics/memory/QueryEngineMemoryMetrics.java   |  281 ++--
 .../metrics/memory/SchemaEngineMemoryMetrics.java  |  159 +-
 .../metrics/memory/StorageEngineMemoryMetrics.java |  467 ++++--
 .../metrics/memory/StreamEngineMemoryMetrics.java  |   50 +-
 .../iotdb/db/storageengine/StorageEngine.java      |    2 +
 .../db/storageengine/buffer/BloomFilterCache.java  |   27 +-
 .../iotdb/db/storageengine/buffer/ChunkCache.java  |   27 +-
 .../buffer/TimeSeriesMetadataCache.java            |   50 +-
 .../db/storageengine/dataregion/DataRegion.java    |  122 +-
 .../storageengine/dataregion/DataRegionInfo.java   |    6 +-
 .../dataregion/VirtualDataRegion.java              |    2 +-
 .../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       |   13 +
 .../execute/task/CrossSpaceCompactionTask.java     |    2 +-
 .../execute/task/InnerSpaceCompactionTask.java     |   20 +-
 .../task/InsertionCrossSpaceCompactionTask.java    |   10 +-
 .../task/RepairUnsortedFileCompactionTask.java     |    2 +-
 .../execute/utils/CompactionPathUtils.java         |   20 +-
 .../execute/utils/CompactionTableSchema.java       |    2 +-
 .../compaction/execute/utils/CompactionUtils.java  |   12 +-
 .../execute/utils/MultiTsFileDeviceIterator.java   |   15 +-
 .../fast/FastAlignedSeriesCompactionExecutor.java  |    8 +-
 .../FastNonAlignedSeriesCompactionExecutor.java    |    5 +-
 .../executor/fast/SeriesCompactionExecutor.java    |    7 +-
 .../ReadChunkAlignedSeriesCompactionExecutor.java  |    5 +-
 .../writer/AbstractCrossCompactionWriter.java      |   25 +-
 .../utils/writer/FastCrossCompactionWriter.java    |   12 +
 .../compaction/io/CompactionTsFileWriter.java      |    2 +-
 .../compaction/repair/RepairDataFileScanUtil.java  |    6 +-
 .../compaction/schedule/CompactionScheduler.java   |   16 +-
 .../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 +-
 .../selector/impl/SettleSelectorImpl.java          |  106 +-
 .../dataregion/flush/MemTableFlushTask.java        |   25 +-
 .../dataregion/memtable/AbstractMemTable.java      |   14 +-
 .../memtable/AbstractWritableMemChunk.java         |  219 +++
 .../memtable/AlignedReadOnlyMemChunk.java          |  408 ++---
 .../memtable/AlignedWritableMemChunk.java          |  355 ++---
 .../memtable/AlignedWritableMemChunkGroup.java     |    5 -
 .../dataregion/memtable/IMemTable.java             |    2 -
 .../dataregion/memtable/IWritableMemChunk.java     |   34 +-
 .../memtable/IWritableMemChunkGroup.java           |    2 -
 .../dataregion/memtable/ReadOnlyMemChunk.java      |  175 ++-
 .../dataregion/memtable/TsFileProcessor.java       |  105 +-
 .../dataregion/memtable/WritableMemChunk.java      |  434 ++----
 .../dataregion/memtable/WritableMemChunkGroup.java |    8 -
 .../dataregion/modification/TreeDeletionEntry.java |    6 +-
 .../read/reader/chunk/MemAlignedChunkReader.java   |  226 +--
 .../read/reader/chunk/MemAlignedPageReader.java    |   22 +-
 .../read/reader/chunk/MemChunkReader.java          |  111 +-
 .../read/reader/chunk/MemPageReader.java           |   23 +-
 .../dataregion/tsfile/TsFileResource.java          |   78 +-
 .../dataregion/tsfile/TsFileResourceBlockType.java |    3 +
 .../tsfile/timeindex/ArrayDeviceTimeIndex.java     |   15 +-
 .../dataregion/tsfile/timeindex/FileTimeIndex.java |    2 +-
 .../storageengine/dataregion/wal/WALManager.java   |    5 +-
 .../dataregion/wal/buffer/IWALBuffer.java          |   10 +
 .../dataregion/wal/buffer/WALBuffer.java           |   22 +-
 .../dataregion/wal/io/WALInputStream.java          |    2 +
 .../storageengine/dataregion/wal/node/WALNode.java |    8 +-
 .../wal/recover/file/TsFilePlanRedoer.java         |   27 +-
 .../wal/utils/MemoryControlledWALEntryQueue.java   |   23 +-
 .../dataregion/wal/utils/WALEntryHandler.java      |   12 +-
 .../dataregion/wal/utils/WALEntryPosition.java     |    4 +-
 .../dataregion/wal/utils/WALInsertNodeCache.java   |   22 +-
 .../load/active/ActiveLoadTsFileLoader.java        |  102 +-
 .../load/config/LoadTsFileConfigurator.java        |   34 +
 ...ertedInsertTabletStatementExceptionVisitor.java |    5 +
 ...vertedInsertTabletStatementTSStatusVisitor.java |    7 +
 ...leStatementDataTypeConvertExecutionVisitor.java |   16 +-
 ...eeStatementDataTypeConvertExecutionVisitor.java |  200 ++-
 .../storageengine/load/disk/ILoadDiskSelector.java |   66 +
 .../InheritSystemMultiDisksStrategySelector.java   |   58 +
 .../db/storageengine/load/disk/MinIOSelector.java  |  112 ++
 .../memory/LoadTsFileDataCacheMemoryBlock.java     |    4 +-
 ...MemoryBlock.java => LoadTsFileMemoryBlock.java} |   15 +-
 .../load/memory/LoadTsFileMemoryManager.java       |   38 +-
 .../load/metrics/LoadTsFileCostMetricsSet.java     |   43 +-
 .../load/metrics/LoadTsFileMemMetricSet.java       |    6 +-
 .../db/storageengine/rescon/disk/TierManager.java  |    2 +-
 .../rescon/memory/PrimitiveArrayManager.java       |   23 +-
 .../db/storageengine/rescon/memory/SystemInfo.java |  187 +--
 .../rescon/memory/TimePartitionManager.java        |   31 +-
 .../rescon/memory/TsFileResourceManager.java       |   40 +-
 .../agent/SubscriptionBrokerAgent.java             |   29 +-
 .../broker/SubscriptionBlockingPendingQueue.java   |    4 +
 .../db/subscription/broker/SubscriptionBroker.java |   44 +-
 .../broker/SubscriptionPrefetchingQueue.java       |   60 +-
 .../broker/SubscriptionPrefetchingQueueStates.java |    2 +-
 .../broker/SubscriptionPrefetchingTabletQueue.java |   10 +
 .../broker/SubscriptionPrefetchingTsFileQueue.java |   13 +
 .../TsFileDeduplicationBlockingPendingQueue.java   |   10 +
 .../db/subscription/event/SubscriptionEvent.java   |    4 +-
 .../batch/SubscriptionPipeTabletEventBatch.java    |   71 +-
 .../SubscriptionPipeTabletIterationSnapshot.java   |   48 +-
 .../batch/SubscriptionPipeTsFileEventBatch.java    |   10 +-
 .../event/cache/SubscriptionPollResponseCache.java |    4 +-
 .../pipe/SubscriptionPipeTsFileBatchEvents.java    |   16 +-
 .../response/SubscriptionEventTabletResponse.java  |   20 +-
 .../response/SubscriptionEventTsFileResponse.java  |    9 +-
 .../receiver/SubscriptionReceiverV1.java           |   76 +-
 .../SubscriptionDataNodeResourceManager.java}      |   37 +-
 .../resource/log/SubscriptionLogManager.java}      |   26 +-
 .../resource/log/SubscriptionLogStatus.java        |   82 ++
 .../SubscriptionConnectorSubtaskManager.java       |    2 +-
 .../db/tools/schema/SRStatementGenerator.java      |   33 +-
 .../org/apache/iotdb/db/utils/DateTimeUtils.java   |   35 +-
 .../iotdb/db/utils/EncodingInferenceUtils.java     |    1 +
 .../apache/iotdb/db/utils/ErrorHandlingUtils.java  |   12 +-
 .../apache/iotdb/db/utils/ModificationUtils.java   |   23 +-
 .../iotdb/db/utils/constant/SqlConstant.java       |    2 +
 .../db/utils/datastructure/AlignedTVList.java      |  663 +++++++--
 .../db/utils/datastructure/BatchEncodeInfo.java    |   60 +
 .../iotdb/db/utils/datastructure/BinaryTVList.java |    4 +-
 .../db/utils/datastructure/BooleanTVList.java      |    4 +-
 .../iotdb/db/utils/datastructure/DoubleTVList.java |    4 +-
 .../datastructure/FixedPriorityBlockingQueue.java  |    2 +-
 .../iotdb/db/utils/datastructure/FloatTVList.java  |    4 +-
 .../iotdb/db/utils/datastructure/IntTVList.java    |    4 +-
 .../iotdb/db/utils/datastructure/LongTVList.java   |    4 +-
 .../datastructure/MemPointIterator.java}           |   18 +-
 .../datastructure/MemPointIteratorFactory.java     |  455 ++++++
 .../MergeSortAlignedTVListIterator.java            |  242 ---
 .../MergeSortMultiAlignedTVListIterator.java       |  266 ++++
 .../MergeSortMultiTVListIterator.java              |  151 ++
 .../datastructure/MergeSortTvListIterator.java     |  162 --
 .../datastructure/MultiAlignedTVListIterator.java  |  238 +++
 .../utils/datastructure/MultiTVListIterator.java   |  177 +++
 .../OrderedMultiAlignedTVListIterator.java         |  133 ++
 .../datastructure/OrderedMultiTVListIterator.java  |   78 +
 .../iotdb/db/utils/datastructure/TVList.java       |  346 ++++-
 .../cache/dualkeycache/DualKeyCacheTest.java       |  171 ---
 .../SchemaRegionSimpleRecoverTest.java             |    4 +-
 .../schemaRegion/SchemaRegionTableDeviceTest.java  |   27 +-
 .../schemaRegion/SchemaRegionTestUtil.java         |    7 +-
 .../pipe/connector/PipeTabletEventSorterTest.java  |   21 +-
 .../db/pipe/consensus/DeletionResourceTest.java    |   45 +-
 .../pipe/event/TsFileInsertionEventParserTest.java |    5 +-
 .../db/pipe/extractor/PipeRealtimeExtractTest.java |    5 +
 .../pattern/CachedSchemaPatternMatcherTest.java    |   53 +-
 .../execution/exchange/LocalSinkChannelTest.java   |    7 +-
 .../exchange/MPPDataExchangeManagerTest.java       |    7 +-
 .../execution/exchange/SharedTsBlockQueueTest.java |    4 +-
 .../execution/exchange/ShuffleSinkHandleTest.java  |    4 +-
 .../execution/exchange/SinkChannelTest.java        |    7 +-
 .../execution/exchange/SourceHandleTest.java       |   15 +-
 .../execution/memory/MemoryPoolTest.java           |    6 +-
 .../operator/DeviceIteratorScanOperatorTest.java   |  228 +++
 ...nAlignedTreeDeviceViewScanOperatorTreeTest.java |  650 ++++++++
 .../execution/operator/OperatorMemoryTest.java     |    2 -
 .../TreeToTableViewAdaptorOperatorTest.java        |  237 +++
 .../process/tvf/TableFunctionOperatorTest.java     |  304 ++++
 .../plan/analyze/cache/PartitionCacheTest.java     |    5 +-
 .../db/queryengine/plan/function/Exclude.java      |   98 ++
 .../iotdb/db/queryengine/plan/function/Repeat.java |  118 ++
 .../iotdb/db/queryengine/plan/function/Split.java  |  117 ++
 .../plan/parser/StatementGeneratorTest.java        |   11 +-
 .../analyzer/AggregationCornerCaseTest.java        |  502 +++++++
 .../plan/relational/analyzer/AggregationTest.java  |  350 ++---
 .../plan/relational/analyzer/AnalyzerTest.java     |  160 +-
 .../analyzer/AsofInnerJoinOperatorTest.java        |  665 +++++++++
 .../plan/relational/analyzer/AsofJoinTest.java     |  282 ++++
 .../plan/relational/analyzer/AuthTest.java         |    4 +-
 .../plan/relational/analyzer/DistinctTest.java     |   48 +-
 .../relational/analyzer/ExplainAnalyzeTest.java    |   43 +
 .../plan/relational/analyzer/JoinTest.java         |  109 +-
 .../analyzer/LimitOffsetPushDownTest.java          |  185 +--
 .../analyzer/MockTableModelDataPartition.java      |   63 +-
 .../plan/relational/analyzer/SortTest.java         |  290 ++--
 .../plan/relational/analyzer/SubQueryTest.java     |   44 +-
 .../plan/relational/analyzer/TSBSMetadata.java     |   77 +-
 .../relational/analyzer/TableFunctionTest.java     |  335 +++++
 .../{TestMatadata.java => TestMetadata.java}       |  154 +-
 .../plan/relational/analyzer/TestUtils.java        |   28 +-
 .../plan/relational/analyzer/TreeViewTest.java     |   76 +-
 .../fetcher/cache/TableDeviceSchemaCacheTest.java  |   21 +-
 .../plan/relational/planner/ExampleTest.java       |   34 +-
 .../plan/relational/planner/PlanTester.java        |   21 +-
 .../relational/planner/PredicateUtilsTest.java     |    4 +-
 .../planner/UncorrelatedSubqueryTest.java          |  164 +--
 .../planner/assertions/AsofJoinClauseProvider.java |   55 +
 .../planner/assertions/ExchangeNodeMatcher.java    |    8 +-
 .../relational/planner/assertions/JoinMatcher.java |   32 +-
 .../relational/planner/assertions/PlanAssert.java  |    6 +-
 .../planner/assertions/PlanMatchPattern.java       |   48 +-
 .../planner/assertions/PlanMatchingVisitor.java    |   12 +-
 .../planner/assertions/SpecificationProvider.java  |   79 +
 .../assertions/TableFunctionProcessorMatcher.java  |  147 ++
 .../relational/sql/parser/AuthorStatementTest.java |    5 -
 .../org/apache/iotdb/db/script/EnvScriptIT.java    |   12 +-
 .../compaction/AbstractCompactionTest.java         |    4 +-
 .../compaction/CompactionWithMinTimestampTest.java |  136 ++
 .../compaction/CompactionWorkerTest.java           |   16 +-
 .../FastCrossCompactionPerformerTest.java          |   83 +-
 .../compaction/ReadChunkInnerCompactionTest.java   |   70 +
 .../cross/CrossSpaceCompactionSelectorTest.java    |    5 +-
 ...eCrossSpaceCompactionWithFastPerformerTest.java |   14 +-
 ...sSpaceCompactionWithReadPointPerformerTest.java |   12 -
 ...atchedAlignedSeriesReadChunkCompactionTest.java |    2 +-
 .../InnerSeqCompactionWithFastPerformerTest.java   |    7 +-
 ...nerSeqCompactionWithReadChunkPerformerTest.java |    7 +-
 .../settle/SettleCompactionSelectorTest.java       |   20 +-
 .../CompactionTableModelTestFileWriter.java        |   16 +-
 .../CompactionTableSchemaCollectorTest.java        |    2 +-
 .../compaction/utils/CompactionClearUtils.java     |    2 +-
 .../utils/CompactionTaskMemCostEstimatorTest.java  |   87 +-
 .../compaction/utils/CompactionTaskQueueTest.java  |   13 +-
 .../dataregion/memtable/PrimitiveMemTableTest.java |   88 ++
 .../dataregion/memtable/TsFileProcessorTest.java   |   28 +-
 .../reader/chunk/AlignedMemPageReaderTest.java     |    8 +-
 .../reader/chunk/MemAlignedChunkLoaderTest.java    |   15 +-
 .../read/reader/chunk/MemChunkLoaderTest.java      |   65 +-
 .../read/reader/chunk/MemPageReaderTest.java       |    4 +-
 .../wal/compression/WALCompressionTest.java        |   45 +-
 .../wal/recover/file/TsFilePlanRedoerTest.java     |   69 +
 .../rescon/memory/ResourceManagerTest.java         |   85 +-
 .../rescon/memory/TimePartitionManagerTest.java    |    8 +-
 .../apache/iotdb/db/utils/EnvironmentUtils.java    |    7 +-
 .../datastructure/PrimitiveArrayManagerTest.java   |    8 +-
 iotdb-core/metrics/core/pom.xml                    |    4 +-
 iotdb-core/metrics/interface/pom.xml               |   13 +-
 .../apache/iotdb/metrics/config/MetricConfig.java  |   38 +
 .../metrics/config/MetricConfigDescriptor.java     |   19 +
 .../reporter/prometheus/PrometheusReporter.java    |   62 +-
 .../apache/iotdb/metrics/utils/FileStoreUtils.java |    2 +-
 iotdb-core/metrics/pom.xml                         |    2 +-
 iotdb-core/node-commons/pom.xml                    |   24 +-
 .../conf/iotdb-system.properties.template          |   75 +-
 .../commons/auth/authorizer/BasicAuthorizer.java   |   35 +-
 .../iotdb/commons/auth/authorizer/IAuthorizer.java |   10 +-
 .../iotdb/commons/auth/entity/PrivilegeType.java   |    2 +-
 .../org/apache/iotdb/commons/auth/entity/Role.java |    4 +
 .../iotdb/commons/auth/user/BasicUserManager.java  |   12 +-
 .../iotdb/commons/client/ClientPoolFactory.java    |    1 +
 .../iotdb/commons/client/ainode/AINodeClient.java  |   40 +
 .../container/PipeConsensusClientMgrContainer.java |   20 +-
 .../client/request/AsyncRequestManager.java        |   10 +-
 .../DataNodeIntraHeartbeatRequestManager.java      |   44 +
 .../client/request/TestConnectionUtils.java        |    3 +-
 .../iotdb/commons/concurrent/ThreadName.java       |   19 +-
 .../iotdb/commons/concurrent/WrappedRunnable.java  |    4 +-
 .../apache/iotdb/commons/conf/CommonConfig.java    |  632 +++++++-
 .../iotdb/commons/conf/CommonDescriptor.java       |  449 +-----
 .../consensus/index/impl/HybridProgressIndex.java  |    4 +-
 .../exception/QuerySchemaFetchFailedException.java |   19 +-
 .../commons/memory/AtomicLongMemoryBlock.java      |  152 ++
 .../apache/iotdb/commons/memory/IMemoryBlock.java  |  135 ++
 .../iotdb/commons/memory/MemoryBlockType.java}     |   12 +-
 .../apache/iotdb/commons/memory/MemoryConfig.java  |   28 +-
 .../iotdb/commons/memory/MemoryException.java}     |   50 +-
 .../apache/iotdb/commons/memory/MemoryManager.java |  523 +++++++
 .../iotdb/commons/model/ModelInformation.java      |   20 +
 .../apache/iotdb/commons/model/ModelStatus.java    |    1 +
 .../iotdb/commons/partition/ExecutorType.java      |    8 +-
 .../iotdb/commons/partition/QueryExecutor.java     |    8 +-
 .../iotdb/commons/partition/StorageExecutor.java   |   10 +-
 .../iotdb/commons/path/ExtendedPartialPath.java    |   14 +-
 .../apache/iotdb/commons/path/MeasurementPath.java |    4 +
 .../org/apache/iotdb/commons/path/PartialPath.java |    8 +-
 .../apache/iotdb/commons/path/PathPatternTree.java |   34 +-
 .../iotdb/commons/path/fa/nfa/SimpleNFA.java       |    5 +-
 .../agent/plugin/builtin/BuiltinPipePlugin.java    |    1 -
 .../commons/pipe/agent/task/PipeTaskAgent.java     |   17 +-
 .../task/connection/BlockingPendingQueue.java      |   17 +-
 .../agent/task/execution/PipeSubtaskScheduler.java |   15 +-
 .../pipe/agent/task/meta/PipeStaticMeta.java       |    4 +
 .../agent/task/progress/PipeEventCommitter.java    |   28 +-
 .../task/subtask/PipeAbstractConnectorSubtask.java |    4 +-
 .../agent/task/subtask/PipeReportableSubtask.java  |   13 +-
 .../iotdb/commons/pipe/config/PipeConfig.java      |   78 +-
 .../config/PipeDescriptor.java}                    |  763 ++++------
 .../config/constant/PipeConnectorConstant.java     |    7 +
 .../config/constant/PipeExtractorConstant.java     |   12 +
 .../env/PipeTaskConnectorRuntimeEnvironment.java   |   12 +-
 .../pipe/connector/protocol/IoTDBConnector.java    |   65 +-
 .../options/PipeInclusionOptions.java              |  117 +-
 .../pipe/datastructure/pattern/TablePattern.java   |    2 +
 .../queue/ConcurrentIterableLinkedQueue.java       |   30 +
 .../iotdb/commons/pipe/event/EnrichedEvent.java    |   28 +
 .../commons/pipe/event/PipeSnapshotEvent.java      |    4 +
 .../commons/pipe/event/PipeWritePlanEvent.java     |    4 +
 .../commons/pipe/event/ProgressReportEvent.java    |   25 +-
 .../commons/pipe/extractor/IoTDBExtractor.java     |   63 +-
 .../extractor/IoTDBNonDataRegionExtractor.java     |   74 +-
 .../commons/pipe/receiver/IoTDBFileReceiver.java   |   47 +-
 .../pipe/receiver/PipeReceiverStatusHandler.java   |    8 +
 .../schema/column/ColumnHeaderConstant.java        |   37 +-
 .../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 +-
 .../table/AlterOrDropTableOperationType.java       |    8 +-
 .../commons/schema/table/InformationSchema.java    |   75 +
 .../commons/schema/table/TableNodeStatus.java      |   14 +
 .../iotdb/commons/schema/table/TableType.java      |   21 +-
 .../iotdb/commons/schema/table/TreeViewSchema.java |   97 ++
 .../apache/iotdb/commons/schema/table/TsTable.java |   79 +-
 .../schema/table/column/FieldColumnSchema.java     |    7 +-
 .../schema/table/column/TsTableColumnCategory.java |   22 +-
 .../schema/table/column/TsTableColumnSchema.java   |    4 -
 .../apache/iotdb/commons/schema/ttl/TTLCache.java  |   23 +-
 .../commons/schema/view/LogicalViewSchema.java     |   13 +-
 .../multi/FunctionViewExpression.java              |   14 +
 .../viewExpression/unary/LikeViewExpression.java   |   84 +-
 .../AbstractPeriodicalServiceWithAdvance.java      |   93 ++
 .../service/AbstractThriftServiceThread.java       |   20 +-
 .../apache/iotdb/commons/service/ServiceType.java  |    1 +
 .../iotdb/commons/service/ThriftServiceThread.java |    2 -
 .../iotdb/commons/service/metric/enums/Metric.java |   12 +
 .../subscription/config/SubscriptionConfig.java    |   33 +
 .../meta/consumer/ConsumerGroupMeta.java           |   49 +
 .../subscription/meta/consumer/ConsumerMeta.java   |   12 +
 .../commons/subscription/meta/topic/TopicMeta.java |    6 +-
 .../iotdb/commons/udf/access/RecordIterator.java   |  141 +-
 .../TableBuiltinAggregationFunction.java           |    2 +
 .../relational/tvf/CapacityTableFunction.java      |  132 ++
 .../relational/tvf/CumulateTableFunction.java      |  176 +++
 .../builtin/relational/tvf/HOPTableFunction.java   |  170 +++
 .../relational/tvf/SessionTableFunction.java       |  155 ++
 .../relational/tvf/TumbleTableFunction.java        |  154 ++
 .../relational/tvf/VariationTableFunction.java     |  159 ++
 .../udf/builtin/relational/tvf/WindowTVFUtils.java |   55 +
 .../org/apache/iotdb/commons/utils/FileUtils.java  |  139 +-
 .../apache/iotdb/commons/utils/JVMCommonUtils.java |    2 +-
 .../org/apache/iotdb/commons/utils/RetryUtils.java |    8 +
 .../apache/iotdb/commons/utils/StatusUtils.java    |    8 +-
 .../iotdb/commons/utils/TimePartitionUtils.java    |    7 +-
 .../iotdb/commons/memory/MemoryBlockTest.java      |   67 +
 .../iotdb/commons/memory/MemoryManagerTest.java    |  171 +++
 .../ConcurrentIterableLinkedQueueTest.java         |    1 +
 .../schema/LikeViewExpreesionSerDeTest.java        |   48 +
 .../commons/schema/SchemaFilterSerDeTest.java      |    8 +-
 iotdb-core/pom.xml                                 |    2 +-
 iotdb-core/relational-grammar/pom.xml              |    2 +-
 .../db/relational/grammar/sql/RelationalSql.g4     |  174 ++-
 .../grammar/sql/RelationalSqlKeywords.java         |    8 +-
 iotdb-doap.rdf                                     |   16 +
 iotdb-protocol/openapi/pom.xml                     |    2 +-
 iotdb-protocol/pom.xml                             |    2 +-
 iotdb-protocol/thrift-ainode/pom.xml               |    4 +-
 .../thrift-ainode/src/main/thrift/ainode.thrift    |   30 +
 iotdb-protocol/thrift-commons/pom.xml              |    2 +-
 .../thrift-commons/src/main/thrift/common.thrift   |    4 +-
 iotdb-protocol/thrift-confignode/pom.xml           |    4 +-
 .../src/main/thrift/confignode.thrift              |   57 +-
 iotdb-protocol/thrift-consensus/pom.xml            |    4 +-
 .../src/main/thrift/pipeconsensus.thrift           |    3 +-
 iotdb-protocol/thrift-datanode/pom.xml             |    4 +-
 .../src/main/thrift/datanode.thrift                |   38 +
 library-udf/pom.xml                                |    4 +-
 library-udf/src/assembly/tools/register-UDF.bat    |  110 +-
 pom.xml                                            |   19 +-
 .../resources => scripts}/conf/ainode-env.sh       |    0
 .../resources => scripts}/conf/confignode-env.sh   |   21 +-
 .../resources => scripts}/conf/datanode-env.sh     |   27 +-
 .../sbin => scripts/conf}/iotdb-common.sh          |    0
 .../conf => scripts/conf/windows}/ainode-env.bat   |   11 +-
 .../conf/windows}/confignode-env.bat               |   16 +-
 .../conf => scripts/conf/windows}/datanode-env.bat |   16 +-
 .../sbin => scripts/sbin/cluster}/start-all.sh     |    2 +-
 .../sbin => scripts/sbin/cluster}/stop-all.sh      |    2 +-
 .../resources => scripts}/sbin/start-ainode.sh     |   17 +-
 .../resources => scripts}/sbin/start-cli.sh        |    4 -
 .../resources => scripts}/sbin/start-confignode.sh |    2 +-
 .../resources => scripts}/sbin/start-datanode.sh   |    2 +-
 .../resources => scripts}/sbin/start-standalone.sh |    0
 .../resources => scripts}/sbin/stop-ainode.sh      |    0
 .../resources => scripts}/sbin/stop-confignode.sh  |    6 +-
 .../resources => scripts}/sbin/stop-datanode.sh    |    6 +-
 .../resources => scripts}/sbin/stop-standalone.sh  |    0
 .../sbin => scripts/sbin/windows}/start-ainode.bat |   12 +-
 .../sbin/windows/start-cli-table.bat               |    7 +-
 .../sbin => scripts/sbin/windows}/start-cli.bat    |    5 +-
 .../sbin/windows}/start-confignode.bat             |   10 +-
 .../sbin/windows}/start-datanode.bat               |   16 +-
 .../sbin/windows}/start-standalone.bat             |   12 +-
 .../sbin => scripts/sbin/windows}/stop-ainode.bat  |    8 +-
 .../sbin/windows}/stop-confignode.bat              |   38 +-
 .../sbin/windows}/stop-datanode.bat                |   36 +-
 .../sbin/windows}/stop-standalone.bat              |   10 +-
 .../resources => scripts}/tools/export-data.sh     |    0
 .../resources => scripts}/tools/export-tsfile.sh   |    0
 .../resources => scripts}/tools/import-data.sh     |    0
 .../tools => scripts/tools/ops}/backup.sh          |    2 +-
 .../tools => scripts/tools/ops}/collect-info.sh    |    2 +-
 .../tools/ops}/daemon-confignode.sh                |    2 +-
 .../sbin => scripts/tools/ops}/daemon-datanode.sh  |    2 +-
 .../sbin => scripts/tools/ops}/destroy-all.sh      |   18 +-
 .../tools/ops}/destroy-confignode.sh               |    2 +-
 .../sbin => scripts/tools/ops}/destroy-datanode.sh |    2 +-
 .../sbin => scripts/tools/ops}/health_check.sh     |    4 +-
 .../sbin => scripts/tools/ops}/remove-ainode.sh    |   23 +-
 .../tools/schema}/export-schema.sh                 |    2 +-
 .../tools/schema}/import-schema.sh                 |    2 +-
 .../tools/schema/print-pb-tree-file.sh             |    2 +-
 .../tools/schema/print-schema-log.sh               |    2 +-
 .../check-overlap-sequence-files-and-repair.sh     |    2 +-
 .../tools/tsfile/overlap-statistic-tool.sh         |    2 +-
 .../tools/tsfile/print-iotdb-data-dir.sh           |    2 +-
 .../tools/tsfile/print-tsfile-resource-files.sh    |    2 +-
 .../tools/tsfile/print-tsfile.sh                   |    2 +-
 .../tools/tsfile/settle-tsfile.sh                  |    0
 .../tools/tsfile/split-tsfile-tool.sh              |    2 +-
 .../tools/tsfile/validate-tsfile.sh                |    2 +-
 .../tools/windows}/export-data.bat                 |    2 +-
 .../tools/windows}/export-tsfile.bat               |    4 +-
 .../tools/windows}/import-data.bat                 |    2 +-
 .../tools => scripts/tools/windows/ops}/backup.bat |   13 +-
 .../tools/windows/ops}/collect-info.bat            |    8 +-
 .../tools/windows/ops}/destroy-all.bat             |    8 +-
 .../tools/windows/ops}/destroy-confignode.bat      |    4 +-
 .../tools/windows/ops}/destroy-datanode.bat        |    4 +-
 .../tools/windows/ops}/health_check.bat            |   47 +-
 .../tools/windows/ops}/remove-ainode.bat           |   20 +-
 .../tools/windows/schema}/export-schema.bat        |    2 +-
 .../tools/windows/schema}/import-schema.bat        |    2 +-
 .../tools/windows}/schema/print-pb-tree-file.bat   |    2 +-
 .../tools/windows}/schema/print-schema-log.bat     |    2 +-
 .../check-overlap-sequence-files-and-repair.bat    |    2 +-
 .../windows}/tsfile/overlap-statistic-tool.bat     |    2 +-
 .../tools/windows}/tsfile/print-iotdb-data-dir.bat |    2 +-
 .../tsfile/print-tsfile-resource-files.bat         |    2 +-
 .../tools/windows}/tsfile/print-tsfile.bat         |    2 +-
 .../tools/windows}/tsfile/settle-tsfile.bat        |    2 +-
 .../tools/windows}/tsfile/split-tsfile-tool.bat    |    2 +-
 .../tools/windows}/tsfile/validate-tsfile.bat      |    2 +-
 1581 files changed, 64425 insertions(+), 18300 deletions(-)

diff --cc 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/relational/ColumnTransformerBuilder.java
index 3d072ed0c40,472899e1d0c..d0b7e35e94c
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/relational/ColumnTransformerBuilder.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/relational/ColumnTransformerBuilder.java
@@@ -71,8 -70,8 +70,9 @@@ import org.apache.iotdb.db.queryengine.
  import org.apache.iotdb.db.queryengine.plan.relational.sql.ast.WhenClause;
  import 
org.apache.iotdb.db.queryengine.plan.relational.type.InternalTypeManager;
  import 
org.apache.iotdb.db.queryengine.plan.relational.type.TypeNotFoundException;
+ import org.apache.iotdb.db.queryengine.plan.udf.TableUDFUtils;
  import 
org.apache.iotdb.db.queryengine.transformation.dag.column.ColumnTransformer;
 +import 
org.apache.iotdb.db.queryengine.transformation.dag.column.FailFunctionColumnTransformer;
  import 
org.apache.iotdb.db.queryengine.transformation.dag.column.TableCaseWhenThenColumnTransformer;
  import 
org.apache.iotdb.db.queryengine.transformation.dag.column.binary.ArithmeticColumnTransformerApi;
  import 
org.apache.iotdb.db.queryengine.transformation.dag.column.binary.CompareEqualToColumnTransformer;
diff --cc 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/TableMetadataImpl.java
index faff5c7ec01,369522254dd..742f980e2e8
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/TableMetadataImpl.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/TableMetadataImpl.java
@@@ -539,11 -551,9 +552,11 @@@ public class TableMetadataImpl implemen
          throw new SemanticException(
              "Scalar function "
                  + functionName.toLowerCase(Locale.ENGLISH)
-                 + " must have at least two arguments, and first argument must 
be char type.");
+                 + " must have at least two arguments, and first argument 
pattern must be TEXT or STRING type.");
        }
        return STRING;
 +    } else if (FAIL_FUNCTION_NAME.equalsIgnoreCase(functionName)) {
 +      return UNKNOWN;
      } else if 
(TableBuiltinScalarFunction.GREATEST.getFunctionName().equalsIgnoreCase(functionName)
          || 
TableBuiltinScalarFunction.LEAST.getFunctionName().equalsIgnoreCase(functionName))
 {
        if (argumentTypes.size() < 2 || 
!areAllTypesSameAndComparable(argumentTypes)) {

Reply via email to