]> git.ipfire.org Git - thirdparty/bugzilla.git/commitdiff
Bug 879055: Add parenthesis to prevent anywordssubstr search from returning incorrect...
authorSimon Green <sgreen@redhat.com>
Wed, 5 Jun 2013 05:29:58 +0000 (13:29 +0800)
committerByron Jones <bjones@mozilla.com>
Wed, 5 Jun 2013 05:29:58 +0000 (13:29 +0800)
r=glob, a=LpSolit

Bugzilla/Search.pm

index a91a25b0674674810410df14b5c9c1147b230a94..0f395bde969164be6241460eaba1ba0be7ac99a2 100644 (file)
@@ -2682,7 +2682,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)";
     }
 }
 
@@ -2926,14 +2926,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 {
@@ -2945,19 +2945,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 {