pgsql: Make constraint rename issue relcache invalidation on target rel

From: Michael Paquier <michael(at)paquier(dot)xyz>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Make constraint rename issue relcache invalidation on target rel
Date: 2018-12-17 01:38:09
Message-ID: E1gYhrF-0006od-TV@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Make constraint rename issue relcache invalidation on target relation

When a constraint gets renamed, it may have associated with it a target
relation (for example domain constraints don't have one). Not
invalidating the target relation cache when issuing the renaming can
result in issues with subsequent commands that refer to the old
constraint name using the relation cache, causing various failures. One
pattern spotted was using CREATE TABLE LIKE after a constraint
renaming.

Reported-by: Stuart <sfbarbee(at)gmail(dot)com>
Author: Amit Langote
Reviewed-by: Michael Paquier
Discussion: https://postgr.es/m/2047094.V130LYfLq4@station53.ousa.org

Branch
------
REL9_6_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/d79cd555da115a15f6e63f5e687521d1e274ff9a

Modified Files
--------------
src/backend/commands/tablecmds.c | 7 +++++++
src/test/regress/expected/alter_table.out | 22 ++++++++++++++++++++++
src/test/regress/sql/alter_table.sql | 14 ++++++++++++++
3 files changed, 43 insertions(+)

Browse pgsql-committers by date

  From Date Subject
Next Message Michael Paquier 2018-12-17 03:45:41 pgsql: Fix use-after-free bug when renaming constraints
Previous Message Tom Lane 2018-12-17 00:39:07 pgsql: Modernize our code for looking up descriptive strings for Unix s