[ 
https://issues.apache.org/jira/browse/CALCITE-2451?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16641579#comment-16641579
 ] 

Zoltan Haindrich commented on CALCITE-2451:
-------------------------------------------

sorry: in my last comment I was not talking clearly...I also disagree with that 
sentence...

[~julianhyde]: Today I was looking at some expression which was not simplified 
for some reason - and your comment have came into my mind...which gave me a 
probably different idea - which might have been something already 
explored...but I don't see any reference to your work branch around Sep/20 
...so I'm not sure...

In case of an expression like {{f() is true}} - right now we set unknownAsFalse 
and descend...I think it would be probably an alternative to do what you 
experiemented with around Sep/20 and add distributivity rules for IS TRUE (and 
its friends)..ex:  {{(c1 and c2) IS TRUE}} <=> {{c1 IS TRUE and c2 IS TRUE}} - 
I'm not sure how much stress this will cause on the rex tree/etc; but methods 
which are strongly tied to unknownAsFalse states - might instead check for the 
return type being a nonNullable boolean.

> RexSimplify: fuse unknownAsFalse and IS TRUE handling
> -----------------------------------------------------
>
>                 Key: CALCITE-2451
>                 URL: https://issues.apache.org/jira/browse/CALCITE-2451
>             Project: Calcite
>          Issue Type: Sub-task
>          Components: core
>    Affects Versions: 1.17.0
>            Reporter: Vladimir Sitnikov
>            Assignee: Julian Hyde
>            Priority: Major
>
> It looks like {{unknownAsFalse}} duplicates {{IS_TRUE}} handling.
> In other words, {{withUnknownAsFalse(true). simplfy(expr)}} is more or less 
> comparable to {{simplify(isTrue(expr))}}
> Implementing {{IS_TRUE/IS_FALSE/...}} simplification possibilities might make 
> {{unknownAsFalse}} obsolete.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to