Reedy has uploaded a new change for review.
https://gerrit.wikimedia.org/r/158310
Change subject: Don't update the entire table in one query
......................................................................
Don't update the entire table in one query
Bug: 70376
Change-Id: I3b9e0678759b06310979e8c68a79ac5653d9bdbd
---
M MergeUser.php
1 file changed, 10 insertions(+), 6 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/UserMerge
refs/changes/10/158310/1
diff --git a/MergeUser.php b/MergeUser.php
index a0a7c99..29dc174 100644
--- a/MergeUser.php
+++ b/MergeUser.php
@@ -111,12 +111,16 @@
$tableName = array_shift( $fieldInfo );
$idField = array_shift( $fieldInfo );
- $dbw->update(
- $tableName,
- array( $idField => $this->newUser->getId() ) +
array_fill_keys( $fieldInfo, $this->newUser->getName() ),
- array( $idField => $this->oldUser->getId() ),
- __METHOD__
- );
+ do {
+ $affected = $dbw->update(
+ $tableName,
+ array( $idField =>
$this->newUser->getId() ) + array_fill_keys( $fieldInfo,
$this->newUser->getName() ),
+ array( $idField =>
$this->oldUser->getId() ),
+ __METHOD__,
+ array( 'LIMIT' => 100 )
+ );
+ wfWaitForSlaves();
+ } while ( $affected > 0 );
}
$dbw->delete( 'user_newtalk', array( 'user_id' =>
$this->oldUser->getId() ) );
--
To view, visit https://gerrit.wikimedia.org/r/158310
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I3b9e0678759b06310979e8c68a79ac5653d9bdbd
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/UserMerge
Gerrit-Branch: master
Gerrit-Owner: Reedy <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits