The following bug has been logged online: Bug reference: 4585 Logged by: robert treat Email address: xzi...@users.sourceforge.net PostgreSQL version: 8.3.x Operating system: solaris/linux Description: out parameter name cuases disruption in custom aggregate? Details:
using pagila schema{1}, and array_accum from docs{2}, I uncovered the following odd behavior. pagila=# create or replace function wtf(out actorid int) returns setof int as $$ declare v_wtf int[]; begin v_wtf := array_accum(actor_id) from actor limit 3; raise notice 'wtf --> %',v_wtf; return; end $$ language plpgsql; CREATE FUNCTION pagila=# select * from wtf(); NOTICE: wtf --> {1,2,3,4,5,6,7,8,9,10} actorid --------- (0 rows) pagila=# create or replace function wtf(out actor_id int) returns setof int as $$ declare v_wtf int[]; begin v_wtf := array_accum(actor_id) from actor limit 3; raise notice 'wtf --> %',v_wtf; return; end $$ language plpgsql; CREATE FUNCTION pagila=# select * from wtf(); NOTICE: wtf --> {NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL} actor_id ---------- (0 rows) Apparently the assignment of the integer value is somehow dependent on the name of the out parameter; when it matches the column name, you get nulls back. Is this a bug? {1} http://cvs.pgfoundry.org/cgi-bin/cvsweb.cgi/dbsamples/pagila/ {2} http://www.postgresql.org/docs/current/interactive/xaggr.html -- Sent via pgsql-bugs mailing list (pgsql-bugs@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-bugs