From 49107fcc291c21b7efdbb4f6ac1df949004a209a Mon Sep 17 00:00:00 2001 From: Kevin Israel Date: Wed, 26 Aug 2015 00:59:45 -0400 Subject: [PATCH] deleteEqualMessages.php: Avoid "Transaction already in progress" warning Set the $commit parameter of WikiPage::doDeleteArticle() to true so the transaction it starts is explicitly committed. Also fixed similar bugs in two other maintenance scripts. Follows-up 02f17b579060. Bug: T110189 Change-Id: Ifde98066e25cb616f23c8998f9461ebf7a2073d6 --- maintenance/deleteBatch.php | 4 +--- maintenance/deleteDefaultMessages.php | 5 ++--- maintenance/deleteEqualMessages.php | 5 +++-- 3 files changed, 6 insertions(+), 8 deletions(-) diff --git a/maintenance/deleteBatch.php b/maintenance/deleteBatch.php index 93507b3467..e6321e1ffb 100644 --- a/maintenance/deleteBatch.php +++ b/maintenance/deleteBatch.php @@ -97,7 +97,6 @@ class DeleteBatch extends Maintenance { } $this->output( $title->getPrefixedText() ); - $dbw->begin( __METHOD__ ); if ( $title->getNamespace() == NS_FILE ) { $img = wfFindFile( $title, array( 'ignoreRedirect' => true ) ); if ( $img && $img->isLocal() && !$img->delete( $reason ) ) { @@ -106,8 +105,7 @@ class DeleteBatch extends Maintenance { } $page = WikiPage::factory( $title ); $error = ''; - $success = $page->doDeleteArticle( $reason, false, 0, false, $error, $user ); - $dbw->commit( __METHOD__ ); + $success = $page->doDeleteArticle( $reason, false, 0, true, $error, $user ); if ( $success ) { $this->output( " Deleted!\n" ); } else { diff --git a/maintenance/deleteDefaultMessages.php b/maintenance/deleteDefaultMessages.php index 5aeeb8e115..a1c0f616b0 100644 --- a/maintenance/deleteDefaultMessages.php +++ b/maintenance/deleteDefaultMessages.php @@ -76,10 +76,9 @@ class DeleteDefaultMessages extends Maintenance { $dbw->ping(); $title = Title::makeTitle( $row->page_namespace, $row->page_title ); $page = WikiPage::factory( $title ); - $dbw->begin( __METHOD__ ); $error = ''; // Passed by ref - $page->doDeleteArticle( 'No longer required', false, 0, false, $error, $user ); - $dbw->commit( __METHOD__ ); + // FIXME: Deletion failures should be reported, not silently ignored. + $page->doDeleteArticle( 'No longer required', false, 0, true, $error, $user ); } $this->output( "done!\n", 'msg' ); diff --git a/maintenance/deleteEqualMessages.php b/maintenance/deleteEqualMessages.php index dbe9698217..73e65dc504 100644 --- a/maintenance/deleteEqualMessages.php +++ b/maintenance/deleteEqualMessages.php @@ -182,14 +182,15 @@ class DeleteEqualMessages extends Maintenance { $this->output( "\n* [[$title]]" ); $page = WikiPage::factory( $title ); $error = ''; // Passed by ref - $page->doDeleteArticle( 'No longer required', false, 0, false, $error, $user ); + // FIXME: Deletion failures should be reported, not silently ignored. + $page->doDeleteArticle( 'No longer required', false, 0, true, $error, $user ); if ( $result['hasTalk'] && $doDeleteTalk ) { $title = Title::makeTitle( NS_MEDIAWIKI_TALK, $result['title'] ); $this->output( "\n* [[$title]]" ); $page = WikiPage::factory( $title ); $error = ''; // Passed by ref $page->doDeleteArticle( 'Orphaned talk page of no longer required message', - false, 0, false, $error, $user ); + false, 0, true, $error, $user ); } } $this->output( "\n\ndone!\n" ); -- 2.20.1