COMMIT

Sommaire


Commitpermet de valider une transaction.

 

Syntaxe

  Commit

 

Exemples

      # Transaction : on débite un compte CPT_D et crédite un compte CPT_C
   # d'une même valeur TRANSFERT. Au retour du sous-programme,
   # SUCCES=1 si tout s'est bien passé et SUCCES=0 sinon.
   #
   TRANSFERT_SOMME
     #   Début de transaction
       Trbegin COMPTE
   #
   #   On débite le premier compte
       Readlock [CPT]NOCPT = CPT_D
       If fstat : Goto ABANDON : Endif
       [CPT]SOLDE -= TRANSFERT
       Rewrite [CPT]
       If fstat : Goto ABANDON : Endif
   #
   #   On crédite le second compte
       Readlock [CPT]NOCPT = CPT_C
       If fstat : Goto ABANDON : Endif
       [CPT]SOLDE += TRANSFERT
       Rewrite [CPT]
       If fstat : Goto ABANDON : Endif
    #
   #   Validation de la transaction et retour.
      Commit : SUCCES = 1
    Return
    #
   #   Annulation de la transaction et retour en cas d'erreur
     ABANDON
       Rollback : SUCCES = 0
    Return

 

Description et commentaires

Commitpermet de valider une transaction, c'est-à-dire un ensemble d'opérations de mise à jour de fichiers et/ou de compteurs ayant débuté par l'instruction Trbegin, et devant être validées globalement.

Les fichiers qui étaient ouverts avant la transaction le restent, les fichiers ouverts par Trbegin, ou après Trbegin, sont refermés, exception faite des fichiers re-déclarés en utilisant une abréviation déjà existante.

Commitne peut être fait que dans le programme ou le sous-programme qui a initié la transaction. On ne doit donc jamais trouver d'ordre Commit dans les programmes de déroutement d'erreur (Onerrgo), de déconnexion (actihgup) ou d'interrruption (Onintgo).

Commitdéverrouille tous les verrous posés sur les tables et enregistrements et les symboles verrouillés pendant la transaction. Commit déverrouille aussi les verrous posés avant le début de la transaction sauf ceux posés sur des symboles.

La mise à jour de la base de données ne se fait qu'au moment du Commit. Avant le commit, les données nouvelles ou modifiées ne sont pas visibles par les autres utilisateurs.

Sur une toute base de donnée, la journalisation est systématique et son paramétrage est interne à ce produit.

 

Remarques

Commitne renvoie aucun statut particulier.

 

Erreurs associées

Erreur

Description

ERRET(32)

Transaction initiée à un niveau supérieur.

PADTRAN(48)

Pasde transaction en cours.

 

Mots-clés associés

TRBEGIN - ROLLBACK- ONERRGO- ONINTGO- ACTIHGUP


SOMMAIRE

Adonix X3(r) L4G
Copyright (c) Adonix 1999 - All rights reserved