On Wed, Jun 15, 2011 at 7:43 AM, Pavel Stehule <pavel.stehule@gmail.com> wrote:
> Hello Heikki,
>
> probably I found a bug in patch:
>
> CREATE FUNCTION fx(i integer) RETURNS integer
> LANGUAGE plpgsql
> AS $$begin raise notice '>>%<<', i; return i; end;$$;
>
> CREATE FUNCTION fx1(integer) RETURNS text
> LANGUAGE sql
> AS $_$ select case $1 when 1 then 'A' else 'B' end$_$;
>
> CREATE FUNCTION fx2(text) RETURNS text
> LANGUAGE sql
> AS $_$ select case $1 when 'A' then 'a' else 'b' end$_$;
>
> CREATE TABLE foo (
> a integer
> );
>
> COPY foo (a) FROM stdin;
> 1
> 0
> \.
>
> postgres=# select fx2(fx1(fx(a))) from foo;
> NOTICE: >>1<<
> ERROR: invalid expression parameter reference (1 levels up, while
> stack is only 1 elements deep)
I can't reproduce this. Perhaps it was fixed by one of the later commits?
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company