From: pgsql-hackers-owner@postgresql.org
> [mailto:pgsql-hackers-owner@postgresql.org] On Behalf Of Robert Haas
> OK. I agree that's a problem. However, your patch adds zero new comment
> text while removing some existing comments, so I can't easily tell how it
> solves that problem or whether it does so correctly. Even if I were smart
> enough to figure it out, I wouldn't want to rely on the next person also
> being that smart. This is obviously a subtle problem in tricky code, so
> a clear explanation of the fix seems like a very good idea.
The comment describes what the code is trying to achieve. Actually, I just imitated the code and comment of later
majorreleases. The only difference between later releases and my patch (for 9.2) is whether the state is stored in
XLogReaderStructor as global variables. Below is the comment from 9.6, where the second paragraph describes what the
twonested if conditions mean. The removed comment lines are what became irrelevant, which is also not present in later
majorreleases.
/* * Since child timelines are always assigned a TLI greater than their * immediate parent's TLI, we should never see
TLIgo backwards across * successive pages of a consistent WAL sequence. * * Sometimes we re-read a segment that's
alreadybeen (partially) read. So * we only verify TLIs for pages that are later than the last remembered * LSN. */
Regards
Takayuki Tsunakawa