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

Francesco Gini commented on CALCITE-4907:
-----------------------------------------

I have reworded the ticket. The end user would see the correct result but 
behind the scene the join is done with Enumerable while it could have been done 
in the db via the Jdbc convention. Perhaps the ticket shouldn't be a bug after 
all but an improvement?

> JdbcJoin does not convert Join with always true/false RexNode
> -------------------------------------------------------------
>
>                 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.29.0
>
>
> Cross joins (LogicalJoin with condition {_}true{_}) are not pushed down in 
> the database when using the JdbcAdapter. This results in implementing the 
> join in memory via _EnumerableNestedLoopJoin_ which is a less efficient 
> implementation.
>  
> JdbcJoin does not handle cases where the condtion is a RexNode that it is 
> always true or false. However, SqlImplementor is coded to handle those 
> conditions (see SqlImplementor.convertConditionToSqlNode).



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to