about summary refs log tree commit homepage
path: root/lib/PublicInbox/SearchIdxPart.pm
diff options
context:
space:
mode:
authorEric Wong (Contractor, The Linux Foundation) <e@80x24.org>2018-03-03 20:21:05 +0000
committerEric Wong (Contractor, The Linux Foundation) <e@80x24.org>2018-03-03 20:24:43 +0000
commit031dcde21cd8dab5494d9715ba50d6a539e3fb42 (patch)
tree172df048191ee4cb07388f8d0b2a1e7246552667 /lib/PublicInbox/SearchIdxPart.pm
parentb212aee7e13c460b73a3632458ae96c39d9eac97 (diff)
downloadpublic-inbox-031dcde21cd8dab5494d9715ba50d6a539e3fb42.tar.gz
We can't rely on header order for Message-ID after all
since we fall back to existing MIDs if they exist and
are unseen.  This lets us use SearchMsg->mid to get the
MID we associated with the NNTP article number to ensure
all NNTP article lookups roundtrip correctly.
Diffstat (limited to 'lib/PublicInbox/SearchIdxPart.pm')
-rw-r--r--lib/PublicInbox/SearchIdxPart.pm8
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/PublicInbox/SearchIdxPart.pm b/lib/PublicInbox/SearchIdxPart.pm
index 2f577ecf..6d8cb2a7 100644
--- a/lib/PublicInbox/SearchIdxPart.pm
+++ b/lib/PublicInbox/SearchIdxPart.pm
@@ -51,7 +51,7 @@ sub partition_worker_loop ($$$) {
                         $xdb = $txn = undef;
                 } else {
                         chomp $line;
-                        my ($len, $artnum, $object_id) = split(/ /, $line);
+                        my ($len, $artnum, $oid, $mid0) = split(/ /, $line);
                         $xdb ||= $self->_xdb_acquire;
                         if (!$txn) {
                                 $xdb->begin_transaction;
@@ -61,7 +61,7 @@ sub partition_worker_loop ($$$) {
                         $n == $len or die "short read: $n != $len\n";
                         my $mime = PublicInbox::MIME->new(\$msg);
                         $artnum = int($artnum);
-                        $self->add_message($mime, $n, $artnum, $object_id);
+                        $self->add_message($mime, $n, $artnum, $oid, $mid0);
                 }
         }
         warn "$$ still in transaction\n" if $txn;
@@ -70,9 +70,9 @@ sub partition_worker_loop ($$$) {
 
 # called by V2Writable
 sub index_raw {
-        my ($self, $len, $msgref, $artnum, $object_id) = @_;
+        my ($self, $len, $msgref, $artnum, $object_id, $mid0) = @_;
         my $w = $self->{w};
-        print $w "$len $artnum $object_id\n", $$msgref or die
+        print $w "$len $artnum $object_id $mid0\n", $$msgref or die
                 "failed to write partition $!\n";
         $w->flush or die "failed to flush: $!\n";
 }