There seem to be several bug reports already on searching by dependencies already, but not for this one. I cannot search for bugs that do not depend on, or do not block, a specified bug. Tried both on b.m.o and landfill, hence given version number. Landfill testcase: http://landfill.bugzilla.org/bugzilla-tip/buglist.cgi?product=_test+product&field0-0-0=dependson&type0-0-0=notsubstring&value0-0-0=1356 Reproducible: Always Steps to reproduce: Run the search at the given URL. The b.m.o testcase is: - Only bugs with at least: 51 votes - OtherBugsDependingOnThis does not contain the string 163993 Actual results: I get a list of bugs with 51+ votes that block at least one bug other than 163993. The problem appears to be that it checks each value in a multi-valued field individually, and then succeeds if there is at least one value that does not match, instead of if none match. Expected results: List of all bugs with 51+ votes that _do not_ block bug 163993. The same seems to happen if I choose "does not contain regexp" or "contains none of the words" instead of "does not contain the string".
*** Bug 252449 has been marked as a duplicate of this bug. ***
In order to make any query using dependencies as a factor where the dependency is not requrired to match, these must be a LEFT JOIN. mysql4 is smart enough to optimize that back to an INNER JOIN when possible.
I can see a left join as finding the bugs that don't depend on anything, but I can't at the moment see it eliminating the hundreds of false positives. But I'll see what you come up with....
The negation feature in boolean charts makes this possible. The URL given is no longer the correct query to try it, but you can ask for this now.... http://landfill.bugzilla.org/bugzilla-tip/query.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&product=_test%20product&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&status_whiteboard_type=allwordssubstr&status_whiteboard=&keywords_type=allwords&keywords=&deadlinefrom=&deadlineto=&emailtype1=substring&email1=&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&negate0=1&field0-0-0=dependson&type0-0-0=substring&value0-0-0=1356
Just because a given bug now has a workaround doesn't stop it from being a bug. The bug as described here is still equally there. Moreover, if this combination of fields of the boolean search were not supposed to work, then either it should be giving an error message, or the UI should be programmed so that the user cannot select this combination. Certainly not doing a search that bears no relation to what the user requested. Further, while the boolean negation workaround works to an extent, I can see the possibilities that: - it would take longer to input some more complex searches - it might not be a general solution, with the inherently limited depth of the boolean search design
It actually does exactly what it claims to do, and what the documentation on boolean charts claims it does. If you ask it for any bug on which there is a dependency that does not contain the string 123456, it will give you exactly what you aked for. If, on the other hand, you ask for a chart where there is no dependency that does contain the string 123456, it will give you what you intended in the first place.
How do I ask for any bug on which there is _a_ dependency that does not contain a given string? The options in the boolean search dropdown are BugsThisDependsOn and OtherBugsDependingOnThis, not ABugThisDependsOn and AnOtherBugDependingOnThis.
The docs have been updated to keep pace with this. http://www.bugzilla.org/docs/tip/html/query.html When you define a row, it has a strict boolean interpretation. It will match anything that the criteria specify. In the case of "BugThisDependsOn" "does not contain" "123456", it will match any bug on which there is any dependency that meets that condition - meaning that you will get bugs where there is a dependency on "2456" because "2456" does not contain "123456" The correct query is NOT( "BugThisDependsOn" "contains" "123456" )
All well. But as I look on landfill now, the field names are still in the plural as they appear in the boolean query dropdowns. They should at least be made singular if this behaviour is here to stay. Moreover, the behaviour is inconistent with that of Keywords.
As I said, it works