Re: Add IS_INDEX macro to brin and gist index - Mailing list pgsql-hackers

From Andreas Karlsson
Subject Re: Add IS_INDEX macro to brin and gist index
Date
Msg-id 0708749e-69ce-41aa-bcac-52a4a595924d@proxel.se
Whole thread Raw
In response to Add IS_INDEX macro to brin and gist index  (Japin Li <japinli@hotmail.com>)
List pgsql-hackers
On 1/14/26 2:56 AM, Japin Li wrote:
> 
> Hi, hackers,
> 
> While working on pageinspect [0], I noticed that brin_page_items() and
> gist_page_items() only checked the access method (IS_BRIN/IS_GIST) but did
> not verify that the passed relation is actually an index relation.
> 
> To make the check more robust and consistent with other pageinspect index
> functions (like btreefuncs.c, hashfuncs.c, etc.), the attached patch:
> 
> 1. Defines a local helper macro IS_INDEX(r) in both brinfuncs.c and gistfuncs.c.
> 
> 2. Updates the error check to require both: the relation must be an index and
>     use the expected access method.
> 
> The change is very small, low-risk, and only affects two functions in
> contrib/pageinspect.

Since the two functions you touch are gist_page_items() and 
brin_page_items() is there actually any harm from being able to use the 
index definition from a partitioned when parsing the page? Seems 
unnecessary to prevent people from doing so unless I am missing 
something. It is not like we have any way to prevent the wrong index 
from being used when parsing page the page so why prevent partitioned 
indexes specifically?

Andreas




pgsql-hackers by date:

Previous
From: Steven Niu
Date:
Subject: Re: [PATCH] check kernel version for io_method
Next
From: Chao Li
Date:
Subject: Re: New year, new commitfest app improvements