Assigning values to array components.

From: Rich Cullingford <rculling(at)sysd(dot)com>
To: pgsql-interfaces(at)postgresql(dot)org
Subject: Assigning values to array components.
Date: 2003-09-11 20:01:09
Message-ID: 3F60D485.5030807@sysd.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-interfaces

Hello All,
I have a small application (based on sorting inet[] arrays) that
requires building an array of bigints, one for each inet in the array.
This is doable in most programming languages with a notation like:

inet_bigints[i] := inet2bigint(ip)

Unfortunately, plpgsql doesn't seem to allow that kind of assignment, as
loading the following into psql reveals:

create or replace function foobaz()
RETURNS bigint[]
AS '
DECLARE
answer bigint[];
BEGIN
answer[1] := 12345;
RETURN answer;
END;
'
LANGUAGE 'plpgsql';

When I try to run this:

select foobaz();
WARNING: plpgsql: ERROR during compile of foobaz near line 4
ERROR: parse error at or near "["

The system also won't let me initialize the array in the DECLARE
section. I've looked through the archives for the past few years for
hints about this, but haven't found anything. Is there a plpgsql
reference that's more 'complete' than the one that comes with the PG
distribution?

Any help greatly appreciated.
Rich Cullingford
rculling(at)sysd(dot)com

Responses

Browse pgsql-interfaces by date

  From Date Subject
Next Message Tom Lane 2003-09-11 21:08:59 Re: Assigning values to array components.
Previous Message Caroline Yong 2003-09-11 03:02:46 Replicate database