[
https://issues.apache.org/jira/browse/CALCITE-3373?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17929732#comment-17929732
]
Viggo Chen edited comment on CALCITE-3373 at 3/2/25 9:19 AM:
-------------------------------------------------------------
Here is the draft
[https://github.com/apache/calcite/pull/4211.|https://github.com/apache/calcite/pull/4211]
Next, I will try to integrate it into the existing Calcite code. Which rule do
you think it should be integrated into: SemiJoinRule, SubQueryRemoveRule, or as
a separate rule?
was (Author: JIRAUSER300637):
Here is the draft https://github.com/apache/calcite/pull/4211.Next, I will try
to integrate it into the existing Calcite code. Which rule do you think it
should be integrated into: SemiJoinRule, SubQueryRemoveRule, or as a separate
rule?
> 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
> Attachments: image-2025-03-02-17-00-48-325.png,
> image-2025-03-02-17-04-54-608.png
>
>
> 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)