Thanks Bowen for bring up this topic, I think it’s a useful refactoring to make our function usage more user friendly.
For the topic of how to organize the builtin operators and operators of Hive, here is a solution from Apache Calcite, the Calcite way is to make every dialect operators a “Library”, user can specify which libraries they want to use for a sql query. The builtin operators always comes as the first class objects and the others are used from the order they appears. Maybe you can take a reference. [1] https://github.com/apache/calcite/commit/9a4eab5240d96379431d14a1ac33bfebaf6fbb28 Best, Danny Chan 在 2019年8月28日 +0800 AM2:50,Bowen Li <bowenl...@gmail.com>,写道: > 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