diff options
author | Eric Wong <e@80x24.org> | 2024-04-24 06:44:46 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2024-04-24 21:34:46 +0000 |
commit | 1682c7a2264b1083a9cd37151134667edbc31059 (patch) | |
tree | ec909bcc0fe3232299dfd35db12551e015a3b387 | |
parent | 8e4426e3ff9e3dde861d4722b73b5a21c42910d4 (diff) | |
download | public-inbox-1682c7a2264b1083a9cd37151134667edbc31059.tar.gz |
This makes upcoming changes easier to understand.
-rw-r--r-- | lib/PublicInbox/Mbox.pm | 32 |
1 files changed, 14 insertions, 18 deletions
diff --git a/lib/PublicInbox/Mbox.pm b/lib/PublicInbox/Mbox.pm index 52f88ae3..ac565df9 100644 --- a/lib/PublicInbox/Mbox.pm +++ b/lib/PublicInbox/Mbox.pm @@ -175,6 +175,17 @@ sub mbox_all_ids { PublicInbox::MboxGz::mbox_gz($ctx, \&all_ids_cb, 'all'); } +sub refill_result_ids ($) { + my ($ctx) = @_; + # refill result set, deprioritize since there's many results + my $srch = $ctx->{ibx}->isrch or return $ctx->gone('search'); + my $mset = $srch->mset($ctx->{query}, $ctx->{qopts}); + my $size = $mset->size or return; + $ctx->{qopts}->{offset} += $size; + $ctx->{ids} = $srch->mset_to_artnums($mset, $ctx->{qopts}); + $ctx->{-low_prio} = 1; # true +} + sub results_cb { my ($ctx) = @_; my $over = $ctx->{ibx}->over or return $ctx->gone('over'); @@ -183,13 +194,7 @@ sub results_cb { my $smsg = $over->get_art($num) or next; return $smsg; } - # refill result set, deprioritize since there's many results - my $srch = $ctx->{ibx}->isrch or return $ctx->gone('search'); - my $mset = $srch->mset($ctx->{query}, $ctx->{qopts}); - my $size = $mset->size or return; - $ctx->{qopts}->{offset} += $size; - $ctx->{ids} = $srch->mset_to_artnums($mset, $ctx->{qopts}); - $ctx->{-low_prio} = 1; + refill_result_ids($ctx) or return; # refill ctx->{ids} } } @@ -202,19 +207,10 @@ sub results_thread_cb { my $smsg = $over->get_art($num) or next; return $smsg; } + next if $over->expand_thread($ctx); # refills ctx->{xids} - # refills ctx->{xids} - next if $over->expand_thread($ctx); - - # refill result set, deprioritize since there's many results - my $srch = $ctx->{ibx}->isrch or return $ctx->gone('search'); - my $mset = $srch->mset($ctx->{query}, $ctx->{qopts}); - my $size = $mset->size or return; - $ctx->{qopts}->{offset} += $size; - $ctx->{ids} = $srch->mset_to_artnums($mset, $ctx->{qopts}); - $ctx->{-low_prio} = 1; + refill_result_ids($ctx) or return; # refill ctx->{ids} } - } sub mbox_all { |