[ 
https://issues.apache.org/jira/browse/CALCITE-1581?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15828640#comment-15828640
 ] 

Julian Hyde commented on CALCITE-1581:
--------------------------------------

Ah, I understand. It is the same as [LINQ's SelectMany 
operator|https://dzone.com/articles/selectmany-probably-the-most-p].

I have problems with including it in the SELECT clause for the same reason that 
I have problems with how Drill and PostgreSQL include UNNEST in the SELECT 
clause -- and [others seem to share my 
concerns|https://www.postgresql.org/message-id/4dd881c0.9020...@postnewspapers.com.au])
 -- namely, it is surprising to someone who doesn't know the details of the 
function that the SELECT might return 0, 1 or more than one rows for each row 
that comes out of the WHERE or GROUP BY clause.

I wonder if it makes sense to add a {{SELECT MANY}} keyword.

> UDTF like in hive
> -----------------
>
>                 Key: CALCITE-1581
>                 URL: https://issues.apache.org/jira/browse/CALCITE-1581
>             Project: Calcite
>          Issue Type: New Feature
>            Reporter: Xiaoyong Deng
>            Assignee: Julian Hyde
>              Labels: udtf
>
> Support one row in and multi-column/multi-row out(one-to-many mapping), just 
> like udtf in hive.
> The query would like this:
> {code}
> select
>   func(c0, c1) as (f0, f1, f2)
> from table_name;
> {code}
> c0 and c1 are 'table_name' columns. f0, f1 and f2 are new generated columns.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to