From: | Alexander Lakhin <exclusion(at)gmail(dot)com> |
---|---|
To: | pgsql-bugs(at)lists(dot)postgresql(dot)org, Andrey Borodin <amborodin86(at)gmail(dot)com> |
Subject: | Re: BUG #17884: gist_page_items() crashes for a non-leaf page of an index with non-key columns |
Date: | 2023-05-12 10:00:01 |
Message-ID: | 92873f8d-a9b1-0ee8-5753-ee4a1664fb0e@gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
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
Attachment | Content-Type | Size |
---|---|---|
v1-01-fix-gist_page_items-for-index-with-INCLUDE.patch | text/x-patch | 16.3 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Olivier Chédru | 2023-05-12 13:02:11 | Re: BUG #17930: Regression in DISABLE TRIGGER ALL |
Previous Message | PG Bug reporting form | 2023-05-12 07:52:13 | BUG #17930: Regression in DISABLE TRIGGER ALL |