about summary refs log tree commit homepage
path: root/lib/PublicInbox/View.pm
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2022-08-29 09:26:38 +0000
committerEric Wong <e@80x24.org>2022-08-29 19:05:49 +0000
commitbe55542acc90572da54d828313c2416ae1c902b1 (patch)
tree001d9a6f38a16a023bd6f6b7a32a30403442a1ca /lib/PublicInbox/View.pm
parenta66a2eddda8ffbb7679f4ef80dba7c7d377cda84 (diff)
downloadpublic-inbox-be55542acc90572da54d828313c2416ae1c902b1.tar.gz
treewide: ditch inbox->recent method
It's a needless wrapper, nowadays.  Originally, ->over was added
on experimental basis to optimize for /$INBOX/ where Xapian
->search is slower on gigantic (LKML-sized) inboxes.

Nowadays with extindex, ->over is here to stay given NNTP and
IMAP both benefit from it.  So reduce the interpreter stack
overhead and just access ->over directly.

lxs->recent was never used outside of tests, anyways.

And while we're in the area, avoid needlessly bumping the
refcount of $ctx->{ibx} in View::paginate_recent.
Diffstat (limited to 'lib/PublicInbox/View.pm')
-rw-r--r--lib/PublicInbox/View.pm5
1 files changed, 2 insertions, 3 deletions
diff --git a/lib/PublicInbox/View.pm b/lib/PublicInbox/View.pm
index 9846fa47..466ec6cf 100644
--- a/lib/PublicInbox/View.pm
+++ b/lib/PublicInbox/View.pm
@@ -1237,12 +1237,11 @@ sub paginate_recent ($$) {
         $t =~ s/\A([0-9]{8,14})-// and $after = str2ts($1);
         $t =~ /\A([0-9]{8,14})\z/ and $before = str2ts($1);
 
-        my $ibx = $ctx->{ibx};
-        my $msgs = $ibx->recent($opts, $after, $before);
+        my $msgs = $ctx->{ibx}->over->recent($opts, $after, $before);
         my $nr = scalar @$msgs;
         if ($nr < $lim && defined($after)) {
                 $after = $before = undef;
-                $msgs = $ibx->recent($opts);
+                $msgs = $ctx->{ibx}->over->recent($opts);
                 $nr = scalar @$msgs;
         }
         my $more = $nr == $lim;