aboutsummaryrefslogtreecommitdiff
path: root/src/backend/access/transam/generic_xlog.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/access/transam/generic_xlog.c')
-rw-r--r--src/backend/access/transam/generic_xlog.c20
1 files changed, 13 insertions, 7 deletions
diff --git a/src/backend/access/transam/generic_xlog.c b/src/backend/access/transam/generic_xlog.c
index e62179d2fb5..4118d7bb08e 100644
--- a/src/backend/access/transam/generic_xlog.c
+++ b/src/backend/access/transam/generic_xlog.c
@@ -95,7 +95,8 @@ writeFragment(PageData *pageData, OffsetNumber offset, OffsetNumber length,
static void
writeDelta(PageData *pageData)
{
- Page page = BufferGetPage(pageData->buffer),
+ Page page = BufferGetPage(pageData->buffer, NULL, NULL,
+ BGP_NO_SNAPSHOT_TEST),
image = (Page) pageData->image;
int i,
fragmentBegin = -1,
@@ -220,7 +221,8 @@ GenericXLogRegister(GenericXLogState *state, Buffer buffer, bool isNew)
if (BufferIsInvalid(page->buffer))
{
page->buffer = buffer;
- memcpy(page->image, BufferGetPage(buffer), BLCKSZ);
+ memcpy(page->image, BufferGetPage(buffer, NULL, NULL,
+ BGP_NO_SNAPSHOT_TEST), BLCKSZ);
page->dataLen = 0;
page->fullImage = isNew;
return (Page)page->image;
@@ -295,8 +297,10 @@ GenericXLogFinish(GenericXLogState *state)
/* Swap current and saved page image. */
memcpy(tmp, page->image, BLCKSZ);
- memcpy(page->image, BufferGetPage(page->buffer), BLCKSZ);
- memcpy(BufferGetPage(page->buffer), tmp, BLCKSZ);
+ memcpy(page->image, BufferGetPage(page->buffer, NULL, NULL,
+ BGP_NO_SNAPSHOT_TEST), BLCKSZ);
+ memcpy(BufferGetPage(page->buffer, NULL, NULL,
+ BGP_NO_SNAPSHOT_TEST), tmp, BLCKSZ);
if (page->fullImage)
{
@@ -325,7 +329,8 @@ GenericXLogFinish(GenericXLogState *state)
if (BufferIsInvalid(page->buffer))
continue;
- PageSetLSN(BufferGetPage(page->buffer), lsn);
+ PageSetLSN(BufferGetPage(page->buffer, NULL, NULL,
+ BGP_NO_SNAPSHOT_TEST), lsn);
MarkBufferDirty(page->buffer);
}
END_CRIT_SECTION();
@@ -340,7 +345,8 @@ GenericXLogFinish(GenericXLogState *state)
if (BufferIsInvalid(page->buffer))
continue;
- memcpy(BufferGetPage(page->buffer), page->image, BLCKSZ);
+ memcpy(BufferGetPage(page->buffer, NULL, NULL,
+ BGP_NO_SNAPSHOT_TEST), page->image, BLCKSZ);
MarkBufferDirty(page->buffer);
}
END_CRIT_SECTION();
@@ -413,7 +419,7 @@ generic_redo(XLogReaderState *record)
Size blockDataSize;
Page page;
- page = BufferGetPage(buffers[block_id]);
+ page = BufferGetPage(buffers[block_id], NULL, NULL, BGP_NO_SNAPSHOT_TEST);
blockData = XLogRecGetBlockData(record, block_id, &blockDataSize);
applyPageRedo(page, blockData, blockDataSize);