Thanks everyone for the feedback. I have updated the document accordingly. Here're the summary of changes:
- clarify the concept of temporary functions, to facilitate deciding function resolution order - provide two options to support Hive built-in functions, with the 2nd one being preferred - add detailed prototype code for FunctionCatalog#lookupFunction(name) - move the section of ”rename existing FunctionCatalog APIs in favor of temporary functions“ out of the scope of the FLIP - add another reasonable limitation for function resolution, to not consider resolving overloaded functions - those with the same name but different params. (It's still valid to have a single function with overloaded eval() methods) Please take another look. Thanks, Bowen On Tue, Aug 27, 2019 at 11:49 AM Bowen Li <bowenl...@gmail.com> wrote: > Hi folks, > > I'd like to kick off a discussion on reworking Flink's FunctionCatalog. > It's critically helpful to improve function usability in SQL. > > > https://docs.google.com/document/d/1w3HZGj9kry4RsKVCduWp82HkW6hhgi2unnvOAUS72t8/edit?usp=sharing > > In short, it: > - adds support for precise function reference with fully/partially > qualified name > - redefines function resolution order for ambiguous function reference > - adds support for Hive's rich built-in functions (support for Hive user > defined functions was already added in 1.9.0) > - clarifies the concept of temporary functions > > Would love to hear your thoughts. > > Bowen >