Mihai Budiu created CALCITE-7023:
------------------------------------

             Summary: Create an optimization pass which can decorrelate subplans
                 Key: CALCITE-7023
                 URL: https://issues.apache.org/jira/browse/CALCITE-7023
             Project: Calcite
          Issue Type: Improvement
          Components: core
    Affects Versions: 1.39.0
            Reporter: Mihai Budiu


Today the Calcite decorrelator attempts to decorrelate an entire query tree; if 
it fails, it returns the tree unchanged. However, sometimes a query tree can 
contain multiple subtrees rooted by Correlate nodes, some of which can be 
decorrelated using the existing decorrelator.

One can write an optimization rule which can attempt to apply the decorrelator 
to subtrees rooted at Correlate nodes which do not have any Correlate children.

This "incremental" decorrelation strategy may manage to decorrelate queries 
that otherwise would fail.

The naive approach would strip the subtree before invoking the decorrelator. 
Maybe there is a better way to do this, but using the decorrelator as a black 
box is easy. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to