X-Git-Url: http://git.heureux-cyclage.org/?a=blobdiff_plain;f=maintenance%2FcleanupTable.inc;h=cbd1be6b805b8b08c3351ed40598bf2f8e2a635d;hb=e477dfb86e33ef6d4d4e44abbbb5b41b0918cde5;hp=85911ba7c8b08bba3c2bf094a4153319ea4613f6;hpb=4ef471fc3196a383c36e6e41794bc31a49162e5f;p=lhc%2Fweb%2Fwiklou.git diff --git a/maintenance/cleanupTable.inc b/maintenance/cleanupTable.inc index 85911ba7c8..cbd1be6b80 100644 --- a/maintenance/cleanupTable.inc +++ b/maintenance/cleanupTable.inc @@ -21,7 +21,7 @@ * @ingroup Maintenance */ -require_once( __DIR__ . '/Maintenance.php' ); +require_once __DIR__ . '/Maintenance.php'; /** * Generic class to cleanup a database table. Already subclasses Maintenance. @@ -41,6 +41,8 @@ class TableCleanup extends Maintenance { public $batchSize = 100; public $reportInterval = 100; + protected $processed, $updated, $count, $startTime, $table; + public function __construct() { parent::__construct(); $this->addOption( 'dry-run', 'Perform a dry run' ); @@ -62,10 +64,13 @@ class TableCleanup extends Maintenance { $this->processed = 0; $this->updated = 0; $this->count = $count; - $this->startTime = wfTime(); + $this->startTime = microtime( true ); $this->table = $table; } + /** + * @param int $updated + */ protected function progress( $updated ) { $this->updated += $updated; $this->processed++; @@ -75,7 +80,7 @@ class TableCleanup extends Maintenance { $portion = $this->processed / $this->count; $updateRate = $this->updated / $this->processed; - $now = wfTime(); + $now = microtime( true ); $delta = $now - $this->startTime; $estimatedTotalTime = $delta / $portion; $eta = $this->startTime + $estimatedTotalTime; @@ -96,12 +101,16 @@ class TableCleanup extends Maintenance { flush(); } + /** + * @param array $params + * @throws MWException + */ public function runTable( $params ) { $dbr = wfGetDB( DB_SLAVE ); if ( array_diff( array_keys( $params ), - array( 'table', 'conds', 'index', 'callback' ) ) ) - { + array( 'table', 'conds', 'index', 'callback' ) ) + ) { throw new MWException( __METHOD__ . ': Missing parameter ' . implode( ', ', $params ) ); } @@ -111,7 +120,6 @@ class TableCleanup extends Maintenance { $this->init( $count, $table ); $this->output( "Processing $table...\n" ); - $index = (array)$params['index']; $indexConds = array(); $options = array( @@ -156,6 +164,10 @@ class TableCleanup extends Maintenance { $this->output( "Finished $table... $this->updated of $this->processed rows updated\n" ); } + /** + * @param array $matches + * @return string + */ protected function hexChar( $matches ) { return sprintf( "\\x%02x", ord( $matches[1] ) ); }