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

Vladimir Sitnikov commented on CALCITE-3285:
--------------------------------------------

{quote} What if we return infinite cost in EnumerableMergeJoin#computeSelfCost 
if the join is not "implementable" with the current merge algorithm (non-equi 
join / outer join)?{quote}

That might prevent selecting that as the final plan, however, it would not 
prevent the optimizer from trying apply all those rules.

The cost might be infinite for multiple reasons:
1) An appropriate input is missing. For instance, one of the inputs is not yet 
converted to enumerable.
2) A wrong join type is used. For instance, non-equi merge join. It would be 
better to avoid creating those relations rather than create them and then try 
to return infinite cost for them.

> EnumerableMergeJoin should support non-equi join conditions
> -----------------------------------------------------------
>
>                 Key: CALCITE-3285
>                 URL: https://issues.apache.org/jira/browse/CALCITE-3285
>             Project: Calcite
>          Issue Type: Improvement
>            Reporter: Haisheng Yuan
>            Assignee: Jin Xing
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 1.22.0
>
>          Time Spent: 2h 50m
>  Remaining Estimate: 0h
>
> Calcite should be able to generate EnumerableMergeJoin with non-equi join 
> conditions, as long as there are equi-join conditions.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to