Re: Assertion failure with ALTER TABLE ATTACH PARTITION with log_min_messages >= DEBUG1

Alvaro Herrera <alvherre@2ndquadrant.com>

From: Alvaro Herrera <alvherre@2ndquadrant.com>
To: Michael Paquier <michael@paquier.xyz>
Cc: Postgres hackers <pgsql-hackers@postgresql.org>
Date: 2018-10-05T15:41:29Z
Lists: pgsql-hackers
On 2018-Oct-05, Michael Paquier wrote:

> Looking at the stack trace there is this log in
> validateForeignKeyConstraint:
> ereport(DEBUG1,
>         (errmsg("validating foreign key constraint \"%s\"", conname)));
> 
> However conname is set to NULL in this code path.

Ouch.  Thanks for catching this one.  I think the "this is all we need"
comment is just asking for trouble :-(

> From what I can see the problem comes from CloneForeignKeyConstraint
> which forgets to assign the constraint name when cloning the FK
> definition.  While looking at the ATTACH PARTITION code, I have noticed
> that a variable gets overridden, which is in my opinion bad style.

Ugh, yeah that looks bad.  I wish the compiler would warn about this :-(

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


Commits

  1. Assign constraint name when cloning FK definition for partitions