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

Julian Hyde commented on CALCITE-2421:
--------------------------------------

[~kgyrtkirk], Thanks for chiming in. If [~laurentgo]'s change breaks something, 
could you devise a test case that shows it?

[~laurentgo], Change looks good. I think it would help to be more explicit (in 
both the commit comment and the test case) the example expression that you are 
fixing. Otherwise this stuff gets very abstract very fast.

> RexSimplify#simplifyAnds foregoes some simplications if unknownAsFalse set to 
> true
> ----------------------------------------------------------------------------------
>
>                 Key: CALCITE-2421
>                 URL: https://issues.apache.org/jira/browse/CALCITE-2421
>             Project: Calcite
>          Issue Type: Bug
>            Reporter: Laurent Goujon
>            Assignee: Laurent Goujon
>            Priority: Minor
>
> It looks like {{RexSimplify#simplifyAnds}} foregoes some comparison 
> simplifications if {{unknownAsFalse}} is set to true, like {{A = A AND B = 
> B}} which might be simplified to {{A IS NOT NULL AND B IS NOT NULL}} or even 
> {{true}} if {{A}} and {{B}} are known to be not nullable.
> One consequence of this is that the selectivity value might be off as a {{=}} 
> comparison has a selectivity of 15% whereas {{IS NOT NULL}} has a selectivity 
> of 90%.
> The simplication is skipped because {{RexSimplify#simplifyList}} simplify all 
> terms with {{unknownAsFalse}} set to {{false}}, but in 
> {{RexSimplify#simplifyAnd2ForUnknownAsFalse}}, there's no attempt at trying 
> again to simplify each term.



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

Reply via email to