Thread: BUG #1770: Composite type dependency broken
The following bug has been logged online: Bug reference: 1770 Logged by: David Fetter Email address: david@fetter.org PostgreSQL version: 8.0.3 Operating system: Linux Description: Composite type dependency broken Details: Here's a repro (psql): create table foo (foo_id SERIAL PRIMARY KEY, foo_text TEXT NOT NULL); CREATE type two_foos AS (foo1 foo, foo2 foo); CREATE type four_foos AS (two_foo1 two_foos, two_foo2 two_foos); DROP TABLE foo CASCADE; Perhaps I have misunderstood, but I would think that both two_foos and four_foos would disappear as a result of this. They don't :/ Cheers, D
On Fri, 15 Jul 2005, David Fetter wrote: > Here's a repro (psql): > > create table foo (foo_id SERIAL PRIMARY KEY, foo_text TEXT NOT NULL); > CREATE type two_foos AS (foo1 foo, foo2 foo); > CREATE type four_foos AS (two_foo1 two_foos, two_foo2 two_foos); > DROP TABLE foo CASCADE; > > Perhaps I have misunderstood, but I would think that both two_foos and > four_foos would disappear as a result of this. They don't :/ I think the current definition is that the columns of the removed type disappear, which means two_foos becomes a type with no columns rather than it being removed.
"David Fetter" <david@fetter.org> writes: > create table foo (foo_id SERIAL PRIMARY KEY, foo_text TEXT NOT NULL); > CREATE type two_foos AS (foo1 foo, foo2 foo); > CREATE type four_foos AS (two_foo1 two_foos, two_foo2 two_foos); > DROP TABLE foo CASCADE; > Perhaps I have misunderstood, but I would think that both two_foos and > four_foos would disappear as a result of this. They don't :/ No; their columns disappear, but the types don't. This is just the same as not trashing an entire table when a single column's type is dropped --- that propagates as a DROP COLUMN, not a DROP TABLE. regards, tom lane