Reject duplicate column names in foreign key referenced-columns lists.
authorTom Lane <tgl@sss.pgh.pa.us>
Sat, 9 Aug 2014 17:46:52 +0000 (13:46 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Sat, 9 Aug 2014 17:46:52 +0000 (13:46 -0400)
commit4ff49746eab2096090be8cd4434c9a5745ae32a4
treedfe2a33e8ccd8eb73f4bbcf97e879894f3b21b17
parentf63be26196eaaa93afaaf1ce390a7c71ddc2211c
Reject duplicate column names in foreign key referenced-columns lists.

Such cases are disallowed by the SQL spec, and even if we wanted to allow
them, the semantics seem ambiguous: how should the FK columns be matched up
with the columns of a unique index?  (The matching could be significant in
the presence of opclasses with different notions of equality, so this issue
isn't just academic.)  However, our code did not previously reject such
cases, but instead would either fail to match to any unique index, or
generate a bizarre opclass-lookup error because of sloppy thinking in the
index-matching code.

David Rowley
src/backend/commands/tablecmds.c