From: Michael Paquier Date: Mon, 28 Dec 2020 13:17:24 +0000 (+0900) Subject: Fix inconsistent code with shared invalidations of snapshots X-Git-Tag: REL9_5_25~35 X-Git-Url: http://git.postgresql.org/gitweb/?a=commitdiff_plain;h=8fcc2fb98064adfe6b14f6ac6964c59f5ace09cd;p=postgresql.git Fix inconsistent code with shared invalidations of snapshots The code in charge of processing a single invalidation message has been using since 568d413 the structure for relation mapping messages. This had fortunately no consequence as both locate the database ID at the same location, but it could become a problem in the future if this area of the code changes. Author: Konstantin Knizhnik Discussion: https://postgr.es/m/8044c223-4d3a-2cdb-42bf-29940840ce94@postgrespro.ru Backpatch-through: 9.5 --- diff --git a/src/backend/utils/cache/inval.c b/src/backend/utils/cache/inval.c index b2729cd7d91..6d174aef676 100644 --- a/src/backend/utils/cache/inval.c +++ b/src/backend/utils/cache/inval.c @@ -608,9 +608,9 @@ LocalExecuteInvalidationMessage(SharedInvalidationMessage *msg) else if (msg->id == SHAREDINVALSNAPSHOT_ID) { /* We only care about our own database and shared catalogs */ - if (msg->rm.dbId == InvalidOid) + if (msg->sn.dbId == InvalidOid) InvalidateCatalogSnapshot(); - else if (msg->rm.dbId == MyDatabaseId) + else if (msg->sn.dbId == MyDatabaseId) InvalidateCatalogSnapshot(); } else