]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/Search.pm
search: remove unnecessary OP_AND of query
[public-inbox.git] / lib / PublicInbox / Search.pm
index 91251246ccf4ddf20a94af806787aae89637d14a..4e014f4ec1214664b37add315fe1f6eef71a8175 100644 (file)
@@ -179,16 +179,22 @@ sub query {
 }
 
 sub get_thread {
-       my ($self, $mid, $opts) = @_;
-       $self->{over_ro}->get_thread($mid, $opts);
+       my ($self, $mid, $prev) = @_;
+       $self->{over_ro}->get_thread($mid, $prev);
 }
 
 sub retry_reopen {
        my ($self, $cb) = @_;
-       my $ret;
        for my $i (1..10) {
-               eval { $ret = $cb->() };
-               return $ret unless $@;
+               if (wantarray) {
+                       my @ret;
+                       eval { @ret = $cb->() };
+                       return @ret unless $@;
+               } else {
+                       my $ret;
+                       eval { $ret = $cb->() };
+                       return $ret unless $@;
+               }
                # Exception: The revision being read has been discarded -
                # you should call Xapian::Database::reopen()
                if (ref($@) eq 'Search::Xapian::DatabaseModifiedError') {
@@ -210,7 +216,6 @@ sub _do_enquire {
 sub _enquire_once {
        my ($self, $query, $opts) = @_;
        my $enquire = enquire($self);
-       $query = Search::Xapian::Query->new(OP_AND,$query);
        $enquire->set_query($query);
        $opts ||= {};
         my $desc = !$opts->{asc};
@@ -226,8 +231,9 @@ sub _enquire_once {
        my @msgs = map {
                PublicInbox::SearchMsg->load_doc($_->get_document);
        } $mset->items;
+       return \@msgs unless wantarray;
 
-       { total => $mset->get_matches_estimated, msgs => \@msgs }
+       ($mset->get_matches_estimated, \@msgs)
 }
 
 # read-write
@@ -284,8 +290,8 @@ sub query_xover {
 }
 
 sub query_ts {
-       my ($self, $ts, $offset) = @_;
-       $self->{over_ro}->query_ts($ts, $offset);
+       my ($self, $ts, $prev) = @_;
+       $self->{over_ro}->query_ts($ts, $prev);
 }
 
 sub first_smsg_by_mid {