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

jiangtian pushed a change to branch allow_write_time_only
in repository https://gitbox.apache.org/repos/asf/iotdb.git


    from b663719b77e Merge branch 'master' into allow_write_time_only
     add c3baa7a4978 Subscription: fix `hasNext` method in tablet batch to 
support multiple tsfile in the same batch (#14715)
     add 6036cabd9dc Implemented access control for 
pipe/subscription/table/database
     add 3072ae5a668 Implement distinct in AggFunction
     add 49a91ecd348 Add more user-friendly error messages for the last and 
last_by aggregation
     add 141b7ba634c Extend Region & Remove Region & Reconstruct Region (#14634)
     add a011b013711 Pipe: Unify the case of the table model database and fix 
the incorrect use of iterators in Load File (#14718)
     add 75dda9fb0ef Pipe: Fixed the bug that alter logical view statement uses 
a common partial path (#14713)
     add bc5fdaed8d9 Bump TsFile version to 2.0.0-250118-SNAPSHOT
     add 670b45675e0 Pipe: Fix HA issues caused by exceptions not handled in 
handshake (IoTDBAirGapConnector / IoTDBSyncClientManager) (#14706)
     add fea2e4fc8f8 [Table Model Subquery] Support uncorrelated quantified 
comparison
     add 263443dcb53 The time range of device in resource file may be larger 
than the actual time range in tsfile (#14712)
     add 95a70b1ec03 Fix reload4j vulnerability issue (#14740)
     add 41a49e7c1e6 Refactor procedure framework (simplified 
StateMachineProcedure, and some other things) (#14683)
     add 9f8bf85a212 Fix memory leak while inserting using sql
     add 3cfe818a51b Fix mqtt logger issue (#14742)
     add 3bdffe14d02 Fix mqtt logger issue (#14744)
     add fcb3fac14c5 Added permission check for auto create table / add column 
& auto create database / insert in tsFile load
     add cac80f031c0 Fixed the bug that measurement is not replaced to null for 
logical view's partial insert (#14743)
     add 2448945529d Fix createView NPE issue when region migration #14746
     add 8b6311bd042 Reduced the log of table cache update
     add ace3d5baefb Settle task was selected without mods and ttl (#14731)
     add 0f799c6b58f Subscription: intro table model subscription session and 
consumer (#14406)
     add 34914932924 Correct the Blob data cast error msg
     add 9be5eeb18c3 Fix delete data TsFileProcessor NPE (#14748)
     add 765cbb213b0 Extract "merge" method for SearchNode (#14736)
     add ddd580d17ed Fix format IT
     add 42531c3975f Bump jetty version to 9.4.57.v20241219
     add 1cfd139cd23 Add optimizers for distinct in AggFunction
     add a681582d6c8 Fix wrong deviceId after 
PartialPath.concatAsMeasurementPath (#14750)
     add 79b08072fd6 Fix region reconstruction IT (#14753)
     add cb4c05c0319 Region group status refactor (#14738)
     add 7f3b281f7d3 [remove datanode] Add Remove DataNode SQL (#14678)
     add 3369e7a202e Let the DataPartitionTable be automatically cleanable 
(#14737)
     add 04810e27cc8 Fix predicate pushdown when dealing with ProjectNode 
(#14754)
     add 8c62821f1ad [Daily IT]: Daily IT adds a single region task (#14659)
     add e56b34f3535 fix mods file metrics & fix the issue of missing mods with 
concurrent deletion and compaction (#14765)
     add 7af1b52dbcb Implemented TableDeviceSchemaCache#getLastEntries for query
     add 93e83c63fbd Pipe: incorporate batch data into 
TsFileInsertionEventScanParser memory control & Subscription: close data 
container in tsfile event & bind memory block for tablet response & generate 
empty tablet as initial response & offer subsequent tablet response before ack 
& expose prefetch and backdoor configs & best-effort disorder control (#14752)
     add 5933818eec7 Delete the adjustment operation of TCP port (#14770)
     add 52da69813b0 Fixed the NPE of TableDeviceLastEntry
     add 1b0af7dfd25 Permission for Relation model
     add f2d24ffdc7d Introduce operator of window function.
     add 25128fcc1a7 Remove duplicate code in column transformer
     add 9c9b2393af3 Fix query error after insert an all null aligned tablet 
and flush (#14777)
     add 024b05cc4d8 Fixed the bug that the database is not totally separated 
in partition cache
     add 526f678f746 [RatisConsensus] Prevent misuse of addRemotePeer (#14779)
     add 43eb55ad927 Pipe: Introduce periodic verification for username and 
password on receiver side (#14764)
     add 02ff0d27c57 Pipe / Load: Enable validation skip for load tsFile 
(#14774)
     add cbd683ece36 Adapte table model in import/export tools (#14677)
     add a966f82d953 Fix duplicated time in result set bug
     add 69d9dae6e93 Fix problem when import tsfile fail (#14792)
     add e7d009cb725 Correct Block Queue Time metric
     add 270e0d3a224 Region operations for table model (#14794)
     add 063c8421ea0 Fix null measurement name issue in insertTablet (#14795)
     add 9d6b811cca0 Add some tsfile-related tools (#14766)
     add a49958c1f30 Correct binary column memory calculation (#14796)
     add 0a628cbf596 Bump version to 2.0.2-SNAPSHOT
     add 05003055930 Support authentication for query module
     add bbaa63bbc13 Add maintenance commands for table model
     add 79a7e1be58b Merge branch 'master' into allow_write_time_only

No new revisions were added by this update.

Summary of changes:
 .github/workflows/compile-check.yml                |    2 +-
 .github/workflows/daily-it.yml                     |   36 +-
 code-coverage/pom.xml                              |    2 +-
 distribution/pom.xml                               |   12 +-
 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 +-
 .../apache/iotdb/SubscriptionSessionExample.java   |   35 +-
 .../TableModelSubscriptionSessionExample.java      |  173 +++
 example/trigger/pom.xml                            |    2 +-
 example/udf/pom.xml                                |    2 +-
 integration-test/pom.xml                           |   34 +-
 .../java/org/apache/iotdb/it/env/EnvFactory.java   |    5 +
 .../iotdb/it/env/cluster/ClusterConstant.java      |    2 +
 .../it/env/cluster/config/MppCommonConfig.java     |   12 +
 .../it/env/cluster/config/MppDataNodeConfig.java   |    7 +
 .../env/cluster/config/MppSharedCommonConfig.java  |   14 +
 .../iotdb/it/env/cluster/env/AbstractEnv.java      |   44 +
 .../iotdb/it/env/cluster/node/AINodeWrapper.java   |    5 +
 .../it/env/cluster/node/AbstractNodeWrapper.java   |   12 +
 .../it/env/cluster/node/ConfigNodeWrapper.java     |    5 +
 .../iotdb/it/env/cluster/node/DataNodeWrapper.java |   11 +
 .../it/env/remote/config/RemoteCommonConfig.java   |   10 +
 .../it/env/remote/config/RemoteDataNodeConfig.java |    5 +
 .../iotdb/it/env/remote/env/RemoteServerEnv.java   |    7 +
 .../java/org/apache/iotdb/itbase/env/BaseEnv.java  |    4 +
 .../org/apache/iotdb/itbase/env/CommonConfig.java  |    4 +
 .../apache/iotdb/itbase/env/DataNodeConfig.java    |    2 +
 .../it/database/IoTDBDatabaseSetAndDeleteIT.java   |    4 +-
 .../IoTDBPartitionTableAutoCleanTest.java          |  135 +++
 ...ionMigrateDataNodeCrashITFrameworkForIoTV1.java |    2 +-
 ...ionMigrateDataNodeCrashITFrameworkForIoTV2.java |    2 +-
 ...oTDBRegionOperationReliabilityITFramework.java} |  174 +--
 .../IoTDBRegionGroupExpandAndShrinkForIoTV1IT.java |  157 +++
 .../commit/IoTDBRegionReconstructForIoTV1IT.java   |  149 +++
 .../IoTDBRegionMigrateNormalITForIoTV2Batch.java   |    4 +-
 .../IoTDBRegionMigrateOtherITForIoTV2Batch.java    |    4 +-
 .../IoTDBRegionMigrateNormalITForIoTV2Stream.java  |    4 +-
 .../IoTDBRegionMigrateOtherITForIoTV2Stream.java   |    4 +-
 .../IoTDBRegionMigrateDataNodeCrashForIoTV1IT.java |    4 +-
 ...TDBRegionMigrateDataNodeCrashForIoTV2Batch.java |    4 +-
 ...DBRegionMigrateDataNodeCrashForIoTV2Stream.java |    4 +-
 .../IoTDBRegionMigrateClusterCrashIoTV1IT.java     |    4 +-
 .../IoTDBRegionMigrateConfigNodeCrashIoTV1IT.java  |    4 +-
 .../IoTDBRegionMigrateClusterCrashIoTV2Batch.java  |    4 +-
 ...oTDBRegionMigrateConfigNodeCrashIoTV2Batch.java |    4 +-
 .../IoTDBRegionMigrateClusterCrashIoTV2Stream.java |    4 +-
 ...TDBRegionMigrateConfigNodeCrashIoTV2Stream.java |    4 +-
 .../IoTDBRemoveDataNodeITFramework.java            |  113 +-
 .../IoTDBRemoveDataNodeNormalIT.java               |   25 +-
 .../confignode/it/removedatanode/SQLModel.java     |   10 +-
 .../it/IoTDBSyntaxConventionStringLiteralIT.java   |    3 +-
 .../org/apache/iotdb/db/it/auth/IoTDBAuthIT.java   |  137 +--
 .../iotdb/db/it/auth/IoTDBClusterAuthorityIT.java  |   71 +-
 .../it/auth/IoTDBClusterAuthorityRelationalIT.java |  513 +++++++++
 .../iotdb/db/it/auth/IoTDBRelationalAuthIT.java    |  350 ++++++
 .../org/apache/iotdb/db/it/utils/TestUtils.java    |  153 ++-
 .../pipe/it/autocreate/IoTDBPipeAutoDropIT.java    |   10 +-
 .../pipe/it/autocreate/IoTDBPipeClusterIT.java     |   98 ++
 .../pipe/it/autocreate/IoTDBPipeDataSinkIT.java    |   71 ++
 .../pipe/it/manual/IoTDBPipeMetaHistoricalIT.java  |   16 +-
 .../pipe/it/tablemodel/IoTDBPipeAutoDropIT.java    |   10 +-
 .../pipe/it/tablemodel/IoTDBPipeClusterIT.java     |   65 ++
 .../pipe/it/tablemodel/IoTDBPipeDataSinkIT.java    |   99 +-
 .../iotdb/pipe/it/tablemodel/TableModelUtils.java  |   15 +
 .../relational/it/db/it/IoTDBDeletionTableIT.java  |  285 ++++-
 .../it/db/it/IoTDBLoadConfigurationTableIT.java    |   85 ++
 .../it/db/it/IoTDBSetSystemStatusTableIT.java      |   95 ++
 .../udf/IoTDBUserDefinedAggregateFunctionIT.java   |   53 +-
 .../scalar/IoTDBFormatFunctionTableIT.java         |   18 +-
 .../it/query/recent/IoTDBNullValueIT.java          |   75 ++
 .../it/query/recent/IoTDBQueryAuthIT.java          |  321 ++++++
 .../IoTDBTableAggregationFunctionDistinctIT.java   |  374 +++++++
 .../it/query/recent/IoTDBTableAggregationIT.java   |  893 +++++++++++++++-
 .../IoTDBUncorrelatedQuantifiedComparisonIT.java   |  674 ++++++++++++
 .../relational/it/schema/IoTDBDatabaseIT.java      |    6 +-
 .../iotdb/session/it/IoTDBSessionInsertNullIT.java |  128 +++
 .../subscription/it/AbstractSubscriptionIT.java    |    2 +-
 .../it/cluster/IoTDBSubscriptionRestartIT.java     |   34 +-
 .../it/dual/IoTDBSubscriptionConsumerGroupIT.java  |   16 +-
 .../it/dual/IoTDBSubscriptionTimePrecisionIT.java  |   10 +-
 .../it/dual/IoTDBSubscriptionTopicIT.java          |   44 +-
 .../it/local/IoTDBSubscriptionBasicIT.java         |   42 +-
 .../it/local/IoTDBSubscriptionDataTypeIT.java      |   10 +-
 .../it/local/IoTDBSubscriptionIdempotentIT.java    |   24 +-
 .../it/local/IoTDBSubscriptionTopicIT.java         |   10 +-
 .../it/triple/AbstractSubscriptionTripleIT.java    |    2 +-
 .../it/triple/IoTDBSubscriptionSharingIT.java      |   32 +-
 .../AbstractSubscriptionRegressionIT.java          |   26 +-
 .../IoTDBDefaultPullConsumerDataSetIT.java         |    4 +-
 .../IoTDBDefaultTsfilePushConsumerIT.java          |    6 +-
 .../IoTDBRootDatasetPushConsumerIT.java            |    6 +-
 .../IoTDBRootPullConsumeTsfileIT.java              |    6 +-
 ...merPullConsumerWith1TopicShareProcessMixIT.java |   12 +-
 .../param/IoTDBTestParamPullConsumerIT.java        |   93 +-
 .../param/IoTDBTestParamPushConsumerIT.java        |   47 +-
 .../param/IoTDBTestParamSubscriptionSessionIT.java |   12 +-
 .../regression/param/IoTDBTestParamTopicIT.java    |    6 +-
 ...DBTestAutoCommitFalseDataSetPullConsumerIT.java |    6 +-
 ...TDBTestAutoCommitTrueDataSetPullConsumerIT.java |    6 +-
 .../format/IoTDBDBDataSetPullConsumerIT.java       |    6 +-
 .../format/IoTDBDBTsfilePullConsumerIT.java        |    6 +-
 .../IoTDBAllTsDatasetPullConsumerIT.java           |    4 +-
 .../IoTDBAllTsTsfilePullConsumerIT.java            |    6 +-
 .../IoTDBAllTsfilePullConsumerSnapshotIT.java      |    6 +-
 .../IoTDBPathDeviceDataSetPullConsumerIT.java      |    4 +-
 .../IoTDBPathDeviceTsfilePullConsumerIT.java       |    6 +-
 .../IoTDBTimeTsDatasetPullConsumerIT.java          |    4 +-
 .../IoTDBTimeTsTsfilePullConsumerIT.java           |    6 +-
 .../IoTDBSnapshotDevicePullConsumerDataSetIT.java  |    4 +-
 .../IoTDBSnapshotDevicePullConsumerTsfileIT.java   |    6 +-
 ...DBConsumer2With1TopicShareProcessDataSetIT.java |    6 +-
 ...TDBConsumer2With1TopicShareProcessTsfileIT.java |    6 +-
 .../multi/IoTDBMultiGroupVsMultiConsumerIT.java    |   12 +-
 .../IoTDBOneConsumerMultiTopicsDatasetIT.java      |    4 +-
 .../multi/IoTDBOneConsumerMultiTopicsMixIT.java    |    4 +-
 .../multi/IoTDBOneConsumerMultiTopicsTsfileIT.java |    4 +-
 .../pattern/IoTDBDBPatternPullConsumeTsfileIT.java |    6 +-
 .../IoTDBDBPatternPullConsumerDataSetIT.java       |    4 +-
 .../IoTDBDefaultPatternPullConsumerDataSetIT.java  |    4 +-
 .../IoTDBDevicePatternPullConsumeTsfileIT.java     |    6 +-
 .../IoTDBDevicePatternPullConsumerDataSetIT.java   |    4 +-
 ...DBMiddleMatch2PatternPullConsumerDataSetIT.java |    4 +-
 ...IoTDBMiddleMatchPatternPullConsumeTsfileIT.java |    6 +-
 ...TDBMiddleMatchPatternPullConsumerDataSetIT.java |    4 +-
 .../IoTDBRootPatternPullConsumeTsfileIT.java       |    6 +-
 .../pattern/IoTDBTSPatternPullConsumeTsfileIT.java |    6 +-
 .../IoTDBTSPatternPullConsumerDataSetIT.java       |    4 +-
 .../time/IoTDBAllPullConsumerDataSetIT.java        |    4 +-
 .../time/IoTDBHistoryPullConsumerDataSetIT.java    |    4 +-
 .../time/IoTDBRealTimePullConsumerDataSetIT.java   |    4 +-
 ...oTDBTimeRangeAccuratePullConsumerDataSetIT.java |    4 +-
 .../time/IoTDBTimeRangePullConsumerDataSetIT.java  |    4 +-
 .../format/IoTDBTestPushConsumeDataSetIT.java      |    6 +-
 .../IoTDBTestPushConsumeNoTargetDirTsfileIT.java   |    6 +-
 .../format/IoTDBTestPushConsumeTsfileIT.java       |    6 +-
 .../IoTDBLooseAllTsDatasetPushConsumerIT.java      |    6 +-
 ...TDBLooseAllTsDatasetPushConsumerSnapshotIT.java |    6 +-
 .../IoTDBLooseAllTsfilePushConsumerIT.java         |    6 +-
 .../IoTDBPathLooseDeviceTsfilePushConsumerIT.java  |    6 +-
 .../IoTDBPathLooseTsDatasetPushConsumerIT.java     |    6 +-
 .../IoTDBPathLooseTsfilePushConsumerIT.java        |    6 +-
 .../IoTDBPathTsLooseDatasetPushConsumerIT.java     |    6 +-
 .../IoTDBTimeLooseTsDatasetPushConsumerIT.java     |    6 +-
 .../IoTDBTimeLooseTsTsfilePushConsumerIT.java      |    6 +-
 .../IoTDBTimeLooseTsfilePushConsumerIT.java        |    6 +-
 .../IoTDBTimeTsLooseDatasetPushConsumerIT.java     |    6 +-
 ...oTDBSnapshotTSPatternDatasetPushConsumerIT.java |    6 +-
 ...IoTDBSnapshotTSPatternTsfilePushConsumerIT.java |    6 +-
 ...DBConsumer2With1TopicShareProcessDataSetIT.java |   10 +-
 ...TDBConsumer2With1TopicShareProcessTsfileIT.java |   10 +-
 .../multi/IoTDBMultiGroupVsMultiConsumerIT.java    |   26 +-
 .../IoTDBOneConsumerMultiTopicsDatasetIT.java      |    6 +-
 .../multi/IoTDBOneConsumerMultiTopicsMixIT.java    |    6 +-
 .../multi/IoTDBOneConsumerMultiTopicsTsfileIT.java |    6 +-
 .../IoTDBDBPatternDatasetPushConsumerIT.java       |    6 +-
 .../IoTDBDBPatternTsfilePushConsumerIT.java        |    6 +-
 .../IoTDBDefaultPatternTsfilePushConsumerIT.java   |    6 +-
 .../IoTDBDevicePatternDatasetPushConsumerIT.java   |    6 +-
 .../IoTDBDevicePatternTsfilePushConsumerIT.java    |    6 +-
 .../IoTDBRootPatternDatasetPushConsumerIT.java     |    6 +-
 .../IoTDBTSPatternDatasetPushConsumerIT.java       |    6 +-
 .../IoTDBTSPatternTsfilePushConsumerIT.java        |    6 +-
 .../IoTDBHistoryRootDatasetPushConsumerIT.java     |    6 +-
 .../time/IoTDBHistoryRootTsFilePushConsumerIT.java |    6 +-
 .../time/IoTDBRealTimeDBDatasetPushConsumerIT.java |    6 +-
 .../time/IoTDBRealTimeDBTsfilePushConsumerIT.java  |    6 +-
 ...DBTimeRangeAccurateDBDataSetPushConsumerIT.java |    6 +-
 .../IoTDBTimeRangeDBDataSetPushConsumerIT.java     |    6 +-
 .../time/IoTDBTimeRangeDBTsfilePushConsumerIT.java |    6 +-
 .../topic/IoTDBDataSet1TopicConsumerSpecialIT.java |    4 +-
 .../regression/topic/IoTDBTestTopicNameIT.java     |    4 +-
 .../regression/user/IoTDBOtherUserConsumerIT.java  |    6 +-
 .../java/org/apache/iotdb/util/MagicUtils.java     |   61 ++
 iotdb-api/external-api/pom.xml                     |    2 +-
 iotdb-api/pipe-api/pom.xml                         |    2 +-
 iotdb-api/pom.xml                                  |    2 +-
 iotdb-api/trigger-api/pom.xml                      |    2 +-
 iotdb-api/udf-api/pom.xml                          |    2 +-
 iotdb-client/cli/pom.xml                           |   22 +-
 .../org/apache/iotdb/tool/common/Constants.java    |  319 ++++++
 .../iotdb/tool/common/ImportTsFileOperation.java   |   59 +
 .../org/apache/iotdb/tool/common/OptionsUtil.java  |  915 ++++++++++++++++
 .../apache/iotdb/tool/data/AbstractDataTool.java   | 1019 +++++-------------
 .../apache/iotdb/tool/data/AbstractExportData.java |   70 ++
 .../AbstractImportData.java}                       |  216 ++--
 .../apache/iotdb/tool/data/AsyncImportData.java    |  160 ---
 .../org/apache/iotdb/tool/data/ExportData.java     |  775 +++-----------
 .../apache/iotdb/tool/data/ExportDataTable.java    |  341 ++++++
 .../org/apache/iotdb/tool/data/ExportDataTree.java |  420 ++++++++
 .../org/apache/iotdb/tool/data/ImportData.java     |  795 ++++++--------
 .../apache/iotdb/tool/data/ImportDataScanTool.java |    4 -
 .../apache/iotdb/tool/data/ImportDataTable.java    |  392 +++++++
 .../org/apache/iotdb/tool/data/ImportDataTree.java |  476 +++++++++
 .../org/apache/iotdb/tool/tsfile/ImportTsFile.java |   69 +-
 .../apache/iotdb/tool/tsfile/ImportTsFileBase.java |    9 +-
 .../iotdb/tool/tsfile/ImportTsFileLocally.java     |    8 +-
 .../iotdb/tool/tsfile/ImportTsFileRemotely.java    |    8 +
 .../iotdb/tool/ImportTsFileOperationTest.java      |   49 +
 iotdb-client/client-cpp/pom.xml                    |    4 +-
 iotdb-client/client-py/pom.xml                     |    6 +-
 iotdb-client/isession/pom.xml                      |    8 +-
 iotdb-client/jdbc/pom.xml                          |    8 +-
 iotdb-client/pom.xml                               |    2 +-
 iotdb-client/service-rpc/pom.xml                   |    6 +-
 .../java/org/apache/iotdb/rpc/IoTDBRpcDataSet.java |    1 +
 .../java/org/apache/iotdb/rpc/TSStatusCode.java    |    3 +
 .../iotdb/rpc/subscription/config/TopicConfig.java |   22 +
 .../subscription/payload/poll/TabletsPayload.java  |   11 +-
 iotdb-client/session/pom.xml                       |   10 +-
 .../java/org/apache/iotdb/session/Session.java     |    6 +
 .../subscription/AbstractSubscriptionSession.java  |  219 ++++
 .../subscription/ISubscriptionTableSession.java    |  177 +++
 .../subscription/ISubscriptionTreeSession.java     |  177 +++
 .../session/subscription/SubscriptionSession.java  |  337 ------
 .../SubscriptionSessionConnection.java             |   26 +-
 .../subscription/SubscriptionSessionWrapper.java   |   72 ++
 .../subscription/SubscriptionTableSession.java     |  113 ++
 .../SubscriptionTableSessionBuilder.java           |   66 ++
 .../subscription/SubscriptionTreeSession.java      |  180 ++++
 .../SubscriptionTreeSessionBuilder.java            |   63 ++
 .../consumer/ISubscriptionTablePullConsumer.java   |  181 ++++
 .../consumer/ISubscriptionTablePushConsumer.java   |   86 ++
 .../consumer/ISubscriptionTreePullConsumer.java    |  181 ++++
 .../consumer/ISubscriptionTreePushConsumer.java    |   86 ++
 .../AbstractSubscriptionConsumer.java}             |  170 +--
 .../base/AbstractSubscriptionConsumerBuilder.java  |  150 +++
 .../AbstractSubscriptionProvider.java}             |   47 +-
 .../AbstractSubscriptionProviders.java}            |   58 +-
 .../AbstractSubscriptionPullConsumer.java}         |  155 +--
 .../AbstractSubscriptionPullConsumerBuilder.java   |  122 +++
 .../AbstractSubscriptionPushConsumer.java}         |  147 +--
 .../AbstractSubscriptionPushConsumerBuilder.java   |  139 +++
 .../SubscriptionExecutorServiceManager.java        |    2 +-
 .../consumer/table/SubscriptionTableProvider.java  |   49 +
 .../table/SubscriptionTablePullConsumer.java       |  152 +++
 .../SubscriptionTablePullConsumerBuilder.java      |  125 +++
 .../table/SubscriptionTablePushConsumer.java       |   95 ++
 .../SubscriptionTablePushConsumerBuilder.java      |  138 +++
 .../consumer/tree/SubscriptionTreeProvider.java    |   49 +
 .../tree/SubscriptionTreePullConsumer.java         |  317 ++++++
 .../tree/SubscriptionTreePullConsumerBuilder.java  |  124 +++
 .../tree/SubscriptionTreePushConsumer.java         |  290 +++++
 .../tree/SubscriptionTreePushConsumerBuilder.java  |  139 +++
 .../session/subscription/model/Subscription.java   |    3 +-
 .../iotdb/session/subscription/model/Topic.java    |    2 +-
 iotdb-core/ainode/pom.xml                          |   10 +-
 iotdb-core/antlr/pom.xml                           |    2 +-
 .../org/apache/iotdb/db/qp/sql/IdentifierParser.g4 |    1 +
 .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4   |   21 +-
 .../antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4  |   12 +
 iotdb-core/confignode/pom.xml                      |   26 +-
 .../iotdb/confignode/conf/ConfigNodeConfig.java    |    9 +
 .../consensus/request/ConfigPhysicalPlan.java      |   38 +-
 .../consensus/request/ConfigPhysicalPlanType.java  |   34 +
 .../request/read/auth/AuthorReadPlan.java          |  143 ---
 .../consensus/request/write/auth/AuthorPlan.java   |  168 +--
 .../request/write/auth/AuthorRelationalPlan.java   |  167 +++
 .../auth/{AuthorPlan.java => AuthorTreePlan.java}  |  176 +--
 .../partition/AutoCleanPartitionTablePlan.java     |   99 ++
 .../statemachine/ConfigRegionStateMachine.java     |    1 -
 .../iotdb/confignode/manager/ConfigManager.java    |   45 +-
 .../apache/iotdb/confignode/manager/IManager.java  |   15 +-
 .../confignode/manager/PermissionManager.java      |   23 +-
 .../iotdb/confignode/manager/ProcedureManager.java |  489 +++++++--
 .../iotdb/confignode/manager/TTLManager.java       |   11 +
 .../confignode/manager/load/cache/LoadCache.java   |   13 +-
 .../load/cache/region/RegionGroupCache.java        |   39 +-
 .../manager/partition/PartitionManager.java        |   13 +-
 .../manager/partition/RegionGroupStatus.java       |   25 +-
 .../client/IoTDBConfigNodeSyncClientManager.java   |    6 +-
 .../protocol/IoTDBConfigRegionAirGapConnector.java |    3 +
 .../protocol/IoTDBConfigRegionConnector.java       |    6 +-
 ...eConfigPhysicalPlanTreePatternParseVisitor.java |   34 +-
 .../receiver/protocol/IoTDBConfigNodeReceiver.java |   66 +-
 .../iotdb/confignode/persistence/AuthorInfo.java   |  551 +++++-----
 .../iotdb/confignode/persistence/TTLInfo.java      |   16 +
 .../persistence/executor/ConfigPlanExecutor.java   |   43 +-
 .../partition/DatabasePartitionTable.java          |   10 +
 .../persistence/partition/PartitionInfo.java       |   19 +
 .../schema/CNPhysicalPlanGenerator.java            |  148 ++-
 .../persistence/schema/ClusterSchemaInfo.java      |   12 +-
 .../confignode/procedure/InternalProcedure.java    |    5 -
 .../procedure/PartitionTableAutoCleaner.java       |   81 ++
 .../iotdb/confignode/procedure/Procedure.java      |   78 --
 .../confignode/procedure/ProcedureExecutor.java    |  115 +-
 .../procedure/env/RegionMaintainHandler.java       |   13 +-
 .../procedure/impl/StateMachineProcedure.java      |  181 +---
 .../impl/region/AddRegionPeerProcedure.java        |   84 +-
 .../impl/region/ReconstructRegionProcedure.java    |  209 ++++
 .../impl/region/RegionMigrateProcedure.java        |   39 +-
 .../impl/region/RegionOperationProcedure.java      |   38 +-
 .../impl/region/RemoveRegionPeerProcedure.java     |   52 +-
 .../impl/sync/AuthOperationProcedure.java          |    6 +-
 .../procedure/impl/sync/StartPipeProcedure.java    |    6 -
 .../procedure/state/ReconstructRegionState.java}   |   14 +-
 .../procedure/store/ProcedureFactory.java          |    5 +
 .../confignode/procedure/store/ProcedureType.java  |    5 +-
 .../thrift/ConfigNodeRPCServiceProcessor.java      |  116 +-
 .../request/ConfigPhysicalPlanSerDeTest.java       |   64 +-
 .../confignode/manager/load/LoadManagerTest.java   |   12 +-
 .../manager/load/cache/RegionGroupCacheTest.java   |  132 ++-
 ...figPhysicalPlanTreePatternParseVisitorTest.java |   18 +-
 .../confignode/persistence/AuthorInfoTest.java     |  917 +++++++---------
 .../persistence/CNPhysicalPlanGeneratorTest.java   |   23 +-
 .../ConfigRegionListeningQueueTest.java            |    4 +-
 .../confignode/procedure/entity/IncProcedure.java  |    5 -
 .../confignode/procedure/entity/NoopProcedure.java |    5 -
 .../procedure/entity/SimpleLockProcedure.java      |    5 -
 .../procedure/entity/SleepProcedure.java           |    5 -
 .../procedure/entity/StuckProcedure.java           |    5 -
 .../pipe/receiver/PipeEnrichedProcedureTest.java   |    4 +-
 .../impl/sync/AuthOperationProcedureTest.java      |   39 +-
 iotdb-core/consensus/pom.xml                       |   14 +-
 .../iotdb/consensus/ratis/RatisConsensus.java      |   11 +-
 iotdb-core/datanode/pom.xml                        |   40 +-
 .../org/apache/iotdb/db/auth/AuthorityChecker.java |  215 +++-
 .../apache/iotdb/db/auth/BasicAuthorityCache.java  |    8 +-
 .../iotdb/db/auth/ClusterAuthorityFetcher.java     |  475 +++++----
 .../apache/iotdb/db/auth/IAuthorityFetcher.java    |   37 +-
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java |   22 +-
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  |   26 +-
 .../dataregion/DataRegionStateMachine.java         |  144 +--
 .../client/IoTDBDataNodeAsyncClientManager.java    |   11 +-
 .../client/IoTDBDataNodeSyncClientManager.java     |    6 +-
 .../airgap/IoTDBDataNodeAirGapConnector.java       |    3 +
 .../async/IoTDBDataRegionAsyncConnector.java       |    3 +-
 .../thrift/sync/IoTDBDataNodeSyncConnector.java    |    6 +-
 .../protocol/writeback/WriteBackConnector.java     |    4 +-
 .../db/pipe/event/common/PipeInsertionEvent.java   |   10 +-
 .../scan/TsFileInsertionEventScanParser.java       |   19 +
 .../schemachange/RenameDatabaseProcessor.java      |    9 +-
 .../protocol/thrift/IoTDBDataNodeReceiver.java     |   48 +-
 .../pipe/resource/memory/PipeMemoryWeightUtil.java |   48 +
 .../iotdb/db/protocol/client/ConfigNodeClient.java |   41 +-
 .../iotdb/db/protocol/session/ClientSession.java   |   20 +-
 .../iotdb/db/protocol/session/IClientSession.java  |    1 +
 .../db/protocol/session/InternalClientSession.java |    5 +-
 .../protocol/thrift/impl/ClientRPCServiceImpl.java |   40 +-
 .../impl/DataNodeInternalRPCServiceImpl.java       |    1 -
 .../thrift/impl/DataNodeRegionManager.java         |    4 +-
 .../execution/exchange/SharedTsBlockQueue.java     |    8 +-
 .../execution/exchange/sink/SinkChannel.java       |   11 +-
 .../exchange/source/LocalSourceHandle.java         |    4 +-
 .../execution/executor/RegionWriteExecutor.java    |   11 +-
 .../fragment/FragmentInstanceContext.java          |    9 +
 .../execution/operator/AbstractOperator.java       |    2 +-
 .../operator/process/AbstractSortOperator.java     |    2 +-
 .../execution/operator/process/SortOperator.java   |    2 +-
 .../operator/process/TableStreamSortOperator.java  |    2 +-
 .../process/window/TableWindowOperator.java        |  411 +++++++
 .../window/function/WindowFunction.java}           |   43 +-
 .../aggregate/AggregationWindowFunction.java       |  113 ++
 .../function/aggregate/WindowAggregator.java}      |  101 +-
 .../window/function/rank/CumeDistFunction.java}    |   48 +-
 .../window/function/rank/DenseRankFunction.java}   |   48 +-
 .../window/function/rank/NTileFunction.java        |   62 ++
 .../window/function/rank/PercentRankFunction.java} |   59 +-
 .../window/function/rank/RankFunction.java}        |   53 +-
 .../window/function/rank/RankWindowFunction.java   |   66 ++
 .../window/function/rank/RowNumberFunction.java}   |   30 +-
 .../window/function/value/FirstValueFunction.java  |   64 ++
 .../process/window/function/value/LagFunction.java |   77 ++
 .../window/function/value/LastValueFunction.java   |   64 ++
 .../window/function/value/LeadFunction.java        |   79 ++
 .../window/function/value/NthValueFunction.java    |   81 ++
 .../window/function/value/ValueWindowFunction.java |   52 +
 .../process/window/partition/Partition.java        |  226 ++++
 .../window/partition/PartitionExecutor.java        |  197 ++++
 .../process/window/partition/frame/Frame.java}     |   19 +-
 .../process/window/partition/frame/FrameInfo.java  |  145 +++
 .../window/partition/frame/GroupsFrame.java        |  238 +++++
 .../process/window/partition/frame/RangeFrame.java |  617 +++++++++++
 .../process/window/partition/frame/RowsFrame.java  |  108 ++
 .../operator/process/window/utils/ColumnList.java  |  141 +++
 .../operator/process/window/utils/Range.java}      |   22 +-
 .../process/window/utils/RowComparator.java        |  231 ++++
 .../execution/operator/source/FileLoaderUtils.java |    4 +-
 .../InformationSchemaContentSupplierFactory.java   |    9 +-
 .../source/relational/MarkDistinctOperator.java    |  170 +++
 .../relational/aggregation/AccumulatorFactory.java |  247 ++++-
 .../relational/aggregation/AggregationMask.java    |  204 ++++
 .../relational/aggregation/AvgAccumulator.java     |  124 ++-
 .../relational/aggregation/CountAccumulator.java   |   22 +-
 ...IfAccumulator.java => CountAllAccumulator.java} |   48 +-
 .../relational/aggregation/CountIfAccumulator.java |   22 +-
 .../relational/aggregation/ExtremeAccumulator.java |   94 +-
 .../relational/aggregation/FirstAccumulator.java   |  158 ++-
 .../relational/aggregation/FirstByAccumulator.java |  164 ++-
 .../aggregation/FirstByDescAccumulator.java        |  132 ++-
 .../aggregation/FirstDescAccumulator.java          |  126 ++-
 .../relational/aggregation/LastAccumulator.java    |  140 ++-
 .../relational/aggregation/LastByAccumulator.java  |  146 ++-
 .../aggregation/LastByDescAccumulator.java         |  150 ++-
 .../aggregation/LastDescAccumulator.java           |  144 ++-
 .../aggregation/MaskedRecordIterator.java          |   32 +-
 .../relational/aggregation/MaxAccumulator.java     |  140 ++-
 .../relational/aggregation/MinAccumulator.java     |  140 ++-
 .../relational/aggregation/SumAccumulator.java     |  114 +-
 .../relational/aggregation/TableAccumulator.java   |    2 +-
 .../relational/aggregation/TableAggregator.java    |    9 +-
 .../aggregation/TableMaxMinByBaseAccumulator.java  |  146 ++-
 .../aggregation/TableModeAccumulator.java          |  192 +++-
 .../aggregation/TableVarianceAccumulator.java      |  158 ++-
 .../UserDefinedAggregateFunctionAccumulator.java   |    8 +-
 .../aggregation/grouped/GroupedAccumulator.java    |    4 +-
 .../aggregation/grouped/GroupedAggregator.java     |    6 +-
 .../aggregation/grouped/GroupedAvgAccumulator.java |  119 ++-
 .../grouped/GroupedCountAccumulator.java           |   22 +-
 .../grouped/GroupedCountIfAccumulator.java         |   22 +-
 .../grouped/GroupedExtremeAccumulator.java         |   95 +-
 .../grouped/GroupedFirstAccumulator.java           |  153 ++-
 .../grouped/GroupedFirstByAccumulator.java         |  191 +++-
 .../grouped/GroupedLastAccumulator.java            |  133 ++-
 .../grouped/GroupedLastByAccumulator.java          |  150 ++-
 .../aggregation/grouped/GroupedMaxAccumulator.java |  141 ++-
 .../grouped/GroupedMaxMinByBaseAccumulator.java    |  147 ++-
 .../aggregation/grouped/GroupedMinAccumulator.java |  141 ++-
 .../grouped/GroupedModeAccumulator.java            |  246 +++--
 .../aggregation/grouped/GroupedSumAccumulator.java |  111 +-
 .../GroupedUserDefinedAggregateAccumulator.java    |   14 +-
 .../grouped/GroupedVarianceAccumulator.java        |  159 ++-
 .../grouped/HashAggregationOperator.java           |    4 +-
 .../grouped/StreamingAggregationOperator.java      |    9 +-
 .../grouped/StreamingHashAggregationOperator.java  |    4 +-
 .../aggregation/grouped/hash/GroupByHash.java      |    2 +
 .../aggregation/grouped/hash/MarkDistinctHash.java |   90 ++
 .../relational/ColumnTransformerBuilder.java       |  240 ++---
 .../execution/schedule/DriverScheduler.java        |    8 -
 .../iotdb/db/queryengine/plan/Coordinator.java     |   25 +-
 .../queryengine/plan/analyze/AnalyzeVisitor.java   |    4 +-
 .../analyze/cache/partition/PartitionCache.java    |    5 +-
 .../plan/analyze/load/LoadTsFileAnalyzer.java      |    2 +-
 .../load/LoadTsFileToTableModelAnalyzer.java       |    9 +-
 .../load/TreeSchemaAutoCreatorAndVerifier.java     |    2 +-
 .../analyze/schema/AutoCreateSchemaExecutor.java   |    6 +-
 .../queryengine/plan/execution/QueryExecution.java |    2 -
 .../execution/config/TableConfigTaskVisitor.java   |  212 +++-
 .../execution/config/TreeConfigTaskVisitor.java    |   36 +-
 .../config/executor/ClusterConfigTaskExecutor.java |  164 ++-
 .../config/executor/IConfigTaskExecutor.java       |   19 +-
 ...rateRegionTask.java => RemoveDataNodeTask.java} |   12 +-
 .../ExtendRegionTask.java}                         |   37 +-
 .../metadata/{ => region}/MigrateRegionTask.java   |   25 +-
 .../ReconstructRegionTask.java}                    |   38 +-
 .../RemoveRegionTask.java}                         |   37 +-
 .../RelationalAuthorizerTask.java}                 |   24 +-
 .../metadata/relational/ShowTablesDetailsTask.java |   47 +-
 .../config/metadata/relational/ShowTablesTask.java |   35 +-
 .../db/queryengine/plan/parser/ASTVisitor.java     |   48 +-
 .../plan/planner/TableOperatorGenerator.java       |   54 +-
 .../plan/planner/plan/node/PlanGraphPrinter.java   |   41 +-
 .../plan/planner/plan/node/PlanNodeType.java       |    4 +
 .../plan/planner/plan/node/PlanVisitor.java        |    5 +
 .../node/metadata/write/AlterTimeSeriesNode.java   |    9 +-
 .../metadata/write/view/AlterLogicalViewNode.java  |    2 +-
 .../plan/node/pipe/PipeEnrichedDeleteDataNode.java |   13 +
 .../plan/node/pipe/PipeEnrichedInsertNode.java     |    5 +
 .../ContinuousSameSearchIndexSeparatorNode.java    |    6 +
 .../planner/plan/node/write/DeleteDataNode.java    |   36 +
 .../plan/node/write/InsertMultiTabletsNode.java    |    5 +
 .../plan/planner/plan/node/write/InsertNode.java   |   21 +
 .../planner/plan/node/write/InsertRowNode.java     |   12 +
 .../planner/plan/node/write/InsertRowsNode.java    |   15 +
 .../plan/node/write/InsertRowsOfOneDeviceNode.java |    5 +
 .../planner/plan/node/write/InsertTabletNode.java  |   11 +
 .../plan/node/write/RelationalDeleteDataNode.java  |   23 +-
 .../plan/planner/plan/node/write/SearchNode.java   |    4 +
 .../relational/analyzer/StatementAnalyzer.java     |   14 +-
 .../relational/metadata/TableMetadataImpl.java     |    6 +-
 .../fetcher/TableHeaderSchemaValidator.java        |   14 +-
 .../fetcher/cache/TableDeviceLastCache.java        |    2 +-
 .../fetcher/cache/TableDeviceSchemaCache.java      |   19 +
 .../plan/relational/planner/IrTypeAnalyzer.java    |    4 +-
 .../relational/planner/SimplePlanRewriter.java     |   88 ++
 .../distribute/TableDistributedPlanGenerator.java  |   24 +
 .../MultipleDistinctAggregationToMarkDistinct.java |  202 ++++
 .../iterative/rule/PruneMarkDistinctColumns.java   |   58 +
 .../rule/SingleDistinctAggregationToGroupBy.java   |  160 +++
 .../relational/planner/node/AggregationNode.java   |    6 +-
 .../relational/planner/node/MarkDistinctNode.java  |  162 +++
 .../plan/relational/planner/node/Patterns.java     |    7 +-
 .../optimizations/LogicalOptimizeFactory.java      |   23 +-
 .../PushAggregationIntoTableScan.java              |    4 +
 .../optimizations/PushPredicateIntoTableScan.java  |  125 ++-
 ...mQuantifiedComparisonApplyToCorrelatedJoin.java |  341 ++++++
 .../optimizations/UnaliasSymbolReferences.java     |   21 +
 .../plan/relational/security/AccessControl.java    |   10 +
 .../relational/security/AccessControlImpl.java     |  217 ++++
 .../relational/security/AllowAllAccessControl.java |    7 +
 .../relational/security/ITableAuthChecker.java     |   17 +
 .../relational/security/ITableAuthCheckerImpl.java |  169 +++
 .../relational/security/TableModelPrivilege.java   |   54 +-
 .../plan/relational/sql/ast/AstVisitor.java        |   32 +
 .../plan/relational/sql/ast/ExtendRegion.java      |   77 ++
 .../plan/relational/sql/ast/LoadConfiguration.java |   26 +-
 .../plan/relational/sql/ast/LoadTsFile.java        |    7 +
 .../sql/ast/MigrateRegion.java}                    |   74 +-
 .../plan/relational/sql/ast/ReconstructRegion.java |   76 ++
 .../sql/ast/RelationalAuthorStatement.java         |  247 +++++
 .../plan/relational/sql/ast/RemoveDataNode.java    |   72 ++
 .../plan/relational/sql/ast/RemoveRegion.java      |   77 ++
 .../plan/relational/sql/ast/SetSystemStatus.java   |   26 +-
 .../plan/relational/sql/parser/AstBuilder.java     |  334 +++++-
 .../plan/relational/sql/util/SqlFormatter.java     |  223 ++++
 .../plan/relational/type/AuthorRType.java          |   47 +-
 .../plan/scheduler/ClusterScheduler.java           |    4 -
 .../plan/scheduler/load/LoadTsFileScheduler.java   |    7 +-
 .../statement/AuthorityInformationStatement.java   |    2 +-
 .../plan/statement/StatementVisitor.java           |   23 +-
 .../plan/statement/crud/DeleteDataStatement.java   |    3 +-
 .../plan/statement/crud/InsertBaseStatement.java   |    2 +-
 .../plan/statement/crud/InsertRowStatement.java    |    4 +-
 .../plan/statement/crud/InsertStatement.java       |    2 +-
 .../plan/statement/crud/InsertTabletStatement.java |    4 +-
 .../plan/statement/crud/QueryStatement.java        |    2 +-
 .../InternalBatchActivateTemplateStatement.java    |    3 +-
 .../InternalCreateMultiTimeSeriesStatement.java    |    2 +-
 .../InternalCreateTimeSeriesStatement.java         |    2 +-
 .../metadata/AlterTimeSeriesStatement.java         |   10 +-
 .../statement/metadata/CountDevicesStatement.java  |    6 +-
 .../metadata/CountTimeSeriesStatement.java         |    6 +-
 .../metadata/CreateAlignedTimeSeriesStatement.java |    2 +-
 .../metadata/CreateContinuousQueryStatement.java   |    2 +-
 .../metadata/CreateFunctionStatement.java          |    2 +-
 .../metadata/CreateMultiTimeSeriesStatement.java   |    2 +-
 .../metadata/CreateTimeSeriesStatement.java        |    3 +-
 .../statement/metadata/CreateTriggerStatement.java |    2 +-
 .../metadata/DatabaseSchemaStatement.java          |    2 +-
 .../metadata/DeleteDatabaseStatement.java          |    2 +-
 .../metadata/DeleteTimeSeriesStatement.java        |    3 +-
 .../metadata/DropContinuousQueryStatement.java     |    2 +-
 .../statement/metadata/DropFunctionStatement.java  |    2 +-
 .../statement/metadata/DropTriggerStatement.java   |    2 +-
 ...Statement.java => RemoveDataNodeStatement.java} |   38 +-
 .../plan/statement/metadata/SetTTLStatement.java   |    3 +-
 .../statement/metadata/ShowClusterStatement.java   |    2 +-
 .../metadata/ShowContinuousQueriesStatement.java   |    2 +-
 .../statement/metadata/ShowDevicesStatement.java   |    6 +-
 .../statement/metadata/ShowFunctionsStatement.java |    2 +-
 .../metadata/ShowTimeSeriesStatement.java          |    6 +-
 .../statement/metadata/ShowTriggersStatement.java  |    2 +-
 .../metadata/model/CreateModelStatement.java       |    2 +-
 .../metadata/model/DropModelStatement.java         |    2 +-
 .../metadata/model/ShowModelsStatement.java        |    2 +-
 .../metadata/pipe/AlterPipeStatement.java          |    2 +-
 .../metadata/pipe/CreatePipePluginStatement.java   |    2 +-
 .../metadata/pipe/CreatePipeStatement.java         |    2 +-
 .../metadata/pipe/DropPipePluginStatement.java     |    2 +-
 .../statement/metadata/pipe/DropPipeStatement.java |    2 +-
 .../metadata/pipe/ShowPipePluginsStatement.java    |    2 +-
 .../metadata/pipe/ShowPipesStatement.java          |    2 +-
 .../metadata/pipe/StartPipeStatement.java          |    2 +-
 .../statement/metadata/pipe/StopPipeStatement.java |    2 +-
 .../ExtendRegionStatement.java}                    |   43 +-
 .../{ => region}/MigrateRegionStatement.java       |   16 +-
 .../ReconstructRegionStatement.java}               |   43 +-
 .../RemoveRegionStatement.java}                    |   43 +-
 .../subscription/CreateTopicStatement.java         |    2 +-
 .../metadata/subscription/DropTopicStatement.java  |    2 +-
 .../subscription/ShowSubscriptionsStatement.java   |    2 +-
 .../metadata/subscription/ShowTopicsStatement.java |    2 +-
 .../template/ActivateTemplateStatement.java        |    3 +-
 .../template/BatchActivateTemplateStatement.java   |    3 +-
 .../template/DeactivateTemplateStatement.java      |    3 +-
 .../metadata/view/AlterLogicalViewStatement.java   |    6 +-
 .../metadata/view/CreateLogicalViewStatement.java  |    6 +-
 .../metadata/view/DeleteLogicalViewStatement.java  |    3 +-
 .../metadata/view/RenameLogicalViewStatement.java  |    2 +-
 .../plan/statement/sys/AuthorStatement.java        |   56 +-
 .../plan/statement/sys/KillQueryStatement.java     |    2 +-
 .../plan/statement/sys/ShowQueriesStatement.java   |    2 +-
 .../AbstractCastFunctionColumnTransformer.java     |   43 +-
 .../scalar/CastFunctionColumnTransformer.java      |    4 +-
 .../scalar/TryCastFunctionColumnTransformer.java   |    4 +-
 .../schemaregion/utils/ResourceByPathUtils.java    |   31 +-
 .../db/schemaengine/table/DataNodeTableCache.java  |  108 +-
 .../db/storageengine/dataregion/DataRegion.java    |   37 +-
 .../impl/ReadChunkCompactionPerformer.java         |   11 +-
 .../compaction/execute/utils/CompactionUtils.java  |    5 +-
 .../execute/utils/MultiTsFileDeviceIterator.java   |   14 +-
 ...BatchedFastAlignedSeriesCompactionExecutor.java |   26 +-
 ...edReadChunkAlignedSeriesCompactionExecutor.java |   40 +-
 .../utils/AlignedSeriesBatchCompactionUtils.java   |   28 +-
 .../fast/FastAlignedSeriesCompactionExecutor.java  |   23 +-
 .../executor/fast/SeriesCompactionExecutor.java    |   10 +-
 .../ReadChunkAlignedSeriesCompactionExecutor.java  |   31 +-
 .../utils/writer/FastCrossCompactionWriter.java    |   10 +-
 .../utils/writer/FastInnerCompactionWriter.java    |   10 +-
 .../compaction/repair/RepairDataFileScanUtil.java  |   30 +-
 .../compaction/schedule/TTLScheduleTask.java       |    4 +-
 .../selector/impl/SettleSelectorImpl.java          |    3 +
 .../dataregion/flush/MemTableFlushTask.java        |    2 +-
 .../memtable/AlignedReadOnlyMemChunk.java          |   10 +-
 .../memtable/AlignedWritableMemChunk.java          |   13 +-
 .../dataregion/memtable/TsFileProcessor.java       |    7 +-
 .../dataregion/memtable/WritableMemChunkGroup.java |    2 +-
 .../dataregion/modification/ModificationFile.java  |   69 +-
 .../read/reader/chunk/DiskAlignedChunkLoader.java  |    5 +-
 .../read/reader/chunk/MemAlignedChunkReader.java   |    4 +-
 .../read/reader/chunk/MemAlignedPageReader.java    |    6 +-
 .../metadata/DiskAlignedChunkMetadataLoader.java   |    4 +-
 .../dataregion/tsfile/TsFileResource.java          |   23 +-
 .../db/storageengine/load/LoadTsFileManager.java   |    5 +-
 .../load/active/ActiveLoadTsFileLoader.java        |    3 +-
 .../load/config/LoadTsFileConfigurator.java        |   20 +
 .../broker/SubscriptionPrefetchingQueue.java       |   47 +-
 .../broker/SubscriptionPrefetchingQueueStates.java |   96 +-
 .../broker/SubscriptionPrefetchingTabletQueue.java |    2 +-
 .../broker/SubscriptionPrefetchingTsFileQueue.java |    2 +-
 .../db/subscription/event/SubscriptionEvent.java   |   80 +-
 .../event/batch/SubscriptionPipeEventBatch.java    |   30 -
 .../batch/SubscriptionPipeTabletEventBatch.java    |   68 +-
 .../batch/SubscriptionPipeTsFileEventBatch.java    |   15 -
 .../cache/CachedSubscriptionPollResponse.java      |    5 +
 .../event/pipe/SubscriptionPipeEmptyEvent.java     |    4 +-
 .../pipe/SubscriptionPipeTabletBatchEvents.java    |   46 +-
 .../pipe/SubscriptionPipeTsFileBatchEvents.java    |    8 +-
 .../pipe/SubscriptionPipeTsFilePlainEvent.java     |    8 +-
 .../SubscriptionEventExtendableResponse.java       |    1 +
 .../event/response/SubscriptionEventResponse.java  |   10 +-
 .../response/SubscriptionEventSingleResponse.java  |    1 +
 .../response/SubscriptionEventTabletResponse.java  |  201 +++-
 .../response/SubscriptionEventTsFileResponse.java  |   32 +-
 .../db/tools/schema/SRStatementGenerator.java      |    7 +-
 .../utils/TsFileRewriteOverPrecisedI64Scan.java    |  223 ++++
 .../utils/TsFileRewriteSmallRangeI64Scan.java      |  230 ++++
 .../iotdb/db/tools/utils/TsFileSequenceScan.java   |   34 +-
 .../iotdb/db/tools/utils/TsFileStatisticScan.java  |  266 +++++
 .../apache/iotdb/db/utils/ErrorHandlingUtils.java  |    6 +-
 .../apache/iotdb/db/utils/ModificationUtils.java   |    9 +-
 .../iotdb/db/utils/constant/SqlConstant.java       |    3 +-
 .../iotdb/db/auth/AuthorizerManagerTest.java       |  318 +++---
 .../auth/authorizer/LocalFileAuthorizerTest.java   |  226 ++--
 .../db/auth/entity/DataBasePrivilegeTest.java      |   75 ++
 .../iotdb/db/auth/entity/PathPrivilegeTest.java    |   42 +-
 .../org/apache/iotdb/db/auth/entity/RoleTest.java  |   57 +-
 .../iotdb/db/auth/entity/TablePrivilegeTest.java   |   67 ++
 .../org/apache/iotdb/db/auth/entity/UserTest.java  |   14 +-
 .../db/auth/role/LocalFileRoleAccessorTest.java    |   87 +-
 .../db/auth/role/LocalFileRoleManagerTest.java     |  162 +--
 .../db/auth/user/LocalFileUserAccessorTest.java    |  119 +--
 .../db/auth/user/LocalFileUserManagerTest.java     |  117 +-
 .../dataregion/DataRegionStateMachineTest.java     |    4 +-
 .../db/queryengine/execution/exchange/Utils.java   |    3 +
 .../execution/operator/OperatorMemoryTest.java     |    2 +
 .../process/window/TableWindowOperatorTest.java    |  320 ++++++
 .../window/TableWindowOperatorTestUtils.java       |  131 +++
 .../process/window/function/FunctionTestUtils.java |  113 ++
 .../aggregate/AggregationWindowFunctionTest.java   |  195 ++++
 .../window/function/rank/CumeDistFunctionTest.java |   72 ++
 .../function/rank/DenseRankFunctionTest.java       |   71 ++
 .../window/function/rank/NTileFunctionTest.java    |  128 +++
 .../function/rank/PercentRankFunctionTest.java     |   72 ++
 .../window/function/rank/RankFunctionTest.java     |   71 ++
 .../function/rank/RowNumberFunctionTest.java       |   70 ++
 .../function/value/FirstValueFunctionTest.java     |  120 +++
 .../window/function/value/LagFunctionTest.java     |  159 +++
 .../function/value/LastValueFunctionTest.java      |  120 +++
 .../window/function/value/LeadFunctionTest.java    |  159 +++
 .../function/value/NthValueFunctionTest.java       |  150 +++
 .../window/partition/frame/FrameTestUtils.java     |  139 +++
 .../window/partition/frame/GroupsFrameTest.java    |  359 +++++++
 .../window/partition/frame/RangeFrameTest.java     | 1127 ++++++++++++++++++++
 .../window/partition/frame/RowsFrameTest.java      |  359 +++++++
 .../plan/parser/StatementGeneratorTest.java        |   13 +-
 .../metadata/write/MetadataWriteNodeSerDeTest.java |    2 +-
 .../plan/relational/analyzer/DistinctTest.java     |  209 ++++
 .../plan/relational/planner/SubqueryTest.java      |  203 ++++
 .../planner/assertions/MarkDistinctMatcher.java    |   93 ++
 .../planner/assertions/PlanMatchPattern.java       |   28 +
 .../relational/sql/parser/AuthorStatementTest.java |  351 ++++++
 .../security/encrypt/MessageDigestEncryptTest.java |    8 +-
 ...InconsistentCompressionTypeAndEncodingTest.java |    6 +-
 .../FastInnerCompactionPerformerTest.java          |    6 +-
 .../repair/RepairDataFileScanUtilTest.java         |    2 +-
 .../repair/RepairUnsortedFileCompactionTest.java   |    8 +-
 .../compaction/utils/BatchCompactionUtilsTest.java |   39 +-
 .../reader/chunk/MemAlignedChunkLoaderTest.java    |    2 +-
 .../read/reader/chunk/MemChunkLoaderTest.java      |   12 +-
 iotdb-core/metrics/core/pom.xml                    |    4 +-
 iotdb-core/metrics/interface/pom.xml               |    8 +-
 iotdb-core/metrics/pom.xml                         |    2 +-
 iotdb-core/node-commons/pom.xml                    |   24 +-
 .../conf/iotdb-system.properties.template          |    6 +-
 .../commons/auth/authorizer/BasicAuthorizer.java   |  271 ++---
 .../iotdb/commons/auth/authorizer/IAuthorizer.java |  142 +--
 .../commons/auth/authorizer/OpenIdAuthorizer.java  |    9 +-
 .../commons/auth/entity/DatabasePrivilege.java     |  250 +++++
 .../IEntityAccessor.java}                          |   42 +-
 .../iotdb/commons/auth/entity/ModelType.java}      |   12 +-
 .../iotdb/commons/auth/entity/PathPrivilege.java   |  151 +--
 .../commons/auth/entity/PriPrivilegeType.java      |  153 ---
 .../commons/auth/entity/PrivilegeModelType.java}   |   14 +-
 .../iotdb/commons/auth/entity/PrivilegeType.java   |   90 +-
 .../iotdb/commons/auth/entity/PrivilegeUnion.java  |  151 +++
 .../org/apache/iotdb/commons/auth/entity/Role.java |  558 ++++++++--
 .../iotdb/commons/auth/entity/TablePrivilege.java  |  166 +++
 .../org/apache/iotdb/commons/auth/entity/User.java |   81 +-
 .../iotdb/commons/auth/role/BasicRoleManager.java  |  267 ++---
 .../iotdb/commons/auth/role/IEntityManager.java    |   77 ++
 .../iotdb/commons/auth/role/IRoleAccessor.java     |   70 --
 .../iotdb/commons/auth/role/IRoleManager.java      |  109 --
 .../commons/auth/role/LocalFileRoleAccessor.java   |  288 ++---
 .../commons/auth/role/LocalFileRoleManager.java    |    6 +-
 .../iotdb/commons/auth/user/BasicUserManager.java  |  260 +----
 .../iotdb/commons/auth/user/IUserManager.java      |  162 ---
 .../commons/auth/user/LocalFileUserAccessor.java   |  414 ++-----
 .../commons/auth/user/LocalFileUserManager.java    |    8 +-
 .../apache/iotdb/commons/conf/CommonConfig.java    |   99 +-
 .../iotdb/commons/conf/CommonDescriptor.java       |   48 +-
 .../commons/partition/DataPartitionTable.java      |   12 +
 .../commons/partition/SeriesPartitionTable.java    |   16 +
 .../org/apache/iotdb/commons/path/PartialPath.java |    8 +-
 .../iotdb/commons/pipe/config/PipeConfig.java      |   10 +
 .../config/constant/PipeConnectorConstant.java     |    5 +
 .../pipe/connector/client/IoTDBClientManager.java  |    6 +-
 .../connector/client/IoTDBSyncClientManager.java   |   37 +-
 .../common/PipeTransferHandshakeConstant.java      |    1 +
 .../connector/protocol/IoTDBAirGapConnector.java   |   10 +-
 .../pipe/connector/protocol/IoTDBConnector.java    |    8 +
 .../connector/protocol/IoTDBSslSyncConnector.java  |    6 +-
 .../commons/pipe/receiver/IoTDBFileReceiver.java   |    7 +
 .../schema/column/ColumnHeaderConstant.java        |    5 +-
 .../apache/iotdb/commons/schema/table/TsTable.java |    4 +
 .../schema/table/column/TsTableColumnSchema.java   |   19 +
 .../apache/iotdb/commons/schema/ttl/TTLCache.java  |   27 +
 .../subscription/config/SubscriptionConfig.java    |   47 +-
 .../commons/subscription/meta/topic/TopicMeta.java |    4 +
 .../iotdb/commons/udf/access/RecordIterator.java   |    9 +-
 .../TableBuiltinAggregationFunction.java           |    2 +
 .../org/apache/iotdb/commons/utils/AuthUtils.java  |  299 +++---
 .../org/apache/iotdb/commons/utils/IOUtils.java    |  140 +--
 .../org/apache/iotdb/commons/utils/PathUtils.java  |    2 +-
 .../apache/iotdb/commons/utils/SerializeUtils.java |   21 +
 .../iotdb/commons/utils/TimePartitionUtils.java    |   13 +
 .../apache/iotdb/commons/utils/AuthUtilsTest.java  |   72 +-
 iotdb-core/pom.xml                                 |    2 +-
 iotdb-core/relational-grammar/pom.xml              |    2 +-
 .../db/relational/grammar/sql/RelationalSql.g4     |  149 ++-
 iotdb-protocol/openapi/pom.xml                     |    2 +-
 iotdb-protocol/pom.xml                             |    2 +-
 iotdb-protocol/thrift-ainode/pom.xml               |    4 +-
 iotdb-protocol/thrift-commons/pom.xml              |    2 +-
 .../thrift-commons/src/main/thrift/common.thrift   |    3 +-
 iotdb-protocol/thrift-confignode/pom.xml           |    4 +-
 .../src/main/thrift/confignode.thrift              |   84 +-
 iotdb-protocol/thrift-consensus/pom.xml            |    4 +-
 iotdb-protocol/thrift-datanode/pom.xml             |    4 +-
 .../thrift-datanode/src/main/thrift/client.thrift  |    1 +
 library-udf/pom.xml                                |    4 +-
 pom.xml                                            |   11 +-
 759 files changed, 38483 insertions(+), 11649 deletions(-)
 create mode 100644 
example/session/src/main/java/org/apache/iotdb/TableModelSubscriptionSessionExample.java
 create mode 100644 
integration-test/src/test/java/org/apache/iotdb/confignode/it/partition/IoTDBPartitionTableAutoCleanTest.java
 rename 
integration-test/src/test/java/org/apache/iotdb/confignode/it/regionmigration/{IoTDBRegionMigrateReliabilityITFramework.java
 => IoTDBRegionOperationReliabilityITFramework.java} (82%)
 create mode 100644 
integration-test/src/test/java/org/apache/iotdb/confignode/it/regionmigration/pass/commit/IoTDBRegionGroupExpandAndShrinkForIoTV1IT.java
 create mode 100644 
integration-test/src/test/java/org/apache/iotdb/confignode/it/regionmigration/pass/commit/IoTDBRegionReconstructForIoTV1IT.java
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/event/SubscriptionCommitContextSupplier.java
 => 
integration-test/src/test/java/org/apache/iotdb/confignode/it/removedatanode/SQLModel.java
 (77%)
 create mode 100644 
integration-test/src/test/java/org/apache/iotdb/db/it/auth/IoTDBClusterAuthorityRelationalIT.java
 create mode 100644 
integration-test/src/test/java/org/apache/iotdb/db/it/auth/IoTDBRelationalAuthIT.java
 create mode 100644 
integration-test/src/test/java/org/apache/iotdb/relational/it/db/it/IoTDBLoadConfigurationTableIT.java
 create mode 100644 
integration-test/src/test/java/org/apache/iotdb/relational/it/db/it/IoTDBSetSystemStatusTableIT.java
 create mode 100644 
integration-test/src/test/java/org/apache/iotdb/relational/it/query/recent/IoTDBNullValueIT.java
 create mode 100644 
integration-test/src/test/java/org/apache/iotdb/relational/it/query/recent/IoTDBQueryAuthIT.java
 create mode 100644 
integration-test/src/test/java/org/apache/iotdb/relational/it/query/recent/IoTDBTableAggregationFunctionDistinctIT.java
 create mode 100644 
integration-test/src/test/java/org/apache/iotdb/relational/it/query/recent/subquery/uncorrelated/IoTDBUncorrelatedQuantifiedComparisonIT.java
 create mode 100644 
integration-test/src/test/java/org/apache/iotdb/util/MagicUtils.java
 create mode 100644 
iotdb-client/cli/src/main/java/org/apache/iotdb/tool/common/Constants.java
 create mode 100644 
iotdb-client/cli/src/main/java/org/apache/iotdb/tool/common/ImportTsFileOperation.java
 create mode 100644 
iotdb-client/cli/src/main/java/org/apache/iotdb/tool/common/OptionsUtil.java
 create mode 100644 
iotdb-client/cli/src/main/java/org/apache/iotdb/tool/data/AbstractExportData.java
 copy 
iotdb-client/cli/src/main/java/org/apache/iotdb/tool/{tsfile/ImportTsFileBase.java
 => data/AbstractImportData.java} (55%)
 delete mode 100644 
iotdb-client/cli/src/main/java/org/apache/iotdb/tool/data/AsyncImportData.java
 create mode 100644 
iotdb-client/cli/src/main/java/org/apache/iotdb/tool/data/ExportDataTable.java
 create mode 100644 
iotdb-client/cli/src/main/java/org/apache/iotdb/tool/data/ExportDataTree.java
 create mode 100644 
iotdb-client/cli/src/main/java/org/apache/iotdb/tool/data/ImportDataTable.java
 create mode 100644 
iotdb-client/cli/src/main/java/org/apache/iotdb/tool/data/ImportDataTree.java
 create mode 100644 
iotdb-client/cli/src/test/java/org/apache/iotdb/tool/ImportTsFileOperationTest.java
 create mode 100644 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/AbstractSubscriptionSession.java
 create mode 100644 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/ISubscriptionTableSession.java
 create mode 100644 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/ISubscriptionTreeSession.java
 delete mode 100644 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/SubscriptionSession.java
 create mode 100644 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/SubscriptionSessionWrapper.java
 create mode 100644 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/SubscriptionTableSession.java
 create mode 100644 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/SubscriptionTableSessionBuilder.java
 create mode 100644 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/SubscriptionTreeSession.java
 create mode 100644 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/SubscriptionTreeSessionBuilder.java
 create mode 100644 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/ISubscriptionTablePullConsumer.java
 create mode 100644 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/ISubscriptionTablePushConsumer.java
 create mode 100644 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/ISubscriptionTreePullConsumer.java
 create mode 100644 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/ISubscriptionTreePushConsumer.java
 rename 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/{SubscriptionConsumer.java
 => base/AbstractSubscriptionConsumer.java} (90%)
 create mode 100644 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/base/AbstractSubscriptionConsumerBuilder.java
 rename 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/{SubscriptionProvider.java
 => base/AbstractSubscriptionProvider.java} (93%)
 rename 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/{SubscriptionProviders.java
 => base/AbstractSubscriptionProviders.java} (83%)
 rename 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/{SubscriptionPullConsumer.java
 => base/AbstractSubscriptionPullConsumer.java} (67%)
 create mode 100644 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/base/AbstractSubscriptionPullConsumerBuilder.java
 rename 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/{SubscriptionPushConsumer.java
 => base/AbstractSubscriptionPushConsumer.java} (66%)
 create mode 100644 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/base/AbstractSubscriptionPushConsumerBuilder.java
 rename 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/{
 => base}/SubscriptionExecutorServiceManager.java (99%)
 create mode 100644 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/table/SubscriptionTableProvider.java
 create mode 100644 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/table/SubscriptionTablePullConsumer.java
 create mode 100644 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/table/SubscriptionTablePullConsumerBuilder.java
 create mode 100644 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/table/SubscriptionTablePushConsumer.java
 create mode 100644 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/table/SubscriptionTablePushConsumerBuilder.java
 create mode 100644 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/tree/SubscriptionTreeProvider.java
 create mode 100644 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/tree/SubscriptionTreePullConsumer.java
 create mode 100644 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/tree/SubscriptionTreePullConsumerBuilder.java
 create mode 100644 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/tree/SubscriptionTreePushConsumer.java
 create mode 100644 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/consumer/tree/SubscriptionTreePushConsumerBuilder.java
 delete mode 100644 
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/read/auth/AuthorReadPlan.java
 create mode 100644 
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/auth/AuthorRelationalPlan.java
 copy 
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/auth/{AuthorPlan.java
 => AuthorTreePlan.java} (54%)
 create mode 100644 
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/partition/AutoCleanPartitionTablePlan.java
 create mode 100644 
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/PartitionTableAutoCleaner.java
 create mode 100644 
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/region/ReconstructRegionProcedure.java
 copy 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/model/Subscription.java
 => 
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/region/RegionOperationProcedure.java
 (53%)
 copy 
iotdb-core/{datanode/src/main/java/org/apache/iotdb/db/subscription/event/SubscriptionCommitContextSupplier.java
 => 
confignode/src/main/java/org/apache/iotdb/confignode/procedure/state/ReconstructRegionState.java}
 (77%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/TableWindowOperator.java
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/{source/relational/aggregation/grouped/GroupedAccumulator.java
 => process/window/function/WindowFunction.java} (56%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/aggregate/AggregationWindowFunction.java
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/{source/relational/aggregation/TableAggregator.java
 => process/window/function/aggregate/WindowAggregator.java} (54%)
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/{source/relational/aggregation/grouped/GroupedAccumulator.java
 => process/window/function/rank/CumeDistFunction.java} (55%)
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/{source/relational/aggregation/grouped/GroupedAccumulator.java
 => process/window/function/rank/DenseRankFunction.java} (55%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/rank/NTileFunction.java
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/{source/relational/aggregation/grouped/GroupedAccumulator.java
 => process/window/function/rank/PercentRankFunction.java} (50%)
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/{source/relational/aggregation/grouped/GroupedAccumulator.java
 => process/window/function/rank/RankFunction.java} (55%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/rank/RankWindowFunction.java
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{subscription/event/pipe/SubscriptionPipeEmptyEvent.java
 => 
queryengine/execution/operator/process/window/function/rank/RowNumberFunction.java}
 (57%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/value/FirstValueFunction.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/value/LagFunction.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/value/LastValueFunction.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/value/LeadFunction.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/value/NthValueFunction.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/value/ValueWindowFunction.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/partition/Partition.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/partition/PartitionExecutor.java
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/{plan/relational/security/TableModelPrivilege.java
 => execution/operator/process/window/partition/frame/Frame.java} (68%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/partition/frame/FrameInfo.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/partition/frame/GroupsFrame.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/partition/frame/RangeFrame.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/partition/frame/RowsFrame.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/utils/ColumnList.java
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{subscription/event/SubscriptionCommitContextSupplier.java
 => queryengine/execution/operator/process/window/utils/Range.java} (66%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/utils/RowComparator.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/MarkDistinctOperator.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/AggregationMask.java
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/{CountIfAccumulator.java
 => CountAllAccumulator.java} (74%)
 copy 
integration-test/src/main/java/org/apache/iotdb/it/env/remote/config/RemoteDataNodeConfig.java
 => 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/MaskedRecordIterator.java
 (56%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/aggregation/grouped/hash/MarkDistinctHash.java
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/metadata/{MigrateRegionTask.java
 => RemoveDataNodeTask.java} (79%)
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/metadata/{MigrateRegionTask.java
 => region/ExtendRegionTask.java} (57%)
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/metadata/{
 => region}/MigrateRegionTask.java (69%)
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/metadata/{MigrateRegionTask.java
 => region/ReconstructRegionTask.java} (54%)
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/metadata/{MigrateRegionTask.java
 => region/RemoveRegionTask.java} (57%)
 rename 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/metadata/{MigrateRegionTask.java
 => relational/RelationalAuthorizerTask.java} (67%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/SimplePlanRewriter.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/MultipleDistinctAggregationToMarkDistinct.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneMarkDistinctColumns.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/SingleDistinctAggregationToGroupBy.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/MarkDistinctNode.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/TransformQuantifiedComparisonApplyToCorrelatedJoin.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/security/ITableAuthCheckerImpl.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ExtendRegion.java
 copy 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/model/Topic.java
 => 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/LoadConfiguration.java
 (63%)
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/{statement/metadata/MigrateRegionStatement.java
 => relational/sql/ast/MigrateRegion.java} (53%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/ReconstructRegion.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/RelationalAuthorStatement.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/RemoveDataNode.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/RemoveRegion.java
 copy 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/model/Topic.java
 => 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/SetSystemStatus.java
 (63%)
 copy 
integration-test/src/main/java/org/apache/iotdb/itbase/env/DataNodeConfig.java 
=> 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/type/AuthorRType.java
 (56%)
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/{DropFunctionStatement.java
 => RemoveDataNodeStatement.java} (81%)
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/{model/DropModelStatement.java
 => region/ExtendRegionStatement.java} (80%)
 rename 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/{
 => region}/MigrateRegionStatement.java (77%)
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/{model/DropModelStatement.java
 => region/ReconstructRegionStatement.java} (79%)
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/metadata/{model/DropModelStatement.java
 => region/RemoveRegionStatement.java} (80%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/tools/utils/TsFileRewriteOverPrecisedI64Scan.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/tools/utils/TsFileRewriteSmallRangeI64Scan.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/tools/utils/TsFileStatisticScan.java
 create mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/auth/entity/DataBasePrivilegeTest.java
 create mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/auth/entity/TablePrivilegeTest.java
 create mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/TableWindowOperatorTest.java
 create mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/TableWindowOperatorTestUtils.java
 create mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/FunctionTestUtils.java
 create mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/aggregate/AggregationWindowFunctionTest.java
 create mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/rank/CumeDistFunctionTest.java
 create mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/rank/DenseRankFunctionTest.java
 create mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/rank/NTileFunctionTest.java
 create mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/rank/PercentRankFunctionTest.java
 create mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/rank/RankFunctionTest.java
 create mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/rank/RowNumberFunctionTest.java
 create mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/value/FirstValueFunctionTest.java
 create mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/value/LagFunctionTest.java
 create mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/value/LastValueFunctionTest.java
 create mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/value/LeadFunctionTest.java
 create mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/function/value/NthValueFunctionTest.java
 create mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/partition/frame/FrameTestUtils.java
 create mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/partition/frame/GroupsFrameTest.java
 create mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/partition/frame/RangeFrameTest.java
 create mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/execution/operator/process/window/partition/frame/RowsFrameTest.java
 create mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/assertions/MarkDistinctMatcher.java
 create mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/sql/parser/AuthorStatementTest.java
 create mode 100644 
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/auth/entity/DatabasePrivilege.java
 rename 
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/auth/{user/IUserAccessor.java
 => entity/IEntityAccessor.java} (60%)
 copy 
iotdb-core/{datanode/src/main/java/org/apache/iotdb/db/subscription/event/SubscriptionCommitContextSupplier.java
 => 
node-commons/src/main/java/org/apache/iotdb/commons/auth/entity/ModelType.java} 
(77%)
 delete mode 100644 
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/auth/entity/PriPrivilegeType.java
 rename 
iotdb-core/{datanode/src/main/java/org/apache/iotdb/db/subscription/event/SubscriptionCommitContextSupplier.java
 => 
node-commons/src/main/java/org/apache/iotdb/commons/auth/entity/PrivilegeModelType.java}
 (77%)
 create mode 100644 
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/auth/entity/PrivilegeUnion.java
 create mode 100644 
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/auth/entity/TablePrivilege.java
 create mode 100644 
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/auth/role/IEntityManager.java
 delete mode 100644 
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/auth/role/IRoleAccessor.java
 delete mode 100644 
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/auth/role/IRoleManager.java
 delete mode 100644 
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/auth/user/IUserManager.java

Reply via email to