public function insertOn( $dbw ) {
global $wgDefaultExternalStore, $wgContentHandlerUseDB;
+ // Not allowed to have rev_page equal to 0, false, etc.
+ if ( !$this->mPage ) {
+ $title = $this->getTitle();
+ if ( $title instanceof Title ) {
+ $titleText = ' for page ' . $title->getPrefixedText();
+ } else {
+ $titleText = '';
+ }
+ throw new MWException( "Cannot insert revision$titleText: page ID must be nonzero" );
+ }
+
$this->checkContentModel();
$data = $this->mText;
* @return string
*/
public static function base36Sha1( $text ) {
- return wfBaseConvert( sha1( $text ), 16, 36, 31 );
+ return Wikimedia\base_convert( sha1( $text ), 16, 36, 31 );
}
/**
array(
'page_id' => $pageId,
'page_latest=rev_id',
- ),
- __METHOD__ );
+ ),
+ __METHOD__,
+ array( 'FOR UPDATE' ) // T51581
+ );
if ( $current ) {
if ( !$user ) {