summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLadsgroup <Ladsgroup@gmail.com>2022-08-17 07:05:26 +0000
committerLadsgroup <Ladsgroup@gmail.com>2022-08-17 07:05:26 +0000
commit259d81ec6d44290dfd36f725f42e3cb82ca29aa5 (patch)
tree616adf27a6613f5019ceab7f91795df8a0b012bd
parent537d2e86107592d73a0221f864b4dd20d246f88b (diff)
Revert "SpecialRecentChangesLinked: Use rdbms code for building the main query"wmf/1.39.0-wmf.23
This reverts commit 537d2e86107592d73a0221f864b4dd20d246f88b. Reason for revert: Not deploying it now. Change-Id: I557f6c032cffaa2609485ed97057c656b789cb14
-rw-r--r--includes/specials/SpecialRecentChangesLinked.php17
1 files changed, 4 insertions, 13 deletions
diff --git a/includes/specials/SpecialRecentChangesLinked.php b/includes/specials/SpecialRecentChangesLinked.php
index be439dca3835..ee3bc4f253bb 100644
--- a/includes/specials/SpecialRecentChangesLinked.php
+++ b/includes/specials/SpecialRecentChangesLinked.php
@@ -21,11 +21,8 @@
* @ingroup SpecialPage
*/
-use MediaWiki\MainConfigNames;
use MediaWiki\User\UserOptionsLookup;
use Wikimedia\Rdbms\ILoadBalancer;
-use Wikimedia\Rdbms\SelectQueryBuilder;
-use Wikimedia\Rdbms\Subquery;
/**
* This is to display changes made to all articles linked in an article.
@@ -275,16 +272,10 @@ class SpecialRecentChangesLinked extends SpecialRecentChanges {
if ( count( $subsql ) == 1 && $dbr->unionSupportsOrderAndLimit() ) {
$sql = $subsql[0];
} else {
- $queryBuilder = $dbr->newSelectQueryBuilder()
- ->select( '*' )
- ->from(
- (string)( new Subquery( $dbr->unionQueries( $subsql, $dbr::UNION_DISTINCT ) ) ),
- 'main'
- )
- ->orderBy( 'rc_timestamp', SelectQueryBuilder::SORT_DESC )
- ->setMaxExecutionTime( $this->getConfig()->get( MainConfigNames::MaxExecutionTimeForExpensiveQueries ) )
- ->limit( $limit );
- $sql = $queryBuilder->getSQL();
+ // need to resort and relimit after union
+ $sql = $dbr->unionQueries( $subsql, $dbr::UNION_DISTINCT ) .
+ ' ORDER BY rc_timestamp DESC';
+ $sql = $dbr->limitResult( $sql, $limit, false );
}
return $dbr->query( $sql, __METHOD__ );
}