From: Tom Lane Date: Tue, 30 Dec 2008 03:59:28 +0000 (+0000) Subject: Fix oversight in ALTER TABLE ENABLE/DISABLE RULE patch: the new enabled X-Git-Tag: REL8_3_6~24 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=de1b4298d89a55af5309711d6d8c47d1012790ab;p=postgresql Fix oversight in ALTER TABLE ENABLE/DISABLE RULE patch: the new enabled field needs to be included in equalRuleLocks() comparisons, else updates will fail to propagate into relcache entries when they have positive reference count (ie someone is using the relcache entry). Per report from Alex Hunsaker. --- diff --git a/src/backend/utils/cache/relcache.c b/src/backend/utils/cache/relcache.c index 73d7d8ef1e..3b6321112c 100644 --- a/src/backend/utils/cache/relcache.c +++ b/src/backend/utils/cache/relcache.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/utils/cache/relcache.c,v 1.266.2.4 2008/08/10 19:02:46 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/utils/cache/relcache.c,v 1.266.2.5 2008/12/30 03:59:28 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -770,6 +770,8 @@ equalRuleLocks(RuleLock *rlock1, RuleLock *rlock2) return false; if (rule1->attrno != rule2->attrno) return false; + if (rule1->enabled != rule2->enabled) + return false; if (rule1->isInstead != rule2->isInstead) return false; if (!equal(rule1->qual, rule2->qual))