1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-23 07:12:41 +01:00

Clean up virtual "_ft_rank" column for query construction of Ferret objects

Summary:
Ref T12974. Ferret object queries SELECT a virtual "_ft_rank" column for relevance ordering.

Currently, they always SELECT this column. That's fine and doesn't hurt anything, but makes developing and debugging things kind of a pain since every query has this `, blah blah _ft_rank` junk.

Instead, construct this column only if we're actually going to use it.

Mostly, this cleans up DarkConsole / query logs a bit.

Test Plan:
Viewed normal query results on various pages, viewed global search results, ordered Maniphest tasks by normal stuff and by "Relevance".

Viewed DarkConsole, saw no more "_ft_rank" junk on normal pages.

Reviewers: amckinley

Reviewed By: amckinley

Maniphest Tasks: T12974

Differential Revision: https://secure.phabricator.com/D18728
This commit is contained in:
epriestley 2017-10-23 15:04:06 -07:00
parent 683df399e7
commit 1d213dc1fa

View file

@ -1565,6 +1565,13 @@ abstract class PhabricatorCursorPagedPolicyAwareQuery
return $select; return $select;
} }
$vector = $this->getOrderVector();
if (!$vector->containsKey('rank')) {
// We only need to SELECT the virtual "_ft_rank" column if we're
// actually sorting the results by rank.
return $select;
}
if (!$this->ferretEngine) { if (!$this->ferretEngine) {
$select[] = '0 _ft_rank'; $select[] = '0 _ft_rank';
return $select; return $select;