aboutsummaryrefslogtreecommitdiff
path: root/src/backend/access/transam/generic_xlog.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2016-04-10 00:24:28 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2016-04-10 00:24:28 -0400
commit660d5fb856c61df2de2cedb26249404ffc58cb89 (patch)
tree41699c96b2986e460f4966f08cfedd4534a73483 /src/backend/access/transam/generic_xlog.c
parent68689c66efcda6f217119432edfbdf95a50b26e2 (diff)
downloadpostgresql-660d5fb856c61df2de2cedb26249404ffc58cb89.tar.gz
postgresql-660d5fb856c61df2de2cedb26249404ffc58cb89.zip
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.
Diffstat (limited to 'src/backend/access/transam/generic_xlog.c')
-rw-r--r--src/backend/access/transam/generic_xlog.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/backend/access/transam/generic_xlog.c b/src/backend/access/transam/generic_xlog.c
index 0ddba0007b8..072838a5e7a 100644
--- a/src/backend/access/transam/generic_xlog.c
+++ b/src/backend/access/transam/generic_xlog.c
@@ -349,7 +349,8 @@ GenericXLogFinish(GenericXLogState *state)
{
/* A full page image does not require anything special */
memcpy(page, pageData->image, BLCKSZ);
- XLogRegisterBuffer(i, pageData->buffer, REGBUF_FORCE_IMAGE);
+ XLogRegisterBuffer(i, pageData->buffer,
+ REGBUF_FORCE_IMAGE | REGBUF_STANDARD);
}
else
{