[ 
https://issues.apache.org/jira/browse/FLINK-13741?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Bowen Li updated FLINK-13741:
-----------------------------
    Description: 
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.

cc [~xuefuz] [~lirui] [~twalthr]

  was:
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 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.


> "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.
> cc [~xuefuz] [~lirui] [~twalthr]



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

Reply via email to