diff options
author | terry%mozilla.org <> | 2000-04-07 06:09:02 +0200 |
---|---|---|
committer | terry%mozilla.org <> | 2000-04-07 06:09:02 +0200 |
commit | 1ffb7bf16587fb53433a0b64521b0d4e610f59a2 (patch) | |
tree | f96d1611b434f5ee568e2ab508d3d6fd9563a8e8 | |
parent | 55ab6c6d1753d5cdffc7830df734bdcecb7bfd4e (diff) | |
download | bugzilla-1ffb7bf16587fb53433a0b64521b0d4e610f59a2.tar.gz bugzilla-1ffb7bf16587fb53433a0b64521b0d4e610f59a2.tar.xz |
Queries should fully qualify the field name, in case there is more
than one table that have a field with that name.
-rwxr-xr-x | buglist.cgi | 31 |
1 files changed, 18 insertions, 13 deletions
diff --git a/buglist.cgi b/buglist.cgi index 023d06755..20f2051db 100755 --- a/buglist.cgi +++ b/buglist.cgi @@ -317,6 +317,7 @@ sub GenerateSQL { my $chartid; my $f; + my $ff; my $t; my $q; my $v; @@ -435,31 +436,31 @@ sub GenerateSQL { ",equals" => sub { - $term = "$f = $q"; + $term = "$ff = $q"; }, ",notequals" => sub { - $term = "$f != $q"; + $term = "$ff != $q"; }, ",casesubstring" => sub { - $term = "INSTR($f, $q)"; + $term = "INSTR($ff, $q)"; }, ",(substring|substr)" => sub { - $term = "INSTR(LOWER($f), " . lc($q) . ")"; + $term = "INSTR(LOWER($ff), " . lc($q) . ")"; }, ",notsubstring" => sub { - $term = "INSTR(LOWER($f), " . lc($q) . ") = 0"; + $term = "INSTR(LOWER($ff), " . lc($q) . ") = 0"; }, ",regexp" => sub { - $term = "LOWER($f) REGEXP $q"; + $term = "LOWER($ff) REGEXP $q"; }, ",notregexp" => sub { - $term = "LOWER($f) NOT REGEXP $q"; + $term = "LOWER($ff) NOT REGEXP $q"; }, ",lessthan" => sub { - $term = "$f < $q"; + $term = "$ff < $q"; }, ",greaterthan" => sub { - $term = "$f > $q"; + $term = "$ff > $q"; }, ",anyexact" => sub { my @list; @@ -467,18 +468,18 @@ sub GenerateSQL { if ($w eq "---" && $f !~ /milestone/) { $w = ""; } - push(@list, "$f = " . SqlQuote($w)); + push(@list, "$ff = " . SqlQuote($w)); } $term = join(" OR ", @list); }, ",anywords" => sub { - $term = join(" OR ", @{GetByWordList($f, $v)}); + $term = join(" OR ", @{GetByWordList($ff, $v)}); }, ",allwords" => sub { - $term = join(" AND ", @{GetByWordList($f, $v)}); + $term = join(" AND ", @{GetByWordList($ff, $v)}); }, ",nowords" => sub { - my @list = @{GetByWordList($f, $v)}; + my @list = @{GetByWordList($ff, $v)}; if (@list) { $term = "NOT (" . join(" OR ", @list) . ")"; } @@ -582,6 +583,10 @@ sub GenerateSQL { if ($debug) { print "<P>$key ($f , $t ) => "; } + $ff = $f; + if ($f !~ /\./) { + $ff = "bugs.$f"; + } &$ref; if ($debug) { print "$f , $t , $term"; |