Re: plpgsql array initialization, what's the story? - Mailing list pgsql-general

From Karl O. Pinc
Subject Re: plpgsql array initialization, what's the story?
Date
Msg-id 1112306000l.15411l.3l@mofo
Whole thread Raw
In response to Re: plpgsql array initialization, what's the story?  (Michael Fuhr <mike@fuhr.org>)
List pgsql-general
On 03/31/2005 01:59:02 PM, Michael Fuhr wrote:

> I think this has been fixed for 8.0.2:
>
> http://archives.postgresql.org/pgsql-committers/2005-02/msg00012.php
>
> Here's a test in 8.0.2beta1:
>
> CREATE FUNCTION foo() RETURNS integer[] AS $$
> DECLARE
>     y  integer[];
> BEGIN
>     y[1] := 1;
>     y[2] := 2;
>     y[3] := 3;
>
>     RETURN y;
> END;
> $$ LANGUAGE plpgsql;
>
> SELECT foo();
>    foo
> ---------
>  {1,2,3}
> (1 row)
>

In the meantime, those who want arrays of non-integer datatypes
must cast to an array of the appropriate datatype (as suggested
by the documentation.)

create or replace function kop.bar()
returns date[]
language plpgsql
as $func$
declare
y date[] := CAST ('{}' AS date[]);

begin
y[1] := '1979-03-01';
y[2] := '1979-03-02';
y[3] := '1979-03-03';

return y;
end;
$func$;

Karl <kop@meme.com>
Free Software:  "You don't pay back, you pay forward."
                 -- Robert A. Heinlein



pgsql-general by date:

Previous
From: "Andrus"
Date:
Subject: Re: Merging item codes using referential integrity
Next
From: "Srikanth Utpala (Virinchi)"
Date:
Subject: getting information of tables and indexes