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

jackietien pushed a change to branch lmh/fixGroupByLevelView
in repository https://gitbox.apache.org/repos/asf/iotdb.git


    from 8be9e84c209 fix
     add 9f61a4e2aca Feat/jenkins auto redeploy (#12542)
     add e1ea758f173 ODBC: Add example to the example module (#12544)
     add f9292455bce Fixed deadlock problem caused by concurrent auto create 
schema and delete database  (#12489)
     add 318718dad28 Bump org.jacoco:jacoco-maven-plugin from 0.8.10 to 0.8.12 
(#12457)
     add d81972227d9 Check duplicated measurements in one row for all insert 
APIs
     add 337bfe5b891 Pipe IT: Fix 
IoTDBPipeClusterIT#testCreatePipesWithSameConnector() fails because the thread 
is interrupted or encountered non-pipe exceptions (#12553)
     add 70f18ccc4e2 Load Tsfile Tool: load does not delete the source tsfile 
by default (#12549)
     add 9d564e33618 Pipe: implemented ChangingValueSamplingProcessor (#12466)
     add b0306420a10 Pipe: Fix RPC payload compression in 
PipeTransferTsFileInsertionEventHandler (#12558)
     add e4f4ed03113 Pipe: Added metrics to schema transfer / remaining event / 
remaining time (#12478)
     add 77d61207f6c Pipe IT: Fix CN connection timeout in IT is not functional 
(#12563)
     add 3b0dfcd1736 Pipe: Enable realtime first strategy in data transfer 
(#12559)
     add cabdec75b63 Fixed restart error when DataRegion is RatisConsensus 
(#12554)
     add 49dc7650e80 Pipe: Support parsing pattern when tranferring schema 
plans (#12464)
     add bb80f6cea14 Fix Python IT (#12567)
     add 8150f7bde1d Pipe: Adjust the reloading logic to restart all the pipes 
when deleted tsfiles are linked too many (#12566)
     add 7d4dd9e1427 Pipe: Fix insertNode.getDevicePath() is not handled 
correctly for insertRowsNode (NPE) (#12569)
     add f1d8fce46c2 Pipe: Fix PipeSetTTLPlan is not handled correctly (#12571)
     add 9a29af7ce1d [IOTDB-6325] Support RegionScan for active metadata 
queries [BE Part One]
     add 40934ddc572 Pipe: Add completion signal to historical events & allow 
all data regions' completion signal to drop the pipe (#12490)
     add 0ebac6b7e11 Modify strategy of wait task time limitation & Fix proc id 
(#12552)
     add b2c5680f3d3 [RatisConsensus] add ut for force snapshot (#12560)
     add 911d7b673a6 Pipe: Fixed the bug that schema region listening queue is 
not cleared when the schema region is deleted / migrated (#12575)
     add 462c9004a55 Introducing a memory control mechanism during the query 
planning stage
     add 7ef1eb722e9 Pipe: add parameter realtime.loose-range to support 
subscription loose range semantics (#12580)
     add e49a07d1129 Pipe: fix PipeEnrichedStatement can't contain redirect 
info (#12579)
     add f60694b4a46 Add TsFile develop branch for IoTDB in README (#12581)
     add fad655319e1 Avoid infinite and unecessary loop when CN RPC processors 
are killed/interrupted by OS (#12584)
     add 1517e81e878 Fix python ci security warning and update c++ ci commands 
(#12583)
     add aa2687c1fe7 Pipe: Fix BatchActivateTemplateStatement is not handled 
correctly when some of the timeseries already exists (#12587)
     add 6a0da36bc56 Merge multi-language client CI workflows to one ymls 
(#12586)
     add 21a23967d7c Fix error compare method in IT framework
     add 28bb9b8cd6c Pipe: Support pipe's endpoint & global connector transfer 
rate limit & Fix RPC compression not enabled in stream batch mode (#12543)
     add a9c27bb249d Fix potential NPE for empty InsertRowsOfOneDevice #12593
     add a8f3ca3fcc0 Fix the bug that iot consensus doesn't adapt 
InsertRowsNode (#12594)
     add 88cadb2d800 more compaction config items allow hot load (#12596)
     add 2ed61401d3c Subscription: support TsFile message format & improve 
exception handling logic (#12326)
     add 4403bb890b8 Fix agg push down bug (#12598)
     add baf37c3711d add --help with remove-xx script (#12585)
     add 231910ebf7b Clean up local snapshot after add region peer #12602
     add cb1bca615d9 Support new data type: DATE, TIMESTAMP, BLOB and STRING
     add 4be19d14e1d fix help error (#12604)
     add f2d859ef99c Update .asf.yaml
     add b860e0040e8 Update .asf.yaml
     add 1af2c236fb6 [IOTDB-6328] Add optimization for aggregation query in 
align by device with template situation
     add 6d708ca9be4 Feature/updated cmake (#12589)
     add b4989ed851c Fix/build issues outside of china
     add bb728f04cc8 Pipe: Added RemainingEventCount/EstimatedRemainingSeconds 
in configNode metrics/show pipes response (#12578)
     add d1865512dfa Fix AuditLogger may cause IoTDB read only when session 
using incorrect password (#12609)
     add 3a28a2e1593 Fixed an issue where LoadSnapshot could cause out-of-heap 
memory statistics to leak (#12608)
     add 8538308e7c9 Pipe: Modify 
extractor.history.terminate-pipe-on-all-consumed -> extractor.mode. Make 
sink.realtime-first true by default. (#12605)
     add 69b21ddc095 Pipe: fix NPE when updating cache leader after calling 
getDeviceId() in PipeRawTabletInsertionEvent (#12612)
     add fde91579d17 Abort old task when compaction config is modified (#12611)
     add bb5fb0d2009 Merge remote-tracking branch 'origin/master' into 
lmh/fixGroupByLevelView
     add 879459c537a change back to previous implementation when there is no 
view

No new revisions were added by this update.

Summary of changes:
 .asf.yaml                                          |   2 +-
 .github/workflows/client-go.yml                    |  56 --
 .github/workflows/client-python.yml                |  58 --
 .../{client-cpp.yml => multi-language-client.yml}  |  92 ++-
 .mvn/wrapper/maven-wrapper.properties              |   8 +-
 Jenkinsfile                                        |   2 +-
 README.md                                          |   2 +
 README_ZH.md                                       |   2 +
 .../main/java/org/apache/iotdb/JDBCExample.java    |  25 +-
 example/odbc/.gitignore                            | 344 ++++++++
 example/odbc/ODBC-Example.sln                      |  35 +
 example/odbc/ODBC-Example/ODBC-Example.csproj      |  40 +
 example/odbc/ODBC-Example/ODBC_Example.cs          |  84 ++
 example/odbc/README.md                             |  81 ++
 .../org/apache/iotdb/DataMigrationExample.java     |   7 +
 .../apache/iotdb/SubscriptionSessionExample.java   | 188 +++--
 .../iotdb/it/env/cluster/ClusterConstant.java      |   1 +
 .../it/env/cluster/config/MppCommonConfig.java     |   6 +
 .../it/env/cluster/config/MppConfigNodeConfig.java |   6 -
 .../iotdb/it/env/cluster/config/MppJVMConfig.java  |  18 +
 .../env/cluster/config/MppSharedCommonConfig.java  |   7 +
 .../iotdb/it/env/cluster/env/AbstractEnv.java      |  15 +-
 .../it/env/cluster/node/AbstractNodeWrapper.java   |   1 +
 .../it/env/cluster/node/ConfigNodeWrapper.java     |   1 +
 .../it/env/remote/config/RemoteCommonConfig.java   |   5 +
 .../env/remote/config/RemoteConfigNodeConfig.java  |   5 -
 .../iotdb/it/framework/IoTDBTestReporter.java      |   9 +-
 .../org/apache/iotdb/itbase/env/CommonConfig.java  |   2 +
 .../apache/iotdb/itbase/env/ConfigNodeConfig.java  |   2 -
 .../iotdb/itbase/runtime/RequestDelegate.java      |  26 +-
 .../org/apache/iotdb/db/it/IoTDBFlushQueryIT.java  |   7 +-
 .../org/apache/iotdb/db/it/IoTDBNestedQueryIT.java |  40 +-
 .../org/apache/iotdb/db/it/IoTDBSimpleQueryIT.java |  64 ++
 .../it/IoTDBSyntaxConventionStringLiteralIT.java   |   4 +-
 .../db/it/aggregation/IoTDBAggregationIT.java      | 387 +++++++--
 .../aggregation/IoTDBAggregationSmallDataIT.java   |   4 +-
 .../iotdb/db/it/aggregation/IoTDBVarianceIT.java   |  74 +-
 .../maxby/IoTDBMaxByAlignedSeriesIT.java           |  28 +-
 .../db/it/aggregation/maxby/IoTDBMaxByIT.java      |  62 +-
 .../minby/IoTDBMinByAlignedSeriesIT.java           |  16 +-
 .../db/it/aggregation/minby/IoTDBMinByIT.java      |  50 +-
 ...oTDBAlignByDeviceWithTemplateAggregationIT.java | 542 +++++++++++++
 .../scalar/IoTDBReplaceFunctionIT.java             |  47 +-
 .../scalar/IoTDBSubStringFunctionIT.java           |  67 +-
 .../iotdb/db/it/query/IoTDBCaseWhenThenIT.java     |   2 +-
 .../query/IoTDBQueryWithComplexValueFilterIT.java  | 235 +++++-
 .../it/query/IoTDBSelectCompareExpressionIT.java   |  10 +-
 .../db/it/schema/IoTDBAutoCreateSchemaIT.java      |  57 ++
 .../db/it/udf/IoTDBUDTFBuiltinFunctionIT.java      | 226 +++++-
 .../apache/iotdb/it/framework/IoTDBTestRunner.java |   3 +
 .../pipe/it/autocreate/AbstractPipeDualAutoIT.java |   4 +-
 .../pipe/it/autocreate/IoTDBPipeAutoDropIT.java    |  80 ++
 .../pipe/it/autocreate/IoTDBPipeClusterIT.java     |  66 +-
 .../IoTDBPipeConnectorCompressionIT.java           |   4 +-
 .../pipe/it/autocreate/IoTDBPipeDataSinkIT.java    |  17 +-
 .../pipe/it/autocreate/IoTDBPipeExtractorIT.java   |  15 +-
 .../pipe/it/autocreate/IoTDBPipeIdempotentIT.java  |   4 +-
 .../pipe/it/autocreate/IoTDBPipeProcessorIT.java   |   4 +-
 .../pipe/it/autocreate/IoTDBPipeProtocolIT.java    |  12 +-
 .../pipe/it/manual/AbstractPipeDualManualIT.java   |   4 +-
 .../iotdb/pipe/it/manual/IoTDBPipeInclusionIT.java |  56 +-
 .../pipe/it/manual/IoTDBPipeMetaHistoricalIT.java  |  13 +-
 .../it/manual/IoTDBPipeMetaLeaderChangeIT.java     |   4 +-
 .../iotdb/pipe/it/single/AbstractPipeSingleIT.java |   2 +-
 .../iotdb/session/it/IoTDBSessionSimpleIT.java     | 136 +++-
 .../org/apache/iotdb/session/it/SessionIT.java     | 223 ++++++
 .../it/IoTDBSubscriptionITConstant.java            |  19 +-
 .../it/dual/AbstractSubscriptionDualIT.java        |   7 +-
 .../it/dual/IoTDBSubscriptionConsumerGroupIT.java  | 327 +++++++-
 .../it/dual/IoTDBSubscriptionTopicIT.java          | 228 ++++--
 .../it/local/IoTDBSubscriptionBasicIT.java         | 227 ++++--
 .../it/local/IoTDBSubscriptionRestartIT.java       | 103 ++-
 .../java/org/apache/iotdb/udf/api/type/Type.java   |  19 +-
 .../java/org/apache/iotdb/cli/AbstractCli.java     |   3 +-
 .../java/org/apache/iotdb/tool/ExportData.java     |   3 +-
 .../java/org/apache/iotdb/tool/ExportTsFile.java   |  17 +-
 .../java/org/apache/iotdb/tool/ImportData.java     |  41 +-
 iotdb-client/client-py/requirements_dev.txt        |   2 +-
 .../org/apache/iotdb/isession/SessionDataSet.java  |  27 +-
 .../iotdb/jdbc/AbstractIoTDBJDBCResultSet.java     |  13 +-
 .../iotdb/jdbc/GroupedLSBWatermarkEncoder.java     |   2 +
 .../org/apache/iotdb/jdbc/IoTDBConnection.java     |   2 +-
 .../apache/iotdb/jdbc/IoTDBDatabaseMetadata.java   |  84 +-
 .../org/apache/iotdb/jdbc/IoTDBJDBCResultSet.java  |  35 +-
 .../iotdb/jdbc/IoTDBNonAlignJDBCResultSet.java     |   7 +-
 .../java/org/apache/iotdb/jdbc/IoTDBStatement.java |  12 +-
 .../iotdb/jdbc/IoTDBDatabaseMetadataTest.java      |   2 +-
 .../org/apache/iotdb/jdbc/IoTDBStatementTest.java  |   2 +-
 iotdb-client/service-rpc/pom.xml                   |   4 +
 .../org/apache/iotdb/rpc/IoTDBJDBCDataSet.java     |  39 +-
 .../java/org/apache/iotdb/rpc/IoTDBRpcDataSet.java |  26 +-
 .../rpc/subscription/config/ConsumerConfig.java    |  11 +-
 .../rpc/subscription/config/ConsumerConstant.java  |  22 +-
 .../iotdb/rpc/subscription/config/TopicConfig.java |  37 +-
 .../rpc/subscription/config/TopicConstant.java     |   5 +-
 ...n.java => SubscriptionConnectionException.java} |  21 +-
 .../exception/SubscriptionException.java           |   8 +-
 ... SubscriptionIncompatibleHandlerException.java} |  25 +-
 .../SubscriptionParameterNotValidException.java    |  13 +-
 ...a => SubscriptionRuntimeCriticalException.java} |  24 +-
 ...tion.java => SubscriptionRuntimeException.java} |  23 +-
 ...> SubscriptionRuntimeNonCriticalException.java} |  25 +-
 .../rpc/subscription/payload/EnrichedTablets.java  | 104 ---
 .../subscription/payload/poll/ErrorPayload.java    |  85 ++
 .../subscription/payload/poll/FileInitPayload.java |  75 ++
 .../payload/poll/FilePiecePayload.java             | 123 +++
 .../subscription/payload/poll/FileSealPayload.java |  85 ++
 .../subscription/payload/poll/PollFilePayload.java | 103 +++
 .../rpc/subscription/payload/poll/PollPayload.java |  79 ++
 .../payload/poll/SubscriptionCommitContext.java    | 152 ++++
 .../SubscriptionPollPayload.java}                  |  18 +-
 .../payload/poll/SubscriptionPollRequest.java      | 111 +++
 .../SubscriptionPollRequestType.java}              |  20 +-
 .../payload/poll/SubscriptionPollResponse.java     | 122 +++
 .../SubscriptionPollResponseType.java}             |  25 +-
 .../subscription/payload/poll/TabletsPayload.java  |  92 +++
 .../payload/request/PipeSubscribeCloseReq.java     |   6 +-
 .../payload/request/PipeSubscribeCommitReq.java    |  48 +-
 .../payload/request/PipeSubscribeHandshakeReq.java |  19 +-
 .../payload/request/PipeSubscribeHeartbeatReq.java |   7 +-
 .../payload/request/PipeSubscribePollReq.java      |  46 +-
 .../payload/request/PipeSubscribeRequestType.java  |   8 +-
 .../request/PipeSubscribeRequestVersion.java       |   2 +-
 .../payload/request/PipeSubscribeSubscribeReq.java |   9 +-
 .../request/PipeSubscribeUnsubscribeReq.java       |   8 +-
 .../payload/response/PipeSubscribeCloseResp.java   |   8 +-
 .../payload/response/PipeSubscribeCommitResp.java  |   9 +-
 .../response/PipeSubscribeHandshakeResp.java       |  27 +-
 .../response/PipeSubscribeHeartbeatResp.java       |   8 +-
 .../payload/response/PipeSubscribePollResp.java    |  88 +-
 .../response/PipeSubscribeResponseType.java        |   9 +-
 .../response/PipeSubscribeResponseVersion.java     |   2 +-
 .../response/PipeSubscribeSubscribeResp.java       |   8 +-
 .../response/PipeSubscribeUnsubscribeResp.java     |   8 +-
 .../java/org/apache/iotdb/session/Session.java     |   4 +
 .../apache/iotdb/session/SessionConnection.java    |  15 +-
 .../org/apache/iotdb/session/ThriftConnection.java |   5 +-
 .../session/subscription/AsyncCommitCallback.java  |   2 +-
 .../session/subscription/ConsumeListener.java      |   2 +
 .../subscription/ConsumerHeartbeatWorker.java      |  63 --
 .../subscription/PullConsumerAutoCommitWorker.java |  60 --
 .../session/subscription/SubscriptionConsumer.java | 884 ++++++++++++++-------
 .../subscription/SubscriptionEndpointsSyncer.java  | 132 ---
 .../session/subscription/SubscriptionMessage.java  |  85 --
 .../session/subscription/SubscriptionProvider.java | 295 ++++++-
 .../subscription/SubscriptionProviders.java        | 339 ++++++++
 .../subscription/SubscriptionPullConsumer.java     | 147 ++--
 .../subscription/SubscriptionPushConsumer.java     | 112 ++-
 .../session/subscription/SubscriptionSession.java  |  48 +-
 .../SubscriptionSessionConnection.java             |  73 +-
 .../payload/SubscriptionFileHandler.java           | 105 +++
 .../subscription/payload/SubscriptionMessage.java  | 106 +++
 .../SubscriptionMessageHandler.java}               |  13 +-
 .../payload/SubscriptionMessageType.java}          |  20 +-
 .../{ => payload}/SubscriptionSessionDataSet.java  |  39 +-
 .../SubscriptionSessionDataSetsHandler.java}       |  35 +-
 .../payload/SubscriptionTsFileHandler.java         |  21 +-
 .../subscription/util/RandomStringGenerator.java   |  24 +-
 .../subscription/util}/SubscriptionPollTimer.java  |   2 +-
 .../apache/iotdb/session/util/SessionUtils.java    |  29 +
 .../apache/iotdb/session/pool/SessionPoolTest.java |   6 +-
 .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4   |   2 +
 .../antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4  |   6 +
 iotdb-core/confignode/pom.xml                      |   4 +
 .../assembly/resources/sbin/remove-confignode.bat  |  12 +
 .../assembly/resources/sbin/remove-confignode.sh   |  11 +
 .../heartbeat/DataNodeHeartbeatHandler.java        |   7 +-
 .../consensus/request/ConfigPhysicalPlan.java      |   4 +
 .../consensus/request/ConfigPhysicalPlanType.java  |   1 +
 .../consensus/request/auth/AuthorPlan.java         |  21 +-
 .../pipe/payload/PipeDeleteLogicalViewPlan.java    |  11 +-
 .../pipe/payload/PipeDeleteTimeSeriesPlan.java     |  11 +-
 .../request/write/pipe/payload/PipeSetTTLPlan.java | 103 +++
 .../response/pipe/task/PipeTableResp.java          |  95 ++-
 .../iotdb/confignode/manager/ClusterManager.java   |   2 +
 .../iotdb/confignode/manager/ConfigManager.java    |   4 +-
 .../manager/consensus/ConsensusManager.java        |   8 +
 .../pipe/agent/task/PipeConfigNodeTaskAgent.java   |  48 +-
 .../payload/PipeTransferConfigSnapshotSealReq.java |  33 +-
 .../protocol/IoTDBConfigRegionAirGapConnector.java |  49 +-
 .../protocol/IoTDBConfigRegionConnector.java       |  50 +-
 .../runtime/PipeRuntimeCoordinator.java            |  24 +-
 .../runtime/heartbeat/PipeHeartbeat.java           |  85 ++
 .../{ => heartbeat}/PipeHeartbeatParser.java       |  56 +-
 .../{ => heartbeat}/PipeHeartbeatScheduler.java    |  28 +-
 .../pipe/event/PipeConfigRegionSnapshotEvent.java  |   1 +
 .../pipe/execution/PipeConfigNodeSubtask.java      |  52 +-
 .../extractor/ConfigRegionListeningFilter.java     |  10 +-
 .../pipe/extractor/IoTDBConfigRegionExtractor.java |  31 +-
 .../PipeConfigPhysicalPlanPatternParseVisitor.java | 287 +++++++
 .../pipe/metric/PipeConfigNodeListenerMetrics.java |  67 ++
 .../manager/pipe/metric/PipeConfigNodeMetrics.java |  16 +-
 .../metric/PipeConfigNodeRemainingTimeMetrics.java | 178 +++++
 .../PipeConfigNodeRemainingTimeOperator.java       | 113 +++
 .../metric/PipeConfigRegionConnectorMetrics.java   | 157 ++++
 .../metric/PipeConfigRegionExtractorMetrics.java   | 153 ++++
 .../pipe/metric/PipeTemporaryMetaMetrics.java      | 175 ++++
 .../receiver/protocol/IoTDBConfigNodeReceiver.java |  42 +-
 .../PipeConfigPhysicalPlanTSStatusVisitor.java     |  55 +-
 .../persistence/executor/ConfigPlanExecutor.java   |   8 +-
 .../confignode/persistence/pipe/PipeInfo.java      |  75 +-
 .../confignode/persistence/pipe/PipeTaskInfo.java  |  94 ++-
 .../procedure/env/RegionMaintainHandler.java       |  40 +-
 .../impl/region/AddRegionPeerProcedure.java        |   4 +-
 .../thrift/ConfigNodeRPCServiceProcessor.java      |  65 +-
 .../request/ConfigPhysicalPlanSerDeTest.java       | 111 ++-
 .../consensus/response/pipe/PipeTableRespTest.java |   4 +-
 .../connector/PipeConfigNodeThriftRequestTest.java |   2 +-
 .../extractor/IoTDBConfigRegionExtractorTest.java  |   7 +-
 ...eConfigPhysicalPlanPatternParseVisitorTest.java | 408 ++++++++++
 .../org/apache/iotdb/consensus/IConsensus.java     |   3 +-
 .../apache/iotdb/consensus/iot/IoTConsensus.java   |  20 +-
 .../consensus/iot/IoTConsensusServerImpl.java      |  14 +-
 .../service/IoTConsensusRPCServiceProcessor.java   |   2 +-
 .../apache/iotdb/consensus/ratis/DiskGuardian.java |  65 +-
 .../iotdb/consensus/ratis/RatisConsensus.java      | 113 +--
 .../iotdb/consensus/ratis/DiskGuardianTest.java    |  28 +-
 .../iotdb/consensus/ratis/RatisConsensusTest.java  |  15 +
 .../apache/iotdb/consensus/ratis/TestUtils.java    |  21 +
 iotdb-core/datanode/pom.xml                        |   4 +
 .../assembly/resources/sbin/remove-datanode.bat    |  12 +
 .../src/assembly/resources/sbin/remove-datanode.sh |  11 +
 .../org/apache/iotdb/db/audit/AuditLogger.java     |   6 +-
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java |  32 +-
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  | 127 ++-
 .../dataregion/DataRegionStateMachine.java         |  65 +-
 .../schemaregion/SchemaExecutionVisitor.java       |  25 +-
 .../PipeDataRegionProcessorConstructor.java        |   4 +
 .../runtime/PipeSchemaRegionListenerManager.java   |  44 +-
 .../db/pipe/agent/task/PipeDataNodeTaskAgent.java  | 226 +++++-
 .../client/IoTDBDataNodeAsyncClientManager.java    |   2 +-
 .../IoTDBDataNodeCacheLeaderClientManager.java     |   4 +
 .../client/IoTDBDataNodeSyncClientManager.java     |   2 +-
 .../payload/evolvable/builder/PipeEventBatch.java  |  18 +
 .../builder/PipeTransferBatchReqBuilder.java       |   7 +-
 .../request/PipeTransferSchemaSnapshotSealReq.java |  32 +-
 .../airgap/IoTDBDataNodeAirGapConnector.java       |  20 +-
 .../airgap/IoTDBDataRegionAirGapConnector.java     |  55 +-
 .../airgap/IoTDBSchemaRegionAirGapConnector.java   |  30 +-
 .../async/IoTDBDataRegionAsyncConnector.java       |  30 +-
 .../PipeTransferTabletBatchEventHandler.java       |  19 +-
 .../PipeTransferTabletInsertNodeEventHandler.java  |   9 +-
 .../PipeTransferTabletInsertionEventHandler.java   |   5 +
 .../PipeTransferTsFileInsertionEventHandler.java   |  38 +-
 .../thrift/sync/IoTDBDataNodeSyncConnector.java    |  17 +-
 .../thrift/sync/IoTDBDataRegionSyncConnector.java  | 130 +--
 .../thrift/sync/IoTDBSchemaRegionConnector.java    |  34 +-
 .../event/common/heartbeat/PipeHeartbeatEvent.java |  34 +-
 .../schema/PipeSchemaRegionWritePlanEvent.java     |   4 +-
 .../tablet/PipeInsertNodeTabletInsertionEvent.java |  24 +-
 .../common/tablet/PipeRawTabletInsertionEvent.java |   9 +-
 .../tablet/TabletInsertionDataContainer.java       |  32 +-
 .../common/terminate/PipeTerminateEvent.java}      |  75 +-
 .../tsfile/TsFileInsertionDataContainer.java       |  28 +-
 .../common/tsfile/TsFileInsertionPointCounter.java |  10 +-
 .../event/realtime/PipeRealtimeEventFactory.java   |   1 +
 .../dataregion/DataRegionWatermarkInjector.java    |   2 +-
 .../dataregion/IoTDBDataRegionExtractor.java       |  49 +-
 .../PipeHistoricalDataRegionTsFileExtractor.java   |  56 +-
 .../realtime/PipeRealtimeDataRegionExtractor.java  |  50 +-
 .../PipeRealtimeDataRegionHybridExtractor.java     |  13 +-
 .../dataregion/realtime/epoch/TsFileEpoch.java     |   4 +-
 .../schemaregion/IoTDBSchemaRegionExtractor.java   |  26 +-
 .../schemaregion/PipePlanPatternParseVisitor.java  | 282 +++++++
 .../schemaregion/SchemaRegionListeningFilter.java  |   2 +-
 .../iotdb/db/pipe/metric/PipeDataNodeMetrics.java  |  20 +-
 .../PipeDataNodeRemainingEventAndTimeMetrics.java  | 230 ++++++
 .../PipeDataNodeRemainingEventAndTimeOperator.java | 190 +++++
 ...cs.java => PipeDataRegionConnectorMetrics.java} |  91 +--
 ...cs.java => PipeDataRegionExtractorMetrics.java} | 129 +--
 .../iotdb/db/pipe/metric/PipeProcessorMetrics.java |  39 -
 .../metric/PipeSchemaRegionConnectorMetrics.java   | 159 ++++
 .../metric/PipeSchemaRegionExtractorMetrics.java   | 144 ++++
 .../metric/PipeSchemaRegionListenerMetrics.java    | 135 ++++
 .../pipe/pattern/CachedSchemaPatternMatcher.java   |  10 +-
 .../downsampling/changing/ChangingValueFilter.java |  95 +++
 .../changing/ChangingValueSamplingProcessor.java   | 199 +++++
 .../sdt/SwingingDoorTrendingFilter.java            |   4 +-
 .../protocol/thrift/IoTDBDataNodeReceiver.java     |  13 +-
 .../visitor/PipePlanToStatementVisitor.java        |   2 +-
 .../visitor/PipeStatementExceptionVisitor.java     |  39 +-
 .../visitor/PipeStatementPatternParseVisitor.java  | 136 ++++
 .../visitor/PipeStatementTSStatusVisitor.java      |  10 +
 .../db/pipe/resource/memory/PipeMemoryManager.java |   2 +-
 .../iotdb/db/pipe/task/PipeDataNodeTask.java       |  20 +-
 .../pipe/task/connection/PipeEventCollector.java   | 114 +--
 .../db/pipe/task/stage/PipeTaskConnectorStage.java |   4 +-
 .../db/pipe/task/stage/PipeTaskProcessorStage.java |   4 +-
 .../subtask/connector/PipeConnectorSubtask.java    |  88 +-
 .../connector/PipeConnectorSubtaskLifeCycle.java   |   8 +-
 .../connector/PipeConnectorSubtaskManager.java     |  26 +-
 .../PipeRealtimePriorityBlockingQueue.java         | 136 ++++
 .../subtask/processor/PipeProcessorSubtask.java    |  33 +-
 .../db/protocol/rest/utils/InsertRowDataUtils.java |   4 +
 .../v1/handler/StatementConstructionHandler.java   |   4 +
 .../v2/handler/StatementConstructionHandler.java   |   4 +
 .../protocol/thrift/impl/ClientRPCServiceImpl.java |  10 +-
 .../thrift/impl/DataNodeRegionManager.java         |   2 +
 .../db/queryengine/common/MPPQueryContext.java     |  60 ++
 .../common/header/ColumnHeaderConstant.java        |   6 +-
 .../exception/MemoryNotEnoughException.java        |   7 +-
 .../execution/MemoryEstimationHelper.java          |   6 +-
 .../aggregation/FirstValueAccumulator.java         |  24 +
 .../aggregation/LastValueAccumulator.java          |  24 +
 .../execution/aggregation/MaxByAccumulator.java    |   6 +
 .../aggregation/MaxMinByBaseAccumulator.java       |  65 +-
 .../execution/aggregation/MaxValueAccumulator.java |  50 ++
 .../execution/aggregation/MinByAccumulator.java    |   6 +
 .../execution/aggregation/MinValueAccumulator.java |  50 ++
 .../queryengine/execution/driver/DataDriver.java   |  25 +-
 .../execution/driver/DataDriverContext.java        |   4 +-
 .../fragment/FragmentInstanceContext.java          | 150 +++-
 .../execution/fragment/QueryContext.java           |  76 +-
 .../execution/load/LoadTsFileRateLimiter.java      |  32 +-
 .../queryengine/execution/memory/MemoryPool.java   |   6 +-
 .../execution/operator/AggregationUtil.java        |   4 +
 .../operator/process/TransformOperator.java        |   4 +
 .../filter/AbstractMonthIntervalFillFilter.java    |   5 -
 .../fill/filter/MonthIntervalMSFillFilter.java     |   8 +-
 .../fill/filter/MonthIntervalNSFillFilter.java     |  12 +-
 .../fill/filter/MonthIntervalUSFillFilter.java     |  10 +-
 .../source/AbstractDataSourceOperator.java         |   5 +-
 .../AbstractSeriesAggregationScanOperator.java     |  13 +-
 .../AlignedSeriesAggregationScanOperator.java      |  12 +-
 .../operator/source/AlignedSeriesScanOperator.java |   5 +-
 .../operator/source/DataSourceOperator.java        |   4 +-
 .../source/SeriesAggregationScanOperator.java      |  12 +-
 .../execution/operator/source/SeriesScanUtil.java  |   4 +
 .../iotdb/db/queryengine/plan/Coordinator.java     |   3 +
 .../db/queryengine/plan/analyze/Analysis.java      |  16 +-
 .../queryengine/plan/analyze/AnalyzeVisitor.java   | 178 +++--
 .../plan/analyze/ConcatPathRewriter.java           |  33 +-
 .../plan/analyze/ExpressionAnalyzer.java           |  42 +-
 .../plan/analyze/ExpressionTypeAnalyzer.java       |  41 +-
 .../queryengine/plan/analyze/ExpressionUtils.java  |  66 +-
 .../queryengine/plan/analyze/PredicateUtils.java   |   6 +-
 .../plan/analyze/TemplatedAggregationAnalyze.java  | 260 ++++++
 .../queryengine/plan/analyze/TemplatedAnalyze.java | 160 ++--
 .../db/queryengine/plan/analyze/TemplatedInfo.java | 215 ++++-
 .../plan/analyze/schema/SchemaValidator.java       |   2 +-
 .../queryengine/plan/execution/QueryExecution.java |   3 +
 .../config/executor/ClusterConfigTaskExecutor.java |  10 +-
 .../execution/config/sys/pipe/ShowPipeTask.java    |  45 +-
 .../db/queryengine/plan/expression/Expression.java |   3 +-
 .../plan/expression/binary/BinaryExpression.java   |  12 +
 .../plan/expression/leaf/ConstantOperand.java      |   9 +
 .../plan/expression/leaf/NullOperand.java          |  10 +
 .../plan/expression/leaf/TimeSeriesOperand.java    |  10 +
 .../plan/expression/leaf/TimestampOperand.java     |  10 +
 .../plan/expression/multi/FunctionExpression.java  |  26 +
 .../builtin/helper/ReplaceFunctionHelper.java      |   4 +-
 .../builtin/helper/SubStringFunctionHelper.java    |   4 +-
 .../expression/other/CaseWhenThenExpression.java   |  16 +
 .../expression/other/GroupByTimeExpression.java    |   9 +
 .../plan/expression/ternary/BetweenExpression.java |  14 +
 .../plan/expression/unary/InExpression.java        |  12 +-
 .../plan/expression/unary/IsNullExpression.java    |  10 +
 .../plan/expression/unary/LikeExpression.java      |  12 +
 .../plan/expression/unary/LogicNotExpression.java  |  11 +
 .../plan/expression/unary/NegationExpression.java  |  11 +
 .../plan/expression/unary/RegularExpression.java   |  12 +
 .../cartesian/BindSchemaForExpressionVisitor.java  |  50 +-
 .../cartesian/BindSchemaForPredicateVisitor.java   |  43 +-
 .../visitor/cartesian/CartesianProductVisitor.java |  23 +-
 ...catDeviceAndBindSchemaForExpressionVisitor.java |  27 +-
 ...ncatDeviceAndBindSchemaForPredicateVisitor.java |  30 +-
 .../ConcatExpressionWithSuffixPathsVisitor.java    |  28 +-
 .../visitor/cartesian/QueryContextProvider.java    |  12 +-
 .../predicate/ConvertPredicateToFilterVisitor.java |  20 +-
 .../plan/optimization/AggregationPushDown.java     | 262 +++++-
 .../plan/optimization/PredicatePushDown.java       |  16 +-
 .../db/queryengine/plan/parser/ASTVisitor.java     |  55 +-
 .../plan/parser/StatementGenerator.java            |   6 +-
 .../plan/planner/LocalExecutionPlanner.java        |  22 +-
 .../plan/planner/LogicalPlanBuilder.java           |  90 ++-
 .../plan/planner/LogicalPlanVisitor.java           |   2 +-
 .../plan/planner/OperatorTreeGenerator.java        | 236 ++++--
 .../plan/planner/SubPlanTypeExtractor.java         |   9 +
 .../plan/planner/TemplatedLogicalPlan.java         | 257 +++++-
 .../plan/planner/TemplatedLogicalPlanBuilder.java  |  69 +-
 .../queryengine/plan/planner/TreeModelPlanner.java |  11 +-
 .../distribution/DistributionPlanContext.java      |   6 +
 .../planner/distribution/DistributionPlanner.java  |   1 +
 .../plan/planner/distribution/SourceRewriter.java  |  36 +-
 .../plan/planner/plan/PlanFragment.java            |   6 +-
 .../plan/planner/plan/node/PlanGraphPrinter.java   |   2 +-
 .../plan/planner/plan/node/PlanNodeType.java       |   8 +-
 .../planner/plan/node/process/DeviceViewNode.java  |  41 +
 .../plan/planner/plan/node/process/FilterNode.java |  59 +-
 .../plan/node/process/RawDataAggregationNode.java  |  20 +
 .../plan/node/process/SingleDeviceViewNode.java    |   2 +-
 .../plan/node/source/AlignedLastQueryScanNode.java |  13 +
 .../source/AlignedSeriesAggregationScanNode.java   |  81 +-
 .../plan/node/source/AlignedSeriesScanNode.java    |  12 +
 .../plan/node/source/LastQueryScanNode.java        |  13 +
 .../node/source/SeriesAggregationScanNode.java     |  12 +
 .../planner/plan/node/source/SeriesScanNode.java   |  12 +
 .../planner/plan/node/source/SeriesSourceNode.java |   4 +-
 .../planner/plan/node/write/DeleteDataNode.java    |  21 +
 .../planner/plan/node/write/InsertRowNode.java     |  28 +
 .../planner/plan/node/write/InsertTabletNode.java  |  27 +
 .../plan/parameter/AggregationDescriptor.java      |   2 +-
 .../plan/statement/crud/InsertBaseStatement.java   |  20 +-
 .../crud/InsertMultiTabletsStatement.java          |  10 +-
 .../plan/statement/crud/InsertRowStatement.java    |  25 +-
 .../crud/InsertRowsOfOneDeviceStatement.java       |  12 +-
 .../plan/statement/crud/InsertRowsStatement.java   |  12 +-
 .../plan/statement/crud/InsertStatement.java       |  35 +-
 .../plan/statement/crud/InsertTabletStatement.java |  11 +
 .../plan/statement/crud/LoadTsFileStatement.java   |   4 +-
 .../plan/statement/literal/BinaryLiteral.java      |  93 +++
 .../plan/statement/literal/Literal.java            |   5 +-
 .../metadata/CreateAlignedTimeSeriesStatement.java |  55 ++
 .../multi/MappableUDFQueryRowTransformer.java      |   4 +
 .../multi/UniversalUDFQueryTransformer.java        |   4 +
 .../dag/transformer/unary/InTransformer.java       |   6 +
 .../transformation/dag/util/LayerCacheUtils.java   |   4 +
 .../row/SerializableRowRecordList.java             |   4 +
 .../datastructure/tv/SerializableTVList.java       |   8 +
 .../schemaregion/utils/ResourceByPathUtils.java    |  83 +-
 .../db/service/metrics/DataNodeMetricsHelper.java  |   4 +
 .../iotdb/db/storageengine/StorageEngine.java      |   3 +-
 .../db/storageengine/dataregion/DataRegion.java    | 208 ++++-
 .../dataregion/IDataRegionForQuery.java            |  20 +-
 .../dataregion/VirtualDataRegion.java              |  27 +
 .../execute/task/AbstractCompactionTask.java       |  11 +
 .../execute/task/CrossSpaceCompactionTask.java     |  19 +
 .../execute/task/InnerSpaceCompactionTask.java     |  21 +
 .../readchunk/SingleSeriesCompactionExecutor.java  |   4 +
 .../utils/writer/AbstractCompactionWriter.java     |   4 +
 .../compaction/schedule/CompactionScheduler.java   |  34 +-
 .../compaction/schedule/CompactionTaskManager.java |  13 +-
 .../compaction/schedule/CompactionTaskQueue.java   |   2 +
 .../impl/RewriteCrossSpaceCompactionSelector.java  |   5 +-
 .../impl/SizeTieredCompactionSelector.java         |   5 +-
 .../dataregion/memtable/AbstractMemTable.java      | 311 ++++++++
 .../memtable/AlignedReadOnlyMemChunk.java          |   4 +
 .../memtable/AlignedWritableMemChunk.java          |  10 +-
 .../dataregion/memtable/IMemTable.java             |  19 +
 .../dataregion/memtable/ReadOnlyMemChunk.java      |   4 +
 .../dataregion/memtable/TsFileProcessor.java       | 340 +++++++-
 .../dataregion/memtable/WritableMemChunk.java      |  16 +-
 .../dataregion/read/IQueryDataSource.java          |   9 +-
 .../dataregion/read/QueryDataSource.java           |  11 +-
 .../read/QueryDataSourceForRegionScan.java         |  64 ++
 .../dataregion/read/QueryDataSourceType.java       |   9 +-
 .../dataregion/read/filescan/IChunkHandle.java}    |  45 +-
 .../dataregion/read/filescan/IFileScanHandle.java  |  99 +++
 .../filescan/impl/ClosedFileScanHandleImpl.java    | 211 +++++
 .../filescan/impl/DiskAlignedChunkHandleImpl.java  |  81 ++
 .../read/filescan/impl/DiskChunkHandleImpl.java    | 137 ++++
 .../filescan/impl/MemAlignedChunkHandleImpl.java   |  72 ++
 .../read/filescan/impl/MemChunkHandleImpl.java}    |  34 +-
 .../filescan/impl/UnclosedFileScanHandleImpl.java  | 180 +++++
 .../read/filescan/model/AbstractChunkOffset.java   |  36 +-
 .../model/AbstractDeviceChunkMetaData.java         |  19 +-
 .../read/filescan/model/AlignedChunkOffset.java    |  52 ++
 .../filescan/model/AlignedDeviceChunkMetaData.java |  39 +-
 .../read/filescan/model/ChunkOffset.java           |  48 ++
 .../read/filescan/model/DeviceChunkMetaData.java   |  25 +-
 .../read/filescan/model/DeviceStartEndTime.java    |  30 +-
 .../read/reader/chunk/MemPageReader.java           |   4 +
 .../dataregion/utils/SharedTimeDataBuffer.java     |  91 +++
 .../utils/TsFileDeviceStartEndTimeIterator.java    |  52 ++
 .../rescon/memory/PrimitiveArrayManager.java       |  27 +-
 .../agent/SubscriptionBrokerAgent.java             |  94 ++-
 .../agent/SubscriptionConsumerAgent.java           |   7 +-
 .../subscription/agent/SubscriptionTopicAgent.java |  20 +-
 .../broker/EnrichedTabletsBinaryCache.java         |  62 --
 .../db/subscription/broker/SubscriptionBroker.java | 103 ++-
 .../broker/SubscriptionPrefetchingQueue.java       | 271 ++-----
 .../SubscriptionPrefetchingTabletsQueue.java       | 244 ++++++
 .../broker/SubscriptionPrefetchingTsFileQueue.java | 377 +++++++++
 .../SubscriptionEvent.java}                        | 132 +--
 .../event/SubscriptionEventBinaryCache.java        | 140 ++++
 .../event/SubscriptionTsFileEvent.java             | 247 ++++++
 .../subscription/metric/SubscriptionMetrics.java}  |  42 +-
 .../SubscriptionPrefetchingQueueMetrics.java       | 197 +++++
 .../receiver/SubscriptionReceiverV1.java           | 323 +++++---
 .../task/stage/SubscriptionTaskConnectorStage.java |   4 +-
 .../task/subtask/SubscriptionConnectorSubtask.java |   6 +-
 .../SubscriptionConnectorSubtaskLifeCycle.java     |   4 +-
 .../SubscriptionConnectorSubtaskManager.java       |  20 +-
 .../iotdb/db/tools/TsFileSplitByPartitionTool.java |   4 +
 .../org/apache/iotdb/db/tools/TsFileSplitTool.java |   4 +
 .../org/apache/iotdb/db/utils/CommonUtils.java     |  97 ++-
 .../org/apache/iotdb/db/utils/DateTimeUtils.java   |  53 +-
 .../iotdb/db/utils/EncodingInferenceUtils.java     |   4 +
 .../apache/iotdb/db/utils/ErrorHandlingUtils.java  |   3 +
 .../java/org/apache/iotdb/db/utils/MemUtils.java   |   4 +-
 .../apache/iotdb/db/utils/ModificationUtils.java   |  97 +++
 .../apache/iotdb/db/utils/QueryDataSetUtils.java   |  12 +
 .../org/apache/iotdb/db/utils/SchemaUtils.java     |   4 +
 .../apache/iotdb/db/utils/TimeValuePairUtils.java  |  32 +-
 .../apache/iotdb/db/utils/TypeInferenceUtils.java  |  37 +-
 .../db/utils/datastructure/AlignedTVList.java      |  45 +-
 .../iotdb/db/utils/datastructure/BinaryTVList.java |   3 +-
 .../db/utils/datastructure/BooleanTVList.java      |   3 +-
 .../iotdb/db/utils/datastructure/DoubleTVList.java |   3 +-
 .../iotdb/db/utils/datastructure/FloatTVList.java  |   3 +-
 .../iotdb/db/utils/datastructure/IntTVList.java    |   3 +-
 .../iotdb/db/utils/datastructure/LongTVList.java   |   3 +-
 .../iotdb/db/utils/datastructure/TVList.java       |  26 +-
 .../db/utils/windowing/window/WindowImpl.java      |   4 +
 .../dataregion/DataRegionStateMachineTest.java     |  46 +-
 .../iotdb/db/metadata/path/PatternTreeMapTest.java |  55 ++
 .../connector/PipeDataNodeThriftRequestTest.java   |   2 +-
 .../PipeStatementPatternParseVisitorTest.java      | 161 ++++
 .../PipeConnectorSubtaskExecutorTest.java          |   4 +-
 .../extractor/IoTDBDataRegionExtractorTest.java    |  18 +-
 .../extractor/PipePlanPatternParseVisitorTest.java | 428 ++++++++++
 .../db/pipe/pattern/IoTDBPipePatternTest.java      |  46 +-
 .../db/pipe/pattern/PrefixPipePatternTest.java     |  46 +-
 .../org/apache/iotdb/db/qp/sql/ASTVisitorTest.java |  12 +-
 .../aggregation/TimeRangeIteratorTest.java         | 229 +++---
 .../operator/AggregationOperatorTest.java          |   6 +-
 .../AlignedSeriesAggregationScanOperatorTest.java  |   3 +-
 .../operator/HorizontallyConcatOperatorTest.java   |   6 +-
 .../execution/operator/LastQueryOperatorTest.java  |  12 +-
 .../operator/LastQuerySortOperatorTest.java        |  12 +-
 .../execution/operator/OperatorMemoryTest.java     |   3 +-
 .../SeriesAggregationScanOperatorTest.java         |   3 +-
 .../SlidingWindowAggregationOperatorTest.java      |   3 +-
 .../operator/UpdateLastCacheOperatorTest.java      |   3 +-
 .../plan/analyze/ExpressionAnalyzerTest.java       |   8 +-
 .../plan/optimization/TestPlanBuilder.java         |   3 +-
 .../logical/DataQueryLogicalPlannerTest.java       |  18 +-
 .../planner/node/process/FilterNodeSerdeTest.java  |   3 +-
 .../compaction/CompactionOverlapCheckTest.java     |   6 +
 .../FastInnerCompactionPerformerTest.java          |   7 +
 .../compaction/TestUtilsForAlignedSeries.java      |  12 +
 .../compaction/utils/TsFileGeneratorUtils.java     |   8 +
 .../org/apache/iotdb/db/utils/BlobParserTest.java  |  60 ++
 .../iotdb/db/utils/TypeInferenceUtilsTest.java     |   2 +-
 .../datastructure/PrimitiveArrayManagerTest.java   |   4 +
 .../metrics/core/reporter/IoTDBJmxReporter.java    |   4 +-
 .../apache/iotdb/metrics/core/type/IoTDBRate.java  |   2 +-
 .../core/{uitls => utils}/IoTDBCachedGauge.java    |   2 +-
 .../{uitls => utils}/IoTDBCachedGaugeMBean.java    |   2 +-
 .../IoTDBMetricObjNameFactory.java                 |   2 +-
 .../core/{uitls => utils}/IoTDBMovingAverage.java  |   2 +-
 .../core/{uitls => utils}/ObjectNameFactory.java   |   2 +-
 .../resources/conf/iotdb-common.properties         |  12 +-
 .../iotdb/commons/client/ClientPoolFactory.java    |   2 +-
 .../async/AsyncPipeDataTransferServiceClient.java  |   4 +
 .../apache/iotdb/commons/conf/CommonConfig.java    |  82 +-
 .../iotdb/commons/conf/CommonDescriptor.java       |  40 +-
 .../apache/iotdb/commons/path/PatternTreeMap.java  |  41 +
 .../commons/pipe/agent/task/PipeTaskAgent.java     |  75 +-
 .../iotdb/commons/pipe/config/PipeConfig.java      |  29 +-
 .../config/constant/PipeConnectorConstant.java     |   8 +
 .../config/constant/PipeExtractorConstant.java     |   8 +
 .../config/constant/PipeProcessorConstant.java     |  11 +
 .../pipe/connector/client/IoTDBSyncClient.java     |   7 +
 .../pipe/connector/limiter/GlobalRateLimiter.java} |  55 +-
 .../connector/limiter/PipeEndPointRateLimiter.java |  59 ++
 .../connector/protocol/IoTDBAirGapConnector.java   |  48 +-
 .../pipe/connector/protocol/IoTDBConnector.java    |  45 +-
 .../connector/protocol/IoTDBSslSyncConnector.java  |  24 +-
 .../listening/AbstractPipeListeningQueue.java      |  11 +-
 .../AbstractSerializableListeningQueue.java        |  35 +-
 .../iotdb/commons/pipe/event/EnrichedEvent.java    |   1 +
 .../commons/pipe/event/PipeWritePlanEvent.java     |   9 +-
 ...ritePlanEvent.java => ProgressReportEvent.java} |  60 +-
 .../commons/pipe/extractor/IoTDBExtractor.java     |  23 +-
 .../extractor/IoTDBNonDataRegionExtractor.java     |  89 ++-
 .../pipe/metric/PipeEventCommitMetrics.java        |  32 +-
 .../commons/pipe/pattern/IoTDBPipePattern.java     |  99 ++-
 .../iotdb/commons/pipe/pattern/PipePattern.java    |  17 +-
 .../commons/pipe/pattern/PrefixPipePattern.java    |  20 +-
 .../pipe/plugin/builtin/BuiltinPipePlugin.java     |   4 +
 .../ChangingValueSamplingProcessor.java            |  23 +-
 .../pipe/progress/PipeEventCommitManager.java      |  58 +-
 .../commons/pipe/progress/PipeEventCommitter.java  |  16 +-
 .../iotdb/commons/pipe/task/meta/PipeMeta.java     |  45 +-
 .../iotdb/commons/pipe/task/meta/PipeTaskMeta.java |   2 +-
 .../commons/pipe/task/meta/PipeTemporaryMeta.java  |  87 ++
 .../pipe/task/subtask/PipeReportableSubtask.java   |   2 +-
 .../iotdb/commons/service/metric/enums/Metric.java |  15 +
 .../subscription/config/SubscriptionConfig.java    |  18 +-
 .../commons/subscription/meta/topic/TopicMeta.java |  37 +-
 .../commons/udf/builtin/String/UDTFConcat.java     |   2 +-
 .../commons/udf/builtin/String/UDTFEndsWith.java   |   2 +-
 .../commons/udf/builtin/String/UDTFLower.java      |   2 +-
 .../commons/udf/builtin/String/UDTFStartsWith.java |   2 +-
 .../commons/udf/builtin/String/UDTFStrCompare.java |   4 +-
 .../commons/udf/builtin/String/UDTFStrLength.java  |   2 +-
 .../commons/udf/builtin/String/UDTFStrLocate.java  |   2 +-
 .../iotdb/commons/udf/builtin/String/UDTFTrim.java |   2 +-
 .../commons/udf/builtin/String/UDTFUpper.java      |   2 +-
 .../iotdb/commons/udf/builtin/UDTFBottomK.java     |   8 +-
 .../iotdb/commons/udf/builtin/UDTFConst.java       |  26 +
 .../iotdb/commons/udf/builtin/UDTFSelectK.java     |  27 +-
 .../apache/iotdb/commons/udf/builtin/UDTFTopK.java |   8 +-
 .../commons/udf/utils/UDFDataTypeTransformer.java  |  12 +
 .../org/apache/iotdb/commons/utils/BlobUtils.java  |  60 ++
 .../src/main/thrift/confignode.thrift              |   2 +
 .../src/main/thrift/datanode.thrift                |   6 +
 pom.xml                                            |  14 +-
 599 files changed, 22504 insertions(+), 5680 deletions(-)
 delete mode 100644 .github/workflows/client-go.yml
 delete mode 100644 .github/workflows/client-python.yml
 rename .github/workflows/{client-cpp.yml => multi-language-client.yml} (58%)
 create mode 100644 example/odbc/.gitignore
 create mode 100644 example/odbc/ODBC-Example.sln
 create mode 100644 example/odbc/ODBC-Example/ODBC-Example.csproj
 create mode 100644 example/odbc/ODBC-Example/ODBC_Example.cs
 create mode 100644 example/odbc/README.md
 create mode 100644 
integration-test/src/test/java/org/apache/iotdb/db/it/alignbydevice/IoTDBAlignByDeviceWithTemplateAggregationIT.java
 create mode 100644 
integration-test/src/test/java/org/apache/iotdb/pipe/it/autocreate/IoTDBPipeAutoDropIT.java
 copy 
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/response/PipeSubscribeResponseVersion.java
 => 
integration-test/src/test/java/org/apache/iotdb/subscription/it/IoTDBSubscriptionITConstant.java
 (68%)
 rename 
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/exception/{SubscriptionPollTimeOutException.java
 => SubscriptionConnectionException.java} (59%)
 copy 
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/exception/{SubscriptionException.java
 => SubscriptionIncompatibleHandlerException.java} (59%)
 copy 
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/exception/{SubscriptionException.java
 => SubscriptionRuntimeCriticalException.java} (60%)
 copy 
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/exception/{SubscriptionException.java
 => SubscriptionRuntimeException.java} (60%)
 copy 
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/exception/{SubscriptionException.java
 => SubscriptionRuntimeNonCriticalException.java} (59%)
 delete mode 100644 
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/EnrichedTablets.java
 create mode 100644 
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/ErrorPayload.java
 create mode 100644 
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/FileInitPayload.java
 create mode 100644 
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/FilePiecePayload.java
 create mode 100644 
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/FileSealPayload.java
 create mode 100644 
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/PollFilePayload.java
 create mode 100644 
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/PollPayload.java
 create mode 100644 
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/SubscriptionCommitContext.java
 copy 
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/{response/PipeSubscribeResponseVersion.java
 => poll/SubscriptionPollPayload.java} (71%)
 create mode 100644 
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/SubscriptionPollRequest.java
 copy 
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/{response/PipeSubscribeResponseType.java
 => poll/SubscriptionPollRequestType.java} (67%)
 create mode 100644 
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/SubscriptionPollResponse.java
 copy 
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/{response/PipeSubscribeResponseType.java
 => poll/SubscriptionPollResponseType.java} (64%)
 create mode 100644 
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/poll/TabletsPayload.java
 delete mode 100644 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/ConsumerHeartbeatWorker.java
 delete mode 100644 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/PullConsumerAutoCommitWorker.java
 delete mode 100644 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/SubscriptionEndpointsSyncer.java
 delete mode 100644 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/SubscriptionMessage.java
 create mode 100644 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/SubscriptionProviders.java
 create mode 100644 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/payload/SubscriptionFileHandler.java
 create mode 100644 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/payload/SubscriptionMessage.java
 copy 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/{AsyncCommitCallback.java
 => payload/SubscriptionMessageHandler.java} (79%)
 copy 
iotdb-client/{service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/response/PipeSubscribeResponseType.java
 => 
session/src/main/java/org/apache/iotdb/session/subscription/payload/SubscriptionMessageType.java}
 (67%)
 rename 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/{ => 
payload}/SubscriptionSessionDataSet.java (78%)
 rename 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/{SubscriptionSessionDataSets.java
 => payload/SubscriptionSessionDataSetsHandler.java} (55%)
 copy 
integration-test/src/main/java/org/apache/iotdb/it/env/remote/config/RemoteConfigNodeConfig.java
 => 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/payload/SubscriptionTsFileHandler.java
 (61%)
 rename 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/exception/MemoryNotEnoughExceptionTest.java
 => 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/util/RandomStringGenerator.java
 (59%)
 rename 
{iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/timer => 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/util}/SubscriptionPollTimer.java
 (97%)
 create mode 100644 
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/consensus/request/write/pipe/payload/PipeSetTTLPlan.java
 create mode 100644 
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/coordinator/runtime/heartbeat/PipeHeartbeat.java
 rename 
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/coordinator/runtime/{
 => heartbeat}/PipeHeartbeatParser.java (86%)
 rename 
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/coordinator/runtime/{
 => heartbeat}/PipeHeartbeatScheduler.java (85%)
 create mode 100644 
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/extractor/PipeConfigPhysicalPlanPatternParseVisitor.java
 create mode 100644 
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/metric/PipeConfigNodeListenerMetrics.java
 create mode 100644 
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/metric/PipeConfigNodeRemainingTimeMetrics.java
 create mode 100644 
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/metric/PipeConfigNodeRemainingTimeOperator.java
 create mode 100644 
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/metric/PipeConfigRegionConnectorMetrics.java
 create mode 100644 
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/metric/PipeConfigRegionExtractorMetrics.java
 create mode 100644 
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/metric/PipeTemporaryMetaMetrics.java
 create mode 100644 
iotdb-core/confignode/src/test/java/org/apache/iotdb/confignode/manager/pipe/extractor/PipeConfigPhysicalPlanPatternParseVisitorTest.java
 mode change 100644 => 100755 
iotdb-core/datanode/src/assembly/resources/sbin/remove-datanode.sh
 copy 
iotdb-core/{node-commons/src/main/java/org/apache/iotdb/commons/pipe/event/PipeWritePlanEvent.java
 => 
datanode/src/main/java/org/apache/iotdb/db/pipe/event/common/terminate/PipeTerminateEvent.java}
 (51%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/extractor/schemaregion/PipePlanPatternParseVisitor.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/metric/PipeDataNodeRemainingEventAndTimeMetrics.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/metric/PipeDataNodeRemainingEventAndTimeOperator.java
 rename 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/metric/{PipeConnectorMetrics.java
 => PipeDataRegionConnectorMetrics.java} (77%)
 rename 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/metric/{PipeExtractorMetrics.java
 => PipeDataRegionExtractorMetrics.java} (72%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/metric/PipeSchemaRegionConnectorMetrics.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/metric/PipeSchemaRegionExtractorMetrics.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/metric/PipeSchemaRegionListenerMetrics.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/processor/downsampling/changing/ChangingValueFilter.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/processor/downsampling/changing/ChangingValueSamplingProcessor.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/receiver/visitor/PipeStatementPatternParseVisitor.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/task/subtask/connector/PipeRealtimePriorityBlockingQueue.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/TemplatedAggregationAnalyze.java
 copy 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/AsyncCommitCallback.java
 => 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/expression/visitor/cartesian/QueryContextProvider.java
 (79%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/statement/literal/BinaryLiteral.java
 copy 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/SubscriptionMessagePayload.java
 => 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/IQueryDataSource.java
 (84%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/QueryDataSourceForRegionScan.java
 rename 
iotdb-client/session/src/main/java/org/apache/iotdb/session/subscription/SubscriptionMessagePayload.java
 => 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/QueryDataSourceType.java
 (83%)
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{queryengine/execution/aggregation/MaxByAccumulator.java
 => storageengine/dataregion/read/filescan/IChunkHandle.java} (51%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/filescan/IFileScanHandle.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/filescan/impl/ClosedFileScanHandleImpl.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/filescan/impl/DiskAlignedChunkHandleImpl.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/filescan/impl/DiskChunkHandleImpl.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/filescan/impl/MemAlignedChunkHandleImpl.java
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/{queryengine/execution/aggregation/MaxByAccumulator.java
 => storageengine/dataregion/read/filescan/impl/MemChunkHandleImpl.java} (52%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/filescan/impl/UnclosedFileScanHandleImpl.java
 copy 
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/exception/SubscriptionException.java
 => 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/filescan/model/AbstractChunkOffset.java
 (52%)
 copy 
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/response/PipeSubscribeResponseVersion.java
 => 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/filescan/model/AbstractDeviceChunkMetaData.java
 (66%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/filescan/model/AlignedChunkOffset.java
 copy iotdb-api/udf-api/src/main/java/org/apache/iotdb/udf/api/type/Type.java 
=> 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/filescan/model/AlignedDeviceChunkMetaData.java
 (53%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/filescan/model/ChunkOffset.java
 copy 
integration-test/src/main/java/org/apache/iotdb/it/env/remote/config/RemoteConfigNodeConfig.java
 => 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/filescan/model/DeviceChunkMetaData.java
 (56%)
 copy 
integration-test/src/main/java/org/apache/iotdb/it/env/remote/config/RemoteConfigNodeConfig.java
 => 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/filescan/model/DeviceStartEndTime.java
 (57%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/utils/SharedTimeDataBuffer.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/utils/TsFileDeviceStartEndTimeIterator.java
 delete mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/broker/EnrichedTabletsBinaryCache.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/broker/SubscriptionPrefetchingTabletsQueue.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/broker/SubscriptionPrefetchingTsFileQueue.java
 rename 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/{broker/SerializedEnrichedEvent.java
 => event/SubscriptionEvent.java} (53%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/event/SubscriptionEventBinaryCache.java
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/event/SubscriptionTsFileEvent.java
 copy 
iotdb-core/{confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/metric/PipeConfigNodeMetrics.java
 => 
datanode/src/main/java/org/apache/iotdb/db/subscription/metric/SubscriptionMetrics.java}
 (52%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/metric/SubscriptionPrefetchingQueueMetrics.java
 create mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/pipe/connector/PipeStatementPatternParseVisitorTest.java
 create mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/pipe/extractor/PipePlanPatternParseVisitorTest.java
 create mode 100644 
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/utils/BlobParserTest.java
 rename 
iotdb-core/metrics/core/src/main/java/org/apache/iotdb/metrics/core/{uitls => 
utils}/IoTDBCachedGauge.java (98%)
 rename 
iotdb-core/metrics/core/src/main/java/org/apache/iotdb/metrics/core/{uitls => 
utils}/IoTDBCachedGaugeMBean.java (95%)
 rename 
iotdb-core/metrics/core/src/main/java/org/apache/iotdb/metrics/core/{uitls => 
utils}/IoTDBMetricObjNameFactory.java (98%)
 rename 
iotdb-core/metrics/core/src/main/java/org/apache/iotdb/metrics/core/{uitls => 
utils}/IoTDBMovingAverage.java (98%)
 rename 
iotdb-core/metrics/core/src/main/java/org/apache/iotdb/metrics/core/{uitls => 
utils}/ObjectNameFactory.java (96%)
 copy 
iotdb-core/{datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/load/LoadTsFileRateLimiter.java
 => 
node-commons/src/main/java/org/apache/iotdb/commons/pipe/connector/limiter/GlobalRateLimiter.java}
 (51%)
 create mode 100644 
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/connector/limiter/PipeEndPointRateLimiter.java
 copy 
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/event/{PipeWritePlanEvent.java
 => ProgressReportEvent.java} (59%)
 copy 
iotdb-client/service-rpc/src/main/java/org/apache/iotdb/rpc/subscription/payload/response/PipeSubscribeResponseVersion.java
 => 
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/plugin/builtin/processor/downsampling/ChangingValueSamplingProcessor.java
 (57%)
 create mode 100644 
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/task/meta/PipeTemporaryMeta.java
 create mode 100644 
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/utils/BlobUtils.java

Reply via email to