You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Jingsong Lee (Jira)" <ji...@apache.org> on 2020/01/15 07:10:00 UTC

[jira] [Comment Edited] (FLINK-15595) Resolution Order is chaotic not as FLIP-68 defined

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

Jingsong Lee edited comment on FLINK-15595 at 1/15/20 7:09 AM:
---------------------------------------------------------------

Hi [~phoenixjiangnan], yes, I got your mean. I think current implementation is not same as FLIP-68 concept,  the behavior is not what we want.


was (Author: lzljs3620320):
Hi [~phoenixjiangnan], yes, what I mean is that it is implementation bug, now implementation is not match FLIP-68 definition. The CoreModule works in a wrong way and CoreModule is not the real built-in functions.

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