]> Sergey Matveev's repositories - public-inbox.git/commit
over: ensure old, merged {tid} is really gone
authorEric Wong <e@80x24.org>
Fri, 4 Dec 2020 12:09:29 +0000 (12:09 +0000)
committerEric Wong <e@80x24.org>
Sat, 26 Dec 2020 19:45:11 +0000 (19:45 +0000)
commitb63c27f36a44d8deb8fd775b2322ec11a6c4eabf
tree066dc9f0be9837e6a0fbde99dce94859c22238fa
parentc39ed01a3a4c6c4634642eb875a16538aceacfc3
over: ensure old, merged {tid} is really gone

We must use the result of link_refs() since it can trigger
merge_threads() and invalidate $old_tid.  In case
merge_threads() isn't triggered, link_refs() will return
$old_tid anyways.

When rethreading and allocating new {tid}, we also must update
the row where the now-expired {tid} came from to ensure only the
new {tid} is seen when reindexing subsequent messages in
history.  Otherwise, every subsequently reindexed+rethreaded
message could end up getting a new {tid}.

Reported-by: Kyle Meyer <kyle@kyleam.com>
Link: https://public-inbox.org/meta/87360nlc44.fsf@kyleam.com/
(cherry picked from commit 9356ec0cc5afc95a8fd398ddf898942ef0acdb74)
MANIFEST
lib/PublicInbox/OverIdx.pm
t/thread-index-gap.t [new file with mode: 0644]