]> granicus.if.org Git - postgresql/commitdiff
Add missing ReleaseBuffer call in BRIN revmap code
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Fri, 11 Sep 2015 18:29:46 +0000 (15:29 -0300)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Fri, 11 Sep 2015 18:29:46 +0000 (15:29 -0300)
I think this particular branch is actually dead, but the analysis to
prove that is not trivial, so instead take the weasel way.

Reported by Jinyu Zhang
Backpatch to 9.5, where BRIN was introduced.

src/backend/access/brin/brin_revmap.c

index 8c55f16f83836cdb42153f59afbcfa9ab47c4fd5..6ddcfda0a6ca0c24359b90fa364e135019efd7bc 100644 (file)
@@ -432,6 +432,7 @@ revmap_physical_extend(BrinRevmap *revmap)
                        if (needLock)
                                UnlockRelationForExtension(irel, ExclusiveLock);
                        LockBuffer(revmap->rm_metaBuf, BUFFER_LOCK_UNLOCK);
+                       ReleaseBuffer(buf);
                        return;
                }
                LockBuffer(buf, BUFFER_LOCK_EXCLUSIVE);