From c8b2ef05f481ef06326d7b9f3eb14b303f215c7e Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Tue, 27 Sep 2022 20:47:07 +0200 Subject: Convert *GetDatum() and DatumGet*() macros to inline functions The previous macro implementations just cast the argument to a target type but did not check whether the input type was appropriate. The function implementation can do better type checking of the input type. For the *GetDatumFast() macros, converting to an inline function doesn't work in the !USE_FLOAT8_BYVAL case, but we can use AssertVariableIsOfTypeMacro() to get a similar level of type checking. Reviewed-by: Aleksander Alekseev Reviewed-by: Tom Lane Discussion: https://www.postgresql.org/message-id/flat/8528fb7e-0aa2-6b54-85fb-0c0886dbd6ed%40enterprisedb.com --- doc/src/sgml/xfunc.sgml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc/src') diff --git a/doc/src/sgml/xfunc.sgml b/doc/src/sgml/xfunc.sgml index b8cefb9c2ca..cf5810b3c16 100644 --- a/doc/src/sgml/xfunc.sgml +++ b/doc/src/sgml/xfunc.sgml @@ -2763,7 +2763,7 @@ c_overpaid(PG_FUNCTION_ARGS) is null. GetAttributeByName returns a Datum value that you can convert to the proper data type by using the appropriate DatumGetXXX() - macro. Note that the return value is meaningless if the null flag is + function. Note that the return value is meaningless if the null flag is set; always check the null flag before trying to do anything with the result. -- cgit v1.2.3