]> granicus.if.org Git - postgresql/commit
Flush relcache entries when their FKs are meddled with
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Mon, 21 Jan 2019 22:34:11 +0000 (19:34 -0300)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Mon, 21 Jan 2019 22:34:11 +0000 (19:34 -0300)
commit4aead13a751f86a9e143d3ee931171a11fd7bf7e
tree237920f9cacd3a175a125b2b4d6844c92c7a977f
parent058e2757b9bf44968af4cc93cd8334e3dba6f362
Flush relcache entries when their FKs are meddled with

Back in commit 100340e2dcd0, we made relcache entries keep lists of the
foreign keys applying to the relation -- but we forgot to update
CacheInvalidateHeapTuple to flush those entries when new FKs got created
or existing ones updated/deleted.  No bugs appear to have been reported
that would be explained by this ommission, but I noticed the problem
while working on an unrelated bugfix which clearly showed it.  Fix by
adding relcache flush on relevant foreign key changes.

Backpatch to 9.6, like the aforementioned commit.

Discussion: https://postgr.es/m/201901211927.7mmhschxlejh@alvherre.pgsql
Reviewed-by: Tom Lane
src/backend/utils/cache/inval.c