Re: BUG #17884: gist_page_items() crashes for a non-leaf page of an index with non-key columns
Alexander Law <exclusion@gmail.com>
From: Alexander Lakhin <exclusion@gmail.com>
To: pgsql-bugs@lists.postgresql.org, Andrey Borodin <amborodin86@gmail.com>
Date: 2023-05-12T10:00:01Z
Lists: pgsql-bugs
Attachments
- v1-01-fix-gist_page_items-for-index-with-INCLUDE.patch (text/x-patch) patch v1
04.04.2023 16:00, PG Bug reporting form sent: > The following bug has been logged on the website: > > Bug reference: 17884 > > ... > > Here gist_page_items() tries to decode a tuple using a descriptor of the > index (defining 3 columns), but in fact non-leaf page items contain no > non-key data ... Please look at the patch attached, that makes gist_page_items() process items on leaf and non-leaf pages differently, accounting for their contents. I've decided to move away from BuildIndexValueDescription(), but borrow some of it's code, for two reasons: that function outputs only key columns; it checks permissions for a table/index, but this is not needed for pageinspect (firstly, because a user already has all the data do decode; secondly, because gist_page_items() requires a superuser role anyway). Best regards, Alexander
Commits
-
pageinspect: Fix gist_page_items() with included columns
- e72580232c8e 14.9 landed
- 2dd778221788 15.4 landed
- e7bff46e50b8 16.0 landed