FirebirdSQL logo

RDB$EXCEPTIONS

Пользовательские исключения базы данных.

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

RDB$EXCEPTION_NAME

CHAR(63)

Имя пользовательского исключения.

RDB$EXCEPTION_NUMBER

INTEGER

Назначенный системой уникальный номер исключения.

RDB$MESSAGE

CHAR(1023)

Текст сообщения в исключении.

RDB$DESCRIPTION

BLOB TEXT

Произвольное текстовое описание исключения.

RDB$SYSTEM_FLAG

SMALLINT

Признак: определено пользователем = 0; определено системой = 1или выше.

RDB$SECURITY_CLASS

CHAR(63)

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

RDB$OWNER_NAME

CHAR(63)

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

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

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

docnext count = 38

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)

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

RDB$FILES

Сведения о вторичных файлах и файлах оперативных копий.

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

RDB$FILE_NAME

VARCHAR(255)

Полный путь к файлу и имя вторичного файла базы данных вмногофайловой базе данных или файла оперативной копии.

RDB$FILE_SEQUENCE

SMALLINT

Порядковый номер вторичного файла в последовательности или номерфайла копии в наборе оперативных копий.

RDB$FILE_START

INTEGER

Начальный номер страницы вторичного файла или файла оперативной копии.

RDB$FILE_LENGTH

INTEGER

Длина файла в страницах базы данных.

RDB$FILE_FLAGS

SMALLINT

Для внутреннего использования.

RDB$SHADOW_NUMBER

SMALLINT

Номер набора оперативных копий. Если строка описывает вторичный файл базы данных, то значением поля будет NULL или 0.

RDB$FILTERS

Содержит данные о BLOB-фильтрах.

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

RDB$FUNCTION_NAME

CHAR(63)

Уникальное имя фильтра BLOB.

RDB$DESCRIPTION

BLOB TEXT

Написанная пользователем документация о фильтре BLOB и используемых двух подтипах.

RDB$MODULE_NAME

VARCHAR(255)

Имя динамической библиотеки / совместно используемого объекта, где расположен код фильтра BLOB.

RDB$ENTRYPOINT

CHAR(255)

Точка входа в библиотеке фильтров для этого фильтра BLOB.

RDB$INPUT_SUB_TYPE

SMALLINT

Подтип BLOB для преобразуемых данных.

RDB$OUTPUT_SUB_TYPE

SMALLINT

Подтип BLOB, в который преобразуются входные данные.

RDB$SYSTEM_FLAG

SMALLINT

Признак: внешне определённый фильтр (т.е. определённыйпользователем = значение 0, внутренне определённый = значение 1 или более)

RDB$SECURITY_CLASS

CHAR(63)

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

RDB$OWNER_NAME

CHAR(63)

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

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

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

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 — привилегии выполнения наследуется от пакета.

RDB$GENERATORS

Сведения о генераторах (последовательностях).

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

RDB$GENERATOR_NAME

CHAR(63)

Уникальное имя генератора.

RDB$GENERATOR_ID

SMALLINT

Назначаемый системой уникальный идентификатор длягенератора.

RDB$SYSTEM_FLAG

SMALLINT

Признак:

0 — генератор определён пользователем,
1 или выше — определён системой.
6 — внутренний генератор для identity столбца.

RDB$DESCRIPTION

BLOB TEXT

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

RDB$SECURITY_CLASS

CHAR(63)

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

RDB$OWNER_NAME

CHAR(63)

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

RDB$INITIAL_VALUE

BIGINT

Хранит начальное значение генератора или значение генератора,установленное при предыдущем рестарте (WITH RESTART).

RDB$GENERATOR_INCREMENT

INTEGER

Шаг приращения генератора при использовании оператора NEXT VALUE FOR.

RDB$INDEX_SEGMENTS

Сегменты и позиции индексов.Таблица описывает все столбцы таблицы, входящие в состав конкретного индекса.Для каждого столбца индекса создаётся отдельная строка в данной таблице.

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

RDB$INDEX_NAME

CHAR(63)

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

RDB$FIELD_NAME

CHAR(63)

Имя одного из столбцов, входящего в состав индекса. Должносоответствовать значению в столбце RDB$FIELD_NAME в таблицеRDB$RELATION_FIELDS.

RDB$FIELD_POSITION

SMALLINT

Позиция столбца в индексе. Нумерация начинается с нуля.

RDB$STATISTICS

DOUBLE PRECISION

Последнее известное (рассчитанное) значение селективности индексапо данному столбцу.

RDB$BACKUP_HISTORY

Таблица хранит историю копирования базы данных при помощи утилиты nbackup.

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

RDB$BACKUP_ID

INTEGER

Присваиваемый ядром идентификатор.

RDB$TIMESTAMP

DATE

Дата и время выполнения копирования.

RDB$BACKUP_LEVEL

INTEGER

Уровень копирования.

RDB$GUID

CHAR(38)

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

RDB$SCN

INTEGER

Системный номер.

RDB$FILE_NAME

VARCHAR(255)

Полный путь и имя файла копии.

RDB$INDICES

Определение индексов базы данных (созданных пользователем или системой). Описывает каждый индекс, созданный пользователем или системой.Для каждого столбца таблицы, входящего в состав индекса, присутствует строка системной таблицы RDB$INDEX_SEGMENTS, где описываются характеристики столбца индекса.

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

