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

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


    from d07c81865bd fix check data type and add load IT
     add 3ac203c4e79 Pipe: Implement table meta/deletion sync & Fix the bug 
that delete data node's pattern is not parsed / pipe transferred delete data 
node's progressIndex is not binded & Implement mem control for schema snapshot 
parser (#14156)
     add b349f565fd8 Pipe/Load: Fixed the issue where the TsFileResource of the 
PlainDeviceTimeIndex type was judged to be empty (triggered by IoTDB loading 
TsFiles in v3 and the tsfiles are syned to other clusters) (#14692)
     add 97a08c880fb Pipe Plugin: intro class annotations for pipe plugin & 
tree/table model isolation for drop/show pipe plugin operations (#14673)
     add f2e20b54408 Modify tablet usage & don't cache TableSchema map in 
default option (#14635)
     add f129298c9e8 Pipe: Fix PipeWriteBackSink using toTPipeTransferReq 
causing NPE due to uninitialized buffer (#14672)
     add 701a5156e7a Pipe: Optimize the process of collecting 
PipeTsFileInsertionEvent in table model to reduce unnecessary parsing of TsFile 
(#14697)
     add b4edfdf1d68 IoTConsensusV2: Accelerate follower receive dispatch based 
on TPCx case
     add b51f63c7108 Load: Fix some issues during loading tsfiles of old 
version (#14649)
     add c65b8264156 Pipe: strict check for synonym pipe parameters to avoid 
ambiguity (#14694)
     add a11401b494f add repair data for table model (#14705)
     add c3df7d54496 Renaming the IT Methods of the IoTDB REST Service Table 
Model (#14681)
     add 6cb9035e8f6 Pipe IT: Added flush for assertData on targetEnv to avoid 
IoTV2 batch mode lead to large delay (#14707)
     add 42878058f11 [RATISCONSENSUS] Bump ratis version to 3.1.3 (#14709)
     add 6961e2154a7 Fix NPE when concurrent closing mod files (#14708)
     add 8e7605f80db Fix cache invalidation failure and add retry (#14711)
     add 44e9725ab94 Publish build scans to develocity.apache.org (#14701)
     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
     new 3d768032f02 Merge branch 'master' into force_ci/alter_column_datatype

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .github/workflows/cluster-it-1c1d.yml              |   2 +-
 .github/workflows/cluster-it-1c1d1a.yml            |   2 +-
 .github/workflows/cluster-it-1c3d.yml              |   2 +-
 .github/workflows/compile-check.yml                |   2 +-
 .github/workflows/daily-it.yml                     |  38 +-
 .github/workflows/daily-ut.yml                     |   2 +-
 .github/workflows/dependency-check.yml             |   2 +-
 .github/workflows/pipe-it-2cluster.yml             |   2 +-
 .github/workflows/sonar-codecov.yml                |   2 +-
 .github/workflows/table-cluster-it-1c1d.yml        |   2 +-
 .github/workflows/table-cluster-it-1c3d.yml        |   2 +-
 .github/workflows/unit-test.yml                    |   2 +-
 .github/workflows/vulnerability-check.yml          |   2 +-
 .mvn/develocity.xml                                |   3 +-
 .mvn/extensions.xml                                |   4 +-
 .../java/org/apache/iotdb/CountPointProcessor.java |   2 +
 .../iotdb/AlignedTimeseriesSessionExample.java     |  67 +-
 .../org/apache/iotdb/SessionConcurrentExample.java |  23 -
 .../main/java/org/apache/iotdb/SessionExample.java | 107 +--
 .../apache/iotdb/SubscriptionSessionExample.java   |  35 +-
 .../TableModelSubscriptionSessionExample.java      | 173 ++++
 .../org/apache/iotdb/trigger/LoggerTrigger.java    |  12 +-
 .../iotdb/trigger/StatisticsUpdaterTrigger.java    |   4 +-
 integration-test/pom.xml                           |   2 +
 .../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   |   4 +-
 .../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 |   2 +-
 .../iotdb/it/env/remote/env/RemoteServerEnv.java   |   7 +
 .../org/apache/iotdb/it/utils/TsFileGenerator.java |  87 +-
 .../iotdb/it/utils/TsFileTableGenerator.java       |  78 +-
 .../java/org/apache/iotdb/itbase/env/BaseEnv.java  |   4 +
 .../org/apache/iotdb/itbase/env/CommonConfig.java  |   4 +
 .../apache/iotdb/itbase/env/DataNodeConfig.java    |   2 +-
 .../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     |   9 +-
 .../org/apache/iotdb/db/it/IoTDBLoadTsFileIT.java  |   2 +-
 .../iotdb/db/it/IoTDBLoadTsFileWithModIT.java      | 172 ++++
 .../it/IoTDBSyntaxConventionStringLiteralIT.java   |   3 +-
 .../org/apache/iotdb/db/it/utils/TestUtils.java    | 256 +++++-
 .../pipe/it/autocreate/IoTDBPipeAutoDropIT.java    |  10 +-
 .../pipe/it/autocreate/IoTDBPipeClusterIT.java     |  98 +++
 .../pipe/it/autocreate/IoTDBPipeIdempotentIT.java  |  93 +++
 .../pipe/it/autocreate/IoTDBPipeNullValueIT.java   |  28 +-
 .../pipe/it/manual/IoTDBPipeReqAutoSliceIT.java    |   8 +-
 ...nclusionIT.java => IoTDBPipeTableManualIT.java} | 222 ++---
 .../manual/IoTDBPipeTypeConversionISessionIT.java  |  10 +-
 .../pipe/it/tablemodel/IoTDBPipeAutoDropIT.java    |  10 +-
 .../pipe/it/tablemodel/IoTDBPipeClusterIT.java     |  65 ++
 .../pipe/it/tablemodel/IoTDBPipeDataSinkIT.java    |  43 +-
 .../pipe/it/tablemodel/IoTDBPipeProtocolIT.java    |   1 -
 .../pipe/it/tablemodel/IoTDBPipeSyntaxIT.java      |   2 +-
 .../IoTDBPipeTypeConversionISessionIT.java         |  22 +-
 .../iotdb/pipe/it/tablemodel/TableModelUtils.java  |  53 +-
 .../relational/it/db/it/IoTDBDeletionTableIT.java  | 282 ++++++-
 .../udf/IoTDBUserDefinedAggregateFunctionIT.java   |  53 +-
 .../scalar/IoTDBFormatFunctionTableIT.java         |  18 +-
 .../IoTDBTableAggregationFunctionDistinctIT.java   | 374 +++++++++
 .../it/query/recent/IoTDBTableAggregationIT.java   | 893 ++++++++++++++++++++-
 .../IoTDBUncorrelatedQuantifiedComparisonIT.java   | 674 ++++++++++++++++
 .../it/rest/it/IoTDBRestServiceCaseWhenThenIT.java |   7 +-
 .../it/rest/it/IoTDBRestServiceFlushQueryIT.java   |   6 +-
 .../relational/it/rest/it/IoTDBRestServiceIT.java  |   3 +-
 ...IT.java => IoTDBRestServiceInsertValuesIT.java} |  20 +-
 .../it/schema/IoTDBAlterColumnTypeIT.java          |   2 +-
 .../iotdb/session/it/IoTDBSessionComplexIT.java    |   8 +-
 .../iotdb/session/it/IoTDBSessionSimpleIT.java     |  42 +-
 .../session/it/IoTDBSessionSyntaxConventionIT.java |  18 +-
 .../org/apache/iotdb/session/it/SessionIT.java     |  32 +-
 .../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      |  18 +-
 .../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 ++
 .../java/org/apache/iotdb/pipe/api/PipePlugin.java |  37 +
 .../iotdb/pipe/api/annotation/TableModel.java      |  18 +-
 .../iotdb/pipe/api/annotation/TreeModel.java       |  18 +-
 .../parameter/PipeParameterValidator.java          |  42 +-
 .../org/apache/iotdb/tool/tsfile/ExportTsFile.java |   3 -
 .../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 +-
 .../java/org/apache/iotdb/session/Session.java     |  27 +-
 .../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 +-
 .../payload/SubscriptionSessionDataSet.java        |  12 +-
 .../apache/iotdb/session/util/SessionUtils.java    |  25 +-
 .../java/org/apache/iotdb/session/TabletTest.java  |  28 +-
 .../iotdb/session/util/SessionUtilsTest.java       |  16 +-
 .../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/confignode/conf/ConfigNodeConfig.java    |   9 +
 .../consensus/request/ConfigPhysicalPlan.java      |  14 +-
 .../consensus/request/ConfigPhysicalPlanType.java  |   3 +
 .../request/ConfigPhysicalPlanVisitor.java         | 110 ++-
 .../partition/AutoCleanPartitionTablePlan.java     |  99 +++
 .../payload/PipeCreateTablePlan.java}              |  15 +-
 .../pipe/payload/PipeDeactivateTemplatePlan.java   |  22 +-
 .../write/pipe/payload/PipeDeleteDevicesPlan.java  | 130 +++
 .../request/write/table/PreCreateTablePlan.java    |  11 +-
 .../response/pipe/plugin/PipePluginTableResp.java  |  27 +-
 .../response/pipe/task/PipeTableResp.java          |   2 +-
 .../iotdb/confignode/manager/ClusterManager.java   |   2 +-
 .../iotdb/confignode/manager/ConfigManager.java    |  38 +-
 .../apache/iotdb/confignode/manager/IManager.java  |  13 +
 .../iotdb/confignode/manager/ProcedureManager.java | 500 +++++++++---
 .../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 +-
 .../payload/PipeTransferConfigSnapshotSealReq.java |  32 +-
 .../protocol/IoTDBConfigRegionAirGapConnector.java |   8 +
 .../protocol/IoTDBConfigRegionConnector.java       |  10 +-
 .../coordinator/plugin/PipePluginCoordinator.java  |  29 +
 .../pipe/event/PipeConfigRegionSnapshotEvent.java  |   3 +-
 .../extractor/ConfigRegionListeningFilter.java     |  89 +-
 .../pipe/extractor/ConfigRegionListeningQueue.java |  23 +-
 .../pipe/extractor/IoTDBConfigRegionExtractor.java |  74 +-
 ...ConfigPhysicalPlanTablePatternParseVisitor.java | 135 ++++
 ...ConfigPhysicalPlanTreePatternParseVisitor.java} |   6 +-
 .../receiver/protocol/IoTDBConfigNodeReceiver.java | 170 +++-
 .../PipeConfigPhysicalPlanTSStatusVisitor.java     |  76 ++
 .../manager/schema/ClusterSchemaManager.java       |  29 +-
 .../iotdb/confignode/persistence/TTLInfo.java      |  16 +
 .../persistence/executor/ConfigPlanExecutor.java   |   4 +
 .../partition/DatabasePartitionTable.java          |  10 +
 .../persistence/partition/PartitionInfo.java       |  19 +
 .../confignode/persistence/pipe/PipeInfo.java      |   2 +-
 .../persistence/pipe/PipePluginInfo.java           |  39 +-
 .../confignode/persistence/pipe/PipeTaskInfo.java  |   7 +-
 .../schema/CNPhysicalPlanGenerator.java            |  77 +-
 .../persistence/schema/ClusterSchemaInfo.java      |   6 +-
 .../confignode/persistence/schema/ConfigMTree.java |   5 +-
 .../schema/ConfignodeSnapshotParser.java           |  30 +-
 .../confignode/procedure/InternalProcedure.java    |   5 -
 .../procedure/PartitionTableAutoCleaner.java       |  81 ++
 .../iotdb/confignode/procedure/Procedure.java      |  78 --
 .../confignode/procedure/ProcedureExecutor.java    | 115 +--
 .../procedure/env/ConfigNodeProcedureEnv.java      |  23 +-
 .../procedure/env/RegionMaintainHandler.java       |  13 +-
 .../procedure/impl/StateMachineProcedure.java      | 181 ++---
 .../impl/pipe/task/CreatePipeProcedureV2.java      |  42 +-
 .../impl/region/AddRegionPeerProcedure.java        |  84 +-
 .../impl/region/ReconstructRegionProcedure.java    | 209 +++++
 .../impl/region/RegionMigrateProcedure.java        |  39 +-
 .../impl/region/RegionOperationProcedure.java}     |  33 +-
 .../impl/region/RemoveRegionPeerProcedure.java     |  52 +-
 .../impl/schema/DeleteDatabaseProcedure.java       |   2 +-
 .../impl/schema/DeleteTimeSeriesProcedure.java     |   4 +-
 .../table/AbstractAlterOrDropTableProcedure.java   |  10 +-
 .../impl/schema/table/AddTableColumnProcedure.java |  16 +-
 .../table/AlterTableColumnDataTypeProcedure.java   |   9 +-
 .../impl/schema/table/CreateTableProcedure.java    |  20 +-
 .../impl/schema/table/DeleteDevicesProcedure.java  |  43 +-
 .../schema/table/DropTableColumnProcedure.java     |  21 +-
 .../impl/schema/table/DropTableProcedure.java      |  24 +-
 .../schema/table/RenameTableColumnProcedure.java   |  18 +-
 .../schema/table/SetTablePropertiesProcedure.java  |  18 +-
 .../procedure/impl/sync/StartPipeProcedure.java    |   6 -
 .../impl/trigger/CreateTriggerProcedure.java       |   9 +-
 ...itionState.java => ReconstructRegionState.java} |   8 +-
 .../procedure/store/ProcedureFactory.java          |  42 +-
 .../confignode/procedure/store/ProcedureType.java  |  12 +-
 .../thrift/ConfigNodeRPCServiceProcessor.java      |  24 +
 .../request/ConfigPhysicalPlanSerDeTest.java       |  59 ++
 .../response/pipe/PipePluginTableRespTest.java     |   4 +-
 .../confignode/manager/load/LoadManagerTest.java   |  12 +-
 .../manager/load/cache/RegionGroupCacheTest.java   | 132 +--
 .../connector/PipeConfigNodeThriftRequestTest.java |  12 +-
 ...igPhysicalPlanTablePatternParseVisitorTest.java | 133 +++
 ...igPhysicalPlanTreePatternParseVisitorTest.java} |  44 +-
 .../pipe/annotation/PipePluginAnnotationTest.java} |  20 +-
 .../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   | 194 +++++
 .../schema/table/AddTableColumnProcedureTest.java  |   8 +-
 .../schema/table/CreateTableProcedureTest.java     |   5 +-
 .../schema/table/DeleteDevicesProcedureTest.java   |   5 +-
 .../schema/table/DropTableColumnProcedureTest.java |   4 +-
 .../impl/schema/table/DropTableProcedureTest.java  |   4 +-
 .../table/RenameTableColumnProcedureTest.java      |   4 +-
 .../table/SetTablePropertiesProcedureTest.java     |   6 +-
 .../apache/iotdb/consensus/ratis/RatisClient.java  |   6 +-
 .../apache/iotdb/consensus/ratis/utils/Utils.java  |   1 +
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java |  11 -
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  |  20 +-
 .../dataregion/DataExecutionVisitor.java           |   9 +-
 .../dataregion/DataRegionStateMachine.java         | 144 +---
 .../schemaregion/SchemaRegionStateMachine.java     |  15 +-
 .../pipe/agent/plugin/PipeDataNodePluginAgent.java |  20 +-
 .../dataregion/PipeDataRegionPluginAgent.java      |  49 ++
 .../agent/task/connection/PipeEventCollector.java  |  35 +-
 .../client/IoTDBDataNodeAsyncClientManager.java    |   2 +-
 .../PipeTransferDataNodeHandshakeV1Req.java        |  10 +-
 .../evolvable/request/PipeTransferPlanNodeReq.java |  18 +-
 .../request/PipeTransferSchemaSnapshotSealReq.java |  94 ++-
 .../request/PipeTransferTabletInsertNodeReqV2.java |   2 +-
 .../request/PipeTransferTsFileSealWithModReq.java  |  42 +-
 .../airgap/IoTDBDataNodeAirGapConnector.java       |   4 +
 .../airgap/IoTDBDataRegionAirGapConnector.java     |   4 +
 .../airgap/IoTDBSchemaRegionAirGapConnector.java   |  19 +-
 .../protocol/legacy/IoTDBLegacyPipeConnector.java  |   2 +
 .../connector/protocol/opcua/OpcUaConnector.java   |   4 +
 .../connector/protocol/opcua/OpcUaNameSpace.java   |  36 +-
 .../pipeconsensus/PipeConsensusAsyncConnector.java |   4 +
 .../pipeconsensus/PipeConsensusSyncConnector.java  |   4 +
 .../async/IoTDBDataRegionAsyncConnector.java       |   4 +
 .../thrift/sync/IoTDBDataNodeSyncConnector.java    |   4 +
 .../thrift/sync/IoTDBDataRegionSyncConnector.java  |   4 +
 .../thrift/sync/IoTDBSchemaRegionConnector.java    |  26 +-
 .../protocol/websocket/WebSocketConnector.java     |   2 +
 .../protocol/writeback/WriteBackConnector.java     | 199 ++++-
 .../util/builder/PipeTableModeTsFileBuilder.java   |   6 +-
 .../util/builder/PipeTreeModelTsFileBuilder.java   |   4 +-
 .../sorter/PipeTableModelTabletEventSorter.java    |  54 +-
 .../sorter/PipeTreeModelTabletEventSorter.java     |  24 +-
 .../pipe/consensus/deletion/DeletionResource.java  |   2 +-
 .../db/pipe/event/common/PipeInsertionEvent.java   |  15 +-
 .../common/deletion/PipeDeleteDataNodeEvent.java   |  24 +-
 .../db/pipe/event/common/row/PipeRowCollector.java |   2 +-
 .../schema/PipeSchemaRegionSnapshotEvent.java      |  75 +-
 .../schema/PipeSchemaSerializableEventType.java    |  15 +-
 .../common/tablet/PipeRawTabletInsertionEvent.java |   2 +-
 .../tablet/parser/TabletInsertionEventParser.java  |   8 +-
 .../TabletInsertionEventTreePatternParser.java     |  13 +-
 .../scan/TsFileInsertionEventScanParser.java       |  61 +-
 .../table/TsFileInsertionEventTableParser.java     |   2 +-
 .../dataregion/DataRegionListeningFilter.java      |  21 +-
 .../dataregion/IoTDBDataRegionExtractor.java       | 136 ++--
 ...oricalDataRegionTsFileAndDeletionExtractor.java |   4 +-
 .../listener/PipeInsertionDataNodeListener.java    |  27 +-
 .../schemaregion/IoTDBSchemaRegionExtractor.java   |  28 +-
 .../PipePlanTablePatternParseVisitor.java          |  77 ++
 ...r.java => PipePlanTreePatternParseVisitor.java} |   7 +-
 .../schemaregion/SchemaRegionListeningFilter.java  |  87 +-
 .../schemaregion/SchemaRegionListeningQueue.java   |   8 +-
 .../pipe/metric/PipeDataNodeReceiverMetrics.java   |  48 +-
 .../processor/aggregate/AggregateProcessor.java    |   2 +
 .../StandardStatisticsOperatorProcessor.java       |   2 +
 .../processor/TumblingWindowingProcessor.java      |   2 +
 .../changing/ChangingValueSamplingProcessor.java   |   2 +
 .../sdt/SwingingDoorTrendingSamplingProcessor.java |   2 +
 .../tumbling/TumblingTimeSamplingProcessor.java    |   2 +
 .../pipeconsensus/PipeConsensusProcessor.java      |   4 +
 .../schemachange/RenameDatabaseProcessor.java      |  11 +-
 .../twostage/plugin/TwoStageCountProcessor.java    |  37 +-
 .../pipeconsensus/PipeConsensusReceiver.java       |   2 +
 .../protocol/thrift/IoTDBDataNodeReceiver.java     | 216 +++--
 .../visitor/PipePlanToStatementVisitor.java        |  54 +-
 .../PipeStatementTablePatternParseVisitor.java}    |  24 +-
 ...a => PipeStatementTreePatternParseVisitor.java} |   6 +-
 ...r.java => PipeTreeStatementToBatchVisitor.java} |   2 +-
 .../pipe/resource/memory/PipeMemoryWeightUtil.java |  69 +-
 .../iotdb/db/protocol/client/ConfigNodeClient.java |  29 +
 .../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       |   3 +-
 .../thrift/impl/DataNodeRegionManager.java         |   4 +-
 .../execution/executor/RegionWriteExecutor.java    |  66 +-
 .../source/relational/MarkDistinctOperator.java    | 170 ++++
 .../relational/aggregation/AccumulatorFactory.java | 247 +++++-
 .../relational/aggregation/AggregationMask.java    | 204 +++++
 .../relational/aggregation/AvgAccumulator.java     | 122 ++-
 .../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 +++-
 .../MaskedRecordIterator.java}                     |  24 +-
 .../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 +++-
 .../aggregation/grouped/hash/GroupByHash.java      |   2 +
 .../aggregation/grouped/hash/MarkDistinctHash.java |  90 +++
 .../relational/ColumnTransformerBuilder.java       |   6 +-
 .../iotdb/db/queryengine/plan/Coordinator.java     |   8 +-
 .../db/queryengine/plan/analyze/AnalyzeUtils.java  |   9 +-
 .../queryengine/plan/analyze/AnalyzeVisitor.java   |   4 +-
 .../analyze/load/LoadTsFileTableSchemaCache.java   |   3 +-
 .../load/LoadTsFileToTableModelAnalyzer.java       |  16 +-
 .../load/LoadTsFileToTreeModelAnalyzer.java        |   5 +-
 .../analyze/load/LoadTsFileTreeSchemaCache.java    |   3 +-
 .../queryengine/plan/execution/QueryExecution.java |   2 -
 .../execution/config/TableConfigTaskVisitor.java   | 156 +++-
 .../execution/config/TreeConfigTaskVisitor.java    |  38 +-
 .../config/executor/ClusterConfigTaskExecutor.java | 209 ++++-
 .../config/executor/IConfigTaskExecutor.java       |  22 +-
 .../config/metadata/DropPipePluginTask.java        |  13 +-
 ...rateRegionTask.java => RemoveDataNodeTask.java} |  12 +-
 .../config/metadata/ShowPipePluginsTask.java       |  20 +-
 .../ExtendRegionTask.java}                         |  14 +-
 .../metadata/{ => region}/MigrateRegionTask.java   |   4 +-
 .../ReconstructRegionTask.java}                    |  16 +-
 .../RemoveRegionTask.java}                         |  14 +-
 .../metadata/relational/ShowTablesDetailsTask.java |  47 +-
 .../config/metadata/relational/ShowTablesTask.java |  35 +-
 .../db/queryengine/plan/parser/ASTVisitor.java     |  41 +-
 .../plan/planner/LogicalPlanVisitor.java           |   7 +-
 .../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 +-
 .../node/metadata/write/CreateTimeSeriesNode.java  |  74 +-
 .../plan/node/pipe/PipeEnrichedDeleteDataNode.java |  79 +-
 .../plan/node/pipe/PipeEnrichedInsertNode.java     |  49 +-
 .../plan/node/pipe/PipeEnrichedWritePlanNode.java  |  23 +-
 .../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     |  93 ++-
 .../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 +-
 .../plan/relational/planner/RelationPlanner.java   |  91 ++-
 .../relational/planner/SimplePlanRewriter.java     |  88 ++
 .../relational/planner/TableLogicalPlanner.java    |  15 +-
 .../distribute/TableDistributedPlanGenerator.java  |  24 +
 .../MultipleDistinctAggregationToMarkDistinct.java | 202 +++++
 ...tColumns.java => PruneMarkDistinctColumns.java} |  26 +-
 .../rule/SingleDistinctAggregationToGroupBy.java   | 160 ++++
 .../relational/planner/node/AggregationNode.java   |   6 +-
 .../relational/planner/node/MarkDistinctNode.java  | 162 ++++
 .../plan/relational/planner/node/Patterns.java     |   7 +-
 .../node/schema/CreateOrUpdateTableDeviceNode.java |  14 +-
 .../optimizations/LogicalOptimizeFactory.java      |  23 +-
 .../PushAggregationIntoTableScan.java              |   4 +
 .../optimizations/PushPredicateIntoTableScan.java  | 125 ++-
 ...mQuantifiedComparisonApplyToCorrelatedJoin.java | 341 ++++++++
 .../optimizations/UnaliasSymbolReferences.java     |  21 +
 .../relational/sql/ast/AbstractTraverseDevice.java |   8 +
 .../plan/relational/sql/ast/AstVisitor.java        |  14 +-
 .../relational/sql/ast/CreateOrUpdateDevice.java   |  31 +-
 .../plan/relational/sql/ast/CreatePipe.java        |   4 +-
 .../plan/relational/sql/ast/Delete.java            |  28 +-
 .../plan/relational/sql/ast/PipeEnriched.java      |   8 +-
 .../{ShowDataNodes.java => RemoveDataNode.java}    |  24 +-
 ...{SetConfiguration.java => StartRepairData.java} |   6 +-
 .../plan/relational/sql/ast/Statement.java         |   4 +-
 .../{SetConfiguration.java => StopRepairData.java} |   6 +-
 .../plan/relational/sql/ast/Update.java            |   6 +-
 .../plan/relational/sql/parser/AstBuilder.java     |  38 +-
 .../plan/scheduler/ClusterScheduler.java           |   4 -
 .../plan/scheduler/load/LoadTsFileScheduler.java   |   7 +-
 .../plan/statement/StatementVisitor.java           |  23 +-
 .../plan/statement/crud/InsertBaseStatement.java   |  16 +-
 .../plan/statement/crud/InsertRowStatement.java    |   4 +-
 .../plan/statement/crud/InsertTabletStatement.java |   4 +-
 .../metadata/AlterTimeSeriesStatement.java         |   7 +-
 ...Statement.java => RemoveDataNodeStatement.java} |  38 +-
 .../metadata/pipe/DropPipePluginStatement.java     |  17 +-
 .../metadata/pipe/ShowPipePluginsStatement.java    |  23 +-
 .../region/ExtendRegionStatement.java}             |  36 +-
 .../{ => region}/MigrateRegionStatement.java       |  16 +-
 .../region/ReconstructRegionStatement.java}        |  36 +-
 .../region/RemoveRegionStatement.java}             |  36 +-
 .../plan/statement/pipe/PipeEnrichedStatement.java |  10 +-
 .../AbstractCastFunctionColumnTransformer.java     |  43 +-
 .../scalar/CastFunctionColumnTransformer.java      |   4 +-
 .../scalar/TryCastFunctionColumnTransformer.java   |   4 +-
 .../attribute/DeviceAttributeStore.java            |  10 +-
 .../attribute/IDeviceAttributeStore.java           |   6 +-
 .../schemaregion/impl/SchemaRegionMemoryImpl.java  | 136 ++--
 .../schemaregion/mtree/impl/mem/MemMTreeStore.java |  52 +-
 .../mtree/impl/mem/mnode/basic/BasicMNode.java     |  22 +-
 .../impl/mem/snapshot/MemMTreeSnapshotUtil.java    |  37 +-
 .../db/schemaengine/table/DataNodeTableCache.java  | 108 ++-
 .../db/storageengine/dataregion/DataRegion.java    |  39 +-
 .../task/InsertionCrossSpaceCompactionTask.java    |   3 -
 .../utils/CompactionTableSchemaCollector.java      |   2 +-
 .../compaction/execute/utils/CompactionUtils.java  |   5 +-
 .../compaction/repair/RepairDataFileScanUtil.java  |  30 +-
 .../compaction/schedule/TTLScheduleTask.java       |   4 +-
 .../selector/impl/SettleSelectorImpl.java          |   3 +
 .../dataregion/memtable/TsFileProcessor.java       |   4 +
 .../dataregion/modification/ModificationFile.java  | 152 +++-
 .../modification/PartitionLevelModFileManager.java |   5 +-
 .../dataregion/snapshot/SnapshotTaker.java         |   2 +-
 .../dataregion/tsfile/TsFileResource.java          |  27 +-
 .../tsfile/timeindex/ArrayDeviceTimeIndex.java     |  20 +
 .../db/storageengine/load/LoadTsFileManager.java   |   2 +-
 .../load/splitter/TsFileSplitter.java              |   5 +-
 .../broker/SubscriptionPrefetchingQueue.java       |  47 +-
 .../broker/SubscriptionPrefetchingQueueStates.java |  96 ++-
 .../broker/SubscriptionPrefetchingTabletQueue.java |   2 +-
 .../broker/SubscriptionPrefetchingTsFileQueue.java |   2 +-
 .../event/SubscriptionCommitContextSupplier.java   |  28 -
 .../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      | 208 +++--
 .../tools/schema/SchemaRegionSnapshotParser.java   |  32 +-
 .../iotdb/db/utils/constant/SqlConstant.java       |   1 +
 .../dataregion/DataRegionStateMachineTest.java     |   4 +-
 .../connector/PipeDataNodeThriftRequestTest.java   |  22 +-
 .../PipeStatementTablePatternParseVisitorTest.java |  57 ++
 ... PipeStatementTreePatternParseVisitorTest.java} |  20 +-
 .../pipe/connector/PipeTabletEventSorterTest.java  |  61 +-
 .../db/pipe/consensus/DeletionResourceTest.java    |  39 +-
 .../pipe/event/PipeTabletInsertionEventTest.java   |  25 +-
 .../PipePlanTablePatternParseVisitorTest.java      | 129 +++
 ...va => PipePlanTreePatternParseVisitorTest.java} |  32 +-
 .../annotation/PipePluginAnnotationTest.java}      |  20 +-
 .../resource/PipeTsFileResourceManagerTest.java    |   2 +-
 .../metadata/write/MetadataWriteNodeSerDeTest.java |   2 +-
 .../plan/relational/analyzer/DistinctTest.java     | 209 +++++
 .../plan/relational/planner/SubqueryTest.java      | 203 +++++
 ...onStepMatcher.java => MarkDistinctMatcher.java} |  50 +-
 .../planner/assertions/PlanMatchPattern.java       |  28 +
 .../storageengine/buffer/BloomFilterCacheTest.java |   5 +-
 .../compaction/CompactionValidationTest.java       |   7 +-
 .../inner/InnerSpaceCompactionSelectorTest.java    |   2 +-
 .../repair/RepairDataFileScanUtilTest.java         |   2 +-
 .../TableModelFastCompactionPerformerTest.java     |  13 +-
 ...TableModelReadChunkCompactionPerformerTest.java |  13 +-
 ...TableModelReadPointCompactionPerformerTest.java |  13 +-
 .../modification/ModificationFileTest.java         |  90 ++-
 .../file/UnsealedTsFileRecoverPerformerTest.java   |   4 +-
 .../iotdb/db/tools/TsFileAndModSettleToolTest.java |   2 +-
 .../iotdb/db/tools/TsFileSelfCheckToolTest.java    |   6 +-
 .../iotdb/db/tools/TsFileSketchToolTest.java       |  10 +-
 .../db/utils/SchemaRegionSnapshotParserTest.java   | 200 +++--
 iotdb-core/node-commons/pom.xml                    |   4 +
 .../conf/iotdb-system.properties.template          |   6 +-
 .../apache/iotdb/commons/conf/CommonConfig.java    |  87 +-
 .../iotdb/commons/conf/CommonDescriptor.java       |  42 +-
 .../commons/partition/DataPartitionTable.java      |  12 +
 .../commons/partition/SeriesPartitionTable.java    |  16 +
 .../org/apache/iotdb/commons/path/PartialPath.java |   8 +-
 .../commons/pipe/agent/plugin/PipePluginAgent.java |  17 +-
 .../builtin/connector/PlaceholderConnector.java    |   4 +
 .../connector/donothing/DoNothingConnector.java    |   4 +
 .../iotdb/airgap/IoTDBAirGapConnector.java         |   4 +
 .../consensus/PipeConsensusAsyncConnector.java     |   4 +
 .../iotdb/thrift/IoTDBLegacyPipeConnector.java     |   2 +
 .../iotdb/thrift/IoTDBThriftAsyncConnector.java    |   5 +
 .../iotdb/thrift/IoTDBThriftConnector.java         |   4 +
 .../iotdb/thrift/IoTDBThriftSslConnector.java      |   4 +
 .../iotdb/thrift/IoTDBThriftSyncConnector.java     |   5 +
 .../builtin/connector/opcua/OpcUaConnector.java    |   4 +
 .../connector/websocket/WebSocketConnector.java    |   2 +
 .../connector/writeback/WriteBackConnector.java    |   4 +
 .../extractor/donothing/DoNothingExtractor.java    |   4 +
 .../builtin/extractor/iotdb/IoTDBExtractor.java    |   4 +
 .../processor/donothing/DoNothingProcessor.java    |   4 +
 .../throwing/ThrowingExceptionProcessor.java       |   4 +
 .../agent/plugin/meta/PipePluginMetaKeeper.java    |  47 +-
 .../commons/pipe/agent/task/PipeTaskAgent.java     |   2 +-
 .../commons/pipe/agent/task/meta/PipeMeta.java     |  40 -
 .../pipe/agent/task/meta/PipeMetaKeeper.java       |   6 +-
 .../pipe/agent/task/meta/PipeStaticMeta.java       |  14 +
 .../connector/client/IoTDBSyncClientManager.java   |  28 +-
 .../payload/thrift/request/PipeRequestType.java    |   4 +-
 .../thrift/request/PipeTransferFileSealReqV2.java  |  13 +-
 .../connector/protocol/IoTDBAirGapConnector.java   |  14 +-
 .../pipe/connector/protocol/IoTDBConnector.java    |  10 +
 .../connector/protocol/IoTDBSslSyncConnector.java  |   4 +
 .../options/PipeInclusionOptions.java              |  43 +-
 .../pipe/datastructure/pattern/TablePattern.java   |  36 +-
 .../pipe/datastructure/pattern/TreePattern.java    |  33 +-
 .../{ => resource}/PersistentResource.java         |   2 +-
 .../commons/pipe/datastructure/result/Result.java  |  39 +-
 .../pipe/datastructure/visibility/Visibility.java  |   9 +-
 .../visibility/VisibilityTestUtils.java            | 135 ++++
 .../datastructure/visibility/VisibilityUtils.java  | 133 +++
 .../commons/pipe/extractor/IoTDBExtractor.java     |  38 +-
 .../extractor/IoTDBNonDataRegionExtractor.java     |  24 +-
 .../commons/pipe/receiver/IoTDBFileReceiver.java   |  32 +-
 .../apache/iotdb/commons/schema/node/IMNode.java   |  18 +-
 .../commons/schema/node/visitor/MNodeVisitor.java  |   6 +-
 .../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/PathUtils.java  |   2 +-
 .../iotdb/commons/utils/TimePartitionUtils.java    |  13 +
 .../annotation/PipePluginAnnotationTest.java}      |  20 +-
 .../db/relational/grammar/sql/RelationalSql.g4     |  22 +-
 .../thrift-commons/src/main/thrift/common.thrift   |   3 +-
 .../src/main/thrift/confignode.thrift              |  31 +
 .../thrift-datanode/src/main/thrift/client.thrift  |   1 +
 pom.xml                                            |  13 +-
 696 files changed, 22736 insertions(+), 6331 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/storageengine/dataregion/read/IQueryDataSource.java
 => 
