Don’t even try to PG_TRY
Ранее я уже рассказывал об особенностях дизайна исключений в PostgreSQL (первый пост, второй пост). Теперь я сделал видео про реализацию исключений на языке С в PostgreSQL.
Залез в код, раскрыл для вас все макросы, показал то что скрыто 😆
Что я рассказал в видео: — для чего именно сделали исключения в PostgreSQL — как на языке С реализовали исключения в PostgreSQL, до самых глубоких деталей — что будет, если нарушать гайдлайны использования PG_TRY — что будет, если не поймать выброшенное исключение — почему в коде PostgreSQL опасно использовать C++
Таймкоды видео: — 00:00 — начало — 01:01 — концепция исключений в языках программирования — 02:56 — пример использования PG_TRY в коде PostgreSQL — 05:26 — с какой целью в PostgreSQL применяется PG_TRY — 07:16 — что ускользает из внимания в документации — 09:48 — как внутри устроен PG_TRY? — 14:30 — магия функции siglongjmp — 17:12 — почему после PG_CATCH нельзя просто продолжить? — 24:02 — где обрабатывается исключение, если нет ни одного PG_CATCH — 28:35 — чего нельзя делать внутри PG_TRY/PG_CATCH и причём тут C++ — 33:49 — итоги
Можно смотреть: — 😉 на моём YouTube-канале — 😄 на странице в ВК