The following SQL data types can be passed to an external library:
SQL data type |
C type |
---|---|
CHAR |
Character data, with a specified length |
VARCHAR |
Character data, with a specified length |
BINARY |
Binary data, with a specified length |
TINYINT |
1-byte integer |
BIGINT |
Signed 8-byte integer |
INT |
Unsigned 4-byte integer |
SMALLINT |
Unsigned 2-byte integer |
UNSIGNED BIGINT |
Unsigned 8-byte integer |
VARBINARY |
Binary data, with a specified length |
REAL |
Single precision floating point number |
DOUBLE |
Double precision floating point number |
You cannot use date or time data types, and you cannot use exact numeric data types.
To provide values for INOUT or OUT parameters, use the set_value API function. To read IN and INOUT parameters, use the get_value API function.
You can pass NULL as a valid value for all arguments. Functions in external libraries can supply NULL as a return type for any data type.
The following table lists the supported return types, and how they map to the return type of the SQL function or procedure.
C data type |
SQL data type |
---|---|
void |
Used for external procedures. |
char * |
function returning CHAR(). |
long |
function returning INTEGER |
float |
function returning FLOAT |
double |
function returning DOUBLE. |
If a function in the external library returns NULL, and the SQL external function was declared to return CHAR(), then the return value of the SQL extended function is NULL.