integration-test/src/test/java/org/apache/iotdb/confignode/it/removedatanode/SQLModel.java
 (86%)
 create mode 100644 
integration-test/src/test/java/org/apache/iotdb/db/it/IoTDBLoadTsFileWithModIT.java
 copy 
integration-test/src/test/java/org/apache/iotdb/pipe/it/manual/{IoTDBPipeInclusionIT.java
 => IoTDBPipeTableManualIT.java} (54%)
 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
 rename 
integration-test/src/test/java/org/apache/iotdb/relational/it/rest/it/{IoTDBRestServiceInsertAlignedValuesIT.java
 => IoTDBRestServiceInsertValuesIT.java} (96%)
 create mode 100644 
integration-test/src/test/java/org/apache/iotdb/util/MagicUtils.java
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/SchemaRegion.java
 => 
iotdb-api/pipe-api/src/main/java/org/apache/iotdb/pipe/api/annotation/TableModel.java
 (66%)
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/schemaengine/schemaregion/SchemaRegion.java
 => 
iotdb-api/pipe-api/src/main/java/org/apache/iotdb/pipe/api/annotation/TreeModel.java
 (66%)
 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
 create mode 100644 
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/partition/AutoCleanPartitionTablePlan.java
 copy 
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/{table/CommitCreateTablePlan.java
 => pipe/payload/PipeCreateTablePlan.java} (64%)
 create mode 100644 
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/pipe/payload/PipeDeleteDevicesPlan.java
 create mode 100644 
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/extractor/PipeConfigPhysicalPlanTablePatternParseVisitor.java
 rename 
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/extractor/{PipeConfigPhysicalPlanPatternParseVisitor.java
 => PipeConfigPhysicalPlanTreePatternParseVisitor.java} (98%)
 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-core/{node-commons/src/main/java/org/apache/iotdb/commons/pipe/config/plugin/env/PipeTaskRuntimeEnvironment.java
 => 
confignode/src/main/java/org/apache/iotdb/confignode/procedure/impl/region/RegionOperationProcedure.java}
 (54%)
 copy 
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/state/{RegionTransitionState.java
 => ReconstructRegionState.java} (93%)
 create mode 100644 
