Bug 804505: Oracle crashes when typing "word1 word2" in QuickSearch with "ORA-29907: found duplicate labels in primary invocations"

r=dkl a=LpSolit


git-svn-id: svn://10.0.0.236/trunk@264401 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
mkanat%bugzilla.org 2012-11-02 23:30:44 +00:00
parent 4ea078339d
commit 77fb2a5ede
4 changed files with 9 additions and 9 deletions

View File

@ -1 +1 @@
8455
8456

View File

@ -520,17 +520,14 @@ sub possible_duplicates {
if ($dbh->FULLTEXT_OR) {
my $joined_terms = join($dbh->FULLTEXT_OR, @words);
($where_sql, $relevance_sql) =
$dbh->sql_fulltext_search('bugs_fulltext.short_desc',
$joined_terms, 1);
$dbh->sql_fulltext_search('bugs_fulltext.short_desc', $joined_terms);
$relevance_sql ||= $where_sql;
}
else {
my (@where, @relevance);
my $count = 0;
foreach my $word (@words) {
$count++;
my ($term, $rel_term) = $dbh->sql_fulltext_search(
'bugs_fulltext.short_desc', $word, $count);
'bugs_fulltext.short_desc', $word);
push(@where, $term);
push(@relevance, $rel_term || $term);
}

View File

@ -159,10 +159,13 @@ sub sql_from_days{
return " TO_DATE($date,'J') ";
}
sub sql_fulltext_search {
my ($self, $column, $text, $label) = @_;
my ($self, $column, $text) = @_;
state $label = 0;
$text = $self->quote($text);
trick_taint($text);
$label++;
return "CONTAINS($column,$text,$label) > 0", "SCORE($label)";
}

View File

@ -2342,9 +2342,9 @@ sub _content_matches {
# Create search terms to add to the SELECT and WHERE clauses.
my ($term1, $rterm1) =
$dbh->sql_fulltext_search("$table.$comments_col", $value, 1);
$dbh->sql_fulltext_search("$table.$comments_col", $value);
my ($term2, $rterm2) =
$dbh->sql_fulltext_search("$table.short_desc", $value, 2);
$dbh->sql_fulltext_search("$table.short_desc", $value);
$rterm1 = $term1 if !$rterm1;
$rterm2 = $term2 if !$rterm2;