On 2025-Mar-12, Amul Sul wrote: > On Tue, Mar 11, 2025 at 11:13 PM Peter Eisentraut <pe...@eisentraut.org> > wrote:
> > I think the next step here is that you work to fix Álvaro's concerns > > about the recursion structure. > > Yes, I worked on that in the attached version. I refactored > ATExecAlterConstraintInternal() and moved the code that updates the > pg_constraint entry into a separate function (see 0001), so it can be > called from the places where the entry needs to be updated, rather > than revisiting ATExecAlterConstraintInternal(). In 0002, > ATExecAlterConstraintInternal() is split into two functions: > ATExecAlterConstrDeferrability() and > ATExecAlterConstrInheritability(), which handle altering deferrability > and inheritability, respectively. These functions are expected to > recurse on themselves, rather than revisiting > ATExecAlterConstraintInternal() as before. This approach simplifies > things. Similarly can add ATExecAlterConstrEnforceability() which > recurses itself. Yeah, I gave this a look and I think this code layout is good. There are more functions now, but the code flow is simpler. Thanks! -- Álvaro Herrera 48°01'N 7°57'E — https://www.EnterpriseDB.com/