From: | Alvaro Herrera <alvherre(at)2ndquadrant(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | Rajkumar Raghuwanshi <rajkumar(dot)raghuwanshi(at)enterprisedb(dot)com>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: getting ERROR "relation 16401 has no triggers" with partition foreign key alter |
Date: | 2019-07-17 22:48:07 |
Message-ID: | 20190717224807.GA29752@alvherre.pgsql |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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 | Content-Type | Size |
---|---|---|
recurse-dropfk.patch | text/x-diff | 3.1 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Fabien COELHO | 2019-07-17 22:59:01 | Re: refactoring - share str2*int64 functions |
Previous Message | Tom Lane | 2019-07-17 22:45:39 | Re: using explicit_bzero |