Commit 1ffb7bf1 authored by terry%mozilla.org's avatar terry%mozilla.org

Queries should fully qualify the field name, in case there is more

than one table that have a field with that name.
parent 55ab6c6d
...@@ -317,6 +317,7 @@ sub GenerateSQL { ...@@ -317,6 +317,7 @@ sub GenerateSQL {
my $chartid; my $chartid;
my $f; my $f;
my $ff;
my $t; my $t;
my $q; my $q;
my $v; my $v;
...@@ -435,31 +436,31 @@ sub GenerateSQL { ...@@ -435,31 +436,31 @@ sub GenerateSQL {
",equals" => sub { ",equals" => sub {
$term = "$f = $q"; $term = "$ff = $q";
}, },
",notequals" => sub { ",notequals" => sub {
$term = "$f != $q"; $term = "$ff != $q";
}, },
",casesubstring" => sub { ",casesubstring" => sub {
$term = "INSTR($f, $q)"; $term = "INSTR($ff, $q)";
}, },
",(substring|substr)" => sub { ",(substring|substr)" => sub {
$term = "INSTR(LOWER($f), " . lc($q) . ")"; $term = "INSTR(LOWER($ff), " . lc($q) . ")";
}, },
",notsubstring" => sub { ",notsubstring" => sub {
$term = "INSTR(LOWER($f), " . lc($q) . ") = 0"; $term = "INSTR(LOWER($ff), " . lc($q) . ") = 0";
}, },
",regexp" => sub { ",regexp" => sub {
$term = "LOWER($f) REGEXP $q"; $term = "LOWER($ff) REGEXP $q";
}, },
",notregexp" => sub { ",notregexp" => sub {
$term = "LOWER($f) NOT REGEXP $q"; $term = "LOWER($ff) NOT REGEXP $q";
}, },
",lessthan" => sub { ",lessthan" => sub {
$term = "$f < $q"; $term = "$ff < $q";
}, },
",greaterthan" => sub { ",greaterthan" => sub {
$term = "$f > $q"; $term = "$ff > $q";
}, },
",anyexact" => sub { ",anyexact" => sub {
my @list; my @list;
...@@ -467,18 +468,18 @@ sub GenerateSQL { ...@@ -467,18 +468,18 @@ sub GenerateSQL {
if ($w eq "---" && $f !~ /milestone/) { if ($w eq "---" && $f !~ /milestone/) {
$w = ""; $w = "";
} }
push(@list, "$f = " . SqlQuote($w)); push(@list, "$ff = " . SqlQuote($w));
} }
$term = join(" OR ", @list); $term = join(" OR ", @list);
}, },
",anywords" => sub { ",anywords" => sub {
$term = join(" OR ", @{GetByWordList($f, $v)}); $term = join(" OR ", @{GetByWordList($ff, $v)});
}, },
",allwords" => sub { ",allwords" => sub {
$term = join(" AND ", @{GetByWordList($f, $v)}); $term = join(" AND ", @{GetByWordList($ff, $v)});
}, },
",nowords" => sub { ",nowords" => sub {
my @list = @{GetByWordList($f, $v)}; my @list = @{GetByWordList($ff, $v)};
if (@list) { if (@list) {
$term = "NOT (" . join(" OR ", @list) . ")"; $term = "NOT (" . join(" OR ", @list) . ")";
} }
...@@ -582,6 +583,10 @@ sub GenerateSQL { ...@@ -582,6 +583,10 @@ sub GenerateSQL {
if ($debug) { if ($debug) {
print "<P>$key ($f , $t ) => "; print "<P>$key ($f , $t ) => ";
} }
$ff = $f;
if ($f !~ /\./) {
$ff = "bugs.$f";
}
&$ref; &$ref;
if ($debug) { if ($debug) {
print "$f , $t , $term"; print "$f , $t , $term";
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment