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

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

commit 32e925edc68795d96d9f8c2583b0a7ca23cc8d78
Merge: 55cbf5f822d a660f9d5dae
Author: shuwenwei <[email protected]>
AuthorDate: Wed Jun 4 10:19:19 2025 +0800

    Merge branch 'master' into parallelDispatch

 .github/workflows/greeting-ainode.yml              |  52 ++
 .github/workflows/pipe-it.yml                      |   6 +-
 LICENSE                                            |  15 +
 RELEASE_NOTES.md                                   |  44 +
 docker/src/main/DockerCompose/do-docker-build.sh   |   4 +-
 docker/src/main/Dockerfile-1.0.0-confignode        |   2 +-
 docker/src/main/Dockerfile-1.0.0-datanode          |   2 +-
 docker/src/main/Dockerfile-1.0.0-standalone        |   2 +-
 docker/src/main/Dockerfile-1c1d                    |   2 +-
 .../it/env/cluster/config/MppDataNodeConfig.java   |  12 +
 .../iotdb/it/env/cluster/env/AbstractEnv.java      |  26 +-
 .../it/env/remote/config/RemoteDataNodeConfig.java |  10 +
 .../apache/iotdb/itbase/env/DataNodeConfig.java    |   4 +
 .../org/apache/iotdb/ainode/it/AINodeBasicIT.java  |  22 +-
 .../apache/iotdb/db/it/IoTDBLoadLastCacheIT.java   | 642 ++++++++++++++
 .../org/apache/iotdb/db/it/IoTDBLoadTsFileIT.java  |  88 +-
 .../iotdb/db/it/IoTDBSetConfigurationIT.java       |  12 +-
 .../iotdb/db/it/auth/IoTDBSeriesPermissionIT.java  |   6 +-
 ...rageGroupIT.java => IoTDBDeleteDatabaseIT.java} |  18 +-
 .../iotdb/db/it/schema/IoTDBMetadataFetchIT.java   |  42 +-
 .../org/apache/iotdb/db/it/utils/TestUtils.java    |  17 +-
 .../manual/basic/IoTDBPipePermissionIT.java        |  43 +
 .../db/it/IoTDBMultiTAGsWithAttributesTableIT.java |  25 +-
 .../it/db/it/IoTDBPatternRecognitionIT.java        | 951 +++++++++++++++++++++
 .../relational/it/db/it/IoTDBWindowFunctionIT.java | 413 +++++++++
 .../it/query/recent/IoTDBMaintainAuthIT.java       |  18 +-
 .../it/query/recent/IoTDBTableAggregationIT.java   |  53 ++
 .../IoTDBCorrelatedExistsSubqueryIT.java           |   5 +-
 .../IoTDBCorrelatedScalarSubqueryIT.java           |  13 +-
 .../IoTDBAlignByDeviceTableViewIT.java             |   2 +-
 .../IoTDBOrderByWithAlignByDeviceTableViewIT.java  |   2 +-
 .../view/old/query/IoTDBPaginationTableViewIT.java |  15 +
 ...oTDBTableViewQueryWithNotMatchedDataTypeIT.java | 102 +++
 .../relational/it/schema/IoTDBDatabaseIT.java      | 171 +++-
 .../iotdb/relational/it/schema/IoTDBTableIT.java   |  37 +-
 .../it/IoTDBSubscriptionITConstant.java            |  28 +
 .../AbstractSubscriptionTreeRegressionIT.java      |  82 +-
 .../IoTDBDefaultTsfilePushConsumerIT.java          |  11 +
 .../IoTDBRootPullConsumeTsfileIT.java              |  10 +
 .../IoTDBSnapshotDevicePullConsumerDataSetIT.java  |   3 +
 .../multi/IoTDBOneConsumerMultiTopicsTsfileIT.java |  10 +
 .../IoTDBDevicePatternPullConsumerDataSetIT.java   |  31 +-
 ...IoTDBMiddleMatchPatternPullConsumeTsfileIT.java |  28 +-
 ...oTDBSnapshotTSPatternDatasetPushConsumerIT.java |  14 +-
 .../multi/IoTDBMultiGroupVsMultiConsumerIT.java    |  10 +
 .../java/org/apache/iotdb/cli/AbstractCli.java     |   4 +-
 iotdb-client/client-cpp/pom.xml                    |  86 +-
 iotdb-client/client-cpp/src/main/Column.cpp        | 359 ++++++++
 iotdb-client/client-cpp/src/main/Column.h          | 353 ++++++++
 iotdb-client/client-cpp/src/main/ColumnDecoder.cpp | 178 ++++
 iotdb-client/client-cpp/src/main/ColumnDecoder.h   |  75 ++
 iotdb-client/client-cpp/src/main/Common.cc         | 186 ----
 iotdb-client/client-cpp/src/main/Common.cpp        | 456 ++++++++++
 iotdb-client/client-cpp/src/main/Common.h          | 118 ++-
 .../client-cpp/src/main/IoTDBRpcDataSet.cpp        | 614 +++++++++++++
 iotdb-client/client-cpp/src/main/IoTDBRpcDataSet.h | 159 ++++
 iotdb-client/client-cpp/src/main/NodesSupplier.cpp |  61 +-
 iotdb-client/client-cpp/src/main/NodesSupplier.h   |  30 +-
 iotdb-client/client-cpp/src/main/Session.cpp       | 384 ++-------
 iotdb-client/client-cpp/src/main/Session.h         | 576 ++-----------
 .../client-cpp/src/main/SessionConnection.cpp      |  47 +-
 .../client-cpp/src/main/SessionConnection.h        |   1 +
 .../client-cpp/src/main/SessionDataSet.cpp         | 252 ++++++
 iotdb-client/client-cpp/src/main/SessionDataSet.h  | 146 ++++
 iotdb-client/client-cpp/src/main/TableSession.cpp  |  15 +-
 iotdb-client/client-cpp/src/main/TableSession.h    |  10 +-
 .../client-cpp/src/main/ThriftConnection.cpp       | 109 +--
 .../client-cpp/src/main/ThriftConnection.h         |  25 +-
 iotdb-client/client-cpp/src/main/TsBlock.cpp       | 109 +++
 iotdb-client/client-cpp/src/main/TsBlock.h         |  55 ++
 iotdb-client/client-cpp/src/test/cpp/sessionIT.cpp |  13 +-
 .../src/test/cpp/sessionRelationalIT.cpp           | 112 ++-
 .../tests/integration/sqlalchemy/test_dialect.py   |   2 +-
 .../iotdb/jdbc/IoTDBAbstractDatabaseMetadata.java  |   2 +-
 .../apache/iotdb/jdbc/IoTDBDatabaseMetadata.java   |   6 +-
 .../java/org/apache/iotdb/jdbc/IoTDBStatement.java |   9 +-
 .../IoTDBRelationalDatabaseMetadata.java           |   8 +-
 .../java/org/apache/iotdb/rpc/TSStatusCode.java    |   6 +-
 .../response/PipeSubscribeHeartbeatResp.java       |  17 +-
 .../apache/iotdb/session/SessionConnection.java    |   3 +
 .../base/AbstractSubscriptionProviders.java        |  13 +-
 iotdb-core/ainode/ainode/TimerXL/__init__.py       |   2 +-
 .../ainode/ainode/TimerXL/layers/Attn_Bias.py      |  43 +-
 .../ainode/TimerXL/layers/Attn_Projection.py       |  14 +-
 iotdb-core/ainode/ainode/TimerXL/layers/Embed.py   | 119 ++-
 .../ainode/TimerXL/layers/SelfAttention_Family.py  |  98 ++-
 .../ainode/TimerXL/layers/Transformer_EncDec.py    | 167 ++--
 .../ainode/ainode/TimerXL/layers/__init__.py       |   2 +-
 .../ainode/ainode/TimerXL/models/__init__.py       |   2 +-
 .../ainode/TimerXL/models/configuration_timer.py   |  23 +-
 .../ainode/ainode/TimerXL/models/timer_xl.py       | 275 +++---
 iotdb-core/ainode/ainode/core/client.py            | 128 ++-
 iotdb-core/ainode/ainode/core/config.py            | 121 ++-
 iotdb-core/ainode/ainode/core/constant.py          |  64 +-
 iotdb-core/ainode/ainode/core/exception.py         |  50 +-
 iotdb-core/ainode/ainode/core/handler.py           |  14 +-
 iotdb-core/ainode/ainode/core/log.py               |  32 +-
 .../ainode/ainode/core/manager/cluster_manager.py  |  27 +-
 .../ainode/core/manager/inference_manager.py       |  72 +-
 .../ainode/ainode/core/manager/model_manager.py    |  48 +-
 .../ainode/core/model/built_in_model_factory.py    | 503 +++++++----
 .../ainode/ainode/core/model/model_factory.py      | 156 ++--
 .../ainode/ainode/core/model/model_storage.py      |  27 +-
 .../{TimerXL => core/model/sundial}/__init__.py    |   2 +-
 .../model/sundial/configuration_sundial.py}        |  45 +-
 .../ainode/ainode/core/model/sundial/flow_loss.py  | 255 ++++++
 .../ainode/core/model/sundial/modeling_sundial.py  | 691 +++++++++++++++
 .../core/model/sundial/ts_generation_mixin.py      | 374 ++++++++
 iotdb-core/ainode/ainode/core/script.py            | 115 ++-
 iotdb-core/ainode/ainode/core/service.py           |  12 +-
 iotdb-core/ainode/ainode/core/util/activation.py   |   8 +-
 .../ainode/ainode/core/util/huggingface_cache.py   |  51 +-
 iotdb-core/ainode/ainode/core/util/masking.py      |  48 +-
 iotdb-core/ainode/ainode/core/util/serde.py        |  56 +-
 iotdb-core/ainode/poetry.lock                      | 707 +++++++++++++--
 iotdb-core/ainode/pyproject.toml                   |  10 +-
 .../confignode/conf/SystemPropertiesUtils.java     |   1 -
 .../exception/DatabaseNotExistsException.java      |   2 +-
 .../iotdb/confignode/manager/ConfigManager.java    |  29 +
 .../apache/iotdb/confignode/manager/IManager.java  |   8 +
 .../load/cache/detector/PhiAccrualDetector.java    |   2 +-
 .../manager/load/service/TopologyService.java      |   2 +-
 .../iotdb/confignode/manager/node/NodeManager.java |  88 ++
 .../PipeConfigNodeRemainingTimeOperator.java       |   4 +-
 .../receiver/protocol/IoTDBConfigNodeReceiver.java |  21 +-
 .../iotdb/confignode/persistence/ModelInfo.java    |   3 +-
 .../confignode/procedure/InternalProcedure.java    |   6 +-
 .../iotdb/confignode/procedure/Procedure.java      |  62 +-
 .../confignode/procedure/ProcedureExecutor.java    |   4 -
 .../procedure/env/ConfigNodeProcedureEnv.java      |  16 +-
 .../procedure/impl/StateMachineProcedure.java      |   8 +-
 .../procedure/impl/cq/CreateCQProcedure.java       |   4 +-
 .../procedure/impl/node/RemoveAINodeProcedure.java |   4 +-
 .../impl/pipe/AbstractOperatePipeProcedureV2.java  |   4 +-
 .../pipe/plugin/CreatePipePluginProcedure.java     |   4 +-
 .../impl/pipe/plugin/DropPipePluginProcedure.java  |   4 +-
 .../impl/region/AddRegionPeerProcedure.java        |   4 +-
 .../region/NotifyRegionMigrationProcedure.java     |   4 +-
 .../impl/region/ReconstructRegionProcedure.java    |   4 +-
 .../impl/region/RemoveRegionPeerProcedure.java     |   4 +-
 .../impl/schema/AlterLogicalViewProcedure.java     |   4 +-
 .../impl/schema/DeactivateTemplateProcedure.java   |   4 +-
 .../impl/schema/DeleteDatabaseProcedure.java       |   4 +-
 .../impl/schema/DeleteLogicalViewProcedure.java    |   4 +-
 .../impl/schema/DeleteTimeSeriesProcedure.java     |   4 +-
 .../procedure/impl/schema/SetTTLProcedure.java     |   4 +-
 .../impl/schema/SetTemplateProcedure.java          |   4 +-
 .../impl/schema/UnsetTemplateProcedure.java        |   4 +-
 .../impl/schema/table/AddTableColumnProcedure.java |   4 +-
 .../impl/schema/table/CreateTableProcedure.java    |   4 +-
 .../impl/schema/table/DeleteDevicesProcedure.java  |   4 +-
 .../schema/table/DropTableColumnProcedure.java     |   4 +-
 .../impl/schema/table/DropTableProcedure.java      |   4 +-
 .../schema/table/RenameTableColumnProcedure.java   |   4 +-
 .../impl/schema/table/RenameTableProcedure.java    |   4 +-
 .../schema/table/SetTablePropertiesProcedure.java  |   4 +-
 .../AbstractOperateSubscriptionProcedure.java      |   4 +-
 .../impl/sync/AbstractOperatePipeProcedure.java    |   4 +-
 .../AddNeverFinishSubProcedureProcedure.java       |   4 +-
 .../impl/testonly/NeverFinishProcedure.java        |   4 +-
 .../thrift/ConfigNodeRPCServiceProcessor.java      |  12 +
 .../confignode/procedure/entity/IncProcedure.java  |   5 +-
 .../confignode/procedure/entity/NoopProcedure.java |   5 +-
 .../procedure/entity/SimpleLockProcedure.java      |   5 +-
 .../procedure/entity/SimpleSTMProcedure.java       |   4 +-
 .../procedure/entity/SleepProcedure.java           |   5 +-
 .../procedure/entity/StuckSTMProcedure.java        |   4 +-
 .../apache/iotdb/consensus/ConsensusFactory.java   |   4 +-
 .../apache/iotdb/consensus/pipe/PipeConsensus.java |   7 +-
 .../iotdb/consensus/ratis/RatisConsensus.java      |   2 +
 .../iotdb/consensus/simple/SimpleConsensus.java    |   3 +-
 .../java/org/apache/iotdb/db/conf/IoTDBConfig.java |  48 ++
 .../org/apache/iotdb/db/conf/IoTDBDescriptor.java  |  22 +
 .../org/apache/iotdb/db/conf/IoTDBStartCheck.java  |   2 -
 .../db/consensus/DataRegionConsensusImpl.java      |   1 -
 .../db/consensus/SchemaRegionConsensusImpl.java    |   1 -
 .../dataregion/DataExecutionVisitor.java           |   5 +
 .../dataregion/DataRegionStateMachine.java         |   4 +
 .../metadata/DatabaseNotSetException.java          |  13 -
 .../runtime/TableLostRuntimeException.java}        |  23 +-
 .../runtime/TableNotExistsRuntimeException.java}   |  23 +-
 .../db/pipe/agent/task/PipeDataNodeTaskAgent.java  |  11 +-
 .../agent/task/connection/PipeEventCollector.java  |  38 +-
 .../subtask/connector/PipeConnectorSubtask.java    |  73 +-
 .../evolvable/batch/PipeTabletEventBatch.java      |  34 +-
 .../batch/PipeTransferBatchReqBuilder.java         |   7 +-
 .../connector/protocol/opcua/OpcUaConnector.java   |   6 +-
 .../pipeconsensus/PipeConsensusAsyncConnector.java | 350 +++++---
 .../pipeconsensus/PipeConsensusSyncConnector.java  |  34 +-
 ...r.java => PipeConsensusDeleteEventHandler.java} |  64 +-
 .../PipeConsensusTabletBatchEventHandler.java      |   2 +-
 .../PipeConsensusTabletInsertionEventHandler.java  |  21 +-
 .../PipeConsensusTsFileInsertionEventHandler.java  |  10 +
 .../PipeConsensusTransferBatchReqBuilder.java      |  13 +-
 .../protocol/writeback/WriteBackConnector.java     |   3 +-
 .../builder/PipeTableModelTsFileBuilderV2.java     |  13 +-
 .../util/builder/PipeTreeModelTsFileBuilderV2.java |  11 +-
 .../statement/PipeStatementInsertionEvent.java     |   4 +-
 .../tablet/PipeInsertNodeTabletInsertionEvent.java |   4 +-
 .../common/tablet/PipeRawTabletInsertionEvent.java |   4 +-
 ...oricalDataRegionTsFileAndDeletionExtractor.java | 106 ++-
 .../realtime/PipeRealtimeDataRegionExtractor.java  |   2 +
 .../PipeRealtimeDataRegionHybridExtractor.java     | 201 +++--
 .../db/pipe/extractor/mqtt/MQTTPublishHandler.java |  11 +-
 .../PipeDataNodeRemainingEventAndTimeMetrics.java  |  50 +-
 .../PipeDataNodeRemainingEventAndTimeOperator.java |  45 +-
 .../pipeconsensus/PipeConsensusReceiver.java       | 160 ++--
 .../resource/memory/InsertNodeMemoryEstimator.java |   4 +
 .../resource/memory/PipeDynamicMemoryBlock.java    | 156 ++++
 .../pipe/resource/memory/PipeMemoryBlockType.java  |   2 +
 .../db/pipe/resource/memory/PipeMemoryManager.java |  54 ++
 .../pipe/resource/memory/PipeMemoryWeightUtil.java |  30 +-
 .../resource/memory/PipeModelFixedMemoryBlock.java | 125 +++
 .../strategy/DynamicMemoryAllocationStrategy.java} |  26 +-
 .../strategy/ThresholdAllocationStrategy.java      | 134 +++
 .../iotdb/db/protocol/client/ConfigNodeClient.java |  17 +
 .../protocol/client/ConfigNodeClientManager.java   |   1 -
 .../iotdb/db/protocol/client/ConfigNodeInfo.java   |   1 -
 .../protocol/thrift/impl/ClientRPCServiceImpl.java |  29 +-
 .../impl/DataNodeInternalRPCServiceImpl.java       |  31 +-
 .../common/header/DatasetHeaderFactory.java        |   6 +-
 .../execution/executor/RegionWriteExecutor.java    |   2 +
 .../execution/fragment/FragmentInstanceInfo.java   |   4 +
 .../execution/fragment/FragmentInstanceState.java  |   2 +-
 .../operator/process/FilterAndProjectOperator.java |   3 +
 ...erator.java => PatternRecognitionOperator.java} | 159 ++--
 .../process/rowpattern/LogicalIndexNavigation.java | 189 ++++
 .../rowpattern/PatternPartitionExecutor.java       | 442 ++++++++++
 .../rowpattern/PatternVariableRecognizer.java      | 147 ++++
 .../process/rowpattern/PhysicalValueAccessor.java} |   8 +-
 .../process/rowpattern/PhysicalValuePointer.java   |  53 ++
 .../rowpattern/expression/ArithmeticOperator.java  |  81 ++
 .../rowpattern/expression/BinaryComputation.java}  |  28 +-
 .../rowpattern/expression/BinaryOperator.java}     |  19 +-
 .../rowpattern/expression/ComparisonOperator.java  | 145 ++++
 .../process/rowpattern/expression/Computation.java | 185 ++++
 .../expression/ConstantComputation.java}           |  17 +-
 .../rowpattern/expression/LogicalOperator.java     |  53 ++
 .../rowpattern/expression/NaryComputation.java}    |  29 +-
 .../rowpattern/expression/NaryOperator.java}       |  18 +-
 .../expression/PatternExpressionComputation.java   | 153 ++++
 .../expression/ReferenceComputation.java}          |  26 +-
 .../process/rowpattern/matcher/ArrayView.java      |  55 ++
 .../operator/process/rowpattern/matcher/Done.java} |  32 +-
 .../process/rowpattern/matcher/Instruction.java}   |  49 +-
 .../process/rowpattern/matcher/IntList.java        |  82 ++
 .../process/rowpattern/matcher/IntMultimap.java    | 112 +++
 .../process/rowpattern/matcher/IntStack.java}      |  46 +-
 .../matcher/IrRowPatternToProgramRewriter.java     | 264 ++++++
 .../operator/process/rowpattern/matcher/Jump.java} |  43 +-
 .../process/rowpattern/matcher/MatchEnd.java}      |  32 +-
 .../process/rowpattern/matcher/MatchLabel.java}    |  43 +-
 .../process/rowpattern/matcher/MatchResult.java}   |  34 +-
 .../process/rowpattern/matcher/MatchStart.java}    |  32 +-
 .../process/rowpattern/matcher/Matcher.java        | 256 ++++++
 .../rowpattern/matcher/PatternCaptures.java        |  66 ++
 .../process/rowpattern/matcher/Program.java        |  83 ++
 .../operator/process/rowpattern/matcher/Save.java} |  32 +-
 .../operator/process/rowpattern/matcher/Split.java |  69 ++
 .../process/window/TableWindowOperator.java        |   6 +
 .../window/function/WindowFunctionFactory.java     |  67 ++
 .../window/function/rank/NTileFunction.java        |  13 +-
 .../process/window/function/value/LagFunction.java |  59 +-
 .../window/function/value/LeadFunction.java        |  58 +-
 .../window/function/value/NthValueFunction.java    |  23 +-
 .../window/partition/PartitionExecutor.java        |   2 +-
 .../process/window/partition/frame/FrameInfo.java  |  58 ++
 .../process/window/partition/frame/RangeFrame.java |  25 +-
 .../process/window/partition/frame/RowsFrame.java  |  20 +-
 .../process/window/utils/RowComparator.java        |  12 +
 .../InformationSchemaContentSupplierFactory.java   | 308 ++++++-
 .../AbstractApproxMostFrequentAccumulator.java     |  57 ++
 .../relational/aggregation/AccumulatorFactory.java |  62 ++
 .../ApproxCountDistinctAccumulator.java            |   5 +-
 .../BinaryApproxMostFrequentAccumulator.java       | 130 +++
 .../BlobApproxMostFrequentAccumulator.java         |  39 +
 .../BooleanApproxMostFrequentAccumulator.java      | 129 +++
 .../DoubleApproxMostFrequentAccumulator.java       | 129 +++
 .../FloatApproxMostFrequentAccumulator.java        | 129 +++
 .../IntApproxMostFrequentAccumulator.java          | 129 +++
 .../LongApproxMostFrequentAccumulator.java         | 128 +++
 .../ApproxMostFrequentBucketDeserializer.java      |  21 +
 .../ApproxMostFrequentBucketSerializer.java        |  21 +
 .../aggregation/approximate/Counter.java           |  71 ++
 .../aggregation/approximate/DoublyLinkedList.java  | 173 ++++
 .../approximate/ExternalizableUtil.java            |  31 +
 .../aggregation/{ => approximate}/HyperLogLog.java |   2 +-
 .../{ => approximate}/HyperLogLogStateFactory.java |   2 +-
 .../relational/aggregation/approximate/ITopK.java  |  43 +
 .../aggregation/approximate/ListNode2.java         |  42 +
 .../relational/aggregation/approximate/Pair.java   |  56 ++
 .../aggregation/approximate/SpaceSaving.java       | 147 ++++
 .../approximate/SpaceSavingByteCalculator.java     |  21 +
 .../approximate/SpaceSavingStateFactory.java       |  90 ++
 .../aggregation/approximate/StreamSummary.java     | 294 +++++++
 ...stractGroupedApproxMostFrequentAccumulator.java |  67 ++
 ...BinaryGroupedApproxMostFrequentAccumulator.java | 105 +++
 .../BlobGroupedApproxMostFrequentAccumulator.java  |  40 +
 ...ooleanGroupedApproxMostFrequentAccumulator.java | 104 +++
 ...DoubleGroupedApproxMostFrequentAccumulator.java | 104 +++
 .../FloatGroupedApproxMostFrequentAccumulator.java | 104 +++
 .../GroupedApproxCountDistinctAccumulator.java     |   6 +-
 .../IntGroupedApproxMostFrequentAccumulator.java   | 104 +++
 .../LongGroupedApproxMostFrequentAccumulator.java  | 104 +++
 .../grouped/array/HyperLogLogBigArray.java         |   2 +-
 .../grouped/array/SpaceSavingBigArray.java         |  93 ++
 .../iotdb/db/queryengine/plan/Coordinator.java     |   4 +-
 .../db/queryengine/plan/analyze/AnalyzeUtils.java  |   6 +-
 .../queryengine/plan/analyze/AnalyzeVisitor.java   |   2 +-
 .../analyze/cache/partition/PartitionCache.java    |   6 +-
 .../plan/analyze/load/LoadTsFileAnalyzer.java      |  22 +-
 .../execution/config/TableConfigTaskVisitor.java   |  50 +-
 .../config/executor/ClusterConfigTaskExecutor.java |  22 +-
 .../config/executor/IConfigTaskExecutor.java       |   2 +-
 .../config/metadata/relational/DropDBTask.java     |   7 +-
 .../config/metadata/relational/ShowDBTask.java     |  36 +-
 .../metadata/relational/ShowTablesDetailsTask.java |   2 +
 .../config/metadata/relational/ShowTablesTask.java |   2 +
 .../db/queryengine/plan/parser/ASTVisitor.java     |   4 +-
 .../plan/planner/LogicalPlanVisitor.java           |  55 +-
 .../plan/planner/TableOperatorGenerator.java       | 459 +++++++++-
 .../plan/AbstractFragmentParallelPlanner.java      |   5 +-
 .../plan/planner/plan/node/PlanGraphPrinter.java   |  39 +
 .../plan/planner/plan/node/PlanNodeType.java       |   8 +
 .../plan/planner/plan/node/PlanVisitor.java        |  10 +
 .../plan/relational/analyzer/Analysis.java         | 281 +++++-
 .../relational/analyzer/ExpressionAnalysis.java    |  11 +-
 .../relational/analyzer/ExpressionAnalyzer.java    | 932 +++++++++++++++++++-
 .../relational/analyzer/ExpressionTreeUtils.java   |  15 +-
 .../analyzer/PatternRecognitionAnalysis.java       | 338 ++++++++
 .../analyzer/PatternRecognitionAnalyzer.java       | 228 +++++
 .../relational/analyzer/StatementAnalyzer.java     | 450 ++++++++++
 .../function/tvf/ForecastTableFunction.java        |   4 +-
 .../relational/metadata/FunctionNullability.java   |   4 +
 .../plan/relational/metadata/Metadata.java         |   6 +
 .../relational/metadata/TableMetadataImpl.java     |  73 +-
 .../fetcher/TableHeaderSchemaValidator.java        |  31 +-
 .../fetcher/cache/LastCacheLoadStrategy.java}      |  29 +-
 .../fetcher/cache/TableDeviceCacheEntry.java       |  13 +-
 .../fetcher/cache/TableDeviceLastCache.java        |  11 +
 .../fetcher/cache/TableDeviceSchemaCache.java      |  26 +-
 .../fetcher/cache/TreeDeviceNormalSchema.java      |   6 +-
 .../planner/IrExpressionInterpreter.java           |  52 ++
 .../plan/relational/planner/QueryPlanner.java      | 466 ++++++++++
 .../plan/relational/planner/RelationPlanner.java   | 394 ++++++++-
 .../plan/relational/planner/SymbolsExtractor.java  |  33 +-
 .../plan/relational/planner/TranslationMap.java    |   7 +-
 .../distribute/TableDistributedPlanGenerator.java  | 142 ++-
 .../planner/ir/ExpressionTreeRewriter.java         |   3 +-
 .../iterative/rule/ExpressionRewriteRuleSet.java   | 260 +++---
 .../rule/ImplementPatternRecognition.java          | 100 +++
 .../planner/iterative/rule/OptimizeRowPattern.java |  63 ++
 .../rule/PrunePatternRecognitionSourceColumns.java |  78 ++
 .../iterative/rule/PruneTableScanColumns.java      |   4 +-
 .../planner/iterative/rule/PruneWindowColumns.java |  89 ++
 .../rule/PushDownOffsetIntoTableScan.java          |  69 ++
 .../iterative/rule/SimplifyExpressions.java        |   8 +-
 .../planner/node/AggregationTableScanNode.java     |  14 +-
 .../node/AggregationTreeDeviceViewScanNode.java    |   6 +-
 .../planner/node/DeviceTableScanNode.java          |  32 +-
 .../plan/relational/planner/node/Measure.java      |  95 ++
 .../planner/node/PatternRecognitionNode.java       | 384 +++++++++
 .../plan/relational/planner/node/Patterns.java     |  27 +-
 .../plan/relational/planner/node/RowsPerMatch.java | 127 +++
 .../relational/planner/node/SkipToPosition.java}   |  32 +-
 .../node/TreeAlignedDeviceViewScanNode.java        |   6 +-
 .../planner/node/TreeDeviceViewScanNode.java       |  10 +-
 .../node/TreeNonAlignedDeviceViewScanNode.java     |   6 +-
 .../plan/relational/planner/node/WindowNode.java   | 602 +++++++++++++
 .../DataNodeLocationSupplierFactory.java           |   7 +-
 .../optimizations/DistributedOptimizeFactory.java  |   5 +-
 .../planner/optimizations/JoinUtils.java           |   4 +-
 .../optimizations/LogicalOptimizeFactory.java      |  19 +-
 .../planner/optimizations/ParallelizeGrouping.java |  22 +
 .../optimizations/PushPredicateIntoTableScan.java  |   8 +-
 .../planner/optimizations/SymbolMapper.java        | 112 +++
 .../optimizations/UnaliasSymbolReferences.java     |  30 +-
 .../relational/planner/optimizations/Util.java     |   4 +-
 .../planner/rowpattern/ClassifierValuePointer.java |  70 ++
 .../rowpattern/ExpressionAndValuePointers.java     | 234 +++++
 .../planner/rowpattern/IrAlternation.java          |  99 +++
 .../relational/planner/rowpattern/IrAnchor.java    |  87 ++
 .../planner/rowpattern/IrConcatenation.java        | 100 +++
 .../relational/planner/rowpattern/IrEmpty.java}    |  49 +-
 .../relational/planner/rowpattern/IrExclusion.java |  79 ++
 .../relational/planner/rowpattern/IrLabel.java     |  85 ++
 .../rowpattern/IrPatternAlternationOptimizer.java  | 141 +++
 .../planner/rowpattern/IrPermutation.java          |  96 +++
 .../planner/rowpattern/IrQuantified.java           |  88 ++
 .../planner/rowpattern/IrQuantifier.java           | 126 +++
 .../planner/rowpattern/IrRowPattern.java           | 117 +++
 .../planner/rowpattern/IrRowPatternFlattener.java  | 206 +++++
 .../planner/rowpattern/IrRowPatternVisitor.java    |  68 ++
 .../planner/rowpattern/LogicalIndexPointer.java    | 167 ++++
 .../rowpattern/MatchNumberValuePointer.java}       |  30 +-
 .../relational/planner/rowpattern/Patterns.java    |  83 ++
 .../planner/rowpattern/RowPatternToIrRewriter.java | 148 ++++
 .../planner/rowpattern/ScalarValuePointer.java     |  82 ++
 .../planner/rowpattern/ValuePointer.java           |  17 +
 .../relational/security/AccessControlImpl.java     |   2 -
 .../sql/ast/{DropDB.java => AnchorPattern.java}    |  43 +-
 .../plan/relational/sql/ast/AstVisitor.java        | 100 +++
 .../sql/ast/DefaultTraversalVisitor.java           |  48 ++
 .../plan/relational/sql/ast/DropDB.java            |   6 -
 .../sql/ast/{DropDB.java => EmptyPattern.java}     |  42 +-
 .../sql/ast/{DropDB.java => ExcludedPattern.java}  |  44 +-
 .../plan/relational/sql/ast/FrameBound.java        | 139 +++
 .../plan/relational/sql/ast/FunctionCall.java      | 198 ++++-
 .../plan/relational/sql/ast/Identifier.java        |   6 +
 .../ast/{OrderBy.java => MeasureDefinition.java}   |  52 +-
 .../relational/sql/ast/OneOrMoreQuantifier.java}   |  13 +-
 .../plan/relational/sql/ast/OrderBy.java           |  29 +
 .../ast/{OrderBy.java => PatternAlternation.java}  |  47 +-
 .../{OrderBy.java => PatternConcatenation.java}    |  47 +-
 .../ast/{OrderBy.java => PatternPermutation.java}  |  47 +-
 .../ast/{DropDB.java => PatternQuantifier.java}    |  48 +-
 .../sql/ast/PatternRecognitionRelation.java        | 205 +++++
 .../sql/ast/{DropDB.java => PatternVariable.java}  |  44 +-
 .../sql/ast/{DropDB.java => ProcessingMode.java}   |  41 +-
 .../plan/relational/sql/ast/QualifiedName.java     |  23 +
 .../ast/{OrderBy.java => QuantifiedPattern.java}   |  54 +-
 .../relational/sql/ast/QuerySpecification.java     |  10 +-
 .../sql/ast/{DropDB.java => RangeQuantifier.java}  |  55 +-
 .../plan/relational/sql/ast/RowPattern.java}       |  13 +-
 .../plan/relational/sql/ast/SkipTo.java            | 133 +++
 .../plan/relational/sql/ast/SortItem.java          |  24 +
 .../ast/{OrderBy.java => SubsetDefinition.java}    |  55 +-
 .../ast/{OrderBy.java => VariableDefinition.java}  |  52 +-
 .../plan/relational/sql/ast/Window.java}           |  16 +-
 .../sql/ast/{DropDB.java => WindowDefinition.java} |  50 +-
 .../plan/relational/sql/ast/WindowFrame.java       | 143 ++++
 .../sql/ast/{OrderBy.java => WindowReference.java} |  65 +-
 .../relational/sql/ast/WindowSpecification.java    | 206 +++++
 .../relational/sql/ast/ZeroOrMoreQuantifier.java}  |  13 +-
 .../relational/sql/ast/ZeroOrOneQuantifier.java}   |  13 +-
 .../plan/relational/sql/parser/AstBuilder.java     | 405 ++++++++-
 .../plan/relational/sql/rewrite/ShowRewrite.java   |  26 +-
 .../sql/rewrite/StatementRewriteFactory.java       |   8 +-
 .../relational/sql/util/ExpressionFormatter.java   |  81 ++
 .../plan/relational/sql/util/QueryUtil.java        |  38 +-
 .../relational/sql/util/RowPatternFormatter.java   | 143 ++++
 .../plan/relational/sql/util/SqlFormatter.java     | 139 ++-
 .../scheduler/FixedRateFragInsStateTracker.java    |  65 +-
 .../scheduler/load/LoadTsFileDispatcherImpl.java   |  47 +-
 .../plan/scheduler/load/LoadTsFileScheduler.java   |  39 +-
 .../statement/metadata/ShowDatabaseStatement.java  |  41 +-
 .../mtree/impl/mem/mnode/info/TableDeviceInfo.java |   2 +-
 .../mtree/impl/mem/mnode/info/TreeDeviceInfo.java  |   2 +-
 .../schemaregion/utils/ResourceByPathUtils.java    |  17 +
 .../table/DataNodeTreeViewSchemaUtils.java         |  20 +
 .../schemaengine/table/InformationSchemaUtils.java |  12 +-
 .../java/org/apache/iotdb/db/service/DataNode.java |  17 +-
 .../iotdb/db/storageengine/StorageEngine.java      |   5 +-
 .../db/storageengine/dataregion/DataRegion.java    | 171 +++-
 .../dataregion/tsfile/TsFileResource.java          |  11 +
 .../dataregion/utils/TsFileResourceUtils.java      |  70 +-
 .../file/AbstractTsFileRecoverPerformer.java       |   2 +-
 .../dataregion/wal/utils/WALInsertNodeCache.java   |  96 ++-
 .../db/storageengine/load/LoadTsFileManager.java   | 101 ++-
 .../load/active/ActiveLoadDirScanner.java          |  14 +-
 .../active/ActiveLoadFailedMessageHandler.java     |  33 +-
 .../load/active/ActiveLoadPendingQueue.java        |  45 +-
 .../load/active/ActiveLoadTsFileLoader.java        |  74 +-
 .../load/config/LoadTsFileConfigurator.java        |  18 +-
 ...leStatementDataTypeConvertExecutionVisitor.java |  98 ++-
 ...eeStatementDataTypeConvertExecutionVisitor.java | 169 ++--
 .../converter/LoadTsFileDataTypeConverter.java     |  81 +-
 .../agent/SubscriptionBrokerAgent.java             |  11 +
 .../db/subscription/broker/SubscriptionBroker.java |  19 +
 .../batch/SubscriptionPipeTsFileEventBatch.java    |  11 +
 .../receiver/SubscriptionReceiverV1.java           |   6 +-
 .../apache/iotdb/db/utils/ErrorHandlingUtils.java  |   4 +-
 .../iotdb/db/utils/constant/SqlConstant.java       |  15 +
 .../iotdb/db/utils/sort/SortBufferManager.java     |   4 +-
 ...nAlignedTreeDeviceViewScanOperatorTreeTest.java |  29 +-
 .../rowpattern/IrRowPatternOptimizationTest.java   | 208 +++++
 .../operator/process/rowpattern/MatcherTest.java   | 209 +++++
 .../process/rowpattern/PatternExpressionTest.java  |  53 ++
 .../window/function/rank/NTileFunctionTest.java    |  28 +-
 .../window/function/value/LagFunctionTest.java     |  57 +-
 .../window/function/value/LeadFunctionTest.java    |  57 +-
 .../function/value/NthValueFunctionTest.java       |  36 +-
 .../window/partition/frame/FrameTestUtils.java     |   2 +-
 .../window/partition/frame/RangeFrameTest.java     |  20 +-
 .../planner/node/process/WindowNodeSerdeTest.java  | 118 +++
 .../plan/relational/analyzer/AnalyzerTest.java     |  14 +-
 .../plan/relational/analyzer/JoinTest.java         | 124 +++
 .../analyzer/LimitOffsetPushDownTest.java          |  13 +
 .../analyzer/RowPatternRecognitionTest.java        | 459 ++++++++++
 .../plan/relational/analyzer/SortTest.java         |   8 +-
 .../plan/relational/analyzer/TestPlanBuilder.java  |   4 +-
 .../relational/planner/CorrelatedSubqueryTest.java |   5 +-
 .../planner/PatternRecognitionNodeSerdeTest.java   | 160 ++++
 .../plan/relational/planner/PlanTester.java        |   9 +-
 .../planner/UncorrelatedSubqueryTest.java          |   9 +-
 .../relational/planner/WindowFunctionTest.java     | 258 ++++++
 .../planner/assertions/PlanMatchPattern.java       |  23 +-
 .../conf/iotdb-system.properties.template          |  18 +
 .../iotdb/commons/client/ainode/AINodeClient.java  |   4 +-
 ...ner.java => IoTV2GlobalComponentContainer.java} |  45 +-
 .../iotdb/commons/concurrent/ThreadName.java       |   2 +
 .../apache/iotdb/commons/conf/CommonConfig.java    | 204 ++++-
 ...meRateAverageTime.java => PipeRateAverage.java} |   8 +-
 ...sensusRetryWithIncreasingIntervalException.java |   9 +-
 .../task/subtask/PipeAbstractConnectorSubtask.java | 138 +--
 .../agent/task/subtask/PipeReportableSubtask.java  |  30 +-
 .../iotdb/commons/pipe/config/PipeConfig.java      |  72 +-
 .../iotdb/commons/pipe/config/PipeDescriptor.java  |  69 +-
 .../config/constant/PipeConnectorConstant.java     |  14 +-
 .../pipe/connector/protocol/IoTDBConnector.java    |  59 +-
 .../iotdb/commons/pipe/event/EnrichedEvent.java    |  10 +
 .../pipe/receiver/PipeReceiverStatusHandler.java   |  55 +-
 .../commons/pipe/resource/log/PipeLogManager.java  |  14 +
 .../schema/column/ColumnHeaderConstant.java        |  21 +-
 .../commons/schema/table/InformationSchema.java    |  61 ++
 .../apache/iotdb/commons/schema/table/TsTable.java |  26 +-
 .../TableBuiltinAggregationFunction.java           |   2 +-
 .../relational/TableBuiltinWindowFunction.java     |  60 ++
 .../org/apache/iotdb/commons/utils/RetryUtils.java |  12 +
 .../db/relational/grammar/sql/RelationalSql.g4     | 133 ++-
 iotdb-doap.rdf                                     |   8 +
 .../thrift-commons/src/main/thrift/common.thrift   |   3 +-
 .../src/main/thrift/confignode.thrift              |  37 +-
 .../src/main/thrift/datanode.thrift                |   2 +-
 pom.xml                                            |   2 +-
 scripts/sbin/stop-ainode.sh                        |  11 +-
 526 files changed, 32113 insertions(+), 4952 deletions(-)


Reply via email to