[
https://issues.apache.org/jira/browse/FLINK-15595?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jingsong Lee updated FLINK-15595:
---------------------------------
Description:
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.
was:
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.
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.
> 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)