Worked around bug in older versions of MySQL that caused a report of

one bug matching a keyword when there really are zero.
This commit is contained in:
terry%mozilla.org 2000-01-11 00:26:22 +00:00
Родитель 91b72dd9a1
Коммит 904833ded5
2 изменённых файлов: 18 добавлений и 5 удалений

Просмотреть файл

@ -41,14 +41,19 @@ print qq{
};
SendSQL("SELECT keyworddefs.name, keyworddefs.description,
COUNT(keywords.bug_id)
COUNT(keywords.bug_id), keywords.bug_id
FROM keyworddefs LEFT JOIN keywords ON keyworddefs.id=keywords.keywordid
GROUP BY keyworddefs.id
ORDER BY keyworddefs.name");
while (MoreSQLData()) {
my ($name, $description, $bugs) = FetchSQLData();
if ($bugs) {
my ($name, $description, $bugs, $onebug) = FetchSQLData();
if ($bugs && $onebug) {
# This 'onebug' stuff is silly hackery for old versions of
# MySQL that seem to return a count() of 1 even if there are
# no matching. So, we ask for an actual bug number. If it
# can't find any bugs that match the keyword, then we set the
# count to be zero, ignoring what it had responded.
my $q = url_quote($name);
$bugs = qq{<A HREF="buglist.cgi?keywords=$q">$bugs</A>};
} else {

Просмотреть файл

@ -135,14 +135,22 @@ if ($action eq "") {
</TR>
};
SendSQL("SELECT keyworddefs.id, keyworddefs.name, keyworddefs.description,
COUNT(keywords.bug_id)
COUNT(keywords.bug_id), keywords.bug_id
FROM keyworddefs LEFT JOIN keywords ON keyworddefs.id = keywords.keywordid
GROUP BY keyworddefs.id
ORDER BY keyworddefs.name");
while (MoreSQLData()) {
my ($id, $name, $description, $bugs) = FetchSQLData();
my ($id, $name, $description, $bugs, $onebug) = FetchSQLData();
$description ||= "<FONT COLOR=\"red\">missing</FONT>";
$bugs ||= 'none';
if (!$onebug) {
# This is silly hackery for old versions of MySQL that seem to
# return a count() of 1 even if there are no matching. So, we
# ask for an actual bug number. If it can't find any bugs that
# match the keyword, then we set the count to be zero, ignoring
# what it had responded.
$bugs = 'none';
}
print qq{
<TR>
<TH VALIGN="top"><A HREF="editkeywords.cgi?action=edit&id=$id">$name</TH>