http://www.mediawiki.org/wiki/Special:Code/MediaWiki/99615
Revision: 99615 Author: aaron Date: 2011-10-12 01:42:46 +0000 (Wed, 12 Oct 2011) Log Message: ----------- Optimized cleanup script a bit and added simple logging Modified Paths: -------------- branches/wmf/1.18wmf1/extensions/FlaggedRevs/maintenance/fixBug28348.inc Modified: branches/wmf/1.18wmf1/extensions/FlaggedRevs/maintenance/fixBug28348.inc =================================================================== --- branches/wmf/1.18wmf1/extensions/FlaggedRevs/maintenance/fixBug28348.inc 2011-10-12 01:07:54 UTC (rev 99614) +++ branches/wmf/1.18wmf1/extensions/FlaggedRevs/maintenance/fixBug28348.inc 2011-10-12 01:42:46 UTC (rev 99615) @@ -19,12 +19,20 @@ $end += $BATCH_SIZE - 1; $blockStart = $start; $blockEnd = $start + $BATCH_SIZE - 1; - + + $logDump = ''; + $count = $changed = 0; while( $blockEnd <= $end ) { echo "...doing fi_rev_id from $blockStart to $blockEnd\n"; - $cond = "fi_rev_id BETWEEN $blockStart AND $blockEnd"; - $res = $db->select( 'flaggedimages', '*', $cond, __FUNCTION__ ); + $cond = "fi_rev_id BETWEEN $blockStart AND $blockEnd" . + " AND fi_img_timestamp IS NOT NULL AND img_name IS NULL"; // optimize + $res = $db->select( array( 'flaggedimages', 'image' ), '*', $cond, + __FUNCTION__, + array(), + array( 'image' => array( 'LEFT JOIN', + 'img_sha1 = fi_img_sha1 AND img_timestamp = fi_img_timestamp' ) ) + ); $db->begin(); # Go through and clean up missing items, as well as correct fr_quality... @@ -51,14 +59,19 @@ __METHOD__ ); $changed++; + $logDump .= "{$row->fi_rev_id} {$row->fi_name} {$fi_img_timestamp}\n"; } } } $db->commit(); + $db->freeResult( $res ); $blockStart += $BATCH_SIZE; $blockEnd += $BATCH_SIZE; wfWaitForSlaves( 5 ); } + + file_put_contents( "bug28348-fixed-" . wfWikiID(), $logDump ); + echo "fi_img_timestamp column fixes complete ... {$count} rows [{$changed} changed]\n"; } _______________________________________________ MediaWiki-CVS mailing list MediaWiki-CVS@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs