31. Описание системных таблиц
При первоначальном создании базы данных система управления базами данных создает множество системных таблиц. В системных таблицах хранятся метаданные — описания всех объектов базы данных.
Список системных таблиц в алфавитном порядке представлен в таблице 31.1.
Таблица |
Содержание |
|---|---|
RDB$AUTH_MAPPING |
Сведения об отображении объектов безопасности |
RDB$BACKUP_HISTORY |
Хранит историю копирования базы данных |
RDB$CHARACTER_SETS |
Доступные в базе данных наборы символов |
RDB$CHECK_CONSTRAINTS |
Соответствие имен триггеров именам ограничений, связанных с характеристиками
|
RDB$COLLATIONS |
Порядки сортировки для всех наборов символов |
RDB$CONFIG |
Настройки конфигурации текущей базы данных для текущего подключения |
RDB$DATABASE |
Основные данные о базе данных |
RDB$DB_CREATORS |
Содержит сведения о пользователях имеющих права на создание базы данных. Используется только в том случае, если текущая база данных назначена как база данных безопасности. |
RDB$CONSTANTS |
Хранит информацию о константах. |
RDB$DEPENDENCIES |
Сведения о зависимостях между объектами базы данных |
RDB$EXCEPTIONS |
Пользовательские исключения базы данных |
RDB$FIELDS |
Характеристики столбцов и доменов, как системных, так и созданных пользователем |
RDB$FIELD_DIMENSIONS |
Размерности столбцов, являющихся массивами |
RDB$FILES |
Сведения о вторичных файлах и файлах оперативных копий |
RDB$FILTERS |
Данные о |
RDB$FORMATS |
Данные об изменениях таблиц |
RDB$FUNCTIONS |
Сведения о внешних или хранимых функциях |
RDB$FUNCTION_ARGUMENTS |
Характеристики параметров внешних или хранимых функций |
RDB$GENERATORS |
Сведения о генераторах (последовательностях) |
RDB$INDEX_SEGMENTS |
Сегменты и позиции индексов |
RDB$INDICES |
Определение индексов базы данных (созданных пользователем или системой) |
RDB$KEYWORDS |
Ключевые слова |
RDB$LOG_FILES |
В настоящей версии не используется |
RDB$PACKAGES |
Сведения о PSQL пакетах |
RDB$PAGES |
Сведения о страницах базы данных |
RDB$PROCEDURE_PARAMETERS |
Параметры хранимых процедур |
RDB$PROCEDURES |
Описания хранимых процедур |
RDB$REF_CONSTRAINTS |
Описания именованных ограничений базы данных (внешних ключей) |
RDB$RELATION_CONSTRAINTS |
Описание всех ограничений на уровне таблиц |
RDB$RELATION_FIELDS |
Характеристики столбцов таблиц |
RDB$RELATIONS |
Заголовки таблиц и представлений |
RDB$ROLES |
Определение ролей |
RDB$SECURITY_CLASSES |
Списки управления доступом |
RDB$TIME_ZONES |
Списки часовых поясов поддерживаемых сервером |
RDB$TRANSACTIONS |
Состояние транзакций при обращении к нескольким базам данных |
RDB$TRIGGER_MESSAGES |
Сообщения триггеров |
RDB$TRIGGERS |
Описания триггеров |
RDB$TYPES |
Описание перечислимых типов данных |
RDB$PUBLICATIONS |
Хранит публикации репликации, заданные в базе данных |
RDB$PUBLICATION_TABLES |
Хранит имена таблиц, которые реплицируются в рамках публикации |
RDB$USER_PRIVILEGES |
Полномочия пользователей системы |
RDB$VIEW_RELATIONS |
Описывает представления. Не используется в настоящей версии |
31.1. RDB$AUTH_MAPPING
Таблица содержит сведения об отображении объектов безопасности.
Идентификатор столбца |
Тип данных |
Описание |
|---|---|---|
RDB$MAP_NAME |
CHAR(63) |
Имя отображения. |
RDB$MAP_USING |
CHAR(1) |
Является ли аутентификация общесерверной (S) или обычной (P). |
RDB$MAP_PLUGIN |
CHAR(63) |
Имя плагина аутентификации, из которого происходит отображение. |
RDB$MAP_DB |
CHAR(63) |
Имя базы данных, в которой прошла аутентификация. Из неё происходит отображение. |
RDB$MAP_FROM_TYPE |
CHAR(63) |
Тип объекта, который будет отображён. |
RDB$MAP_FROM |
CHAR(255) |
Имя объекта, из которого будет произведено отображение. |
RDB$MAP_TO_TYPE |
SMALLINT |
Тип объекта, в который будет произведено отображение:
|
RDB$MAP_TO |
CHAR(63) |
Наименование объекта, в который будет произведено отображение (имя пользователя или роли). |
RDB$SYSTEM_FLAG |
SMALLINT |
0 — определён пользователем; 1 —определён в системе. |
RDB$DESCRIPTION |
BLOB TEXT |
Произвольное текстовое описание порядка сортировки. |
31.2. RDB$BACKUP_HISTORY
Таблица хранит историю копирования базы данных при помощи утилиты nbackup.
Идентификатор столбца |
Тип данных |
Описание |
|---|---|---|
RDB$BACKUP_ID |
INTEGER |
Присваиваемый системой идентификатор. |
RDB$TIMESTAMP |
TIMESTAMP WITH TIME ZONE |
Дата и время выполнения копирования. |
RDB$BACKUP_LEVEL |
INTEGER |
Уровень копирования. |
RDB$GUID |
CHAR(38) |
Уникальный идентификатор. |
RDB$SCN |
INTEGER |
Системный номер. |
RDB$FILE_NAME |
VARCHAR(255) |
Полный путь и имя файла копии. |
31.3. 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$OWNER_NAME |
CHAR(63) |
Имя пользователя — владельца (создателя) набора символов. |
31.4. RDB$CHECK_CONSTRAINTS
Описывает соответствие имен триггеров именам ограничений, связанных с характеристиками NOT NULL,
ограничениями CHECK и предложениями ON UPDATE, ON DELETE в ограничениях внешнего ключа.
Идентификатор столбца |
Тип данных |
Описание |
|---|---|---|
RDB$CONSTRAINT_NAME |
CHAR(63) |
Имя ограничения. Задается пользователем или автоматически генерируется системой. |
RDB$TRIGGER_NAME |
CHAR(63) |
Для ограничения |
31.5. RDB$COLLATIONS
Порядки сортировки для наборов символов.
Идентификатор столбца |
Тип данных |
Описание |
|---|---|---|
RDB$COLLATION_NAME |
CHAR(63) |
Имя порядка сортировки. |
RDB$COLLATION_ID |
SMALLINT |
Идентификатор порядка сортировки. Вместе с идентификатором набора символов является уникальным идентификатором порядка сортировки. |
RDB$CHARACTER_SET_ID |
SMALLINT |
Идентификатор набора символов. Вместе с идентификатором порядка сортировки является уникальным идентификатором. |
RDB$COLLATION_ATTRIBUTES |
SMALLINT |
Атрибуты сортировки. Представляет собой битовую маску, где 1-й бит показывает учитывать ли
конечные пробелы при сравнении ( |
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$OWNER_NAME |
CHAR(63) |
Имя пользователя — владельца (создателя) сортировки. |
31.6. RDB$CONFIG
Содержит сведения о параметры конфигурации текущей базы данных для текущего подключения. Доступна только администраторам, другие пользователи не видят строк этой таблицы.
Идентификатор столбца |
Тип данных |
Описание |
|---|---|---|
RDB$CONFIG_ID |
INTEGER |
Идентификатор строки. |
RDB$CONFIG_NAME |
VARCHAR(63) |
Название параметра конфигурации. |
RDB$CONFIG_VALUE |
VARCHAR(255) |
Значение параметра конфигурации. |
RDB$CONFIG_DEFAULT |
VARCHAR(255) |
Значение по умолчанию для параметра конфигурации. |
RDB$CONFIG_IS_SET |
BOOLEAN |
|
RDB$CONFIG_SOURCE |
VARCHAR(255) |
Имя файла конфигурации (относительно корневого каталога), из которого был взят этот параметр,
или специальное значение |
31.7. RDB$CONSTANTS
Хранит информацию о константах.
Идентификатор столбца |
Тип данных |
Описание |
|---|---|---|
RDB$CONSTANT_NAME |
CHAR(63) |
Имя константы |
RDB$PACKAGE_NAME |
CHAR(63) |
Пакет константы, для которой описывается зависимость. |
RDB$FIELD_SOURCE |
CHAR(63) |
Содержит имя домена (определенного пользователем или созданного автоматически системой), на котором основывается данный столбец. |
RDB$PRIVATE_FLAG |
SMALLINT |
Указывает, определина константа в теле пакета (значение |
RDB$CONSTANT_BLR |
BLOB BLR |
Значение константы, сохранённое в виде |
RDB$CONSTANT_SOURCE |
BLOB TEXT |
Определение коснтанты в исходном ( |
31.8. RDB$DATABASE
Основные данные о базе данных. Содержит только одну запись.
Идентификатор столбца |
Тип данных |
Описание |
|---|---|---|
RDB$DESCRIPTION |
BLOB TEXT |
Текст примечания базы данных. |
RDB$RELATION_ID |
SMALLINT |
Количество таблиц и представлений в базе данных. |
RDB$SECURITY_CLASS |
CHAR(63) |
Класс безопасности, определенный в |
RDB$CHARACTER_SET_NAME |
CHAR(63) |
Имя набора символов по умолчанию для базы данных, установленного в предложении
|
RDB$LINGER |
INTEGER |
Количество секунд "задержки" (установленной оператором |
RDB$SQL_SECURITY |
BOOLEAN |
Определяет в контексте какого пользователя будет выполняться объект базы данных
(процедура, функция, пакет, триггер, таблица) по умолчанию. Если установлен в |
31.9. RDB$DB_CREATORS
Содержит сведения о пользователях имеющих права на создание базы данных. Используется только в том случае, если текущая база данных назначена как база данных безопасности.
Идентификатор столбца |
Тип данных |
Описание |
|---|---|---|
RDB$USER |
CHAR(63) |
Имя пользователя или роли, которому даны полномочия на создание базы данных. |
RDB$USER_TYPE |
SMALLINT |
Тип пользователя:
|
31.10. RDB$DEPENDENCIES
Сведения о зависимостях между объектами базы данных.
Идентификатор столбца |
Тип данных |
Описание |
|---|---|---|
RDB$DEPENDENT_NAME |
CHAR(63) |
Имя представления, процедуры, триггера, ограничения |
RDB$DEPENDED_ON_NAME |
CHAR(63) |
Объект, зависящий от описываемого объекта — таблица, на которую ссылается представление, процедура,
триггер, ограничение |
RDB$FIELD_NAME |
CHAR(63) |
Имя столбца в зависимой таблице, на который ссылается представление, процедура, триггер,
ограничение |
RDB$DEPENDENT_TYPE |
SMALLINT |
Идентифицирует тип описываемого объекта:
|
RDB$DEPENDED_ON_TYPE |
SMALLINT |
Идентифицирует тип зависимого объекта:
|
RDB$PACKAGE_NAME |
CHAR(63) |
Пакет процедуры или функции, для которой описывается зависимость. |
31.11. RDB$EXCEPTIONS
Пользовательские исключения базы данных.
Идентификатор столбца |
Тип данных |
Описание |
|---|---|---|
RDB$EXCEPTION_NAME |
CHAR(63) |
Имя пользовательского исключения. |
RDB$EXCEPTION_NUMBER |
INTEGER |
Назначенный системой уникальный номер исключения. |
RDB$MESSAGE |
VARCHAR(1023) |
Текст сообщения в исключении. |
RDB$DESCRIPTION |
BLOB TEXT |
Произвольное текстовое описание исключения. |
RDB$SYSTEM_FLAG |
SMALLINT |
Признак: определено пользователем = 0; определено системой = 1 или выше. |
RDB$SECURITY_CLASS |
CHAR(63) |
Может ссылаться на класс безопасности, определённый в таблице |
RDB$OWNER_NAME |
CHAR(63) |
Имя пользователя — владельца (создателя) исключения. |
31.12. RDB$FIELDS
Характеристики столбцов и доменов, как системных, так и созданных пользователем.
Идентификатор столбца |
Тип данных |
Описание |
|---|---|---|
RDB$FIELD_NAME |
CHAR(63) |
Уникальное имя домена, созданного пользователем, или домена, автоматически построенного системой
для столбца таблицы. Во втором случае имя будет начинаться с символов ' |
RDB$QUERY_NAME |
CHAR(63) |
Не используется. |
RDB$VALIDATION_BLR |
BLOB BLR |
Двоичное представление (BLR) выражения SQL, задающее проверку значения |
RDB$VALIDATION_SOURCE |
BLOB TEXT |
Оригинальный исходный текст на языке SQL, задающий проверку значения |
RDB$COMPUTED_BLR |
BLOB BLR |
Двоичное представление (BLR) выражения SQL, которое используется сервером базы данных для
вычисления при обращении к столбцу |
RDB$COMPUTED_SOURCE |
BLOB TEXT |
Оригинальный исходный текст выражения, которое определяет столбец |
RDB$DEFAULT_VALUE |
BLOB BLR |
Значение по умолчанию в двоичном виде BLR. |
RDB$DEFAULT_SOURCE |
BLOB TEXT |
Значение по умолчанию в исходном виде на языке SQL. |
RDB$FIELD_LENGTH |
SMALLINT |
Размер столбца в байтах. |
RDB$FIELD_SCALE |
SMALLINT |
Отрицательное число задает масштаб для столбцов |
RDB$FIELD_TYPE |
SMALLINT |
Код типа данных для столбца:
|
RDB$FIELD_TYPE |
SMALLINT |
Коды для |
RDB$FIELD_SUB_TYPE |
SMALLINT |
Для типа данных
Для типа данных
Для целочисленных типов данных (
|
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 |
Для столбцов |
RDB$EDIT_STRING |
VARCHAR(127) |
Не используется. |
RDB$EXTERNAL_LENGTH |
SMALLINT |
Длина столбца в байтах, если он входит в состав внешней таблицы. Всегда |
RDB$EXTERNAL_SCALE |
SMALLINT |
Показатель степени для столбца целого типа данных во внешней таблице; задается степенью 10, на которую умножается целое. |
RDB$EXTERNAL_TYPE |
SMALLINT |
Тип данных поля, как он представляется во внешней таблице.
Коды для |
RDB$DIMENSIONS |
SMALLINT |
Задает количество размерностей массива, если столбец был определен как массив. Для столбцов, не являющихся
массивами, всегда |
RDB$NULL_FLAG |
SMALLINT |
Указывает, может ли столбец принимать пустое значение (в поле будет значение |
RDB$CHARACTER_LENGTH |
SMALLINT |
Длина столбцов |
RDB$COLLATION_ID |
SMALLINT |
Идентификатор порядка сортировки для символьного столбца или домена. Если не задан, значением поля будет 0. |
RDB$CHARACTER_SET_ID |
SMALLINT |
Идентификатора набора символов для символьного столбца, столбца |
RDB$FIELD_PRECISION |
SMALLINT |
Указывает общее количество цифр для числового типа данных с фиксированной точкой ( |
RDB$SECURITY_CLASS |
CHAR(63) |
Может ссылаться на класс безопасности, определённый в таблице |
RDB$OWNER_NAME |
CHAR(63) |
Имя пользователя – владельца (создателя) домена. |
31.13. RDB$FIELD_DIMENSIONS
Размерности столбцов, являющихся массивами.
Идентификатор столбца |
Тип данных |
Описание |
|---|---|---|
RDB$FIELD_NAME |
CHAR(63) |
Имя столбца, являющегося массивом. Должно содержаться в поле |
RDB$DIMENSION |
SMALLINT |
Определяет одну размерность столбца массива. Нумерация размерностей начинается с 0. |
RDB$LOWER_BOUND |
INTEGER |
Нижняя граница этой размерности. |
RDB$UPPER_BOUND |
INTEGER |
Верхняя граница описываемой размерности. |
31.14. 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 |
Номер набора оперативных копий. Если строка описывает вторичный файл базы данных, то значением поля
будет |
31.15. RDB$FILTERS
Содержит данные о BLOB-фильтрах.
Идентификатор столбца |
Тип данных |
Описание |
|---|---|---|
RDB$FUNCTION_NAME |
CHAR(63) |
Уникальное имя фильтра |
RDB$DESCRIPTION |
BLOB TEXT |
Написанная пользователем документация о фильтре |
RDB$MODULE_NAME |
VARCHAR(255) |
Имя динамической библиотеки / совместно используемого объекта, где расположен код фильтра |
RDB$ENTRYPOINT |
CHAR(255) |
Точка входа в библиотеке фильтров для этого фильтра |
RDB$INPUT_SUB_TYPE |
SMALLINT |
Подтип |
RDB$OUTPUT_SUB_TYPE |
SMALLINT |
Подтип |
RDB$SYSTEM_FLAG |
SMALLINT |
Признак: внешне определенный фильтр (т.е. определенный пользователем = значение 0, внутренне определенный = значение 1 или более) |
RDB$SECURITY_CLASS |
CHAR(63) |
Может ссылаться на класс безопасности, определённый в таблице |
RDB$OWNER_NAME |
CHAR(63) |
Имя пользователя – владельца (создателя) |
31.16. RDB$FORMATS
Данные об изменениях таблиц. Каждый раз, когда таблица изменяется, таблица получает новый номер формата. Когда номер формата любой таблицы достигает 255, вся база данных становится недоступной для работы с ней. Тогда нужно выполнить резервное копирование, восстановить эту копию и продолжить работу с заново созданной базой данных.
Идентификатор столбца |
Тип данных |
Описание |
|---|---|---|
RDB$RELATION_ID |
SMALLINT |
Идентификатор таблицы или представления. |
RDB$FORMAT |
SMALLINT |
Идентификатор формата таблицы. Форматов может быть до 255. |
RDB$DESCRIPTOR |
BLOB FORMAT |
Отображение в виде |
31.17. 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) |
Имя модуля (библиотеки DLL), где расположен код функции. |
RDB$ENTRYPOINT |
CHAR(255) |
Имя точки входа в библиотеке, где находится эта функция. |
RDB$RETURN_ARGUMENT |
SMALLINT |
Номер позиции возвращаемого аргумента в списке параметров, соответствующем входным аргументам. |
RDB$SYSTEM_FLAG |
SMALLINT |
Признак определения функции: определенная пользователем = 1, определенная системой = 0. |
RDB$ENGINE_NAME |
CHAR(63) |
Имя движка для использования внешних функций. Обычно UDR. |
RDB$PACKAGE_NAME |
CHAR(63) |
Имя пакета, если функция является упакованной. |
RDB$PRIVATE_FLAG |
SMALLINT |
Для неупакованных хранимых функций всегда |
RDB$FUNCTION_SOURCE |
BLOB TEXT |
Исходный код функции на языке SQL. |
RDB$FUNCTION_ID |
SMALLINT |
Уникальный идентификатор функции. |
RDB$FUNCTION_BLR |
BLOB BLR |
Двоичное представление (BLR) кода функции. |
RDB$VALID_BLR |
SMALLINT |
Указывает, остается ли текст хранимой функции корректным после последнего изменения функции при помощи оператора |
RDB$DEBUG_INFO |
BLOB |
Содержит отладочную информацию о переменных, используемых в хранимой функции. |
RDB$SECURITY_CLASS |
CHAR(63) |
Может ссылаться на класс безопасности, определённый в таблице |
RDB$OWNER_NAME |
CHAR(63) |
Имя пользователя – владельца (создателя) функции. |
RDB$LEGACY_FLAG |
SMALLINT |
Признак legacy стиля функции. 1 — если функция описана в legacy стиле
( |
RDB$DETERMINISTIC_FLAG |
SMALLINT |
Флаг детерминистической функции. 1 - если функция детерминистическая ( |
RDB$SQL_SECURITY |
BOOLEAN |
Определяет в контексте какого пользователя будет выполняться функция. Если установлен в |
31.18. RDB$FUNCTION_ARGUMENTS
Характеристики параметров внешних или хранимых функций.
Идентификатор столбца |
Тип данных |
Описание |
|---|---|---|
RDB$FUNCTION_NAME |
CHAR(63) |
Уникальное имя внешней функции. |
RDB$ARGUMENT_POSITION |
SMALLINT |
Позиция аргумента в списке аргументов. |
RDB$MECHANISM |
SMALLINT |
Механизм передачи параметра для Legacy функций: передается ли аргумент по значению
(значение столбца 0), по ссылке (значение 1), через дескриптор (значение 2) или через
дескриптор |
RDB$FIELD_TYPE |
SMALLINT |
Число, задающее код типа данных, определенного для столбца:
|
RDB$FIELD_SCALE |
SMALLINT |
Масштаб для целого числа или аргумента с фиксированной точкой. Это показатель числа 10. |
RDB$FIELD_LENGTH |
SMALLINT |
Длина аргумента в байтах.
|
RDB$FIELD_SUB_TYPE |
SMALLINT |
Для аргумента типа данных |
RDB$CHARACTER_SET_ID |
SMALLINT |
Идентификатор набора символов для символьного аргумента. |
RDB$FIELD_PRECISION |
SMALLINT |
Количество цифр точности, допустимой для типа данных аргумента. |
RDB$CHARACTER_LENGTH |
SMALLINT |
Длина аргумента |
RDB$PACKAGE_NAME |
CHAR(63) |
Имя пакета функции (если функция упакованная), в которой используется параметр. |
RDB$ARGUMENT_NAME |
CHAR(63) |
Имя параметра. |
RDB$FIELD_SOURCE |
CHAR(63) |
Имя домена, созданного пользователем (при использовании ссылки на домен вместо типа), или домена,
автоматически построенного системой для параметра функции. Во втором случае имя будет начинаться с символов |
RDB$DEFAULT_VALUE |
BLOB BLR |
Значение по умолчанию на языке BLR. |
RDB$DEFAULT_SOURCE |
BLOB TEXT |
Значение по умолчанию в исходном виде на языке SQL. |
RDB$COLLATION_ID |
SMALLINT |
Идентификатор используемого порядка сортировки для символьного параметра. |
RDB$NULL_FLAG |
SMALLINT |
Признак допустимости пустого значения |
RDB$ARGUMENT_MECHANISM |
SMALLINT |
Механизм передачи параметра для не Legacy функций: передается ли аргумент по значению
(значение столбца 0), по ссылке (значение 1), через дескриптор (значение 2) или через
дескриптор |
RDB$FIELD_NAME |
CHAR(63) |
Имя столбца, на которое ссылается параметр с помощью предложения |
RDB$RELATION_NAME |
CHAR(63) |
Имя таблицы, на которую ссылается параметр с помощью предложения |
RDB$SYSTEM_FLAG |
SMALLINT |
Указывает, является ли параметр определённым системой (значение 1 и выше) или пользователем (значение 0). |
RDB$DESCRIPTION |
BLOB TEXT |
Текст произвольного примечания к параметру. |
31.19. 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$OWNER_NAME |
CHAR(63) |
Имя пользователя – владельца (создателя) генератора. |
RDB$INITIAL_VALUE |
BIGINT |
Хранит начальное значение генератора или значение генератора, установленное при предыдущем рестарте ( |
RDB$GENERATOR_INCREMENT |
INTEGER |
Шаг приращения генератора при использовании оператора |
31.20. RDB$INDEX_SEGMENTS
Сегменты и позиции индексов. Таблица описывает все столбцы таблицы, входящие в состав конкретного индекса. Для каждого столбца индекса создается отдельная строка в данной таблице.
Идентификатор столбца |
Тип данных |
Описание |
|---|---|---|
RDB$INDEX_NAME |
CHAR(63) |
Имя индекса, к которому относится данный сегмент. Должно соответствовать главной записи в системной таблице |
RDB$FIELD_NAME |
CHAR(63) |
Имя одного из столбцов, входящего в состав индекса. Должно соответствовать значению в столбце |
RDB$FIELD_POSITION |
SMALLINT |
Позиция столбца в индексе. Нумерация начинается с нуля. |
RDB$STATISTICS |
DOUBLE PRECISION |
Селективность индекса по данному столбцу. |
31.21. RDB$INDICES
Определение индексов базы данных (созданных пользователем или системой). Описывает каждый индекс, созданный
пользователем или системой. Для каждого столбца таблицы, входящего в состав индекса, присутствует строка
системной таблицы RDB$INDEX_SEGMENTS, где описываются характеристики столбца индекса.
Идентификатор столбца |
Тип данных |
Описание |
|---|---|---|
RDB$INDEX_NAME |
CHAR(63) |
Уникальное имя индекса, заданное пользователем или автоматически сгенерированное системой. |
RDB$RELATION_NAME |
CHAR(63) |
Имя таблицы, к которой применяется индекс. Соответствует |
RDB$INDEX_ID |
SMALLINT |
Внутренний (системный) идентификатор индекса. |
RDB$UNIQUE_FLAG |
SMALLINT |
Указывает, является ли индекс уникальным: 1 — уникальный, 0 — не уникальный. |
RDB$DESCRIPTION |
BLOB TEXT |
Произвольный текст комментария к индексу. |
RDB$SEGMENT_COUNT |
SMALLINT |
Количество сегментов (столбцов) в индексе. |
RDB$INDEX_INACTIVE |
SMALLINT |
Указывает, является ли в настоящий момент индекс активным:
|
RDB$INDEX_TYPE |
SMALLINT |
Упорядоченность индекса:
|
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 |
Хранит самую последнюю селективность индекса, вычисленную при помощи оператора |
RDB$TABLESPACE_NAME |
CHAR (63) |
Наименование табличного пространства. |
RDB$CONDITION_SOURCE |
BLOB TEXT |
Исходный код выражения для ограничения набора индексируемых записей |
RDB$CONDITION_BLR |
BLOB BLR |
Выражение в формате |
31.22. RDB$JOBS
Сведения о заданиях планировщика.
Идентификатор столбца |
Тип данных |
Описание |
|---|---|---|
RDB$JOB_NAME |
CHAR(63) |
Имя задания |
RDB$JOB_ID |
INTEGER |
ID задания |
RDB$JOB_SOURCE |
BLOB TEXT |
Код задания в текстовом виде |
RDB$JOB_BLR |
BLOB BINARY |
Скомпилированный BLR для задания |
RDB$DESCRIPTION |
BLOB TEXT |
Содержит описание задания |
RDB$OWNER_NAME |
CHAR(63) |
Имя пользователя, создавшего задание |
RDB$JOB_INACTIVE |
SMALLINT |
Имеет два значения:
|
RDB$JOB_TYPE |
SMALLINT |
Имеет два значения:
|
RDB$JOB_SCHEDULE |
VARBINARY(64) |
Строка в формате |
RDB$START_DATE |
TIMESTAMP WITH TIME ZONE |
Дата и время начала выполнения задания |
RDB$END_DATE |
TIMESTAMP WITH TIME ZONE |
Дата и время окончания выполнения задания |
RDB$DATABASE |
VARCHAR(255) |
Имя базы данных, для которой создано задание |
31.23. RDB$JOBS_LOG
События, связанные с заданиями.
Идентификатор столбца |
Тип данных |
Описание |
|---|---|---|
RDB$TIMESTAMP |
TIMESTAMP WITH TIME ZONE |
Время произошедшего события |
RDB$JOB_NAME |
CHAR(63) |
Имя задания |
RDB$JOB_ID |
INTEGER |
ID задания |
RDB$EVENT |
VARCHAR(32) |
Регистрируются следующие типы событий:
|
RDB$MESSAGE |
VARCHAR(1023) |
Текст ошибки |
31.24. RDB$KEYWORDS
Содержит информацию о ключевых словах сервера.
Идентификатор столбца |
Тип данных |
Описание |
|---|---|---|
RDB$KEYWORD_NAME |
VARCHAR(63) |
Ключевое слово. |
RDB$KEYWORD_RESERVED |
BOOLEAN |
Зарезервировано ли ключевое слово. |
31.25. 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 |
Не используется. |
31.26. RDB$PACKAGES
В таблице содержатся сведения о PSQL пакетах.
Идентификатор столбца |
Тип данных |
Описание |
|---|---|---|
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$OWNER_NAME |
CHAR(63) |
Имя пользователя – владельца (создателя) пакета. |
RDB$SYSTEM_FLAG |
SMALLINT |
Указывает, что пакет определён пользователем (значение 0) или системой (значение 1 или выше). |
RDB$DESCRIPTION |
BLOB TEXT |
Произвольный текст примечания к пакету. |
RDB$SQL_SECURITY |
BOOLEAN |
Определяет в контексте какого пользователя будут выполняться процедуры и функции. Если установлен в |
31.27. RDB$PAGES
Сведения о страницах базы данных.
Идентификатор столбца |
Тип данных |
Описание |
|---|---|---|
RDB$PAGE_NUMBER |
INTEGER |
Уникальный номер физически созданной страницы базы данных. |
RDB$RELATION_ID |
SMALLINT |
Идентификатор таблицы, для которой выделена эта страница. |
RDB$PAGE_SEQUENCE |
INTEGER |
Последовательный номер страницы по отношению к другим страницам, выделенным для данной таблицы. |
RDB$PAGE_TYPE |
SMALLINT |
Описывает тип страницы. Для системного использования. |
31.28. 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$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 |
Признак допустимости пустого значения |
RDB$PARAMETER_MECHANISM |
SMALLINT |
Признак — передается ли параметр по значению (значение столбца 0), по ссылке (значение 1), через дескриптор
(значение 2) или через дескриптор |
RDB$FIELD_NAME |
CHAR(63) |
Имя столбца, на которое ссылается параметр с помощью предложения |
RDB$RELATION_NAME |
CHAR(63) |
Имя таблицы, на которую ссылается параметр с помощью предложения |
RDB$PACKAGE_NAME |
CHAR(63) |
Имя пакета процедуры (если процедура упакованная), в которой используется параметр. |
31.29. RDB$PROCEDURES
Описывает хранимые процедуры.
Идентификатор столбца |
Тип данных |
Описание |
|---|---|---|
RDB$PROCEDURE_NAME |
CHAR(63) |
Имя хранимой процедуры. |
RDB$PROCEDURE_ID |
SMALLINT |
Уникальный идентификатор процедуры. |
RDB$PROCEDURE_INPUTS |
SMALLINT |
Указывает количество входных параметров или их отсутствие (значение |
RDB$PROCEDURE_OUTPUTS |
SMALLINT |
Указывает количество выходных параметров или их отсутствие (значение |
RDB$DESCRIPTION |
BLOB TEXT |
Произвольный текст примечания к процедуре. |
RDB$PROCEDURE_SOURCE |
BLOB TEXT |
Исходный код процедуры на языке SQL. |
RDB$PROCEDURE_BLR |
BLOB BLR |
Двоичное представление (BLR) кода процедуры. |
RDB$SECURITY_CLASS |
CHAR(63) |
Может указывать на класс безопасности, определенный в системной таблице |
RDB$OWNER_NAME |
CHAR(63) |
Имя пользователя — владельца (создателя) процедуры. |
RDB$RUNTIME |
BLOB |
Описание метаданных процедуры. Внутреннее использование для оптимизации. |
RDB$SYSTEM_FLAG |
SMALLINT |
Указывает, процедура определена пользователем (значение 0) или системой (значение 1 или выше). |
RDB$PROCEDURE_TYPE |
SMALLINT |
Тип процедуры:
|
RDB$VALID_BLR |
SMALLINT |
Указывает, остается ли текст хранимой процедуры корректным после последнего изменения процедуры при помощи
оператора |
RDB$DEBUG_INFO |
BLOB |
Содержит отладочную информацию о переменных, используемых в хранимой процедуре. |
RDB$ENGINE_NAME |
CHAR(63) |
Имя движка для использования внешних процедур. Обычно UDR. |
RDB$ENTRYPOINT |
CHAR(255) |
Имя точки входа в библиотеке, где находится эта процедура. |
RDB$PACKAGE_NAME |
CHAR(63) |
Имя пакета, если процедура является упакованной. |
RDB$PRIVATE_FLAG |
SMALLINT |
Для неупакованных хранимых процедур всегда |
RDB$SQL_SECURITY |
BOOLEAN |
Определяет в контексте какого пользователя будет выполняться процедура. Если установлен в |
31.30. RDB$REF_CONSTRAINTS
Описания именованных ограничений базы данных (внешних ключей).
Идентификатор столбца |
Тип данных |
Описание |
|---|---|---|
RDB$CONSTRAINT_NAME |
CHAR(63) |
Имя ограничения внешнего ключа. Задается пользователем или автоматически генерируется системой. |
RDB$CONST_NAME_UQ |
CHAR(63) |
Имя ограничения первичного или уникального ключа, на которое ссылается предложение |
RDB$MATCH_OPTION |
CHAR(7) |
Не используется. Текущим значением является |
RDB$UPDATE_RULE |
CHAR(11) |
Действия по ссылочной целостности, применимые к данному внешнему ключу, когда изменяется первичный (уникальный)
ключ родительской таблицы: |
RDB$DELETE_RULE |
CHAR(11) |
Действия по ссылочной целостности, применимые к данному внешнему ключу, когда удаляется первичный (уникальный) ключ
родительской таблицы: |
31.31. RDB$RELATION_CONSTRAINTS
Описание всех ограничений на уровне таблиц: первичного, уникального, внешнего ключей, ограничений CHECK, NOT NULL.
Идентификатор столбца |
Тип данных |
Описание |
|---|---|---|
RDB$CONSTRAINT_NAME |
CHAR(63) |
Имя ограничения на уровне таблицы, заданное пользователем или автоматически присвоенное системой. |
RDB$CONSTRAINT_TYPE |
CHAR(11) |
Содержит название ограничения: |
RDB$RELATION_NAME |
CHAR(63) |
Имя таблицы, к которой применяется это ограничение. |
RDB$DEFERRABLE |
CHAR(3) |
В настоящий момент во всех случаях |
RDB$INITIALLY_DEFERRED |
CHAR(3) |
В настоящий момент во всех случаях |
RDB$INDEX_NAME |
CHAR(63) |
Имя индекса, который поддерживает это ограничение (содержит |
31.32. 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$VIEW_CONTEXT |
SMALLINT |
Для столбца представления это внутренний идентификатор базовой таблицы, откуда приходит это поле. |
RDB$DESCRIPTION |
BLOB TEXT |
Примечание к столбцу таблицы или представления. |
RDB$DEFAULT_VALUE |
BLOB BLR |
Записанное в двоичном виде (BLR) значение по умолчанию — предложение |
RDB$SYSTEM_FLAG |
SMALLINT |
Указывает, определено пользователем (значение 0) или системой (значение 1 или выше). |
RDB$SECURITY_CLASS |
CHAR(63) |
Может ссылаться на класс безопасности, определенный в |
RDB$COMPLEX_NAME |
CHAR(63) |
Не используется. |
RDB$NULL_FLAG |
SMALLINT |
Указывает, допускает ли столбец значения |
RDB$DEFAULT_SOURCE |
BLOB TEXT |
Исходный текст предложения |
RDB$COLLATION_ID |
SMALLINT |
Идентификатор последовательности сортировки в составе набора символов для столбца не по умолчанию. |
RDB$GENERATOR_NAME |
CHAR(63) |
Имя внутреннего генератора для реализации identity столбца. |
RDB$IDENTITY_TYPE |
SMALLINT |
Указывает тип identity столбца:
|
RDB$TABLESPACE_NAME |
CHAR(63) |
Наименование табличного пространства. |
31.33. RDB$RELATIONS
Хранит некоторые характеристики таблиц и представлений.
Идентификатор столбца |
Тип данных |
Описание |
|---|---|---|
RDB$VIEW_BLR |
BLOB BLR |
Для представления содержит на языке BLR спецификации запроса. Для таблицы в поле содержится |
RDB$VIEW_SOURCE |
BLOB TEXT |
Для представления содержит оригинальный исходный текст запроса на языке SQL (включая пользовательские
комментарии). Для таблицы в поле содержится |
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$EXTERNAL_FILE |
VARCHAR(255) |
Полный путь к внешнему файлу данных, если таблица описана с предложением |
RDB$RUNTIME |
BLOB |
Описание метаданных таблицы. Внутреннее использование для оптимизации. |
RDB$EXTERNAL_DESCRIPTION |
BLOB |
Произвольное примечание к внешнему файлу таблицы. |
RDB$OWNER_NAME |
CHAR(63) |
Имя пользователя — владельца (создателя) таблицы или представления. |
RDB$DEFAULT_CLASS |
CHAR(63) |
Класс безопасности по умолчанию. Применяется, когда новый столбец добавляется в таблицу. |
RDB$FLAGS |
SMALLINT |
Внутренние флаги. |
RDB$RELATION_TYPE |
SMALLINT |
Тип описываемого объекта:
|
RDB$SQL_SECURITY |
BOOLEAN |
Определяет в контексте какого пользователя будет использоваться таблица. Если установлен в |
RDB$ADAPTER |
CHAR(7) |
Адаптер для внешней таблицы для чтения двоичных трейсов |
RDB$TABLESPACE_NAME |
CHAR(63) |
Наименование табличного пространства. |
RDB$POINTER_PAGE |
INTEGER |
Номер первой страницы указателей таблицы. |
RDB$ROOT_PAGE |
INTEGER |
Номер страницы корневых индексов таблицы. |
31.34. 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$SYSTEM_PRIVILEGES |
BINARY(8) |
Флаги системных привилегий |
31.35. RDB$SECURITY_CLASSES
Списки управления доступом.
Идентификатор столбца |
Тип данных |
Описание |
|---|---|---|
RDB$SECURITY_CLASS |
CHAR(63) |
Имя класса безопасности. |
RDB$ACL |
BLOB ACL |
Список управления доступом, связанный с классом безопасности. Перечисляет пользователей и их полномочия. |
RDB$DESCRIPTION |
BLOB TEXT |
Произвольный текст примечания к классу безопасности. |
31.36. RDB$TABLESPACES
Идентификатор столбца |
Тип данных |
Описание |
|---|---|---|
RDB$TABLESPACE_ID |
INTEGER |
Идентификатор табличного пространства. |
RDB$TABLESPACE_NAME |
CHAR(63) |
Наименование табличного пространства. |
RDB$SECURITY_CLASS |
CHAR (63) |
Может ссылаться на класс безопасности, определённый в таблице |
RDB$SYSTEM_FLAG |
SMALLINT |
Указывает, что пакет определён пользователем (значение 0) или системой (значение 1 или выше). |
RDB$DESCRIPTION |
BLOB TEXT |
Произвольное текстовое описание табличного пространства. |
RDB$OWNER_NAME |
CHAR (63) |
Имя пользователя — владельца (создателя) табличного пространства. |
RDB$FILE_NAME |
VARCHAR (255) |
Полный путь к табличному пространству. |
RDB$OFFLINE |
BOOLEAN |
Не используется. |
RDB$READ_ONLY |
BOOLEAN |
Не используется. |
31.37. RDB$TIME_ZONES
Виртуальная таблица со списком часовых поясов поддерживаемых сервером.
Идентификатор столбца |
Тип данных |
Описание |
|---|---|---|
RDB$TIME_ZONE_ID |
INTEGER |
Идентификатор часового пояса. |
RDB$TIME_ZONE_NAME |
CHAR(63) |
Наименование часового пояса. |
31.38. RDB$TRANSACTIONS
Состояние транзакций при обращении к нескольким базам данных.
Идентификатор столбца |
Тип данных |
Описание |
|---|---|---|
RDB$TRANSACTION_ID |
INTEGER |
Уникальный идентификатор отслеживаемой транзакции. |
RDB$TRANSACTION_STATE |
SMALLINT |
Состояние транзакции: зависшая (значение 0), подтвержденная (значение 1), отмененная (значение 2). |
RDB$TIMESTAMP |
TIMESTAMP WITH TIME ZONE |
Не используется. |
RDB$TRANSACTION_DESCRIPTION |
BLOB |
Описывает подготовленную транзакцию к нескольким базам данных. Используется в случае потери соединения, которое не может быть восстановлено. |
31.39. RDB$TRIGGER_MESSAGES
Сообщения триггеров.
Идентификатор столбца |
Тип данных |
Описание |
|---|---|---|
RDB$TRIGGER_NAME |
CHAR(63) |
Имя триггера, с которым связано данное сообщение. |
RDB$MESSAGE_NUMBER |
SMALLINT |
Номер сообщения в пределах одного триггера (от 1 до максимум 32,767). |
RDB$MESSAGE |
VARCHAR(1023) |
Текст сообщения триггера. |
31.40. RDB$TRIGGERS
Описания триггеров.
Идентификатор столбца |
Тип данных |
Описание |
|---|---|---|
RDB$TRIGGER_NAME |
CHAR(63) |
Имя триггера. |
RDB$RELATION_NAME |
CHAR(63) |
Имя таблицы или представления, для которого используется триггер. Если триггер применяется не к событию таблицы,
а к событию базы данных, то в этом поле находится |
RDB$TRIGGER_SEQUENCE |
SMALLINT |
Последовательность (позиция) триггера. Ноль обычно означает, что последовательность не задана. |
RDB$TRIGGER_TYPE |
BIGINT |
Событие, на которое вызывается триггер. Значение высчитывается как битовая маска. Наиболее распростаненные значения:
Для DDL триггеров тип триггера получается путём побитового ИЛИ над фазой события (
|
RDB$TRIGGER_TYPE |
BIGINT |
|
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 |
Указывает, остается ли текст триггера корректным после последнего изменения
триггера при помощи оператора |
RDB$DEBUG_INFO |
BLOB |
Содержит отладочную информацию о переменных, используемых в триггере. |
RDB$ENGINE_NAME |
CHAR(63) |
Имя движка для использования внешних триггеров. Обычно UDR. |
RDB$ENTRYPOINT |
CHAR(255) |
Имя точки входа в библиотеке, где находится этот триггер. |
RDB$SQL_SECURITY |
BOOLEAN |
Определяет в контексте какого пользователя будет выполняться триггер. Если установлен в |
31.41. RDB$TYPES
Описание перечислимых типов данных.
Идентификатор столбца |
Тип данных |
Описание |
|---|---|---|
RDB$FIELD_NAME |
CHAR(63) |
Имя столбца, для которого определен данный перечислимый тип. |
RDB$TYPE |
SMALLINT |
Задает идентификатор для типа. Последовательность чисел является уникальной для каждого отдельного перечислимого типа:
|
RDB$TYPE_NAME |
CHAR(63) |
Текстовое представление для перечислимого типа. |
RDB$DESCRIPTION |
BLOB TEXT |
Произвольный текст примечания к перечислимому типу. |
RDB$SYSTEM_FLAG |
SMALLINT |
Признак: определен пользователем (значение 0) или системой (значение 1 или выше). |
31.42. RDB$PUBLICATIONS
Хранит публикации репликации, заданные в базе данных.
Идентификатор столбца |
Тип данных |
Описание |
|---|---|---|
RDB$PUBLICATION_NAME |
CHAR(63) |
Имя публикации. |
RDB$OWNER_NAME |
CHAR(63) |
Имя пользователя, создавшего публикацию. |
RDB$SYSTEM_FLAG |
SMALLINT |
Системный флаг:
|
RDB$ACTIVE_FLAG |
SMALLINT |
Неактивная (0) или активная (1). |
RDB$AUTO_ENABLE |
SMALLINT |
Автоматическое добавление новых таблиц в публикацию:
|
31.43. RDB$PUBLICATION_TABLES
Хранит имена таблиц, которые реплицируются в рамках публикации.
Идентификатор столбца |
Тип данных |
Описание |
|---|---|---|
RDB$PUBLICATION_NAME |
CHAR(63) |
Имя публикации. |
RDB$TABLE_NAME |
CHAR(63) |
Имя таблицы. |
31.44. RDB$USER_PRIVILEGES
Полномочия пользователей системы.
Идентификатор столбца |
Тип данных |
Описание |
|---|---|---|
RDB$USER |
CHAR(63) |
Объект, которому предоставляется данное полномочие. Если в качестве грантополучателя используется
системная привилегия, то вместо имени системной привилегии в данное поле попадает значение перечисляемого
типа
|
RDB$USER |
CHAR(63) |
|
RDB$GRANTOR |
CHAR(63) |
Имя пользователя, предоставляющего полномочие. |
RDB$PRIVILEGE |
CHAR(6) |
Привилегия, предоставляемая в полномочии:
|
RDB$GRANT_OPTION |
SMALLINT |
Содержит ли полномочие авторизацию
|
RDB$RELATION_NAME |
CHAR(63) |
Имя объекта (таблица или роль), которому предоставляется полномочие. |
RDB$FIELD_NAME |
CHAR(63) |
Имя столбца, к которому применяется привилегия на уровне столбца (только привилегии Если предоставляется членство в роли, то в данном столбце будет значение |
RDB$USER_TYPE |
SMALLINT |
Идентифицирует тип пользователя, которому предоставляется привилегия: 1 – представление; 2 – триггер; 5 – процедура; 8 – пользователь; 13 – роль; 15 – функция; 18 – пакет. |
RDB$OBJECT_TYPE |
SMALLINT |
Идентифицирует тип объекта, к которому предоставляется привилегия: 0 - таблица, представление; 2 - триггер; 3 - вычисляемый столбец; 4 - проверочное ограничение; 5 - процедура; 6 - выражение, используемое для индекса; 7 - исключение; 8 - пользователь; 9 - столбец; 10 - индекс; 11 - набор символов; 12 - группа пользователя; 13 - роль; 14 - генератор; 15 - UDF; 16 - BLOB фильтр; 17 - порядок сортировки; 18 - заголовок пакета; 19 - тело пакета; 20 - привилегия; Идентифицирует тип объекта, к которому предоставляется 21 - база данных; 22 - таблица; 23 - представление; 24 - процедура; 25 - фунцкия; 26 - пакет; 27 - генератор; 28 - домен; 29 - исключение; 30 - роль; 31 - набор символов; 32 - порядок сортировки; 33 - фильтр; 34 - задания; 35,36 - табличные пространства; 37 - условие частичного индекса. |
31.45. RDB$VIEW_RELATIONS
Описывает представления. Не используется в настоящей версии.
Идентификатор столбца |
Тип данных |
Описание |
|---|---|---|
RDB$VIEW_NAME |
CHAR(63) |
Имя представления. |
RDB$RELATION_NAME |
CHAR(63) |
Имя таблицы, на которое ссылается данное представление. |
RDB$VIEW_CONTEXT |
SMALLINT |
Псевдоним, используемый для ссылки на столбец представления. Имеет то же значение, что и псевдоним, используемый в самом тексте представления на языке BLR в операторе запроса этого представления. |
RDB$CONTEXT_NAME |
CHAR(255) |
Текстовый вариант псевдонима, указанного в столбце |
RDB$CONTEXT_TYPE |
SMALLINT |
Тип контекста:
|
RDB$PACKAGE_NAME |
CHAR(63) |
Имя пакета для упакованной хранимой процедуры. |
31.46. Поле RDB$VALID_BLR
В системных таблицах RDB$PROCEDURES, RDB$FUNCTIONS и RDB$TRIGGERS присутствует поле RDB$VALID_BLR.
Оно предназначено для сигнализации о возможной недействительности модуля PSQL (процедуры или триггера) после
изменения доменов или столбцов таблиц, от которых он зависит. При возникновении описанной выше ситуации поле
RDB$VALID_BLR устанавливается в 0 для процедур или триггеров, код которых возможно является недействительным.
В триггерах, процедурах и функциях (в том числе и в процедурах и функциях пакетов) зависимости возникают от
столбцов таблицы к которой они обращаются, а так же от любого параметра или переменной которые определены в
модуле с использованием предложения TYPE OF.
После того, как ядро РЕД Базы Данных изменило любой домен, включая неявные домены, создаваемые внутри при определении столбцов или параметров, РЕД База Данных производит внутреннюю перекомпиляцию всех зависимостей.
Любой модуль, который не удалось перекомпилировать из-за несовместимости, возникающей из-за изменения
домена, помечается как недействительный (поле RDB$VALID_BLR устанавливается в 0 в записи соответствующей
системной таблице RDB$PROCEDURES или RDB$TRIGGERS).
Возобновление (установка RDB$VALID_BLR в 1) происходит когда:
домен изменён снова и его новое определение совместимо с ранее недействительным определением модуля; или
ранее недействительный модуль изменён так, что соответствовать новому определению домена.
Нижеприведённый запрос находит процедуры и триггеры, зависящие от определённого домена (в примере это
домен 'MYDOMAIN'), и выводит информацию о состоянии поля RDB$VALID_BLR. Замените MYDOMAIN
фактическим именем проверяемого домена. Используйте заглавные буквы, если домен создавался нечувствительным
к регистру — в противном случае используйте точное написание имени домена с учётом регистра.
WITH VALID_PSQL (
PSQL_TYPE,
ROUTE_NAME,
VALID)
AS ( SELECT 'Procedure', RDB$PROCEDURE_NAME, RDB$VALID_BLR
FROM RDB$PROCEDURES
WHERE RDB$PROCEDURES.RDB$PACKAGE_NAME IS NULL
UNION ALL
SELECT 'Function', RDB$FUNCTION_NAME, RDB$VALID_BLR
FROM RDB$FUNCTIONS
WHERE RDB$FUNCTIONS.RDB$PACKAGE_NAME IS NULL
UNION ALL
SELECT 'Package', RDB$PACKAGE_NAME, RDB$VALID_BODY_FLAG
FROM RDB$PACKAGES
UNION ALL
SELECT 'Trigger', RDB$TRIGGER_NAME, RDB$VALID_BLR
FROM RDB$TRIGGERS
WHERE RDB$TRIGGERS.RDB$SYSTEM_FLAG = 0)
SELECT
PSQL_TYPE,
ROUTE_NAME,
VALID
FROM VALID_PSQL
WHERE
EXISTS ( SELECT * FROM RDB$DEPENDENCIES
WHERE RDB$DEPENDENT_NAME = VALID_PSQL.ROUTE_NAME
AND RDB$DEPENDED_ON_NAME = 'MYDOMAIN' );
Следующий запрос находит процедуры и триггеры, зависящие от определённого столбца таблицы
(в примере это столбец MYCOLUMN таблицы MYTABLE), и выводит информацию о
состоянии поля RDB$VALID_BLR. Замените MYTABLE и MYCOLUMN фактическими именами
проверяемой таблицы и её столбца. Используйте заглавные буквы, если таблица и её столбец создавались
нечувствительными к регистру — в противном случае используйте точное написание имени таблицы и её
столбца с учётом регистра.
WITH VALID_PSQL (
PSQL_TYPE,
ROUTE_NAME,
VALID)
AS ( SELECT 'Procedure', RDB$PROCEDURE_NAME, RDB$VALID_BLR
FROM RDB$PROCEDURES
WHERE RDB$PROCEDURES.RDB$PACKAGE_NAME IS NULL
UNION ALL
SELECT 'Function', RDB$FUNCTION_NAME, RDB$VALID_BLR
FROM RDB$FUNCTIONS
WHERE RDB$FUNCTIONS.RDB$PACKAGE_NAME IS NULL
UNION ALL
SELECT 'Package', RDB$PACKAGE_NAME, RDB$VALID_BODY_FLAG
FROM RDB$PACKAGES
UNION ALL
SELECT 'Trigger', RDB$TRIGGER_NAME, RDB$VALID_BLR
FROM RDB$TRIGGERS
WHERE RDB$TRIGGERS.RDB$SYSTEM_FLAG = 0)
SELECT
PSQL_TYPE,
ROUTE_NAME,
VALID
FROM VALID_PSQL
WHERE
EXISTS ( SELECT *
FROM RDB$DEPENDENCIES D
WHERE D.RDB$DEPENDENT_NAME = VALID_PSQL.ROUTE_NAME
AND D.RDB$DEPENDED_ON_NAME = 'MYTABLE'
AND D.RDB$FIELD_NAME = 'MYCOLUMN' );
Предупреждение
Все случаи возникновения недействительных модулей, вызванных изменениями доменов/столбцов,
отражаются в поле RDB$VALID_BLR. Тем не менее, другие виды изменения, таких как изменения
количества входных или выходных параметров процедур и так далее, не влияют на поле проверки,
даже если потенциально они могут привести к недействительности модуля. Типичные сценарии могут быть следующими:
Процедура (B) определена так, что она вызывает другую процедуру (A) и считывает выходные параметры из неё. В этом случае зависимость будет зарегистрирована в
RDB$DEPENDENCIES. В последствии вызываемая процедура (A) может быть изменена для изменения или удаления одного и более выходных параметров. ОператорALTER PROCEDURE Aприведёт к ошибки при выполнении фиксации транзакции.Процедура (B) вызывает процедуру (A), передавая ей значения в качестве входных параметров. Никаких зависимостей не будет зарегистрировано в
RDB$DEPENDENCIES. Последующие модификации входных параметров процедуры A будут позволены. Отказ произойдет во время выполнения, когда В вызовет A с несогласованным набором входных параметров.
Примечание
Для модулей PSQL, наследованных от более ранних версий РЕД Базы Данных, поле RDB$VALID_BLR имеет
значение NULL. Это не означает, что их BLR является недействительным.
Примечание
Команды утилиты командной строки isql SHOW PROCEDURES, SHOW FUNCTIONS и SHOW TRIGGERS при выводе
информации отмечают звёздочкой модули, у которых поле RDB$VALID_BLR равно 0. Команды
SHOW PROCEDURE <имя процедуры>, SHOW FUNCTION <имя функции> и SHOW TRIGGER <имя триггера>,
выводящие на экран код PSQL модуля, не сигнализируют пользователя о недопустимом BLR.