From 1460b199e6e748712253fa130d1c3368ba6ac861 Mon Sep 17 00:00:00 2001 From: Heikki Linnakangas Date: Mon, 5 May 2014 16:14:41 +0300 Subject: [PATCH] Assert that pre/post-fix updated tuples are on the same page during replay. If they were not 'oldtup.t_data' would be dereferenced while set to NULL in case of a full page image for block 0. Do so primarily to silence coverity; but also to make sure this prerequisite isn't changed without adapting the replay routine as that would appear to work in many cases. Andres Freund --- src/backend/access/heap/heapam.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/backend/access/heap/heapam.c b/src/backend/access/heap/heapam.c index a04763207f..336fbb06da 100644 --- a/src/backend/access/heap/heapam.c +++ b/src/backend/access/heap/heapam.c @@ -8115,11 +8115,13 @@ newsame:; if (xlrec->flags & XLOG_HEAP_PREFIX_FROM_OLD) { + Assert(samepage); memcpy(&prefixlen, recdata, sizeof(uint16)); recdata += sizeof(uint16); } if (xlrec->flags & XLOG_HEAP_SUFFIX_FROM_OLD) { + Assert(samepage); memcpy(&suffixlen, recdata, sizeof(uint16)); recdata += sizeof(uint16); }