Check XLogRecHasBlockRef() before XLogRecHasBlockImage().
authorJeff Davis <[email protected]>
Fri, 8 Apr 2022 09:30:57 +0000 (02:30 -0700)
committerJeff Davis <[email protected]>
Fri, 8 Apr 2022 09:30:57 +0000 (02:30 -0700)
Trial fix of buildfarm failures on kestrel and tamandua.

src/backend/access/transam/xlogstats.c

index aff3069ecba1bee87b8a2cff5c0b86fa90103b4e..6524a1ad0b939590e6e04ef251ee17fb1399f92a 100644 (file)
@@ -33,6 +33,9 @@ XLogRecGetLen(XLogReaderState *record, uint32 *rec_len,
        *fpi_len = 0;
        for (block_id = 0; block_id <= XLogRecMaxBlockId(record); block_id++)
        {
+               if (!XLogRecHasBlockRef(record, block_id))
+                       continue;
+
                if (XLogRecHasBlockImage(record, block_id))
                        *fpi_len += XLogRecGetBlock(record, block_id)->bimg_len;
        }