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
pgsql-patches by date
|Next:||From: Tom Lane||Date: 2007-10-23 23:13:36|
|Subject: Re: vacuum as flags in PGPROC |
|Previous:||From: Alvaro Herrera||Date: 2007-10-23 21:45:51|
|Subject: vacuum as flags in PGPROC|