mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-12-21 08:29:39 +08:00
Fix misleading output from gin_desc().
XLOG_GIN_UPDATE_META_PAGE and XLOG_GIN_DELETE_LISTPAGE records were printed with a list link field labeled as "blkno", which was confusing, especially when the link was empty (InvalidBlockNumber). Print the metapage block number instead, since that's what's actually being updated. We could include the link values too as a separate field, but not clear it's worth the trouble. Back-patch to 8.4 where the dubious code was added.
This commit is contained in:
parent
17b985b1a0
commit
0ab4db52c0
@ -748,9 +748,7 @@ gin_desc(StringInfo buf, uint8 xl_info, char *rec)
|
|||||||
(((ginxlogInsert *) rec)->isData) ? 'T' : 'F',
|
(((ginxlogInsert *) rec)->isData) ? 'T' : 'F',
|
||||||
(((ginxlogInsert *) rec)->isLeaf) ? 'T' : 'F',
|
(((ginxlogInsert *) rec)->isLeaf) ? 'T' : 'F',
|
||||||
(((ginxlogInsert *) rec)->isDelete) ? 'T' : 'F',
|
(((ginxlogInsert *) rec)->isDelete) ? 'T' : 'F',
|
||||||
((ginxlogInsert *) rec)->updateBlkno
|
((ginxlogInsert *) rec)->updateBlkno);
|
||||||
);
|
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case XLOG_GIN_SPLIT:
|
case XLOG_GIN_SPLIT:
|
||||||
appendStringInfo(buf, "Page split, ");
|
appendStringInfo(buf, "Page split, ");
|
||||||
@ -767,7 +765,7 @@ gin_desc(StringInfo buf, uint8 xl_info, char *rec)
|
|||||||
break;
|
break;
|
||||||
case XLOG_GIN_UPDATE_META_PAGE:
|
case XLOG_GIN_UPDATE_META_PAGE:
|
||||||
appendStringInfo(buf, "Update metapage, ");
|
appendStringInfo(buf, "Update metapage, ");
|
||||||
desc_node(buf, ((ginxlogUpdateMeta *) rec)->node, ((ginxlogUpdateMeta *) rec)->metadata.tail);
|
desc_node(buf, ((ginxlogUpdateMeta *) rec)->node, GIN_METAPAGE_BLKNO);
|
||||||
break;
|
break;
|
||||||
case XLOG_GIN_INSERT_LISTPAGE:
|
case XLOG_GIN_INSERT_LISTPAGE:
|
||||||
appendStringInfo(buf, "Insert new list page, ");
|
appendStringInfo(buf, "Insert new list page, ");
|
||||||
@ -775,7 +773,7 @@ gin_desc(StringInfo buf, uint8 xl_info, char *rec)
|
|||||||
break;
|
break;
|
||||||
case XLOG_GIN_DELETE_LISTPAGE:
|
case XLOG_GIN_DELETE_LISTPAGE:
|
||||||
appendStringInfo(buf, "Delete list pages (%d), ", ((ginxlogDeleteListPages *) rec)->ndeleted);
|
appendStringInfo(buf, "Delete list pages (%d), ", ((ginxlogDeleteListPages *) rec)->ndeleted);
|
||||||
desc_node(buf, ((ginxlogDeleteListPages *) rec)->node, ((ginxlogDeleteListPages *) rec)->metadata.head);
|
desc_node(buf, ((ginxlogDeleteListPages *) rec)->node, GIN_METAPAGE_BLKNO);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
elog(PANIC, "gin_desc: unknown op code %u", info);
|
elog(PANIC, "gin_desc: unknown op code %u", info);
|
||||||
|
Loading…
Reference in New Issue
Block a user