Donald Fraser wrote:
> Could someone be please inform me what the correct syntax for accessing arrays
> is or tell me if its not possible with pl/pgSQL functions.
>
It won't work in 7.3.x or before, as you've noted. In 7.4 this will work:
CREATE OR REPLACE FUNCTION test_arrays() RETURNS int4[] AS '
DECLARE
test int4[] := ''{}'';
BEGIN
test[1] := 1;
RETURN test;
END ' LANGUAGE 'plpgsql';
regression=# select test_arrays();
test_arrays
-------------
{1}
(1 row)
Note that you have to initialize "test" to an empty array, because
otherwise you are trying to add an element to a NULL::int4[], the result
of which is still NULL.
Joe