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/02 08:13:41 UTC
[iotdb] 04/04: SingleInputSingleOutputIntermediateLayer &
SingleInputMultiOutputIntermediateLayer
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
commit c8e960bcb190baf6b398475156bf938852bd2865
Author: Steve Yurong Su <ro...@apache.org>
AuthorDate: Thu Sep 2 16:12:44 2021 +0800
SingleInputSingleOutputIntermediateLayer & SingleInputMultiOutputIntermediateLayer
---
.../query/expression/binary/BinaryExpression.java | 4 +--
.../query/expression/unary/NegationExpression.java | 4 +--
.../query/expression/unary/TimeSeriesOperand.java | 4 +--
...> SingleInputMultiOutputIntermediateLayer.java} | 6 ++--
.../SingleInputSingleOutputIntermediateLayer.java | 36 ++++++++++++++++++++++
5 files changed, 45 insertions(+), 9 deletions(-)
diff --git a/server/src/main/java/org/apache/iotdb/db/query/expression/binary/BinaryExpression.java b/server/src/main/java/org/apache/iotdb/db/query/expression/binary/BinaryExpression.java
index 69dd13c..e31496c 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/expression/binary/BinaryExpression.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/expression/binary/BinaryExpression.java
@@ -27,7 +27,7 @@ import org.apache.iotdb.db.qp.utils.WildcardsRemover;
import org.apache.iotdb.db.query.expression.Expression;
import org.apache.iotdb.db.query.udf.core.layer.InputLayer;
import org.apache.iotdb.db.query.udf.core.layer.IntermediateLayer;
-import org.apache.iotdb.db.query.udf.core.layer.SingleInputIntermediateLayer;
+import org.apache.iotdb.db.query.udf.core.layer.SingleInputMultiOutputIntermediateLayer;
import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
import org.apache.iotdb.db.query.udf.core.transformer.ArithmeticBinaryTransformer;
@@ -126,7 +126,7 @@ public abstract class BinaryExpression extends Expression {
expressionIntermediateLayerMap.put(
this,
- new SingleInputIntermediateLayer(
+ new SingleInputMultiOutputIntermediateLayer(
constructTransformer(
leftParentIntermediateLayer.constructPointReader(),
rightParentIntermediateLayer.constructPointReader()),
diff --git a/server/src/main/java/org/apache/iotdb/db/query/expression/unary/NegationExpression.java b/server/src/main/java/org/apache/iotdb/db/query/expression/unary/NegationExpression.java
index 813ee5f..8dcdc73 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/expression/unary/NegationExpression.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/expression/unary/NegationExpression.java
@@ -27,7 +27,7 @@ import org.apache.iotdb.db.qp.utils.WildcardsRemover;
import org.apache.iotdb.db.query.expression.Expression;
import org.apache.iotdb.db.query.udf.core.layer.InputLayer;
import org.apache.iotdb.db.query.udf.core.layer.IntermediateLayer;
-import org.apache.iotdb.db.query.udf.core.layer.SingleInputIntermediateLayer;
+import org.apache.iotdb.db.query.udf.core.layer.SingleInputMultiOutputIntermediateLayer;
import org.apache.iotdb.db.query.udf.core.transformer.ArithmeticNegationTransformer;
import java.util.ArrayList;
@@ -89,7 +89,7 @@ public class NegationExpression extends Expression {
expressionIntermediateLayerMap.put(
this,
- new SingleInputIntermediateLayer(
+ new SingleInputMultiOutputIntermediateLayer(
new ArithmeticNegationTransformer(parentIntermediateLayer.constructPointReader()),
-1,
-1));
diff --git a/server/src/main/java/org/apache/iotdb/db/query/expression/unary/TimeSeriesOperand.java b/server/src/main/java/org/apache/iotdb/db/query/expression/unary/TimeSeriesOperand.java
index c1e6eb8..9b17315 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/expression/unary/TimeSeriesOperand.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/expression/unary/TimeSeriesOperand.java
@@ -27,7 +27,7 @@ import org.apache.iotdb.db.qp.utils.WildcardsRemover;
import org.apache.iotdb.db.query.expression.Expression;
import org.apache.iotdb.db.query.udf.core.layer.InputLayer;
import org.apache.iotdb.db.query.udf.core.layer.IntermediateLayer;
-import org.apache.iotdb.db.query.udf.core.layer.SingleInputIntermediateLayer;
+import org.apache.iotdb.db.query.udf.core.layer.SingleInputMultiOutputIntermediateLayer;
import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
import java.util.List;
@@ -80,7 +80,7 @@ public class TimeSeriesOperand extends Expression {
if (!expressionIntermediateLayerMap.containsKey(this)) {
expressionIntermediateLayerMap.put(
this,
- new SingleInputIntermediateLayer(
+ new SingleInputMultiOutputIntermediateLayer(
inputLayer.constructPointReader(udtfPlan.getReaderIndex(path.getFullPath())),
-1,
-1));
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/SingleInputIntermediateLayer.java b/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/SingleInputMultiOutputIntermediateLayer.java
similarity index 96%
rename from server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/SingleInputIntermediateLayer.java
rename to server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/SingleInputMultiOutputIntermediateLayer.java
index 04697c9..a711ced 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/SingleInputIntermediateLayer.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/SingleInputMultiOutputIntermediateLayer.java
@@ -28,16 +28,16 @@ import org.apache.iotdb.tsfile.utils.Binary;
import java.io.IOException;
-public class SingleInputIntermediateLayer implements IntermediateLayer {
+public class SingleInputMultiOutputIntermediateLayer implements IntermediateLayer {
- private static final int CACHE_BLOCK_SIZE = 1;
+ private static final int CACHE_BLOCK_SIZE = 2;
private final TSDataType dataType;
private final LayerPointReader parentLayerPointReader;
private final ElasticSerializableTVList tvList;
private final SafetyLine safetyLine;
- public SingleInputIntermediateLayer(
+ public SingleInputMultiOutputIntermediateLayer(
LayerPointReader parentLayerPointReader, long queryId, float memoryBudgetInMB)
throws QueryProcessException {
this.parentLayerPointReader = parentLayerPointReader;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/SingleInputSingleOutputIntermediateLayer.java b/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/SingleInputSingleOutputIntermediateLayer.java
new file mode 100644
index 0000000..131472a
--- /dev/null
+++ b/server/src/main/java/org/apache/iotdb/db/query/udf/core/layer/SingleInputSingleOutputIntermediateLayer.java
@@ -0,0 +1,36 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.iotdb.db.query.udf.core.layer;
+
+import org.apache.iotdb.db.query.udf.core.reader.LayerPointReader;
+
+public class SingleInputSingleOutputIntermediateLayer implements IntermediateLayer {
+
+ private final LayerPointReader parentLayerPointReader;
+
+ public SingleInputSingleOutputIntermediateLayer(LayerPointReader parentLayerPointReader) {
+ this.parentLayerPointReader = parentLayerPointReader;
+ }
+
+ @Override
+ public LayerPointReader constructPointReader() {
+ return parentLayerPointReader;
+ }
+}