Re[9]: Соответствие версий родительских и дочерних записей
От: Федя  
Дата: 06.12.07 10:44
Оценка:
Здравствуйте, ., Вы писали:

.>Dianbi wrote:


>> если оба селекта обернуть в транзакцию с "самым крутым" isolation level

>> никто ничего не удалит пока она не завершится
.>repeatable read гарантирует чтение одних и тех же данных с одинаковым результатом.
.>Он не блокирует всю базу, а только использованные таблицы, а чаще только использованные строки таблицы, так называемый rowlevel lock. Факт чтения из DocPart1 никоим образом не повлияет на результаты чтения из DocPart2! И совершенно неважно какой уровень транзакции.

>>> Не врубился ты. Вот объясняю на пальцах.

.>И ты не врубился. Поэкспериментируй на досуге.

Да, но в нашем случае, поскольку при обновлении частей документа всегда идет обращение к базовой строке для увеличения номера версии, то транзакция, изменяющая запись, будет ждать, пока все не прочитается. Конечно при условии, что опреация изменения номера версии будет в одной транзакции с редактированием дочерних записей.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.