[ https://issues.apache.org/jira/browse/FLINK-7151?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16944492#comment-16944492 ]
Timo Walther commented on FLINK-7151: ------------------------------------- Hi everyone, sorry for entering the discussion so late. Actually, I would have voted for creating a little FLIP for this issue because it introduces new SQL syntax and public API. We should ensure that this issue is also compatible with FLIP-32, FLIP-69, and FLIP-57. I agree that the syntax changes are minimal and straight forward, which is why I support the syntax in general. For the next time please consider adding a FLIP with a proper voting process. We need to take temporary functions and type extraction into account. I haven't looked at the PR, but I could image that the implementation could case some issues as we are currently handling type extraction in Scala and Java API differently. This is also the reason why the new unified TableEnvironment (as mentioned in FLIP-32) has no generic {{registerFunction(...)}} yet. FLIP-65 (not published yet) should solve this issue. Maybe we can disable the {{CREATE FUNCTION}} syntax for Scala table environments as a temporary solution? > Add a basic function SQL DDL > ---------------------------- > > Key: FLINK-7151 > URL: https://issues.apache.org/jira/browse/FLINK-7151 > Project: Flink > Issue Type: Sub-task > Components: Table SQL / API > Reporter: yuemeng > Assignee: Zhenqiu Huang > Priority: Critical > Labels: pull-request-available > Fix For: 1.10.0 > > Time Spent: 10m > Remaining Estimate: 0h > > Based on create function and table.we can register a udf,udaf,udtf use sql: > {code} > CREATE FUNCTION [IF NOT EXISTS] [catalog_name.db_name.]function_name AS > class_name; > DROP FUNCTION [IF EXISTS] [catalog_name.db_name.]function_name; > ALTER FUNCTION [IF EXISTS] [catalog_name.db_name.]function_name RENAME TO > new_name; > {code} > {code} > CREATE function 'TOPK' AS > 'com.xxxx.aggregate.udaf.distinctUdaf.topk.ITopKUDAF'; > INSERT INTO db_sink SELECT id, TOPK(price, 5, 'DESC') FROM kafka_source GROUP > BY id; > {code} > This ticket can assume that the function class is already loaded in classpath > by users. Advanced syntax like to how to dynamically load udf libraries from > external locations can be on a separate ticket. -- This message was sent by Atlassian Jira (v8.3.4#803005)