]> granicus.if.org Git - postgresql/commit
Fix handling of empty uncompressed posting list pages in GIN
authorAlexander Korotkov <akorotkov@postgresql.org>
Thu, 19 Jul 2018 18:04:17 +0000 (21:04 +0300)
committerAlexander Korotkov <akorotkov@postgresql.org>
Thu, 19 Jul 2018 20:26:15 +0000 (23:26 +0300)
commit608793266dbbc4f9064e6737ab3363adf9584892
tree2250b70e573a414cedf6e04fcf942e326b18aaa5
parentb1af4bcc42f7e95abb9e8bceb894e0ef2acfc55a
Fix handling of empty uncompressed posting list pages in GIN

PostgreSQL 9.4 introduces posting list compression in GIN.  This feature
supports online upgrade, so that after pg_upgrade uncompressed posting
lists are compressed on-the-fly.  Underlying code appears to always
expect at least one item on uncompressed posting list page.  But there
could be completely empty pages, because VACUUM never deletes leftmost
and rightmost pages from posting trees.  This commit fixes that.

Reported-by: Sivasubramanian Ramasubramanian
Discussion: https://postgr.es/m/1531867212836.63354%40amazon.com
Author: Sivasubramanian Ramasubramanian, Alexander Korotkov
Backpatch-through: 9.4
src/backend/access/gin/gindatapage.c
src/backend/access/gin/ginxlog.c