[
https://issues.apache.org/jira/browse/CALCITE-5247?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17586083#comment-17586083
]
Ali Mansour commented on CALCITE-5247:
--------------------------------------
[~libenchao]
PR created: https://github.com/apache/calcite/pull/2887
> FilterJoinRule cannot simplify left join to inner join for `WHERE RHS.C1 IS
> NOT NULL OR RHS.C2 IS NOT NULL`
> -----------------------------------------------------------------------------------------------------------
>
> Key: CALCITE-5247
> URL: https://issues.apache.org/jira/browse/CALCITE-5247
> Project: Calcite
> Issue Type: Improvement
> Components: core
> Affects Versions: 1.25.0, 1.31.0
> Reporter: Ali Mansour
> Priority: Major
>
> For the following query:
> {code:sql}
> SELECT
> *
> FROM
> (
> SELECT
> A.C0 AS L,
> B.C1 AS R1,
> B.C2 AS R2
> FROM
> A
> LEFT JOIN B
> )
> WHERE
> (R1 IS NOT NULL)
> OR (R2 IS NOT NULL)
> {code}
> it should be optimized to
> {code:sql}
> SELECT
> A.C0 AS L,
> B.C1 AS R1,
> B.C2 AS R2
> FROM
> A
> INNER JOIN B
> {code}
> but it didn't.
> The FilterJoinRule fails to simplify this specific case, however if we have
> only 1 IS_NOT_NULL in the filter condition, it is able to do so.
> I think the problem is in the Strong class.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)