about summary refs log tree commit homepage
path: root/lib/PublicInbox/Search.pm
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2015-09-18 01:37:53 +0000
committerEric Wong <e@80x24.org>2015-09-18 21:23:53 +0000
commit761736a312a103ba522abac52a604564f9e788ce (patch)
tree283a952c417d4be4573e1e26a9b546e0b1fdadf6 /lib/PublicInbox/Search.pm
parent62ee3cb36dd08f17e444e96dc80108464ee10cba (diff)
downloadpublic-inbox-761736a312a103ba522abac52a604564f9e788ce.tar.gz
Implementing NEWNEWS, XHDR, XOVER efficiently will require
additional caching on top of msgmap.

This seems to work with lynx and slrnpull, haven't tried clients.

DO NOT run in production, yet, denial-of-service vulnerabilities
await!
Diffstat (limited to 'lib/PublicInbox/Search.pm')
-rw-r--r--lib/PublicInbox/Search.pm9
1 files changed, 4 insertions, 5 deletions
diff --git a/lib/PublicInbox/Search.pm b/lib/PublicInbox/Search.pm
index a588af43..810eab85 100644
--- a/lib/PublicInbox/Search.pm
+++ b/lib/PublicInbox/Search.pm
@@ -109,8 +109,6 @@ sub get_thread {
         $self->do_enquire($query, $opts);
 }
 
-# private subs below
-
 sub do_enquire {
         my ($self, $query, $opts) = @_;
         my $enquire = $self->enquire;
@@ -120,12 +118,13 @@ sub do_enquire {
                 $query = $mail_query;
         }
         $enquire->set_query($query);
+        $opts ||= {};
+        my $desc = !$opts->{asc};
         if ($opts->{relevance}) {
-                $enquire->set_sort_by_relevance_then_value(TS, 1);
+                $enquire->set_sort_by_relevance_then_value(TS, $desc);
         } else {
-                $enquire->set_sort_by_value_then_relevance(TS, 1);
+                $enquire->set_sort_by_value_then_relevance(TS, $desc);
         }
-        $opts ||= {};
         my $offset = $opts->{offset} || 0;
         my $limit = $opts->{limit} || 50;
         my $mset = $enquire->get_mset($offset, $limit);