| <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> |
| <HTML |
| ><HEAD |
| ><TITLE |
| >Searching for Bugs</TITLE |
| ><META |
| NAME="GENERATOR" |
| CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK |
| REL="HOME" |
| TITLE="The Bugzilla Guide - 2.20.1 |
| Release" |
| HREF="index.html"><LINK |
| REL="UP" |
| TITLE="Using Bugzilla" |
| HREF="using.html"><LINK |
| REL="PREVIOUS" |
| TITLE="Life Cycle of a Bug" |
| HREF="lifecycle.html"><LINK |
| REL="NEXT" |
| TITLE="Bug Lists" |
| HREF="list.html"></HEAD |
| ><BODY |
| CLASS="section" |
| BGCOLOR="#FFFFFF" |
| TEXT="#000000" |
| LINK="#0000FF" |
| VLINK="#840084" |
| ALINK="#0000FF" |
| ><DIV |
| CLASS="NAVHEADER" |
| ><TABLE |
| SUMMARY="Header navigation table" |
| WIDTH="100%" |
| BORDER="0" |
| CELLPADDING="0" |
| CELLSPACING="0" |
| ><TR |
| ><TH |
| COLSPAN="3" |
| ALIGN="center" |
| >The Bugzilla Guide - 2.20.1 |
| Release</TH |
| ></TR |
| ><TR |
| ><TD |
| WIDTH="10%" |
| ALIGN="left" |
| VALIGN="bottom" |
| ><A |
| HREF="lifecycle.html" |
| ACCESSKEY="P" |
| >Prev</A |
| ></TD |
| ><TD |
| WIDTH="80%" |
| ALIGN="center" |
| VALIGN="bottom" |
| >Chapter 6. Using Bugzilla</TD |
| ><TD |
| WIDTH="10%" |
| ALIGN="right" |
| VALIGN="bottom" |
| ><A |
| HREF="list.html" |
| ACCESSKEY="N" |
| >Next</A |
| ></TD |
| ></TR |
| ></TABLE |
| ><HR |
| ALIGN="LEFT" |
| WIDTH="100%"></DIV |
| ><DIV |
| CLASS="section" |
| ><H1 |
| CLASS="section" |
| ><A |
| NAME="query" |
| >6.5. Searching for Bugs</A |
| ></H1 |
| ><P |
| >The Bugzilla Search page is the interface where you can find |
| any bug report, comment, or patch currently in the Bugzilla system. You |
| can play with it here: |
| <A |
| HREF="http://landfill.bugzilla.org/bugzilla-tip/query.cgi" |
| TARGET="_top" |
| >http://landfill.bugzilla.org/bugzilla-tip/query.cgi</A |
| >.</P |
| ><P |
| >The Search page has controls for selecting different possible |
| values for all of the fields in a bug, as described above. For some |
| fields, multiple values can be selected. In those cases, Bugzilla |
| returns bugs where the content of the field matches any one of the selected |
| values. If none is selected, then the field can take any value.</P |
| ><P |
| >Once you've run a search, you can save it as a Saved Search, which |
| appears in the page footer.</P |
| ><DIV |
| CLASS="section" |
| ><H2 |
| CLASS="section" |
| ><A |
| NAME="boolean" |
| >6.5.1. Boolean Charts</A |
| ></H2 |
| ><P |
| > Highly advanced querying is done using Boolean Charts. |
| </P |
| ><P |
| > The boolean charts further restrict the set of results |
| returned by a query. It is possible to search for bugs |
| based on elaborate combinations of critera. |
| </P |
| ><P |
| > The simplest boolean searches have only one term. These searches |
| permit the selected left <EM |
| >field</EM |
| > |
| to be compared using a |
| selectable <EM |
| >operator</EM |
| > to a |
| specified <EM |
| >value.</EM |
| > |
| Using the "And," "Or," and "Add Another Boolean Chart" buttons, |
| additonal terms can be included in the query, further |
| altering the list of bugs returned by the query. |
| </P |
| ><P |
| > There are three fields in each row of a boolean search. |
| </P |
| ><P |
| ></P |
| ><UL |
| ><LI |
| ><P |
| > <EM |
| >Field:</EM |
| > |
| the items being searched |
| </P |
| ></LI |
| ><LI |
| ><P |
| > <EM |
| >Operator:</EM |
| > |
| the comparison operator |
| </P |
| ></LI |
| ><LI |
| ><P |
| > <EM |
| >Value:</EM |
| > |
| the value to which the field is being compared |
| </P |
| ></LI |
| ></UL |
| ><DIV |
| CLASS="section" |
| ><H3 |
| CLASS="section" |
| ><A |
| NAME="pronouns" |
| >6.5.1.1. Pronoun Substitution</A |
| ></H3 |
| ><P |
| > Sometimes, a query needs to compare a field containing |
| a user's ID (such as ReportedBy) with |
| a user's ID (such as the user running the query or the user |
| to whom each bug is assigned). When the operator is either |
| "equals" or "notequals", the value can be "%reporter%", |
| "%assignee%", "%qacontact%", or "%user%." The user pronoun |
| referes to the user who is executing the query or, in the case |
| of whining reports, the user who will be the recipient |
| of the report. The reporter, assignee, and qacontact |
| pronouns refer to the corresponding fields in the bug. |
| </P |
| ></DIV |
| ><DIV |
| CLASS="section" |
| ><H3 |
| CLASS="section" |
| ><A |
| NAME="negation" |
| >6.5.1.2. Negation</A |
| ></H3 |
| ><P |
| > At first glance, negation seems redundant. Rather than |
| searching for |
| <A |
| NAME="AEN2277" |
| ></A |
| ><BLOCKQUOTE |
| CLASS="BLOCKQUOTE" |
| ><P |
| > NOT("summary" "contains the string" "foo"), |
| </P |
| ></BLOCKQUOTE |
| > |
| one could search for |
| <A |
| NAME="AEN2279" |
| ></A |
| ><BLOCKQUOTE |
| CLASS="BLOCKQUOTE" |
| ><P |
| > ("summary" "does not contain the string" "foo"). |
| </P |
| ></BLOCKQUOTE |
| > |
| However, the search |
| <A |
| NAME="AEN2281" |
| ></A |
| ><BLOCKQUOTE |
| CLASS="BLOCKQUOTE" |
| ><P |
| > ("CC" "does not contain the string" "@mozilla.org") |
| </P |
| ></BLOCKQUOTE |
| > |
| would find every bug where anyone on the CC list did not contain |
| "@mozilla.org" while |
| <A |
| NAME="AEN2283" |
| ></A |
| ><BLOCKQUOTE |
| CLASS="BLOCKQUOTE" |
| ><P |
| > NOT("CC" "contains the string" "@mozilla.org") |
| </P |
| ></BLOCKQUOTE |
| > |
| would find every bug where there was nobody on the CC list who |
| did contain the string. Similarly, the use of negation also permits |
| complex expressions to be built using terms OR'd together and then |
| negated. Negation permits queries such as |
| <A |
| NAME="AEN2285" |
| ></A |
| ><BLOCKQUOTE |
| CLASS="BLOCKQUOTE" |
| ><P |
| > NOT(("product" "equals" "update") OR |
| ("component" "equals" "Documentation")) |
| </P |
| ></BLOCKQUOTE |
| > |
| to find bugs that are neither |
| in the update product or in the documentation component or |
| <A |
| NAME="AEN2287" |
| ></A |
| ><BLOCKQUOTE |
| CLASS="BLOCKQUOTE" |
| ><P |
| > NOT(("commenter" "equals" "%assignee%") OR |
| ("component" "equals" "Documentation")) |
| </P |
| ></BLOCKQUOTE |
| > |
| to find non-documentation |
| bugs on which the assignee has never commented. |
| </P |
| ></DIV |
| ><DIV |
| CLASS="section" |
| ><H3 |
| CLASS="section" |
| ><A |
| NAME="multiplecharts" |
| >6.5.1.3. Multiple Charts</A |
| ></H3 |
| ><P |
| > The terms within a single row of a boolean chart are all |
| constraints on a single piece of data. If you are looking for |
| a bug that has two different people cc'd on it, then you need |
| to use two boolean charts. A search for |
| <A |
| NAME="AEN2292" |
| ></A |
| ><BLOCKQUOTE |
| CLASS="BLOCKQUOTE" |
| ><P |
| > ("cc" "contains the string" "foo@") AND |
| ("cc" "contains the string" "@mozilla.org") |
| </P |
| ></BLOCKQUOTE |
| > |
| would return only bugs with "foo@mozilla.org" on the cc list. |
| If you wanted bugs where there is someone on the cc list |
| containing "foo@" and someone else containing "@mozilla.org", |
| then you would need two boolean charts. |
| <A |
| NAME="AEN2294" |
| ></A |
| ><BLOCKQUOTE |
| CLASS="BLOCKQUOTE" |
| ><P |
| > First chart: ("cc" "contains the string" "foo@") |
| </P |
| ><P |
| > Second chart: ("cc" "contains the string" "@mozilla.org") |
| </P |
| ></BLOCKQUOTE |
| > |
| The bugs listed will be only the bugs where ALL the charts are true. |
| </P |
| ></DIV |
| ></DIV |
| ></DIV |
| ><DIV |
| CLASS="NAVFOOTER" |
| ><HR |
| ALIGN="LEFT" |
| WIDTH="100%"><TABLE |
| SUMMARY="Footer navigation table" |
| WIDTH="100%" |
| BORDER="0" |
| CELLPADDING="0" |
| CELLSPACING="0" |
| ><TR |
| ><TD |
| WIDTH="33%" |
| ALIGN="left" |
| VALIGN="top" |
| ><A |
| HREF="lifecycle.html" |
| ACCESSKEY="P" |
| >Prev</A |
| ></TD |
| ><TD |
| WIDTH="34%" |
| ALIGN="center" |
| VALIGN="top" |
| ><A |
| HREF="index.html" |
| ACCESSKEY="H" |
| >Home</A |
| ></TD |
| ><TD |
| WIDTH="33%" |
| ALIGN="right" |
| VALIGN="top" |
| ><A |
| HREF="list.html" |
| ACCESSKEY="N" |
| >Next</A |
| ></TD |
| ></TR |
| ><TR |
| ><TD |
| WIDTH="33%" |
| ALIGN="left" |
| VALIGN="top" |
| >Life Cycle of a Bug</TD |
| ><TD |
| WIDTH="34%" |
| ALIGN="center" |
| VALIGN="top" |
| ><A |
| HREF="using.html" |
| ACCESSKEY="U" |
| >Up</A |
| ></TD |
| ><TD |
| WIDTH="33%" |
| ALIGN="right" |
| VALIGN="top" |
| >Bug Lists</TD |
| ></TR |
| ></TABLE |
| ></DIV |
| ></BODY |
| ></HTML |
| > |