FirebirdSQL logo

RDB$FORMATS

Таблица RDB$FORMATS хранит данные об изменениях метаданных таблиц.Каждый раз, когда метаданные таблицы изменяются, таблица получает новый номер формата.Когда номер формата любой таблицы достигает 255 (или 32000 для представлений), вся база данных становится недоступной для работы с ней.В этом случае необходимо выполнить резервное копирование с помощью утилиты gbak, после чего восстановить эту копию и продолжить работу с заново созданной базой данных.

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

RDB$RELATION_ID

SMALLINT

Идентификатор таблицы или представления.

RDB$FORMAT

SMALLINT

Идентификатор формата таблицы. Форматов может быть 255 для таблици 32000 для представлений.

RDB$DESCRIPTOR

BLOB FORMAT

Отображение в виде BLOB столбцов и характеристик данных намомент, когда была создана запись формата.

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

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