From 4b8c7b7cd059b94203cb3911a01dc0a9b8a4b7bc Mon Sep 17 00:00:00 2001 From: Tim Starling Date: Fri, 24 Apr 2009 00:51:25 +0000 Subject: [PATCH] Insert blob_orphans rows in batches. --- maintenance/storage/trackBlobs.php | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/maintenance/storage/trackBlobs.php b/maintenance/storage/trackBlobs.php index 0f25fb9497..fbcc5bc2ef 100644 --- a/maintenance/storage/trackBlobs.php +++ b/maintenance/storage/trackBlobs.php @@ -300,6 +300,7 @@ class TrackBlobs { // Traverse the orphan list $insertBatch = array(); $id = 0; + $numOrphans = 0; while ( true ) { $id = gmp_scan1( $orphans, $id ); if ( $id == -1 ) { @@ -309,12 +310,18 @@ class TrackBlobs { 'bo_cluster' => $cluster, 'bo_blob_id' => $id ); + if ( count( $insertBatch ) > $this->batchSize ) { + $dbw->insert( 'blob_orphans', $insertBatch, __METHOD__ ); + $insertBatch = array(); + } + ++$id; + ++$numOrphans; } - - // Insert the batch - echo "Found " . count( $insertBatch ) . " orphan(s) in $cluster\n"; - $dbw->insert( 'blob_orphans', $insertBatch, __METHOD__ ); + if ( $insertBatch ) { + $dbw->insert( 'blob_orphans', $insertBatch, __METHOD__ ); + } + echo "Found $numOrphans orphan(s) in $cluster\n"; } } } -- 2.20.1