You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ro...@apache.org on 2021/09/09 07:02:44 UTC

[iotdb] branch nested-operations updated: fix DAGBuilder and remove unused methods in UDTFPlan

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

rong pushed a commit to branch nested-operations
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/nested-operations by this push:
     new 5b740ab  fix DAGBuilder and remove unused methods in UDTFPlan
5b740ab is described below

commit 5b740abab780c3adfa79020e6545089cebfdeec2
Author: Steve Yurong Su <ro...@apache.org>
AuthorDate: Thu Sep 9 15:02:13 2021 +0800

    fix DAGBuilder and remove unused methods in UDTFPlan
---
 .../apache/iotdb/db/qp/physical/crud/UDTFPlan.java    | 19 -------------------
 .../iotdb/db/query/udf/core/layer/DAGBuilder.java     | 19 ++++++++-----------
 2 files changed, 8 insertions(+), 30 deletions(-)

diff --git a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/UDTFPlan.java b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/UDTFPlan.java
index 792802f..b7a1a75 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/UDTFPlan.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/physical/crud/UDTFPlan.java
@@ -180,29 +180,10 @@ public class UDTFPlan extends RawDataQueryPlan implements UDFPlan {
     return resultColumns.get(datasetOutputIndexToResultColumnIndex.get(datasetOutputIndex));
   }
 
-  public UDTFExecutor getExecutorByDataSetOutputColumnIndex(int datasetOutputIndex) {
-    return expressionName2Executor.get(
-        getResultColumnByDatasetOutputIndex(datasetOutputIndex).getResultColumnName());
-  }
-
   public UDTFExecutor getExecutorByFunctionExpression(FunctionExpression functionExpression) {
     return expressionName2Executor.get(functionExpression.getExpressionString());
   }
 
-  public String getRawQueryColumnNameByDatasetOutputColumnIndex(int datasetOutputIndex) {
-    return getResultColumnByDatasetOutputIndex(datasetOutputIndex).getResultColumnName();
-  }
-
-  public boolean isUdfColumn(int datasetOutputIndex) {
-    return getResultColumnByDatasetOutputIndex(datasetOutputIndex).getExpression()
-        instanceof FunctionExpression;
-  }
-
-  public boolean isArithmeticColumn(int datasetOutputIndex) {
-    Expression expression = getResultColumnByDatasetOutputIndex(datasetOutputIndex).getExpression();
-    return expression instanceof BinaryExpression || expression instanceof NegationExpression;
-  }
-
   public int getReaderIndex(String pathName) {
     return pathNameToReaderIndex.get(pathName);
   }
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/DAGBuilder.java b/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/DAGBuilder.java
index d69422a..e03ab9a 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/DAGBuilder.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/DAGBuilder.java
@@ -22,13 +22,10 @@ package org.apache.iotdb.db.query.udf.core.layer;
 import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.db.qp.physical.crud.UDTFPlan;
 import org.apache.iotdb.db.query.expression.Expression;
-import org.apache.iotdb.db.query.expression.ResultColumn;
 import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
 
 import java.io.IOException;
-import java.util.ArrayList;
 import java.util.HashMap;
-import java.util.List;
 import java.util.Map;
 
 public class DAGBuilder {
@@ -38,7 +35,7 @@ public class DAGBuilder {
   private final UDFLayer rawTimeSeriesInputLayer;
 
   // input
-  private final List<Expression> resultColumnExpressions;
+  private final Expression[] resultColumnExpressions;
   // output
   private final LayerPointReader[] resultColumnPointReaders;
 
@@ -55,11 +52,12 @@ public class DAGBuilder {
     this.udtfPlan = udtfPlan;
     this.rawTimeSeriesInputLayer = inputLayer;
 
-    resultColumnExpressions = new ArrayList<>();
-    for (ResultColumn resultColumn : udtfPlan.getResultColumns()) {
-      resultColumnExpressions.add(resultColumn.getExpression());
+    int size = udtfPlan.getPathToIndex().size();
+    resultColumnExpressions = new Expression[size];
+    for (int i = 0; i < size; ++i) {
+      resultColumnExpressions[i] = udtfPlan.getResultColumnByDatasetOutputIndex(i).getExpression();
     }
-    resultColumnPointReaders = new LayerPointReader[resultColumnExpressions.size()];
+    resultColumnPointReaders = new LayerPointReader[size];
 
     memoryAssigner = new LayerMemoryAssigner(memoryBudgetInMB);
 
@@ -75,10 +73,9 @@ public class DAGBuilder {
   }
 
   public DAGBuilder buildResultColumnPointReaders() throws QueryProcessException, IOException {
-    for (int i = 0; i < resultColumnExpressions.size(); ++i) {
+    for (int i = 0; i < resultColumnExpressions.length; ++i) {
       resultColumnPointReaders[i] =
-          resultColumnExpressions
-              .get(i)
+          resultColumnExpressions[i]
               .constructIntermediateLayer(
                   queryId,
                   udtfPlan,