Make constraint rename issue relcache invalidation on target relation
authorMichael Paquier <[email protected]>
Mon, 17 Dec 2018 01:36:21 +0000 (10:36 +0900)
committerMichael Paquier <[email protected]>
Mon, 17 Dec 2018 01:36:21 +0000 (10:36 +0900)
commitda13d90a5fba051d16df3b4fdaac23abc9560f38
tree6c0cf2d30ec59c7a16e59a3ed4694886afe63641
parentf4290113f50d1bcd67a9e51b74927c59592ad2ea
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 <[email protected]>
Author: Amit Langote
Reviewed-by: Michael Paquier
Discussion: https://postgr.es/m/2047094[email protected]
src/backend/commands/tablecmds.c
src/test/regress/expected/alter_table.out
src/test/regress/sql/alter_table.sql