mirror of
https://we.phorge.it/source/phorge.git
synced 2024-11-15 11:22:40 +01:00
8fd20e82fc
Summary: Ref T11404. Depends on D16351. Currently, both `differential.query` and `differential.revision.search` issue `2N` queries to fetch: - dependencies for each revision; and - projects for each revision. Fix this: - Take these custom fields out of Conduit so they don't load this data by default. - For `differential.query`, put this data back in by hard coding it. - For `differential.revision.search`, just leave it out. You can already optionally get projects efficiently, and this endpoint is a work in progress. I would tentatively be inclined to expose graph data as a "graph" extension once we need it. This makes both methods execute in `O(1)` time (which is still 20-30 queries, but at least it's not 320 queries anymore). Test Plan: - Ran `differential.query`, observed no change in results but 199 fewer internal queries. - Ran `differential.revision.search`, observed data gone from results and 200 fewer internal queries. Reviewers: yelirekim, chad Reviewed By: chad Maniphest Tasks: T11404 Differential Revision: https://secure.phabricator.com/D16352 |
||
---|---|---|
.. | ||
DifferentialCloseConduitAPIMethod.php | ||
DifferentialConduitAPIMethod.php | ||
DifferentialCreateCommentConduitAPIMethod.php | ||
DifferentialCreateDiffConduitAPIMethod.php | ||
DifferentialCreateInlineConduitAPIMethod.php | ||
DifferentialCreateRawDiffConduitAPIMethod.php | ||
DifferentialCreateRevisionConduitAPIMethod.php | ||
DifferentialFindConduitAPIMethod.php | ||
DifferentialGetAllDiffsConduitAPIMethod.php | ||
DifferentialGetCommitMessageConduitAPIMethod.php | ||
DifferentialGetCommitPathsConduitAPIMethod.php | ||
DifferentialGetDiffConduitAPIMethod.php | ||
DifferentialGetRawDiffConduitAPIMethod.php | ||
DifferentialGetRevisionCommentsConduitAPIMethod.php | ||
DifferentialGetRevisionConduitAPIMethod.php | ||
DifferentialParseCommitMessageConduitAPIMethod.php | ||
DifferentialQueryConduitAPIMethod.php | ||
DifferentialQueryDiffsConduitAPIMethod.php | ||
DifferentialRevisionSearchConduitAPIMethod.php | ||
DifferentialSetDiffPropertyConduitAPIMethod.php | ||
DifferentialUpdateRevisionConduitAPIMethod.php |