Fix oversight in ALTER TABLE ENABLE/DISABLE RULE patch: the new enabled
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 30 Dec 2008 03:59:19 +0000 (03:59 +0000)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 30 Dec 2008 03:59:19 +0000 (03:59 +0000)
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.

src/backend/utils/cache/relcache.c

index 33a69efd28c1c17859bf34c566a6b8a2c529ad2d..5694d9c9a4a31a64caed6915aa096902e416f97b 100644 (file)
@@ -777,6 +777,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))