From: Eric Wong Date: Sun, 10 Oct 2021 14:25:15 +0000 (+0000) Subject: extindex: minor cost reductions X-Git-Tag: v1.7.0~198 X-Git-Url: http://www.git.stargrave.org/?p=public-inbox.git;a=commitdiff_plain;h=9bc14f521223d63697a2f13986c71f4b0226e21b extindex: minor cost reductions 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. --- diff --git a/lib/PublicInbox/ExtSearchIdx.pm b/lib/PublicInbox/ExtSearchIdx.pm index 04948b8b..42488e12 100644 --- a/lib/PublicInbox/ExtSearchIdx.pm +++ b/lib/PublicInbox/ExtSearchIdx.pm @@ -902,15 +902,14 @@ DELETE FROM xref3 WHERE ibx_id = ? AND xnum = ? AND oidbin = ? $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 - $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 } }