plpgsql and setting array values. - Mailing list pgsql-general

From lists@petri.cc
Subject plpgsql and setting array values.
Date
Msg-id 200303241545.38221.lists@petri.cc
Whole thread Raw
List 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


pgsql-general by date:

Previous
From: "Rahul"
Date:
Subject: Postgresql with krb5
Next
From: merlyn@stonehenge.com (Randal L. Schwartz)
Date:
Subject: fairly current mysql v postgresql comparison need for advocacy