FirebirdSQL logo

Utilisation de MON$STATEMENTS pour annuler des requêtes

Les tables de surveillance sont en lecture seule, mais le serveur a un mécanisme intégré pour supprimer (et seulement supprimer) les entrées de la table MON$STATEMENTS, permettant ainsi de mettre fin à la requête active.

Note
  • Une tentative d’annulation des requêtes n’est pas effectuée s’il n’y a pas d’instructions en cours d’exécution dans la connexion.

  • Après l’annulation d’une requête, les fonctions API d’exécution et de récupération renverront le code d’erreur isc_cancelled.

  • Les demandes ultérieures dans cette connexion ne sont pas interdites.

  • L’annulation de la demande n’est pas synchrone, l’opérateur marque seulement la demande pour l’annulation, et l’annulation elle-même est effectuée de manière asynchrone par le noyau.

Example 1. Annuler toutes les demandes actives pour une connexion donnée
DELETE FROM MON$STATEMENTS
WHERE MON$ATTACHMENT_ID = 32