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]

Reply via email to