]> Sergey Matveev's repositories - public-inbox.git/commitdiff
extindex: minor cost reductions
authorEric Wong <e@80x24.org>
Sun, 10 Oct 2021 14:25:15 +0000 (14:25 +0000)
committerEric Wong <e@80x24.org>
Sun, 10 Oct 2021 23:29:53 +0000 (23:29 +0000)
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

index 04948b8b9e282cf28b0443623bc583d827a31d9a..42488e12f83b65f38d43c72aad33d27998446303 100644 (file)
@@ -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
                        }
                }