Wierd interaction when filtering by id and boolean expression
"John P. Rouillard" <[email protected]> Sat, 08 Jun 2024 06:35:29 -0400
| Newsgroups | gmane.comp.bug-tracking.roundup.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi all: I am working on https://issues.roundup-tracker.org/issue2550698 to document the Boolean expression syntax. While I was working on adding examples to the user doc, I came across an interesting issue. With the following index url: .../issue?@columns=title,id,creator&@sort=id\ &@filter=id,creator\ &id=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20\ &creator=3,1,-4,4,-4,-2 I get what I expect. None of the issues that are returned were created by user3, user1, or user4 and all the issues have id's in the set 1..20. Now if I change this to use: `&creator=3,1,-4,4,-4` I get issues created by user3, user1 or user4. However the issues that are returned include id's greater than 20. I haven't changed the parameters for @filter or id, just creator. Also another wacky thing: &creator=3,1,-4,4,-4 == &creator=3,1,4 because the default operation is OR. However if I use the query parameter withotu '-4', no issues with an id greater than 20 are shown. I have also tried this with @filter=status,creator and status=open. With the @creator=3,1,4 case, I only see issues with status of open. If I use @creator=3,1,-4,4,-4, I see issues with status open as well as other statuses. Note that even using: @creator=3,1,-4 fails the same way. So explicitly expressing 'OR' using -4 causes other filters to be discarded somehow. That's my working hypothesis, but how/why, got me. Can somebody try a similar experiment on their tracker and see if this weirdness happens on your tracker? Bonus points if you can figure out what's happening here. Thanks. -- -- rouilj John Rouillard =========================================================================== My employers don't acknowledge my existence much less my opinions.