From acd9756a1fe74789e2dc187d760c79c81529cd7b Mon Sep 17 00:00:00 2001 From: Chad Horohoe Date: Fri, 4 Dec 2009 14:57:21 +0000 Subject: [PATCH] Change deleteSelfExternals to use Maintenance.php --- maintenance/deleteSelfExternals.php | 63 +++++++++++++++++++++++------ 1 file changed, 51 insertions(+), 12 deletions(-) diff --git a/maintenance/deleteSelfExternals.php b/maintenance/deleteSelfExternals.php index 7beda5dcc2..1ab2839e0c 100644 --- a/maintenance/deleteSelfExternals.php +++ b/maintenance/deleteSelfExternals.php @@ -1,15 +1,54 @@ commit(); - $q = $db->limitResult( "DELETE /* deleteSelfExternals */ FROM externallinks WHERE el_to" - . $db->buildLike( $wgServer . '/', $db->anyString() ), 1000 ); - print "Deleting a batch\n"; - $db->query($q); - if (!$db->affectedRows()) exit(0); +require_once( "Maintenance.php" ); + + +class DeleteSelfExternals extends Maintenance { + public function __construct() { + parent::__construct(); + $this->mDescription = 'Delete self-references to $wgServer from externallinks'; + $this->mBatchSize = 1000; + } + + public function execute() { + global $wgServer; + $this->output( "Deleting self externals from $wgServer\n" ); + $db = wfGetDB(DB_MASTER); + while (1) { + wfWaitForSlaves( 2 ); + $db->commit(); + $q = $db->limitResult( "DELETE /* deleteSelfExternals */ FROM externallinks WHERE el_to" + . $db->buildLike( $wgServer . '/', $db->anyString() ), $this->mBatchSize ); + $this->output( "Deleting a batch\n" ); + $db->query($q); + if (!$db->affectedRows()) exit(0); + } + } } + +$maintClass = "DeleteSelfExternals"; +require_once( DO_MAINTENANCE ); -- 2.20.1