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)