Page MenuHomePhabricator

Continue cleaning up queries in the wake of changes to "%Q"
ClosedPublic

Authored by epriestley on Nov 15 2018, 2:00 PM.
Tags
None
Referenced Files
F13213716: D19814.diff
Fri, May 17, 8:01 AM
F13199582: D19814.diff
Mon, May 13, 4:07 PM
F13199574: D19814.diff
Mon, May 13, 3:59 PM
Unknown Object (File)
Tue, May 7, 9:20 AM
Unknown Object (File)
Mon, May 6, 12:11 PM
Unknown Object (File)
Sat, May 4, 6:59 AM
Unknown Object (File)
Sun, Apr 21, 3:55 PM
Unknown Object (File)
Fri, Apr 19, 8:07 PM
Subscribers

Details

Summary

Depends on D19810. Ref T13217. Ref T13216. I mostly used grep implode | grep OR and grep implode | grep AND to find these -- not totally exhaustive but should be a big chunk of the callsites that are missing %LO / %LA.

Test Plan

These are tricky to test exhaustively, but I made an attempt to hit most of them:

  • Browsed Almanac interfaces.
  • Created/browsed Calendar events.
  • Enabled/disabled/showed the lock log.
  • Browsed repositories.
  • Loaded Facts UI.
  • Poked at Multimeter.
  • Used typeahead for users and projects.
  • Browsed Phriction.
  • Ran various fulltext searches.

Not sure these are reachable:

  • All the lint stuff might be dead/unreachable/nonfunctional?

Diff Detail

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

amckinley added inline comments.
src/infrastructure/query/policy/PhabricatorCursorPagedPolicyAwareQuery.php
1749

We clearly need an`%L+` operator for this extremely common pattern.

This revision is now accepted and ready to land.Nov 16 2018, 7:36 PM

Haha, yeah. Differential had one UNION ALL too but %LU seemed a little ridiculous.

MySQL has a SUM() function but it only works on aggregates and I couldn't find any way to express this as ADD_THESE_UP(%LQ).

This revision was automatically updated to reflect the committed changes.