Make constraint rename issue relcache invalidation on target relation
authorMichael Paquier <michael@paquier.xyz>
Mon, 17 Dec 2018 01:37:24 +0000 (10:37 +0900)
committerMichael Paquier <michael@paquier.xyz>
Mon, 17 Dec 2018 01:37:24 +0000 (10:37 +0900)
commitd5d86e2cd6b82da7bc57a6b2be8c808463e73d93
tree09dd30de8d6cbe89f2dd674787725d8383fa3093
parentb10d2252b35326566d5520acbc65842927c4c3a1
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
src/backend/commands/tablecmds.c
src/test/regress/expected/alter_table.out
src/test/regress/sql/alter_table.sql