This is an automated email from the ASF dual-hosted git repository.
morrysnow pushed a commit to branch branch-3.1
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-3.1 by this push:
new aa77d5ceecd branch-3.1: [Bug](fold) skip INET6_ATON function in fold
by BE #53423 (#53780)
aa77d5ceecd is described below
commit aa77d5ceecdf653bae9be9f5f114200806485e85
Author: github-actions[bot]
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Thu Jul 24 14:26:42 2025 +0800
branch-3.1: [Bug](fold) skip INET6_ATON function in fold by BE #53423
(#53780)
Cherry-picked from #53423
Co-authored-by: zhangstar333 <[email protected]>
---
.../nereids/rules/expression/rules/FoldConstantRuleOnBE.java | 7 +++++--
.../expression/fold_constant/fold_constant_by_be.groovy | 10 ++++++++++
2 files changed, 15 insertions(+), 2 deletions(-)
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/FoldConstantRuleOnBE.java
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/FoldConstantRuleOnBE.java
index 0ed2116d1c5..6d95fb8667a 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/FoldConstantRuleOnBE.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/FoldConstantRuleOnBE.java
@@ -40,6 +40,8 @@ import org.apache.doris.nereids.trees.expressions.Match;
import org.apache.doris.nereids.trees.expressions.functions.BoundFunction;
import
org.apache.doris.nereids.trees.expressions.functions.generator.TableGeneratingFunction;
import org.apache.doris.nereids.trees.expressions.functions.scalar.FromBase64;
+import
org.apache.doris.nereids.trees.expressions.functions.scalar.Ipv6StringToNumOrDefault;
+import
org.apache.doris.nereids.trees.expressions.functions.scalar.Ipv6StringToNumOrNull;
import org.apache.doris.nereids.trees.expressions.functions.scalar.NonNullable;
import org.apache.doris.nereids.trees.expressions.functions.scalar.Nullable;
import org.apache.doris.nereids.trees.expressions.functions.scalar.Sleep;
@@ -231,8 +233,9 @@ public class FoldConstantRuleOnBE implements
ExpressionPatternRuleFactory {
return true;
}
- // Skip from_base64 function to avoid incorrect binary data processing
during constant folding
- if (expr instanceof FromBase64) {
+ // Skip those function to avoid incorrect binary data processing
during constant folding
+ if (expr instanceof FromBase64 || expr instanceof Ipv6StringToNumOrNull
+ || expr instanceof Ipv6StringToNumOrDefault) {
return true;
}
diff --git
a/regression-test/suites/nereids_p0/expression/fold_constant/fold_constant_by_be.groovy
b/regression-test/suites/nereids_p0/expression/fold_constant/fold_constant_by_be.groovy
index f3b1b0cdcd5..9b1a902b5ec 100644
---
a/regression-test/suites/nereids_p0/expression/fold_constant/fold_constant_by_be.groovy
+++
b/regression-test/suites/nereids_p0/expression/fold_constant/fold_constant_by_be.groovy
@@ -86,4 +86,14 @@ suite("fold_constant_by_be") {
"from
table_200_undef_partitions2_keys3_properties4_distributed_by53;")
notContains("mask")
}
+
+ sql 'set enable_fold_constant_by_be=true;'
+ explain {
+ sql "select IS_IPV4_MAPPED(NULLABLE(INET6_ATON('192.168.1.1')));"
+ contains "192.168.1.1"
+ }
+ explain {
+ sql "select
IS_IPV4_MAPPED(NULLABLE(ipv6_string_to_num_or_default('192.168.1.1')));"
+ contains "192.168.1.1"
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]