RDB$INDEX_NAME

CHAR(63)

Уникальное имя индекса, заданное пользователем или автоматическисгенерированное системой.

RDB$RELATION_NAME

CHAR(63)

Имя таблицы, к которой применяется индекс. СоответствуетRDB$RELATION_NAME в строке таблицы RDB$RELATIONS.

RDB$INDEX_ID

SMALLINT

Внутренний (системный) идентификатор индекса.

RDB$UNIQUE_FLAG

SMALLINT

Указывает, является ли индекс уникальным:

0 — не уникальный;
1 — уникальный.

RDB$DESCRIPTION

BLOB TEXT

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

RDB$SEGMENT_COUNT

SMALLINT

Количество сегментов (столбцов) в индексе.

RDB$INDEX_INACTIVE

SMALLINT

Указывает, является ли в настоящий момент индекс активным:

0 — активный;
1 — неактивный;
3 — состояние только для Foreign Key. Это состояние существует только во время восстановления данных.Оно необходимо чтобы различать частично “неактивное” состояние некоторых индексов от неактивного состояния всех индексов (gbak -i).

RDB$INDEX_TYPE

SMALLINT

Направление индекса:

0 — ascending;
1 — descending.

RDB$FOREIGN_KEY

CHAR(63)

Имя ассоциированного ограничения внешнего ключа, еслисуществует.

RDB$SYSTEM_FLAG

SMALLINT

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

RDB$EXPRESSION_BLR

BLOB BLR

Выражение, записанное на языке двоичного представления (BLR).Используется для вычисления значений ключей для индексов по выражению.

RDB$EXPRESSION_SOURCE

BLOB TEXT

Исходный текст выражения для вычисляемых индексов.

RDB$STATISTICS

DOUBLE PRECISION

Хранит самую последнюю селективность индекса, вычисленную припомощи оператора SET STATISTICS.

RDB$CONDITION_BLR

BLOB BLR

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

RDB$CONDITION_SOURCE

BLOB TEXT

Исходный текст выражения для ограничения набора индексируемых записей.

RDB$KEYWORDS

Ключевые и зарезервированные слова.

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

RDB$KEYWORD_NAME

CHAR(63)

Ключевое слово.

RDB$KEYWORD_RESERVED

BOOLEAN

Является ли ключевое слово зарезервированным.

RDB$LOG_FILES

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

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

RDB$FILE_NAME

VARCHAR(255)

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

RDB$FILE_SEQUENCE

SMALLINT

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

RDB$FILE_LENGTH

INTEGER

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

RDB$FILE_PARTITIONS

SMALLINT

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

RDB$FILE_P_OFFSET

INTEGER

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

RDB$FILE_FLAGS

SMALLINT

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

RDB$PACKAGES

Сведения о PSQL пакетах.

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

RDB$PACKAGE_NAME

CHAR(63)

Уникальное имя пакета.

RDB$PACKAGE_HEADER_SOURCE

BLOB TEXT

Исходный код заголовка пакета на языке SQL.

RDB$PACKAGE_BODY_SOURCE

BLOB TEXT

Исходный код тела пакета на языке SQL.

RDB$VALID_BODY_FLAG

SMALLINT

Указывает, остаётся ли текст тела пакета корректным послепоследнего изменения заголовка пакета или его пересоздания.

RDB$SECURITY_CLASS

CHAR(63)

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

RDB$OWNER_NAME

CHAR(63)

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

RDB$SYSTEM_FLAG

SMALLINT

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

RDB$DESCRIPTION

BLOB TEXT

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

RDB$SQL_SECURITY

BOOLEAN

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

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

RDB$PAGES

Сведения о страницах базы данных.

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

RDB$PAGE_NUMBER

INTEGER

Уникальный номер физически созданной страницы базыданных.

RDB$RELATION_ID

SMALLINT

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

RDB$PAGE_SEQUENCE

INTEGER

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

RDB$PAGE_TYPE

SMALLINT

Описывает тип страницы. Для системного использования.

RDB$PROCEDURE_PARAMETERS

Описывает параметры хранимых процедур.

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

RDB$PARAMETER_NAME

CHAR(63)

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

RDB$PROCEDURE_NAME

CHAR(63)

Имя процедуры, в которой используется параметр.

RDB$PARAMETER_NUMBER

SMALLINT

Последовательный номер параметра.

RDB$PARAMETER_TYPE

SMALLINT

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

RDB$FIELD_SOURCE

CHAR(63)

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

RDB$DESCRIPTION

BLOB TEXT

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

RDB$SYSTEM_FLAG

SMALLINT

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

RDB$DEFAULT_VALUE

BLOB BLR

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

RDB$DEFAULT_SOURCE

BLOB TEXT

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

RDB$COLLATION_ID

SMALLINT

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

RDB$NULL_FLAG

SMALLINT

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

RDB$PARAMETER_MECHANISM

SMALLINT

Механизм передачи параметра:

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

RDB$FIELD_NAME

CHAR(63)

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

RDB$RELATION_NAME

CHAR(63)

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

RDB$PACKAGE_NAME

CHAR(63)

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

RDB$PROCEDURES

Описывает хранимые процедуры.

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

RDB$PROCEDURE_NAME

CHAR(63)

Имя хранимой процедуры.

RDB$PROCEDURE_ID

SMALLINT

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

