egor23
Цитата:
На уровне проги реализован счетчик инсертов, его инкремент после каждой вставки и проверка - упрощенно так:
Код: inc(FTransactionInsertCount);
if FTransactionInsertCount >= InsertCountBeforeCommit then // достигнуто значение, при котором надо завершить транзакцию
try { commit and begin a new transaction }
Commit;
StartTransaction;
FTransactionInsertCount := 0;
except
{ In case of errors, rollback changes and raise the error. }
Rollback;
raise;
end;
Цитата:
а это реализовано не на "уровне SatMap"?
На уровне проги реализован счетчик инсертов, его инкремент после каждой вставки и проверка - упрощенно так:
Код: inc(FTransactionInsertCount);
if FTransactionInsertCount >= InsertCountBeforeCommit then // достигнуто значение, при котором надо завершить транзакцию
try { commit and begin a new transaction }
Commit;
StartTransaction;
FTransactionInsertCount := 0;
except
{ In case of errors, rollback changes and raise the error. }
Rollback;
raise;
end;