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

Julian Hyde commented on CALCITE-2807:
--------------------------------------

For the record, while we'd prefer shorter messages in Calcite, there is no hard 
limit. In this case the Jira case has an excellent summary, so use that. 
Compressing "IS NOT DISTINCT FROM" to "INDF" to save a few characters is not 
worth it, in my opinion.

> Identify expanded IS NOT DISTINCT FROM expression when pushing down filter 
> past join
> ------------------------------------------------------------------------------------
>
>                 Key: CALCITE-2807
>                 URL: https://issues.apache.org/jira/browse/CALCITE-2807
>             Project: Calcite
>          Issue Type: Improvement
>          Components: core
>            Reporter: Laurent Goujon
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> IS NOT DISTINCT FROM expressions in join condition might actually be 
> considered as equi-join conditions, and RelOptUtil#splitJoinConditions() has 
> support for it. But some other join related functions/rules don't.
> One of them is RelOptUtil#pushDownJoinConditions (used by 
> JoinPushExpressionsRule) which tries to push filter expressions below the 
> join, but ends up modifying the join expression in a way which makes identify 
> an IDNF condition impossible later.
> For example expression OR(AND(IS_NULL($1), IS_NULL($4)), EQUALS($1,$4)) will 
> be changed into OR(AND($3, $6), EQUALS($1, $5)) which makes it 
> harder/impossible for RelOptUtil#splitJoinConditions() to identify an IS NOT 
> DISTINCT FROM equi-join condition.
> This is a variant of CALCITE-2803



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

Reply via email to