RDB$PROCEDURE_INPUTS

SMALLINT

Указывает количество входных параметров или их отсутствие(значение NULL).

RDB$PROCEDURE_OUTPUTS

SMALLINT

Указывает количество выходных параметров или их отсутствие(значение NULL).

RDB$DESCRIPTION

BLOB TEXT

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

RDB$PROCEDURE_SOURCE

BLOB TEXT

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

RDB$PROCEDURE_BLR

BLOB BLR

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

RDB$SECURITY_CLASS

CHAR(63)

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

RDB$OWNER_NAME

CHAR(63)

Имя пользователя — владельца (создателя) процедуры.

RDB$RUNTIME

BLOB

Описание метаданных процедуры. Внутреннее использование дляоптимизации.

RDB$SYSTEM_FLAG

SMALLINT

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

RDB$PROCEDURE_TYPE

SMALLINT

Тип процедуры:

1 — селективная хранимая процедура (содержит в своём составе оператор SUSPEND);
2 — выполняемая хранимая процедура.

RDB$VALID_BLR

SMALLINT

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

RDB$DEBUG_INFO

BLOB

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

RDB$ENGINE_NAME

CHAR(63)

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

RDB$ENTRYPOINT

CHAR(255)

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

RDB$PACKAGE_NAME

CHAR(63)

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

RDB$PRIVATE_FLAG

SMALLINT

Для неупакованных хранимых процедур всегда NULL, для упакованных

0 — если процедура описана в заголовке пакета и
1 — если процедура описана или реализована только в теле пакета (не описана взаголовке).

RDB$SQL_SECURITY

BOOLEAN

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

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

RDB$PUBLICATION_TABLES

Таблицы включенные в набор репликации (публикацию).

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

RDB$PUBLICATION_NAME

CHAR(63)

Имя публикации.

RDB$TABLE_NAME

CHAR(63)

Имя таблицы.

RDB$PUBLICATIONS

Публикации.Публикация — набор таблиц для репликации.

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

RDB$PUBLICATION_NAME

CHAR(63)

Имя публикации.

RDB$OWNER_NAME

CHAR(63)

Владелец. Имя пользователя, создавшего публикацию.

RDB$SYSTEM_FLAG

SMALLINT

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

RDB$ACTIVE_FLAG

SMALLINT

Активная ли публикация. 1 — публикация активна, 0 — публикацияотключена.

RDB$AUTO_ENABLE

SMALLINT

Признак автоматического добавления новых таблиц в публикацию.

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

Note

В Firebird 4.0 может быть только одна системная публикация — публикация по умолчанию с именем RDB$DEFAULT.В следующий версиях Firebird будет возможность создавать несколько пользовательских публикаций.

RDB$REF_CONSTRAINTS

Описания именованных ограничений базы данных (внешних ключей).

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

RDB$CONSTRAINT_NAME

CHAR(63)

Имя ограничения внешнего ключа. Задаётся пользователем илиавтоматически генерируется системой.

RDB$CONST_NAME_UQ

CHAR(63)

Имя ограничения первичного или уникального ключа, на котороессылается предложение REFERENCES в данном ограничении.

RDB$MATCH_OPTION

CHAR(7)

Не используется. Текущим значением является FULL во всехслучаях.

RDB$UPDATE_RULE

CHAR(11)

Действия по ссылочной целостности, применимые к данному внешнемуключу, когда изменяется первичный (уникальный) ключ родительскойтаблицы: RESTRICT, NO ACTION, CASCADE, SET NULL, SET DEFAULT.

RDB$DELETE_RULE

CHAR(11)

Действия по ссылочной целостности, применимые к данному внешнемуключу, когда удаляется первичный (уникальный) ключ родительскойтаблицы: RESTRICT, NO ACTION, CASCADE, SET NULL, SET DEFAULT.

RDB$CHARACTER_SETS

Содержит наборы символов, доступные в базе данных.

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

RDB$CHARACTER_SET_NAME

CHAR(63)

Имя набора символов.

RDB$FORM_OF_USE

CHAR(63)

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

RDB$NUMBER_OF_CHARACTERS

INTEGER

Количество символов в наборе. Для существующих наборов символовне используется.

RDB$DEFAULT_COLLATE_NAME

CHAR(63)

Имя порядка сортировки по умолчанию для набора символов.

RDB$CHARACTER_SET_ID

SMALLINT

Уникальный идентификатор набора символов.

RDB$SYSTEM_FLAG

SMALLINT

Системный флаг: имеет значение 1, если набор символов былопределён в системе при создании базы данных; значение 0 для наборасимволов, определённого пользователем.

RDB$DESCRIPTION

BLOB TEXT

Произвольное текстовое описание набора символов.

RDB$FUNCTION_NAME

CHAR(63)

Имя внешней функции для наборов символов, определённыхпользователем, доступ к которым осуществляется через внешнююфункцию.

RDB$BYTES_PER_CHARACTER

SMALLINT

Количество байтов для представления одного символа.

RDB$SECURITY_CLASS

CHAR(63)

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

RDB$OWNER_NAME

CHAR(63)

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

RDB$RELATION_CONSTRAINTS

Описание всех ограничений на уровне таблиц: первичного, уникального, внешнего ключей, ограничений CHECK, NOT NULL.

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

RDB$CONSTRAINT_NAME

CHAR(63)

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

