pgsql: Fix incorrect lack of Datum conversion in _int_matchsel()

Started by Peter Eisentraut11 months ago1 messagescomitters
Jump to latest
#1Peter Eisentraut
peter_e@gmx.net

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: /messages/by-id/8246d7ff-f4b7-4363-913e-827dadfeb145@eisentraut.org

Branch
------
REL_18_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/992a18f5161cf36147eedaf7ac1d0af8a89646dc

Modified Files
--------------
contrib/intarray/_int_selfuncs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)