FirebirdSQL logo

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.