Re: Populating a sparse array piecemeal in plpgsql - Mailing list pgsql-general

From Eliot, Christopher
Subject Re: Populating a sparse array piecemeal in plpgsql
Date
Msg-id 5C27B2F8693FA3458E71B4A81551253F03646388@NSTAR-MAIL1.windows.nagrastar.com
Whole thread Raw
In response to Re: Populating a sparse array piecemeal in plpgsql  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Populating a sparse array piecemeal in plpgsql  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-general
Thank you for your reply, but I don't really understand how to use this
information.
My problem is that I can put one value into this array, and that's it.
Any subsequent attempts to put another value elsewhere in the array are
rebuffed, saying that the subscripts are out of range.  I don't
understand what I would do "by hand" that would help this.

Topher Eliot
christopher.eliot@nagrastar.com
[]

> -----Original Message-----
> From: Tom Lane [mailto:tgl@sss.pgh.pa.us]
> Sent: Thursday, May 15, 2008 12:30 AM
> To: Eliot, Christopher
> Cc: pgsql-general@postgresql.org
> Subject: Re: [GENERAL] Populating a sparse array piecemeal in plpgsql
>
> "Eliot, Christopher" <christopher.eliot@nagrastar.com> writes:
> > CREATE FUNCTION func1()
> > RETURNS VOID AS $$
> > DECLARE
> >     a INTEGER[2][2][2][200];
> > BEGIN
> >     a[1][2][1][33] = 0;
> >     a[2][1][1][33] = 0;
> > END;
> > $$ LANGUAGE PLPGSQL;
>
> > When I run this function, I get:
> > ERROR:  array subscript out of range.
>
> Yeah.  I'm afraid that declaration is basically just noise:
> it doesn't do anything for you that "DECLARE a integer[];"
> wouldn't do.  If you want the array actually filled out to
> the indicated dimensions then you have to do that by hand.
>
>             regards, tom lane
>

pgsql-general by date:

Previous
From: Fernando
Date:
Subject: Re: Password safe web application with postgre
Next
From:
Date:
Subject: Re: Password safe web application with postgre*s*