]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/Inbox.pm
inbox: simplify ->search and callers
[public-inbox.git] / lib / PublicInbox / Inbox.pm
index 5a22e40d086acf5d0b96333aa23a907328a28216..58651687bec4f2d8fe1aa7d864c03ca35c672d3c 100644 (file)
@@ -191,30 +191,30 @@ sub mm {
        };
 }
 
-sub search ($;$$) {
-       my ($self, $over_only, $ctx) = @_;
-       my $srch = $self->{search} ||= eval {
+sub search {
+       my ($self) = @_;
+       my $srch = $self->{search} //= eval {
                _cleanup_later($self);
                require PublicInbox::Search;
                PublicInbox::Search->new($self);
        };
-       ($over_only || eval { $srch->xdb }) ? $srch : do {
-               $ctx and $ctx->{env}->{'psgi.errors'}->print(<<EOF);
-`$self->{name}' search went away unexpectedly
-EOF
-               undef;
-       };
+       (eval { $srch->xdb }) ? $srch : undef;
 }
 
 sub over {
        $_[0]->{over} //= eval {
-               my $srch = search($_[0], 1) or return;
+               my $srch = $_[0]->{search} //= eval {
+                       _cleanup_later($_[0]);
+                       require PublicInbox::Search;
+                       PublicInbox::Search->new($_[0]);
+               };
                my $over = PublicInbox::Over->new("$srch->{xpfx}/over.sqlite3");
                $over->dbh; # may fail
                $over;
        };
 }
 
+
 sub try_cat {
        my ($path) = @_;
        my $rv = '';