mirror of
				https://github.com/postgres/postgres.git
				synced 2025-10-31 10:30:33 +03:00 
			
		
		
		
	Fix incorrect lack of Datum conversion in _int_matchsel()
The code used
    return (Selectivity) 0.0;
where
    PG_RETURN_FLOAT8(0.0);
would be correct.
On 64-bit systems, these are pretty much equivalent, but on 32-bit
systems, PG_RETURN_FLOAT8() correctly produces a pointer, but the old
wrong code would return a null pointer, possibly leading to a crash
elsewhere.
We think this code is actually not reachable because bqarr_in won't
accept an empty query, and there is no other function that will
create query_int values.  But better be safe and not let such
incorrect code lie around.
Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Discussion: https://www.postgresql.org/message-id/flat/8246d7ff-f4b7-4363-913e-827dadfeb145%40eisentraut.org
			
			
This commit is contained in:
		| @@ -178,7 +178,7 @@ _int_matchsel(PG_FUNCTION_ARGS) | ||||
| 	if (query->size == 0) | ||||
| 	{ | ||||
| 		ReleaseVariableStats(vardata); | ||||
| 		return (Selectivity) 0.0; | ||||
| 		PG_RETURN_FLOAT8(0.0); | ||||
| 	} | ||||
|  | ||||
| 	/* | ||||
|   | ||||
		Reference in New Issue
	
	Block a user