FirebirdSQL logo

RDB$FORMATS

La table RDB$FORMATS stocke les données relatives aux modifications des métadonnées de la table. Chaque fois que les métadonnées de la table sont modifiées, la table reçoit un nouveau numéro de format. Lorsque le numéro de format d’une table atteint 255 (ou 32000 pour les vues), la base de données entière devient inaccessible. Dans ce cas, vous devez effectuer une sauvegarde avec l’utilitaire gbak, puis restaurer cette copie et continuer à travailler avec la base de données nouvellement créée.

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

RDB$RELATION_ID

SMALLINT

L’identifiant de la table ou de la vue.

RDB$FORMAT

SMALLINT

L’identifiant du format de la table. Il peut y avoir 255 formats pour les tables et 32000 pour les vues.

RDB$DESCRIPTOR

BLOB FORMAT

Affichage BLOB des colonnes et des caractéristiques des données au moment de la création de l’enregistrement de format.

RDB$FUNCTION_ARGUMENTS

Paramètres des fonctions stockées ou externes.

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

RDB$FUNCTION_NAME

CHAR(63)

Nom de la fonction.

RDB$ARGUMENT_POSITION

SMALLINT

La position de l’argument dans la liste des arguments.

RDB$MECHANISM

SMALLINT

Mécanisme de transcription des paramètres pour les fonctions existantes :

  • 0 — par valeur ;

  • 1 — par référence ;

  • 2 — via un descripteur ;

  • 3 — via un descripteur BLOB.

RDB$FIELD_TYPE

SMALLINT

Code du type de données de l’argument :

  • 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 AVEC FUSEAU HORAIRE ;

  • 35 — TIMESTAMP SANS FUSEAU HORAIRE ;

  • 37 — VARCHAR ;

  • 40 — CSTRING ;

  • 45 — id. du blob ;

  • 261 — BLOB.

RDB$FIELD_SCALE

SMALLINT

L’échelle pour un argument entier ou à virgule. C’est l’indice du nombre 10.

RDB$FIELD_LENGTH

SMALLINT

Longueur de l’argument en octets :

  • 1 — pour BOOLEAN ;

  • 2 — pour SMALLINT ;

  • 4 — pour INTEGER ;

  • 4 — pour DATE ;

  • 4 — pour TIME WITHOUT TIME ZONE ;

  • 8 — pour TIME WITH TIME ZONE ;

  • 8 — pour BIGINT ;

  • 8 — pour DOUBLE PRECISION ;

  • 8 — pour TIMESTAMP WITHOUT TIME ZONE ;

  • 8 — pour DECFLOAT(16) ;

  • 8 — pour l’id du blob ;

  • 12 — pour TIMESTAMP WITH TIME ZONE ;

  • 16 — pour DECFLOAT(34) ;

  • 16 — pour INT128.

RDB$FIELD_SUB_TYPE

SMALLINT

Pour l’argument de type de données BLOB, spécifie le sous-type BLOB.

RDB$CHARACTER_SET_ID

SMALLINT

L’identifiant du jeu de caractères pour l’argument caractère.

RDB$FIELD_PRECISION

SMALLINT

Le nombre de chiffres de précision autorisés pour le type de données de l’argument.

RDB$CHARACTER_LENGTH

SMALLINT

La longueur d’un argument CHAR ou VARCHAR en caractères (pas en octets).

RDB$PACKAGE_NAME

CHAR(63)

Le nom du paquet de fonctions (s’il s’agit d’une fonction emballée) dans lequel le paramètre est utilisé.

RDB$ARGUMENT_NAME

CHAR(63)

Nom du paramètre.

RDB$FIELD_SOURCE

CHAR(63)

Le nom du domaine créé par l’utilisateur (en utilisant la référence du domaine au lieu du type), ou le domaine construit automatiquement par le système pour le paramètre de la fonction. Dans le second cas, le nom commencera par les caractères RDB$.

RDB$DEFAULT_VALUE

BLOB BLR

Valeur par défaut dans le langage BLR.

RDB$DEFAULT_SOURCE

BLOB TEXT

La valeur par défaut dans le langage SQL d’origine.

RDB$COLLATION_ID

SMALLINT

L’identifiant de l’ordre de tri utilisé pour le paramètre caractère.

RDB$NULL_FLAG

SMALLINT

Un signe qu’une valeur NULL vide est acceptable.

RDB$ARGUMENT_MECHANISM

SMALLINT

Mécanisme de transfert de paramètres pour les fonctions non Legacy :

  • 0 — par valeur ;

  • 1 — par référence ;

  • 2 — par descripteur ;

  • 3 — via un descripteur BLOB.

RDB$FIELD_NAME

CHAR(63)

Le nom de la colonne à laquelle le paramètre est référencé en utilisant la clause TYPE OF COLUMN.

