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