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

Jark Wu commented on FLINK-22451:
---------------------------------

Yes, I think {{$("*")}} is just a syntax-sugar, e.g. 
{{table.select(call(Filter.class, $("*"), $("a")))}} is equal to  
{{table.select(call(Filter.class, $("a"), $("b"), $("c"), $("a")))}} if table 
has {{a, b, c}} columns. 

> Support (*) as parameter of table UserDefinedFunction 
> ------------------------------------------------------
>
>                 Key: FLINK-22451
>                 URL: https://issues.apache.org/jira/browse/FLINK-22451
>             Project: Flink
>          Issue Type: Improvement
>          Components: Table SQL / API
>            Reporter: Yi Tang
>            Priority: Minor
>
> For now, one can use star \(*) to act as a wild card, selecting all of the 
> columns in the table.
> {code:java}
> Table result = orders.select($("*"));
> {code}
> When one use a star \(*) as parameter of an UDF, it will fail 
> {{ReferenceResolverRule}} in on
> {code:java}
> "Cannot resolve field [*], input field list:[...]."
> {code}
> The cause is that, the parameter of an UDF is not expanded in 
> {{StarReferenceFlatteningRule}}
> I think we can support to expand the star parameter to the real fields list 
> if it is the only parameter(the last parameter is also ok) of the UDF.
> then the parameters can be received by
> {code:java}
> eval(@DataTypeHint(inputGroup = InputGroup.ANY) Object... row)
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to