Hi, On 2019-04-18 21:02:57 +0900, Kyotaro HORIGUCHI wrote: > Hello. As mentioned before [1], read_page callback in > XLogReaderState is a cause of headaches. Adding another > remote-controlling stuff to xlog readers makes things messier [2]. > > I refactored XLOG reading functions so that we don't need the > callback. In short, ReadRecrod now calls XLogPageRead directly > with the attached patch set. > > | while (XLogReadRecord(xlogreader, RecPtr, &record, &errormsg) > | == XLREAD_NEED_DATA) > | XLogPageRead(xlogreader, fetching_ckpt, emode, randAccess); > > On the other hand, XLogReadRecord became a bit complex. The patch > makes XLogReadRecord a state machine. I'm not confident that the > additional complexity is worth doing. Anyway I'll gegister this > to the next CF.
Just FYI, to me this doesn't clearly enough look like an improvement, for a change of this size. Greetings, Andres Freund