Jeff MacDonald <jeff@hub.org> writes:
> A person recent pointed this out to me..
> seems a bit funny, because limit 1 pretty much
> say's it't not gonna return multiple values.
>> CREATE FUNCTION vuln_port(int4) RETURNS int4 AS 'SELECT port FROM
>> i_host_vuln WHERE vuln = $1 GROUP BY port ORDER BY count(port) DESC
>> LIMIT 1' LANGUAGE 'sql';
>>
>> The result:
>> ERROR: function declared to return int4 returns multiple values in final
>> retrieve
It's a combination of a bug and a poorly worded error message. It is
complaining not about rows, but about the extra column needed to do the
ORDER BY. The error check forgets to ignore this 'hidden' column.
Fixed some time ago for 7.1...
regards, tom lane