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

По идее, если на шаге 7 первым транзакцию закроет второй пользователь, то ошибку получит первый.
6п не произойдет, т.к будет ожидать завершение транзакции первого пользователя
За это сообщение автора поблагодарили: S.Kuskov (1).