Follow-up on r49790, r49898, r49899, r49900, r49901, r49902, r49904, r49907, r49908...
[mediawiki.git] / maintenance / deleteArchivedRevisions.inc
blob3cfa614ac89ffc844b4c0c039dd2a0ba0431916b
1 <?php
3 /**
4  * Support functions for the deleteArchivedRevisions script
5  *
6  * @file
7  * @ingroup Maintenance
8  * @author Aaron Schulz
9  */
11 require_once( 'purgeOldText.inc' );
13 function DeleteArchivedRevisions( $delete = false ) {
15         # Data should come off the master, wrapped in a transaction
16         $dbw = wfGetDB( DB_MASTER );
17         $dbw->begin();
18         
19         $tbl_arch = $dbw->tableName( 'archive' );
20         # Delete as appropriate
21         echo( "Deleting archived revisions... " );
23         if( $delete ) {
24                 $dbw->query( "TRUNCATE TABLE $tbl_arch" );
25         
26                 $count = $dbw->affectedRows();
27                 $deletedRows = $count != 0;
29                 echo( "done. $count revisions deleted.\n" );
31                 # This bit's done
32                 # Purge redundant text records
33                 $dbw->commit();
34                 if( $deletedRows ) {
35                         PurgeRedundantText( true );
36                 }
37         } else {
38                 $res = $dbw->selectRow( 'archive', 'COUNT(*) as count', array(), __FUNCTION__ );
39                 echo( "done. {$res->count} revisions to delete.\n" );
40         }