Господа. Наткнулся на интересную вещь.
Решил поплеваться ошибками с информацией о блокировке, установленной через select_for_update(nowait=True)
. В SQL ...FOR UPDATE NOWAIT
, что соответсвует ожидаемому поведению.
Но, при попытке сохранить что-то в залоченную строчку, поток просто ждет снятия блокировки. Исключение не выбрасывается, хотя nowait указан явно.
Немного данных: pytest, transactional_db, два потока, один блокирует и засыпает, второй берет строку и пробудет перезаписать значение в колонке.