diff options
Diffstat (limited to 'maintenance/purgeOldText.inc')
-rw-r--r-- | maintenance/purgeOldText.inc | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/maintenance/purgeOldText.inc b/maintenance/purgeOldText.inc index 0bd5f2eb..381d62a7 100644 --- a/maintenance/purgeOldText.inc +++ b/maintenance/purgeOldText.inc @@ -9,54 +9,54 @@ */ function PurgeRedundantText( $delete = false ) { - + # Data should come off the master, wrapped in a transaction $dbw = wfGetDB( DB_MASTER ); $dbw->begin(); - + $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..." ); $res = $dbw->query( "SELECT DISTINCT rev_text_id FROM $tbl_rev" ); - while( $row = $dbw->fetchObject( $res ) ) { + foreach ( $res as $row ) { $cur[] = $row->rev_text_id; } echo( "done.\n" ); - + # Get "active" text records from the archive table echo( "Searching for active text records in archive table..." ); $res = $dbw->query( "SELECT DISTINCT ar_text_id FROM $tbl_arc" ); - while( $row = $dbw->fetchObject( $res ) ) { + foreach ( $res as $row ) { $cur[] = $row->ar_text_id; } echo( "done.\n" ); - + # Get the IDs of all text records not in these sets 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(); - while( $row = $dbw->fetchObject( $res ) ) { + foreach ( $res as $row ) { $old[] = $row->old_id; } echo( "done.\n" ); - + # Inform the user of what we're going to do $count = count( $old ); echo( "$count inactive items found.\n" ); - + # Delete as appropriate - if( $delete && $count ) { + if ( $delete && $count ) { echo( "Deleting..." ); $set = implode( ', ', $old ); $dbw->query( "DELETE FROM $tbl_txt WHERE old_id IN ( $set )" ); echo( "done.\n" ); } - + # Done $dbw->commit(); - + } |