]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/Search.pm
run update-copyrights from gnulib for 2019
[public-inbox.git] / lib / PublicInbox / Search.pm
index 9903f427013bebeee9bbd1f427965a8c6cd84ede..a0e6a93b1e4460d08aff18ff2a48a881a5fcd25a 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2015-2018 all contributors <meta@public-inbox.org>
+# Copyright (C) 2015-2019 all contributors <meta@public-inbox.org>
 # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>
 # based on notmuch, but with no concept of folders, files or flags
 #
@@ -131,9 +131,9 @@ sub xdir ($;$) {
                my $dir = "$self->{mainrepo}/xap" . SCHEMA_VERSION;
                return $dir if $rdonly;
 
-               my $part = $self->{partition};
-               defined $part or die "partition not given";
-               $dir .= "/$part";
+               my $shard = $self->{shard};
+               defined $shard or die "shard not given";
+               $dir .= "/$shard";
        }
 }
 
@@ -143,15 +143,15 @@ sub _xdb ($) {
        my ($xdb, $slow_phrase);
        my $qpf = \($self->{qp_flags} ||= $QP_FLAGS);
        if ($self->{version} >= 2) {
-               foreach my $part (<$dir/*>) {
-                       -d $part && $part =~ m!/[0-9]+\z! or next;
-                       my $sub = Search::Xapian::Database->new($part);
+               foreach my $shard (<$dir/*>) {
+                       -d $shard && $shard =~ m!/[0-9]+\z! or next;
+                       my $sub = Search::Xapian::Database->new($shard);
                        if ($xdb) {
                                $xdb->add_database($sub);
                        } else {
                                $xdb = $sub;
                        }
-                       $slow_phrase ||= -f "$part/iamchert";
+                       $slow_phrase ||= -f "$shard/iamchert";
                }
        } else {
                $slow_phrase = -f "$dir/iamchert";
@@ -170,17 +170,12 @@ sub xdb ($) {
 }
 
 sub new {
-       my ($class, $mainrepo, $altid) = @_;
-       my $version = 1;
-       my $ibx = $mainrepo;
-       if (ref $ibx) {
-               $version = $ibx->{version} || 1;
-               $mainrepo = $ibx->{mainrepo};
-       }
+       my ($class, $ibx) = @_;
+       ref $ibx or die "BUG: expected PublicInbox::Inbox object: $ibx";
        my $self = bless {
-               mainrepo => $mainrepo,
-               altid => $altid,
-               version => $version,
+               mainrepo => $ibx->{mainrepo},
+               altid => $ibx->{altid},
+               version => $ibx->{version} // 1,
        }, $class;
        my $dir = xdir($self, 1);
        $self->{over_ro} = PublicInbox::Over->new("$dir/over.sqlite3");