Re: Update count mismatch - internal error

Поиск
Список
Период
Сортировка
От Peter Geoghegan
Тема Re: Update count mismatch - internal error
Дата
Msg-id CAM3SWZTj5jAQigMgHpTakdenG_tSAEpU3V5FTcpxJr_NHpwjaQ@mail.gmail.com
обсуждение исходный текст
Ответ на Update count mismatch - internal error  (Andres Freund <andres@anarazel.de>)
Список pgsql-hackers
On Sat, Sep 19, 2015 at 5:15 PM, Andres Freund <andres@anarazel.de> wrote:
> postgres[14993][1]=# CREATE TABLE mismatch(a int, b int);
> CREATE TABLE
> postgres[14993][1]=# UPDATE mismatch SET a = mismatch.*;
> ERROR:  XX000: UPDATE target count mismatch --- internal error
> LOCATION:  transformUpdateTargetList, analyze.c:2103
>
> Seems to be a longer standing thing, going at least back to 9.0.

I noticed this myself.

Arguably, the only problem is that this is reported as an internal
"can't happen" error. We're already tightening up the use of
elog(ERROR, ...) to be strictly limited to cases that are actually
"can't happen" (assuming there are no bugs and no data corruption). We
should do the same here.

I doubt it's worth preserving this message for the benefit of
theoretical buggy code paths that raise it for some other reason.

-- 
Peter Geoghegan



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

Предыдущее
От: Andres Freund
Дата:
Сообщение: Update count mismatch - internal error
Следующее
От: Peter Geoghegan
Дата:
Сообщение: Re: ON CONFLICT issues around whole row vars,