Open Bug 467389 Opened 16 years ago Updated 16 years ago

searches excluding blocker list residence seem broken

Categories

(Bugzilla :: Query/Bug List, defect)

x86
Linux
defect
Not set
normal

Tracking

()

People

(Reporter: dkl, Unassigned)

References

()

Details

Description of problem:
It seems that advanced bugzilla searches using the OtherBugsDependingOnThis
field do not correctly allow for exclusion of those bugs already on a blocker
list.  (The desired goal is to search for bugs that are not currently on one of
the two appropriate blocker lists, so that, once identified, they can be fixed.)

How reproducible:
Always

Steps to Reproduce:
1. choose the advanced bugzilla query mechanism
2. select "only include" bugs numbered: 173280
3. under "Advanced Searching Using Boolean Charts", select these values:
      "OtherBugsDependingOnThis" : "does not contain the string" : 168424

Actual Results:  A bug list is generated that *does* include 173280.  This is wrong
because that bug blocks two different other bugs: 168424 and 171043

Expected Results:  The bug list should be empty.

Additional info:

I've tried over a dozen combinations of negating charts and various ways
of searching for words, strings, regexps, and such in that field.  It seems
that every bug that blocks multiple others is wrongly included in the result.
The problem is that the "only include" field is incorrectly labeled. It should probably read "also include these bugs in the list" or something like that. I don't think it's a limiter, I think it's an OR (but I'm not sure).
It looks to be an AND query from what I can tell. Here is the debug output from the search:

0-0 = bug_id | anyexact | 173280 *
,anyexact (bug_id / anyexact / 173280) =>
bug_id / anyexact / 173280 / bugs.bug_id IN ('173280') *
^blocked,(?!changed) (blocked / notsubstring / 168424) =>
blocked / notsubstring / 168424 / blocked_0.blocked IS NOT NULL *

SELECT bugs.bug_id, bugs.bug_severity, bugs.priority, bugs.bug_status, bugs.resolution, map_products.name, bugs.bug_severity, bugs.priority, map_assigned_to.login_name, bugs.bug_status, bugs.resolution, bugs.op_sys, FlagList(bugs.bug_id,'',1) AS flags, IssueTrackerList(bugs.bug_id) AS issuetrackers, bugs.short_desc, bugs.cf_devel_whiteboard FROM bugs INNER JOIN profiles AS map_assigned_to ON (bugs.assigned_to = map_assigned_to.userid) INNER JOIN products AS map_products ON (bugs.product_id = map_products.id) LEFT JOIN dependencies AS blocked_0 ON (blocked_0.dependson = bugs.bug_id AND (INSTR(blocked_0.blocked, '168424') = 0)) LEFT JOIN bug_group_map ON bug_group_map.bug_id = bugs.bug_id LEFT JOIN cc ON cc.bug_id = bugs.bug_id AND cc.who = 6 WHERE (( bugs.bug_id IN ('173280') )) AND ((blocked_0.blocked IS NOT NULL)) AND bugs.creation_ts IS NOT NULL AND ((bug_group_map.group_id IS NULL) OR (bug_group_map.group_id IN (0)) OR (bugs.reporter_accessible = 1 AND bugs.reporter = 6) OR (bugs.cclist_accessible = 1 AND cc.who IS NOT NULL) OR (bugs.assigned_to = 6) OR (bugs.qa_contact = 6) ) GROUP BY bugs.bug_id ORDER BY bugs.bug_id
You need to log in before you can comment on or make changes to this bug.