Re: Define DatumGetInt8 function.
Peter Eisentraut <peter@eisentraut.org>
From: Peter Eisentraut <peter@eisentraut.org>
To: Aleksander Alekseev <aleksander@tigerdata.com>,
pgsql-hackers <pgsql-hackers@postgresql.org>
Cc: Kirill Reshke <reshkekirill@gmail.com>,
David Rowley <dgrowleyml@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>
Date: 2026-03-27T12:17:15Z
Lists: pgsql-hackers
On 13.03.26 11:55, Aleksander Alekseev wrote: > Hi Peter, > > Thanks for your feedback. > >> I'm tempted to think the correct direction here would be to use uint8 >> and its associated macros and functions more rigorously, not less. > > OK, if my understanding is correct this leaves us char_increment() and > char_decrement() which currently use DatumGetUInt8 inconsistently with > CharGetDatum for the argument and return value correspondingly. > >> I don't think it's worth making an isolated fix here for the one use of >> UInt8GetDatum() > > I think you meant not this particular change so I included it to the > patch. We can keep nbtcompare.c as if you believe this change is not > that important (it arguably isn't). > >> The change in pageinspect looks correct, but then when you look >> nearby and further around, you will find that there are also a bunch of >> (if not most) UInt16GetDatum and UInt32GetDatum that are wrong >> [...] > > Agree. I did my best to fix all the inconsistencies in pageinsect. > >> There are a lot of opportunities to clean this up, and I suspect that >> while many of these will work either way in practice because the actual >> values don't go far enough to hit the signed/unsigned boundary, I think >> there could a number of little bugs here to be fixed. > > I believe you were referring to places other than pageinspect. I will > investigate and create separate threads with corresponding patches > later. I'm moving this patch to the next commitfest. It's worth continuing to work on making this more correct, but AFAICT no bug has been claimed here, so it's not worth rushing this now.
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Adjust some incorrect *GetDatum() macros
- ac59a90bef45 19 (unreleased) landed
-
Remove Int8GetDatum function
- d4a080b8a190 19 (unreleased) landed