[
https://issues.apache.org/jira/browse/IGNITE-16493?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Aleksey Plekhanov updated IGNITE-16493:
---------------------------------------
Description:
Currently decorrelation is performed in {{SqlToRelConverter}}, but after this
{{PlannerPhase.HEP_DECORRELATE}} planning phase is executed (which actually
rewrites subqueries into correlates, but doesn't perform decorrelation). In
some cases, other types of join can cost less than correlated nested loop join,
so we can try to decorrelate the query plan again after
{{PlannerPhase.HEP_DECORRELATE}} phase (call
{{RelDecorrelator.decorrelateQuery}}).
{{PlannerPhase.HEP_DECORRELATE}} should be also renamed to something like
"HEP_REWRITE_SUBQUERY".
was:
Currently decorrelation is performed in {{SqlToRelConverter}}, but after this
{{PlannerPhase.HEP_DECORRELATE}} planning phase is executed (which actually
rewrites subqueries into correlates, but doesn't perform decorrelation). In
some cases, other types of join can cost less than correlated nested loop join,
so we can try to decorrelate this query again after
{{PlannerPhase.HEP_DECORRELATE}} phase (call
{{RelDecorrelator.decorrelateQuery}}).
{{PlannerPhase.HEP_DECORRELATE}} should be also renamed to something like
"HEP_REWRITE_SUBQUERY".
> Calcite engine. Decorrelation after subquery rewrite
> ----------------------------------------------------
>
> Key: IGNITE-16493
> URL: https://issues.apache.org/jira/browse/IGNITE-16493
> Project: Ignite
> Issue Type: Improvement
> Reporter: Aleksey Plekhanov
> Priority: Major
> Labels: calcite, calcite2-required, calcite3-required
>
> Currently decorrelation is performed in {{SqlToRelConverter}}, but after this
> {{PlannerPhase.HEP_DECORRELATE}} planning phase is executed (which actually
> rewrites subqueries into correlates, but doesn't perform decorrelation). In
> some cases, other types of join can cost less than correlated nested loop
> join, so we can try to decorrelate the query plan again after
> {{PlannerPhase.HEP_DECORRELATE}} phase (call
> {{RelDecorrelator.decorrelateQuery}}).
> {{PlannerPhase.HEP_DECORRELATE}} should be also renamed to something like
> "HEP_REWRITE_SUBQUERY".
--
This message was sent by Atlassian Jira
(v8.20.1#820001)