BatchLongTran (CM)
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 |
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);
if idx mod 100=0 then ClassManager.BatchLongTran;
end;
ClassManager.CommitLongTran;
except
ClassManager.RollBackLongTran;
raise;
end;
end;
Voir aussi :