Page MenuHomePhabricator

Move workboard relationships to a dedicated (non-edge) table
Closed, ResolvedPublic


There are two issues with the current edge-based storage:

  • The relationship is three-legged: <projectPHID, columnPHID, objectPHID>. If we have a task and a list of projects, we can not efficiently load the columns that task is in. Instead, we have to load all columns the task is in, or all columns those projects have. Both queries are potentially explosive in terms of the number of objects returned.
  • We don't have anywhere to store ordering for the "keep things where I put them" ordering in T4807.

Event Timeline

epriestley raised the priority of this task from to Normal.
epriestley updated the task description. (Show Details)
epriestley added a project: Workboards.
epriestley added a subscriber: epriestley.

Sorry for the spam but phabricator is amazing!

@swisspol, as our #1 workboards tester, let me know if you see anything suspicious after you pick up this change. This is expected to have no visible effects, but paves the way for fixing T4807.