FirebirdSQL logo

RELEASE SAVEPOINT

affectation

Suppression d’un point de sauvegarde.

Disponible en

DSQL

Syntaxe
RELEASE SAVEPOINT sp_name [ONLY]
Table 1. Paramètres de l’opérateur RELEASE SAVEPOINT
Paramètre Description

sp_name

Le nom du point de sauvegarde.

L’instruction RELEASE SAVEPOINT supprime le point de sauvegarde nommé, libérant toutes les ressources associées. Par défaut, tous les points de sauvegarde créés après celui spécifié sont également supprimés. Si la clause ONLY est spécifiée, seul le point de sauvegarde portant le nom spécifié est supprimé.

Voir aussi :

SAVEPOINT.

Points de sauvegarde internes

Par défaut, le serveur utilise un point de sauvegarde automatique au niveau de la transaction pour annuler la transaction. Lorsque l’instruction ROLLBACK est exécutée, toutes les modifications apportées à la transaction sont annulées au point de sauvegarde du système, puis la transaction est approuvée.

Lorsque le nombre de modifications effectuées sous le point de sauvegarde au niveau de la transaction devient important (environ 50 000 enregistrements sont concernés), le serveur libère le point de sauvegarde système et utilise le mécanisme TIP pour annuler la transaction si nécessaire.

Tip

Si vous vous attendez à ce que le volume des changements dans une transaction soit important, vous pouvez définir l’option NO AUTO UNDO dans l’instruction SET TRANSACTION, ou — si vous utilisez l’API — définir l’indicateur TPB isc_tpb_no_auto_undo. Les deux options empêchent la création d’un point de transaction de niveau sauvegarde système.

Points de sauvegarde et PSQL

L’utilisation d’instructions de contrôle de transaction dans PSQL n’est pas autorisée car elle romprait l’atomicité de l’instruction appelant la procédure.Mais Firebird supporte l’appel et la gestion des exceptions dans PSQL, de sorte que les actions effectuées dans les procédures stockées et les triggers peuvent être annulées de manière sélective sans annuler complètement toutes les actions qu’ils contiennent.En interne, les points de sauvegarde automatique sont utilisés pour :

  • Annuler toutes les actions à l’intérieur du `BEGIN …​ END' où une exception se produit ;

  • Annuler toutes les actions effectuées dans une procédure stockée ou un déclencheur (ou, dans le cas d’une procédure stockée sélective, toutes les actions effectuées depuis la dernière instruction SUSPEND) si elles se terminent prématurément à cause d’une erreur ou d’une exception involontaire.

Chaque bloc de traitement des exceptions PSQL est également limité aux points de sauvegarde automatique du serveur.

Note

Le bouton "DEBUT …​ END` ne crée pas de point de sauvegarde automatique. Il est seulement créé dans les blocs qui ont un bloc WHEN pour gérer les exceptions ou les erreurs.