From: | Amit Dor-Shifer <amit(dot)dor(dot)shifer(at)gmail(dot)com> |
---|---|
To: | pgsql-general(at)postgresql(dot)org |
Subject: | plpgsql: type of array cells |
Date: | 2011-10-06 04:13:54 |
Message-ID: | CAAznTxEjiVSWpF9-w5N0in+GWyK_razjobK9L=K_-c3aGvO6SA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
I'm trying to use an array of objects in plpgsql (postgresql 8.4):
drop type if exists test_t cascade;
create type test_t AS
(
i integer,
s text
);
create or replace function test2()
RETURNS SETOF test_t AS
$$
DECLARE
arr test_t ARRAY[3];
tmp test_t;
BEGIN
FOR i in 1 .. 3
LOOP
-- ok. Can write to test_t.i
tmp.i:=i;
-- ok. Can assign a cell from arr to a test_t object
arr[i]:=tmp;
-- error:
arr[i].i=3;
RETURN NEXT tmp;
END LOOP;
END;
$$
LANGUAGE plpgsql;
I'm getting an error when attempting to interpret this function:
NOTICE: drop cascades to function test2()
ERROR: syntax error at or near "."
LINE 21: arr[i].i=3;
^
********** Error **********
ERROR: syntax error at or near "."
SQL state: 42601
Character: 272
Isn't arr[i] of type test_t??
Thanks,
Amit
From | Date | Subject | |
---|---|---|---|
Next Message | khizer | 2011-10-06 04:41:39 | Fwd: Postgresql-8.2 Replication |
Previous Message | Tom Lane | 2011-10-06 00:46:20 | Re: Create Extension search path |