Glossaire
SQLite WAL (journal à écriture anticipée)
Le mode WAL de SQLite garde les dernières modifications dans un fichier -wal jusqu'au checkpoint. Pour knowledgeC.db, les événements récents y sont souvent.
Le WAL (write-ahead log, journal à écriture anticipée) est un mode de journalisation de SQLite. Au lieu de modifier directement le fichier principal, SQLite ajoute les pages modifiées sous forme de trames (frames) à un fichier -wal voisin, et un fichier -shm contient l'index en mémoire partagée qui permet aux lecteurs de les retrouver. Seules les trames des transactions validées comptent. Un checkpoint les recopie ensuite dans le fichier principal.
Les deux bases knowledgeC.db fonctionnent en mode WAL : les événements les plus récents n'existent souvent que dans knowledgeC.db-wal. Une copie de knowledgeC.db seule peut laisser croire que l'activité s'est arrêtée des heures ou des jours avant la collecte. Comparer la base avec et sans son WAL révèle les lignes présentes uniquement dans le WAL et celles que le WAL supprime.
Collectez ensemble knowledgeC.db, knowledgeC.db-wal et knowledgeC.db-shm, calculez leurs empreintes et n'ouvrez que des copies : ouvrir une base WAL sur place peut déclencher un checkpoint et modifier la preuve. Le détail figure dans récupérer les événements de knowledgeC.db dans le WAL.