Julian Hyde created CALCITE-1497:
------------------------------------

             Summary: Invalid implications
                 Key: CALCITE-1497
                 URL: https://issues.apache.org/jira/browse/CALCITE-1497
             Project: Calcite
          Issue Type: Bug
            Reporter: Julian Hyde
            Assignee: Julian Hyde


RexImplicationChecker makes some mistakes when OR is on the left-hand size or 
AND is on the right-hand side. The following 3 tests should all succeed, but 
all currently give the wrong result. I intend to check in the tests with my fix 
for CALCITE-1483 (coming soon, currently in my branch 
https://github.com/julianhyde/calcite/tree/1483-not-in-not-null).

{code}
    // "s is not null or i = 5" does not imply "s is not null"
    f.checkNotImplies(f.or(sIsNotNull, iEq5), sIsNotNull);

    // "s is not null" implies "s is not null or i = 5"
    f.checkImplies(sIsNotNull, f.or(sIsNotNull, iEq5));

    // "s is not null" implies "i = 5 or s is not null"
    f.checkImplies(sIsNotNull, f.or(iEq5, sIsNotNull));
{code}

[~amargoor], Can you comment on these?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to