Fix error when trying to delete page with half-dead left sibling.
Heikki Linnakangas <heikki.linnakangas@iki.fi>
Fix error when trying to delete page with half-dead left sibling. The new page deletion code didn't cope with the case the target page's right sibling was marked half-dead. It failed a sanity check which checked that the downlinks in the parent page match the lower level, because a half-dead page has no downlink. To cope, check for that condition, and just give up on the deletion if it happens. The vacuum will finish the deletion of the half-dead page when it gets there, and on the next vacuum after that the empty can be deleted. Reported by Jeff Janes.
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/access/nbtree/nbtpage.c | modified | +61 −4 |