Add full support for flink functions
Closed this issue · 3 comments
This is a fairly involved task. Many functions do not work as intended in the current Flink library.
Some functions extend the Convertlet table, which would need to be replicated:
We currently only map the BuiltInFunctionDefinitions, but the FlinkSqlOperatorTable has other functions that get mapped at different phases in flink:
- https://github.com/apache/flink/blob/c2a6feee16c5a547ccfd30f00b0a31c57fb790ec/flink-table/flink-table-common/src/main/java/org/apache/flink/table/functions/BuiltInFunctionDefinitions.java
- https://github.com/apache/flink/blob/1070c6e9e0f9f00991bdeb34f0757e4f0597931e/flink-table/flink-table-planner/src/main/java/org/apache/flink/table/planner/functions/sql/FlinkSqlOperatorTable.java
All flink functions should be available by default (if the streaming engine is flink) rather than requiring an import.
What does it mean that many functions 'do not work as intended'? Do they produce runtime errors or they cannot be resolved by the compiler?
What exactly is involved in this task? Thank you!
What does it mean that many functions 'do not work as intended'? Do they produce runtime errors or they cannot be resolved by the compiler?
What exactly is involved in this task? Thank you!
The two points in the ticket describe the functions that have problematic support: those that extend the convertlet table and those that are custom created in the FlinkSqlOperatorTable but not in the BuiltInFunctionDefinitions (e.g. try_cast). We working on the test coverage to verify the extent of flink function coverage to derisk this item.
Resolved in #952 by moving to the flink function catalog.