Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-15595

Entirely implement resolution order as FLIP-68 concept

Attach filesAttach ScreenshotAdd voteVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

    Details

      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.

        Attachments

        Issue Links

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              lzljs3620320 Jingsong Lee

              Dates

              • Created:
                Updated:

                Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 20m
                20m

                  Issue deployment