pgsql: Fix error when trying to delete page with half-dead left sibling

Поиск
Список
Период
Сортировка
От Heikki Linnakangas
Тема pgsql: Fix error when trying to delete page with half-dead left sibling
Дата
Msg-id E1Wogki-0000fA-IP@gemulon.postgresql.org
обсуждение исходный текст
Список pgsql-committers
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.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/8da31837803e95f26642019d859c3309d1c125fa

Modified Files
--------------
src/backend/access/nbtree/nbtpage.c |   65 ++++++++++++++++++++++++++++++++---
1 file changed, 61 insertions(+), 4 deletions(-)


В списке pgsql-committers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: pgsql: Allow total number of transactions in pgbench to exceed INT_MAX.
Следующее
От: Peter Eisentraut
Дата:
Сообщение: pgsql: Small typo and formatting fixes in postgresql.conf.sample