iotdb-core/confignode/src/test/java/org/apache/iotdb/confignode/manager/pipe/extractor/PipeConfigPhysicalPlanTablePatternParseVisitorTest.java
 rename 
iotdb-core/confignode/src/test/java/org/apache/iotdb/confignode/manager/pipe/extractor/{PipeConfigPhysicalPlanPatternParseVisitorTest.java
 => PipeConfigPhysicalPlanTreePatternParseVisitorTest.java} (91%)
 copy 
iotdb-core/{datanode/src/test/java/org/apache/iotdb/db/queryengine/exception/CpuNotEnoughExceptionTest.java
 => 
confignode/src/test/java/org/apache/iotdb/confignode/pipe/annotation/PipePluginAnnotationTest.java}
 (62%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/extractor/schemaregion/PipePlanTablePatternParseVisitor.java
 rename 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/extractor/schemaregion/{PipePlanPatternParseVisitor.java
 => PipePlanTreePatternParseVisitor.java} (98%)
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{queryengine/plan/relational/utils/NodeUtils.java
 => pipe/receiver/visitor/PipeStatementTablePatternParseVisitor.java} (55%)
 rename 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/visitor/{PipeStatementPatternParseVisitor.java
 => PipeStatementTreePatternParseVisitor.java} (97%)
 rename 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/visitor/{PipeStatementToBatchVisitor.java
 => PipeTreeStatementToBatchVisitor.java} (98%)
 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 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/{TableScanOperator.java
 => aggregation/MaskedRecordIterator.java} (58%)
 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/{SetTTLTask.java
 => region/ExtendRegionTask.java} (79%)
 rename 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/metadata/{
 => region}/MigrateRegionTask.java (94%)
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/metadata/{DropFunctionTask.java
 => region/ReconstructRegionTask.java} (73%)
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/metadata/{SetTTLTask.java
 => region/RemoveRegionTask.java} (79%)
 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
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/{PruneSortColumns.java
 => PruneMarkDistinctColumns.java} (64%)
 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
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/{ShowDataNodes.java
 => RemoveDataNode.java} (70%)
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/{SetConfiguration.java
 => StartRepairData.java} (85%)
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/sql/ast/{SetConfiguration.java
 => StopRepairData.java} (85%)
 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/{sys/KillQueryStatement.java
 => metadata/region/ExtendRegionStatement.java} (79%)
 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/{sys/KillQueryStatement.java
 => metadata/region/ReconstructRegionStatement.java} (79%)
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/{sys/KillQueryStatement.java
 => metadata/region/RemoveRegionStatement.java} (79%)
 delete mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/event/SubscriptionCommitContextSupplier.java
 create mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/pipe/connector/PipeStatementTablePatternParseVisitorTest.java
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/pipe/connector/{PipeStatementPatternParseVisitorTest.java
 => PipeStatementTreePatternParseVisitorTest.java} (94%)
 create mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/pipe/extractor/PipePlanTablePatternParseVisitorTest.java
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/pipe/extractor/{PipePlanPatternParseVisitorTest.java
 => PipePlanTreePatternParseVisitorTest.java} (94%)
 copy 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/{queryengine/exception/CpuNotEnoughExceptionTest.java
 => pipe/plugin/annotation/PipePluginAnnotationTest.java} (62%)
 copy 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/assertions/{AggregationStepMatcher.java
 => MarkDistinctMatcher.java} (54%)
 rename 
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/datastructure/{
 => resource}/PersistentResource.java (95%)
 copy 
library-udf/src/main/java/org/apache/iotdb/library/match/model/SectionNext.java 
=> 
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/datastructure/result/Result.java
 (59%)
 copy 
integration-test/src/main/java/org/apache/iotdb/itbase/category/MultiClusterIT2SubscriptionRegressionConsumer.java
 => 
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/datastructure/visibility/Visibility.java
 (86%)
 create mode 100644 
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/datastructure/visibility/VisibilityTestUtils.java
 create mode 100644 
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/datastructure/visibility/VisibilityUtils.java
 copy 
iotdb-core/{datanode/src/test/java/org/apache/iotdb/db/queryengine/exception/CpuNotEnoughExceptionTest.java
 => 
node-commons/src/test/java/org/apache/iotdb/commons/pipe/plugin/annotation/PipePluginAnnotationTest.java}
 (62%)

Reply via email to