A bug search for all tags "foo bar -*" never returns any bug
Bug #619908 reported by
Abel Deuring
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Launchpad itself |
Triaged
|
Low
|
Unassigned |
Bug Description
If a users enters the tag expression "foo -*" and selects the "find all tags" option, the search result will always be empty. The SQL expression returned by build_tag_
BugTask.bug IN (SELECT bug from BugTag WHERE tag = 'foo') AND BugTask.bug NOT IN (SELECT bug from BugTag)
Formally, this is correct, but from a DWIM viewpoint it would be better to return those bugs having the tag 'foo' but no other tags. (Note that we already do a bit of DWIM for searches like 'foo -bar -*' for the "find any tag" search variant: In this case, we silently drop the '*' term.
visibility: | public → private |
Changed in malone: | |
status: | New → Triaged |
importance: | Undecided → Low |
visibility: | private → public |
Anyway, if we want to keep the current behaviour, we should short-cut the long expression to a simple FALSE. (Or is Postgresql clever enough to figure this out automatically?)