From: | Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Christopher Kings-Lynne <chriskl(at)familyhealth(dot)com(dot)au>, Bruce Momjian - CVS <momjian(at)postgresql(dot)org>, pgsql-committers(at)postgresql(dot)org |
Subject: | Re: pgsql/doc TODO |
Date: | 2002-07-30 19:42:18 |
Message-ID: | 200207301942.g6UJgIv14886@candle.pha.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-committers |
Tom Lane wrote:
> "Christopher Kings-Lynne" <chriskl(at)familyhealth(dot)com(dot)au> writes:
> >> Log message:
> >> Fix from Neil Conway:
> >>
> >> < o ALTER TABLE ADD COLUMN column SET DEFAULT should
> >> fill existing
> > o ALTER TABLE ALTER COLUMN column SET DEFAULT
> >> should fill existing
>
> > Wha! Altering a column default surely shouldn't change existing nulls or
> > something???? All you're saying is from now on, the default should be blah.
> > Surely it was correct in the first place?
>
> I agree with Chris --- ALTER COLUMN SET DEFAULT should *not* change any
> existing data. (SQL92 thinks so too.) The real error in the original
> TODO item was the reference to "SET DEFAULT", which is not the syntax
> used in ADD COLUMN. I think the TODO item should read more like
>
> "ALTER TABLE ADD COLUMN ... DEFAULT foo" should work
>
> Right now we get
>
> regression=# alter table foo add column bar int default 42;
> ERROR: Adding columns with defaults is not implemented.
> Add the column, then use ALTER TABLE SET DEFAULT.
>
> The reason this is rejected is that per spec it ought to fill all rows
> with 42, and we don't have code in place to do that. But our ALTER
> COLUMN SET DEFAULT is not broken; it works per spec.
OK, TODO updated to:
o ALTER TABLE ADD COLUMN column SET DEFAULT should fill
existing rows with DEFAULT value
--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026
From | Date | Subject | |
---|---|---|---|
Next Message | Bruce Momjian - CVS | 2002-07-30 19:43:21 | pgsql/doc TODO |
Previous Message | Tom Lane | 2002-07-30 19:41:08 | Re: pgsql/src/backend/optimizer/prep/_deadcode pre ... |