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

ASF GitHub Bot commented on FLINK-3097:
---------------------------------------

Github user twalthr commented on the issue:

    https://github.com/apache/flink/pull/2265
  
    I was also thinking a lot about the names, because we have currently many 
`Function`s in Flink. I chose `UserDefinedFunction` as the top-level function 
for all user-defined functions such as `ScalarFunction`, `TableFunction`, 
`AggregateFunction`, or what ever will come in future.
    
    If you have a look into the tests you will see that the Java API supports 
both: postfix and infix notation. So you can also call functions 
`hashCode(text)` if you like.


> Add support for custom functions in Table API
> ---------------------------------------------
>
>                 Key: FLINK-3097
>                 URL: https://issues.apache.org/jira/browse/FLINK-3097
>             Project: Flink
>          Issue Type: New Feature
>          Components: Table API & SQL
>            Reporter: Timo Walther
>            Assignee: Timo Walther
>
> Currently, the Table API has a very limited set of built-in functions. 
> Support for custom functions can solve this problem. Adding of a custom row 
> function could look like:
> {code}
> TableEnvironment tableEnv = new TableEnvironment();
> RowFunction<String> rf = new RowFunction<String>() {
>     @Override
>     public String call(Object[] args) {
>         return ((String) args[0]).trim();
>     }
> };
> tableEnv.getConfig().registerRowFunction("TRIM", rf,
>     BasicTypeInfo.STRING_TYPE_INFO);
> DataSource<Tuple1<String>> input = env.fromElements(
>     new Tuple1<>(" 1 "));
> Table table = tableEnv.fromDataSet(input);
> Table result = table.select("TRIM(f0)");
> {code}
> This feature is also necessary as part of FLINK-2099.



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

Reply via email to