You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ja...@apache.org on 2022/08/28 11:54:33 UTC

[iotdb] branch master updated: [IOTDB-4106] Add close method for FilterAndProjectOperator (#7132)

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

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


The following commit(s) were added to refs/heads/master by this push:
     new a1946680ab [IOTDB-4106] Add close method for FilterAndProjectOperator (#7132)
a1946680ab is described below

commit a1946680ab255ad897f2f4b2c3132aebce60139e
Author: Liao Lanyu <10...@users.noreply.github.com>
AuthorDate: Sun Aug 28 19:54:26 2022 +0800

    [IOTDB-4106] Add close method for FilterAndProjectOperator (#7132)
---
 antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4  |  2 +-
 .../execution/operator/process/FilterAndProjectOperator.java  | 11 +++++++++++
 .../db/mpp/transformation/dag/column/ColumnTransformer.java   |  4 ++++
 .../dag/column/multi/MappableUDFColumnTransformer.java        |  6 ++++++
 .../apache/iotdb/tsfile/read/common/parser/PathVisitor.java   |  4 ----
 5 files changed, 22 insertions(+), 5 deletions(-)

diff --git a/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4 b/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4
index 65efbcecf8..4ab2bccd0a 100644
--- a/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4
+++ b/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/SqlLexer.g4
@@ -945,7 +945,7 @@ fragment DQUOTA_STRING
     ;
 
 fragment SQUOTA_STRING
-    : '\'' ( '\\'. | '\'\'' |~('\'') )* '\''
+    : '\'' ( '\\'. | '\'\'' | ~('\'') )* '\''
     ;
 
 fragment BQUOTA_STRING
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/process/FilterAndProjectOperator.java b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/process/FilterAndProjectOperator.java
index 80b75a40e6..eed0895a47 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/process/FilterAndProjectOperator.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/execution/operator/process/FilterAndProjectOperator.java
@@ -207,6 +207,17 @@ public class FilterAndProjectOperator implements ProcessOperator {
     return inputOperator.isBlocked();
   }
 
+  @Override
+  public void close() throws Exception {
+    for (ColumnTransformer columnTransformer : projectOutputTransformerList) {
+      columnTransformer.close();
+    }
+    if (filterOutputTransformer != null) {
+      filterOutputTransformer.close();
+    }
+    inputOperator.close();
+  }
+
   @Override
   public long calculateMaxPeekMemory() {
     long maxPeekMemory = inputOperator.calculateMaxReturnSize();
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/column/ColumnTransformer.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/column/ColumnTransformer.java
index d830c54d22..18a0e8a9f4 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/column/ColumnTransformer.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/column/ColumnTransformer.java
@@ -75,4 +75,8 @@ public abstract class ColumnTransformer {
   protected abstract void evaluate();
 
   protected abstract void checkType();
+
+  public void close() {
+    // do nothing
+  }
 }
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/column/multi/MappableUDFColumnTransformer.java b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/column/multi/MappableUDFColumnTransformer.java
index d9693aa671..8ce746493b 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/column/multi/MappableUDFColumnTransformer.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/transformation/dag/column/multi/MappableUDFColumnTransformer.java
@@ -92,4 +92,10 @@ public class MappableUDFColumnTransformer extends ColumnTransformer {
   public ColumnTransformer[] getInputColumnTransformers() {
     return inputColumnTransformers;
   }
+
+  @Override
+  public void close() {
+    // finalize executor
+    executor.beforeDestroy();
+  }
 }
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/parser/PathVisitor.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/parser/PathVisitor.java
index d804f6ef1b..9347e2a0e7 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/parser/PathVisitor.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/parser/PathVisitor.java
@@ -93,8 +93,4 @@ public class PathVisitor extends PathParserBaseVisitor<String[]> {
     }
     return NumberUtils.isCreatable(str.substring(index));
   }
-
-  public static void main(String[] args) {
-    System.out.println(isRealNumber("+-1"));
-  }
 }