Re: EXECUTE USING for plpgsql (for 8.4) - Mailing list pgsql-patches

From Pavel Stehule
Subject Re: EXECUTE USING for plpgsql (for 8.4)
Date
Msg-id 162867790710231457m7aa12779o24049752a53d1854@mail.gmail.com
Whole thread Raw
In response to Re: EXECUTE USING for plpgsql (for 8.4)  (Heikki Linnakangas <heikki@enterprisedb.com>)
List pgsql-patches
2007/10/23, Heikki Linnakangas <heikki@enterprisedb.com>:
> Pavel Stehule wrote:
> >> This doesn't work:
> >>
> >> create function exc_using(varchar) returns varchar
> >> as $$
> >>  declare v varchar;
> >> begin
> >>   execute 'select upper($1)' into v using ('aa');
> >
> > it cannot work. Your parameter is row.
>
> Really? "execute 'select upper($1)' into v using ('aa'::varchar);"
> works, as does "execute 'select $1 + 1' into v using (12345);".
>
No, propably not. I am not sure, when Postgres grouping fields into
row. Problem is only in unknown literal.

> > But into v using 'aaa' doesn't work too :(
> >
> > ERROR:  failed to find conversion function from unknown to text
> > CONTEXT:  SQL statement "select upper($1)"
> >
> > you have to specify type: use argument, variable or casting
> > .... using text 'aaa'; or select upper($1::text)
> >
> > It is question for Tom. Why prepared statement cannot cast from literal to text
> > http://www.nabble.com/Blowback-from-text-conversion-changes-t3977711.html
>
> Yeah, I suppose we'll just live with that. Using literals as arguments
> is kind of pointless anyway, since you could as well put the literal in
> the query as well and not bother with the USING.
>
> >> I also noted that the patch makes USING a keyword. Not sure if we care
> >> about that or not.
> >>
> > I am afraid to change well know syntax (SQL/PSM use it in same context too).
>
> No I think the syntax is fine. I'm just wondering if it really has to be
> a reserved keyword to implement that syntax. Looking at the plpgsql
> grammar close, we don't categorize keywords like we do in the main
> grammar, so maybe what I'm saying doesn't make any sense.
>

yes, it's ok.

> --
>   Heikki Linnakangas
>   EnterpriseDB   http://www.enterprisedb.com
>

pgsql-patches by date:

Previous
From: Alvaro Herrera
Date:
Subject: vacuum as flags in PGPROC
Next
From: Tom Lane
Date:
Subject: Re: vacuum as flags in PGPROC