about summary refs log tree commit homepage
path: root/lib/PublicInbox
diff options
context:
space:
mode:
authorEric Wong (Contractor, The Linux Foundation) <e@80x24.org>2018-03-02 20:46:55 +0000
committerEric Wong (Contractor, The Linux Foundation) <e@80x24.org>2018-03-02 20:46:55 +0000
commit44ff716b116f10ae42372f9f517356000636e571 (patch)
treeb69afdd2f8c37c6fec0c7c17e97d9349b6d2341f /lib/PublicInbox
parentf80ef6a32b28f54415f79513537f6c9fcd58a244 (diff)
downloadpublic-inbox-44ff716b116f10ae42372f9f517356000636e571.tar.gz
'Q' is merely a convention in the Xapian world, and is close
enough to unique for practical purposes, so stop using XMID
and gain a little more term length as a result.
Diffstat (limited to 'lib/PublicInbox')
-rw-r--r--lib/PublicInbox/ExtMsg.pm2
-rw-r--r--lib/PublicInbox/Search.pm8
-rw-r--r--lib/PublicInbox/SearchIdx.pm8
-rw-r--r--lib/PublicInbox/SearchIdxSkeleton.pm2
-rw-r--r--lib/PublicInbox/SearchMsg.pm2
5 files changed, 11 insertions, 11 deletions
diff --git a/lib/PublicInbox/ExtMsg.pm b/lib/PublicInbox/ExtMsg.pm
index 90d68db8..f3076a34 100644
--- a/lib/PublicInbox/ExtMsg.pm
+++ b/lib/PublicInbox/ExtMsg.pm
@@ -46,7 +46,7 @@ sub ext_msg {
                 }
 
                 # try to find the URL with Xapian to avoid forking
-                my $doc_id = eval { $s->find_first_doc_id('XMID' . $mid) };
+                my $doc_id = eval { $s->find_first_doc_id('Q' . $mid) };
                 if ($@) {
                         # xapian not configured properly for this repo
                         push @nox, $other;
diff --git a/lib/PublicInbox/Search.pm b/lib/PublicInbox/Search.pm
index c074410c..74f406ad 100644
--- a/lib/PublicInbox/Search.pm
+++ b/lib/PublicInbox/Search.pm
@@ -56,7 +56,7 @@ my %bool_pfx_internal = (
 );
 
 my %bool_pfx_external = (
-        mid => 'XMID', # Message-ID (full/exact)
+        mid => 'Q', # Message-ID (full/exact), this is mostly uniQue
 );
 
 my %prob_prefix = (
@@ -333,7 +333,7 @@ sub lookup_skeleton {
         my ($self, $mid) = @_;
         my $skel = $self->{skel} or return lookup_message($self, $mid);
         $mid = mid_clean($mid);
-        my $term = 'XMID' . $mid;
+        my $term = 'Q' . $mid;
         my $smsg;
         my $beg = $skel->postlist_begin($term);
         if ($beg != $skel->postlist_end($term)) {
@@ -352,7 +352,7 @@ sub lookup_message {
         my ($self, $mid) = @_;
         $mid = mid_clean($mid);
 
-        my $doc_id = $self->find_first_doc_id('XMID' . $mid);
+        my $doc_id = $self->find_first_doc_id('Q' . $mid);
         my $smsg;
         if (defined $doc_id) {
                 # raises on error:
@@ -377,7 +377,7 @@ sub each_smsg_by_mid {
         my $xdb = $self->{xdb};
         # XXX retry_reopen isn't necessary for V2Writable, but the PSGI
         # interface will need it...
-        my ($head, $tail) = $self->find_doc_ids('XMID' . $mid);
+        my ($head, $tail) = $self->find_doc_ids('Q' . $mid);
         for (; $head->nequal($tail); $head->inc) {
                 my $doc_id = $head->get_docid;
                 my $doc = $xdb->get_document($doc_id);
diff --git a/lib/PublicInbox/SearchIdx.pm b/lib/PublicInbox/SearchIdx.pm
index 57aed75c..61dc0577 100644
--- a/lib/PublicInbox/SearchIdx.pm
+++ b/lib/PublicInbox/SearchIdx.pm
@@ -19,7 +19,7 @@ use POSIX qw(strftime);
 require PublicInbox::Git;
 
 use constant {
-        MAX_MID_SIZE => 244, # max term size - 1 in Xapian
+        MAX_MID_SIZE => 244, # max term size (Xapian limitation) - length('Q')
         PERM_UMASK => 0,
         OLD_PERM_GROUP => 1,
         OLD_PERM_EVERYBODY => 2,
@@ -302,7 +302,7 @@ sub add_message {
                 }
                 $smsg = PublicInbox::SearchMsg->new($mime);
                 my $doc = $smsg->{doc};
-                $doc->add_term('XMID' . $mid);
+                $doc->add_term('Q' . $mid);
 
                 my $subj = $smsg->subject;
                 my $xpath;
@@ -404,7 +404,7 @@ sub remove_message {
         $mid = mid_clean($mid);
 
         eval {
-                my ($head, $tail) = $self->find_doc_ids('XMID' . $mid);
+                my ($head, $tail) = $self->find_doc_ids('Q' . $mid);
                 if ($head->equal($tail)) {
                         warn "cannot remove non-existent <$mid>\n";
                 }
@@ -721,7 +721,7 @@ sub create_ghost {
 
         my $tid = $self->next_thread_id;
         my $doc = Search::Xapian::Document->new;
-        $doc->add_term('XMID' . $mid);
+        $doc->add_term('Q' . $mid);
         $doc->add_term('G' . $tid);
         $doc->add_term('T' . 'ghost');
 
diff --git a/lib/PublicInbox/SearchIdxSkeleton.pm b/lib/PublicInbox/SearchIdxSkeleton.pm
index aa2713f1..333f965d 100644
--- a/lib/PublicInbox/SearchIdxSkeleton.pm
+++ b/lib/PublicInbox/SearchIdxSkeleton.pm
@@ -107,7 +107,7 @@ sub index_skeleton_real ($$) {
         }
         my $doc = $smsg->{doc};
         $doc->add_term('XPATH' . $xpath) if defined $xpath;
-        $doc->add_term('XMID' . $mid);
+        $doc->add_term('Q' . $mid);
         PublicInbox::SearchIdx::add_values($doc, $values);
         $doc->set_data($doc_data);
         $smsg->{ts} = $ts;
diff --git a/lib/PublicInbox/SearchMsg.pm b/lib/PublicInbox/SearchMsg.pm
index 941bfd24..014f4909 100644
--- a/lib/PublicInbox/SearchMsg.pm
+++ b/lib/PublicInbox/SearchMsg.pm
@@ -154,7 +154,7 @@ sub mid ($;$) {
         } elsif (my $rv = $self->{mid}) {
                 $rv;
         } else {
-                $self->{mid} = _get_term_val($self, 'XMID', qr/\AXMID/) ||
+                $self->{mid} = _get_term_val($self, 'Q', qr/\AQ/) ||
                                 $self->_extract_mid;
         }
 }