This is an automated email from the ASF dual-hosted git repository. jackietien pushed a commit to branch ty/CollectOperator in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit eedb7ddbdf2f0586468094a263f0acbea8ab34c0 Author: JackieTien97 <[email protected]> AuthorDate: Wed Jul 3 19:04:25 2024 +0800 support collectOperator --- .../plan/planner/TableOperatorGenerator.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/TableOperatorGenerator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/TableOperatorGenerator.java index dbfac54c645..a26f284e0d1 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/TableOperatorGenerator.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/planner/TableOperatorGenerator.java @@ -32,6 +32,7 @@ import org.apache.iotdb.db.queryengine.execution.exchange.sink.ShuffleSinkHandle import org.apache.iotdb.db.queryengine.execution.exchange.source.ISourceHandle; import org.apache.iotdb.db.queryengine.execution.operator.Operator; import org.apache.iotdb.db.queryengine.execution.operator.OperatorContext; +import org.apache.iotdb.db.queryengine.execution.operator.process.CollectOperator; import org.apache.iotdb.db.queryengine.execution.operator.process.FilterAndProjectOperator; import org.apache.iotdb.db.queryengine.execution.operator.process.LimitOperator; import org.apache.iotdb.db.queryengine.execution.operator.process.MergeSortOperator; @@ -64,6 +65,7 @@ import org.apache.iotdb.db.queryengine.plan.relational.metadata.ColumnSchema; import org.apache.iotdb.db.queryengine.plan.relational.metadata.Metadata; import org.apache.iotdb.db.queryengine.plan.relational.planner.OrderingScheme; import org.apache.iotdb.db.queryengine.plan.relational.planner.Symbol; +import org.apache.iotdb.db.queryengine.plan.relational.planner.node.CollectNode; import org.apache.iotdb.db.queryengine.plan.relational.planner.node.FilterNode; import org.apache.iotdb.db.queryengine.plan.relational.planner.node.LimitNode; import org.apache.iotdb.db.queryengine.plan.relational.planner.node.MergeSortNode; @@ -561,6 +563,22 @@ public class TableOperatorGenerator extends PlanVisitor<Operator, LocalExecution context); } + @Override + public Operator visitCollect(CollectNode node, LocalExecutionPlanContext context) { + OperatorContext operatorContext = + context + .getDriverContext() + .addOperatorContext( + context.getNextOperatorId(), + node.getPlanNodeId(), + CollectOperator.class.getSimpleName()); + List<Operator> children = new ArrayList<>(node.getChildren().size()); + for (PlanNode child : node.getChildren()) { + children.add(this.process(child, context)); + } + return new CollectOperator(operatorContext, children); + } + @Override public Operator visitMergeSort(MergeSortNode node, LocalExecutionPlanContext context) { OperatorContext operatorContext =
