Repository: calcite
Updated Branches:
  refs/heads/master 64ab9408a -> 52eda6d91 (forced update)


[CALCITE-2527] Simplify (c IS NULL) OR (c IS ...) might result in 
AssertionError: result mismatch (pengzhiwei)

fixes #846


Project: http://git-wip-us.apache.org/repos/asf/calcite/repo
Commit: http://git-wip-us.apache.org/repos/asf/calcite/commit/52eda6d9
Tree: http://git-wip-us.apache.org/repos/asf/calcite/tree/52eda6d9
Diff: http://git-wip-us.apache.org/repos/asf/calcite/diff/52eda6d9

Branch: refs/heads/master
Commit: 52eda6d911f06a542e1d681de294c77e8246e354
Parents: 32630d1
Author: pengzhiwei <[email protected]>
Authored: Thu Sep 20 13:48:40 2018 +0800
Committer: Vladimir Sitnikov <[email protected]>
Committed: Thu Sep 20 15:14:00 2018 +0300

----------------------------------------------------------------------
 core/src/main/java/org/apache/calcite/rex/RexSimplify.java    | 2 --
 .../src/test/java/org/apache/calcite/test/RexProgramTest.java | 7 +++++++
 2 files changed, 7 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/calcite/blob/52eda6d9/core/src/main/java/org/apache/calcite/rex/RexSimplify.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/calcite/rex/RexSimplify.java 
b/core/src/main/java/org/apache/calcite/rex/RexSimplify.java
index 1f84dec..c5ae228 100644
--- a/core/src/main/java/org/apache/calcite/rex/RexSimplify.java
+++ b/core/src/main/java/org/apache/calcite/rex/RexSimplify.java
@@ -441,8 +441,6 @@ public class RexSimplify {
       }
       if (kind == pred.kind) {
         return rexBuilder.makeLiteral(true);
-      } else {
-        return rexBuilder.makeLiteral(false);
       }
     }
     return null;

http://git-wip-us.apache.org/repos/asf/calcite/blob/52eda6d9/core/src/test/java/org/apache/calcite/test/RexProgramTest.java
----------------------------------------------------------------------
diff --git a/core/src/test/java/org/apache/calcite/test/RexProgramTest.java 
b/core/src/test/java/org/apache/calcite/test/RexProgramTest.java
index d73e533..f991872 100644
--- a/core/src/test/java/org/apache/calcite/test/RexProgramTest.java
+++ b/core/src/test/java/org/apache/calcite/test/RexProgramTest.java
@@ -1547,6 +1547,13 @@ public class RexProgramTest extends 
RexProgramBuilderBase {
             isNull(cRef)),
         "OR(IS NOT NULL(?0.b), IS NULL(?0.c))");
 
+    // "b is null or b is not false" unchanged
+    checkSimplifyFilter(
+        or(isNull(bRef),
+            isNotFalse(bRef)),
+        "OR(IS NULL(?0.b), IS NOT FALSE(?0.b))"
+    );
+
     // multiple predicates are handled correctly
     checkSimplifyFilter(
         and(

Reply via email to