From: | Noah Misch <noah(at)leadboat(dot)com> |
---|---|
To: | Alexander Korotkov <aekorotkov(at)gmail(dot)com> |
Cc: | Maxim Orlov <orlovmg(at)gmail(dot)com>, Aleksander Alekseev <aleksander(at)timescale(dot)com>, Postgres hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>, Heikki Linnakangas <hlinnaka(at)iki(dot)fi>, Japin Li <japinli(at)hotmail(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, Michael Paquier <michael(at)paquier(dot)xyz>, Pavel Borisov <pashkin(dot)elfe(at)gmail(dot)com>, Peter Eisentraut <peter(dot)eisentraut(at)enterprisedb(dot)com> |
Subject: | Re: XID formatting and SLRU refactorings (was: Add 64-bit XIDs into PostgreSQL 15) |
Date: | 2024-06-26 00:27:47 |
Message-ID: | 20240626002747.dc.nmisch@google.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Mon, Nov 27, 2023 at 01:43:26AM +0200, Alexander Korotkov wrote:
> v61 looks good to me. I'm going to push it as long as there are no objections.
This yielded commit 4ed8f09 "Index SLRUs by 64-bit integers rather than by
32-bit integers" and left some expressions coercing SLRU page numbers to int.
Two sources:
grep -i 'int\b.*page' $(git grep -l SimpleLruInit)
make && touch $(git grep -l SimpleLruInit) && make PROFILE=-Wconversion 2>&1 | less -p '.int. from .int64. may alter its value'
(Not every match needs to change.)
> --- a/src/include/access/slru.h
> +++ b/src/include/access/slru.h
> @@ -127,7 +127,15 @@ typedef struct SlruCtlData
> * the behavior of this callback has no functional implications.) Use
> * SlruPagePrecedesUnitTests() in SLRUs meeting its criteria.
> */
> - bool (*PagePrecedes) (int, int);
> + bool (*PagePrecedes) (int64, int64);
> +
> + /*
> + * If true, use long segment filenames formed from lower 48 bits of the
> + * segment number, e.g. pg_xact/000000001234. Otherwise, use short
> + * filenames formed from lower 16 bits of the segment number e.g.
> + * pg_xact/1234.
> + */
> + bool long_segment_names;
SlruFileName() makes 15-character (60-bit) file names. Where does the 48-bit
limit arise? How does the SlruFileName() comment about a 24-bit limit for
short names relate this comment's 16-bit limit?
nm
From | Date | Subject | |
---|---|---|---|
Next Message | Michael Paquier | 2024-06-26 00:30:27 | Re: [PATCH] Add ACL (Access Control List) acronym |
Previous Message | Michael Paquier | 2024-06-26 00:25:13 | Re: Backporting BackgroundPsql |