Re: Populating a sparse array piecemeal in plpgsql (REDUX)

From: "Pavel Stehule" <pavel(dot)stehule(at)gmail(dot)com>
To: "Webb Sprague" <webb(dot)sprague(at)gmail(dot)com>
Cc: pgsql-general(at)postgresql(dot)org
Subject: Re: Populating a sparse array piecemeal in plpgsql (REDUX)
Date: 2008-05-28 20:18:27
Message-ID: 162867790805281318v3b085facr9ce5d59a360d487d@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

2008/5/27 Webb Sprague <webb(dot)sprague(at)gmail(dot)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(at)postgresql(dot)org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general
>

In response to

Browse pgsql-general by date

  From Date Subject
Next Message Tom Lane 2008-05-28 20:42:53 Re: Psql crashes with Segmentation fault on copy from
Previous Message Martijn van Oosterhout 2008-05-28 19:46:59 Re: Psql crashes with Segmentation fault on copy from