Date:   Monday February 3, 2003 @ 8:34
Author: matt

Update of /home/cvs/AxKit-XSP-Wiki/lib/AxKit/XSP
In directory ted.sergeant.org:/home/matt/Perl/AxKit-XSP-Wiki/lib/AxKit/XSP

Modified Files:
        Wiki.pm 
Log Message:
Fix some of the SQL in wiki search
Log:
PR:

Index: Wiki.pm
===================================================================
RCS file: /home/cvs/AxKit-XSP-Wiki/lib/AxKit/XSP/Wiki.pm,v
retrieving revision 1.15
retrieving revision 1.16
diff -b -u -r1.15 -r1.16
--- Wiki.pm     2003/02/02 22:44:44     1.15
+++ Wiki.pm     2003/02/03 08:34:34     1.16
@@ -235,8 +235,7 @@
     
     my $sql = "
 SELECT Page.name, SUM(ContentIndex.value) AS value
-FROM ContentIndex, Page
-WHERE Page.id = ContentIndex.page_id";
+FROM ContentIndex, Page";
     
     my @fromlist;
     
@@ -255,8 +254,7 @@
     
     if ($p{normal}) {
         foreach my $word ( @{ $p{normal} } ) {
-            push @fromlist, "Word AS word$word_from_id";
-            $clause .= "AND ContentIndex.word_id LEFT OUTER JOIN 
word$word_from_id\.id\n";
+            push @fromlist, "ContentIndex AS ContentIndex$word_from_id LEFT OUTER 
+JOIN Word AS word$word_from_id ON ContentIndex$word_from_id.word_id = 
+word$word_from_id.id";
             $clause .= "AND word$word_from_id\.word = " . $db->quote($word) . "\n";
             $word_from_id++;
         }
@@ -274,9 +272,10 @@
         $sql .= ", " . join(', ', @fromlist);
     }
     
-    $sql .= "
+    $sql .= "\nWHERE ContentIndex.page_id = Page.id
 $clause
-GROUP BY ContentIndex.page_id";
+GROUP BY ContentIndex.page_id
+ORDER BY SUM(ContentIndex.value) DESC";
     
     warn("About to execute:\n$sql\n");
     
@@ -295,6 +294,8 @@
         my $space = $2;
         next unless length($term);
 
+        $term = lc($term);
+        
         if ($term =~ s/^\+//) {
             $search{required}{$term}++;
             warn "Search required: $term\n";

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to