Details
Description
Currently subqueries are mostly not analyzed in any way. This makes our distributed execution plan more complex to analyze and execute. Moreover, we cannot extract partition information from such queries efficiently. We need to apply the simplest "JOIN conversion" optimization on early query analysis phase and try to transform our AST from subquery to join.
This should be done before partition extraction, pushdowns and splitter. See [1] for more information.
Postgres implementation of subquery rewrites could be found here [2].
[1] https://cwiki.apache.org/confluence/display/IGNITE/IEP-24%3A+SQL+Partition+Pruning
[2] https://github.com/postgres/postgres/blob/master/src/backend/optimizer/prep/prepjointree.c
Attachments
Issue Links
- fixes
-
IGNITE-12901 SQL: Uncorrelated subquery should run only once.
- Resolved
- links to