postgres.git / summary / log / commit / refs
commit 97c19e6c38ebc5e300539f6985ef3e05398c8f46
Author: Heikki Linnakangas <heikki.linnakangas@iki.fi>
Date: Thu Nov 28 19:54:49 2013 +0000
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);
[parent: da8a7160893c]