Problème de somme de contrôle en mode WAL de SQLite : perte silencieuse de données
Cet article explore une faille dans le mécanisme de somme de contrôle de SQLite en mode journalisation anticipée (WAL). Lorsqu’une incohérence de somme de contrôle se produit dans une trame WAL, SQLite supprime silencieusement la trame défectueuse et toutes les trames suivantes, même si elles ne sont pas corrompues. Cette conception, bien qu’intentionnelle, entraîne une perte de données potentielle. L’auteur analyse les raisons sous-jacentes et propose que SQLite génère une erreur lors de la détection de la corruption au lieu de supprimer silencieusement les données, améliorant ainsi l’intégrité des données. La discussion aborde également le contexte d’utilisation de SQLite dans les systèmes embarqués et les appareils mobiles, où la corruption est plus fréquente.