FirebirdSQL logo

MON$CALL_STACK

Accéder aux piles en interrogeant les procédures stockées, les fonctions stockées et les déclencheurs.

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

MON$CALL_ID

BIGINT

Adresse ID.

MON$STATEMENT_ID

BIGINT

L’identifiant de haut niveau de l’instruction SQL — l’instruction qui a initié la chaîne d’appels. Cet identifiant peut être utilisé pour trouver l’enregistrement du relevé actif dans la table MON$STATEMENTS.

MON$CALLER_ID

BIGINT

L’identifiant du déclencheur, de la fonction stockée ou de la procédure stockée de référence.

MON$OBJECT_NAME

CHAR(63)

Le nom de l’objet PSQL.

MON$OBJECT_TYPE

SMALLINT

Type d’objet PSQL :

  • 2 — trigger ;

  • 5 — procédure stockée ;

  • 15 — une fonction stockée.

MON$TIMESTAMP

TIMESTAMP

Date et heure du début de l’appel.

MON$SOURCE_LINE

INTEGER

Le numéro de ligne source de l’instruction SQL en cours d’exécution.

MON$SOURCE_COLUMN

INTEGER

Le numéro de la colonne source de l’instruction SQL en cours d’exécution.

MON$STAT_ID

INTEGER

Identificateur statistique.

MON$PACKAGE_NAME

CHAR(63)

Nom du paquet pour les procédures/fonctions paquagées.

MON$COMPILED_STATEMENT_ID

BIGINT

Identifiant de la requête compilée (référence à MON$COMPILED_STATEMENTS)

Note

La pile d’appel n’obtiendra pas les informations d’appel lorsque l’opérateur EXECUTE STATEMENT est exécuté.

Example 1. Obtenez une pile d’appels pour toutes les connexions, sauf la vôtre.
WITH RECURSIVE
  HEAD AS (
    SELECT
      CALL.MON$STATEMENT_ID, CALL.MON$CALL_ID,
      CALL.MON$OBJECT_NAME, CALL.MON$OBJECT_TYPE
    FROM MON$CALL_STACK CALL
    WHERE CALL.MON$CALLER_ID IS NULL
    UNION ALL
    SELECT
      CALL.MON$STATEMENT_ID, CALL.MON$CALL_ID,
      CALL.MON$OBJECT_NAME, CALL.MON$OBJECT_TYPE
    FROM MON$CALL_STACK CALL
      JOIN HEAD ON CALL.MON$CALLER_ID = HEAD.MON$CALL_ID
  )
SELECT MON$ATTACHMENT_ID, MON$OBJECT_NAME, MON$OBJECT_TYPE
FROM HEAD
  JOIN MON$STATEMENTS STMT ON STMT.MON$STATEMENT_ID = HEAD.MON$STATEMENT_ID
WHERE STMT.MON$ATTACHMENT_ID <> CURRENT_CONNECTION

MON$COMPILED_STATEMENTS

Instructions SQL compilées.

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

MON$COMPILED_STATEMENT_ID

BIGINT

L’identifiant de la demande compilée.

MON$SQL_TEXT

BLOB TEXT

Texte de la déclaration SQL en langage SQL. Le texte des instructions SQL n’est pas affiché à l’intérieur des objets PSQL.

MON$EXPLAINED_PLAN

BLOB TEXT

Plan de l’opérateur sous forme d’explication.

MON$OBJECT_NAME

CHAR(63)

Nom de l’objet PSQL dans lequel l’instruction SQL a été préparée.

MON$OBJECT_TYPE

SMALLINT

Type d’objet.

  • 2 — trigger ;

  • 5 — procédure stockée ;

  • 15 — une fonction stockée.

MON$PACKAGE_NAME

CHAR(63)

Le nom du paquet PSQL.

MON$STAT_ID

INTEGER

Id.