Cleanup in MagicWord::$mVariableIDs, removed IDs that aren't handled in Parser::getVa...
[lhc/web/wiklou.git] / maintenance / deleteArchivedRevisions.inc
index f820ccb..cd90ecd 100644 (file)
@@ -3,7 +3,8 @@
 /**
  * Support functions for the deleteArchivedRevisions script
  *
- * @addtogroup Maintenance
+ * @file
+ * @ingroup Maintenance
  * @author Aaron Schulz
  */
  
@@ -13,23 +14,30 @@ function DeleteArchivedRevisions( $delete = false ) {
 
        # Data should come off the master, wrapped in a transaction
        $dbw = wfGetDB( DB_MASTER );
-       $dbw->begin();
-       
-       $tbl_arch = $dbw->tableName( 'archive' );
-       # Delete as appropriate
-       echo( "Deleting archived revisions..." );
-       $dbw->query( "TRUNCATE TABLE $tbl_arch" );
-       echo( "done.\n" );
+
+       if( $delete ) {
+               $dbw->begin();
        
-       $delete = $dbw->affectedRows() != 0;
+               $tbl_arch = $dbw->tableName( 'archive' );
+
+               # Delete as appropriate
+               echo( "Deleting archived revisions... " );
+               $dbw->query( "TRUNCATE TABLE $tbl_arch" );
        
-       # This bit's done
-       # Purge redundant text records
-       $dbw->commit();
-       if( $delete ) {
-               PurgeRedundantText( true );
-       }
+               $count = $dbw->affectedRows();
+               $deletedRows = $count != 0;
 
-}
+               echo( "done. $count revisions deleted.\n" );
 
-?>
\ No newline at end of file
+               # This bit's done
+               # Purge redundant text records
+               $dbw->commit();
+               if( $deletedRows ) {
+                       PurgeRedundantText( true );
+               }
+       } else {
+               $res = $dbw->selectRow( 'archive', 'COUNT(*) as count', array(), __FUNCTION__ );
+               echo( "Found {$res->count} revisions to delete.\n" );
+               echo( "Please run the script again with the --delete option to really delete the revisions.\n" );
+       }
+}