Re: [COMMITTERS] pgsql: Remove arbitrary ALTER TABLE .. ADD COLUMN restriction. - Mailing list pgsql-hackers

From Robert Haas
Subject Re: [COMMITTERS] pgsql: Remove arbitrary ALTER TABLE .. ADD COLUMN restriction.
Date
Msg-id AANLkTinfF=v7YyoTr4DFoNkk_Ev3AkQcWGLNoEh5f7as@mail.gmail.com
Whole thread Raw
In response to Re: [COMMITTERS] pgsql: Remove arbitrary ALTER TABLE .. ADD COLUMN restriction.  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: [COMMITTERS] pgsql: Remove arbitrary ALTER TABLE .. ADD COLUMN restriction.  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On Wed, Jan 26, 2011 at 10:36 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Robert Haas <rhaas@postgresql.org> writes:
>> Remove arbitrary ALTER TABLE .. ADD COLUMN restriction.
>> The previous coding prevented ALTER TABLE .. ADD COLUMN from being used
>> with a non-NULL default in situations where the table's rowtype was being
>> used elsewhere.  But this is a completely arbitrary restriction since
>> you could do the same operation in multiple steps (add the column, add
>> the default, update the table).
>
> This is not an "arbitrary restriction" because according to the SQL
> standard those operations mean different things.  In the first case you
> get a column filled with the default value, in the second case you get a
> column filled with nulls.  And the latter case is the only one that
> works properly with a rowtype.

That's an untenable interpretation.  If you set a default on a table
column, it has no effect on the row type.

rhaas=# create table foo (a int default 1);
CREATE TABLE
rhaas=# create table bar (b foo);
CREATE TABLE
rhaas=# insert into bar values (default);
INSERT 0 1
rhaas=# select * from bar;b
---

(1 row)

I can't see any reason why ALTER TABLE .. ADD COLUMN should have a
different interpretation of what the rowtype means than the rest of
the system.

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


pgsql-hackers by date:

Previous
From: Dimitri Fontaine
Date:
Subject: Re: Extensions support for pg_dump, patch v27
Next
From: Richard Broersma
Date:
Subject: Re: Seeking Mentors for Funded Reviewers