RDB$RELATION_NAME

CHAR(63)

Le nom de la table à laquelle le paramètre fait référence en utilisant la clause TYPE OF COLUMN.

RDB$SYSTEM_FLAG

SMALLINT

Indique si le paramètre est défini par le système (valeur 1 et plus) ou par l’utilisateur (valeur 0).

RDB$DESCRIPTION

BLOB TEXT

Texte d’une note de paramètre facultative.

RDB$FUNCTIONS

Description des fonctions stockées ou externes.

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

RDB$FUNCTION_NAME

CHAR(63)

Nom de la fonction.

RDB$FUNCTION_TYPE

SMALLINT

Non utilisé actuellement.

RDB$QUERY_NAME

CHAR(63)

Non utilisé actuellement.

RDB$DESCRIPTION

BLOB TEXT

Tout texte dans le commentaire de la fonction.

RDB$MODULE_NAME

VARCHAR(255)

Nom du module externe (bibliothèque dynamique) où se trouve le code de la fonction.

RDB$ENTRYPOINT

CHAR(255)

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

RDB$RETURN_ARGUMENT

SMALLINT

Le numéro de position de l’argument de retour dans la liste des paramètres correspondant aux arguments d’entrée.

RDB$SYSTEM_FLAG

SMALLINT

Attribut de définition de la fonction :

  • 0 — défini par le système ;

  • 1 — défini par l’utilisateur.

RDB$ENGINE_NAME

CHAR(63)

Nom du moteur pour utiliser les fonctions externes. Habituellement UDR.

RDB$PACKAGE_NAME

CHAR(63)

Le nom du package si la fonction est packagée.

RDB$PRIVATE_FLAG

SMALLINT

Pour les fonctions stockées non emballées, toujours NULL,
pour les fonctions emballées:
* 0 — si la fonction est décrite dans l’en-tête du paquet ;* 1 — si la fonction est décrite ou implémentée uniquement dans le corps du paquet (non décrit dans l’en-tête).

RDB$FUNCTION_SOURCE

BLOB TEXT

Le code source de la fonction en langage SQL.

RDB$FUNCTION_ID

SMALLINT

Identifiant unique de la fonction.

RDB$FUNCTION_BLR

BLOB BLR

Représentation binaire (BLR) du code de la fonction.

RDB$VALID_BLR

SMALLINT

Indique si le texte de la fonction mémorisée reste correct après la dernière modification de la fonction à l’aide de l’opérateur ALTER FUNCTION.

RDB$DEBUG_INFO

BLOB

Contient des informations de débogage sur les variables utilisées dans la fonction stockée.

RDB$SECURITY_CLASS

CHAR(63)

Peut pointer vers la classe de sécurité définie dans la table système RDB$SECURITY_CLASSES pour appliquer des restrictions de contrôle d’accès.

RDB$OWNER_NAME

CHAR(63)

Le nom de l’utilisateur est le propriétaire (créateur) de la fonction.

RDB$LEGACY_FLAG

SMALLINT

Le style d’héritage de la fonction.

1 — si la fonction est décrite dans le style héritage (DECLARE EXTERNAL FUNCTION),
sinon 0 (CREATE FUNCTION).

RDB$DETERMINISTIC_FLAG

SMALLINT

Indicateur de fonction déterministe.

1 — si la fonction est déterministe (DETERMINISTIC)
sinon — 0.

RDB$SQL_SECURITY

BOOLEAN

Avec quels droits la fonction est exécutée :

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

RDB$GENERATORS

Informations sur les générateurs (séquences).

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

RDB$GENERATOR_NAME

CHAR(63)

Nom unique du générateur.

RDB$GENERATOR_ID

SMALLINT

Un identifiant unique attribué par le système pour le générateur.

RDB$SYSTEM_FLAG

SMALLINT

Indication :

0 — le générateur est défini par l’utilisateur,
1 ou plus — système défini.
6 — générateur interne pour la colonne d’identité.

RDB$DESCRIPTION

BLOB TEXT

Le texte arbitraire d’une note de générateur.

RDB$SECURITY_CLASS

CHAR(63)

Peut pointer vers la classe de sécurité définie dans la table système RDB$SECURITY_CLASSES pour appliquer des restrictions de contrôle d’accès.

RDB$OWNER_NAME

CHAR(63)

Le nom de l’utilisateur est le propriétaire (créateur) du générateur.

RDB$INITIAL_VALUE

BIGINT

Mémorise la valeur de démarrage du générateur ou la valeur du générateur définie lors du redémarrage précédent (WITH RESTART).

RDB$GENERATOR_INCREMENT

INTEGER

Pas d’incrémentation du générateur lors de l’utilisation de l’opérateur NEXT VALUE FOR.