Fix incorrect output from gin_desc().

Fujii Masao <fujii@postgresql.org>

Commit: 8606271640401b5a4efd20c54e2850fa88118eb8
Author: Fujii Masao <fujii@postgresql.org>
Date: 2016-12-05T11:32:00Z
Releases: 9.5.6
Fix incorrect output from gin_desc().

Previously gin_desc() displayed incorrect output "unknown action 0"
for XLOG_GIN_INSERT and XLOG_GIN_VACUUM_DATA_LEAF_PAGE records with
valid actions. The cause of this problem was that gin_desc() wrongly
used XLogRecGetData() to extract data from those records.
Since they were registered by XLogRegisterBufData(), gin_desc() should
have used XLogRecGetBlockData(), instead, like gin_redo().
Also there were other differences about how to treat XLOG_GIN_INSERT
record between gin_desc() and gin_redo().

This commit fixes gin_desc() routine so that it treats those records
in the same way as gin_redo().

Batch-patch to 9.5 where WAL record format was revamped and
XLogRegisterBufData() was added.

Reported-By: Andres Freund
Reviewed-By: Tom Lane
Discussion: <20160509194645.7lewnpw647zegx2m@alap3.anarazel.de>

Files

PathChange+/−
src/backend/access/rmgrdesc/gindesc.c modified +24 −21