HomePhabricator

Begin formalizing query orders

Description

Begin formalizing query orders

Summary:
Ref T7803. Queries currently have a single getPagingColumn(), which is oversimplified and insufficient to describe many ordering operations. Frequently, orders must span multiple columns.

Move toward an "order vector", which is a list of orderable values like "name, id". These map directly to columns, and are sufficient to actually describe orders. The more modern Query classes (Maniphest, Repository) essentially do this manually anyway.

Test Plan:

  • Added and executed unit tests.
  • Browsed around, verified the correct ORDER BY clauses were generated.

Reviewers: btrahan

Reviewed By: btrahan

Subscribers: epriestley

Maniphest Tasks: T7803

Differential Revision: https://secure.phabricator.com/D12352

Details

Provenance
epriestleyAuthored on
epriestleyPushed on Apr 13 2015, 6:59 PM
Reviewer
btrahan
Differential Revision
D12352: Begin formalizing query orders
Parents
rP9dc114d1159a: Make formatOrderClause() safer
Branches
Unknown
Tags
Unknown
Tasks
T7803: Implement a composite query which unifies cursor paging across subqueries