Re: Dereferencing a 2-dimensional array in plpgsql

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: Dereferencing a 2-dimensional array in plpgsql
Дата
Msg-id 4492.1107207703@sss.pgh.pa.us
обсуждение исходный текст
Ответ на Re: Dereferencing a 2-dimensional array in plpgsql  (Sven Willenberger <sven@dmv.com>)
Список pgsql-general
Sven Willenberger <sven@dmv.com> writes:
> Tom Lane wrote:
>> I think we changed this in 8.0.  Before 8.0, trying to assign to an
>> element of a NULL array yielded a NULL result array, but I think now
>> we let you produce a one-element array that way.
>>
> Using a 8.0 testbox I find that the arrays still need to be initialized:

[ looks at code... ]  Hmm, we changed the main executor but missed plpgsql.
I think this is a bug, since plpgsql is now inconsistent with what
happens in a SQL UPDATE command:

regression=# create table foo (f1 int[]);
CREATE TABLE
regression=# insert into foo values(null);
INSERT 155342 1
regression=# update foo set f1[1] = 33;
UPDATE 1
regression=# select * from foo;
  f1
------
 {33}
(1 row)

regression=#

I'll see about making plpgsql behave similarly for 8.0.2.

            regards, tom lane

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

Предыдущее
От: Richard Huxton
Дата:
Сообщение: Re: table name restiction
Следующее
От: Michael Fuhr
Дата:
Сообщение: Re: how to release a transaction lock on a table?