From 0d99deaf5b2ba41f425f0fb4092ef36d418654bb Mon Sep 17 00:00:00 2001 From: Simon Green Date: Tue, 4 Jun 2013 13:54:27 +0800 Subject: Bug 879055: anywordssubstr search returns incorrect results --- Bugzilla/Search.pm | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'Bugzilla/Search.pm') diff --git a/Bugzilla/Search.pm b/Bugzilla/Search.pm index a27d3fe64..d393a9918 100644 --- a/Bugzilla/Search.pm +++ b/Bugzilla/Search.pm @@ -2700,7 +2700,7 @@ sub _owner_idle_time_greater_less { "$ld_table.who IS NULL AND $act_table.who IS NULL"; } else { $args->{term} = - "$ld_table.who IS NOT NULL OR $act_table.who IS NOT NULL"; + "($ld_table.who IS NOT NULL OR $act_table.who IS NOT NULL)"; } } @@ -2944,14 +2944,14 @@ sub _anywordsubstr { my ($self, $args) = @_; my @terms = $self->_substring_terms($args); - $args->{term} = join("\n\tOR ", @terms); + $args->{term} = '(' . join("\n\tOR ", @terms) . ')'; } sub _allwordssubstr { my ($self, $args) = @_; my @terms = $self->_substring_terms($args); - $args->{term} = join("\n\tAND ", @terms); + $args->{term} = '(' . join("\n\tAND ", @terms) . ')'; } sub _nowordssubstr { @@ -2963,19 +2963,19 @@ sub _nowordssubstr { sub _anywords { my ($self, $args) = @_; - + my @terms = $self->_word_terms($args); # Because _word_terms uses AND, we need to parenthesize its terms # if there are more than one. @terms = map("($_)", @terms) if scalar(@terms) > 1; - $args->{term} = join("\n\tOR ", @terms); + $args->{term} = '(' . join("\n\tOR ", @terms) . ')'; } sub _allwords { my ($self, $args) = @_; - + my @terms = $self->_word_terms($args); - $args->{term} = join("\n\tAND ", @terms); + $args->{term} = '(' . join("\n\tAND ", @terms) . ')'; } sub _nowords { -- cgit v1.2.3-24-g4f1b