![]() |
#5 |
Участник
|
Цитата:
Сообщение от 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; Видимо это просто способ запрета паралельного запуска того же расчета с другого места всего лишь. |
|