Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1m1ILA-000652-S0 for pgsql-hackers@arkaria.postgresql.org; Thu, 08 Jul 2021 00:56:33 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1m1IL9-0002rH-Pl for pgsql-hackers@arkaria.postgresql.org; Thu, 08 Jul 2021 00:56:31 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1m1IL8-0002r9-R4 for pgsql-hackers@lists.postgresql.org; Thu, 08 Jul 2021 00:56:31 +0000 Received: from mail-177131.yeah.net ([123.58.177.131]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1m1IL4-0008RU-VZ for pgsql-hackers@postgresql.org; Thu, 08 Jul 2021 00:56:29 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yeah.net; s=s110527; h=From:Subject:Message-ID:Date:MIME-Version; bh=BsM4H y5aRu6wTJsxfus7w3dny0KhVs4DmI9w/z7Ql4w=; b=pisREBfi+NahC4NCn3Gjx lHSlNLDHEZw2fVbVzBthNsAgE6nVD7wGVmqPF6pdH9VDdW9tsNlRL33qGuizk0DR aj6CFbY4Ht9z+S9DBjB8oLsgP12jk+ZEDcg3T8HI1Q9btEXCUz+kW26BbNPL/yBK 4una+JKgDPD/t47Sfjijug= Received: from quanzl-macbook.local (unknown [221.238.132.226]) by smtp1 (Coremail) with SMTP id ClUQrAC3voIzTeZg8lO1QA--.35389S2; Thu, 08 Jul 2021 08:56:20 +0800 (CST) To: pgsql-hackers@postgresql.org From: Quan Zongliang Subject: bugfix: when the blocksize is 32k, the function page_header of pageinspect returns negative numbers. Message-ID: <8b8ec36e-61fe-14f9-005d-07bc85aa4eed@yeah.net> Date: Thu, 8 Jul 2021 08:56:19 +0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------9002C8B4F7ECE9FAA5B7830E" Content-Language: en-US X-CM-TRANSID: ClUQrAC3voIzTeZg8lO1QA--.35389S2 X-Coremail-Antispam: 1Uf129KBjvdXoWrKF1kZF1UKr48ZF1UXFyDtrb_yoW3trX_JF WqyF17Ar1UXr95Xr1UKw17Jr1UGrWDKw1qyF1DXr43JF17Gr1jqr1UJrsrXr4kXr4Utr18 ur1Utr17Ar43KjkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8Yxn0WfASr-VFAUDa7-sFnT 9fnUUvcSsGvfC2KfnxnUUI43ZEXa7IUYqjg3UUUUU== X-Originating-IP: [221.238.132.226] X-CM-SenderInfo: htxd06xrqjzxxdqjq5hhdkh0dhw/1tbiDxTJJFnxZElqdgAAsv List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------9002C8B4F7ECE9FAA5B7830E Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit 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 --------------9002C8B4F7ECE9FAA5B7830E Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0"; name="pageinspect.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="pageinspect.patch" ZGlmZiAtLWdpdCBhL2NvbnRyaWIvcGFnZWluc3BlY3QvcGFnZWluc3BlY3QtLTEuNS5zcWwg Yi9jb250cmliL3BhZ2VpbnNwZWN0L3BhZ2VpbnNwZWN0LS0xLjUuc3FsCmluZGV4IDFlNDBj M2M5N2UuLmY3MWVmZjE5YzUgMTAwNjQ0Ci0tLSBhL2NvbnRyaWIvcGFnZWluc3BlY3QvcGFn ZWluc3BlY3QtLTEuNS5zcWwKKysrIGIvY29udHJpYi9wYWdlaW5zcGVjdC9wYWdlaW5zcGVj dC0tMS41LnNxbApAQCAtMjMsMTAgKzIzLDEwIEBAIENSRUFURSBGVU5DVElPTiBwYWdlX2hl YWRlcihJTiBwYWdlIGJ5dGVhLAogICAgIE9VVCBsc24gcGdfbHNuLAogICAgIE9VVCBjaGVj a3N1bSBzbWFsbGludCwKICAgICBPVVQgZmxhZ3Mgc21hbGxpbnQsCi0gICAgT1VUIGxvd2Vy IHNtYWxsaW50LAotICAgIE9VVCB1cHBlciBzbWFsbGludCwKLSAgICBPVVQgc3BlY2lhbCBz bWFsbGludCwKLSAgICBPVVQgcGFnZXNpemUgc21hbGxpbnQsCisgICAgT1VUIGxvd2VyIGlu dCwKKyAgICBPVVQgdXBwZXIgaW50LAorICAgIE9VVCBzcGVjaWFsIGludCwKKyAgICBPVVQg cGFnZXNpemUgaW50LAogICAgIE9VVCB2ZXJzaW9uIHNtYWxsaW50LAogICAgIE9VVCBwcnVu ZV94aWQgeGlkKQogQVMgJ01PRFVMRV9QQVRITkFNRScsICdwYWdlX2hlYWRlcicKZGlmZiAt LWdpdCBhL2NvbnRyaWIvcGFnZWluc3BlY3QvcmF3cGFnZS5jIGIvY29udHJpYi9wYWdlaW5z cGVjdC9yYXdwYWdlLmMKaW5kZXggNzI3MmIyMTAxNi4uYWYwNGMxYTY4OCAxMDA2NDQKLS0t IGEvY29udHJpYi9wYWdlaW5zcGVjdC9yYXdwYWdlLmMKKysrIGIvY29udHJpYi9wYWdlaW5z cGVjdC9yYXdwYWdlLmMKQEAgLTMxNiwxMCArMzE2LDEwIEBAIHBhZ2VfaGVhZGVyKFBHX0ZV TkNUSU9OX0FSR1MpCiAJCXZhbHVlc1swXSA9IExTTkdldERhdHVtKGxzbik7CiAJdmFsdWVz WzFdID0gVUludDE2R2V0RGF0dW0ocGFnZS0+cGRfY2hlY2tzdW0pOwogCXZhbHVlc1syXSA9 IFVJbnQxNkdldERhdHVtKHBhZ2UtPnBkX2ZsYWdzKTsKLQl2YWx1ZXNbM10gPSBVSW50MTZH ZXREYXR1bShwYWdlLT5wZF9sb3dlcik7Ci0JdmFsdWVzWzRdID0gVUludDE2R2V0RGF0dW0o cGFnZS0+cGRfdXBwZXIpOwotCXZhbHVlc1s1XSA9IFVJbnQxNkdldERhdHVtKHBhZ2UtPnBk X3NwZWNpYWwpOwotCXZhbHVlc1s2XSA9IFVJbnQxNkdldERhdHVtKFBhZ2VHZXRQYWdlU2l6 ZShwYWdlKSk7CisJdmFsdWVzWzNdID0gSW50MzJHZXREYXR1bShwYWdlLT5wZF9sb3dlcik7 CisJdmFsdWVzWzRdID0gSW50MzJHZXREYXR1bShwYWdlLT5wZF91cHBlcik7CisJdmFsdWVz WzVdID0gSW50MzJHZXREYXR1bShwYWdlLT5wZF9zcGVjaWFsKTsKKwl2YWx1ZXNbNl0gPSBJ bnQzMkdldERhdHVtKFBhZ2VHZXRQYWdlU2l6ZShwYWdlKSk7CiAJdmFsdWVzWzddID0gVUlu dDE2R2V0RGF0dW0oUGFnZUdldFBhZ2VMYXlvdXRWZXJzaW9uKHBhZ2UpKTsKIAl2YWx1ZXNb OF0gPSBUcmFuc2FjdGlvbklkR2V0RGF0dW0ocGFnZS0+cGRfcHJ1bmVfeGlkKTsKIAo= --------------9002C8B4F7ECE9FAA5B7830E--