Re: BUG #14343: UPSERT (ON CONFLICT) doesn't check ON CONFLICT constraint first

Поиск
Список
Период
Сортировка
От Tom Lane
Тема Re: BUG #14343: UPSERT (ON CONFLICT) doesn't check ON CONFLICT constraint first
Дата
Msg-id 29583.1475003191@sss.pgh.pa.us
обсуждение исходный текст
Ответ на BUG #14343: UPSERT (ON CONFLICT) doesn't check ON CONFLICT constraint first  (reyes.r.ponce@gmail.com)
Ответы Re: BUG #14343: UPSERT (ON CONFLICT) doesn't check ON CONFLICT constraint first
Список pgsql-bugs
reyes.r.ponce@gmail.com writes:
> ERROR:  null value in column "col1" violates not-null constraint
> DETAIL:  Failing row contains (1, null, 5, 2016-09-27 17:32:51.054896+00,
> pl_mstr_usr, 2016-09-27 17:32:51.054896+00, pl_mstr_usr).
> CONTEXT:  SQL statement "INSERT INTO public.MyTable(
>             MY_ID, COL1, COL2, CRETN_TS, CRETN_USER_ID, UPDT_TS,
> UPDT_USER_ID)
>     VALUES ($1, $2, $3, NOW(), current_user, NOW(), current_user)
>     ON CONFLICT(MY_ID)
>     DO UPDATE SET UPDT_TS = NOW(), UPDT_USER_ID = current_user, COL2 = $3"
> PL/pgSQL function upsert_mytable(integer,integer,integer) line 46 at
> EXECUTE

This test case seems rather overcomplicated, but AFAICS you are
complaining because the NOT NULL constraint is checked before uniqueness
is checked.  Sorry, that is not a bug, that is by design.

            regards, tom lane

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

Предыдущее
От: reyes.r.ponce@gmail.com
Дата:
Сообщение: BUG #14343: UPSERT (ON CONFLICT) doesn't check ON CONFLICT constraint first
Следующее
От: "Zuk, Kacper"
Дата:
Сообщение: Re: BUG #14329: libpq doesn't send complete client certificate chain on first SSL connection