Re: Asymmetry in opening and closing indices for partition routing - Mailing list pgsql-hackers

From Ashutosh Bapat
Subject Re: Asymmetry in opening and closing indices for partition routing
Date
Msg-id CAG-ACPVEOOrrL_PyUGhYO6xBMQ3tUJ-zwyZHTgeHQdTypP-jkA@mail.gmail.com
Whole thread Raw
In response to Re: Asymmetry in opening and closing indices for partition routing  (Alvaro Herrera <alvherre@2ndquadrant.com>)
List pgsql-hackers


On Mon, 22 Jun 2020 at 23:22, Alvaro Herrera <alvherre@2ndquadrant.com> wrote:

I'm not sure that expecting the relcache entry's refcount drops to zero
at the right time is a good approach; that may cause leaks some other
place might have refcounts you're not expecting (say, an open cursor
that's not fully read).

My proposal was to maintain a refcount counting the number of times an index is opened in ResultRelInfo itself, not to rely on the relcache ref count. But I think that would be an overkill. Please read ahead
 

(I'm not terribly worried about refcount leakage as a theoretical
concern, since the ResourceOwner mechanism will warn us about that if it
happens.)

> 2. Throw an error in ExecOpenIndices if all the arrays are present. We will
> need to check leaf_part_rri->ri_IndexRelationDescs == NULL in
> ExecInitPartitionInfo().

This sounds like a job for an assert rather than an error.

I agree. Here's a patch to fix to add Assert'ion in ExecOpenIndices(). I ran make check with this patch and the assertion didn't trip. I think this will be a good step forward.

--
Best Wishes,
Ashutosh
Attachment

pgsql-hackers by date:

Previous
From: Bharath Rupireddy
Date:
Subject: Re: estimation problems for DISTINCT ON with FDW
Next
From: Laurenz Albe
Date:
Subject: Bug with indexes on whole-row expressions