]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/SearchIdx.pm
search: stop assuming Message-ID is unique
[public-inbox.git] / lib / PublicInbox / SearchIdx.pm
index fa5057fd6851b5f668ead4b84b5b0ff46f8c0325..265403a30664ee8a3000d8c64372f98656dd4564 100644 (file)
@@ -366,12 +366,14 @@ sub remove_message {
        $mid = mid_clean($mid);
 
        eval {
-               $doc_id = $self->find_unique_doc_id('XMID' . $mid);
-               if (defined $doc_id) {
-                       $db->delete_document($doc_id);
-               } else {
+               my ($head, $tail) = $self->find_doc_ids('XMID' . $mid);
+               if ($head->equal($tail)) {
                        warn "cannot remove non-existent <$mid>\n";
                }
+               for (; $head != $tail; $head->inc) {
+                       my $docid = $head->get_docid;
+                       $db->delete_document($docid);
+               }
        };
 
        if ($@) {