RDB$CONSTRAINT_TYPE

CHAR(11)

Содержит название типа ограничения: PRIMARY KEY, UNIQUE, FOREIGN KEY, CHECK, NOT NULL.

RDB$RELATION_NAME

CHAR(63)

Имя таблицы, к которой применяется это ограничение.

RDB$DEFERRABLE

CHAR(3)

В настоящий момент во всех случаях NO.

RDB$INITIALLY_DEFERRED

CHAR(3)

В настоящий момент во всех случаях NO.

RDB$INDEX_NAME

CHAR(63)

Имя индекса, который поддерживает это ограничение (содержит NULL,если ограничением является CHECK или NOT NULL).

RDB$RELATION_FIELDS

Характеристики столбцов таблиц и представлений.

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

RDB$FIELD_NAME

CHAR(63)

Имя столбца.

RDB$RELATION_NAME

CHAR(63)

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

RDB$FIELD_SOURCE

CHAR(63)

Содержит имя домена (определённого пользователем или созданногоавтоматически системой), на котором основывается данныйстолбец.

RDB$QUERY_NAME

CHAR(63)

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

RDB$BASE_FIELD

CHAR(63)

Только для представления. Имя столбца из базовой таблицы

RDB$EDIT_STRING

VARCHAR(127)

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

RDB$FIELD_POSITION

SMALLINT

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

RDB$QUERY_HEADER

BLOB TEXT

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

RDB$UPDATE_FLAG

SMALLINT

Указывает, является ли столбец обычным столбцом (значение 1) иливычисляемым (значение 0).

RDB$FIELD_ID

SMALLINT

В настоящей версии системы в точности соответствует значению встолбце RDB$FIELD_POSITION.

RDB$VIEW_CONTEXT

SMALLINT

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

RDB$DESCRIPTION

BLOB TEXT

Примечание к столбцу таблицы или представления.

RDB$DEFAULT_VALUE

BLOB BLR

Записанное в двоичном виде (BLR) значение по умолчанию — предложение DEFAULT, если оно присутствует при описании столбцатаблицы (представления).

RDB$SYSTEM_FLAG

SMALLINT

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

RDB$SECURITY_CLASS

CHAR(63)

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

RDB$COMPLEX_NAME

CHAR(63)

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

RDB$NULL_FLAG

SMALLINT

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

RDB$DEFAULT_SOURCE

BLOB TEXT

Исходный текст предложения DEFAULT, если присутствует.

RDB$COLLATION_ID

SMALLINT

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

RDB$GENERATOR_NAME

CHAR(63)

Имя внутреннего генератора для реализации identity столбца.

RDB$IDENTITY_TYPE

SMALLINT

Для IDENTITY столбцов определённых

GENERATED BY DEFAULT хранит значение 0,
GENERATED ALWAYS хранит значение 1.

Для не IDENTITY столбцов хранит NULL.

RDB$RELATIONS

Хранит некоторые характеристики таблиц и представлений.

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

RDB$VIEW_BLR

BLOB BLR

Для представления содержит на языке BLR спецификации запроса. Длятаблицы в поле содержится NULL.

RDB$VIEW_SOURCE

BLOB TEXT

Для представления содержит оригинальный исходный текст запроса наязыке SQL (включая пользовательские комментарии). Для таблицы в полесодержится NULL.

RDB$DESCRIPTION

BLOB TEXT

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

RDB$RELATION_ID

SMALLINT

Внутренний идентификатор таблицы (представления).

RDB$SYSTEM_FLAG

SMALLINT

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

RDB$DBKEY_LENGTH

SMALLINT

Общая длина ключа. Для таблицы это 8 байтов. Для представленияэто 8, умноженное на количество таблиц, на которые ссылаетсяпредставление.

RDB$FORMAT

SMALLINT

Внутреннее использование.

RDB$FIELD_ID

SMALLINT

Количество столбцов в таблице (представлении).

RDB$RELATION_NAME

CHAR(63)

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

RDB$SECURITY_CLASS

CHAR(63)

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

RDB$EXTERNAL_FILE

VARCHAR(255)

Полный путь к внешнему файлу данных, если таблица описана спредложением EXTERNAL FILE.

RDB$RUNTIME

BLOB

Описание метаданных таблицы. Внутреннее использование дляоптимизации.

RDB$EXTERNAL_DESCRIPTION

BLOB

Произвольное примечание к внешнему файлу таблицы.

RDB$OWNER_NAME

CHAR(31)

Имя пользователя — владельца (создателя) таблицы илипредставления.

RDB$DEFAULT_CLASS

CHAR(31)

Класс безопасности по умолчанию. Применяется, когда новый столбецдобавляется в таблицу.

RDB$FLAGS

SMALLINT

Внутренние флаги.

RDB$RELATION_TYPE

SMALLINT

Тип описываемого объекта:

  • 0 – постоянная таблица созданная пользователем или системная таблица;

  • 1 – представление;

  • 2 – внешняя таблица;

  • 3 – виртуальная таблица (таблицы мониторинга MON$, псевдотаблицы безопасности SEC$);

  • 4 – GTT уровня соединения (PRESERVE ROWS);

  • 5 – GTT уровня транзакции (DELETE ROWS).

RDB$SQL_SECURITY

BOOLEAN

С какими правами вычисляются вычисляемые столбцы:

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

RDB$ROLES

Определение ролей.

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

