Hi Hackers,
I observed that we have inaccurate comment in enforce_generic_type_consistency.
if (!OidIsValid(elem_typeid))
{
if (allow_poly)
{
elem_typeid = ANYELEMENTOID;
array_typeid = ANYARRAYOID;
range_typeid = ANYRANGEOID;
}
else
{
/*
* Only way to get here is if all the polymorphic args have
* UNKNOWN inputs
*/
ereport(ERROR,
...............
}
........
}
We reach the error condition even if there is any "anycompatible" parameter is present (and that is of some known type say int32).
I think developer intend to report error if "we have all the family-1 polymorphic arguments as UNKNOWN".
Thoughts?
Please find attached the patch to fix this typo.
Thanks,
Himanshu