On Wed, 8 Mar 2006, Hannu Krosing wrote: > ??hel kenal p??eval, E, 2006-03-06 kell 17:25, kirjutas Bruce Momjian: > > Hannu Krosing wrote: > > > ?hel kenal p?eval, E, 2006-03-06 kell 12:12, kirjutas Bruce Momjian: > > > > Added to TODO: > > > > > > > > o Prevent parent tables from altering or dropping constraints > > > > like CHECK that are inherited by child tables > > > > > > > > Dropping constraints should only be possible with CASCADE. > > > > > > > > and we already have this in TODO: > > > > > > > > o %Prevent child tables from altering or dropping constraints > > > > like CHECK that were inherited from the parent table > > > > > > > > so I think we now have all the failure cases documented. > > > > > > If you want to be consistent, then ALTER TABLE ONLY ADD CONSTRAINT .. > > > should also be forbidden, so you can't create non-inherited constraints > > > > I don't have a problem with creating ONLY constraints on parents and > > children. We just don't want them to be removed/modified if they are > > shared. > > Well, when you delete a constraint from child, the constraint becomes an > "ONLY" constraint on parent.
Only if there's a single child, otherwise you have a partially-ONLY constraint unless you made it ONLY constraints on the parent and all other children (but then removing the parent constraint wouldn't remove it from the other children presumably). > If you allow ONLY constraints on parents, then why disallow dropping > them from childs ? I agree with this in any case. I think both are fairly broken. ---------------------------(end of broadcast)--------------------------- TIP 4: Have you searched our list archives? http://archives.postgresql.org