Re: XID formatting and SLRU refactorings (was: Add 64-bit XIDs into PostgreSQL 15) - Mailing list pgsql-hackers

From Michael Paquier
Subject Re: XID formatting and SLRU refactorings (was: Add 64-bit XIDs into PostgreSQL 15)
Date
Msg-id ZozTnFpuU3mcSuq9@paquier.xyz
Whole thread Raw
In response to Re: XID formatting and SLRU refactorings (was: Add 64-bit XIDs into PostgreSQL 15)  (Aleksander Alekseev <aleksander@timescale.com>)
Responses Re: XID formatting and SLRU refactorings (was: Add 64-bit XIDs into PostgreSQL 15)
List pgsql-hackers
On Mon, Jul 08, 2024 at 12:30:09PM +0300, Aleksander Alekseev wrote:
> TWIMC this is currently listed as an open item for PG17 [1].
> Sorry if everyone interested is already aware.
>
> [1]: https://wiki.postgresql.org/wiki/PostgreSQL_17_Open_Items

The proposed patch looks rather incomplete to me, based on the fact
that this stuff has a lot of inconsistencies with the types used when
manipulating 64b SLRU pages.  Some of them are harder to catch as the
variables don't specifically refer to pages.

So, even after v2, there are two more of these in asyncQueueUsage()
with the two QUEUE_POS_PAGE() for the head and tail positions:
    int         headPage = QUEUE_POS_PAGE(QUEUE_HEAD);
    int         tailPage = QUEUE_POS_PAGE(QUEUE_TAIL);

asyncQueueReadAllNotifications() also has one:
int         curpage = QUEUE_POS_PAGE(pos);

asyncQueueAdvanceTail() declares the following:
    int         oldtailpage;
    int         newtailpage;
    int         boundary;

AsyncQueueControl.stopPage is an int.

And that's only for async.c.  Alexander K., as the owner of the open
item, are you planning to look at that?
--
Michael

Attachment

pgsql-hackers by date:

Previous
From: Andrei Lepikhov
Date:
Subject: Re: Removing unneeded self joins
Next
From: Michael Paquier
Date:
Subject: Re: MAINTAIN privilege -- what do we need to un-revert it?