RE: [HACKERS] Happy column dropping - Mailing list pgsql-hackers

From Hiroshi Inoue
Subject RE: [HACKERS] Happy column dropping
Date
Msg-id 001201bf66e3$7204f4c0$2801007e@tpf.co.jp
Whole thread Raw
In response to Re: [HACKERS] Happy column dropping  (Don Baccus <dhogaza@pacifier.com>)
Responses RE: [HACKERS] Happy column dropping
List pgsql-hackers
> -----Original Message-----
> From: Don Baccus [mailto:dhogaza@pacifier.com]
> 
> At 09:12 PM 1/24/00 -0500, Tom Lane wrote:
> 
> >    * VACUUM with rebuild or ADD/DROP COLUMN: write new data into
> >      files with an incremented version number.
> 
> Just a reality check for my learning of the internals.  Out of curiousity
> I coincidently have spent the last hour looking to see how add column's
> implemented.  It doesn't appear to do anything other than the new 
> attribute
> to the proper system table.  heap_getattr() just returns null if you ask
> for an attribute past the end of the tuple.  
> 
> This would appear to be (at least one reason) why you can't add a 
> "not null"
> constraint to a column you're adding to an existing relation, or set the
> new column to some non-null default value.
>
> Correct?  (again, to see if my eyeballs and brain are working in synch
> tonight)
>
Probably yes.
Adding NOT NULL constraints to new column needs to apply default
value to existent rows and this would need either implicit updation of
existent rows or to copy into different version of the relation file. .

Do other DBMSs allow such things ?
For example,in Oracle NOT NULL constraint could be specified for new
column only when there's no row in the table AFAIK.

I couldn't judge it's worth the work.

Regards.

Hiroshi Inoue
Inoue@tpf.co.jp


pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: [HACKERS] DISTINCT ON: speak now or forever hold your peace
Next
From: Tom Lane
Date:
Subject: Re: [HACKERS] Happy column dropping