![]() |
#6 |
Участник
|
![]() Цитата:
X++: run() { Trans trans; Trans buffer; boolean reversed; ; try { select trans order by RecId asc where trans.open; while (trans) { buffer = Trans::find(trans.recid); if (!buffer.open) { if (!reversed) { reversed = true; select trans order by RecId desc where trans.open; continue; } else { break; } } ttsbegin; buffer.selectForUpdate(true); buffer.open = false; buffer.doUpdate(); ....... buffer.update() ttscommit; next trans; } } catch (Exception::Deadlock) { retry; } catch (Exception::UpdateConflict) { retry; } } |
|