about summary refs log tree commit homepage
path: root/lib
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2021-06-18 19:20:31 +0000
committerEric Wong <e@80x24.org>2021-06-18 19:23:20 +0000
commitf8292aa38474acd174654fdb9971885013e45461 (patch)
tree64710114a4a341e2dcb9c4b5a5f17c56897d94c8 /lib
parentd1052f03ea85d4afe19106584ed6ebd675dcead0 (diff)
downloadpublic-inbox-f8292aa38474acd174654fdb9971885013e45461.tar.gz
Simplify oid2docid and filter out undefined docids in ->add_eml,
instead.  This avoids SQLite "datatype mismatch" errors in
OverIdx->add_over

Fixes: d1052f03ea85d4af ("lei/store: cull redundant docids based on blob OID")
Diffstat (limited to 'lib')
-rw-r--r--lib/PublicInbox/LeiStore.pm6
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/PublicInbox/LeiStore.pm b/lib/PublicInbox/LeiStore.pm
index 4ba1e647..e26b622d 100644
--- a/lib/PublicInbox/LeiStore.pm
+++ b/lib/PublicInbox/LeiStore.pm
@@ -269,7 +269,7 @@ W: $oid indexed as multiple docids: $docid @cull, culling to fixup old bugs
 EOF
                 remove_docids($self, @cull);
         }
-        wantarray ? ($docid) : $docid;
+        $docid;
 }
 
 sub add_eml {
@@ -292,8 +292,8 @@ sub add_eml {
                 if (scalar keys %$xoids) {
                         my %docids = map { $_ => 1 } @$vivify_xvmd;
                         for my $oid (keys %$xoids) {
-                                my @id = oid2docid($self, $oid);
-                                @docids{@id} = @id;
+                                my $docid = oid2docid($self, $oid);
+                                $docids{$docid} = $docid if defined($docid);
                         }
                         @$vivify_xvmd = sort { $a <=> $b } keys(%docids);
                 }