FirebirdSQL logo

RDB$FUNCTION_ARGUMENTS

Параметры хранимых или внешних функций.

Table 1. Описание столбцов таблицы RDB$FUNCTION_ARGUMENTS
Наименование столбца Тип данных Описание

RDB$FUNCTION_NAME

CHAR(63)

Имя функции.

RDB$ARGUMENT_POSITION

SMALLINT

Позиция аргумента в списке аргументов.

RDB$MECHANISM

SMALLINT

Механизм передачи параметра для Legacy функций:

0 — по значению;
1 — по ссылке;
2 — через дескриптор;
3 — через дескриптор BLOB.

RDB$FIELD_TYPE

SMALLINT

Код типа данных аргумента:

7 — SMALLINT;
8 — INTEGER;
12 — DATE;
13 — TIME WITHOUT TIME ZONE;
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 TIME ZONE;
35 — TIMESTAMP WITHOUT TIME ZONE;
37 — VARCHAR;
40 — CSTRING;
45 — blob id;
261 — BLOB.

RDB$FIELD_SCALE

SMALLINT

Масштаб для целого числа или аргумента с фиксированной точкой.Это показатель числа 10.

RDB$FIELD_LENGTH

SMALLINT

Длина аргумента в байтах:

1 — для BOOLEAN;
2 — для SMALLINT;
4 — для INTEGER;
4 — для DATE;
4 — для TIME WITHOUT TIME ZONE;
8 — для TIME WITH TIME ZONE;
8 — для BIGINT;
8 — для DOUBLE PRECISION;
8 — для TIMESTAMP WITHOUT TIME ZONE;
8 — для DECFLOAT(16);
8 — для blob id;
12 — для TIMESTAMP WITH TIME ZONE;
16 — для DECFLOAT(34);
16 — для INT128.

RDB$FIELD_SUB_TYPE

SMALLINT

Для аргумента типа данных BLOB задаёт подтип BLOB.

RDB$CHARACTER_SET_ID

SMALLINT

Идентификатор набора символов для символьного аргумента.

RDB$FIELD_PRECISION

SMALLINT

Количество цифр точности, допустимой для типа данныхаргумента.

RDB$CHARACTER_LENGTH

SMALLINT

Длина аргумента CHAR или VARCHAR в символах (не в байтах).

RDB$PACKAGE_NAME

CHAR(63)

Имя пакета функции (если функция упакованная), в которойиспользуется параметр.

RDB$ARGUMENT_NAME

CHAR(63)

Имя параметра.

RDB$FIELD_SOURCE

CHAR(63)

Имя домена, созданного пользователем (при использовании ссылки надомен вместо типа), или домена, автоматически построенного системойдля параметра функции. Во втором случае имя будет начинаться ссимволов RDB$.

RDB$DEFAULT_VALUE

BLOB BLR

Значение по умолчанию на языке BLR.

RDB$DEFAULT_SOURCE

BLOB TEXT

Значение по умолчанию в исходном виде на языке SQL.

RDB$COLLATION_ID

SMALLINT

Идентификатор используемого порядка сортировки для символьногопараметра.

RDB$NULL_FLAG

SMALLINT

Признак допустимости пустого значения NULL.

RDB$ARGUMENT_MECHANISM

SMALLINT

Механизм передачи параметра для не Legacy функций:

0 — по значению;
1 — по ссылке;
2 — через дескриптор;
3 — через дескриптор BLOB.

RDB$FIELD_NAME

CHAR(63)

Имя столбца, на которое ссылается параметр с помощью предложенияTYPE OF COLUMN.

RDB$RELATION_NAME

CHAR(63)

Имя таблицы, на которую ссылается параметр с помощью предложенияTYPE OF COLUMN.

RDB$SYSTEM_FLAG

SMALLINT

Указывает, является ли параметр определённым системой (значение 1и выше) или пользователем (значение 0).

RDB$DESCRIPTION

BLOB TEXT

Текст произвольного примечания к параметру.

RDB$FUNCTIONS

Описание хранимых или внешних функций.

Table 1. Описание столбцов таблицы RDB$FUNCTIONS
Наименование столбца Тип данных Описание

RDB$FUNCTION_NAME

CHAR(63)

Имя функции.

RDB$FUNCTION_TYPE

SMALLINT

В настоящий момент не используется.

RDB$QUERY_NAME

CHAR(63)

В настоящий момент не используется.

RDB$DESCRIPTION

BLOB TEXT

Произвольный текст комментария к функции.

RDB$MODULE_NAME

VARCHAR(255)

Имя внешнего модуля (динамической библиотеки), где расположен кодфункции.

RDB$ENTRYPOINT

CHAR(255)

Имя точки входа в библиотеке, где находится эта функция.

RDB$RETURN_ARGUMENT

SMALLINT

Номер позиции возвращаемого аргумента в списке параметров,соответствующем входным аргументам.

RDB$SYSTEM_FLAG

SMALLINT

Признак определения функции:

0 — определённая системой,
1 — определённая пользователем.

RDB$ENGINE_NAME

CHAR(63)

Имя движка для использования внешних функций. Обычно UDR.

RDB$PACKAGE_NAME

CHAR(63)

Имя пакета, если функция является упакованной.

RDB$PRIVATE_FLAG

SMALLINT

Для неупакованных хранимых функций всегда NULL,
для упакованных 0 — если функция описана в заголовке пакета и
1 — если функция описана или реализована только в теле пакета(не описана в заголовке).

RDB$FUNCTION_SOURCE

BLOB TEXT

Исходный код функции на языке SQL.

RDB$FUNCTION_ID

SMALLINT

Уникальный идентификатор функции.

RDB$FUNCTION_BLR

BLOB BLR

Двоичное представление (BLR) кода функции.

RDB$VALID_BLR

SMALLINT

Указывает, остаётся ли текст хранимой функции корректным послепоследнего изменения функции при помощи оператора ALTER FUNCTION.

RDB$DEBUG_INFO

BLOB

Содержит отладочную информацию о переменных, используемых вхранимой функции.

RDB$SECURITY_CLASS

CHAR(63)

Может указывать на класс безопасности, определённый в системнойтаблице RDB$SECURITY_CLASSES, для применения ограничений управлениядоступом.

RDB$OWNER_NAME

CHAR(63)

Имя пользователя — владельца (создателя) функции.

RDB$LEGACY_FLAG

SMALLINT

Признак legacy стиля функции.

1 — если функция описана в legacy стиле (DECLARE EXTERNAL FUNCTION),
в противном случае 0 (CREATE FUNCTION).

RDB$DETERMINISTIC_FLAG

SMALLINT

Флаг детерминистической функции.

1 — если функция детерминистическая (DETERMINISTIC),
в противном случае — 0.

RDB$SQL_SECURITY

BOOLEAN

С какими правами выполняется функция:

TRUE — с правами определяющего пользователя (SQL SECURITY DEFINER);
FALSE — с правами вызывающего пользователя (SQL SECURITY INVOKER);
NULL — привилегии выполнения наследуется от пакета.