Hello, Roman!

Roman Rokytskyy wrote:

ошибка. изменить их всегда невозможно в этом случае,

ты уверен? может сейчас что-то изменилось, но вот этот пример когда-то работал без проблем для read committed и rec_version (псевдо-код):

  A.updateRowById(accountId = 1,
      set balance = balance - 3);
A.commit(); // now balance is 2, but B believes it is 5

B.updateRowById(accountId = 1, // <--- Ups! we get no lock conflict!
      set balance = balance - 4);
  B.commit();                          // now balance is -2, not 1

классический read skew. А я писал про обычный deadlock когда A не делает commit, а B делает update.
речь-то не про него, а про ситуацию
если a= no_rec_version

b.UpdateRow
a.ReadRow - ошибка "deadlock"

--
Dmitri Kouzmenko, www.ibase.ru, (495) 953-13-34


Ответить