[
https://issues.apache.org/jira/browse/CALCITE-2807?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16845286#comment-16845286
]
Laurent Goujon commented on CALCITE-2807:
-----------------------------------------
I agree that IDNF is jargon but I actually mentioned IS NOT DISTINCT FROM in
the commit message, as the first occurrence (except for the summary where it
would make the line goes past 50 characters, which is above general git commit
format guidelines). Do you want me to expand all the occurrences of INDF?
> 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)