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 по дате отправления: