]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/Search.pm
search: remove {over_ro} field
[public-inbox.git] / lib / PublicInbox / Search.pm
index b739faf1a50c7eae1ae781078a0621fa71e648c4..b07f4ea6a7285315482ac79ec6a9d1de8f0bf8f3 100644 (file)
@@ -265,8 +265,6 @@ sub new {
                ibx_ver => $ibx->version,
        }, $class;
        xpfx_init($self);
-       my $dir = xdir($self, 1);
-       $self->{over_ro} = PublicInbox::Over->new("$dir/over.sqlite3");
        $self;
 }
 
@@ -279,18 +277,13 @@ sub reopen {
 }
 
 # read-only
-sub query {
+sub mset {
        my ($self, $query_string, $opts) = @_;
        $opts ||= {};
-       if ($query_string eq '' && !$opts->{mset}) {
-               $self->{over_ro}->recent($opts);
-       } else {
-               my $qp = $self->{qp} //= qparse_new($self);
-               my $qp_flags = $self->{qp_flags};
-               my $query = $qp->parse_query($query_string, $qp_flags);
-               $opts->{relevance} = 1 unless exists $opts->{relevance};
-               _do_enquire($self, $query, $opts);
-       }
+       my $qp = $self->{qp} //= qparse_new($self);
+       my $query = $qp->parse_query($query_string, $self->{qp_flags});
+       $opts->{relevance} = 1 unless exists $opts->{relevance};
+       _do_enquire($self, $query, $opts);
 }
 
 sub retry_reopen {
@@ -351,17 +344,17 @@ sub _enquire_once { # retry_reopen callback
        if ($opts->{thread} && has_threadid($self)) {
                $enquire->set_collapse_key(THREADID);
        }
+       $enquire->get_mset($opts->{offset} || 0, $opts->{limit} || 50);
+}
 
-       my $offset = $opts->{offset} || 0;
-       my $limit = $opts->{limit} || 50;
-       my $mset = $enquire->get_mset($offset, $limit);
-       return $mset if $opts->{mset};
+sub mset_to_smsg {
+       my ($self, $ibx, $mset) = @_;
        my $nshard = $self->{nshard} // 1;
        my $i = 0;
        my %order = map { mdocid($nshard, $_) => ++$i } $mset->items;
        my @msgs = sort {
                $order{$a->{num}} <=> $order{$b->{num}}
-       } @{$self->{over_ro}->get_all(keys %order)};
+       } @{$ibx->over->get_all(keys %order)};
        wantarray ? ($mset->get_matches_estimated, \@msgs) : \@msgs;
 }