This is an automated email from the ASF dual-hosted git repository. lancelly pushed a commit to branch support_exists_and_correlate in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 56aa492d379bc00c7ba15d4ed3daaba3edc0dea0 Merge: 87b485ef8c4 231a4f3da68 Author: lancelly <[email protected]> AuthorDate: Fri Jan 17 16:33:09 2025 +0800 Merge branch 'support_uncorrelated_quantified_comparison' into support_exists_and_correlate .github/workflows/cluster-it-1c1d.yml | 2 +- .github/workflows/cluster-it-1c1d1a.yml | 2 +- .github/workflows/cluster-it-1c3d.yml | 2 +- .github/workflows/compile-check.yml | 2 +- .github/workflows/daily-it.yml | 2 +- .github/workflows/daily-ut.yml | 2 +- .github/workflows/dependency-check.yml | 2 +- .github/workflows/pipe-it-2cluster.yml | 2 +- .github/workflows/sonar-codecov.yml | 2 +- .github/workflows/table-cluster-it-1c1d.yml | 2 +- .github/workflows/table-cluster-it-1c3d.yml | 2 +- .github/workflows/unit-test.yml | 2 +- .github/workflows/vulnerability-check.yml | 2 +- .mvn/develocity.xml | 3 +- .mvn/extensions.xml | 4 +- .../java/org/apache/iotdb/CountPointProcessor.java | 2 + .../iotdb/AlignedTimeseriesSessionExample.java | 67 +-- .../org/apache/iotdb/SessionConcurrentExample.java | 23 - .../main/java/org/apache/iotdb/SessionExample.java | 107 +--- .../org/apache/iotdb/trigger/LoggerTrigger.java | 12 +- .../iotdb/trigger/StatisticsUpdaterTrigger.java | 4 +- .../java/org/apache/iotdb/it/env/EnvFactory.java | 5 + .../iotdb/it/env/cluster/env/AbstractEnv.java | 9 + .../iotdb/it/env/cluster/node/AINodeWrapper.java | 5 + .../it/env/cluster/node/AbstractNodeWrapper.java | 12 + .../it/env/cluster/node/ConfigNodeWrapper.java | 5 + .../iotdb/it/env/cluster/node/DataNodeWrapper.java | 5 + .../iotdb/it/env/remote/env/RemoteServerEnv.java | 5 + .../org/apache/iotdb/it/utils/TsFileGenerator.java | 87 +-- .../iotdb/it/utils/TsFileTableGenerator.java | 78 +-- .../java/org/apache/iotdb/itbase/env/BaseEnv.java | 3 + ...ionMigrateDataNodeCrashITFrameworkForIoTV1.java | 2 +- ...ionMigrateDataNodeCrashITFrameworkForIoTV2.java | 2 +- ...oTDBRegionOperationReliabilityITFramework.java} | 174 +++--- .../IoTDBRegionGroupExpandAndShrinkForIoTV1IT.java | 157 +++++ .../commit/IoTDBRegionReconstructForIoTV1IT.java | 141 +++++ .../IoTDBRegionMigrateNormalITForIoTV2Batch.java | 4 +- .../IoTDBRegionMigrateOtherITForIoTV2Batch.java | 4 +- .../IoTDBRegionMigrateNormalITForIoTV2Stream.java | 4 +- .../IoTDBRegionMigrateOtherITForIoTV2Stream.java | 4 +- .../IoTDBRegionMigrateDataNodeCrashForIoTV1IT.java | 4 +- ...TDBRegionMigrateDataNodeCrashForIoTV2Batch.java | 4 +- ...DBRegionMigrateDataNodeCrashForIoTV2Stream.java | 4 +- .../IoTDBRegionMigrateClusterCrashIoTV1IT.java | 4 +- .../IoTDBRegionMigrateConfigNodeCrashIoTV1IT.java | 4 +- .../IoTDBRegionMigrateClusterCrashIoTV2Batch.java | 4 +- ...oTDBRegionMigrateConfigNodeCrashIoTV2Batch.java | 4 +- .../IoTDBRegionMigrateClusterCrashIoTV2Stream.java | 4 +- ...TDBRegionMigrateConfigNodeCrashIoTV2Stream.java | 4 +- .../IoTDBRemoveDataNodeITFramework.java | 22 +- .../org/apache/iotdb/db/it/IoTDBLoadTsFileIT.java | 2 +- .../iotdb/db/it/IoTDBLoadTsFileWithModIT.java | 172 ++++++ .../it/IoTDBSyntaxConventionStringLiteralIT.java | 3 +- .../org/apache/iotdb/db/it/utils/TestUtils.java | 176 +++++- .../pipe/it/autocreate/IoTDBPipeAutoDropIT.java | 10 +- .../pipe/it/autocreate/IoTDBPipeIdempotentIT.java | 93 +++ .../pipe/it/autocreate/IoTDBPipeNullValueIT.java | 28 +- .../pipe/it/manual/IoTDBPipeReqAutoSliceIT.java | 8 +- .../pipe/it/manual/IoTDBPipeTableManualIT.java | 293 ++++++++++ .../manual/IoTDBPipeTypeConversionISessionIT.java | 10 +- .../pipe/it/tablemodel/IoTDBPipeAutoDropIT.java | 10 +- .../pipe/it/tablemodel/IoTDBPipeDataSinkIT.java | 41 +- .../pipe/it/tablemodel/IoTDBPipeProtocolIT.java | 1 - .../pipe/it/tablemodel/IoTDBPipeSyntaxIT.java | 2 +- .../IoTDBPipeTypeConversionISessionIT.java | 97 +++- .../iotdb/pipe/it/tablemodel/TableModelUtils.java | 38 +- .../relational/it/db/it/IoTDBDeletionTableIT.java | 2 +- .../relational/it/db/it/IoTDBInsertTableIT.java | 2 +- .../udf/IoTDBUserDefinedAggregateFunctionIT.java | 53 +- .../IoTDBAlignByDeviceWithTemplateTableIT.java | 4 +- .../scalar/IoTDBFormatFunctionTableIT.java | 21 +- ...oTDBNoSelectExpressionAfterAnalyzedTableIT.java | 6 +- .../query/old/query/IoTDBNullValueFillTableIT.java | 327 ----------- .../it/query/old/query/IoTDBResultSetTableIT.java | 2 +- .../query/old/query/IoTDBSelectSchemaTableIT.java | 22 +- .../it/query/recent/IoTDBTableAggregationIT.java | 644 ++++++++++++++++++++- .../it/rest/it/IoTDBRestServiceCaseWhenThenIT.java | 7 +- .../it/rest/it/IoTDBRestServiceFlushQueryIT.java | 6 +- .../relational/it/rest/it/IoTDBRestServiceIT.java | 3 +- ...IT.java => IoTDBRestServiceInsertValuesIT.java} | 20 +- .../iotdb/relational/it/schema/IoTDBDeviceIT.java | 47 +- .../iotdb/relational/it/schema/IoTDBTableIT.java | 122 ++-- .../it/session/IoTDBSessionRelationalIT.java | 29 +- .../iotdb/session/it/IoTDBSessionComplexIT.java | 8 +- .../iotdb/session/it/IoTDBSessionSimpleIT.java | 78 ++- .../session/it/IoTDBSessionSyntaxConventionIT.java | 18 +- .../org/apache/iotdb/session/it/SessionIT.java | 32 +- .../it/local/IoTDBSubscriptionDataTypeIT.java | 8 +- .../java/org/apache/iotdb/util/MagicUtils.java | 61 ++ .../java/org/apache/iotdb/pipe/api/PipePlugin.java | 37 ++ .../iotdb/pipe/api/annotation/TableModel.java | 23 +- .../iotdb/pipe/api/annotation/TreeModel.java | 23 +- .../parameter/PipeParameterValidator.java | 42 +- .../org/apache/iotdb/tool/tsfile/ExportTsFile.java | 3 - .../java/org/apache/iotdb/rpc/TSStatusCode.java | 3 + .../java/org/apache/iotdb/session/Session.java | 27 +- .../payload/SubscriptionSessionDataSet.java | 12 +- .../apache/iotdb/session/util/SessionUtils.java | 25 +- .../java/org/apache/iotdb/session/TabletTest.java | 28 +- .../iotdb/session/util/SessionUtilsTest.java | 16 +- .../org/apache/iotdb/db/qp/sql/IoTDBSqlParser.g4 | 16 +- .../antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4 | 8 + .../consensus/request/ConfigPhysicalPlan.java | 10 +- .../consensus/request/ConfigPhysicalPlanType.java | 2 + .../request/ConfigPhysicalPlanVisitor.java | 110 +++- .../write/pipe/payload/PipeCreateTablePlan.java} | 18 +- .../pipe/payload/PipeDeactivateTemplatePlan.java | 22 +- .../write/pipe/payload/PipeDeleteDevicesPlan.java | 130 +++++ .../request/write/table/PreCreateTablePlan.java | 11 +- .../response/pipe/plugin/PipePluginTableResp.java | 27 +- .../response/pipe/task/PipeTableResp.java | 2 +- .../iotdb/confignode/manager/ClusterManager.java | 2 +- .../iotdb/confignode/manager/ConfigManager.java | 38 +- .../apache/iotdb/confignode/manager/IManager.java | 13 + .../iotdb/confignode/manager/ProcedureManager.java | 491 ++++++++++++---- .../payload/PipeTransferConfigSnapshotSealReq.java | 32 +- .../protocol/IoTDBConfigRegionAirGapConnector.java | 8 + .../protocol/IoTDBConfigRegionConnector.java | 10 +- .../coordinator/plugin/PipePluginCoordinator.java | 29 + .../pipe/event/PipeConfigRegionSnapshotEvent.java | 3 +- .../extractor/ConfigRegionListeningFilter.java | 89 +-- .../pipe/extractor/ConfigRegionListeningQueue.java | 23 +- .../pipe/extractor/IoTDBConfigRegionExtractor.java | 74 ++- ...ConfigPhysicalPlanTablePatternParseVisitor.java | 135 +++++ ...ConfigPhysicalPlanTreePatternParseVisitor.java} | 6 +- .../receiver/protocol/IoTDBConfigNodeReceiver.java | 170 +++++- .../PipeConfigPhysicalPlanTSStatusVisitor.java | 76 +++ .../manager/schema/ClusterSchemaManager.java | 126 ++-- .../persistence/executor/ConfigPlanExecutor.java | 1 + .../confignode/persistence/pipe/PipeInfo.java | 2 +- .../persistence/pipe/PipePluginInfo.java | 39 +- .../confignode/persistence/pipe/PipeTaskInfo.java | 7 +- .../schema/CNPhysicalPlanGenerator.java | 77 ++- .../confignode/persistence/schema/ConfigMTree.java | 13 +- .../schema/ConfignodeSnapshotParser.java | 30 +- .../procedure/env/ConfigNodeProcedureEnv.java | 23 +- .../procedure/env/RegionMaintainHandler.java | 13 +- .../impl/pipe/task/CreatePipeProcedureV2.java | 42 +- .../impl/region/AddRegionPeerProcedure.java | 84 +-- .../impl/region/ReconstructRegionProcedure.java | 209 +++++++ .../impl/region/RegionMigrateProcedure.java | 39 +- .../impl/region/RegionOperationProcedure.java | 39 +- .../impl/region/RemoveRegionPeerProcedure.java | 52 +- .../impl/schema/DeleteDatabaseProcedure.java | 2 +- .../impl/schema/DeleteTimeSeriesProcedure.java | 4 +- .../table/AbstractAlterOrDropTableProcedure.java | 10 +- .../impl/schema/table/AddTableColumnProcedure.java | 16 +- .../impl/schema/table/CreateTableProcedure.java | 20 +- .../impl/schema/table/DeleteDevicesProcedure.java | 43 +- .../schema/table/DropTableColumnProcedure.java | 21 +- .../impl/schema/table/DropTableProcedure.java | 24 +- .../schema/table/RenameTableColumnProcedure.java | 18 +- .../schema/table/SetTablePropertiesProcedure.java | 18 +- .../impl/trigger/CreateTriggerProcedure.java | 9 +- .../procedure/state/ReconstructRegionState.java | 10 +- .../procedure/store/ProcedureFactory.java | 40 +- .../confignode/procedure/store/ProcedureType.java | 12 +- .../thrift/ConfigNodeRPCServiceProcessor.java | 24 + .../request/ConfigPhysicalPlanSerDeTest.java | 40 ++ .../response/pipe/PipePluginTableRespTest.java | 4 +- .../connector/PipeConfigNodeThriftRequestTest.java | 12 +- ...igPhysicalPlanTablePatternParseVisitorTest.java | 133 +++++ ...igPhysicalPlanTreePatternParseVisitorTest.java} | 44 +- .../pipe/annotation/PipePluginAnnotationTest.java} | 23 +- .../pipe/receiver/PipeEnrichedProcedureTest.java | 194 +++++++ .../schema/table/AddTableColumnProcedureTest.java | 8 +- .../schema/table/CreateTableProcedureTest.java | 5 +- .../schema/table/DeleteDevicesProcedureTest.java | 5 +- .../schema/table/DropTableColumnProcedureTest.java | 4 +- .../impl/schema/table/DropTableProcedureTest.java | 4 +- .../table/RenameTableColumnProcedureTest.java | 4 +- .../table/SetTablePropertiesProcedureTest.java | 6 +- .../apache/iotdb/consensus/pipe/PipeConsensus.java | 57 +- .../apache/iotdb/consensus/ratis/RatisClient.java | 6 +- .../apache/iotdb/consensus/ratis/utils/Utils.java | 1 + .../dataregion/DataExecutionVisitor.java | 9 +- .../schemaregion/SchemaRegionStateMachine.java | 15 +- .../pipe/agent/plugin/PipeDataNodePluginAgent.java | 20 +- .../dataregion/PipeDataRegionPluginAgent.java | 49 ++ .../agent/task/connection/PipeEventCollector.java | 35 +- .../PipeTransferDataNodeHandshakeV1Req.java | 10 +- .../evolvable/request/PipeTransferPlanNodeReq.java | 18 +- .../request/PipeTransferSchemaSnapshotSealReq.java | 94 ++- .../request/PipeTransferTabletInsertNodeReqV2.java | 2 +- .../request/PipeTransferTsFileSealWithModReq.java | 42 +- .../airgap/IoTDBDataNodeAirGapConnector.java | 4 + .../airgap/IoTDBDataRegionAirGapConnector.java | 4 + .../airgap/IoTDBSchemaRegionAirGapConnector.java | 19 +- .../protocol/legacy/IoTDBLegacyPipeConnector.java | 2 + .../connector/protocol/opcua/OpcUaConnector.java | 4 + .../connector/protocol/opcua/OpcUaNameSpace.java | 36 +- .../pipeconsensus/PipeConsensusAsyncConnector.java | 4 + .../pipeconsensus/PipeConsensusSyncConnector.java | 4 + .../async/IoTDBDataRegionAsyncConnector.java | 4 + .../thrift/sync/IoTDBDataNodeSyncConnector.java | 4 + .../thrift/sync/IoTDBDataRegionSyncConnector.java | 4 + .../thrift/sync/IoTDBSchemaRegionConnector.java | 26 +- .../protocol/websocket/WebSocketConnector.java | 2 + .../protocol/writeback/WriteBackConnector.java | 197 ++++++- .../util/builder/PipeTableModeTsFileBuilder.java | 6 +- .../util/builder/PipeTreeModelTsFileBuilder.java | 4 +- .../sorter/PipeTableModelTabletEventSorter.java | 54 +- .../sorter/PipeTreeModelTabletEventSorter.java | 24 +- .../pipe/consensus/deletion/DeletionResource.java | 2 +- .../db/pipe/event/common/PipeInsertionEvent.java | 5 +- .../common/deletion/PipeDeleteDataNodeEvent.java | 24 +- .../db/pipe/event/common/row/PipeRowCollector.java | 2 +- .../schema/PipeSchemaRegionSnapshotEvent.java | 75 ++- .../schema/PipeSchemaSerializableEventType.java | 15 +- .../common/tablet/PipeRawTabletInsertionEvent.java | 2 +- .../tablet/parser/TabletInsertionEventParser.java | 8 +- .../TabletInsertionEventTreePatternParser.java | 13 +- .../scan/TsFileInsertionEventScanParser.java | 42 +- .../table/TsFileInsertionEventTableParser.java | 2 +- .../dataregion/DataRegionListeningFilter.java | 21 +- .../dataregion/IoTDBDataRegionExtractor.java | 136 +++-- ...oricalDataRegionTsFileAndDeletionExtractor.java | 4 +- .../listener/PipeInsertionDataNodeListener.java | 27 +- .../schemaregion/IoTDBSchemaRegionExtractor.java | 28 +- .../PipePlanTablePatternParseVisitor.java | 77 +++ ...r.java => PipePlanTreePatternParseVisitor.java} | 7 +- .../schemaregion/SchemaRegionListeningFilter.java | 87 +-- .../schemaregion/SchemaRegionListeningQueue.java | 8 +- .../pipe/metric/PipeDataNodeReceiverMetrics.java | 48 +- .../processor/aggregate/AggregateProcessor.java | 2 + .../StandardStatisticsOperatorProcessor.java | 2 + .../processor/TumblingWindowingProcessor.java | 2 + .../changing/ChangingValueSamplingProcessor.java | 2 + .../sdt/SwingingDoorTrendingSamplingProcessor.java | 2 + .../tumbling/TumblingTimeSamplingProcessor.java | 2 + .../pipeconsensus/PipeConsensusProcessor.java | 4 + .../schemachange/RenameDatabaseProcessor.java | 2 + .../twostage/plugin/TwoStageCountProcessor.java | 37 +- .../pipeconsensus/PipeConsensusReceiver.java | 2 + .../protocol/thrift/IoTDBDataNodeReceiver.java | 212 +++++-- .../statement/PipeConvertedInsertRowStatement.java | 30 +- .../PipeConvertedInsertTabletStatement.java | 48 +- .../visitor/PipePlanToStatementVisitor.java | 54 +- .../PipeStatementTablePatternParseVisitor.java | 33 +- ...a => PipeStatementTreePatternParseVisitor.java} | 6 +- ...leStatementDataTypeConvertExecutionVisitor.java | 3 +- ...eeStatementDataTypeConvertExecutionVisitor.java | 3 +- ...r.java => PipeTreeStatementToBatchVisitor.java} | 2 +- .../pipe/resource/memory/PipeMemoryWeightUtil.java | 21 +- .../resource/tsfile/PipeTsFileResourceManager.java | 5 +- .../iotdb/db/protocol/client/ConfigNodeClient.java | 29 + .../impl/DataNodeInternalRPCServiceImpl.java | 2 + .../execution/executor/RegionWriteExecutor.java | 55 +- .../schema/source/TableDeviceQuerySource.java | 4 +- .../relational/aggregation/AccumulatorFactory.java | 246 +++++++- .../relational/aggregation/AggregationMask.java | 204 +++++++ .../relational/aggregation/AvgAccumulator.java | 122 ++-- .../relational/aggregation/CountAccumulator.java | 22 +- .../relational/aggregation/CountIfAccumulator.java | 22 +- .../relational/aggregation/ExtremeAccumulator.java | 94 ++- .../relational/aggregation/FirstAccumulator.java | 158 +++-- .../relational/aggregation/FirstByAccumulator.java | 164 ++++-- .../aggregation/FirstByDescAccumulator.java | 132 ++++- .../aggregation/FirstDescAccumulator.java | 126 +++- .../relational/aggregation/LastAccumulator.java | 140 ++++- .../relational/aggregation/LastByAccumulator.java | 146 ++++- .../aggregation/LastByDescAccumulator.java | 150 ++++- .../aggregation/LastDescAccumulator.java | 144 ++++- ...dAccumulator.java => MaskedRecordIterator.java} | 40 +- .../relational/aggregation/MaxAccumulator.java | 140 ++++- .../relational/aggregation/MinAccumulator.java | 140 ++++- .../relational/aggregation/SumAccumulator.java | 114 +++- .../relational/aggregation/TableAccumulator.java | 2 +- .../relational/aggregation/TableAggregator.java | 5 +- .../aggregation/TableMaxMinByBaseAccumulator.java | 146 +++-- .../aggregation/TableModeAccumulator.java | 192 ++++-- .../aggregation/TableVarianceAccumulator.java | 158 +++-- .../UserDefinedAggregateFunctionAccumulator.java | 8 +- .../aggregation/grouped/GroupedAccumulator.java | 4 +- .../aggregation/grouped/GroupedAggregator.java | 6 +- .../aggregation/grouped/GroupedAvgAccumulator.java | 119 +++- .../grouped/GroupedCountAccumulator.java | 22 +- .../grouped/GroupedCountIfAccumulator.java | 22 +- .../grouped/GroupedExtremeAccumulator.java | 95 ++- .../grouped/GroupedFirstAccumulator.java | 153 ++++- .../grouped/GroupedFirstByAccumulator.java | 191 ++++-- .../grouped/GroupedLastAccumulator.java | 133 ++++- .../grouped/GroupedLastByAccumulator.java | 150 ++++- .../aggregation/grouped/GroupedMaxAccumulator.java | 141 ++++- .../grouped/GroupedMaxMinByBaseAccumulator.java | 147 ++++- .../aggregation/grouped/GroupedMinAccumulator.java | 141 ++++- .../grouped/GroupedModeAccumulator.java | 246 ++++++-- .../aggregation/grouped/GroupedSumAccumulator.java | 111 +++- .../GroupedUserDefinedAggregateAccumulator.java | 14 +- .../grouped/GroupedVarianceAccumulator.java | 159 +++-- .../aggregation/grouped/hash/GroupByHash.java | 2 + .../aggregation/grouped/hash/MarkDistinctHash.java | 90 +++ .../iotdb/db/queryengine/plan/Coordinator.java | 4 + .../db/queryengine/plan/analyze/AnalyzeUtils.java | 9 +- .../queryengine/plan/analyze/AnalyzeVisitor.java | 4 +- .../analyze/load/LoadTsFileTableSchemaCache.java | 3 +- .../load/LoadTsFileToTableModelAnalyzer.java | 7 +- .../load/LoadTsFileToTreeModelAnalyzer.java | 5 +- .../analyze/load/LoadTsFileTreeSchemaCache.java | 3 +- .../execution/config/TableConfigTaskVisitor.java | 141 ++++- .../execution/config/TreeConfigTaskVisitor.java | 30 +- .../config/executor/ClusterConfigTaskExecutor.java | 139 ++++- .../config/executor/IConfigTaskExecutor.java | 19 +- .../config/metadata/DropPipePluginTask.java | 13 +- .../config/metadata/ShowPipePluginsTask.java | 20 +- .../ExtendRegionTask.java} | 19 +- .../metadata/{ => region}/MigrateRegionTask.java | 4 +- .../ReconstructRegionTask.java} | 19 +- .../RemoveRegionTask.java} | 19 +- .../metadata/relational/ShowTablesDetailsTask.java | 47 +- .../config/metadata/relational/ShowTablesTask.java | 35 +- .../db/queryengine/plan/parser/ASTVisitor.java | 29 +- .../plan/planner/LogicalPlanVisitor.java | 7 +- .../plan/planner/TableOperatorGenerator.java | 11 +- .../node/metadata/write/CreateTimeSeriesNode.java | 74 +-- .../plan/node/pipe/PipeEnrichedDeleteDataNode.java | 66 ++- .../plan/node/pipe/PipeEnrichedInsertNode.java | 44 +- .../plan/node/pipe/PipeEnrichedWritePlanNode.java | 23 +- .../relational/analyzer/ExpressionAnalyzer.java | 6 +- .../plan/relational/analyzer/Scope.java | 8 +- .../relational/analyzer/StatementAnalyzer.java | 106 ++-- .../relational/metadata/TableMetadataImpl.java | 19 +- .../metadata/fetcher/TableDeviceSchemaFetcher.java | 4 +- .../fetcher/TableHeaderSchemaValidator.java | 3 +- .../plan/relational/planner/RelationPlanner.java | 91 +-- .../plan/relational/planner/SubqueryPlanner.java | 51 +- .../relational/planner/TableLogicalPlanner.java | 15 +- .../distribute/TableDistributedPlanGenerator.java | 9 + .../node/schema/CreateOrUpdateTableDeviceNode.java | 14 +- .../PushAggregationIntoTableScan.java | 4 + .../relational/sql/ast/AbstractTraverseDevice.java | 8 + .../plan/relational/sql/ast/AstVisitor.java | 10 +- .../relational/sql/ast/CreateOrUpdateDevice.java | 31 +- .../plan/relational/sql/ast/CreatePipe.java | 4 +- .../plan/relational/sql/ast/Delete.java | 28 +- .../plan/relational/sql/ast/DeleteDevice.java | 2 - .../plan/relational/sql/ast/DropColumn.java | 3 - .../plan/relational/sql/ast/PipeEnriched.java | 8 +- .../ast/{Statement.java => StartRepairData.java} | 12 +- .../plan/relational/sql/ast/Statement.java | 4 +- .../ast/{Statement.java => StopRepairData.java} | 12 +- .../plan/relational/sql/ast/Update.java | 6 +- .../plan/relational/sql/parser/AstBuilder.java | 26 +- .../plan/statement/StatementVisitor.java | 18 +- .../plan/statement/crud/InsertBaseStatement.java | 22 +- .../plan/statement/crud/InsertRowStatement.java | 18 +- .../metadata/pipe/DropPipePluginStatement.java | 17 +- .../metadata/pipe/ShowPipePluginsStatement.java | 23 +- .../ExtendRegionStatement.java} | 32 +- .../{ => region}/MigrateRegionStatement.java | 2 +- .../ReconstructRegionStatement.java} | 42 +- .../RemoveRegionStatement.java} | 32 +- .../plan/statement/pipe/PipeEnrichedStatement.java | 10 +- .../attribute/DeviceAttributeStore.java | 10 +- .../attribute/IDeviceAttributeStore.java | 6 +- .../schemaregion/impl/SchemaRegionMemoryImpl.java | 136 ++--- .../schemaregion/mtree/impl/mem/MemMTreeStore.java | 52 +- .../mtree/impl/mem/mnode/basic/BasicMNode.java | 22 +- .../impl/mem/snapshot/MemMTreeSnapshotUtil.java | 37 +- .../schemaengine/table/InformationSchemaUtils.java | 2 +- .../db/service/metrics/DataNodeMetricsHelper.java | 4 +- .../metrics/memory/ConsensusMemoryMetrics.java | 73 +++ .../metrics/memory/GlobalMemoryMetrics.java | 132 +++++ .../metrics/memory/QueryEngineMemoryMetrics.java | 179 ++++++ .../metrics/memory/SchemaEngineMemoryMetrics.java | 124 ++++ .../metrics/memory/StorageEngineMemoryMetrics.java | 210 +++++++ .../metrics/memory/StreamEngineMemoryMetrics.java | 73 +++ .../metrics/memory/ThresholdMemoryMetrics.java | 194 ------- .../db/storageengine/dataregion/DataRegion.java | 2 + .../task/InsertionCrossSpaceCompactionTask.java | 3 - .../utils/CompactionTableSchemaCollector.java | 2 +- .../dataregion/memtable/TsFileProcessor.java | 4 + .../dataregion/modification/ModificationFile.java | 89 ++- .../modification/PartitionLevelModFileManager.java | 5 +- .../dataregion/snapshot/SnapshotTaker.java | 2 +- .../dataregion/tsfile/TsFileResource.java | 10 +- .../tsfile/timeindex/ArrayDeviceTimeIndex.java | 20 + .../db/storageengine/load/LoadTsFileManager.java | 2 +- .../load/splitter/TsFileSplitter.java | 5 +- .../broker/SubscriptionPrefetchingQueue.java | 2 + .../db/subscription/event/SubscriptionEvent.java | 21 +- .../batch/SubscriptionPipeTabletEventBatch.java | 24 +- .../db/tools/schema/SRStatementGenerator.java | 203 +++++-- .../tools/schema/SchemaRegionSnapshotParser.java | 32 +- .../iotdb/db/utils/datastructure/BinaryTVList.java | 6 +- .../db/utils/datastructure/BooleanTVList.java | 6 +- .../iotdb/db/utils/datastructure/DoubleTVList.java | 6 +- .../iotdb/db/utils/datastructure/FloatTVList.java | 6 +- .../iotdb/db/utils/datastructure/IntTVList.java | 6 +- .../iotdb/db/utils/datastructure/LongTVList.java | 6 +- .../connector/PipeDataNodeThriftRequestTest.java | 22 +- .../PipeStatementTablePatternParseVisitorTest.java | 57 ++ ... PipeStatementTreePatternParseVisitorTest.java} | 20 +- .../pipe/connector/PipeTabletEventSorterTest.java | 61 +- .../db/pipe/consensus/DeletionResourceTest.java | 39 +- .../pipe/event/PipeTabletInsertionEventTest.java | 25 +- .../PipePlanTablePatternParseVisitorTest.java | 129 +++++ ...va => PipePlanTreePatternParseVisitorTest.java} | 32 +- .../annotation/PipePluginAnnotationTest.java} | 23 +- .../resource/PipeTsFileResourceManagerTest.java | 2 +- .../plan/relational/analyzer/DistinctTest.java | 91 +++ .../planner/assertions/PlanMatchPattern.java | 6 + .../storageengine/buffer/BloomFilterCacheTest.java | 5 +- .../storageengine/dataregion/DataRegionTest.java | 24 +- .../compaction/CompactionValidationTest.java | 7 +- .../inner/InnerSpaceCompactionSelectorTest.java | 2 +- .../TableModelFastCompactionPerformerTest.java | 13 +- ...TableModelReadChunkCompactionPerformerTest.java | 13 +- ...TableModelReadPointCompactionPerformerTest.java | 13 +- .../modification/ModificationFileTest.java | 90 ++- .../file/UnsealedTsFileRecoverPerformerTest.java | 4 +- .../iotdb/db/tools/TsFileAndModSettleToolTest.java | 2 +- .../iotdb/db/tools/TsFileSelfCheckToolTest.java | 6 +- .../iotdb/db/tools/TsFileSketchToolTest.java | 10 +- .../db/utils/SchemaRegionSnapshotParserTest.java | 200 +++++-- iotdb-core/node-commons/pom.xml | 4 + .../exception}/table/ColumnNotExistsException.java | 2 +- .../table/TableAlreadyExistsException.java | 2 +- .../exception}/table/TableNotExistsException.java | 2 +- .../commons/pipe/agent/plugin/PipePluginAgent.java | 17 +- .../builtin/connector/PlaceholderConnector.java | 4 + .../connector/donothing/DoNothingConnector.java | 4 + .../iotdb/airgap/IoTDBAirGapConnector.java | 4 + .../consensus/PipeConsensusAsyncConnector.java | 4 + .../iotdb/thrift/IoTDBLegacyPipeConnector.java | 2 + .../iotdb/thrift/IoTDBThriftAsyncConnector.java | 5 + .../iotdb/thrift/IoTDBThriftConnector.java | 4 + .../iotdb/thrift/IoTDBThriftSslConnector.java | 4 + .../iotdb/thrift/IoTDBThriftSyncConnector.java | 5 + .../builtin/connector/opcua/OpcUaConnector.java | 4 + .../connector/websocket/WebSocketConnector.java | 2 + .../connector/writeback/WriteBackConnector.java | 4 + .../extractor/donothing/DoNothingExtractor.java | 4 + .../builtin/extractor/iotdb/IoTDBExtractor.java | 4 + .../processor/donothing/DoNothingProcessor.java | 4 + .../throwing/ThrowingExceptionProcessor.java | 4 + .../agent/plugin/meta/PipePluginMetaKeeper.java | 47 +- .../commons/pipe/agent/task/PipeTaskAgent.java | 2 +- .../commons/pipe/agent/task/meta/PipeMeta.java | 40 -- .../pipe/agent/task/meta/PipeMetaKeeper.java | 6 +- .../pipe/agent/task/meta/PipeStaticMeta.java | 14 + .../payload/thrift/request/PipeRequestType.java | 4 +- .../thrift/request/PipeTransferFileSealReqV2.java | 13 +- .../connector/protocol/IoTDBAirGapConnector.java | 4 + .../pipe/connector/protocol/IoTDBConnector.java | 10 + .../connector/protocol/IoTDBSslSyncConnector.java | 4 + .../options/PipeInclusionOptions.java | 43 +- .../pipe/datastructure/pattern/TablePattern.java | 36 +- .../pipe/datastructure/pattern/TreePattern.java | 33 +- .../{ => resource}/PersistentResource.java | 2 +- .../commons/pipe/datastructure/result/Result.java} | 37 +- .../pipe/datastructure/visibility/Visibility.java | 9 +- .../visibility/VisibilityTestUtils.java | 135 +++++ .../datastructure/visibility/VisibilityUtils.java | 133 +++++ .../commons/pipe/extractor/IoTDBExtractor.java | 38 +- .../extractor/IoTDBNonDataRegionExtractor.java | 24 +- .../commons/pipe/receiver/IoTDBFileReceiver.java | 32 +- .../apache/iotdb/commons/schema/node/IMNode.java | 18 +- .../commons/schema/node/visitor/MNodeVisitor.java | 6 +- .../iotdb/commons/service/metric/enums/Metric.java | 3 +- .../iotdb/commons/udf/access/RecordIterator.java | 9 +- .../annotation/PipePluginAnnotationTest.java} | 23 +- .../db/relational/grammar/sql/RelationalSql.g4 | 11 +- .../src/main/thrift/confignode.thrift | 31 + pom.xml | 6 +- 465 files changed, 13805 insertions(+), 4746 deletions(-)
