mihaibudiu opened a new pull request, #5031: URL: https://github.com/apache/calcite/pull/5031
## Jira Link [CALCITE-7608](https://issues.apache.org/jira/browse/CALCITE-7608) ## Changes Proposed This PR introduces a new operator `SelectMany`, which generalizes `Uncollect`. The operator combines `Correlate` + `Unnest` and has two forms: inner join and left join. The PR is divided into four commits which should probably be left separate: - stronger validation for `UNNEST`, which only accepts `INNER` and `LEFT JOIN`s - introduce a `SelectMany` and it's Logical variant and add support to the RelBuilder - introduce a CoreRule which rewrites `Correlate` + `Unnest` into `SelectMany`. The rule is *not* enabled by default for backwards compatibility. This rule should probably be executed before the decorrelator. In the future this rewrite could be moved into SqlToRelConverter as well. - introduce a runtime implementation for `SelectMany` and the associated Java code generation This operator is a strict superset of `Uncollect`. (I believe that the existing `Uncollect` does not even support LEFT JOINs). In the long term `Uncollect` should ideally be deprecated in favor of this operator. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
