]> granicus.if.org Git - postgresql/commit
Assign constraint name when cloning FK definition for partitions
authorMichael Paquier <michael@paquier.xyz>
Sat, 6 Oct 2018 05:59:52 +0000 (14:59 +0900)
committerMichael Paquier <michael@paquier.xyz>
Sat, 6 Oct 2018 05:59:52 +0000 (14:59 +0900)
commitc905b67b79b72b88ba80d2486443c824232c6d85
tree6cdfe1493bc1e12d9453e6fa4804b20403760a34
parent076cfffb39af281f4e3b7d9852715bb09e214171
Assign constraint name when cloning FK definition for partitions

This is for example used when attaching a partition to a partitioned
table which includes foreign keys, and in this case the constraint name
has been missing in the data cloned.  This could lead to hard crashes,
as when validating the foreign key constraint, the constraint name is
always expected.  Particularly, when using log_min_messages >= DEBUG1, a
log message would be generated with this unassigned constraint name,
leading to an assertion failure on HEAD.

While on it, rename a variable in ATExecAttachPartition which was
declared twice with the same name.

Author: Michael Paquier
Reviewed-by: Álvaro Herrera
Discussion: https://postgr.es/m/20181005042236.GG1629@paquier.xyz
Backpatch-through: 11
src/backend/catalog/pg_constraint.c
src/backend/commands/tablecmds.c