Hello problem is elsewhere. PostgreSQL doesn't support by ref variables. In your sample you have to do: CREATE OR REPLACE FUNCTION callarr() returns integer AS $Z$ DECLARE x varchar[6]; BEGIN x := arr(x); <-------!!!!!!!!! RAISE NOTICE 'x[1]=%',x[1]; return 0; end; $Z$ LANGUAGE 'plpgsql' VOLATILE; Pavel On 12/12/2007, Abraham, Danny <danny_abraham@xxxxxxx> wrote: > =========================================== > > CREATE OR REPLACE FUNCTION arr( inout x varchar[] ) > AS > $Z$ > DECLARE > i integer; > BEGIN > select ARRAY['Danny','Eissam','Moshe'] into x; > end; > $Z$ LANGUAGE 'plpgsql' VOLATILE; > > =========================================== > > CREATE OR REPLACE FUNCTION callarr() > returns integer > AS > $Z$ > DECLARE > x varchar[6]; > BEGIN > perform arr(x); > RAISE NOTICE 'x[1]=%',x[1]; > return 0; > end; > $Z$ LANGUAGE 'plpgsql' VOLATILE; > > =========================================== > > select callarr(); > NOTICE: x[1]=<NULL> ??? Should have been DANNY > > > Should it work? > > Thanks > > Danny > > ---------------------------(end of broadcast)--------------------------- > TIP 5: don't forget to increase your free space map settings > ---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match