pgsql: pageinspect: Fix relcache leak in gist_page_items(). - Mailing list pgsql-committers

From Heikki Linnakangas
Subject pgsql: pageinspect: Fix relcache leak in gist_page_items().
Date
Msg-id E1l1GpY-0003Rk-38@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
pageinspect: Fix relcache leak in gist_page_items().

The gist_page_items() function opened the index relation on first call and
closed it on the last call. But there's no guarantee that the function is
run to completion, leading to a relcache leak and warning at the end of
the transaction. To fix, refactor the function to return all the rows in
one call, as a tuplestore.

Reported-by: Tom Lane
Discussion: https://www.postgresql.org/message-id/234863.1610916631%40sss.pgh.pa.us

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/04eb75e783ba49ca2e0e75088d6590b64be8ed4d

Modified Files
--------------
contrib/pageinspect/gistfuncs.c | 170 +++++++++++++++++-----------------------
1 file changed, 74 insertions(+), 96 deletions(-)


pgsql-committers by date:

Previous
From: Tomas Vondra
Date:
Subject: pgsql: Set PD_ALL_VISIBLE and visibility map bits in COPY FREEZE
Next
From: Michael Paquier
Date:
Subject: pgsql: Refactor option handling of CLUSTER, REINDEX and VACUUM