Спасите авиакомпанию от банкротства — решите задачу для разработчиков

Знакомы с Python и PostgreSQL? Проверьте, удастся ли вам устранить путаницу с билетами.

Спасите авиакомпанию от банкротства — решите задачу для разработчиков
6
3

Нужно использовать транзакции в PostgreSQL с уровнем изоляции SERIALIZABLE или REPEATABLE READ

В данном случае рекомендуется использовать FOR UPDATE для блокировки записей при выполнении SELECT

`SELECT * FROM tickets WHERE place=%place AND flight_id=%flight_id FOR UPDATE`
`UPDATE tickets SET reserved_by=%user_id WHERE id=%ticket_id`

1