FirebirdSQL logo

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.