FirebirdSQL logo

RDB$TRANSACTIONS

RDB$TRANSACTIONS stocke l’état des transactions distribuées et autres qui sont préparées pour une confirmation en deux phases avec un message explicitement préparé.

Table 1. Description des colonnes de la table RDB$TRANSACTIONS
Nom de la colonne Type de données Description

RDB$TRANSACTION_ID

INTEGER

L’identifiant unique de la transaction faisant l’objet du suivi.

RDB$TRANSACTION_STATE

SMALLINT

Statut de la transaction :

  • 0 — en attente ;

  • 1 — confirmé ;

  • 2 — annulé.

RDB$TIMESTAMP

TIMESTAMP

Non utilisé.

RDB$TRANSACTION_DESCRIPTION

BLOB

Décrit une transaction préparée et peut être un message utilisateur entrant isc_prepare_transaction2 même si ce n’est pas une transaction distribuée. Peut être utilisé en cas de perte de connexion qui ne peut être rétablie.

RDB$TRIGGER_MESSAGES

Messages des déclencheurs.

Table 1. Description des colonnes de la table RDB$TRIGGER_MESSAGES
Nom de la colonne Type de données Description

RDB$TRIGGER_NAME

CHAR(63)

Le nom du déclencheur auquel ce message est lié.

RDB$MESSAGE_NUMBER

SMALLINT

Numéro de message dans un déclencheur (1 à 32767).

RDB$MESSAGE

VARCHAR(1023)

Texte du message de déclenchement.

RDB$TRIGGERS

Descriptions des déclencheurs.

Table 1. Description des colonnes de la table RDB$TRIGGERS
Nom de la colonne Type de données Description

RDB$TRIGGER_NAME

CHAR(63)

Nom du déclencheur.

RDB$RELATION_NAME

CHAR(63)

Nom de la table ou de la vue pour laquelle le déclencheur est utilisé. Si le déclencheur est appliqué à un événement de base de données plutôt qu’à un événement de table, ce champ contient NULL.

RDB$TRIGGER_SEQUENCE

SMALLINT

La séquence (position) du déclencheur. Zéro signifie généralement qu’aucune séquence n’est définie.

RDB$TRIGGER_TYPE

BIGINT

L’événement auquel le déclencheur est appelé :

  • 1 — AVANT INESRT ;

  • 2 — AVANT L’INSERTION ;

  • 3 — AVANT MISE À JOUR ;

  • 4 — AVANT LA MISE À JOUR ;

  • 5 — AVANT LA SUPPRESSION ;

  • 6 — APRÈS LA SUPPRESSION ;

  • 17 — AVANT L’INSERTION OU LA MISE À JOUR ;

  • 18 — AFTER INSERT OR UPDATE ;

  • 25 — AVANT L’INSERTION OU LA SUPPRESSION ;

  • 26 — APRÈS INSERTION OU SUPPRESSION ;

  • 27 — AVANT LA MISE À JOUR OU LA SUPPRESSION ;

  • 28 — APRÈS MISE À JOUR OU SUPPRESSION ;

  • 113 — AVANT L’INSERTION OU LA MISE À JOUR OU LA SUPPRESSION ;

  • 114 — AVANT L’INSERTION OU LA MISE À JOUR OU LA SUPPRESSION ;

  • 8192 — ON CONNECT ;

  • 8193 — ON DISCONNECT ;

  • 8194 — SUR LE DÉBUT DE LA TRANSACTION ;

  • 8195 — ON TRANSACTION COMMIT ;

  • 8196 — "ON TRANSACTION ROLLBACK".

Voir ci-dessous pour une description des événements déclencheurs DDL.

RDB$TRIGGER_SOURCE

BLOB TEXT

Stocke le code source du déclencheur dans PSQL.

RDB$TRIGGER_BLR

BLOB BLR

Stocke le déclencheur en code binaire BLR.

RDB$DESCRIPTION

BLOB TEXT

Texte / note sur le déclencheur.

RDB$TRIGGER_INACTIVE

SMALLINT

Indique si le déclencheur est actuellement inactif (1) ou actif (0).

RDB$SYSTEM_FLAG

SMALLINT

Flag — Le déclencheur est défini par l’utilisateur (0) ou par le système (1 ou plus).

RDB$FLAGS

SMALLINT

Usage interne.

RDB$VALID_BLR

SMALLINT

Indique si le texte du déclencheur reste correct après la dernière modification du déclencheur à l’aide de l’opérateur ALTER TRIGGER.

RDB$DEBUG_INFO

BLOB

Contient des informations de débogage sur les variables utilisées dans le déclencheur.

RDB$ENGINE_NAME

CHAR(63)

Nom du moteur pour l’utilisation des déclencheurs externes. Habituellement UDR.

RDB$ENTRYPOINT

CHAR(255)

Le nom du point d’entrée dans la bibliothèque où se trouve ce déclencheur.

RDB$SQL_SECURITY

BOOLEAN

Avec quels droits le déclencheur est exécuté :

  • TRUE — avec les droits de l’utilisateur définissant (SQL SECURITY DEFINER) ;

  • FALSE — avec les droits de l’utilisateur appelant (SQL SECURITY INVOKER) ;

  • NULL — les privilèges d’exécution sont hérités de la table.

Pour les déclencheurs DDL, le type de déclencheur (RDB$TRIGGER_TYPE) est obtenu par un OU bit à bit sur la phase de l’événement (0 - BEFORE, 1 - AFTER) et tous les types d’événements listés :

  • 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.

Par exemple, le déclencheur

  • BEFORE CREATE PROCEDURE OR CREATE FUNCTION sera du type 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

Description des types de données énumérés.

Table 1. Description des colonnes de la table RDB$TYPES
Nom de la colonne Type de données Description

RDB$FIELD_NAME

CHAR(63)

Le nom du type de l’enum. Correspond au nom de la colonne pour laquelle ce type d’enum est défini.

RDB$TYPE

SMALLINT

Spécifie un identifiant pour le type.La séquence de chiffres est unique pour chaque type d’énumération :

  • 0 — table ;

  • 1 — vue ;

  • 2 — déclencheur ;

  • 3 — colonne calculée ;

  • 4 — vérifier ;

  • 5 — procédure.

RDB$TYPE_NAME

CHAR(63)

Une représentation textuelle pour un type énuméré.

RDB$DESCRIPTION

BLOB TEXT

Texte de note arbitraire pour le type énuméré.

RDB$SYSTEM_FLAG

SMALLINT

0 — défini par l’utilisateur
1 et plus — par le système.