Arrays in pl/pgsql functions

From: "Donald Fraser" <demolish(at)cwgsy(dot)net>
To: "[ADMIN]" <pgsql-admin(at)postgresql(dot)org>
Subject: Arrays in pl/pgsql functions
Date: 2003-07-17 11:21:16
Message-ID: 005701c34c55$8d017540$1664a8c0@DEMOLITION
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

PostgreSQL version 7.3.3

With reference to pl/pgsql functions.
I can declare a function to return an array type and I get no complaints when
defining or executing it.
I can declare a variable within the function as an array type and I don't get
any complaints defining or executing the function.
When I try to access the array I have problems.
I cannot find any documentation on accessing array types so I assumed they
would follow the pgSQL notation of for example:

CREATE OR REPLACE FUNCTION test_arrays() RETURNS int4[] AS '
DECLARE
test int4[];
BEGIN
test[1] := 1;
RETURN test;
END ' LANGUAGE 'plpgsql';

If I try to execute this function I get:
WARNING: plpgsql: ERROR during compile of test_arrays near line 5
ERROR: syntax error at or near "["

If I comment out the line:
test[1] := 1;
then the function executes ok.

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.

Thanks in advance,
Donald Fraser.

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Sergio Pili 2003-07-17 14:41:55 pg_dump: dumpBlobs(): error reading large object: ERROR:
Previous Message Fuat Atabey 2003-07-17 09:42:38 initdb fails after installation on Mac OS X 10.2.6