Re: Arrays in pl/pgsql functions

From: Joe Conway <mail(at)joeconway(dot)com>
To: Donald Fraser <demolish(at)cwgsy(dot)net>
Cc: "[ADMIN]" <pgsql-admin(at)postgresql(dot)org>
Subject: Re: Arrays in pl/pgsql functions
Date: 2003-07-17 17:50:13
Message-ID: 3F16E1D5.7080304@joeconway.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-admin

Donald Fraser wrote:
> Could someone be please inform me what the correct syntax for accessing arrays
> is or tell me if its not possible with pl/pgSQL functions.
>

It won't work in 7.3.x or before, as you've noted. In 7.4 this will work:

CREATE OR REPLACE FUNCTION test_arrays() RETURNS int4[] AS '
DECLARE
test int4[] := ''{}'';
BEGIN
test[1] := 1;
RETURN test;
END ' LANGUAGE 'plpgsql';

regression=# select test_arrays();
test_arrays
-------------
{1}
(1 row)

Note that you have to initialize "test" to an empty array, because
otherwise you are trying to add an element to a NULL::int4[], the result
of which is still NULL.

Joe

In response to

Responses

Browse pgsql-admin by date

  From Date Subject
Next Message Donald Fraser 2003-07-17 18:10:33 Re: Arrays in pl/pgsql functions
Previous Message P G 2003-07-17 16:14:19 Where can I find the release notes for 7.3.3?