D.17 RDB$FUNCTION_ARGUMENTS

RDB$FUNCTION_ARGUMENTS stores the parameters of functions and their attributes.

Column NameData TypeDescription

RDB$FUNCTION_NAME

CHAR(63)

The unique name (declared identifier) of the function

RDB$ARGUMENT_POSITION

SMALLINT

The position of the argument in the list of arguments

RDB$MECHANISM

SMALLINT

Flag: how this argument is passed:

0 - by value 1 - by reference 2 - by descriptor 3 - by BLOB descriptor

Only for legacy external functions.

RDB$FIELD_TYPE

SMALLINT

Data type code defined for the column:

7 - SMALLINT 8 - INTEGER 10 - FLOAT 12 - DATE 13 - TIME 14 - CHAR 16 - BIGINT 23 - BOOLEAN 24 - DECFLOAT(16) 25 - DECFLOAT(34) 26 - INT128 27 - DOUBLE PRECISION 28 - TIME WITH TIME ZONE 29 - TIMESTAMP WITH WITH TIME ZONE 35 - TIMESTAMP 37 - VARCHAR 40 - CSTRING (null-terminated text) 45 - BLOB_ID 261 - BLOB

Only for legacy external functions.

RDB$FIELD_SCALE

SMALLINT

The scale of an integer or a fixed-point argument. It is an exponent of 10.

Only for legacy external functions.

RDB$FIELD_LENGTH

SMALLINT

Argument length in bytes:

BOOLEAN = 1 SMALLINT = 2 INTEGER = 4 DATE = 4 TIME = 4 BIGINT = 8 DECFLOAT(16) = 8 DOUBLE PRECISION = 8 TIMESTAMP = 8 TIME WITH TIME ZONE = 8 BLOB_ID = 8 TIMESTAMP WITH TIME ZONE = 12 INT128 = 16 DECFLOAT(34) = 16

Only for legacy external functions.

RDB$FIELD_SUB_TYPE

SMALLINT

Stores the BLOB subtype for an argument of a BLOB data type.

Only for legacy external functions.

RDB$CHARACTER_SET_ID

SMALLINT

The identifier of the character set for a character argument.

Only for legacy external functions.

RDB$FIELD_PRECISION

SMALLINT

The number of digits of precision available for the data type of the argument.

Only for legacy external functions.

RDB$CHARACTER_LENGTH

SMALLINT

The length of a CHAR or VARCHAR argument in characters (not in bytes).

Only for legacy external functions.

RDB$PACKAGE_NAME

CHAR(63)

Package name of the function (or NULL for a top-level function)

RDB$ARGUMENT_NAME

CHAR(63)

Parameter name

RDB$FIELD_SOURCE

CHAR(63)

The name of the user-created domain, when a domain is referenced instead of a data type. If the name starts with the prefix RDB$, it is the name of the domain automatically generated by the system for the parameter.

RDB$DEFAULT_VALUE

BLOB BLR

The default value for the parameter, in the binary language representation (BLR)

RDB$DEFAULT_SOURCE

BLOB TEXT

The default value for the parameter, in PSQL code

RDB$COLLATION_ID

SMALLINT

The identifier of the collation sequence used for a character parameter

RDB$NULL_FLAG

SMALLINT

The flag indicating whether NULL is allowable

RDB$ARGUMENT_MECHANISM

SMALLINT

Parameter passing mechanism for non-legacy functions:

0 - by value 1 - by reference 2 - through a descriptor 3 - via the BLOB descriptor

RDB$FIELD_NAME

CHAR(63)

The name of the column the parameter references, if it was declared using TYPE OF COLUMN instead of a regular data type. Used in conjunction with RDB$RELATION_NAME (see next).

RDB$RELATION_NAME

CHAR(63)

The name of the table the parameter references, if it was declared using TYPE OF COLUMN instead of a regular data type

RDB$SYSTEM_FLAG

SMALLINT

Flag:

0 - user-defined 1 or higher - system-defined

RDB$DESCRIPTION

BLOB TEXT

Optional description of the function argument (comment)