Julian Hyde commented on CALCITE-1450:

It would be useful if {{replicate_rows}} were a relational operator (i.e. a 
subclass of {{RelNode}}), not a UDTF. Then we could write rules to push 
{{Filter}} and {{Project}} operators through it, and we wouldn't necessarily 
have to implement it in Java.

> support a UDTF replicate_rows
> -----------------------------
>                 Key: CALCITE-1450
>                 URL: https://issues.apache.org/jira/browse/CALCITE-1450
>             Project: Calcite
>          Issue Type: Sub-task
>            Reporter: Pengcheng Xiong
>            Assignee: Julian Hyde
> Add a user-defined table function that has a count column N, and a number of 
> other columns, and for each row, produces N copies of that row.
> The purpose of this table function is to implement {{INTERSECT ALL}} and 
> {{EXCEPT ALL}}. Observe that if have a table 'five' with 5 rows with the 
> value 'x', and a table 'three' with 3 rows with the value 'x', then {{five 
> INTERSECT ALL three}} will need to emit {{min(5, 3))}} rows, and {{five 
> EXCEPT ALL three}} will emit {{5 - 3}} rows.

This message was sent by Atlassian JIRA

Reply via email to