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

Xuefu Zhang commented on FLINK-13741:
-------------------------------------

Thanks all for the inputs. I think we are pretty much aligned:

1. SQL "SHOW FUNCTIONS" and tableEnv.listFunction() should include built-in 
functions. It would be nice to have some options for filtering, like what were 
suggested above, but missing it will not kill us right way. Most users to use 
this to see what are out there.

2. Showing the details of a function is the job of "DESCRIBE FUNCTION func". 
With "EXTENDED", more info can be shown. "SHOW FUNCTIONS" just list the 
function names. This aligns with table/column/database.

> "SHOW FUNCTIONS" should include Flink built-in functions' names
> ---------------------------------------------------------------
>
>                 Key: FLINK-13741
>                 URL: https://issues.apache.org/jira/browse/FLINK-13741
>             Project: Flink
>          Issue Type: Bug
>          Components: Table SQL / API
>    Affects Versions: 1.9.0
>            Reporter: Bowen Li
>            Assignee: Bowen Li
>            Priority: Critical
>              Labels: pull-request-available
>             Fix For: 1.10.0
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Currently "SHOW FUNCTIONS;" only returns catalog functions and 
> FunctionDefinitions registered in memory, but does not include Flink built-in 
> functions' names.
> AFAIK, it's standard for "SHOW FUNCTIONS;" to show all available functions 
> for use in queries in SQL systems like Hive, Presto, Teradata, etc, thus it 
> includes built-in functions naturally. Besides, 
> {{FunctionCatalog.lookupFunction(name)}} resolves calls to built-in 
> functions, it's not feeling right to not displaying functions but can 
> successfully resolve to them.
> It seems to me that the root cause is the call stack for "SHOW FUNCTIONS;" 
> has been a bit messy - it calls {{tEnv.listUserDefinedFunctions()}} which 
> further calls {{FunctionCatalog.getUserDefinedFunctions()}}, and I'm not sure 
> what's the intention of those two APIs. Are they dedicated to getting all 
> functions, or just user defined functions excluding built-in ones?
> In the end, I believe "SHOW FUNCTIONS;" should display built-in functions. To 
> achieve that, we either need to modify and/or rename existing APIs mentioned 
> above, or add new APIs to return all functions from FunctionCatalog.
> cc [~xuefuz] [~lirui] [~twalthr]



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

Reply via email to