X-Original-To: pgsql-sql-postgresql.org@localhost.postgresql.org Received: from localhost (neptune.hub.org [200.46.204.2]) by svr1.postgresql.org (Postfix) with ESMTP id 13B7CD1B4AD for ; Tue, 16 Dec 2003 03:56:01 +0000 (GMT) Received: from svr1.postgresql.org ([200.46.204.71]) by localhost (neptune.hub.org [200.46.204.2]) (amavisd-new, port 10024) with ESMTP id 69083-04 for ; Mon, 15 Dec 2003 23:55:42 -0400 (AST) Received: from sss.pgh.pa.us (unknown [192.204.191.242]) by svr1.postgresql.org (Postfix) with ESMTP id 63D31D1B479 for ; Mon, 15 Dec 2003 23:55:29 -0400 (AST) Received: from sss2.sss.pgh.pa.us (tgl@localhost [127.0.0.1]) by sss.pgh.pa.us (8.12.10/8.12.10) with ESMTP id hBG3tc19018351; Mon, 15 Dec 2003 22:55:38 -0500 (EST) To: Michael Shapiro Cc: pgsql-sql@postgresql.org Subject: Re: arrays in pl/pgsql In-reply-to: <200312160339.hBG3d0q31028@osage.ncsa.uiuc.edu> References: <200312160339.hBG3d0q31028@osage.ncsa.uiuc.edu> Comments: In-reply-to Michael Shapiro message dated "Sun, 14 Dec 2003 03:52:48 -0600" Date: Mon, 15 Dec 2003 22:55:38 -0500 Message-ID: <18350.1071546938@sss.pgh.pa.us> From: Tom Lane X-Virus-Scanned: by amavisd-new at postgresql.org X-Archive-Number: 200312/110 X-Sequence-Number: 16276 Michael Shapiro writes: > I have tried the following (which doesn't work) > dn[1] := \'a\'; > The parser doesn't like the [ that follows dn. I believe Joe Conway fixed this in 7.4. Note that you also need to initialize the array to something, because assigning to an element of a NULL array still yields a NULL array result. For example: regression=# create or replace function foo() returns text as ' regression'# declare dn text[] := \'{}\'; regression'# begin regression'# dn[1] := \'a\'; regression'# return dn[1]; regression'# end' language plpgsql; CREATE FUNCTION regression=# select foo(); foo ----- a (1 row) regards, tom lane