Rich Cullingford <rculling@sysd.com> writes:
> create or replace function foobaz()
> RETURNS bigint[]
> AS '
> DECLARE
> answer bigint[];
> BEGIN
> answer[1] := 12345;
> RETURN answer;
> END;
> '
> LANGUAGE 'plpgsql';
> select foobaz();
> WARNING: plpgsql: ERROR during compile of foobaz near line 4
> ERROR: parse error at or near "["
IIRC, Joe Conway fixed that for 7.4. I can get your example to work
in CVS tip if I modify the DECLARE to
answer bigint[] = ''{}'';
Without that, you're trying to combine a NULL array with a nonnull
entry, which is going to give a NULL result.
regards, tom lane