FirebirdSQL logo

RDB$SECURITY_CLASSES

Les listes de contrôle d’accès.

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

RDB$SECURITY_CLASS

CHAR(63)

Le nom de la classe de sécurité.

RDB$ACL

BLOB ACL

Liste de contrôle d’accès associée à une classe de sécurité. Liste des utilisateurs et de leurs autorisations.

RDB$DESCRIPTION

BLOB TEXT

Tout texte de la note de classe de sécurité.

RDB$TIME_ZONES

Une table virtuelle contenant une liste des fuseaux horaires pris en charge par le serveur.

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

RDB$TIME_ZONE_ID

INTEGER

Identifiant du fuseau horaire.

RDB$TIME_ZONE_NAME

CHAR(63)

Nom du fuseau horaire

docnext count = 12

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.

RDB$CHECK_CONSTRAINTS

Décrit la correspondance entre les noms de déclencheurs et les noms de contraintes associés aux caractéristiques NOT NULL, aux contraintes CHECK et aux phrases ON UPDATE, ON DELETE dans les contraintes de clés étrangères.

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

RDB$CONSTRAINT_NAME

CHAR(63)

Nom de la restriction. Défini par l’utilisateur ou généré automatiquement par le système.

RDB$TRIGGER_NAME

CHAR(63)

Pour une contrainte CHECK — c’est le nom du déclencheur qui supporte la contrainte. Pour une contrainte NOT NULL, c’est le nom de la colonne à laquelle la contrainte s’applique. Pour une contrainte de clé étrangère, c’est le nom du déclencheur qui supporte les phrases ON UPDATE, ON DELETE.

RDB$USER_PRIVILEGES

L’autorité des utilisateurs du système.

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

RDB$USER

CHAR(63)

L’utilisateur, le rôle ou l’objet auquel ce privilège est accordé.Si un privilège système est utilisé comme bénéficiaire, la valeur du type énuméré RDB$SYSTEM_PRIVILEGES entre dans ce champ à la place du nom du privilège système :

  • 1 - GESTION_UTILISATEUR ;

  • 2 - READ_RAW_PAGES ;

  • 3 - CREATE_USER_TYPES ;

  • 4 - UTILISER_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)

Le nom de l’utilisateur qui accorde l’autorité.

RDB$PRIVILEGE

CHAR(6)

Un privilège accordé dans la procuration :

  • A – all (tous les avantages);

  • S – select (ensemble de données);

  • I – insert (ajout de données);

  • U – update (changement de données);

  • D – delete (suppression d’une ligne);

  • R – reference (clé étrangère);

  • X – execute (mise en œuvre);

  • G – usage (en utilisant);

  • M – membership (adhésion).

RDB$GRANT_OPTION

SMALLINT

Si l’autorisation contient une autorisation WITH GRANT OPTION:

  • 0 – ne contient pas;

  • 1 – contient.

RDB$RELATION_NAME

CHAR(63)

Le nom de l’objet (table, rôle, procédure) auquel l’autorité est accordée.

RDB$FIELD_NAME

CHAR(63)

Le nom de la colonne à laquelle s’applique le privilège de niveau colonne (privilèges UPDATE et REFERENCES uniquement).

Si l’appartenance à un rôle est accordée, cette colonne contient NULL si le rôle est accordé de manière normale et D si le rôle est accordé en utilisant le mot-clé DEFAULT.

RDB$USER_TYPE

SMALLINT

Identifie le type d’utilisateur (ou d’objet) auquel le privilège doit être accordé :

  • 1 - vue ;

  • 2 - déclencheur ;

  • 5 - procédure ;

  • 8 - utilisateur ;

  • 13 - rôle ;

  • 15 - fonction ;

  • 18 - paquet ;

  • 20 - privilège du système.

RDB$OBJECT_TYPE

SMALLINT

Identifie le type d’objet auquel le privilège est accordé :

  • 0 - table ;

  • 1 - vue ;

  • 2 - déclencheur ;

  • 5 - procédure ;

  • 7 - exception ;

  • 8 - utilisateur ;

  • 9 - domaine ;

  • 11 - jeu de caractères ;

  • 13 - rôle ;

  • 14 - générateur (séquence) ;

  • 15 - fonction ;

  • 16 - Filtre BLOB ;

  • 17 - triage ;

  • 18 - paquet.

