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

caogaofei pushed a change to branch beyyes/agg_template_alignbydevice
in repository https://gitbox.apache.org/repos/asf/iotdb.git


    from 569d6eddcd5 add ascending and descending aggregation descriptors 
support
     add cfe19176edb Fix compaction write rate can not hot load
     add e3aa4d8954c Pipe: RPC compression for data sync connectors (SNAPPY, 
GZIP, LZ4, ZSTD and LZMA2) (#12519)
     add 44ed96111ab Add device number metric
     add 58331a6c73d bump ratis to 3.1.0-snapshot (#12533)
     add b50ec7d64a4 Revert "bump ratis to 3.1.0-snapshot (#12533)"
     add e0eea1d14bf JDBC: Fix maxRows cannot be set to 0 (#12540)
     add 2f1ca39f391 Fix non-root user query data returns unexpected path
     add 29fab685489 Pipe IT: Added flush on 
IoTDBPipeExtractorIT#testExtractorPatternMatch() to avoid pipe on previous 
follower getting unclosed historical tsfile from the old leader (#12534)
     add 8562eead2bc add remote storage block for tiered storage (#12535)
     add 95708409a01 [RatisConsensus] Use empty map for create peer (#12463)
     add 9f92b1ae829 bump ratis 3.1.0-d09cbac-SNAPSHOT (#12547)
     add 81382d71c05 Fix client cpp IT warning (#12548)
     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 3d42a2a0292 merge master

No new revisions were added by this update.

Summary of changes:
 .github/workflows/client-cpp.yml                   |  51 +--
 .github/workflows/client-go.yml                    |   5 +-
 .github/workflows/client-python.yml                |   2 +-
 .mvn/wrapper/maven-wrapper.properties              |   4 +-
 Jenkinsfile                                        |   2 +-
 README.md                                          |   2 +
 README_ZH.md                                       |   2 +
 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 ++++
 .../it/env/cluster/config/MppCommonConfig.java     |   6 +
 .../it/env/cluster/config/MppConfigNodeConfig.java |   6 -
 .../env/cluster/config/MppSharedCommonConfig.java  |   7 +
 .../it/env/remote/config/RemoteCommonConfig.java   |   5 +
 .../env/remote/config/RemoteConfigNodeConfig.java  |   5 -
 .../org/apache/iotdb/itbase/env/CommonConfig.java  |   2 +
 .../apache/iotdb/itbase/env/ConfigNodeConfig.java  |   2 -
 .../org/apache/iotdb/db/it/auth/IoTDBAuthIT.java   |  29 ++
 .../pipe/it/autocreate/AbstractPipeDualAutoIT.java |   4 +-
 .../pipe/it/autocreate/IoTDBPipeAutoDropIT.java    |  80 ++++
 .../pipe/it/autocreate/IoTDBPipeClusterIT.java     |  67 ++--
 ...T.java => IoTDBPipeConnectorCompressionIT.java} | 115 ++++--
 .../pipe/it/autocreate/IoTDBPipeDataSinkIT.java    |  17 +-
 .../pipe/it/autocreate/IoTDBPipeExtractorIT.java   |  51 +--
 .../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     | 134 +++++++
 .../it/dual/AbstractSubscriptionDualIT.java        |   4 +-
 .../parameter/PipeParameterValidator.java          |   4 +-
 iotdb-client/client-py/requirements_dev.txt        |   2 +-
 .../java/org/apache/iotdb/jdbc/IoTDBStatement.java |   4 +-
 iotdb-core/confignode/pom.xml                      |   4 +
 .../heartbeat/DataNodeHeartbeatHandler.java        |   3 +-
 .../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 +++++
 .../iotdb/confignode/manager/ClusterManager.java   |   2 +
 .../iotdb/confignode/manager/ConfigManager.java    |   4 +-
 .../manager/consensus/ConsensusManager.java        |   8 +
 .../payload/PipeTransferConfigSnapshotSealReq.java |  33 +-
 .../protocol/IoTDBConfigRegionAirGapConnector.java |  29 +-
 .../protocol/IoTDBConfigRegionConnector.java       |  22 +-
 .../runtime/PipeRuntimeCoordinator.java            |  18 +-
 .../runtime/heartbeat/PipeHeartbeat.java           |  61 +++
 .../{ => heartbeat}/PipeHeartbeatParser.java       |  51 +--
 .../{ => heartbeat}/PipeHeartbeatScheduler.java    |  20 +-
 .../pipe/event/PipeConfigRegionSnapshotEvent.java  |   1 +
 .../pipe/execution/PipeConfigNodeSubtask.java      |  52 ++-
 .../extractor/ConfigRegionListeningFilter.java     |   8 +-
 .../pipe/extractor/IoTDBConfigRegionExtractor.java |  31 +-
 .../PipeConfigPhysicalPlanPatternParseVisitor.java | 287 ++++++++++++++
 .../pipe/metric/PipeConfigNodeListenerMetrics.java |  67 ++++
 .../manager/pipe/metric/PipeConfigNodeMetrics.java |  14 +-
 .../metric/PipeConfigNodeRemainingTimeMetrics.java | 169 ++++++++
 .../PipeConfigNodeRemainingTimeOperator.java       | 119 ++++++
 .../metric/PipeConfigRegionConnectorMetrics.java   | 157 ++++++++
 .../metric/PipeConfigRegionExtractorMetrics.java   | 139 +++++++
 .../receiver/protocol/IoTDBConfigNodeReceiver.java |  45 ++-
 .../PipeConfigPhysicalPlanTSStatusVisitor.java     |  55 +--
 .../persistence/executor/ConfigPlanExecutor.java   |   8 +-
 .../confignode/persistence/pipe/PipeTaskInfo.java  |  89 +++--
 .../procedure/env/RegionMaintainHandler.java       |  40 +-
 .../impl/region/AddRegionPeerProcedure.java        |   4 +-
 .../thrift/ConfigNodeRPCServiceProcessor.java      |  65 ++--
 .../request/ConfigPhysicalPlanSerDeTest.java       | 111 +++---
 .../connector/PipeConfigNodeThriftRequestTest.java |   2 +-
 .../extractor/IoTDBConfigRegionExtractorTest.java  |   7 +-
 ...eConfigPhysicalPlanPatternParseVisitorTest.java | 408 ++++++++++++++++++++
 .../org/apache/iotdb/consensus/IConsensus.java     |   3 +-
 .../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 +
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  |   2 +-
 .../schemaregion/SchemaExecutionVisitor.java       |  25 +-
 .../PipeDataRegionProcessorConstructor.java        |   4 +
 .../runtime/PipeSchemaRegionListenerManager.java   |  44 ++-
 .../db/pipe/agent/task/PipeDataNodeTaskAgent.java  | 203 ++++++++--
 .../builder/PipeTransferBatchReqBuilder.java       |   7 +-
 .../evolvable/request/PipeTransferPlanNodeReq.java |   1 +
 .../request/PipeTransferSchemaSnapshotSealReq.java |  32 +-
 .../airgap/IoTDBDataNodeAirGapConnector.java       |  12 +-
 .../airgap/IoTDBDataRegionAirGapConnector.java     |  24 +-
 .../airgap/IoTDBSchemaRegionAirGapConnector.java   |  17 +-
 .../async/IoTDBDataRegionAsyncConnector.java       |  45 ++-
 .../PipeTransferTabletBatchEventHandler.java       |   7 +-
 .../PipeTransferTabletInsertNodeEventHandler.java  |   7 +-
 .../PipeTransferTsFileInsertionEventHandler.java   |  22 +-
 .../thrift/sync/IoTDBDataNodeSyncConnector.java    |   5 +-
 .../thrift/sync/IoTDBDataRegionSyncConnector.java  |  42 +-
 .../thrift/sync/IoTDBSchemaRegionConnector.java    |  17 +-
 .../event/common/heartbeat/PipeHeartbeatEvent.java |  34 +-
 .../schema/PipeSchemaRegionWritePlanEvent.java     |   4 +-
 .../tablet/PipeInsertNodeTabletInsertionEvent.java |  24 +-
 .../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 ++++++++++++++
 .../iotdb/db/pipe/metric/PipeDataNodeMetrics.java  |  20 +-
 .../PipeDataNodeRemainingEventAndTimeMetrics.java  | 219 +++++++++++
 .../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     |  16 +-
 .../visitor/PipePlanToStatementVisitor.java        |   2 +-
 .../visitor/PipeStatementExceptionVisitor.java     |  39 +-
 .../visitor/PipeStatementPatternParseVisitor.java  | 136 +++++++
 .../visitor/PipeStatementTSStatusVisitor.java      |  10 +
 .../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 +-
 .../impl/DataNodeInternalRPCServiceImpl.java       |  19 +-
 .../thrift/impl/DataNodeRegionManager.java         |   2 +
 .../db/queryengine/common/MPPQueryContext.java     |  60 +++
 .../common/schematree/ClusterSchemaTree.java       |   5 +-
 .../exception/MemoryNotEnoughException.java        |   7 +-
 .../execution/MemoryEstimationHelper.java          |   6 +-
 .../queryengine/execution/driver/DataDriver.java   |  25 +-
 .../execution/driver/DataDriverContext.java        |   4 +-
 .../fragment/FragmentInstanceContext.java          | 150 ++++++--
 .../execution/fragment/QueryContext.java           |  76 +++-
 .../source/AbstractDataSourceOperator.java         |   5 +-
 .../operator/source/AlignedSeriesScanOperator.java |   5 +-
 .../operator/source/DataSourceOperator.java        |   4 +-
 .../iotdb/db/queryengine/plan/Coordinator.java     |   3 +
 .../queryengine/plan/analyze/AnalyzeVisitor.java   | 168 +++++---
 .../plan/analyze/ConcatPathRewriter.java           |  33 +-
 .../plan/analyze/ExpressionAnalyzer.java           |  42 +-
 .../queryengine/plan/analyze/ExpressionUtils.java  |  66 +++-
 .../queryengine/plan/analyze/TemplatedAnalyze.java |  86 +++--
 .../plan/analyze/schema/ClusterSchemaFetcher.java  |   4 +-
 .../queryengine/plan/execution/QueryExecution.java |   3 +
 .../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 ++
 .../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}   |   9 +-
 .../plan/optimization/AggregationPushDown.java     |  77 +++-
 .../db/queryengine/plan/parser/ASTVisitor.java     |   6 +-
 .../plan/planner/LocalExecutionPlanner.java        |  22 +-
 .../plan/planner/LogicalPlanBuilder.java           |  76 ++--
 .../queryengine/plan/planner/TreeModelPlanner.java |  15 +-
 .../distribution/DistributionPlanContext.java      |   6 +
 .../plan/planner/distribution/SourceRewriter.java  |   9 +
 .../plan/node/source/AlignedLastQueryScanNode.java |  13 +
 .../source/AlignedSeriesAggregationScanNode.java   |  11 +
 .../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 +
 .../plan/statement/crud/InsertBaseStatement.java   |  17 +-
 .../crud/InsertMultiTabletsStatement.java          |   7 +
 .../plan/statement/crud/InsertRowStatement.java    |  11 +
 .../crud/InsertRowsOfOneDeviceStatement.java       |   7 +
 .../plan/statement/crud/InsertRowsStatement.java   |   7 +
 .../plan/statement/crud/InsertStatement.java       |  35 +-
 .../plan/statement/crud/InsertTabletStatement.java |  11 +
 .../plan/statement/crud/LoadTsFileStatement.java   |   4 +-
 .../metadata/CreateAlignedTimeSeriesStatement.java |  55 +++
 .../schemaengine/metric/SchemaEngineMemMetric.java |  15 +-
 .../schemaengine/metric/SchemaRegionMemMetric.java |  21 +
 .../rescon/ISchemaEngineStatistics.java            |   2 +
 .../rescon/MemSchemaEngineStatistics.java          |  14 +
 .../rescon/MemSchemaRegionStatistics.java          |   3 +
 .../schemaregion/utils/ResourceByPathUtils.java    |  83 +---
 .../db/storageengine/dataregion/DataRegion.java    | 208 ++++++++--
 .../dataregion/IDataRegionForQuery.java            |  20 +-
 .../dataregion/VirtualDataRegion.java              |  27 ++
 .../dataregion/memtable/AbstractMemTable.java      | 311 +++++++++++++++
 .../memtable/AlignedWritableMemChunk.java          |   4 +
 .../dataregion/memtable/IMemTable.java             |  19 +
 .../dataregion/memtable/TsFileProcessor.java       | 322 ++++++++++++++++
 .../dataregion/read/IQueryDataSource.java}         |  11 +-
 .../dataregion/read/QueryDataSource.java           |  11 +-
 .../read/QueryDataSourceForRegionScan.java         |  64 +++
 .../dataregion/read/QueryDataSourceType.java}      |  15 +-
 .../filescan/IChunkHandle.java}                    |  55 ++-
 .../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 ++++
 .../filescan/impl/MemChunkHandleImpl.java}         |  46 ++-
 .../filescan/impl/UnclosedFileScanHandleImpl.java  | 180 +++++++++
 .../filescan/model/AbstractChunkOffset.java}       |  41 +-
 .../model/AbstractDeviceChunkMetaData.java         |  20 +-
 .../read/filescan/model/AlignedChunkOffset.java    |  52 +++
 .../model/AlignedDeviceChunkMetaData.java}         |  26 +-
 .../read/filescan/model/ChunkOffset.java           |  48 +++
 .../read/filescan/model/DeviceChunkMetaData.java   |  25 +-
 .../read/filescan/model/DeviceStartEndTime.java}   |  31 +-
 .../dataregion/tsfile/TsFileResourceBlockType.java |   1 +
 .../dataregion/utils/SharedTimeDataBuffer.java     |  91 +++++
 .../utils/TsFileDeviceStartEndTimeIterator.java    |  52 +++
 .../db/subscription/broker/SubscriptionBroker.java |   4 +-
 .../broker/SubscriptionPrefetchingQueue.java       |   6 +-
 .../task/stage/SubscriptionTaskConnectorStage.java |   4 +-
 .../task/subtask/SubscriptionConnectorSubtask.java |   6 +-
 .../SubscriptionConnectorSubtaskLifeCycle.java     |   4 +-
 .../SubscriptionConnectorSubtaskManager.java       |  20 +-
 .../apache/iotdb/db/utils/ErrorHandlingUtils.java  |   3 +
 .../apache/iotdb/db/utils/ModificationUtils.java   |  97 +++++
 .../db/utils/datastructure/AlignedTVList.java      |   7 +-
 .../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       |  18 +-
 .../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 +--
 .../plan/analyze/ExpressionAnalyzerTest.java       |   8 +-
 .../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 +-
 .../iotdb/commons/client/ClientPoolFactory.java    |   2 +-
 .../apache/iotdb/commons/conf/CommonConfig.java    |  27 +-
 .../iotdb/commons/conf/CommonDescriptor.java       |  12 +-
 .../apache/iotdb/commons/path/PatternTreeMap.java  |  41 ++
 .../commons/pipe/agent/task/PipeTaskAgent.java     |  75 ++--
 .../iotdb/commons/pipe/config/PipeConfig.java      |  12 +-
 .../config/constant/PipeConnectorConstant.java     |  22 ++
 .../config/constant/PipeExtractorConstant.java     |   8 +
 .../config/constant/PipeProcessorConstant.java     |  11 +
 .../pipe/connector/compressor/PipeCompressor.java} |  51 +--
 .../compressor/PipeCompressorFactory.java          |  80 ++++
 .../connector/compressor/PipeGZIPCompressor.java}  |  33 +-
 .../connector/compressor/PipeLZ4Compressor.java}   |  33 +-
 .../connector/compressor/PipeLZMA2Compressor.java} |  33 +-
 .../compressor/PipeSnappyCompressor.java}          |  33 +-
 .../connector/compressor/PipeZSTDCompressor.java}  |  33 +-
 .../payload/thrift/request/PipeRequestType.java    |   3 +
 .../thrift/request/PipeTransferCompressedReq.java  | 146 +++++++
 .../connector/protocol/IoTDBAirGapConnector.java   |   7 +-
 .../pipe/connector/protocol/IoTDBConnector.java    |  62 +++
 .../connector/protocol/IoTDBSslSyncConnector.java  |   8 +-
 .../listening/AbstractPipeListeningQueue.java      |  11 +-
 .../AbstractSerializableListeningQueue.java        |  35 +-
 .../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}           |  18 +-
 .../pipe/progress/PipeEventCommitManager.java      |  58 ++-
 .../commons/pipe/progress/PipeEventCommitter.java  |  16 +-
 .../iotdb/commons/pipe/task/meta/PipeMeta.java     |  38 +-
 .../iotdb/commons/pipe/task/meta/PipeTaskMeta.java |   2 +-
 .../commons/pipe/task/meta/PipeTemporaryMeta.java  |  60 +++
 .../pipe/task/subtask/PipeReportableSubtask.java   |   2 +-
 .../iotdb/commons/service/metric/enums/Metric.java |   9 +
 .../src/main/thrift/datanode.thrift                |   2 +
 pom.xml                                            |  12 +-
 324 files changed, 11167 insertions(+), 2307 deletions(-)
 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/pipe/it/autocreate/IoTDBPipeAutoDropIT.java
 copy 
