pgsql: Avoid name collision with NOT NULL constraints - Mailing list pgsql-committers

From Álvaro Herrera
Subject pgsql: Avoid name collision with NOT NULL constraints
Date
Msg-id E1vtl6x-000SOU-2K@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Avoid name collision with NOT NULL constraints

If a CREATE TABLE statement defined a constraint whose name is identical
to the name generated for a NOT NULL constraint, we'd throw an
(unnecessary) unique key violation error on
pg_constraint_conrelid_contypid_conname_index: this can easily be
avoided by choosing a different name for the NOT NULL constraint.

Fix by passing the constraint names already created by
AddRelationNewConstraints() to AddRelationNotNullConstraints(), so that
the latter can avoid name collisions with them.

Bug: #19393
Author: Laurenz Albe <laurenz.albe@cybertec.at>
Reported-by: Hüseyin Demir <huseyin.d3r@gmail.com>
Backpatch-through: 18
Discussion: https://postgr.es/m/19393-6a82427485a744cf@postgresql.org

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/0eeffd31bf9bb73446387cd7eebbbf43148aa281

Modified Files
--------------
src/backend/catalog/heap.c                 |  8 +++++---
src/backend/commands/tablecmds.c           | 18 ++++++++++++++----
src/include/catalog/heap.h                 |  3 ++-
src/test/regress/expected/create_table.out |  6 ++++++
src/test/regress/sql/create_table.sql      |  7 +++++++
5 files changed, 34 insertions(+), 8 deletions(-)


pgsql-committers by date:

Previous
From: Heikki Linnakangas
Date:
Subject: pgsql: Split PGPROC 'links' field into two, for clarity
Next
From: Álvaro Herrera
Date:
Subject: pgsql: Update .abi-compliance-history for AddRelationNotNullConstraints