Обсуждение: return query and function result type must be real because of OUT parameters

Поиск
Список
Период
Сортировка

return query and function result type must be real because of OUT parameters

От
Ivan Sergio Borgonovo
Дата:
I was doing some test to track down an error in a more
complicated function and I stumbled in this behaviour I can't
understand:

create or replace function test.test(out _rank float4) returns setof
record as $$
begin
return query select 1::float4;
return;
end;
$$ language plpgsql stable;

and I get

ERROR:  function result type must be real because of OUT parameters


********** Error **********

ERROR: function result type must be real because of OUT parameters
SQL state: 42P13

same with text etc...

--
Ivan Sergio Borgonovo
http://www.webthatworks.it


Re: return query and function result type must be real because of OUT parameters

От
"Pavel Stehule"
Дата:
Hello

this is feature. Record needs two and more fields. So when is only one
out variable, then result must be scalar, etc -- setof float4.

regards
Pavel Stehule

it's little bit simple in 8.4, there you can define

create or replace function test.test() returns table(_rank float4) as $$



2008/12/24 Ivan Sergio Borgonovo <mail@webthatworks.it>:
> I was doing some test to track down an error in a more
> complicated function and I stumbled in this behaviour I can't
> understand:
>
> create or replace function test.test(out _rank float4) returns setof
> record as $$
> begin
> return query select 1::float4;
> return;
> end;
> $$ language plpgsql stable;
>
> and I get
>
> ERROR:  function result type must be real because of OUT parameters
>
>
> ********** Error **********
>
> ERROR: function result type must be real because of OUT parameters
> SQL state: 42P13
>
> same with text etc...
>
> --
> Ivan Sergio Borgonovo
> http://www.webthatworks.it
>
>
> --
> Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general
>