integration-test/src/test/java/org/apache/iotdb/pipe/it/autocreate/{IoTDBPipeProcessorIT.java
 => IoTDBPipeConnectorCompressionIT.java} (54%)
 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 (88%)
 rename 
iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/pipe/coordinator/runtime/{
 => heartbeat}/PipeHeartbeatScheduler.java (90%)
 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/test/java/org/apache/iotdb/confignode/manager/pipe/extractor/PipeConfigPhysicalPlanPatternParseVisitorTest.java
 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
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/{execution/operator/source/DataSourceOperator.java
 => plan/expression/visitor/cartesian/QueryContextProvider.java} (75%)
 copy 
iotdb-core/{metrics/core/src/main/java/org/apache/iotdb/metrics/core/uitls/IoTDBCachedGaugeMBean.java
 => 
datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/IQueryDataSource.java}
 (77%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/QueryDataSourceForRegionScan.java
 copy 
iotdb-core/{metrics/core/src/main/java/org/apache/iotdb/metrics/core/uitls/IoTDBCachedGaugeMBean.java
 => 
datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/QueryDataSourceType.java}
 (77%)
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/{tsfile/TsFileResourceBlockType.java
 => read/filescan/IChunkHandle.java} (53%)
 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/storageengine/dataregion/{tsfile/TsFileResourceBlockType.java
 => read/filescan/impl/MemChunkHandleImpl.java} (50%)
 create mode 100644 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/filescan/impl/UnclosedFileScanHandleImpl.java
 copy 
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/{tsfile/TsFileResourceBlockType.java
 => read/filescan/model/AbstractChunkOffset.java} (52%)
 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/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-core/{metrics/core/src/main/java/org/apache/iotdb/metrics/core/uitls/IoTDBCachedGaugeMBean.java
 => 
datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/read/filescan/model/AlignedDeviceChunkMetaData.java}
 (52%)
 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%)
 rename 
