On Wed, Aug 17, 2022 at 11:31 AM Dilip Kumar <dilipbal...@gmail.com> wrote: > > On Wed, Aug 17, 2022 at 11:18 AM Dilip Kumar <dilipbal...@gmail.com> wrote: > > > > On Tue, Aug 16, 2022 at 11:28 PM Robert Haas <robertmh...@gmail.com> wrote: > > > > > > > Yeah I think it makes sense to make it work as per the comment in > > XLogBeginRecord(). I think if we modify the Assert as per the comment > > of XLogBeginRecord() then the remaining code of the > > XLogDecodeNextRecord() is capable enough to take care of skipping the > > page header if we are pointing at the beginning of the block. > > > > See attached patch. > > > > I think that is not sufficient, if there is a record continuing from > the previous page and we are pointing to the start of the page then > this assertion is not sufficient. I think if the > targetRecOff is zero then we should additionally read the header and > verify that XLP_FIRST_IS_CONTRECORD is not set.
Thinking again, there is already a code in XLogDecodeNextRecord() to error out if XLP_FIRST_IS_CONTRECORD is set so probably we don't need to do anything else and the previous patch with modified assert should just work fine? -- Regards, Dilip Kumar EnterpriseDB: http://www.enterprisedb.com