Register parameters and a return value
The CREATE FUNCTION and CREATE PROCEDURE statements specify
any parameters and return value for a C UDR. These statements use
SQL data types for parameters and the return value. For example, suppose
a C UDR has the following C declaration:
mi_double_precision *func1(parm1, parm2)
mi_integer parm1;
mi_double_precision *parm2;
The following CREATE
FUNCTION statement registers the func1() user-defined
function:
CREATE FUNCTION func1(INTEGER, FLOAT)
RETURNS FLOAT
Use the opaque SQL data type, POINTER, to specify a data type for an external-language routine whose parameter or return type has no equivalent SQL data type. The CREATE FUNCTION or CREATE PROCEDURE statement uses the POINTER data type when the data structure that the routine receives or returns is a private data type, not one that is available to users.