From 9bc14f521223d63697a2f13986c71f4b0226e21b Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Sun, 10 Oct 2021 14:25:15 +0000 Subject: 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. --- lib/PublicInbox/ExtSearchIdx.pm | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'lib/PublicInbox/ExtSearchIdx.pm') 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 } } -- cgit v1.2.3-24-ge0c7