This is an automated email from the ASF dual-hosted git repository.

kxiao pushed a commit to branch branch-2.0
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/branch-2.0 by this push:
     new a2e807da498 [fix](nereids)SimplifyRange rule may mess up and/or 
predicate #26304 (#26693)
a2e807da498 is described below

commit a2e807da4984e273bc39482f984ed25da872fa9a
Author: starocean999 <[email protected]>
AuthorDate: Fri Nov 10 00:12:39 2023 +0800

    [fix](nereids)SimplifyRange rule may mess up and/or predicate #26304 
(#26693)
---
 .../org/apache/doris/nereids/rules/expression/rules/SimplifyRange.java  | 2 +-
 .../org/apache/doris/nereids/rules/expression/SimplifyRangeTest.java    | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/SimplifyRange.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/SimplifyRange.java
index 392207bf9aa..2fd7f4167d8 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/SimplifyRange.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/SimplifyRange.java
@@ -450,7 +450,7 @@ public class SimplifyRange extends 
AbstractExpressionRewriteRule {
         @Override
         public ValueDesc intersect(ValueDesc other) {
             Expression originExpr = ExpressionUtils.and(expr, other.expr);
-            return new UnknownValue(ImmutableList.of(this, other), originExpr, 
ExpressionUtils::or);
+            return new UnknownValue(ImmutableList.of(this, other), originExpr, 
ExpressionUtils::and);
         }
 
         @Override
diff --git 
a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/expression/SimplifyRangeTest.java
 
b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/expression/SimplifyRangeTest.java
index 8058137b6f6..33a22dae78d 100644
--- 
a/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/expression/SimplifyRangeTest.java
+++ 
b/fe/fe-core/src/test/java/org/apache/doris/nereids/rules/expression/SimplifyRangeTest.java
@@ -104,6 +104,7 @@ public class SimplifyRangeTest {
         assertRewrite("TA in (1) and TA in (1)", "TA = 1");
         assertRewrite("(TA > 3 and TA < 1) and TB < 5", "FALSE");
         assertRewrite("(TA > 3 and TA < 1) or TB < 5", "TB < 5");
+        assertRewrite("((IA = 1 AND SC ='1') OR SC = '1212') AND IA =1", "((IA 
= 1 AND SC ='1') OR SC = '1212') AND IA =1");
     }
 
     private void assertRewrite(String expression, String expected) {


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to