Re: Oversight in reparameterize_path_by_child leading to executor crash - Mailing list pgsql-hackers

From Richard Guo
Subject Re: Oversight in reparameterize_path_by_child leading to executor crash
Date
Msg-id CAMbWs4_vPd1yvxhiwD67o5cBsmgWc-py+B8gFFDDTrTQY5EXeg@mail.gmail.com
Whole thread Raw
In response to Re: Oversight in reparameterize_path_by_child leading to executor crash  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers

On Tue, Aug 1, 2023 at 9:20 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
Richard Guo <guofenglinux@gmail.com> writes:
> So what I'm thinking is that maybe we can add a new type of path, named
> SampleScanPath, to have the TableSampleClause per path.  Then we can
> safely reparameterize the TableSampleClause as needed for each
> SampleScanPath.  That's what the attached patch does.

Alternatively, could we postpone the reparameterization until
createplan.c?  Having to build reparameterized expressions we might
not use seems expensive, and it would also contribute to the memory
bloat being complained of in nearby threads.

I did think about this option but figured out that it seems beyond the
scope of just fixing SampleScan.  But if we want to optimize the
reparameterization mechanism besides fixing this crash, I think this
option is much better.  I drafted a patch as attached.

Thanks
Richard
Attachment

pgsql-hackers by date:

Previous
From: Melih Mutlu
Date:
Subject: Re: [PATCH] Reuse Workers and Replication Slots during Logical Replication
Next
From: Matthias van de Meent
Date:
Subject: Re: Potential memory leak in contrib/intarray's g_intbig_compress