Don't bother decoding the 20-byte SHA-1 to a 40-byte hex value
since we don't read it, anyways. We can also use the on-stack
ibx->eidx_key value instead of dispatching the method again.
$del->execute;
# get_xref3 over-fetches, but this is a rare path:
$del->execute;
# get_xref3 over-fetches, but this is a rare path:
- my $xr3 = $self->{oidx}->get_xref3($docid);
+ my $xr3 = $self->{oidx}->get_xref3($docid, 1);
my $idx = $self->idx_shard($docid);
if (scalar(@$xr3) == 0) { # all gone
$self->{oidx}->delete_by_num($docid);
$self->{oidx}->eidxq_del($docid);
$idx->ipc_do('xdb_remove', $docid);
} else { # enqueue for reindex of remaining messages
my $idx = $self->idx_shard($docid);
if (scalar(@$xr3) == 0) { # all gone
$self->{oidx}->delete_by_num($docid);
$self->{oidx}->eidxq_del($docid);
$idx->ipc_do('xdb_remove', $docid);
} else { # enqueue for reindex of remaining messages
- $idx->ipc_do('remove_eidx_info',
- $docid, $ibx->eidx_key);
+ $idx->ipc_do('remove_eidx_info', $docid, $ekey);
$self->{oidx}->eidxq_add($docid); # yes, add
}
}
$self->{oidx}->eidxq_add($docid); # yes, add
}
}