handling multiple matching constraints in DetachPartitionFinalize() - Mailing list pgsql-hackers

From Zhihong Yu
Subject handling multiple matching constraints in DetachPartitionFinalize()
Date
Msg-id CALNJ-vT-RfQeScWi3iQWPzwHgGnH=9X9kADPK5yQEFfeGn+AKw@mail.gmail.com
Whole thread Raw
Responses Re: handling multiple matching constraints in DetachPartitionFinalize()
List pgsql-hackers
Hi,
I was looking at the following code in DetachPartitionFinalize():

        /* If there's a constraint associated with the index, detach it too */
        constrOid = get_relation_idx_constraint_oid(RelationGetRelid(partRel),
                                                    idxid);

As mentioned in email thread `parenting a PK constraint to a self-FK one`, there may be multiple matching constraints, I think we should call ConstraintSetParentConstraint() for each of them.

This means adding a helper method similar to get_relation_idx_constraint_oid() which finds constraint and calls ConstraintSetParentConstraint().

I am preparing a patch.
Please let me know if my proposal makes sense.

Thanks

pgsql-hackers by date:

Previous
From: Jacob Champion
Date:
Subject: Re: [PATCH] Expose port->authn_id to extensions and triggers
Next
From: Nathan Bossart
Date:
Subject: Re: [PATCH] Optimize json_lex_string by batching character copying