RDB$ROLE_NAME

CHAR(63)

Имя роли.

RDB$OWNER_NAME

CHAR(63)

Имя пользователя-владельца роли.

RDB$DESCRIPTION

BLOB TEXT

Произвольный текст примечания к роли.

RDB$SYSTEM_FLAG

SMALLINT

Системный флаг.

RDB$SECURITY_CLASS

CHAR(63)

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

RDB$SYSTEM_PRIVILEGES

BINARY(8)

Битовый набор с системными привилегиями, предоставленными роли, со следующими битами:

0 - не используется
1 - USER_MANAGEMENT
2 - READ_RAW_PAGES
3 - CREATE_USER_TYPES
4 - USE_NBACKUP_UTILITY
5 - CHANGE_SHUTDOWN_MODE
6 - TRACE_ANY_ATTACHMENT
7 - MONITOR_ANY_ATTACHMENT
8 - ACCESS_SHUTDOWN_DATABASE
9 - CREATE_DATABASE
10 - DROP_DATABASE
11 - USE_GBAK_UTILITY
12 - USE_GSTAT_UTILITY
13 - USE_GFIX_UTILITY
14 - IGNORE_DB_TRIGGERS
15 - CHANGE_HEADER_SETTINGS
16 - SELECT_ANY_OBJECT_IN_DATABASE
17 - ACCESS_ANY_OBJECT_IN_DATABASE
18 - MODIFY_ANY_OBJECT_IN_DATABASE
19 - CHANGE_MAPPING_RULES
20 - USE_GRANTED_BY_CLAUSE
21 - GRANT_REVOKE_ON_ANY_OBJECT
22 - GRANT_REVOKE_ANY_DDL_RIGHT
23 - CREATE_PRIVILEGED_ROLES
24 - GET_DBCRYPT_INFO
25 - MODIFY_EXT_CONN_POOL
26 - REPLICATE_INTO_DATABASE

RDB$SECURITY_CLASSES

Списки управления доступом.

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

RDB$SECURITY_CLASS

CHAR(63)

Имя класса безопасности.

RDB$ACL

BLOB ACL

Список управления доступом, связанный с классом безопасности.Перечисляет пользователей и их полномочия.

RDB$DESCRIPTION

BLOB TEXT

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

RDB$TIME_ZONES

Виртуальная таблица со списком часовых поясов поддерживаемых сервером.

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

RDB$TIME_ZONE_ID

INTEGER

Идентификатор часового пояса.

RDB$TIME_ZONE_NAME

CHAR(63)

Наименование часового пояса

RDB$TRANSACTIONS

RDB$TRANSACTIONS хранит состояние распределённых и других транзакций, которые подготовлены для двухфазного подтверждения с явно подготовленным сообщением.

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

RDB$TRANSACTION_ID

INTEGER

Уникальный идентификатор отслеживаемой транзакции.

RDB$TRANSACTION_STATE

SMALLINT

Состояние транзакции:

0 — зависшая;
1 — подтверждённая;
2 — отменённая.

RDB$TIMESTAMP

TIMESTAMP

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

RDB$TRANSACTION_DESCRIPTION

BLOB

Описывает подготовленную транзакцию и может быть поступающеепользовательское сообщение isc_prepare_transaction2 даже если это нераспределённая транзакция. Может быть использовано в случае потерисоединения, которое не может быть восстановлено.

RDB$TRIGGER_MESSAGES

Сообщения триггеров.

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

RDB$TRIGGER_NAME

CHAR(63)

Имя триггера, с которым связано данное сообщение.

RDB$MESSAGE_NUMBER

SMALLINT

Номер сообщения в пределах одного триггера (от 1 до 32767).

RDB$MESSAGE

VARCHAR(1023)

Текст сообщения триггера.

RDB$TRIGGERS

Описания триггеров.

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

RDB$TRIGGER_NAME

CHAR(63)

Имя триггера.

RDB$RELATION_NAME

CHAR(63)

Имя таблицы или представления, для которого используется триггер.Если триггер применяется не к событию таблицы, а к событию базыданных, то в этом поле находится NULL.

RDB$TRIGGER_SEQUENCE

SMALLINT

Последовательность (позиция) триггера. Ноль обычно означает, чтопоследовательность не задана.

RDB$TRIGGER_TYPE

BIGINT

Событие, на которое вызывается триггер:

1 — BEFORE INESRT;
2 — AFTER INSERT;
3 — BEFORE UPDATE;
4 — AFTER UPDATE;
5 — BEFORE DELETE;
6 — AFTER DELETE;
17 — BEFORE INSERT OR UPDATE;
18 — AFTER INSERT OR UPDATE;
25 — BEFORE INSERT OR DELETE;
26 — AFTER INSERT OR DELETE;
27 — BEFORE UPDATE OR DELETE;
28 — AFTER UPDATE OR DELETE;
113 — BEFORE INSERT OR UPDATE OR DELETE;
114 — AFTER INSERT OR UPDATE OR DELETE;
8192 — ON CONNECT;
8193 — ON DISCONNECT;
8194 — ON TRANSACTION START;
8195 — ON TRANSACTION COMMIT;
8196 — ON TRANSACTION ROLLBACK.

Описание событий DDL триггеров смотри ниже.

RDB$TRIGGER_SOURCE

BLOB TEXT

Хранит исходный код триггера в PSQL.

