[
https://issues.apache.org/jira/browse/FLINK-15595?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17016816#comment-17016816
]
Jingsong Lee edited comment on FLINK-15595 at 1/16/20 11:30 AM:
----------------------------------------------------------------
[~dwysakowicz] Yes, user can still have a function named "GET" in a catalog,
but never can visit by simple name.
[~twalthr] It is hard to deal with {{FlinkSqlOperatorTable}} and
{{FunctionCatalog}} and {{ModuleManager}} with tmp system functions and system
functions and module functions and catalog functions. Plus table-common and
table-planner-blink.
I'm slightly more in favor minimal solution. Since 1.10 will be released soon.
Dropping the core module for now looks good to me, It's better than it only
performs half of its functions. That's weird.
[~phoenixjiangnan] What do you think?
was (Author: lzljs3620320):
[~dwysakowicz] Yes, user can still have a function named "GET" in a catalog,
but never can visit by simple name.
[~twalthr] The problem of Lookup the built in function name before lookup
{{ModuleManager}} in the {{FlinkSqlOperatorTable }}is that user can not change
the resolution order in `ModuleManager`. But It is OK to default behavior. So I
am OK.
I'm slightly more in favor minimal solution. Since 1.10 will be released soon.
Dropping the core module for now looks good to me, It's better than it only
performs half of its functions. That's weird.
[~phoenixjiangnan] What do you think?
> Entirely implement resolution order as FLIP-68 concept
> ------------------------------------------------------
>
> 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)