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.
[0]: https://www.postgresql.org/message-id/CALdSSPiN13n7feQcY0WCmq8jzxjwqhNrt1E=g=g6aZANyE_OoQ@mail.gmail.com
--
Regards,
Japin Li
ChengDu WenWu Information Technology Co., Ltd.