diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/CaseWhenThenColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/CaseWhenThenColumnTransformer.java index 68910f2aa4b3a..94156d1c71b21 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/CaseWhenThenColumnTransformer.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/CaseWhenThenColumnTransformer.java @@ -128,4 +128,14 @@ protected void evaluate() { protected void checkType() { // do nothing } + + @Override + public void close() { + super.close(); + for (Pair whenThenTransformer : whenThenTransformers) { + whenThenTransformer.left.close(); + whenThenTransformer.right.close(); + } + elseTransformer.close(); + } } diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/BinaryColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/BinaryColumnTransformer.java index 6e074abe08f4a..996c6763afd52 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/BinaryColumnTransformer.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/binary/BinaryColumnTransformer.java @@ -63,4 +63,11 @@ public ColumnTransformer getLeftTransformer() { public ColumnTransformer getRightTransformer() { return rightTransformer; } + + @Override + public void close() { + super.close(); + this.leftTransformer.close(); + this.rightTransformer.close(); + } } diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/MappableUDFColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/MappableUDFColumnTransformer.java index b3562a2920884..74f15ab7055c4 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/MappableUDFColumnTransformer.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/multi/MappableUDFColumnTransformer.java @@ -70,6 +70,10 @@ public ColumnTransformer[] getInputColumnTransformers() { @Override public void close() { + super.close(); + for (ColumnTransformer inputColumnTransformer : inputColumnTransformers) { + inputColumnTransformer.close(); + } // finalize executor executor.beforeDestroy(); } diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/ternary/TernaryColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/ternary/TernaryColumnTransformer.java index 6d747d3dae835..1638d273bffb0 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/ternary/TernaryColumnTransformer.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/ternary/TernaryColumnTransformer.java @@ -54,4 +54,12 @@ public ColumnTransformer getSecondColumnTransformer() { public ColumnTransformer getThirdColumnTransformer() { return thirdColumnTransformer; } + + @Override + public void close() { + super.close(); + firstColumnTransformer.close(); + secondColumnTransformer.close(); + thirdColumnTransformer.close(); + } } diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/UnaryColumnTransformer.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/UnaryColumnTransformer.java index 0f1f48cfee852..e29ea0bf56f73 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/UnaryColumnTransformer.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/unary/UnaryColumnTransformer.java @@ -53,4 +53,10 @@ protected void checkType() { } protected abstract void doTransform(Column column, ColumnBuilder columnBuilder); + + @Override + public void close() { + super.close(); + childColumnTransformer.close(); + } }