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. |