Alexander Farber <alexander(dot)farber(at)gmail(dot)com> writes:
> If I'd like to always return exactly 1 row -
> why wouldn't just RETURN work?
Because RETURNS TABLE means it's RETURNS SETOF something,
which means the number of rows it produces is equal to the
number of RETURN NEXTs executed. RETURN, per se, has exactly
zero impact on the number of rows produced; it just stops execution.
I think you can say RETURNS RECORD with a few OUT parameters
to get the effect you're looking for.
regards, tom lane