RDB$TRIGGER_BLR

BLOB BLR

Хранит триггер в двоичном коде BLR.

RDB$DESCRIPTION

BLOB TEXT

Текст примечания триггера.

RDB$TRIGGER_INACTIVE

SMALLINT

Указывает, является ли триггер в настоящее время неактивным (1)или активным (0).

RDB$SYSTEM_FLAG

SMALLINT

Признак — триггер определён пользователем (0) или системой (1 или выше).

RDB$FLAGS

SMALLINT

Внутреннее использование.

RDB$VALID_BLR

SMALLINT

Указывает, остаётся ли текст триггера корректным после последнегоизменения триггера при помощи оператора ALTER TRIGGER.

RDB$DEBUG_INFO

BLOB

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

RDB$ENGINE_NAME

CHAR(63)

Имя движка для использования внешних триггеров. ОбычноUDR.

RDB$ENTRYPOINT

CHAR(255)

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

RDB$SQL_SECURITY

BOOLEAN

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

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

Для DDL триггеров тип триггера (RDB$TRIGGER_TYPE) получается путём побитового ИЛИ над фазой события (0 - BEFORE, 1 - AFTER) и всех перечисленных типов событий:

  • CREATE TABLE — 0x0000000000004002;

  • ALTER TABLE — 0x0000000000004004;

  • DROP TABLE — 0x0000000000004008;

  • CREATE PROCEDURE — 0x0000000000004010;

  • ALTER PROCEDURE — 0x0000000000004020;

  • DROP PROCEDURE — 0x0000000000004040;

  • CREATE FUNCTION — 0x0000000000004080;

  • ALTER FUNCTION — 0x0000000000004100;

  • DROP FUNCTION — 0x0000000000004200;

  • CREATE TRIGGER — 0x0000000000004400;

  • ALTER TRIGGER — 0x0000000000004800;

  • DROP TRIGGER — 0x0000000000005000;

  • CREATE EXCEPTION — 0x0000000000014000;

  • ALTER EXCEPTION — 0x0000000000024000;

  • DROP EXCEPTION — 0x0000000000044000;

  • CREATE VIEW — 0x0000000000084000;

  • ALTER VIEW — 0x0000000000104000;

  • DROP VIEW — 0x0000000000204000;

  • CREATE DOMAIN — 0x0000000000404000;

  • ALTER DOMAIN — 0x0000000000804000;

  • DROP DOMAIN — 0x0000000001004000;

  • CREATE ROLE — 0x0000000002004000;

  • ALTER ROLE — 0x0000000004004000;

  • DROP ROLE — 0x0000000008004000;

  • CREATE INDEX — 0x0000000010004000;

  • ALTER INDEX — 0x0000000020004000;

  • DROP INDEX — 0x0000000040004000;

  • CREATE SEQUENCE — 0x0000000080004000;

  • ALTER SEQUENCE — 0x0000000100004000;

  • DROP SEQUENCE — 0x0000000200004000;

  • CREATE USER — 0x0000000400004000;

  • ALTER USER — 0x0000000800004000;

  • DROP USER — 0x0000001000004000;

  • CREATE COLLATION — 0x0000002000004000;

  • DROP COLLATION — 0x0000004000004000;

  • ALTER CHARACTER SET — 0x0000008000004000;

  • CREATE PACKAGE — 0x0000010000004000;

  • ALTER PACKAGE — 0x0000020000004000;

  • DROP PACKAGE — 0x0000040000004000;

  • CREATE PACKAGE BODY — 0x0000080000004000;

  • DROP PACKAGE BODY — 0x0000100000004000;

  • CREATE MAPPING — 0x0000200000004000;

  • ALTER MAPPING — 0x0000400000004000;

  • DROP MAPPING — 0x0000800000004000;

  • ANY DDL STATEMENT — 0x7FFFFFFFFFFFDFFE.

Например, триггер

BEFORE CREATE PROCEDURE OR CREATE FUNCTION будет иметь тип 0x0000000000004090,
AFTER CREATE PROCEDURE OR CREATE FUNCTION — 0x0000000000004091,
BEFORE DROP FUNCTION OR DROP EXCEPTION — 0x00000000000044200,
AFTER DROP FUNCTION OR DROP EXCEPTION — 0x00000000000044201,
BEFORE DROP TRIGGER OR DROP DOMAIN — 0x00000000001005000,
AFTER DROP TRIGGER OR DROP DOMAIN — 0x00000000001005001.

RDB$TYPES

Описание перечислимых типов данных.

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

RDB$FIELD_NAME

CHAR(63)

Имя перечисляемого типа. Совпадает с именем столбца, для которогоопределён данный перечислимый тип.

RDB$TYPE

SMALLINT

Задаёт идентификатор для типа.Последовательность чисел является уникальной для каждого отдельного перечислимого типа:

0 — таблица;
1 — представление;
2 — триггер;
3 — вычисляемый столбец;
4 — проверка;
5 — процедура.

RDB$TYPE_NAME

CHAR(63)

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

RDB$DESCRIPTION

BLOB TEXT

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

RDB$SYSTEM_FLAG

SMALLINT

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

RDB$CHECK_CONSTRAINTS

Описывает соответствие имён триггеров именам ограничений, связанных с характеристиками NOT NULL, ограничениями CHECK и предложениями ON UPDATE, ON DELETE в ограничениях внешнего ключа.

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

