Index: trunk/phase3/includes/specials/SpecialContributions.php |
— | — | @@ -384,6 +384,8 @@ |
385 | 385 | list( $tables, $index, $userCond, $join_cond ) = $this->getUserCond(); |
386 | 386 | |
387 | 387 | $conds = array_merge( $userCond, $this->getNamespaceCond() ); |
| 388 | + // Paranoia: avoid brute force searches (bug 17792) |
| 389 | + $conds[] = 'rev_deleted & ' . Revision::DELETED_USER . ' = 0'; |
388 | 390 | $join_cond['page'] = array( 'INNER JOIN', 'page_id=rev_page' ); |
389 | 391 | |
390 | 392 | $queryInfo = array( |
— | — | @@ -398,7 +400,8 @@ |
399 | 401 | 'join_conds' => $join_cond |
400 | 402 | ); |
401 | 403 | |
402 | | - ChangeTags::modifyDisplayQuery( $queryInfo['tables'], $queryInfo['fields'], $queryInfo['conds'], $queryInfo['join_conds'], $this->tagFilter ); |
| 404 | + ChangeTags::modifyDisplayQuery( $queryInfo['tables'], $queryInfo['fields'], $queryInfo['conds'], |
| 405 | + $queryInfo['join_conds'], $this->tagFilter ); |
403 | 406 | |
404 | 407 | wfRunHooks( 'ContribsPager::getQueryInfo', array( &$this, &$queryInfo ) ); |
405 | 408 | return $queryInfo; |