Un bug di MySQL, segnalato per la prima volta a giugno del 2005 e classificato come "serio", resta irrisolto a distanza di ben due decenni. Il problema (noto come "Bug 11472") riguarda l'incapacità dei trigger di attivarsi correttamente dopo aggiornamenti o cancellazioni che coinvolgono le chiavi esterne. Nello specifico, un trigger è un frammento di codice che si attiva in automatico a seguito di modifiche come inserimenti o eliminazioni. Si tratta inoltre di un elemento fondamentale per garantire l'integrità dei dati.
Il bug "ventennale" di MySQL
Nonostante gli sviluppatori del noto DBMS relazionale abbiano promesso di risolvere il bug entro il rilascio della versione 5.1, oggi esso è ancora presente nell'applicazione. Nel manuale ufficiale di MySQL è stato chiarito che le operazioni sulle chiavi esterne non attivano i trigger, la sua gravità sarebbe stata però confermata da numerose testimonianze nel corso degli anni. Alcuni utenti sottolineano per esempio come il problema sia in grado di minacciare l'integrità e le proprietà ACID (Atomicità, Coerenza, Isolamento, Durabilità) che sono essenziali per una gestione sicura dei dati.
La lunga permanenza di un difetto di questo tipo avrebbe spinto diversi sviluppatori a lasciare MySQL per alternative come PostgreSQL. A questo proposito DevClass cita una testimonianza risalente a due anni fa che racconta di un team costretto a migrare per il bisogno di integrità dei dati in una piattaforma personalizzata.
Il problema riguarda anche MariaDB
A ciò si aggiunge il fatto che anche MariaDB, fork di MySQL creato dopo l'acquisizione di Sun Microsystems da parte di Oracle, presenta lo stesso bug irrisolto.
MySQL resta al secondo posto nella classifica DB-Engines superato soltanto da Oracle e davanti a Microsoft SQL Server. La sua popolarità sarebbe però in costante declino proprio a beneficio di PostgreSQL. Il bug, ormai parte integrante della storia del progetto, evidenzierebbe l'esistenza di limiti strutturali in MySQL. Per questa ragione, chi richiede integrità e affidabilità potrebbe essere spinto a valutare una alternative oggi offerte dal mercato.