Thread: Re: Populating a sparse array piecemeal in plpgsql (REDUX)
I am trying to return a 2-d array with filled in values, but I can't find a way to initialize the array programmatically (ie, in a function, with the array size being determined by parameter values. here is one approach > Well, the point is that you need to initialize the array as a whole to > have the dimensions you want; PG won't guess about this. For instance > you could do something like > > declare a integer[]; > begin > a := '{{null,null,null},{null,null,null},{null,null,null}}'; I would like the following to get a 3 x 3 array: declare a integer[][] begin a := array_init(3, 3, 0) -- this function doesn't exist, ?? Any ideas? I guess I can do a series of appends or make some text thing, but that seems awkward... Tx
2008/5/27 Webb Sprague <webb.sprague@gmail.com>: > I am trying to return a 2-d array with filled in values, but I can't > find a way to initialize the array programmatically (ie, in a > function, with the array size being determined by parameter values. > > here is one approach > >> Well, the point is that you need to initialize the array as a whole to >> have the dimensions you want; PG won't guess about this. For instance >> you could do something like >> >> declare a integer[]; >> begin >> a := '{{null,null,null},{null,null,null},{null,null,null}}'; > > I would like the following to get a 3 x 3 array: > > declare a integer[][] > begin > a := array_init(3, 3, 0) -- this function doesn't exist, ?? +1 it's good idea - I see problem only with dimension specification. Maybe is better array_init(ARRAY[3,3], 0) - so we can use this function for multimensional array too. Regards Pavel > > Any ideas? I guess I can do a series of appends or make some text > thing, but that seems awkward... > > Tx > > -- > Sent via pgsql-general mailing list (pgsql-general@postgresql.org) > To make changes to your subscription: > http://www.postgresql.org/mailpref/pgsql-general >