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,