flink-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Timo Walther (Jira)" <j...@apache.org>
Subject [jira] [Commented] (FLINK-15595) Resolution Order is chaotic not as FLIP-68 defined
Date Thu, 16 Jan 2020 09:34:00 GMT

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

Timo Walther commented on FLINK-15595:

The core problem is that FLIP-51 is still not entirely implemented and thus the operator tables
are spread across the modules. The design of FLIP-68 is correct as far as I can see it. The
core feature of ingesting Hive built-in functions works. People can declare there own modules
with SQL built-in functions as a fallback. I agree that the latter behavior is a bit confusing,
if there is a simple solution that requires minimal changes +1 but otherwise we can add a
warning that the module feature has some caveats. Regular users will not use the modules anyway.
What do you think?

> 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

View raw message