plpgsql and setting array values.

From: "Nicolai Petri" <lists(at)petri(dot)cc>
To: <pgsql-general(at)postgresql(dot)org>
Subject: plpgsql and setting array values.
Date: 2003-03-24 22:12:50
Message-ID: 005901c2f252$824427e0$3b99a483@lisatorris
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi all

I'm writing a rrdtool replacement in pgsql and have a little problem with
plpgsql and arrays.

The problem is best shown in the following example :

--------------------------
CREATE OR REPLACE FUNCTION test1(integer[]) RETURNS float[] AS '
DECLARE
pa_dsid ALIAS FOR $1;
l_rv float[];
BEGIN
FOR aoffset IN 2 .. pa_dsid[1]+1 LOOP
-- XXX: The following is not possible..
l_rv[aoffset]:=pa_dsid[aoffset]*4; -- Return dummyvalue (multiply by 4)
END LOOP;
RETURN l_rv;
END;
' language 'plpgsql';
--------------------------

The problem is that i cannot assign values to explicit array values like
myarray[2]:=123;
The only way is to say myarray:=' {12,123}'; and that is not very flexible
because I will have to build up textstrings in my stored procedure.

Any comments on this ? Have I missed some documentation or similar ?

Best regards,
Nicolai Petri
catpipe Systems ApS

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Andrew Sullivan 2003-03-24 22:18:29 Re: fairly current mysql v postgresql comparison need for
Previous Message Richard Welty 2003-03-24 22:07:00 Re: fairly current mysql v postgresql comparison need for