[ https://issues.apache.org/jira/browse/CALCITE-1450?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15583861#comment-15583861 ]
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 (v6.3.4#6332)