Plutot que d'espérer qu'on n'oubliera jamais d'appeler ecrire_metas après un appel de ecrire_meta ou effacer_meta il est beaucoup plus sûr et efficace de détruire le fichier de cache dans ces deux fonctions: le script en cours n'a plus besoin de ce fichier ni de relire tout la table SQL, et encore moins de faire tout ça plusieurs fois s'il y a plusieurs appels a ecrire_metas au cours de son exécution. C'est le prochain script exécuté qui recréera ce fichier à l'entrée de inc/utils (et en cas d'installation il ne faut meme pas chercher à le créer).
Toutes les occurrences de ecrire_metas ont été retirées, et elle passe en vieilles_def comme ne faisant rien. Pour les quelques occurrences où ecrire_metas n'était pas explicitement précédée de ecrire_meta ou effacer_meta, son ancienne définition a été insérée, mais je doute que cela soit utile.
@ -92,8 +92,7 @@ function maj_v019_dist($version_installee, $version_cible)
spip_query("INSERT INTO spip_index (`hash`,`points`,`id_objet`,`id_table`) SELECT `hash`,`points`,`id_syndic` as id_objet,'9' as `id_table FROM spip_index_syndic");
spip_query("DROP TABLE IF EXISTS spip_index_syndic");
lire_metas();
ecrire_metas();
if (lire_metas()) ecrire_fichier(_FILE_META, serialize($GLOBALS['meta']));