This is an automated email from the ASF dual-hosted git repository. spricoder pushed a commit to branch feature/memory_collect in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 8c6af7642c2fb1fd86ee19048d6b56f03fcea7dc Merge: 72bc9c5e42e 82c85483572 Author: spricoder <[email protected]> AuthorDate: Mon Jan 13 14:36:34 2025 +0800 Merge branch 'master' into feature/memory_collect .../iotdb/it/env/cluster/env/AbstractEnv.java | 5 + .../iotdb/it/env/remote/env/RemoteServerEnv.java | 5 + .../java/org/apache/iotdb/itbase/env/BaseEnv.java | 3 + .../org/apache/iotdb/db/it/utils/TestUtils.java | 23 ++ .../iotdb/pipe/it/autocreate/IoTDBPipeAlterIT.java | 3 +- .../it/autocreate/IoTDBPipeSwitchStatusIT.java | 23 +- .../iotdb/pipe/it/tablemodel/IoTDBPipeAlterIT.java | 30 +- .../it/tablemodel/IoTDBPipeDoubleLivingIT.java | 329 ++++++++++++++++++ .../pipe/it/tablemodel/IoTDBPipeIsolationIT.java | 377 +++++++++++++++++++++ .../it/tablemodel/IoTDBPipeSwitchStatusIT.java | 23 +- .../pipe/it/tablemodel/IoTDBPipeSyntaxIT.java | 33 +- .../IoTDBPipeTypeConversionISessionIT.java | 93 +++-- .../iotdb/pipe/it/tablemodel/TableModelUtils.java | 17 + .../relational/it/db/it/IoTDBDeletionTableIT.java | 2 +- .../relational/it/db/it/IoTDBInsertTableIT.java | 2 +- .../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 | 12 +- .../recent/subquery/SubqueryDataSetUtils.java | 12 +- .../IoTDBUncorrelatedInPredicateSubqueryIT.java | 319 +++++++++++++++++ .../IoTDBUncorrelatedScalarSubqueryIT.java | 4 +- .../iotdb/relational/it/schema/IoTDBDeviceIT.java | 47 ++- .../iotdb/relational/it/schema/IoTDBTableIT.java | 122 ++++--- .../it/session/IoTDBSessionRelationalIT.java | 29 +- .../iotdb/session/it/IoTDBSessionSimpleIT.java | 36 +- .../response/pipe/task/PipeTableResp.java | 7 + .../iotdb/confignode/manager/ConfigManager.java | 10 +- .../apache/iotdb/confignode/manager/IManager.java | 23 +- .../pipe/coordinator/task/PipeTaskCoordinator.java | 74 ++-- .../manager/schema/ClusterSchemaManager.java | 97 +++--- .../confignode/persistence/pipe/PipeTaskInfo.java | 21 +- .../confignode/persistence/schema/ConfigMTree.java | 8 +- .../impl/pipe/task/AlterPipeProcedureV2.java | 4 +- .../thrift/ConfigNodeRPCServiceProcessor.java | 16 +- .../apache/iotdb/consensus/pipe/PipeConsensus.java | 57 +++- .../schemaregion/SchemaExecutionVisitor.java | 15 +- .../LoadAnalyzeException.java} | 8 +- .../LoadAnalyzeTableColumnDisorderException.java} | 7 +- .../LoadAnalyzeTypeMismatchException.java} | 6 +- .../dataregion/IoTDBDataRegionExtractor.java | 20 +- .../statement/PipeConvertedInsertRowStatement.java | 30 +- .../PipeConvertedInsertTabletStatement.java | 52 ++- ...leStatementDataTypeConvertExecutionVisitor.java | 3 +- ...eeStatementDataTypeConvertExecutionVisitor.java | 3 +- .../resource/tsfile/PipeTsFileResourceManager.java | 5 +- .../iotdb/db/protocol/client/ConfigNodeClient.java | 14 + .../operator/process/EnforceSingleRowOperator.java | 5 +- .../merge/comparator/JoinKeyComparatorFactory.java | 2 +- .../schema/source/TableDeviceQuerySource.java | 4 +- .../relational/MergeSortSemiJoinOperator.java | 228 +++++++++++++ .../queryengine/plan/analyze/AnalyzeVisitor.java | 12 + .../plan/analyze/load/LoadTsFileAnalyzer.java | 15 +- .../analyze/load/LoadTsFileTableSchemaCache.java | 14 +- .../load/LoadTsFileToTableModelAnalyzer.java | 13 +- .../load/LoadTsFileToTreeModelAnalyzer.java | 9 +- .../load/TreeSchemaAutoCreatorAndVerifier.java | 30 +- .../config/executor/ClusterConfigTaskExecutor.java | 20 +- .../execution/config/sys/pipe/AlterPipeTask.java | 8 +- .../execution/config/sys/pipe/DropPipeTask.java | 7 +- .../execution/config/sys/pipe/ShowPipeTask.java | 3 +- .../execution/config/sys/pipe/StartPipeTask.java | 7 +- .../execution/config/sys/pipe/StopPipeTask.java | 7 +- .../db/queryengine/plan/parser/ASTVisitor.java | 9 +- .../plan/planner/TableOperatorGenerator.java | 73 +++- .../plan/planner/plan/node/PlanGraphPrinter.java | 12 + .../plan/planner/plan/node/PlanNodeType.java | 4 + .../plan/planner/plan/node/PlanVisitor.java | 5 + .../relational/analyzer/ExpressionAnalyzer.java | 37 +- .../plan/relational/analyzer/Scope.java | 8 +- .../relational/analyzer/StatementAnalyzer.java | 13 +- .../plan/relational/metadata/Metadata.java | 4 +- .../relational/metadata/TableMetadataImpl.java | 18 +- .../metadata/fetcher/TableDeviceSchemaFetcher.java | 4 +- .../fetcher/TableHeaderSchemaValidator.java | 11 +- .../plan/relational/planner/IrTypeAnalyzer.java | 11 + .../plan/relational/planner/QueryPlanner.java | 2 +- .../plan/relational/planner/SubqueryPlanner.java | 84 +++-- .../distribute/TableDistributedPlanGenerator.java | 15 + .../planner/iterative/rule/PruneApplyColumns.java | 138 ++++++++ .../iterative/rule/PruneApplyCorrelation.java | 70 ++++ .../iterative/rule/PruneApplySourceColumns.java | 95 ++++++ .../rule/RemoveUnreferencedScalarApplyNodes.java | 42 +++ .../rule/RemoveUnreferencedScalarSubqueries.java | 70 ++++ .../TransformFilteringSemiJoinToInnerJoin.java | 150 ++++++++ ...mUncorrelatedInPredicateSubqueryToSemiJoin.java | 95 ++++++ .../plan/relational/planner/node/Patterns.java | 7 +- .../plan/relational/planner/node/SemiJoinNode.java | 181 ++++++++++ .../optimizations/LogicalOptimizeFactory.java | 18 +- .../optimizations/PushPredicateIntoTableScan.java | 204 +++++++++++ .../optimizations/UnaliasSymbolReferences.java | 29 ++ .../plan/relational/sql/ast/AlterPipe.java | 22 +- .../plan/relational/sql/ast/DeleteDevice.java | 2 - .../plan/relational/sql/ast/DropColumn.java | 3 - .../plan/relational/sql/ast/DropPipe.java | 10 +- .../plan/relational/sql/ast/ShowPipes.java | 10 +- .../plan/relational/sql/ast/StartPipe.java | 8 +- .../plan/relational/sql/ast/StopPipe.java | 8 +- .../plan/relational/sql/parser/AstBuilder.java | 5 +- .../plan/statement/crud/InsertBaseStatement.java | 6 +- .../plan/statement/crud/InsertRowStatement.java | 18 +- .../metadata/pipe/AlterPipeStatement.java | 31 +- .../statement/metadata/pipe/DropPipeStatement.java | 23 +- .../metadata/pipe/ShowPipesStatement.java | 18 +- .../metadata/pipe/StartPipeStatement.java | 17 +- .../statement/metadata/pipe/StopPipeStatement.java | 17 +- .../schemaengine/table/InformationSchemaUtils.java | 2 +- .../LoadConvertedInsertTabletStatement.java | 18 +- ...leStatementDataTypeConvertExecutionVisitor.java | 3 +- ...eeStatementDataTypeConvertExecutionVisitor.java | 3 +- .../broker/SubscriptionPrefetchingQueue.java | 2 + .../db/subscription/event/SubscriptionEvent.java | 21 +- .../batch/SubscriptionPipeTabletEventBatch.java | 22 ++ .../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 +- .../plan/relational/planner/SubqueryTest.java | 98 ++++++ .../planner/assertions/PlanMatchPattern.java | 11 + .../planner/assertions/SemiJoinMatcher.java | 79 +++++ .../storageengine/dataregion/DataRegionTest.java | 24 +- .../exception}/table/ColumnNotExistsException.java | 2 +- .../table/TableAlreadyExistsException.java | 2 +- .../exception}/table/TableNotExistsException.java | 2 +- .../commons/pipe/agent/task/meta/PipeMeta.java | 40 +++ .../pipe/agent/task/meta/PipeMetaKeeper.java | 8 + .../config/constant/PipeExtractorConstant.java | 3 + .../pipe/datastructure/pattern/TablePattern.java | 21 +- .../pipe/datastructure/pattern/TreePattern.java | 22 +- .../commons/pipe/extractor/IoTDBExtractor.java | 65 +++- .../org/apache/iotdb/commons/utils/FileUtils.java | 27 ++ .../src/main/thrift/confignode.thrift | 19 ++ pom.xml | 2 +- 138 files changed, 3998 insertions(+), 936 deletions(-)
