Обсуждение: 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
>