diff options
Diffstat (limited to 'lib/PublicInbox/Search.pm')
-rw-r--r-- | lib/PublicInbox/Search.pm | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/lib/PublicInbox/Search.pm b/lib/PublicInbox/Search.pm index 3a27512b..0f102dac 100644 --- a/lib/PublicInbox/Search.pm +++ b/lib/PublicInbox/Search.pm @@ -207,7 +207,7 @@ sub get_thread { # always sort threads by timestamp, this makes life easier # for the threading algorithm (in SearchThread.pm) $opts->{asc} = 1; - + $opts->{enquire} = enquire_skel($self); _do_enquire($self, $qtid, $opts); } @@ -235,7 +235,7 @@ sub _do_enquire { sub _enquire_once { my ($self, $query, $opts) = @_; - my $enquire = $self->enquire; + my $enquire = $opts->{enquire} || enquire($self); if (defined $query) { $query = Search::Xapian::Query->new(OP_AND,$query,$mail_query); } else { @@ -423,6 +423,15 @@ sub enquire { $self->{enquire} ||= Search::Xapian::Enquire->new($self->{xdb}); } +sub enquire_skel { + my ($self) = @_; + if (my $skel = $self->{skel}) { + $self->{enquire_skel} ||= Search::Xapian::Enquire->new($skel); + } else { + enquire($self); + } +} + sub help { my ($self) = @_; $self->qp; # parse altids |