FirebirdSQL logo

RDB$FIELD_DIMENSIONS

Размерности столбцов, являющихся массивами.

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

RDB$FIELD_NAME

CHAR(63)

Имя столбца, являющегося массивом. Должно содержаться в полеRDB$FIELD_NAME таблицы RDB$FIELDS.

RDB$DIMENSION

SMALLINT

Определяет одну размерность столбца массива. Нумерацияразмерностей начинается с 0.

RDB$LOWER_BOUND

INTEGER

Нижняя граница этой размерности.

RDB$UPPER_BOUND

INTEGER

Верхняя граница описываемой размерности.

RDB$FIELDS

Характеристики столбцов и доменов, как системных, так и созданных пользователем.В этой таблице хранятся подробности атрибутов всех столбцов.

Note

Столбец RDB$FIELDS.RDB$FIELD_NAME ссылается на RDB$RELATION_FIELDS.RDB$FIELD_SOURCE, но не на RDB$RELATION_FIELDS.RDB$FIELD_NAME.

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

RDB$FIELD_NAME

CHAR(63)

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

RDB$QUERY_NAME

CHAR(63)

Не используется.

RDB$VALIDATION_BLR

BLOB BLR

Двоичное представление (BLR) выражения SQL, задающее проверкузначения CHECK у домена.

RDB$VALIDATION_SOURCE

BLOB TEXT

Оригинальный исходный текст на языке SQL, задающий проверкузначения CHECK.

RDB$COMPUTED_BLR

BLOB BLR

Двоичное представление (BLR) выражения SQL, которое используетсясервером базы данных для вычисления при обращении к столбцу COMPUTED BY.

RDB$COMPUTED_SOURCE

BLOB TEXT

Оригинальный исходный текст выражения, которое определяет столбец COMPUTED BY.

RDB$DEFAULT_VALUE

BLOB BLR

Значение по умолчанию в двоичном виде BLR.

RDB$DEFAULT_SOURCE

BLOB TEXT

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

RDB$FIELD_LENGTH

SMALLINT

Размер столбца в байтах. FLOAT, DATE, TIME, INTEGER занимают 4байта. DOUBLE PRECISION, BIGINT, TIMESTAMP и идентификатор BLOB — 8байтов. Для типов данных CHAR и VARCHAR столбец задаёт максимальноеколичество байтов, указанное при объявлении строкового домена(столбца).

RDB$FIELD_SCALE

SMALLINT

Отрицательное число задаёт масштаб для столбцов DECIMAL и NUMERIC — количестводробных знаков после десятичной точки.

RDB$FIELD_TYPE

SMALLINT

Код типа данных для столбца:

7 – SMALLINT;
8 – INTEGER;
10 – FLOAT;
12 – DATE;
13 – TIME WITHOUT TIME ZONE;
14 – CHAR или BINARY;
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 или VARBINARY;
261 – BLOB.

Коды для DECIMAL и NUMERIC имеют тот же размер, что и целые типы, используемые для их хранения.

Для типов BINARY, VARBINARY поле RDB$FIELD_SUB_TYPE = 0, для CHAR и VARCHAR поле RDB$FIELD_SUB_TYPE = 1.

RDB$FIELD_SUB_TYPE

SMALLINT

Для типа данных BLOB задаёт подтип:

  • 0 – не определён;

  • 1 – текст;

  • 2 – BLR;

  • 3 – список управления доступом;

  • 4 – резервируется для дальнейшего использования;

  • 5 – кодированное описание метаданных таблицы;

  • 6 – описание транзакции к нескольким базам данных, которая не завершилась нормально.

Для типа данных CHAR задаёт:

  • 0 – неопределённые данные;

  • 1 – фиксированные двоичные данные.

Для целочисленных типов данных (SMALLINT, INTEGER, BIGINT, INT128) ичисел с фиксированной точкой (NUMERIC, DECIMAL) задаёт конкретный тип данных:

  • 0 или NULL – тип данных соответствует значению в поле RDB$FIELD_TYPE;

  • 1 – NUMERIC;

  • 2 – DECIMAL.

RDB$MISSING_VALUE

BLOB BLR

Не используется.

RDB$MISSING_SOURCE

BLOB TEXT

Не используется.

RDB$DESCRIPTION

BLOB TEXT

Произвольный текст комментария для домена (столбца таблицы).

RDB$SYSTEM_FLAG

SMALLINT

Признак: значение 1 – домен, автоматически созданный системой,значение 0 – домен определён пользователем.

RDB$QUERY_HEADER

BLOB TEXT

Не используется.

RDB$SEGMENT_LENGTH

SMALLINT

Для столбцов BLOB задаёт длину буфера BLOB в байтах. Дляостальных типов данных содержит NULL.

RDB$EDIT_STRING

VARCHAR(127)

Не используется.

RDB$EXTERNAL_LENGTH

SMALLINT

Длина столбца в байтах, если он входит в состав внешней таблицы.Всегда NULL для обычных таблиц.

RDB$EXTERNAL_SCALE

SMALLINT

Показатель степени для столбца целого типа данных во внешнейтаблице; задаётся степенью 10, на которую умножается целое.

RDB$EXTERNAL_TYPE

SMALLINT

Тип данных поля, как он представляется во внешней таблице.

7 – SMALLINT;
8 – INTEGER;
10 – FLOAT;
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.

Коды для DECIMAL и NUMERIC имеют тот же размер, что и целые типы, используемые для их хранения.

RDB$DIMENSIONS

SMALLINT

Задаёт количество размерностей массива, если столбец былопределён как массив. Для столбцов, не являющихся массивами, всегда NULL.

RDB$NULL_FLAG

SMALLINT

Указывает, может ли столбец принимать пустое значение (в поле будет значение NULL)или не может (в поле будет содержаться значение 1).

RDB$CHARACTER_LENGTH

SMALLINT

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

RDB$COLLATION_ID

SMALLINT

Идентификатор порядка сортировки для символьного столбца илидомена. Если не задан, значением поля будет 0.

RDB$CHARACTER_SET_ID

SMALLINT

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

RDB$FIELD_PRECISION

SMALLINT

Указывает общее количество цифр для числового типа данных сфиксированной точкой (DECIMAL и NUMERIC). Для целочисленных типовданных значением является 0, для всех остальных типов данных – NULL.

RDB$SECURITY_CLASS

CHAR(63)

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

RDB$OWNER_NAME

CHAR(63)

Имя пользователя – владельца (создателя) домена.