RDB$CONSTRAINT_NAME

CHAR(63)

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

RDB$TRIGGER_NAME

CHAR(63)

Для ограничения CHECK — это имя триггера, который поддерживаетданное ограничение. Для ограничения NOT NULL — это имя столбца, ккоторому применяется ограничение. Для ограничения внешнего ключа –это имя триггера, который поддерживает предложения ON UPDATE, ON DELETE.

RDB$USER_PRIVILEGES

Полномочия пользователей системы.

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

RDB$USER

CHAR(63)

Пользователь, роль или объект которому предоставляется данное полномочие.Если в качестве грантополучателя используется системная привилегия, то вместо имени системной привилегии в данное поле попадает значение перечисляемого типа RDB$SYSTEM_PRIVILEGES:

1 – USER_MANAGEMENT;
2 – READ_RAW_PAGES;
3 – CREATE_USER_TYPES;
4 – USE_NBACKUP_UTILITY;
5 – CHANGE_SHUTDOWN_MODE;
6 – TRACE_ANY_ATTACHMENT;
7 – MONITOR_ANY_ATTACHMENT;
8 – ACCESS_SHUTDOWN_DATABASE;
9 – CREATE_DATABASE;
10 – DROP_DATABASE;
11 – USE_GBAK_UTILITY;
12 – USE_GSTAT_UTILITY;
13 – USE_GFIX_UTILITY;
14 – IGNORE_DB_TRIGGERS;
15 – CHANGE_HEADER_SETTINGS;
16 – SELECT_ANY_OBJECT_IN_DATABASE;
17 – ACCESS_ANY_OBJECT_IN_DATABASE;
18 – MODIFY_ANY_OBJECT_IN_DATABASE;
19 – CHANGE_MAPPING_RULES;
20 – USE_GRANTED_BY_CLAUSE;
21 – GRANT_REVOKE_ON_ANY_OBJECT;
22 – GRANT_REVOKE_ANY_DDL_RIGHT;
23 – CREATE_PRIVILEGED_ROLES.

RDB$GRANTOR

CHAR(63)

Имя пользователя, предоставляющего полномочие.

RDB$PRIVILEGE

CHAR(6)

Привилегия, предоставляемая в полномочии:

A – all (все привилегии);
S – select (выборка данных);
I – insert (добавление данных);
U – update (изменение данных);
D – delete (удаление строк);
R – reference (внешний ключ);
X – execute (выполнение);
G – usage (использование);
M – membership (членство).

RDB$GRANT_OPTION

SMALLINT

Содержит ли полномочие авторизацию WITH GRANT OPTION:

0 – не содержит;
1 – содержит.

RDB$RELATION_NAME

CHAR(63)

Имя объекта (таблица, роль, процедура) на который предоставляетсяполномочие.

RDB$FIELD_NAME

CHAR(63)

Имя столбца, к которому применяется привилегия на уровне столбца (только привилегии UPDATE и REFERENCES).

Если предоставляется членство в роли, то в данном столбце содержится NULL если роль предоставляется обычным образом, и D если роль предоставляется с использованием ключевого слова DEFAULT.

RDB$USER_TYPE

SMALLINT

Идентифицирует тип пользователя (или объекта), которому предоставляется привилегия:

1 – представление;
2 – триггер;
5 – процедура;
8 – пользователь;
13 – роль;
15 – функция;
18 – пакет;
20 – системная привилегия.

RDB$OBJECT_TYPE

SMALLINT

Идентифицирует тип объекта, на который предоставляется привилегия:

0 – таблица;
1 – представление;
2 – триггер;
5 – процедура;
7 – исключение;
8 – пользователь;
9 – домен;
11 – набор символов;
13 – роль;
14 – генератор (последовательность);
15 – функция;
16 – BLOB фильтр;
17 – сортировка;
18 – пакет.

RDB$VIEW_RELATIONS

Описывает представления.

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

RDB$VIEW_NAME

CHAR(63)

Имя представления.

RDB$RELATION_NAME

CHAR(63)

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

RDB$VIEW_CONTEXT

SMALLINT

Псевдоним (контекст), используемый для ссылки на столбецпредставления. Имеет то же значение, что и псевдоним, используемый всамом тексте представления на языке BLR в операторе запроса этогопредставления.

RDB$CONTEXT_NAME

CHAR(255)

Текстовый вариант псевдонима, указанного в столбцеRDB$VIEW_CONTEXT.

RDB$CONTEXT_TYPE

SMALLINT

Тип контекста:

0 – таблица;
1 – представление;
2 – хранимая процедура.

RDB$PACKAGE_NAME

CHAR(63)

Имя пакета для упакованной хранимой процедуры.

RDB$COLLATIONS

Порядки сортировки для наборов символов.

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

RDB$COLLATION_NAME

CHAR(63)

Имя порядка сортировки.

RDB$COLLATION_ID

SMALLINT

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

RDB$CHARACTER_SET_ID

SMALLINT

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

RDB$COLLATION_ATTRIBUTES

SMALLINT

Атрибуты сортировки. Представляет собой битовую маску,

где 1-й бит показывает учитывать ли конечные пробелы при сравнении(0 — NO PAD; 1 — PAD SPACE);
2-й бит показывает является ли сравнениечувствительным к регистру символов (0 — CASE SENSITIVE, 1 — CASE INSENSITIVE);
3-й бит показывает будет ли сравнение чувствительным к акцентам (0 — ACCENT SENSITIVE, 1 — ACCENT SENSITIVE).

