X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=lib%2FPublicInbox%2FOverIdx.pm;fp=lib%2FPublicInbox%2FOverIdx.pm;h=5f96a5b099ff0a692b5aa33f9f2994bcaec9e678;hb=40f3f2a2c805fc37c7ed35a60948856bd962b493;hp=66dec0999acf58f39af23d79f213bfdb739eaf02;hpb=4481b372ba150c669b2fefe2d6ec5dccb5da1d40;p=public-inbox.git diff --git a/lib/PublicInbox/OverIdx.pm b/lib/PublicInbox/OverIdx.pm index 66dec099..5f96a5b0 100644 --- a/lib/PublicInbox/OverIdx.pm +++ b/lib/PublicInbox/OverIdx.pm @@ -670,4 +670,22 @@ DELETE FROM eidxq WHERE docid = ? } +# returns true if we're vivifying a message for lei/store that was +# previously external-metadata only +sub vivify_xvmd { + my ($self, $smsg) = @_; + my @docids = $self->blob_exists($smsg->{blob}); + my @vivify_xvmd; + for my $id (@docids) { + if (my $cur = $self->get_art($id)) { + # already indexed if bytes > 0 + return if $cur->{bytes} > 0; + push @vivify_xvmd, $id; + } else { + warn "W: $smsg->{blob} #$id gone (bug?)\n"; + } + } + $smsg->{-vivify_xvmd} = \@vivify_xvmd; +} + 1;