You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Martijn Visser (Jira)" <ji...@apache.org> on 2022/07/05 09:09:00 UTC

[jira] [Updated] (FLINK-6810) Add a set of built-in functions to Table API & SQL

     [ https://issues.apache.org/jira/browse/FLINK-6810?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Martijn Visser updated FLINK-6810:
----------------------------------
    Affects Version/s:     (was: 1.16.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
>            Reporter: sunjincheng
>            Assignee: sunjincheng
>            Priority: Major
>             Fix For: 1.16.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)