Re: Define DatumGetInt8 function.

Kirill Reshke <reshkekirill@gmail.com>

From: Kirill Reshke <reshkekirill@gmail.com>
To: Aleksander Alekseev <aleksander@tigerdata.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>, David Rowley <dgrowleyml@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>
Date: 2026-01-06T14:27:47Z
Lists: pgsql-hackers
On Tue, 6 Jan 2026 at 19:22, Aleksander Alekseev
<aleksander@tigerdata.com> wrote:
>
> Hi,
>
> > > Kirill, are you working on this patch?
> >
> > Yes, PFA.
> >
> >  > I've not studied in detail,
> > > but looks like it would require making
> > > char_decrement()/char_increment() and btcharskipsupport() all use
> > > CharGetDatum()/DatumGetChar() and switch to using SCHAR_MIN/SCHAR_MAX
> > > rather than 0/UCHAR_MAX.
> >
> > This is also a possible change, and can be a separate patch. I will
> > try to also work on this this week.
>
> v1 looks incomplete to me. As I understand, Tom proposed to get rid of
> UInt8 conversions as well. Are you going to implement this idea as
> well?
>


Hmm, v1 looks good and self-contained to me. Like, anyway, making two
commits (one for signed Int8 and one for unsigned) here is better for
sake of atomicy?
Anyway, I can see there are users of UInt8GetDatum, which are [0] and
forks of Greenplum. So, I am not super-sure removing UInt8* is
desirable.


[0] https://github.com/duckdb/pg_duckdb/blob/main/src/pgduckdb_types.cpp#L230


-- 
Best regards,
Kirill Reshke



Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Adjust some incorrect *GetDatum() macros

  2. Remove Int8GetDatum function