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