diff options
author | Eric Wong (Contractor, The Linux Foundation) <e@80x24.org> | 2018-03-19 08:14:39 +0000 |
---|---|---|
committer | Eric Wong (Contractor, The Linux Foundation) <e@80x24.org> | 2018-03-19 08:16:34 +0000 |
commit | eb48e7d6675babdda9a36be1a490c29a2ccddbdc (patch) | |
tree | eaa6056df3a6eabe9952b7265c9770de6b3575f1 /lib/PublicInbox/SearchIdxPart.pm | |
parent | b20b8747256433b0b7b4d1ed5c415d2101044dda (diff) | |
download | public-inbox-eb48e7d6675babdda9a36be1a490c29a2ccddbdc.tar.gz |
We need to hide removals from anybody hitting the search engine.
Diffstat (limited to 'lib/PublicInbox/SearchIdxPart.pm')
-rw-r--r-- | lib/PublicInbox/SearchIdxPart.pm | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/PublicInbox/SearchIdxPart.pm b/lib/PublicInbox/SearchIdxPart.pm index dd7ace67..c1660783 100644 --- a/lib/PublicInbox/SearchIdxPart.pm +++ b/lib/PublicInbox/SearchIdxPart.pm @@ -54,6 +54,14 @@ sub partition_worker_loop ($$$) { $txn = undef; print { $self->{skeleton}->{w} } "barrier $part\n" or die "write failed to skeleton: $!\n"; + } elsif ($line =~ /\AD ([a-f0-9]{40,}) (.+)\n\z/s) { + my ($oid, $mid) = ($1, $2); + $xdb ||= $self->_xdb_acquire; + if (!$txn) { + $xdb->begin_transaction; + $txn = 1; + } + $self->remove_by_oid($oid, $mid); } else { chomp $line; my ($len, $artnum, $oid, $mid0) = split(/ /, $line); |