Цитата:
Сообщение от
Andrew K.
Как "подкрутить"? Поделитесь, если есть идеи.
Если про "начало" и "конец" транзакции в стандарте, то здесь применен немного другой подход.. Это не ttsbegin, ttscommit в обычном понимании, а та же операция выполняемая в отдельной сессии, . Я подумал ("прочел") что Вы сделали нечто похожее на отдельную ф-ю которая выполняет:
ttsbegin;
deletePlan()
calc()
ttscommit;
Знал бы как не спрашивал. Сопровождал раньше софт под СУБД Оракул - там админ порой делал изумительный тюнинг по моим пожеланиям. Улучшения бывали на порядки (Видимо предварительно чтото портил

).
Про "начало" и "конец" транзакции в стандарте - так там и есть на самом деле все в обычном понимании стандартно. В классе ReqCalc:
ttsbegin;
this.insertData();
...
ttscommit;
В функции insertData() и очистка ReqTrans и RecTransCov присутсвует в прямом виде.
А отдельная сессия есть в этом классе, но она имхо ничего кроме блокировки записи в таблице планов не делает вообще:
connectionLock = new UserConnection();
connectionLock.ttsbegin();
reqPlanLock.setConnection(connectionLock);
select forupdate reqPlanLock
where reqPlanLock.reqPlanId == reqPlanId;
Видимо это просто способ запрета паралельного запуска того же расчета с другого места всего лишь.