mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-25 00:02:41 +01:00
b8f75f9511
Summary: Ref T11404. Depends on D16350. Currently, custom fields can issue "N+1" queries in some cases, so querying 100 revisions issues 100 extra queries. This affects all `*.search` endpoints for objects with custom fields, and some older endpoints (notably `differential.query`). This change bulk loads "normal" custom fields, which gets rid of some of these queries. Instead of loading fields for each object, we build a big list of all fields and load them all at once. The next change will tackle the remaining inefficient edge queries. Test Plan: - Configured a custom field with normal database storage in Differential. - Ran `differential.query`, looking at custom fields in results for correctness. - Ran `differential.revision.search`, looking at custom fields in results for correctness. - In both cases, observed queries drop from `3N` to `2N` (all the "normal" custom field stuff got bulk loaded). Reviewers: yelirekim, chad Reviewed By: chad Maniphest Tasks: T11404 Differential Revision: https://secure.phabricator.com/D16351 |
||
---|---|---|
.. | ||
__tests__ | ||
application | ||
capability | ||
command | ||
conduit | ||
config | ||
constants | ||
controller | ||
customfield | ||
doorkeeper | ||
edge | ||
editor | ||
engine | ||
engineextension | ||
exception | ||
garbagecollector | ||
herald | ||
landing | ||
lipsum | ||
management | ||
parser | ||
phid | ||
query | ||
relationships | ||
remarkup | ||
render | ||
search | ||
storage | ||
typeahead | ||
view | ||
DifferentialGetWorkingCopy.php |