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

jackietien pushed a commit to branch ty/TableModelGrammar
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit edd9f2438286619cdd29b2179e7e6fa56e7d52cf
Author: JackieTien97 <[email protected]>
AuthorDate: Fri Apr 26 01:14:29 2024 +0800

    partial
---
 .../iotdb/db/queryengine/plan/planner/TableOperatorGenerator.java | 8 ++++++++
 .../queryengine/plan/relational/planner/node/MergeSortNode.java   | 8 +++++++-
 2 files changed, 15 insertions(+), 1 deletion(-)

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 41f5b7f41b4..767325bb302 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
@@ -31,6 +31,7 @@ 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.FilterAndProjectOperator;
 import 
org.apache.iotdb.db.queryengine.execution.operator.process.LimitOperator;
+import 
org.apache.iotdb.db.queryengine.execution.operator.process.MergeSortOperator;
 import 
org.apache.iotdb.db.queryengine.execution.operator.process.OffsetOperator;
 import 
org.apache.iotdb.db.queryengine.execution.operator.sink.IdentitySinkOperator;
 import 
org.apache.iotdb.db.queryengine.execution.operator.source.AlignedSeriesScanOperator;
@@ -478,6 +479,13 @@ public class TableOperatorGenerator extends 
PlanVisitor<Operator, LocalExecution
 
   @Override
   public Operator visitMergeSort(MergeSortNode node, LocalExecutionPlanContext 
context) {
+    OperatorContext operatorContext = 
context.getDriverContext().addOperatorContext(context.getNextOperatorId(), 
node.getPlanNodeId(),
+        MergeSortOperator.class.getSimpleName());
+    List<Operator> children = new ArrayList<>(node.getChildren().size());
+    for (PlanNode child : node.getChildren()) {
+      children.add(this.process(child, context));
+    }
+
     return super.visitMergeSort(node, context);
   }
 
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/MergeSortNode.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/MergeSortNode.java
index 58a94fc3b9c..680d3812bac 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/MergeSortNode.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/MergeSortNode.java
@@ -22,6 +22,7 @@ import 
org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNode;
 import org.apache.iotdb.db.queryengine.plan.planner.plan.node.PlanNodeId;
 import 
org.apache.iotdb.db.queryengine.plan.planner.plan.node.process.MultiChildProcessNode;
 import 
org.apache.iotdb.db.queryengine.plan.planner.plan.parameter.OrderByParameter;
+import org.apache.iotdb.db.queryengine.plan.relational.planner.Symbol;
 
 import java.io.DataOutputStream;
 import java.io.IOException;
@@ -47,7 +48,7 @@ public class MergeSortNode extends MultiChildProcessNode {
 
   @Override
   public List<String> getOutputColumnNames() {
-    return null;
+    return children.get(0).getOutputColumnNames();
   }
 
   @Override
@@ -55,4 +56,9 @@ public class MergeSortNode extends MultiChildProcessNode {
 
   @Override
   protected void serializeAttributes(DataOutputStream stream) throws 
IOException {}
+
+  @Override
+  public List<Symbol> getOutputSymbols() {
+    return super.getOutputSymbols();
+  }
 }

Reply via email to