brin: Don't crash on auto-summarization

Alvaro Herrera <alvherre@alvh.no-ip.org>

Commit: b4da9d0e1ee45a1d157dc7fd24b24745b16ebe9f
Author: Alvaro Herrera <alvherre@alvh.no-ip.org>
Date: 2017-05-30T22:17:09Z
Releases: 10.0
brin: Don't crash on auto-summarization

We were trying to free a pointer into a shared buffer, which never
works; and we were failing to release the buffer lock appropriately.
Fix those omissions.

While at it, improve documentation for brinGetTupleForHeapBlock, the
inadequacy of which evidently caused these bugs in the first place.

Reported independently by Zhou Digoal (bug #14668) and Alexander Sosna.

Discussion: https://postgr.es/m/8c31c11b-6adb-228d-22c2-4ace89fc9209@credativ.de
Discussion: https://postgr.es/m/20170524063323.29941.46339@wrigleys.postgresql.org

Files

PathChange+/−
src/backend/access/brin/brin.c modified +2 −1
src/backend/access/brin/brin_revmap.c modified +8 −5

Discussion