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 56158b46eab perf: Optimize the code structure and add comments for
CaseWhen
56158b46eab is described below
commit 56158b46eab7788770ce4c0387d472ac8cbfe5d1
Author: FearfulTomcat27 <[email protected]>
AuthorDate: Thu May 15 10:01:51 2025 +0800
perf: Optimize the code structure and add comments for CaseWhen
---
.../dag/column/AbstractCaseWhenThenColumnTransformer.java | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/AbstractCaseWhenThenColumnTransformer.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/AbstractCaseWhenThenColumnTransformer.java
index c45e51adbc6..7817e4b8d65 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/AbstractCaseWhenThenColumnTransformer.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/transformation/dag/column/AbstractCaseWhenThenColumnTransformer.java
@@ -213,12 +213,14 @@ public abstract class
AbstractCaseWhenThenColumnTransformer extends ColumnTransf
}
initializeColumnCache(builder.build());
+ // Because of short-circuit evaluation, CaseWhen does not calculate all
Then phrases, so its
+ // calculation results cannot be reused.
for (Pair<ColumnTransformer, ColumnTransformer> whenThenColumnTransformer :
whenThenTransformers) {
whenThenColumnTransformer.left.clearCache();
whenThenColumnTransformer.right.clearCache();
- elseTransformer.clearCache();
}
+ elseTransformer.clearCache();
}
protected abstract void writeToColumnBuilder(