BatchLongTran (CM)

De Wiki1000
procedure BatchLongTran;

Cette procédure valide et transmet les objets en transaction au serveur SQL si le nombre d'objet est supérieur ou égale à BatchSize de la transaction.

Pas de paramètre

version650-32x32.png Les remarques suivantes s'appliquent dans un contexte d'exécution parallèle :

  • BatchLongTran ne peut pas être appelé à partir de code parallélisé, l'appel est ignoré.
  • BatchLongTran est un point de synchronisation pour le code parallélisé, l'appel de BatchLongTran :
  • Stop le démarrage de nouvelle exécution parallèle
  • Attend que toutes les exécutions parallèles en cours soient terminées
  • Exécute le batch
  • Redémarre l'exécution du code parallélisé.


Exemple :

var idx:Integer;
begin
  ClassManager.BeginLonTran(100,'MaClass');
  try
    for idx:=0 to VeryBigInt do
     begin
       doProcessItem(idx);
       ClassManager.BatchLongTran;
       // same as :
       // if idx mod 100=0 then ClassManager.BatchLongTran;
     end;
    ClassManager.CommitLongTran;
  except
    ClassManager.RollBackLongTran;
    raise;
  end; 
end;

Voir aussi :

Gestion des transactions (CM)Développement DSM

Outils personnels