From: Reedy Date: Fri, 17 May 2013 00:32:13 +0000 (+0100) Subject: Make checkUsernames.php use batches X-Git-Tag: 1.31.0-rc.0~19625^2 X-Git-Url: https://git.cyclocoop.org/%7B%24www_url%7Dadmin/compta/banques/ajouter.php?a=commitdiff_plain;h=e5ba9cac4d86747f976baa87f0f79aef3133b59e;p=lhc%2Fweb%2Fwiklou.git Make checkUsernames.php use batches Bug: 3507 Change-Id: Idb4b84b853f4f86e90a470e937af9017cee15e44 --- diff --git a/maintenance/checkUsernames.php b/maintenance/checkUsernames.php index c6ef8dacb5..8db39363bc 100644 --- a/maintenance/checkUsernames.php +++ b/maintenance/checkUsernames.php @@ -21,7 +21,6 @@ * @ingroup Maintenance */ - require_once( __DIR__ . '/Maintenance.php' ); /** @@ -37,23 +36,32 @@ class CheckUsernames extends Maintenance { public function __construct() { parent::__construct(); $this->mDescription = "Verify that database usernames are actually valid"; + $this->setBatchSize( 1000 ); } function execute() { $dbr = wfGetDB( DB_SLAVE ); - $res = $dbr->select( 'user', - array( 'user_id', 'user_name' ), - null, - __METHOD__ - ); + $maxUserId = 0; + do { + $res = $dbr->select( 'user', + array( 'user_id', 'user_name' ), + array( 'user_id > ' . $maxUserId ), + __METHOD__, + array( + 'ORDER BY' => 'user_id', + 'LIMIT' => $this->mBatchSize, + ) + ); - foreach ( $res as $row ) { - if ( ! User::isValidUserName( $row->user_name ) ) { - $this->error( sprintf( "%s: %6d: '%s'\n", wfWikiID(), $row->user_id, $row->user_name ) ); - wfDebugLog( 'checkUsernames', $row->user_name ); + foreach ( $res as $row ) { + if ( ! User::isValidUserName( $row->user_name ) ) { + $this->error( sprintf( "%s: %6d: '%s'\n", wfWikiID(), $row->user_id, $row->user_name ) ); + wfDebugLog( 'checkUsernames', $row->user_name ); + } } - } + $maxUserId = $row->user_id; + } while( $res->numRows() ); } }