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
}
$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 ) ) {
}
$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 {
$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' );
$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" );