mirror of
				https://github.com/postgres/postgres.git
				synced 2025-10-29 22:49:41 +03:00 
			
		
		
		
	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 <aleksander@timescale.com> Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us> Discussion: https://www.postgresql.org/message-id/flat/8528fb7e-0aa2-6b54-85fb-0c0886dbd6ed%40enterprisedb.com
This commit is contained in:
		| @@ -2763,7 +2763,7 @@ c_overpaid(PG_FUNCTION_ARGS) | ||||
|      is  null.   <function>GetAttributeByName</function> returns a <type>Datum</type> | ||||
|      value that you can convert to the proper data type by using the | ||||
|      appropriate <function>DatumGet<replaceable>XXX</replaceable>()</function> | ||||
|      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. | ||||
|     </para> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user