pageinspect: Improve page_header() for pages of 32kB
Michael Paquier <michael@paquier.xyz>
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
Files
| Path | Change | +/− |
|---|---|---|
| contrib/pageinspect/expected/oldextversions.out | modified | +16 −0 |
| contrib/pageinspect/Makefile | modified | +1 −1 |
| contrib/pageinspect/pageinspect--1.9--1.10.sql | added | +21 −0 |
| contrib/pageinspect/pageinspect.control | modified | +1 −1 |
| contrib/pageinspect/rawpage.c | modified | +27 −4 |
| contrib/pageinspect/sql/oldextversions.sql | modified | +6 −0 |
Discussion
- bugfix: when the blocksize is 32k, the function page_header of pageinspect returns negative numbers. 17 messages · 2021-07-08 → 2021-07-12