Closed
Bug 40966
Opened 25 years ago
Closed 20 years ago
Implement negation of all boolean chart operators OR expressions
Categories
(Bugzilla :: Query/Bug List, enhancement, P3)
Bugzilla
Query/Bug List
Tracking
()
RESOLVED
DUPLICATE
of bug 245272
People
(Reporter: sidr, Assigned: nobody)
Details
Attachments
(1 file)
8.98 KB,
text/html
|
Details |
Currently Bugzilla has no general way to invert any search term.
In most cases it is possible to "reword" a query to do a desired search
in another way, but not always.
For example,
not( [assigned_to] [equal to] [somebody@somewhere.com] )
could be rewritten as
[assigned_to] [not equal to] [somebody@somewhere.com]
However, since there are not operators for all variants of [changed],
it is possible to rework
not( [assigned_to] [changed after] [1999-12-31] )
to
[assigned_to] [changed before] [2000-01-01]
but it is not possible to rework
not( [assigned_to] [changed to] [somebody@somewhere.com] )
to a simple expression.
The problem is that three of the operators do not have a symmetrical
corresponding operator.
Three ways to proceed:
1. Add in the missing operators. That is, pair up
notcasesubstring with casesubstring,
notchangedto with changedto,
notchangedby with changedby,
and, for completeness, add in
unchanged
as a unary operator to provide a way to express the currently inexpressible
not( [assigned_to] [changed after] [1980-01-01] )
without the extraneous date comparison. That would become the simpler
[assigned_to] [unchanged] [""]
See "Option 1" in the attachment. (Pull down the second <SELECT>).
2. Add a selectable negation operator for each boolean chart expression.
That is, for each expression, allow its result to be negated or not.
See "Option 2" in the attachment. (Pull down the first <SELECT>).
3. Generalize the boolean chart to allow any of "and", "and not", "or", or
"or not" to apply to any expression. ("Or not" expression) would mean
(Or(not(expression))).
See "Option 2" in the attachment. (Pull down the first <SELECT>).
Depending on implementation details, options 2 and 3, while providing
(excuse the pun) freedom of expression, might be too computationally
expensive.
Reporter | ||
Comment 1•25 years ago
|
||
Comment 2•24 years ago
|
||
In Option 3 it is not obvious to me how _And_ and _Or_ rows are bracketed.
Reporter | ||
Comment 3•24 years ago
|
||
Good point. Actually, parentheses would work exactly the same, but if that
wasn't obvious, option 3 is probably more complicated than it is worth.
Normal boolean charts for a query, like Bugzilla's current implementation,
only allow expressions like
(term1 OR term2)
AND (term3 OR term4)
... with implicit parentheses around each line.
Option 3 would both provide more freedom and require more care: there would
still be implicit parentheses around each line, but *within* a line you could
get into trouble. For instance, writing:
(term1 OR term2 AND term3)
AND NOT (term4)
when you mean
(term1 OR term2)
AND (term3)
AND NOT (term4)
With a little care, there would be no problem, so long as you treat each
row as having parentheses and group terms accordingly, but the potential
*does* exist for additional boneheaded goofs.
That said, option 1 would be the simplest to implement, the simplest to
understand, and render the compexities of options 2 or 3 unnecessary.
If the negation of all binary operators were available, the current boolean
chart format would suffice.
Updated•23 years ago
|
Target Milestone: --- → Bugzilla 2.16
Comment 4•23 years ago
|
||
-> Bugzilla product, Query component, reassigning.
Assignee: tara → endico
Component: Bugzilla → Query/Bug List
Product: Webtools → Bugzilla
Version: other → unspecified
Comment 5•23 years ago
|
||
We are currently trying to wrap up Bugzilla 2.16. We are now close enough to
release time that anything that wasn't already ranked at P1 isn't going to make
the cut. Thus this is being retargetted at 2.18. If you strongly disagree with
this retargetting, please comment, however, be aware that we only have about 2
weeks left to review and test anything at this point, and we intend to devote
this time to the remaining bugs that were designated as release blockers.
Target Milestone: Bugzilla 2.16 → Bugzilla 2.18
Updated•21 years ago
|
Summary: RFE: negation of all boolean chart operators OR expressions → Implement negation of all boolean chart operators OR expressions
Updated•21 years ago
|
Assignee: endico → nobody
Comment 6•21 years ago
|
||
Enhancements which don't currently have patches on them which are targetted at
2.18 are being retargetted to 2.20 because we're about to freeze for 2.18.
Consideration will be taken for moving items back to 2.18 on a case-by-case
basis (but is unlikely for enhancements)
Target Milestone: Bugzilla 2.18 → Bugzilla 2.20
Comment 7•20 years ago
|
||
*** This bug has been marked as a duplicate of 245272 ***
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → DUPLICATE
Updated•20 years ago
|
Target Milestone: Bugzilla 2.20 → ---
Updated•12 years ago
|
QA Contact: matty_is_a_geek → default-qa
You need to log in
before you can comment on or make changes to this bug.
Description
•