You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Viggo Chen (Jira)" <ji...@apache.org> on 2025/02/24 11:12:00 UTC
[jira] [Commented] (CALCITE-3373) Decorrelate boolean context IN or existential subquery directly into SEMI/ANTI join
[ https://issues.apache.org/jira/browse/CALCITE-3373?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17929706#comment-17929706 ]
Viggo Chen commented on CALCITE-3373:
-------------------------------------
Flink has already implemented similar feature in https://issues.apache.org/jira/browse/FLINK-12371.
It is implemented through a FlinkSubqueryRemoveRule. It's not hard to port to Calcite. I am working on it.
> Decorrelate boolean context IN or existential subquery directly into SEMI/ANTI join
> -----------------------------------------------------------------------------------
>
> Key: CALCITE-3373
> URL: https://issues.apache.org/jira/browse/CALCITE-3373
> Project: Calcite
> Issue Type: Improvement
> Components: core
> Reporter: Jin Xing
> Priority: Major
>
> The current approach to generate semi-join from IN/EXISTS is as below:
> # Decorrelation
> # Transforming by SemiJoinRule to get a semi-join
> A more straightforward approach is to generate the semi-join right in Decorrelation.
> What's more, we should also have an approach to generate anti-join right in Decorrelation.(Currently there's no analogous rule to SemiJoinRule for anti-join)
> This one is related to CALCITE-3367
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)