Hello

it's not bug - PostgreSQL doesn't support parameter placeholder on
this position. Use dynamic query instead - plpgsql statement EXECUTE.

regards
Pavel Stehule

2009/9/3 Keith Cascio <ke...@cs.ucla.edu>:
>
> The following bug has been logged online:
>
> Bug reference:      5032
> Logged by:          Keith Cascio
> Email address:      ke...@cs.ucla.edu
> PostgreSQL version: 8.4.0
> Operating system:   CentOS 5.3 (Linux)
> Description:        unexpected syntax error for plpgsql function returns
> table
> Details:
>
> Do this:
> create function reproduce() returns table(foo integer) language plpgsql as
> 'begin return query select 1 foo; end;';
>
> Output I got:
> ERROR:  syntax error at or near "$1"
> LINE 1:  select 1  $1
>                   ^
> QUERY:   select 1  $1
> CONTEXT:  SQL statement in PL/PgSQL function "reproduce" near line 1
>
> Output I expected:
> CREATE FUNCTION
>
> The mechanism of this error involves the "foo" return column and the "foo"
> alias being identical.  Identifier collision?  If I change one of the "foo"s
> to "bar", the definition succeeds.  There are fancier ways to cause similar
> unexpected syntax errors, but this is close to a minimal example.
>
> --
> Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-bugs
>

-- 
Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-bugs

Reply via email to