Page MenuHomePhabricator

Move Phriction internal document/content references from IDs to PHIDs
ClosedPublic

Authored by epriestley on Aug 29 2018, 3:18 PM.

Details

Summary

Ref T13077. This is mostly just a small cleanup change, even though the actual change is large.

We currently reference content and document objects from one another with contentID and documentID, but this means that contentID must be nullable. Switching to PHIDs allows the column to be non-nullable.

This also supports reorienting some current and future transactions around PHIDs, which is preferable for the API. In particular, I'm adding a "publish version X" transaction soon, and would rather callers pass a PHID than an ID or version number, since this will make the API more consistent and powerful.

Today, contentID gets used as a cheaty way to order documents by (content) edit time. Since PHIDs aren't orderable and stuff is going to become actually-revertible soon, replace this with an epoch timestamp.

Test Plan
  • Created, edited, moved, retitled, and deleted Phriction documents.
  • Grepped for documentID and contentID.
  • This probably breaks something but I'll be in this code for a bit and am likely to catch whatever breaks.

Diff Detail

Repository
rP Phabricator
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

epriestley created this revision.Aug 29 2018, 3:18 PM
Owners added a subscriber: Restricted Owners Package.Aug 29 2018, 3:18 PM
epriestley requested review of this revision.Aug 29 2018, 3:19 PM
This revision was not accepted when it landed; it landed in state Needs Review.Aug 29 2018, 8:41 PM
This revision was automatically updated to reflect the committed changes.