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]

Reply via email to