Tom Lane <tgl@sss.pgh.pa.us> writes:
> Greg Stark <gsstark@mit.edu> writes:
> > Come to think of it it's pretty strange that you can drop an inherited
> > constraint from a child. And doing an experiment it seems you can also DROP
> > NOT NULL on a child which is also pretty strange.
>
> Yeah. I think we had agreed that this is a bug. Note the TODO entries:
Ok, so it's definitely correct for me to require that new children have NOT
NULL if their parent has NOT NULL.
> > I don't see how to block these operations though unless we either search
> > parent classes for constraints to check at run-time or add additional
> > dependency records to block dropping these things.
>
> The implementation I had in mind was to add columns similar to attinhcount
> and attislocal to pg_constraint.
Hm that would be simpler. That still leaves NOT NULL as a bit of a headache.
--
greg