Skip to content

Commit 660d5fb

Browse files
committed
Further minor improvement in generic_xlog.c: always say REGBUF_STANDARD.
Since we're requiring pages handled by generic_xlog.c to be standard format, specify REGBUF_STANDARD when doing a full-page image, so that xloginsert.c can compress out the "hole" between pd_lower and pd_upper. Given the current API in which this path will be taken only for a newly initialized page, the hole is likely to be particularly large in such cases, so that this oversight could easily be performance-significant. I don't notice any particular change in the runtime of contrib/bloom's regression test, though.
1 parent 68689c6 commit 660d5fb

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

src/backend/access/transam/generic_xlog.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -349,7 +349,8 @@ GenericXLogFinish(GenericXLogState *state)
349349
{
350350
/* A full page image does not require anything special */
351351
memcpy(page, pageData->image, BLCKSZ);
352-
XLogRegisterBuffer(i, pageData->buffer, REGBUF_FORCE_IMAGE);
352+
XLogRegisterBuffer(i, pageData->buffer,
353+
REGBUF_FORCE_IMAGE | REGBUF_STANDARD);
353354
}
354355
else
355356
{

0 commit comments

Comments
 (0)