Re: very frustrating feature-bug

Поиск
Список
Период
Сортировка
От Jasen Betts
Тема Re: very frustrating feature-bug
Дата
Msg-id hlghmo$3g2$2@reversiblemaps.ath.cx
обсуждение исходный текст
Ответ на very frustrating feature-bug  (silly sad <sad@bankir.ru>)
Ответы Re: very frustrating feature-bug  (silly sad <sad@bankir.ru>)
Список pgsql-sql
On 2010-02-17, silly sad <sad@bankir.ru> wrote:
>
> acc=>
>
> CREATE OR REPLACE FUNCTION add_user (TEXT, TEXT, TEXT, TEXT)
> RETURNS usr AS $$
>    INSERT INTO usr (login,pass,name,email) VALUES ($1,$2,$3,$4)
>    RETURNING usr.*;
> $$ LANGUAGE sql SECURITY DEFINER;
>
> acc=>
>
> ERROR:  return type mismatch in function declared to return usr
> DETAIL:  Function's final statement must be a SELECT.
> CONTEXT:  SQL function "add_user"
>
> SURPRISE :-) SURPRISE :-)

SQL functions are inlined when invoked, and so must be valid subselects.

rewrite it in plpgsql.
CREATE OR REPLACE FUNCTION add_user (TEXT, TEXT, TEXT, TEXT)RETURNS usr AS $$DECLARE  retval usr;BEGIN   INSERT INTO
usr(login,pass,name,email) VALUES ($1,$2,$3,$4)   RETURNING usr.* INTO retval;   RETURN retval;END;$$ LANGUAGE PLPGSQL
SECURITYDEFINER;
 



В списке pgsql-sql по дате отправления:

Предыдущее
От: silly sad
Дата:
Сообщение: very frustrating feature-bug
Следующее
От: silly sad
Дата:
Сообщение: Re: very frustrating feature-bug