Re: Error when using array variable

Поиск
Список
Период
Сортировка
От Michael Fuhr
Тема Re: Error when using array variable
Дата
Msg-id 20050722233858.GA47991@winnie.fuhr.org
обсуждение исходный текст
Ответ на Re: Error when using array variable  (Gnanavel S <s.gnanavel@gmail.com>)
Ответы Re: Error when using array variable  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-sql
On Fri, Jul 22, 2005 at 03:07:04PM +0530, Gnanavel S wrote:
> On 7/22/05, Dongsoo Yoon <dsyoon@metasoftworks.com> wrote:
> >  CREATE OR REPLACE FUNCTION arr_test()
> >  RETURNS NUMERIC[] AS $BODY$
> >  DECLARE
> >   v_count NUMERIC default 0;
> >   v_dayIndex NUMERIC default 0;
> >   t_modifiedTimes NUMERIC[];
> >   v_testval NUMERIC default 0;
> >   ....
> >  BEGIN 
> >  ....
> >     for v_count in 1..5 loop
> >   v_dayIndex := v_dayIndex + 1;
> >  
> t_modifiedTimes[v_dayIndex ] := v_count;
> 
> You need to initialse the array, Otherwise any value added to the array will 
> be null.

This isn't necessary in 8.0, which we can infer is being used because
of the dollar quotes.  See the 8.0 Release Notes:

http://www.postgresql.org/docs/8.0/static/release-8-0.html

"Updating an element or slice of a NULL array value now produces a
non-NULL array result, namely an array containing just the assigned-to
positions."

I don't recall if early 8.0 versions had any bugs in this respect,
but it does indeed work in 8.0.3.

-- 
Michael Fuhr
http://www.fuhr.org/~mfuhr/


В списке pgsql-sql по дате отправления:

Предыдущее
От: "David Hofmann"
Дата:
Сообщение: Re: Tigger
Следующее
От: Tom Lane
Дата:
Сообщение: Re: Error when using array variable