=====Gwibber===== Se base sur mon article de blog [[http://mart-e.be/post/nettoyer-la-base-de-donnee-de-gwibber|Nettoyer la base de donnée de Gwibber]] et parle de [[http://gwibber.com/|Gwibber]] qu'on ne présente plus. ====Structure==== Une base de donnée SQLite3 ''~/.config/gwibber/gwibber.sqlite'', 5 tables * **accounts** : les credentials pour les comptes connectés, token OAuth,... * **searches** : les recherches faites depuis l'application (vous utilisez ça franchement ?) * **streams** : quand on suit une conversation (bof) * **messages** : les status, enfin un truc utile * **sqlite_sequences** : pas compris à quoi ça sert //TODO: identifier le rôle des champs dans ''messages'', en particulier la colonne ''streams''// ====Les commandes==== Gwibber exécute une fonction ''maintenance()'' au démarrage qui sert, en gros, à supprimer les 2000 plus vieux messages. Sauf qu'il existe d'autres types que ''messages'' stockés dans la table ''messages'' (je sais, il faut suivre). sqlite> select count(*), stream from messages group by stream; 1352|images 3797|links 4680|messages 44|private 7|profile 640|replies 41|send_thread 4733|user 1248|videos La commande pour supprimer les 2000 plus vieux messages est la suivante : DELETE FROM messages WHERE operation = 'receive' AND stream = 'messages' AND time IN (SELECT CAST (time AS int) FROM (SELECT time FROM messages WHERE operation = 'receive' AND stream = 'messages' AND time != 0 ORDER BY time ASC LIMIT (SELECT COUNT(time) FROM messages WHERE operation = 'receive' AND stream = 'messages' AND time != 0) - 2000) ORDER BY time ASC); En remplaçant les 3 ''stream = 'messages''' par le type que vous voulez (''links'' a tendance à grandir très fort). On oublie pas de faire la commande ''VACUUM;'' pour purger la base de donnée après avoir fait cela pour réduire la taille du fichier SQLite. ====Cron==== Un jour où je serai motivé, je mettrai tout ça dans un cron. ====Bug==== Le 12 août 2012, j'avais fait un bug report à ce sujet là (le nombre de 'links' qui augmentait beaucoup trop) sur launchpad mais il est resté sans réponse à ce jour (novembre 2012). [[https://bugs.launchpad.net/gwibber/+bug/1035962|Bug #1035962 Maintenance does not clean links]] Si vous pensez que c'est un problème qui mérite d'être résolu, n'hésitez pas à aller voter sur Launchpad pour attirer l'attention des développeurs.