PegoraroF10 <marcos@f10.com.br> writes:
> CREATE FUNCTION public.fntextonumero(finteger public.i32, ftext text)
> RETURNS boolean
> LANGUAGE sql STABLE
> AS $$
> SELECT ftext = finteger::text;
> $$;
Huh. The crash goes away if you change that to
SELECT finteger::text = ftext;
It looks like ExecInitSubPlan is just assuming that the outer side
of the hashable comparison condition is on the left, and this
function is confusing it by swapping that around to the right.
Kinda surprising that we never identified that problem before ---
this code's been like this for years.
regards, tom lane