On 2019-Nov-22, Antonin Houska wrote:
> As I pointed out in
>
> https://www.postgresql.org/message-id/88183.1574261429%40antos
>
> seg.ws_off only replaced readOff in XLogReaderState. So we should only update
> ws_off where readOff was updated before commit 709d003. This does happen in
> ReadPageInternal (see HEAD) and I see no reason for the final patch to update
> ws_off anywhere else.
Oh you're right.
I see no reason to leave ws_off. We can move that to XLogReaderState; I
did that here. We also need the offset in WALReadError, though, so I
added it there too. Conceptually it seems clearer to me this way.
What do you think of the attached?
BTW I'm not clear what errors can pread()/pg_pread() report that do not
set errno. I think lines 1083/1084 of WALRead are spurious now.
--
Álvaro Herrera https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services