Thread: pgsql: Make constraint rename issue relcache invalidation on targetrel

pgsql: Make constraint rename issue relcache invalidation on targetrel

From
Michael Paquier
Date:
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@gmail.com>
Author: Amit Langote
Reviewed-by: Michael Paquier
Discussion: https://postgr.es/m/2047094.V130LYfLq4@station53.ousa.org

Branch
------
REL_11_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/25b8094d33ac66773ba1418457cb74eb22b5d50a

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(+)