From: | Pavel Borisov <pashkin(dot)elfe(at)gmail(dot)com> |
---|---|
To: | Andres Freund <andres(at)anarazel(dot)de> |
Cc: | Postgres hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Aleksander Alekseev <aleksander(at)timescale(dot)com> |
Subject: | Re: Fix unsigned output for signed values in SLRU error reporting |
Date: | 2022-03-25 10:49:08 |
Message-ID: | CALT9ZEG1Oo9W_bME5yhsE96AYz19VOnEwHxFUNCosBJHmc0bhw@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
пн, 21 мар. 2022 г. в 16:11, Pavel Borisov <pashkin(dot)elfe(at)gmail(dot)com>:
> Afaics offset etc can't be negative, so I don't think this really improves
>> matters. I think there's quite a few other places where we use %u to print
>> integers that we know aren't negative.
>>
>> If anything I think we should change the signed integers to unsigned
>> ones. It
>> might be worth doing that as part of
>>
>> https://www.postgresql.org/message-id/CAJ7c6TPDOYBYrnCAeyndkBktO0WG2xSdYduTF0nxq%2BvfkmTF5Q%40mail.gmail.com
>
>
> That was one of my intentions in the mentioned patch, but I couldn't
> confirm that the page number (and offset) in SLRU was used signed not by
> purpose. Thank you for confirming this. I will try to replace int to
> unsigned where it is relevant in SLRU as part of the mentioned thread.
> Though it could be a big change worth a separate patch maybe.
>
> In the patchset where we're working on making SLRU 64bit [1] we have come
to agreement that:
- signed to unsigned change in SLRU *page* numbering is not needed as
maximum SLRU page number is guaranteed to be much more than 2 times less
than maximum 64-bit XID.
- change of *offset* from int format to the wider one is not needed at all
as multiple of SLRU_PAGES_PER_SEGMENT
and CLOG_XACTS_PER_PAGE (and similar for commit_ts and mxact) is far less
than 2^32 [2]
So the change to printing offset as signed, from this thread, is not going
to be included into SLRU 64-bit thread [1].
It's true that offset can not be negative, but printing int value as %u
isn't nice even if it is not supposed to be negative. So I'd propose the
small patch in this thread be applied separately if none has anything
against it.
[1]
https://www.postgresql.org/message-id/CALT9ZEEf1uywYN%2BVaRuSwNMGE5%3DeFOy7ZTwtP2g%2BW9oJDszqQw%40mail.gmail.com
[2]
https://www.postgresql.org/message-id/20220325.120718.758699124869814269.horikyota.ntt%40gmail.com
--
Best regards,
Pavel Borisov
Postgres Professional: http://postgrespro.com <http://www.postgrespro.com>
From | Date | Subject | |
---|---|---|---|
Next Message | Japin Li | 2022-03-25 11:18:14 | Re: turn fastgetattr and heap_getattr to inline functions |
Previous Message | Tomas Vondra | 2022-03-25 10:34:14 | Re: logical decoding and replication of sequences |