/**
* Support functions for the deleteArchivedRevisions script
*
- * @addtogroup Maintenance
+ * @file
+ * @ingroup Maintenance
* @author Aaron Schulz
*/
# 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" );
+ }
+}