Tom Lane wrote:
> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > Tom Lane wrote:
> >> regression=# create table foo (f1 int check (f1 > 0) check (f1 < 10));
> >> ERROR: check constraint "foo_f1" already exists
>
> > Is this a TODO to fix?
>
> Probably should be. I'd be inclined to try to fix it by generating
> "foo_f1_1", "foo_f1_2", etc until a non-conflicting name is found.
>
> (Note: the reason it's okay to search for a non-conflicting name in this
> context is we only need a lock on the single table in question. It's
> no problem anyway in CREATE TABLE, but can still work in ALTER TABLE.)
Added:
* Allow CREATE TABLE foo (f1 INT CHECK (f1 > 0) CHECK (f1 < 10)) to work by searching for non-conflicting constraint
names,and prefix with table name
-- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610)
359-1001+ If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square,
Pennsylvania19073