This should give us an idea of how much a problem deduplication
will be.
}
sub index_mm {
- my ($self, $mime) = @_;
+ my ($self, $mime, $warn_existing) = @_;
my $mid = mid_clean(mid_mime($mime));
my $mm = $self->{mm};
my $num = $mm->mid_insert($mid);
+ return $num if defined $num;
+ warn "<$mid> reused\n" if $warn_existing;
# fallback to num_for since filters like RubyLang set the number
- defined $num ? $num : $mm->num_for($mid);
+ $mm->num_for($mid);
}
sub unindex_mm {
my ($len, $msgref) = @{$im->{last_object}};
$self->idx_init;
- my $num = $self->{all}->index_mm($mime);
+ my $num = $self->{all}->index_mm($mime, 1);
my $nparts = $self->{partitions};
my $part = $num % $nparts;
my $idx = $self->idx_part($part);