HomePhabricator

API: Convert rvstartid/rvendid to timestamps for query

Description

API: Convert rvstartid/rvendid to timestamps for query

We tried something like this once before, but reverted it because it was
an unintended behavior change (see T98467). This time it's intended, we
need it for query optimization.

The behavior changes here are:

  • rvstartid/rvendid is exactly equivalent to specifying rvstart/rvend with the corresponding revisions' timestamps.
  • If the revision for rvstartid/rvendid is not found in the database, an error will be thrown.

This will pull timestamps from deleted revisions, i.e. the archive
table. While this is technically an information leak (that some revision
ID exists as a deleted revision and the time the revision was made),
it's minor and in line with the information revealed in Tool Labs thanks
to T51088.

Bug: T163532
Change-Id: Ida64a377c38b3553aa82ac754d80e8f898caf6c5

Details

Provenance
AnomieAuthored on Apr 21 2017, 3:00 PM
tstarlingCommitted on May 8 2017, 5:47 AM
Parents
rMW80479a45f588: Merge "Have Title::get(Next|Previous)RevisionID sort by timestamp"
Branches
Unknown
Tags
Unknown
ChangeId
Ida64a377c38b3553aa82ac754d80e8f898caf6c5