Re: Convert *GetDatum() and DatumGet*() macros to inline functions
Peter Eisentraut <peter.eisentraut@enterprisedb.com>
From: Peter Eisentraut <peter.eisentraut@enterprisedb.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Julien Rouhaud <rjuju123@gmail.com>,
Aleksander Alekseev <aleksander@timescale.com>,
pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2022-09-27T19:26:20Z
Lists: 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.)
Commits
-
Convert *GetDatum() and DatumGet*() macros to inline functions
- c8b2ef05f481 16.0 landed
- 595836e99bf1 16.0 landed
-
Fix incorrect uses of Datum conversion macros
- 6bcda4a72123 16.0 landed