Re: BUG #15180: Alter table add column if not exists with unique constraint will add extra duplicate

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Stephen Frost <sfrost(at)snowman(dot)net>
Cc: Michael Paquier <michael(at)paquier(dot)xyz>, olav(at)backupbay(dot)com, pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: BUG #15180: Alter table add column if not exists with unique constraint will add extra duplicate
Date: 2018-05-01 14:46:52
Message-ID: 19456.1525186012@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

Stephen Frost <sfrost(at)snowman(dot)net> writes:
> * Tom Lane (tgl(at)sss(dot)pgh(dot)pa(dot)us) wrote:
>> I'll spare you my usual rant about how CREATE IF NOT EXISTS sucks because
>> the subsequent state of the object isn't well-defined ... oops, too late.
>> But this seems like just another case of that problem.

> My understanding, and, it seems, that of the original poster and likely
> anyone who works with PG, is that an IF NOT EXISTS means "only perform
> this operation if the thing doesn't already exist.

Not clear. If the column exists but there's no unique index on it,
should this command cause the index to spring into existence?
C.I.N.E. is by its nature too fuzzy to allow any principled answer to
that. The facts on the ground are that right now, this does result in
creation of an index. If we take that away, I guarantee you somebody
else will file a bug report complaining that it used to work and we
broke their code.

regards, tom lane

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Stephen Frost 2018-05-01 14:51:03 Re: BUG #15180: Alter table add column if not exists with unique constraint will add extra duplicate
Previous Message Stephen Frost 2018-05-01 14:29:59 Re: BUG #15180: Alter table add column if not exists with unique constraint will add extra duplicate