RDB$VIEW_RELATIONS

Décrit les relations d’une vue.

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

RDB$VIEW_NAME

CHAR(63)

Le nom de la vue.

RDB$RELATION_NAME

CHAR(63)

Le nom de la table, de la vue ou de la procédure stockée à laquelle la vue fait référence.

RDB$VIEW_CONTEXT

SMALLINT

L’alias (contexte) utilisé pour faire référence à une colonne dans une vue. A la même signification que l’alias utilisé dans le texte de la vue BLR elle-même dans la déclaration de requête de cette vue.

RDB$CONTEXT_NAME

CHAR(255)

Variante textuelle de l’alias donné dans la colonneRDB$VIEW_CONTEXT.

RDB$CONTEXT_TYPE

SMALLINT

Type de contexte :

  • 0 - table ;

  • 1 - vue ;

  • 2 - procédure stockée.

RDB$PACKAGE_NAME

CHAR(63)

Le nom du paquet pour la procédure stockée packagé.

RDB$COLLATIONS

Ordre de tri des jeux de caractères.

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

RDB$COLLATION_NAME

CHAR(63)

Le nom de l’ordre de tri.

RDB$COLLATION_ID

SMALLINT

L’identifiant de l’ordre de tri. L’identifiant du jeu de caractères est accompagné d’un identifiant unique de l’ordre de tri.

RDB$CHARACTER_SET_ID

SMALLINT

L’identifiant du jeu de caractères. L’identifiant de l’ordre de tri est accompagné d’un identifiant unique.

RDB$COLLATION_ATTRIBUTES

SMALLINT

Attributs de tri. Représente un masque de bits,

où le bit 1 indique si la comparaison est sensible à la casse (0 — NO PAD ; 1 — PAD SPACE) ; + le bit 2 indique si la comparaison est sensible à la casse (0 — CASE SENSITIVE, 1 — CASE INSENSITIVE) ; + le bit 3 indique si la comparaison est sensible aux accents (0 — ACENT SENSITIVE, 1 — ACENT SENSITIVE).

Une valeur de 5 signifie donc que la comparaison n’est pas sensible aux espaces de fin et aux lettres accentuées.

RDB$SYSTEM_FLAG

SMALLINT

Caractéristique : définie par l’utilisateur - valeur 0 ; définie par le système - valeur 1.

RDB$DESCRIPTION

BLOB TEXT

Une description textuelle arbitraire de l’ordre de tri.

RDB$FUNCTION_NAME

CHAR(63)

Non utilisé actuellement.

RDB$BASE_COLLATION_NAME

CHAR(63)

Le nom de l’ordre de tri de base pour cet ordre de tri.

RDB$SPECIFIC_ATTRIBUTES

BLOB TEXT

Description des attributs spéciaux.

RDB$SECURITY_CLASS

CHAR(63)

Peut faire référence à la classe de sécurité définie dans la table RDB$SECURITY_CLASSES pour appliquer des restrictions de contrôle d’accès à tous les utilisateurs de cette sorte.

RDB$OWNER_NAME

CHAR(63)

Le nom de l’utilisateur qui est le propriétaire (créateur) du tri.

RDB$CONFIG

Table virtuelle affichant les paramètres de configuration réels spécifiés dans firebird.conf, databases.conf ou via DPB pass-through.

La table RDB$CONFIG est remplie à partir de structures en mémoire si nécessaire, et l’instance est stockée au niveau de la requête SQL. Pour des raisons de sécurité, seuls SYSDBA et le propriétaire de la base de données sont autorisés à y accéder. Un utilisateur non privilégié voit un contenu vide, aucune erreur ne se produit.

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

RDB$CONFIG_ID

INTEGER

L’identifiant unique de l’entrée. Cela n’a pas d’importance.

RDB$CONFIG_NAME

VARCHAR(63)

Nom du paramètre, par exemple “DefaultDbCachePages”, “TempCacheLimit”, etc.

RDB$CONFIG_VALUE

VARCHAR(255)

La valeur réelle du paramètre, peut être définie dans la configuration et si nécessaire reprise du noyau Firebird (en cas de valeur incorrecte).

RDB$CONFIG_DEFAULT

VARCHAR(255)

Valeur par défaut, corrigée dans le code de Firebird.

RDB$CONFIG_IS_SET

BOOLEAN

