Показать сообщение отдельно
Старый 22.12.2010, 16:10   #12  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,448 / 1792 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от Владимир Максимов Посмотреть сообщение
Для лучшего понимания процесса - по шагам: ...
На сколько я себе это представляю, модель процесса немного другая:
1. Первый пользователь открыл транзакцию
2. Первый пользователь выполнил InventDim::find() - ничего не нашел
3. Первый пользователь "создал" запись inventDim
4. Второй пользователь открыл транзакцию
5. Второй пользователь выполнил InventDim::find() - ничего не нашел (т.к. первый ещё не закрыл транзакцию)
6. Второй пользователь "создал" запись inventDim
7. Первый пользователь закрыл транзакцию (только тут запись пошла в БД)
8. Второй пользователь попытался закрыть транзакцию - получил сообщение об ошибке

По идее, если на шаге 7 первым транзакцию закроет второй пользователь, то ошибку получит первый.