iotdb-core/datanode/src/{test/java/org/apache/iotdb/db/queryengine/exception/MemoryNotEnoughExceptionTest.java
 => 
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
 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
 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/storageengine/dataregion/tsfile/TsFileResourceBlockType.java
 => 
node-commons/src/main/java/org/apache/iotdb/commons/pipe/connector/compressor/PipeCompressor.java}
 (50%)
 create mode 100644 
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/connector/compressor/PipeCompressorFactory.java
 copy 
iotdb-core/{datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/AbstractDataSourceOperator.java
 => 
node-commons/src/main/java/org/apache/iotdb/commons/pipe/connector/compressor/PipeGZIPCompressor.java}
 (51%)
 copy 
iotdb-core/{datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/AbstractDataSourceOperator.java
 => 
node-commons/src/main/java/org/apache/iotdb/commons/pipe/connector/compressor/PipeLZ4Compressor.java}
 (51%)
 copy 
iotdb-core/{datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/AbstractDataSourceOperator.java
 => 
node-commons/src/main/java/org/apache/iotdb/commons/pipe/connector/compressor/PipeLZMA2Compressor.java}
 (51%)
 copy 
iotdb-core/{datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/AbstractDataSourceOperator.java
 => 
node-commons/src/main/java/org/apache/iotdb/commons/pipe/connector/compressor/PipeSnappyCompressor.java}
 (51%)
 copy 
iotdb-core/{datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/AbstractDataSourceOperator.java
 => 
node-commons/src/main/java/org/apache/iotdb/commons/pipe/connector/compressor/PipeZSTDCompressor.java}
 (51%)
 create mode 100644 
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/connector/payload/thrift/request/PipeTransferCompressedReq.java
 copy 
iotdb-core/node-commons/src/main/java/org/apache/iotdb/commons/pipe/event/{PipeWritePlanEvent.java
 => ProgressReportEvent.java} (59%)
 copy 
iotdb-core/{datanode/src/main/java/org/apache/iotdb/db/queryengine/exception/MemoryNotEnoughException.java
 => 
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

Reply via email to