Re: getting ERROR "relation 16401 has no triggers" with partitionforeign key alter - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: getting ERROR "relation 16401 has no triggers" with partitionforeign key alter
Date
Msg-id 20190717224807.GA29752@alvherre.pgsql
Whole thread Raw
In response to Re: getting ERROR "relation 16401 has no triggers" with partitionforeign key alter  (Alvaro Herrera <alvherre@2ndquadrant.com>)
Responses Re: getting ERROR "relation 16401 has no triggers" with partitionforeign key alter
List pgsql-hackers
On 2019-Jul-17, Alvaro Herrera wrote:

> Actually, that doesn't fix this problem, because the partitioned side is
> the *referencing* side, and ATExecDropConstraint is obsessed about the
> *referenced* side only and assumes that the calling code has already
> dealt with the referencing side checks.  I'm trying a fix for that now.

Yeah, the attached patch fixes Rajkumar's reproducer.

> I wonder if there are other AT subcommands that are similarly broken,
> because many of them skip the CheckTableNotInUse for the partitions.

I suppose the question here is where else do we need to call the new
ATRecurseCheckNotInUse function (which needs a comment).

I thought about doing the recursion in CheckTableNotInUse itself, but I
didn't feel comfortable with assuming that all callers are OK with that.

-- 
Álvaro Herrera                https://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Attachment

pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: using explicit_bzero
Next
From: Fabien COELHO
Date:
Subject: Re: refactoring - share str2*int64 functions