Page MenuHomePhabricator

Throw when callers pass an invalid constraint to a "*.search" method
ClosedPublic

Authored by epriestley on Sep 7 2016, 2:25 PM.
Tags
None
Referenced Files
F14732007: D16507.diff
Sat, Jan 18, 1:16 PM
Unknown Object (File)
Mon, Jan 13, 4:19 AM
Unknown Object (File)
Dec 17 2024, 10:13 AM
Unknown Object (File)
Dec 16 2024, 3:48 PM
Unknown Object (File)
Dec 11 2024, 2:02 PM
Unknown Object (File)
Dec 4 2024, 9:38 AM
Unknown Object (File)
Dec 2 2024, 12:21 PM
Unknown Object (File)
Nov 27 2024, 10:00 PM
Subscribers
None

Details

Summary

Ref T11593. When you call a *.search method like maniphest.search, we don't currently validate that all the constraints you pass are recognized.

I think there were two very weak arguments for not doing this:

  • It makes compatibility in arc across versions slightly easier: if we add a new constraint, we could add it to arc but also do client-side filtering for a while.
  • Conduit parameter types could, in theory, accept multiple inputs or optional/alias inputs.

These reasons are pretty fluff and T11593 is a concrete issue caused by not validating. Just validate instead.

Test Plan
  • Made a maniphest.search call with a bogus constraint, got an explicit error about the bad constraint.
  • Made a maniphest.search call with a valid constraint ("ids").

Diff Detail

Repository
rP Phabricator
Branch
iconstraint
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 13605
Build 17528: Run Core Tests
Build 17527: arc lint + arc unit

Event Timeline

epriestley retitled this revision from to Throw when callers pass an invalid constraint to a "*.search" method.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: chad.
chad edited edge metadata.
This revision is now accepted and ready to land.Sep 7 2016, 3:51 PM
This revision was automatically updated to reflect the committed changes.