You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Wang Yanlin (Jira)" <ji...@apache.org> on 2019/09/26 03:22: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=16938218#comment-16938218 ] 

Wang Yanlin commented on CALCITE-3373:
--------------------------------------

I think this is a more direct way to generate semi-join.

Just a little concern, might this have back compatibility issues if change in/exist to semi join directly?

For some cases, user may have already change in/exist to inner join, and process without the second step, ie SemiJoinRule.

So, should we have a configuration or same other way to control whether to transform in/exist to semi join?

> 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.3.4#803005)