Сообщение от
S.Kuskov
На сколько я себе это представляю, модель процесса немного другая:
1. Первый пользователь открыл транзакцию
2. Первый пользователь выполнил InventDim::find() - ничего не нашел
3. Первый пользователь "создал" запись inventDim
4. Второй пользователь открыл транзакцию
5. Второй пользователь выполнил InventDim::find() - ничего не нашел (т.к. первый ещё не закрыл транзакцию)
6. Второй пользователь "создал" запись inventDim
7. Первый пользователь закрыл транзакцию (только тут запись пошла в БД)
8. Второй пользователь попытался закрыть транзакцию - получил сообщение об ошибке
По идее, если на шаге 7 первым транзакцию закроет второй пользователь, то ошибку получит первый.