From d7780e12856d83b9f5c58586691e2fbe711321ed Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Thu, 26 Aug 2021 12:33:38 +0000 Subject: move ->ids_after from mm to over Since we favor ->over in WWW and IMAP, move this method to ->over to reduce open files in common cases. This fixes the /$EXTINDEX_NAME/all.mbox.gz endpoint for extindex entries (which may get expensive...). --- lib/PublicInbox/Mbox.pm | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) (limited to 'lib/PublicInbox/Mbox.pm') diff --git a/lib/PublicInbox/Mbox.pm b/lib/PublicInbox/Mbox.pm index 844099aa..f72af26b 100644 --- a/lib/PublicInbox/Mbox.pm +++ b/lib/PublicInbox/Mbox.pm @@ -161,19 +161,17 @@ sub all_ids_cb { my $smsg = $ctx->{over}->get_art($num) or next; return $smsg; } - $ctx->{ids} = $ids = $ctx->{mm}->ids_after(\($ctx->{prev})); + $ctx->{ids} = $ids = $ctx->{over}->ids_after(\($ctx->{prev})); } while (@$ids); } sub mbox_all_ids { my ($ctx) = @_; - my $ibx = $ctx->{ibx}; my $prev = 0; - my $mm = $ctx->{mm} = $ibx->mm; - my $ids = $mm->ids_after(\$prev) or return - [404, [qw(Content-Type text/plain)], ["No results found\n"]]; - $ctx->{over} = $ibx->over or + $ctx->{over} = $ctx->{ibx}->over or return PublicInbox::WWW::need($ctx, 'Overview'); + my $ids = $ctx->{over}->ids_after(\$prev) or return + [404, [qw(Content-Type text/plain)], ["No results found\n"]]; $ctx->{ids} = $ids; $ctx->{prev} = $prev; require PublicInbox::MboxGz; -- cgit v1.2.3-24-ge0c7