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

Jing Ge updated FLINK-6810:
---------------------------
    Fix Version/s: 1.19.0
                       (was: 1.18.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.19.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)

Reply via email to