X-Git-Url: https://git.cyclocoop.org/%7B%24www_url%7Dadmin/compta/banques/ajouter.php?a=blobdiff_plain;f=www%2Fplugins-dist%2Frevisions%2Fgenie%2Foptimiser_revisions.php;fp=www%2Fplugins-dist%2Frevisions%2Fgenie%2Foptimiser_revisions.php;h=f22e703aa9f9635266b84e889341c44137a3490a;hb=a33c2ba9d919664b3bb0f565f8e9a8b9d8530cdb;hp=0000000000000000000000000000000000000000;hpb=8945248b3d948385798d9aa355c70e7089aca2b3;p=lhc%2Fweb%2Fclavette_www.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 0000000..f22e703 --- /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"); + } +} +?>