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

Stamatis Zampetakis commented on CALCITE-4907:
----------------------------------------------

The changes proposed here enable pushing Cartesian products in the underlying 
JDBC database. In some cases this is desirable (when the JDBC adapter operators 
are combined with another engine that does not support Cartesian products) but 
it can also lead to important performance regressions.

We tend to agree that the cartesian product pushdown decision should be based 
on the cost model and not in the rule(s) so if such a case pops up we should 
probably invest towards this direction. 

I am planning to merge the current PR in 24 hours. Please let me know if you 
want to have further discussion here.

>  JDBC adapter cannot push down join ON TRUE (cartesian product) or ON FALSE
> ---------------------------------------------------------------------------
>
>                 Key: CALCITE-4907
>                 URL: https://issues.apache.org/jira/browse/CALCITE-4907
>             Project: Calcite
>          Issue Type: Bug
>          Components: jdbc-adapter
>    Affects Versions: 1.28.0
>            Reporter: Francesco Gini
>            Assignee: Francesco Gini
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 1.31.0
>
>          Time Spent: 3h
>  Remaining Estimate: 0h
>
> JDBC adapter (in JdbcJoinRule) cannot push down join ON TRUE (cartesian 
> product) or ON FALSE. This results in implementing the join in memory via 
> _EnumerableNestedLoopJoin_ which is a less efficient implementation.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

Reply via email to