pageinspect: Improve page_header() for pages of 32kB
authorMichael Paquier <michael@paquier.xyz>
Mon, 12 Jul 2021 02:05:27 +0000 (11:05 +0900)
committerMichael Paquier <michael@paquier.xyz>
Mon, 12 Jul 2021 02:05:27 +0000 (11:05 +0900)
commit127404fbe28455d6e8183fa58f3b7aefeba8f909
tree3381e6ab834dc7cb4eba384fff52d3aa061aba95
parent626731db26ae2617e41536678440c3817128a006
pageinspect: Improve page_header() for pages of 32kB

ld_upper, ld_lower, pd_special and the page size have been using
smallint as return type, which could cause those fields to return
negative values in certain cases for builds configures with a page size
of 32kB.

Bump pageinspect to 1.10.  page_header() is able to handle the correct
return type of those fields at runtime when using an older version of
the extension, with some tests are added to cover that.

Author: Quan Zongliang
Reviewed-by: Michael Paquier, Bharath Rupireddy
Discussion: https://postgr.es/m/8b8ec36e-61fe-14f9-005d-07bc85aa4eed@yeah.net
contrib/pageinspect/Makefile
contrib/pageinspect/expected/oldextversions.out
contrib/pageinspect/pageinspect--1.9--1.10.sql [new file with mode: 0644]
contrib/pageinspect/pageinspect.control
contrib/pageinspect/rawpage.c
contrib/pageinspect/sql/oldextversions.sql