$blNamespace = "{$prefix}_namespace";
$blTitle = "{$prefix}_title";
+ $pageQuery = WikiPage::getQueryInfo();
$res = $db->select(
- [ $table, 'page' ],
+ [ $table, 'nestpage' => $pageQuery['tables'] ],
array_merge(
[ $blNamespace, $blTitle ],
- WikiPage::selectFields()
+ $pageQuery['fields']
),
[ "{$prefix}_from" => $id ],
__METHOD__,
$options,
- [ 'page' => [
+ [ 'nestpage' => [
'LEFT JOIN',
[ "page_namespace=$blNamespace", "page_title=$blTitle" ]
- ] ]
+ ] ] + $pageQuery['joins']
);
$retVal = [];
$pageId = $this->getArticleID( $flags );
if ( $pageId ) {
$db = ( $flags & self::GAID_FOR_UPDATE ) ? wfGetDB( DB_MASTER ) : wfGetDB( DB_REPLICA );
- $row = $db->selectRow( 'revision', Revision::selectFields(),
+ $revQuery = Revision::getQueryInfo();
+ $row = $db->selectRow( $revQuery['tables'], $revQuery['fields'],
[ 'rev_page' => $pageId ],
__METHOD__,
[
'ORDER BY' => 'rev_timestamp ASC, rev_id ASC',
- 'IGNORE INDEX' => 'rev_timestamp', // See T159319
- ]
+ 'IGNORE INDEX' => [ 'revision' => 'rev_timestamp' ], // See T159319
+ ],
+ $revQuery['joins']
);
if ( $row ) {
return new Revision( $row );
* on the number of links. Typically called on create and delete.
*/
public function touchLinks() {
- DeferredUpdates::addUpdate( new HTMLCacheUpdate( $this, 'pagelinks' ) );
+ DeferredUpdates::addUpdate( new HTMLCacheUpdate( $this, 'pagelinks', 'page-touch' ) );
if ( $this->getNamespace() == NS_CATEGORY ) {
- DeferredUpdates::addUpdate( new HTMLCacheUpdate( $this, 'categorylinks' ) );
+ DeferredUpdates::addUpdate(
+ new HTMLCacheUpdate( $this, 'categorylinks', 'category-touch' )
+ );
}
}