ATExecDropInherit
    /*
     * If the parent has a primary key, then we decrement counts for all NOT
     * NULL constraints
     */
    ObjectAddressSet(address, RelationRelationId,
                     RelationGetRelid(parent_rel));

only not-null constraint,
with ALTER TABLE NO INHERIT we still decrement counts for not-null constraints.
I feel the comment is in the wrong place?



please check the attached function MergeConstraintsIntoExisting refactoring
1. make it error check more confined within CONSTRAINT_CHECK and
CONSTRAINT_NOTNULL.
2. since get_attname will do system cache search, we can just use
Relation->rd_att and TupleDescAttr

Attachment: MergeConstraintsIntoExisting.no-cfbot
Description: Binary data

Reply via email to