D.16 RDB$FUNCTIONS

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

Column NameData TypeDescription

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