Re: bad variable subst after "AS"

Поиск
Список
Период
Сортировка
От Andrew Dunstan
Тема Re: bad variable subst after "AS"
Дата
Msg-id 4C91C76C.3070102@dunslane.net
обсуждение исходный текст
Ответ на bad variable subst after "AS"  (Darren Duncan <darren@darrenduncan.net>)
Список pgsql-hackers

On 09/16/2010 02:33 AM, Darren Duncan wrote:
> I don't know if this is a bug or not, but if not, it looks like a 
> misfeature ...
>
> When executing the following in Pg 8.4.4:
>
>   CREATE OR REPLACE FUNCTION f () RETURNS TABLE(a1 INTEGER) AS
>   $BODY$
>   BEGIN
>     RETURN QUERY SELECT a0 AS a1 FROM rv;
>     RETURN;
>   END;
>   $BODY$
>   LANGUAGE plpgsql;
>
> ... I get this error:
>
>   ERROR: syntax error at or near "$1"
>   SQL state: 42601
>
> My impression of this is that Pg is treating the "a1" after the "AS" 
> like it was
> a variable reference and so substituted it for $1.
>
> Now that just seems wrong to me.  I can understand either "a0" or "rv" 
> getting a
> substitution, but something following an "AS" being substituted is 
> just wrong.
>
> Is that a bug and if not then what is the rationale for working that 
> way, and
> can it be changed?
>
> Meanwhile, what is the best way to write f to work around this 
> misbehavior?
>
> Thank you.
>

Remove the AS clause. You don't need it here at all.

cheers

andrew


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

Предыдущее
От: Itagaki Takahiro
Дата:
Сообщение: Re: patch: SQL/MED(FDW) DDL
Следующее
От: Vaibhav Kaushal
Дата:
Сообщение: Introducing Myself