[
https://issues.apache.org/jira/browse/IGNITE-22092?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Maksim Zhuravkov updated IGNITE-22092:
--------------------------------------
Description:
Rewriting correlated subqueries provides significant performance boost by
removing redundant loops during execution and by allowing subsequent
optimisations of flattened plans during planning.
P.S.
Apache calcite provides some means to decorrelate subqueries (via
`RelDecorrelator`) but unfortunetly they are:
- produce incorrect results (see
https://issues.apache.org/jira/browse/IGNITE-16493 where decorrelating
subquery produces incorrect result because a resulting plan contains a join
with `equality` instead of is `not distinct from` predicate (thus breaking
queries for tables that contain NULLs).
- limited in scope.
was:
Rewriting correlated subqueries provides significant performance boost by
removing redundant loops during execution and by allowing subsequent
optimisations of flattened plans during planning.
P.S.
Apache calcite provides some means to decorrelate subqueries
(viaRelDecorrelator) but unfortunetly they are:
- produce incorrect results (see
https://issues.apache.org/jira/browse/IGNITE-16493 where decorrelating
subquery produces incorrect result because a resulting plan contains a join
with `equality` instead of is `not distinct from` predicate (thus breaking
queries for tables that contain NULLs).
- limited in scope.
> Sql. Implement subquery decorrelation.
> --------------------------------------
>
> Key: IGNITE-22092
> URL: https://issues.apache.org/jira/browse/IGNITE-22092
> Project: Ignite
> Issue Type: Improvement
> Components: sql
> Reporter: Maksim Zhuravkov
> Priority: Minor
> Labels: ignite-3
>
> Rewriting correlated subqueries provides significant performance boost by
> removing redundant loops during execution and by allowing subsequent
> optimisations of flattened plans during planning.
> P.S.
> Apache calcite provides some means to decorrelate subqueries (via
> `RelDecorrelator`) but unfortunetly they are:
> - produce incorrect results (see
> https://issues.apache.org/jira/browse/IGNITE-16493 where decorrelating
> subquery produces incorrect result because a resulting plan contains a join
> with `equality` instead of is `not distinct from` predicate (thus breaking
> queries for tables that contain NULLs).
> - limited in scope.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)