]> Sergey Matveev's repositories - public-inbox.git/blobdiff - lib/PublicInbox/LeiToMail.pm
lei q: reduce lei/store work for kw changes to stored mail
[public-inbox.git] / lib / PublicInbox / LeiToMail.pm
index 4c33c7529a1042f0a58eb0f2540756fb2eb144da..95de5e9c1527f7951e2ad7c8c9d37bd0bbef0d35 100644 (file)
@@ -227,10 +227,10 @@ sub _mbox_write_cb ($$) {
 sub update_kw_maybe ($$$$) {
        my ($lei, $lse, $eml, $kw) = @_;
        return unless $lse;
-       my $lse_oids = $lse->kw_changed($eml, $kw);
+       my $c = $lse->kw_changed($eml, $kw, my $docids = []);
        my $vmd = { kw => $kw };
-       if ($lse_oids) { # already in lei/store
-               $lei->{sto}->ipc_do('set_eml', $eml, $vmd);
+       if (scalar @$docids) { # already in lei/store
+               $lei->{sto}->ipc_do('set_eml_vmd', undef, $vmd, $docids) if $c;
        } elsif (my $xoids = $lei->{ale}->xoids_for($eml)) {
                # it's in an external, only set kw, here
                $lei->{sto}->ipc_do('set_xvmd', $xoids, $eml, $vmd);