[
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)