X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=maintenance%2FpurgeOldText.inc;h=db961d81ec8fd15a2d2891ebd7dba39277012efc;hb=d966178eadf6f5e30f4049c844fdb6afe827501f;hp=381d62a7fc28e93527b156641e7bc41d9f814199;hpb=617a5b1e15eb52f2fe0b0f7493e6e66eee26c6dd;p=lhc%2Fweb%2Fwiklou.git diff --git a/maintenance/purgeOldText.inc b/maintenance/purgeOldText.inc index 381d62a7fc..db961d81ec 100644 --- a/maintenance/purgeOldText.inc +++ b/maintenance/purgeOldText.inc @@ -3,6 +3,21 @@ /** * Support functions for cleaning up redundant text records * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * http://www.gnu.org/copyleft/gpl.html + * * @file * @ingroup Maintenance * @author Rob Church @@ -12,51 +27,52 @@ function PurgeRedundantText( $delete = false ) { # Data should come off the master, wrapped in a transaction $dbw = wfGetDB( DB_MASTER ); - $dbw->begin(); + $dbw->begin( __METHOD__ ); $tbl_arc = $dbw->tableName( 'archive' ); $tbl_rev = $dbw->tableName( 'revision' ); $tbl_txt = $dbw->tableName( 'text' ); # Get "active" text records from the revisions table - echo( "Searching for active text records in revisions table..." ); + echo "Searching for active text records in revisions table..."; $res = $dbw->query( "SELECT DISTINCT rev_text_id FROM $tbl_rev" ); foreach ( $res as $row ) { $cur[] = $row->rev_text_id; } - echo( "done.\n" ); + echo "done.\n"; # Get "active" text records from the archive table - echo( "Searching for active text records in archive table..." ); + echo "Searching for active text records in archive table..."; $res = $dbw->query( "SELECT DISTINCT ar_text_id FROM $tbl_arc" ); + $cur = array(); foreach ( $res as $row ) { $cur[] = $row->ar_text_id; } - echo( "done.\n" ); + echo "done.\n"; # Get the IDs of all text records not in these sets - echo( "Searching for inactive text records..." ); + echo "Searching for inactive text records..."; $set = implode( ', ', $cur ); $res = $dbw->query( "SELECT old_id FROM $tbl_txt WHERE old_id NOT IN ( $set )" ); $old = array(); foreach ( $res as $row ) { $old[] = $row->old_id; } - echo( "done.\n" ); + echo "done.\n"; # Inform the user of what we're going to do $count = count( $old ); - echo( "$count inactive items found.\n" ); + echo "$count inactive items found.\n"; # Delete as appropriate if ( $delete && $count ) { - echo( "Deleting..." ); + echo "Deleting..."; $set = implode( ', ', $old ); $dbw->query( "DELETE FROM $tbl_txt WHERE old_id IN ( $set )" ); - echo( "done.\n" ); + echo "done.\n"; } # Done - $dbw->commit(); + $dbw->commit( __METHOD__ ); }