Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
|
gwibber [2012/11/05 17:57] mart created |
gwibber [2019/04/02 11:14] (Version actuelle) |
||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | 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]]. | + | =====Gwibber===== |
| - | ===Structure=== | + | 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 | Une base de donnée SQLite3 ''~/.config/gwibber/gwibber.sqlite'', 5 tables | ||
| Ligne 11: | Ligne 13: | ||
| * **sqlite_sequences** : pas compris à quoi ça sert | * **sqlite_sequences** : pas compris à quoi ça sert | ||
| - | ===Les commandes=== | + | //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). | ||
| + | |||
| + | <code>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</code> | ||
| + | |||
| + | La commande pour supprimer les 2000 plus vieux messages est la suivante : | ||
| + | |||
| + | <code>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);</code> | ||
| + | |||
| + | 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]] | ||
| - | Gwibber exécute une fonction ''maitenance()'' | + | 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. |