X-Git-Url: http://www.git.stargrave.org/?p=public-inbox.git;a=blobdiff_plain;f=lib%2FPublicInbox%2FOverIdx.pm;h=bb3068ddcb4b190bcd30f4e24158d962bfa04751;hp=cc9bd7d483650d138b8f388193345c229b2b977c;hb=1b7e935ab1690e28;hpb=20759636853f59b1d59cd979e72375422de29059 diff --git a/lib/PublicInbox/OverIdx.pm b/lib/PublicInbox/OverIdx.pm index cc9bd7d4..bb3068dd 100644 --- a/lib/PublicInbox/OverIdx.pm +++ b/lib/PublicInbox/OverIdx.pm @@ -317,14 +317,21 @@ sub delete_articles { $self->delete_by_num($_) foreach @$nums; } +# returns number of removed messages +# $oid may be undef to match only on $mid sub remove_oid { my ($self, $oid, $mid) = @_; + my $nr = 0; $self->begin_lazy; each_by_mid($self, $mid, ['ddd'], sub { my ($smsg) = @_; - $self->delete_by_num($smsg->{num}) if $smsg->{blob} eq $oid; + if (!defined($oid) || $smsg->{blob} eq $oid) { + $self->delete_by_num($smsg->{num}); + $nr++; + } 1; }); + $nr; } sub create_tables {