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

Bowen Li commented on FLINK-15595:
----------------------------------

I agree built-in functions in FlinkSqlOperatorTable should be moved to 
BuiltInFunctionDefinitions. It's not practical to maintain two subsets of 
builtin functions in two different classes

> Resolution Order is chaotic not as FLIP-68 defined
> ---------------------------------------------------
>
>                 Key: FLINK-15595
>                 URL: https://issues.apache.org/jira/browse/FLINK-15595
>             Project: Flink
>          Issue Type: Bug
>          Components: Table SQL / API
>            Reporter: Jingsong Lee
>            Priority: Critical
>             Fix For: 1.10.0
>
>
> First of all, the implementation is problematic. CoreModule returns 
> BuiltinFunctionDefinition, which cannot be resolved in 
> FunctionCatalogOperatorTable, so it will fall back to FlinkSqlOperatorTable.
> Second, the function defined by CoreModule is seriously incomplete. You can 
> compare it with FunctionCatalogOperatorTable, a lot less. This leads to the 
> fact that the priority of some functions is in CoreModule, and the priority 
> of some functions is behind all modules. This is confusing, which is not what 
> we want to define in FLIP-68. 
> We should:
>  * We should resolve BuiltinFunctionDefinition correctly in 
> FunctionCatalogOperatorTable.
>  * CoreModule should contains all functions in FlinkSqlOperatorTable, a 
> simple way could provided calcite wrapper to wrap all functions.
>  * PlannerContext.getBuiltinSqlOperatorTable should not contains 
> FlinkSqlOperatorTable, we should use one 
> FunctionCatalogOperatorTable.Otherwise, there will be a lot of confusion.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to