Re: EXECUTE USING for plpgsql (for 8.4)

From: "Pavel Stehule" <pavel(dot)stehule(at)gmail(dot)com>
To: "Heikki Linnakangas" <heikki(at)enterprisedb(dot)com>
Cc: "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>, pgsql-patches(at)postgresql(dot)org
Subject: Re: EXECUTE USING for plpgsql (for 8.4)
Date: 2007-10-23 21:57:29
Message-ID: 162867790710231457m7aa12779o24049752a53d1854@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-patches

2007/10/23, Heikki Linnakangas <heikki(at)enterprisedb(dot)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
>

In response to

Browse pgsql-patches by date

  From Date Subject
Next Message Tom Lane 2007-10-23 23:13:36 Re: vacuum as flags in PGPROC
Previous Message Alvaro Herrera 2007-10-23 21:45:51 vacuum as flags in PGPROC