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
|
Список | 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 по дате отправления: