From 97c19e6c38ebc5e300539f6985ef3e05398c8f46 Mon Sep 17 00:00:00 2001 From: Heikki Linnakangas Date: Thu, 28 Nov 2013 21:54:49 +0200 Subject: [PATCH] Fix gin_desc routine to match the WAL format. In the GIN incomplete-splits patch, I used BlockIdDatas to store the block number of left and right children, when inserting a downlink after a split to an internal page posting list page. But gin_desc thought they were stored as BlockNumbers. --- src/backend/access/rmgrdesc/gindesc.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/backend/access/rmgrdesc/gindesc.c b/src/backend/access/rmgrdesc/gindesc.c index 72d60bf8d32..3675e1ec5d8 100644 --- a/src/backend/access/rmgrdesc/gindesc.c +++ b/src/backend/access/rmgrdesc/gindesc.c @@ -56,9 +56,9 @@ gin_desc(StringInfo buf, uint8 xl_info, char *rec) BlockNumber leftChildBlkno; BlockNumber rightChildBlkno; - memcpy(&leftChildBlkno, payload, sizeof(BlockNumber)); - payload += sizeof(BlockNumber); - memcpy(&rightChildBlkno, payload, sizeof(BlockNumber)); + leftChildBlkno = BlockIdGetBlockNumber((BlockId) payload); + payload += sizeof(BlockIdData); + rightChildBlkno = BlockIdGetBlockNumber((BlockId) payload); payload += sizeof(BlockNumber); appendStringInfo(buf, " children: %u/%u", leftChildBlkno, rightChildBlkno);