Транзакции в FastAPI + SQLAlchemy async: где открывать, как обрабатывать ошибки, какие уровни изоляции, savepoints, SELECT FOR UPDATE — когда что?