X-Git-Url: https://git.cyclocoop.org/?a=blobdiff_plain;f=www%2Fplugins-dist%2Frevisions%2Fgenie%2Foptimiser_revisions.php;fp=www%2Fplugins-dist%2Frevisions%2Fgenie%2Foptimiser_revisions.php;h=f22e703aa9f9635266b84e889341c44137a3490a;hb=122c920eb07e3f665789f8734965b576e6c25515;hp=0000000000000000000000000000000000000000;hpb=226942065cd4f604eb464addf45a065c9e5bc916;p=lhc%2Fweb%2Fwww.git diff --git a/www/plugins-dist/revisions/genie/optimiser_revisions.php b/www/plugins-dist/revisions/genie/optimiser_revisions.php new file mode 100644 index 00000000..f22e703a --- /dev/null +++ b/www/plugins-dist/revisions/genie/optimiser_revisions.php @@ -0,0 +1,90 @@ + 0", + "A.id_objet", + "A.id_objet"); + while ($row = sql_fetch($res)) $in[$row['id_objet']]=true; + sql_free($sel); + + /** + * Si on a un array + * On supprime toute occurence des objets disparus dans : + * -* spip_versions + * -* spip_versions_fragments + */ + if ($in) { + foreach(array('spip_versions','spip_versions_fragments') as $table){ + sql_delete($table, sql_in('id_objet',array_keys($in)) . " AND objet=".sql_quote($objet['objet'])); + } + } + } +} + +/** + * Optimisation des tables spip_versions et spip_versions_fragments + */ +function optimiser_tables_revision(){ + foreach(array('spip_versions','spip_versions_fragments') as $table){ + spip_log("debut d'optimisation de la table $table"); + if (sql_optimize($table)) + spip_log("fin d'optimisation de la table $table"); + else + spip_log("Pas d'optimiseur necessaire pour $table"); + } +} +?>