UDF usage is restricted as follows:
- If the UDF library for your database contains any objects with multibyte characters in their name, you cannot use a single-byte session character set to create a new UDF, method, or Java external procedure object even if the new object name contains only single-byte characters. Instead, use a multibyte session character set.
- You cannot perform a CREATE FUNCTION or REPLACE FUNCTION request from an embedded SQL application.
- A UDF cannot reference a recursive view.
- A row-level security policy can only be a scalar function.
- You cannot call a row-level security policy function from a DML request.
Row-level security policy UDFs can only be specified for columns in a CREATE TABLE or ALTER TABLE request.
- UDFs that are used as cast routines, ordering routines, or transform routines must be contained within the SYSUDTLIB database.
- Java UDFs cannot be called from within a Java external procedure.