[Rt-commit] r2784 - in rt/branches/QUEBEC-EXPERIMENTAL: . lib/RT/Search lib/t/regression

jesse at bestpractical.com jesse at bestpractical.com
Tue Apr 19 17:37:39 EDT 2005


Author: jesse
Date: Tue Apr 19 17:37:38 2005
New Revision: 2784

Modified:
   rt/branches/QUEBEC-EXPERIMENTAL/   (props changed)
   rt/branches/QUEBEC-EXPERIMENTAL/lib/RT/Search/Googleish.pm
   rt/branches/QUEBEC-EXPERIMENTAL/lib/t/regression/19quicksearch.t
Log:
 r13941 at hualien:  jesse | 2005-04-19 17:16:57 -0400
 * Added FullText search back to simple search


Modified: rt/branches/QUEBEC-EXPERIMENTAL/lib/RT/Search/Googleish.pm
==============================================================================
--- rt/branches/QUEBEC-EXPERIMENTAL/lib/RT/Search/Googleish.pm	(original)
+++ rt/branches/QUEBEC-EXPERIMENTAL/lib/RT/Search/Googleish.pm	Tue Apr 19 17:37:38 2005
@@ -125,20 +125,27 @@
             push @owner_clauses, "Owner = '" . $User->Name . "'";
         }
 
-        # Else, content must contain $key
+        elsif ($key =~ /^fulltext:(.*?)$/i) {
+            $key = $1;
+            $key =~ s/['\\].*//g;
+            push @tql_clauses, "Content LIKE '$key'";
+
+        }
+
+        # Else, subject must contain $key
         else {
-            $key =~ s/['\\].*//;
+            $key =~ s/['\\].*//g;
             push @tql_clauses, "Subject LIKE '$key'";
         }
     }
 
-    push @tql_clauses, join( " OR ", @id_clauses );
-    push @tql_clauses, join( " OR ", @owner_clauses );
-    push @tql_clauses, join( " OR ", @status_clauses );
-    push @tql_clauses, join( " OR ", @user_clauses );
-    push @tql_clauses, join( " OR ", @queue_clauses );
+    push @tql_clauses, join( " OR ", sort @id_clauses );
+    push @tql_clauses, join( " OR ", sort @owner_clauses );
+    push @tql_clauses, join( " OR ", sort @status_clauses );
+    push @tql_clauses, join( " OR ", sort @user_clauses );
+    push @tql_clauses, join( " OR ", sort @queue_clauses );
     @tql_clauses = grep { $_ ? "( $_ )" : undef } @tql_clauses;
-    return join " AND ", @tql_clauses;
+    return join " AND ", sort @tql_clauses;
 }
 # }}}
 

Modified: rt/branches/QUEBEC-EXPERIMENTAL/lib/t/regression/19quicksearch.t
==============================================================================
--- rt/branches/QUEBEC-EXPERIMENTAL/lib/t/regression/19quicksearch.t	(original)
+++ rt/branches/QUEBEC-EXPERIMENTAL/lib/t/regression/19quicksearch.t	Tue Apr 19 17:37:38 2005
@@ -27,12 +27,11 @@
 my $quick = RT::Search::Googleish->new(Argument => "",
                                  TicketsObj => $tickets);
 my @tests = (
+    "fulltext:jesse"       => "Content LIKE 'jesse'",
     $queue                 => "Queue = '$queue'",
-    "root $queue"          => "Queue = '$queue' AND Owner = 'root'",
-    "notauser $queue"      => "Subject LIKE 'notauser' AND Queue = '$queue'",
-    "notauser $queue root" => "Subject LIKE 'notauser' AND Queue = '$queue'".
-                              " AND Owner = 'root'"
-);
+    "root $queue"          => "Owner = 'root' AND Queue = '$queue'",
+    "notauser $queue"      => "Queue = '$queue' AND Subject LIKE 'notauser'",
+    "notauser $queue root" => "Owner = 'root' AND Queue = '$queue' AND Subject LIKE 'notauser'");
 
 while (my ($from, $to) = splice @tests, 0, 2) {
     is($quick->QueryToSQL($from), $to, "<$from> -> <$to>");


More information about the Rt-commit mailing list