Ded wrote:
Эхх. Придётся как про нулл объяснять. Короче, роллбак - это 3.14дец. Причём всему, что было в транзакции. Вот именно так это слово и следует трактовать. А вот в случае коммита возможны варианты. Те модификации, которые были выполнены, актуализируются, а которые не были - не будут. Не быть они могут по разным причинам - их либо просто никто не делал, либо при выполнении каких-то операторов в этой транзакции получались exceptions, сиречь обломы, что есть другой зверёк и уровень атомарности. А селективно-модифицирующая процедура с суспендом - это, по сути, не один оператор, а последовательность, а оператором явлеяется фетч. Посему изменения в тех шагах цикла, которые выполнились, при коммите актуализируются, а который обломился - нет. И на первый взгляд кажется, что нарушена атомарность уровня оператора. Или облома. На самом деле нифига не нарушено, потому что вызов процедуры - это на самом деле не единичный оператор, а цикл операторов-фетчей. Компрене ву?

Спасибо, Ded
Положу в цитатник, как про нулл и длинные описания exception :-)

Ответить