bugfix: when the blocksize is 32k, the function page_header of pageinspect returns negative numbers.

From: Quan Zongliang <quanzongliang(at)yeah(dot)net>
To: pgsql-hackers(at)postgresql(dot)org
Subject: bugfix: when the blocksize is 32k, the function page_header of pageinspect returns negative numbers.
Date: 2021-07-08 00:56:19
Message-ID: 8b8ec36e-61fe-14f9-005d-07bc85aa4eed@yeah.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


If the block size is 32k, the function page_header of the pageinspect
module returns negative numbers:

postgres=# select * from page_header(get_raw_page('t1',0));
lsn | checksum | flags | lower | upper | special | pagesize |
version | prune_xid
-----------+----------+-------+-------+-------+---------+----------+---------+-----------
0/174CF58 | 0 | 0 | 28 | 32736 | -32768 | -32768 |
4 | 0
(1 row)

This patch changes the output parameters lower, upper, special and
pagesize to int32.

postgres=# select * from page_header(get_raw_page('t1',0));
lsn | checksum | flags | lower | upper | special | pagesize |
version | prune_xid
-----------+----------+-------+-------+-------+---------+----------+---------+-----------
0/19EA640 | 0 | 0 | 28 | 32736 | 32768 | 32768 |
4 | 0
(1 row)

--
Quan Zongliang

Attachment Content-Type Size
pageinspect.patch text/plain 1.5 KB

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Greg Nancarrow 2021-07-08 01:03:34 Re: row filtering for logical replication
Previous Message Peter Smith 2021-07-08 00:53:48 Re: Refactor "mutually exclusive options" error reporting code in parse_subscription_options