Re: BUG #16150: UPDATE set NULL value in non-null columns

Поиск
Список
Период
Сортировка
От Mahendra Singh
Тема Re: BUG #16150: UPDATE set NULL value in non-null columns
Дата
Msg-id CAKYtNApt8maegr+N5jkSQh5MVJJAAshZU8y2wSL0b4cKhiPV4g@mail.gmail.com
обсуждение исходный текст
Ответ на BUG #16150: UPDATE set NULL value in non-null columns  (PG Bug reporting form <noreply@postgresql.org>)
Список pgsql-bugs
On Thu, 5 Dec 2019 at 14:48, PG Bug reporting form
<noreply@postgresql.org> wrote:
>
> The following bug has been logged on the website:
>
> Bug reference:      16150
> Logged by:          Maxim Votyakov
> Email address:      maximaximax@gmail.com
> PostgreSQL version: 12.0
> Operating system:   Windows
> Description:
>
> Hi guys
>
> Today I found a big problem, I can write a valid UPDATE which put NULL value
> in non-null column.

Thanks for reporting this. I am able to reproduce it and it looks like a bug.

>
> Let's create a domain, two tables and insert 1 row into them:
>
> create domain d_text_not_null as text default '' not null;
>
> create table person (name d_text_not_null);
> create table town (name d_text_not_null);
>
> insert into person(name) values ('test');
> insert into town(name) values ('test2');
>
> select * from person; -- 1 row with value test
>
> Now let's try to update person name to null. It failed and it is correct:
>
> update person set name = null; -- SQL Error [23502]: ERROR: domain
> d_text_not_null does not allow null values

Here, to validate, we are calling ExecEvalConstraintNotNull so it is
not allowing not_null.

>
> But now let's try to update person name to with sub-query. It updates a row
> without any problem:
>
> update person set name = (select name from town where name = 'wrong'); -- 1
> row updated

Here, when we are updating a column by sub-query, we are not calling
ExecEvalConstraintNotNull to validate. I am debugging this and will
try to write a fix.

Thanks and Regards
Mahendra Thalor
EnterpriseDB: http://www.enterprisedb.com



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

Предыдущее
От: "RideNext"
Дата:
Сообщение: RE: Postgres takes more than 6 minutes to come up during host/standby switch over
Следующее
От: PG Bug reporting form
Дата:
Сообщение: BUG #16152: postgresql10-plpython-10.11-2PGDG.rhel7.x86_64 requires an unexistant package