Re: duplicated partial-column assigns allowed by checkInsertTargets

Поиск
Список
Период
Сортировка
От Jim Nasby
Тема Re: duplicated partial-column assigns allowed by checkInsertTargets
Дата
Msg-id 5480F35B.3090407@BlueTreble.com
обсуждение исходный текст
Ответ на duplicated partial-column assigns allowed by checkInsertTargets  (Alvaro Herrera <alvherre@2ndquadrant.com>)
Список pgsql-hackers
On 12/4/14, 2:23 PM, Alvaro Herrera wrote:
> While perusing checkInsertTargets I noticed that it allows duplicated
> assignments to the same member of a composite:
>
> alvherre=# create type f as (a int, b int);
> CREATE TYPE
> alvherre=# create table t (col f);
> CREATE TABLE
> alvherre=# insert into t (col.a, col.b, col.a) values (42, 43, 44);
> INSERT 0 1
> alvherre=# select * from t;
>     col
> ---------
>   (44,43)
> (1 fila)
>
>
> If you instead try a duplicate "col", it is rightfully rejected:
>
> alvherre=# insert into t (col, col) values ((42, 43), (44, 43));
> ERROR:  column "col" specified more than once
> LÍNEA 1: insert into t (col, col) values ((42, 43), (44, 43));
>                               ^
>
> Isn't this a bit odd?

Yes, and sounds like a good way to create bugs... my vote would be to fix this.
-- 
Jim Nasby, Data Architect, Blue Treble Consulting
Data in Trouble? Get it in Treble! http://BlueTreble.com



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

Предыдущее
От: Matt Newell
Дата:
Сообщение: Re: libpq pipelining
Следующее
От: Michael Paquier
Дата:
Сообщение: Re: New wal format distorts pg_xlogdump --stats