Tom Lane wrote:
> Bruce Momjian <[EMAIL PROTECTED]> 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
  [EMAIL PROTECTED]               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

---------------------------(end of broadcast)---------------------------
TIP 9: the planner will ignore your desire to choose an index scan if your
      joining column's datatypes do not match

Reply via email to