summaryrefslogtreecommitdiffstats
path: root/Bugzilla
diff options
context:
space:
mode:
authorFrédéric Buclin <LpSolit@gmail.com>2012-11-03 00:15:51 +0100
committerFrédéric Buclin <LpSolit@gmail.com>2012-11-03 00:15:51 +0100
commit57cc97e041ff65b457fa94a1618699cf9bb9ca13 (patch)
tree6129ec49a04130e8e06d10ccc6010590a11e3916 /Bugzilla
parent63ac4b741efb776ae0e1721cd4c3127e3c4b0e0c (diff)
downloadbugzilla-57cc97e041ff65b457fa94a1618699cf9bb9ca13.tar.gz
bugzilla-57cc97e041ff65b457fa94a1618699cf9bb9ca13.tar.xz
Bug 804505: Oracle crashes when typing "word1 word2" in QuickSearch with "ORA-29907: found duplicate labels in primary invocations"
r=dkl a=LpSolit
Diffstat (limited to 'Bugzilla')
-rw-r--r--Bugzilla/Bug.pm7
-rw-r--r--Bugzilla/DB/Oracle.pm5
-rw-r--r--Bugzilla/Search.pm4
3 files changed, 8 insertions, 8 deletions
diff --git a/Bugzilla/Bug.pm b/Bugzilla/Bug.pm
index 97b8591a7..3b14c4cb2 100644
--- a/Bugzilla/Bug.pm
+++ b/Bugzilla/Bug.pm
@@ -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);
}
diff --git a/Bugzilla/DB/Oracle.pm b/Bugzilla/DB/Oracle.pm
index e6beef5cc..fcc4e88a9 100644
--- a/Bugzilla/DB/Oracle.pm
+++ b/Bugzilla/DB/Oracle.pm
@@ -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)";
}
diff --git a/Bugzilla/Search.pm b/Bugzilla/Search.pm
index 3805cd2ad..8746c2706 100644
--- a/Bugzilla/Search.pm
+++ b/Bugzilla/Search.pm
@@ -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;