Полный текст
Команда MySQL закрыла баг, который провисел в трекере с лета 2005 года. Разработчики не исправляли давнее архитектурное ограничение 20 лет из-за конфликта между движком InnoDB и SQL-уровнем. Пользователи всё это время поздравляли ошибку с днём рождения и отмечали пройденные жизненные этапы. Исправление выкатили ещё в марте 2026 года, но сообщество заметило фикс только сейчас.При каскадном изменении через внешние ключи база обновляла строки в дочерних таблицах. Ожидаемые триггеры AFTER UPDATE и AFTER DELETE при этом система не запускала. Всё из-за изоляции процессов: каскадные операции выполнялись внутри InnoDB, а триггеры находились на SQL-уровне. Решить проблему удалось только в MySQL 9.6 после переноса обработки внешних ключей на SQL-уровень.Новое поведение инженеры отключили по умолчанию для защиты старых проектов. Создатели просят крайне внимательно внедрять переменную enable_cascade_triggers. Внезапная активация опции может изменить результаты операций и нарушить логику приложений, которые годами работали с багом. В комментариях на Reddit пользователи шутят о потере повода для ежегодной покупки торта и радуются шансу перенести базы из Excel.