Re: Convert *GetDatum() and DatumGet*() macros to inline functions - Mailing list pgsql-hackers

From Peter Eisentraut
Subject Re: Convert *GetDatum() and DatumGet*() macros to inline functions
Date
Msg-id 4085b763-3e75-d6a9-d8ca-e256675dfdca@enterprisedb.com
Whole thread Raw
In response to Re: Convert *GetDatum() and DatumGet*() macros to inline functions  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Convert *GetDatum() and DatumGet*() macros to inline functions
List pgsql-hackers
On 26.09.22 19:34, Tom Lane wrote:
> I think we can do this while still having reasonable type-safety
> by adding AssertVariableIsOfTypeMacro() checks to the macros.
> An advantage of that solution is that we verify that the code
> will be safe for a 32-bit build even in 64-bit builds.  (Of
> course, it's just checking the variable's type not its lifespan,
> but this is still a step forward.)
> 
> 0001 attached is what you committed, 0002 is a proposed delta
> to fix the Fast macros.

Thanks, I committed it like that.

(I had looked into AssertVariableIsOfTypeMacro() for an earlier variant 
of this patch, before I had the idea with the inline functions.  It's in 
general a bit too strict, such as with short vs int, and signed vs 
unsigned, but it should work ok for this limited set of uses.)




pgsql-hackers by date:

Previous
From: Justin Pryzby
Date:
Subject: Re: pgsql: Increase width of RelFileNumbers from 32 bits to 56 bits.
Next
From: Jacob Champion
Date:
Subject: Re: [PATCH] Log details for client certificate failures