From: Brad Jorsch Date: Fri, 21 Sep 2018 18:32:34 +0000 (-0400) Subject: Add join conditions to ActiveUsersPager X-Git-Tag: 1.34.0-rc.0~3798^2 X-Git-Url: http://git.cyclocoop.org/%7B%24www_url%7Dadmin/compta/pie.php?a=commitdiff_plain;h=15441cabe60d84e17ffb25824aeb095d92bc375a;p=lhc%2Fweb%2Fwiklou.git Add join conditions to ActiveUsersPager We're (very slowly and somewhat unofficially) moving towards using join conditions everywhere, and here they're needed to avoid errors once the actor migration reaches the READ_NEW stage. Bug: T204767 Change-Id: I8bfe861fac7874f8938bed9bfac3b7ec6f478238 --- diff --git a/includes/specials/pagers/ActiveUsersPager.php b/includes/specials/pagers/ActiveUsersPager.php index 87c849aab2..552e92fb00 100644 --- a/includes/specials/pagers/ActiveUsersPager.php +++ b/includes/specials/pagers/ActiveUsersPager.php @@ -83,13 +83,14 @@ class ActiveUsersPager extends UsersPager { $activeUserSeconds = $this->getConfig()->get( 'ActiveUserDays' ) * 86400; $timestamp = $dbr->timestamp( wfTimestamp( TS_UNIX ) - $activeUserSeconds ); - $tables = [ 'querycachetwo', 'user', 'recentchanges' ] + $rcQuery['tables']; - $jconds = $rcQuery['joins']; + $tables = [ 'querycachetwo', 'user', 'rc' => [ 'recentchanges' ] + $rcQuery['tables'] ]; + $jconds = [ + 'user' => [ 'JOIN', 'user_name = qcc_title' ], + 'rc' => [ 'JOIN', $rcQuery['fields']['rc_user_text'] . ' = qcc_title' ], + ] + $rcQuery['joins']; $conds = [ 'qcc_type' => 'activeusers', 'qcc_namespace' => NS_USER, - 'user_name = qcc_title', - $rcQuery['fields']['rc_user_text'] . ' = qcc_title', 'rc_type != ' . $dbr->addQuotes( RC_EXTERNAL ), // Don't count wikidata. 'rc_type != ' . $dbr->addQuotes( RC_CATEGORIZE ), // Don't count categorization changes. 'rc_log_type IS NULL OR rc_log_type != ' . $dbr->addQuotes( 'newusers' ), @@ -100,7 +101,7 @@ class ActiveUsersPager extends UsersPager { } if ( $this->groups !== [] ) { $tables[] = 'user_groups'; - $conds[] = 'ug_user = user_id'; + $jconds['user_groups'] = [ 'JOIN', [ 'ug_user = user_id' ] ]; $conds['ug_group'] = $this->groups; $conds[] = 'ug_expiry IS NULL OR ug_expiry >= ' . $dbr->addQuotes( $dbr->timestamp() ); }