Re: [PATCHES] Cascaded Column Drop - Mailing list pgsql-hackers

From Tom Lane
Subject Re: [PATCHES] Cascaded Column Drop
Date
Msg-id 7168.1033267310@sss.pgh.pa.us
Whole thread Raw
In response to Re: [PATCHES] Cascaded Column Drop  (Rod Taylor <rbt@rbt.ca>)
Responses Re: [PATCHES] Cascaded Column Drop  (Rod Taylor <rbt@rbt.ca>)
List pgsql-hackers
Rod Taylor <rbt@rbt.ca> writes:
>> I did something about this --- as of CVS tip, you can do
>> 
>> regression=# create table foo (f1 int);
>> CREATE TABLE
>> regression=# alter table foo drop column f1;
>> ALTER TABLE
>> regression=# select * from foo;

> Which of course would dump as 'create table foo ();'.

True.  I didn't say that everything would be happy with it ;-).  I think
that a zero-column table is only useful as a transient state, and so I'm
happy as long as the backend doesn't core dump.

> I don't think relcache would like a table without any columns, which is
> why the above is rejected.

Relcache doesn't seem to have a problem with it.

> Anyway, should pg_dump ignore the table entirely?  Or do we try to allow
> create table () without any attributes?

I feel no strong need to do either.  But it likely would only take
removal of this error check:

regression=# create table foo ();
ERROR:  DefineRelation: please inherit from a relation or define an attribute

at least as far as the backend goes.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Default privileges for new databases (was Re: Can't import large objects in most recent cvs)
Next
From: Bruce Momjian
Date:
Subject: Re: Default privileges for new databases (was Re: Can't import