[ https://issues.apache.org/jira/browse/FLINK-6810?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Weijie Guo updated FLINK-6810: ------------------------------ Affects Version/s: 2.1.0 > Add a set of built-in functions to Table API & SQL > -------------------------------------------------- > > Key: FLINK-6810 > URL: https://issues.apache.org/jira/browse/FLINK-6810 > Project: Flink > Issue Type: New Feature > Components: Table SQL / API > Affects Versions: 1.4.0, 2.1.0 > Reporter: sunjincheng > Assignee: sunjincheng > Priority: Major > Fix For: 2.0.0 > > Attachments: how to add a scalar function.png > > > Umbrella issue for adding functions such as mathematical-function {{LOG}}, > date-functions {{DATEADD}}, string-functions {{LPAD}}, etc. > *How to contribute a built-in function* > Thank you very much for contributing a built-in function. In order to make > sure your contributions are in a good direction, it is recommended to read > the following instructions. > # Investigate the behavior of the function that you are going to contribute > in major DBMSs. This is very important since we have to understand the exact > semantics and type inference of the function. > # It is recommended to add function for both SQL and Table API (Java, Scala, > Python). > # For every function, add corresponding docs which should include a SQL, a > Java/Scala/Python version in > {{./docs/dev/table/functions/systemFunctions.md}}. Make sure your description > of the function is accurate. Please do not simply copy documentation from > other projects, especially if the projects are not Apache licensed. > # Take overflow, handling of NULL, other data types and exceptions into > consideration. > There are different generations of function stacks in the Flink code base. > The newest generation has been added in FLINK-20522 and is the recommended > way of implementing a function similar to a regular user-defined function. > Adding a built-in function requires changes in only 2 classes: > {{BuiltInFunctionDefinitions}} for the definition and the class that contains > the actual runtime logic. > Tests should be added in {{org.apache.flink.table.planner.functions}}. > See the reference implementation of the IFNULL function here: > [https://github.com/apache/flink/commit/df46f8948279d1ed89d7113919b4c4f720cf4199] -- This message was sent by Atlassian Jira (v8.20.10#820010)