Closed Bug 245272 Opened 20 years ago Closed 20 years ago

Add per-chart negation to boolean searches

Categories

(Bugzilla :: Query/Bug List, enhancement, P3)

2.17.7
enhancement

Tracking

()

RESOLVED FIXED
Bugzilla 2.20

People

(Reporter: bugreport, Assigned: bugreport)

References

Details

Attachments

(1 file)

Once boolean charts are fixed so that joins to attachments, CC, etc... are does correctly as LEFT JOINs, it becomes possible to add a "NOT" checkbox (one per boolean chart) that negates the entire boolean chart. This makes it possible to find bugs where there is no comment made by someone who matches "justdave" and whose domain is "@bugzilla.org"
Status: NEW → ASSIGNED
Priority: -- → P3
Target Milestone: --- → Bugzilla 2.20
Depends on: 245158
No longer depends on: 237107
Before I start to implement this, we need to validate a key change in the way that Search.pm works.... I believe that it is true that sql servers, mysql in particular, know that LEFT JOIN bugs_activity ON <criteria> WHERE bugs.activity.<something> IS NOT NULL can be processed as , bugs_activity WHERE <criteria> the reason this is important is the first can be negate correctly as ... LEFT JOIN bugs_activity ON <criteria> WHERE NOT(bugs.activity.<something> IS NOT NULL) while the second cannot be It seems that mysql 4.0.14 and on do this optimization. It is not clear where this comes in on the mysql 3 family. http://dev.mysql.com/doc/mysql/en/LEFT_JOIN_optimisation.html One key point in considering the merits of this.... the queries that would be affected by this are not the ones that get done by most users. This would effect only pretty advanced queries that are probably a tiny fraction of the total.
Actually, most of the cases where this matters already do this correctly. The activity log cases are broken and need to be fixed, but that is independent of this bug.
This makes boolean charts negate so you can search for a bug on which justdave is not on the cc list, etc.. This really can't break anything, but the actual negation cases need to be checked out carefully. I suspect that the types of queries that people attempt once negation is available will expose some bugs in Search.pm that have gone unreported until now.
Attachment #153099 - Flags: review?(justdave)
*** Bug 40966 has been marked as a duplicate of this bug. ***
*** Bug 139771 has been marked as a duplicate of this bug. ***
Comment on attachment 153099 [details] [diff] [review] Patch - implements negation Back end seems to work nicely - does what it says. :) I'm not sure about the UI... checkbox is best, I'm just not sure if the wording would confuse people too much.
Attachment #153099 - Flags: review?(myk)
Attachment #153099 - Flags: review?(justdave)
Attachment #153099 - Flags: review+
Comment on attachment 153099 [details] [diff] [review] Patch - implements negation we need some boolean chart documention/examples, but not seems fine with me
Flags: approval?
Comment on attachment 153099 [details] [diff] [review] Patch - implements negation The UI for this looks bad, but the better ones I can think of all require larger modifications to the boolean charts UI that are out of the scope of this bug. r=myk
Attachment #153099 - Flags: review?(myk)
Flags: approval? → approval+
checked in - fixed filter violation on checkin
Status: ASSIGNED → RESOLVED
Closed: 20 years ago
Flags: documentation?
Resolution: --- → FIXED
*** Bug 188829 has been marked as a duplicate of this bug. ***
The documentation about boolean charts, including negation, has been added in bug 281185.
Flags: documentation?
QA Contact: mattyt-bugzilla → default-qa
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: