Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
1.26.0
-
None
-
None
Description
(1/0) IS NULL should not result in isAlwaysFalse.
Currently, RexSimplify knows that 1/0 must not be simplified, however, isAlwaysTrue and isAlwaysFalse are still wrong.
That might result in wrong data, especially when the client code calls isAlways...
kgyrtkirk, I see you contributed a lot to simplification and SafeRexVisitor. Are you interested in improving isAlways...?
Sample issue:
isNull(case_(case_(trueLiteral, isTrue(vBool(1)), falseLiteral), isNotFalse(vBool(0)), trueLiteral)) isAlwaysFalse, so it should simplify to FALSE unknownAsFalse ==> expected: <false> but was: <IS NULL(OR(AND(CAST(?0.bool1):BOOLEAN NOT NULL, IS NOT FALSE(?0.bool0)), NOT(CAST(?0.bool1):BOOLEAN NOT NULL)))>