Качановский Дмитрий wrote:
я замечу, что атомарность update это обновит update все записи, попадающие под условие, или при обломе - ни одной ----- попробую упростить - обновить все или ничего - павильно?
Правильно.
с другой стороны про селект в статье о транзакциях (я уже приводил эту цитату), говорится, что атомарность селект
Строго говоря, нет в стандарте такого понятия.
про update найти ничего не удалось, поэтому пробую размышлять логически, изменение данных без чтения невозможно, значит сначала должен выполнится этап чтения данных с параллельным уведомлением всех что "счас буду менять вот эти данные" и _только_если_ этот этап прошел успешно можно данные менять (соответсвенно все другие будут уже знать что именно эти данные меняются и действовать согласно параметров своих транзакций)
В теории так и должно быть.
да, это понятно, но ... вообщем здесь я честно скажу не знаю как правильно вопрос задать, по большому счету меня интересуют детали что происходит внутри сервера, когда вот такое обнаруживается
Читаем запись. Проверяем предикат. Проверяем версию. Ставим EX-лок на страницу и пытаемся обновить, при этом еще раз проверяем версию. Если облом, то выбрасываем исключение и откатываемся до сейвпойнта перед апдейтом.
-- Дмитрий Еманов

