]> granicus.if.org Git - postgresql/commit
Reuse all-zero pages in GIN.
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>
Mon, 27 Jul 2015 09:30:26 +0000 (12:30 +0300)
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>
Mon, 27 Jul 2015 09:32:08 +0000 (12:32 +0300)
commit746e7f1c187b1dae02b049b1918e5471d7fedfb6
treead8a7577edea836bc8ae2362b5d358819d161a4c
parent579b9f97ce99c3ddc8e1de0e1b1f160da2e669c7
Reuse all-zero pages in GIN.

In GIN, an all-zeros page would be leaked forever, and never reused. Just
add them to the FSM in vacuum, and they will be reinitialized when grabbed
from the FSM. On master and 9.5, attempting to access the page's opaque
struct also caused an assertion failure, although that was otherwise
harmless.

Reported by Jeff Janes. Backpatch to all supported versions.
src/backend/access/gin/ginvacuum.c