TRUE si elle est définie par l’utilisateur, FALSE sinon.

RDB$CONFIG_SOURCE

VARCHAR(255)

Le nom du fichier de configuration où le paramètre a été défini, par rapport au dossier racine de firebird, par ex : “firebird.conf”, “databases.conf” ou la valeur spéciale “DPB” si le paramètre a été défini sur DPB, si aucune valeur de paramètre n’a été définie, ce champ contient NULL.

RDB$DATABASE

Données de base de la base de données, contenant un seul enregistrement.

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

RDB$DESCRIPTION

BLOB TEXT

Texte de note pour la base de données.

RDB$RELATION_ID

SMALLINT

Le nombre de tables et de vues dans la base de données.

RDB$SECURITY_CLASS

CHAR(63)

Une classe de sécurité définie dans RDB$SECURITY_CLASSES pour répondre aux restrictions d’accès à l’échelle de la base de données.

RDB$CHARACTER_SET_NAME

CHAR(63)

Nom du jeu de caractères par défaut de la base de données, défini dans la phrase DEFAULT CHARACTER SET lors de la création de la base de données. NULL — jeu de caractères NONE.

RDB$LINGER

INTEGER

Le nombre de secondes de "délai" (défini par l’opérateur alter database set linger) avant que la dernière connexion à la base de données soit fermée (dans SuperServer). Si aucun délai n’est défini, il contient NULL.

RDB$SQL_SECURITY

BOOLEAN

Mode par défaut SQL SECURITY (DEFINER ou INVOKER) pour les objets nouvellement créés :

NULL — mode par défaut (INVOKER) ;

FALSE — INVOKER. Les objets nouvellement créés sont exécutés avec l’utilisateur appelant ;

TRUE — DEFINER. Les objets nouvellement créés sont exécutés avec les droits de l’utilisateur qui les a définis.

RDB$DB_CREATORS

Contient des informations sur les utilisateurs qui sont autorisés à créer la base de données. Utilisé uniquement si la base de données actuelle est désignée comme une base de données de sécurité.

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

RDB$USER

CHAR(63)

Le nom de l’utilisateur ou du rôle autorisé à créer la base de données.

RDB$USER_TYPE

SMALLINT

Type d’utilisateur :

  • 8 — utilisateur ;

  • 13 — rôle.

RDB$DEPENDENCIES

Informations sur les dépendances entre les objets de la base de données.

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

RDB$DEPENDENT_NAME

CHAR(63)

Nom de la vue, de la procédure, du déclencheur, de la contrainte CHECK ou de la colonne calculée pour laquelle la dépendance est décrite.

RDB$DEPENDED_ON_NAME

CHAR(63)

Un objet qui dépend de l’objet décrit — une table référencée par une vue, une procédure, un déclencheur, une contrainte CHECK ou une colonne calculée.

RDB$FIELD_NAME

CHAR(63)

Nom de la colonne de la table dépendante à laquelle la vue, la procédure, le déclencheur, la contrainte CHECK ou la colonne calculée fait référence.

RDB$DEPENDENT_TYPE

SMALLINT

Identifie le type d’objet pour lequel la dépendance est décrite :

  • 0 — table ;

  • 1 — représentation ;

  • 2 — déclencheur ;

  • 3 — colonne calculée ;

  • 4 — CHECK contrainte ;

  • 5 — procédure ;

  • 6 — expression de l’index ;

  • 9 — colonne ;

  • 15 — fonction stockée ;

  • 18 — en-tête de paquet ;

  • 19 — corps du paquet.

RDB$DEPENDED_ON_TYPE

SMALLINT

Identifie le type d’objet dépendant :

  • 0 - tableau (ou sa colonne) ;

  • 1 — vue ;

  • 2 — déclencheur ;

  • 3 — colonne calculée ;

  • 4 — CHECK contrainte ;

  • 5 — procédure ;

  • 6 — expression de l’index ;

  • 7 — exception ;

  • 8 — utilisateur ;

  • 9 — colonne ;

  • 10 — indice ;

  • 14 — générateur (séquence) ;

  • 15 — UDF ou fonction stockée ;

  • 17 — tri ;

  • 18 — en-tête de paquet ;

  • 19 — corps du paquet.

RDB$PACKAGE_NAME

CHAR(63)

La procédure ou le paquet de fonctions pour lequel la dépendance est décrite.