Таким образом, значение 5 означает, что сравнение не является чувствительным к конечным пробелам и к акцентированным буквам.

RDB$SYSTEM_FLAG

SMALLINT

Признак: определён пользователем — значение 0; определён всистеме — значение 1.

RDB$DESCRIPTION

BLOB TEXT

Произвольное текстовое описание порядка сортировки.

RDB$FUNCTION_NAME

CHAR(63)

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

RDB$BASE_COLLATION_NAME

CHAR(63)

Имя базового порядка сортировки для данного порядка сортировки.

RDB$SPECIFIC_ATTRIBUTES

BLOB TEXT

Описание особых атрибутов.

RDB$SECURITY_CLASS

CHAR(63)

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

RDB$OWNER_NAME

CHAR(63)

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

RDB$CONFIG

Виртуальная таблица, отображающая актуальные параметры конфигурации, заданные в firebird.conf, databases.conf или через передаваемые через DPB.

Таблица RDB$CONFIG при необходимости заполняется из структур в памяти, а экземпляр хранится на уровне запроса SQL.По соображениям безопасности доступ разрешен только SYSDBA и владельцу базы данных.Непривилегированный пользователь видит пустое содержимое, ошибка не возникает.

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

RDB$CONFIG_ID

INTEGER

Уникальный идентификатор записи. Не имеет значения.

RDB$CONFIG_NAME

VARCHAR(63)

Наименование параметра, например “DefaultDbCachePages”, “TempCacheLimit” и т. д.

RDB$CONFIG_VALUE

VARCHAR(255)

Фактическое значение настройки, может задаваться в конфигурации ипри необходимости браться из ядра Firebird (в случае неверногозначения).

RDB$CONFIG_DEFAULT

VARCHAR(255)

Значение настройки по умолчанию, фиксированное в кодеFirebird.

RDB$CONFIG_IS_SET

BOOLEAN

TRUE, если значение установлено пользователем, FALSE в противномслучае.

RDB$CONFIG_SOURCE

VARCHAR(255)

Имя конфигурационного файла, в котором был задан параметр,относительно корневой папки firebird, например: “firebird.conf”, “databases.conf” илиспециальное значение “DPB”, если параметр былустановлен в DPB, если значение параметра не было задано, то этополе содержит NULL.

RDB$DATABASE

Основные данные о базе данных.Содержит только одну запись.

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

RDB$DESCRIPTION

BLOB TEXT

Текст примечания для базы данных.

RDB$RELATION_ID

SMALLINT

Количество таблиц и представлений в базе данных.

RDB$SECURITY_CLASS

CHAR(63)

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

RDB$CHARACTER_SET_NAME

CHAR(63)

Имя набора символов по умолчанию для базы данных, установленногов предложении DEFAULT CHARACTER SET при создании базы данных. NULL — набор символов NONE.

RDB$LINGER

INTEGER

Количество секунд "задержки" (установленной оператором alter database set linger)до закрытия последнего соединения базы данных (в SuperServer).Если задержка не установлена, то содержит NULL.

RDB$SQL_SECURITY

BOOLEAN

Режим SQL SECURITY по умолчанию (DEFINER или INVOKER) для вновь создаваемым объектам:

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

RDB$DB_CREATORS

Содержит сведения о пользователях имеющих права на создание базы данных.Используется только в том случае, если текущая база данных назначена как база данных безопасности.

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

RDB$USER

CHAR(63)

Имя пользователя или роли, которому даны полномочия на созданиебазы данных.

RDB$USER_TYPE

SMALLINT

Тип пользователя:

8 — пользователь;
13 — роль.

RDB$DEPENDENCIES

Сведения о зависимостях между объектами базы данных.

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

RDB$DEPENDENT_NAME

CHAR(63)

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

RDB$DEPENDED_ON_NAME

CHAR(63)

Объект, зависящий от описываемого объекта — таблица, на которуюссылается представление, процедура, триггер, ограничение CHECK иливычисляемый столбец.

RDB$FIELD_NAME

CHAR(63)

Имя столбца в зависимой таблице, на который ссылаетсяпредставление, процедура, триггер, ограничение CHECK или вычисляемыйстолбец.

RDB$DEPENDENT_TYPE

SMALLINT

Идентифицирует тип объекта, для которого описывается зависимость:

0 — таблица;
1 — представление;
2 — триггер;
3 — вычисляемый столбец;
4 — ограничение CHECK;
5 — процедура;
6 — выражение для индекса;
9 — столбец;
15 — хранимая функция;
18 — заголовок пакета;
19 — тело пакета.

RDB$DEPENDED_ON_TYPE

SMALLINT

Идентифицирует тип зависимого объекта:

0 — таблица (или её столбец);
1 — представление;
2 — триггер;
3 — вычисляемый столбец;
4 — ограничение CHECK;
5 — процедура;
6 — выражение для индекса;
7 — исключение;
8 — пользователь;
9 — столбец;
10 — индекс;
14 — генератор (последовательность);
15 — UDF или хранимая функция;
17 — сортировка;
18 — заголовок пакета;
19 — тело пакета.

RDB$PACKAGE_NAME

CHAR(63)

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