D.16 RDB$FUNCTIONS

RDB$FUNCTIONS stores the information needed by the engine about stored functions and external functions (user-defined functions, UDFs).

Column Name Data Type Description
RDB$FUNCTION_NAME CHAR(63) The unique (declared) name of the external function
RDB$FUNCTION_TYPE SMALLINT Not currently used
RDB$QUERY_NAME CHAR(63) Not currently used
RDB$DESCRIPTION BLOB TEXT Any text with comments related to the external function
RDB$MODULE_NAME VARCHAR(255) The name of the dynamic library or shared object where the code of the external function is located
RDB$ENTRYPOINT CHAR(255) The exported name of the external function in the function library. Note, this is often not the same as RDB$FUNCTION_NAME, which is the identifier with which the external function is declared to the database
RDB$RETURN_ARGUMENT SMALLINT The position number of the returned argument in the list of parameters corresponding to input arguments
RDB$SYSTEM_FLAG SMALLINT Flag indicating whether the filter is user-defined or internally defined: 0 - user-defined 1 - internally defined
RDB$ENGINE_NAME CHAR(63) Engine for external functions. ‘UDR’ for UDR functions. NULL for legacy UDF or PSQL functions
RDB$PACKAGE_NAME CHAR(63) Package that contains this function (or NULL)
RDB$PRIVATE_FLAG SMALLINT NULL for normal (top-level) functions, 0 for package function defined in the header, 1 for package function only defined in the package body.
RDB$FUNCTION_SOURCE BLOB TEXT The PSQL sourcecode of the function
RDB$FUNCTION_ID SMALLINT Unique identifier of the function
RDB$FUNCTION_BLR BLOB BLR The binary language representation (BLR) of the function code (PSQL function only)
RDB$VALID_BLR SMALLINT Indicates whether the source PSQL of the stored procedure remains valid after the latest ALTER FUNCTION modification
RDB$DEBUG_INFO BLOB DEBUG_INFORMATION Contains debugging information about variables used in the function (PSQL function only)
RDB$SECURITY_CLASS CHAR(63) May reference a security class defined in the table RDB$SECURITY_CLASSES, in order to apply access control limits to all users of this function
RDB$OWNER_NAME CHAR(63) The user name of the user who created the function originally
RDB$LEGACY_FLAG SMALLINT The legacy style attribute of the function. 1 - if the function is described in legacy style (DECLARE EXTERNAL FUNCTION), otherwise CREATE FUNCTION.
RDB$DETERMINISTIC_FLAG SMALLINT Deterministic flag. 1 - if function is deterministic
RDB$SQL_SECURITY BOOLEAN The SQL SECURITY mode (DEFINER or INVOKER): NULL - initial default (INVOKER) FALSE - INVOKER TRUE - DEFINER