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)