Page MenuHomePhabricator

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

Authored by epriestley on Aug 29 2018, 3:18 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Apr 25, 1:37 AM
Unknown Object (File)
Wed, Apr 24, 3:55 PM
Unknown Object (File)
Fri, Apr 19, 7:53 PM
Unknown Object (File)
Thu, Apr 11, 9:22 AM
Unknown Object (File)
Jan 6 2024, 9:30 AM
Unknown Object (File)
Dec 25 2023, 10:15 PM
Unknown Object (File)
Dec 22 2023, 12:16 AM
Unknown Object (File)
Dec 13 2023, 2:27 AM
Subscribers
Restricted Owners Package

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
Lint Not Applicable
Unit
Tests Not Applicable