Rui Li commented on FLINK-13741:

+1 to include built-in functions for {{SHOW FUNCTIONS}}. On the other hand, 
maybe it also makes sense to provide a method for users to only list 
user-defined functions?

> "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

Reply via email to