This is an automated email from the ASF dual-hosted git repository.
JackieTien97 pushed a commit to branch dev/1.3
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/dev/1.3 by this push:
new f3b83aafb1f [to dev/1.3] Fix nested ColumnTransformer close
f3b83aafb1f is described below
commit f3b83aafb1fe0cabc0a9de89f23e103b3abaa3f7
Author: shuwenwei <[email protected]>
AuthorDate: Tue May 12 18:20:54 2026 +0800
[to dev/1.3] Fix nested ColumnTransformer close
---
.../dag/column/CaseWhenThenColumnTransformer.java | 10 ++++++++++
.../dag/column/binary/BinaryColumnTransformer.java | 7 +++++++
.../dag/column/multi/MappableUDFColumnTransformer.java | 4 ++++
.../dag/column/ternary/TernaryColumnTransformer.java | 8 ++++++++
.../dag/column/unary/UnaryColumnTransformer.java | 6 ++++++
5 files changed, 35 insertions(+)
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 68910f2aa4b..94156d1c71b 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 @@ public class CaseWhenThenColumnTransformer extends
ColumnTransformer {
protected void checkType() {
// do nothing
}
+
+ @Override
+ public void close() {
+ super.close();
+ for (Pair<ColumnTransformer, ColumnTransformer> 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 6e074abe08f..996c6763afd 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 abstract class BinaryColumnTransformer extends
ColumnTransformer {
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 b3562a29208..74f15ab7055 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 class MappableUDFColumnTransformer extends
ColumnTransformer {
@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 6d747d3dae8..1638d273bff 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 abstract class TernaryColumnTransformer extends
ColumnTransformer {
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 0f1f48cfee8..e29ea0bf56f 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 @@ public abstract class UnaryColumnTransformer extends
ColumnTransformer {
}
protected abstract void doTransform(Column column, ColumnBuilder
columnBuilder);
+
+ @Override
+ public void close() {
+ super.close();
+ childColumnTransformer.close();
+ }
}