Показать сообщение отдельно
Старый 20.07.2009, 17:04   #9  
Alterant is offline
Alterant
Участник
 
378 / 10 (1) +
Регистрация: 31.03.2004
Цитата:
Сообщение от rmv Посмотреть сообщение
Как мне представляется блокируются несколько записей, а не диапазон.
Начиная с момента выполнения кода:
Table.Locktabe;
Table.find('+');
и до commit'a или отката транзакции другие клиенты Нава, выполняющие тот же код будут ждать окончания блокировки ПОСЛЕДНЕЙ записи на команде find('+')
Вы правы, я выразился не точно. Только одна поправка - блокируется как последняя запись, так и диапазон, находящийся за ней. Т.е. вставить запись с номером, превышающим номер последней записи, скажем, на миллион тоже не получится. Это я имел ввиду. А вот вставлять в начало или середину таблицы при такой блокировке вполне можно.