Re: Oversight in reparameterize_path_by_child leading to executor crash

From: Richard Guo <guofenglinux(at)gmail(dot)com>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: Andrei Lepikhov <a(dot)lepikhov(at)postgrespro(dot)ru>, Alena Rybakina <lena(dot)ribackina(at)yandex(dot)ru>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Ashutosh Bapat <ashutosh(dot)bapat(dot)oss(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Oversight in reparameterize_path_by_child leading to executor crash
Date: 2024-01-17 09:01:36
Message-ID: CAMbWs48ZfxwRobV-QP1mt_16+2iDbfw_pdsnuzmTJntCPCdD0w@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Jan 16, 2024 at 2:30 AM Robert Haas <robertmhaas(at)gmail(dot)com> wrote:

> On Mon, Jan 8, 2024 at 3:32 AM Richard Guo <guofenglinux(at)gmail(dot)com> wrote:
> > Thanks for the suggestion. Attached is an updated patch which is added
> > with a commit message that tries to explain the problem and the fix.
>
> This is great. The references to "the sampling infos" are a little bit
> confusing to me. I'm not sure if this is referring to
> TableSampleClause objects or what.

Yeah, it's referring to TableSampleClause objects. I've updated the
commit message to clarify that. In passing I also updated the test
cases a bit. Please see
v10-0001-Postpone-reparameterization-of-paths-until-when-creating-plans.patch

> > Fair point. I think we can back-patch a more minimal fix, as Tom
> > proposed in [1], which disallows the reparameterization if the path
> > contains sampling info that references the outer rel. But I think we
> > need also to disallow the reparameterization of a path if it contains
> > restriction clauses that reference the outer rel, as such paths have
> > been found to cause incorrect results, or planning errors as in [2].
>
> Do you want to produce a patch for that, to go along with this patch for
> master?

Sure, here it is:
v10-0001-Avoid-reparameterizing-Paths-when-it-s-not-suitable.patch

Thanks
Richard

Attachment Content-Type Size
v10-0001-Postpone-reparameterization-of-paths-until-when-creating-plans.patch application/octet-stream 30.5 KB
v10-0001-Avoid-reparameterizing-Paths-when-it-s-not-suitable.patch application/octet-stream 17.6 KB

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Jeevan Chalke 2024-01-17 09:03:36 Re: More new SQL/JSON item methods
Previous Message Alvaro Herrera 2024-01-17 08:53:58 Re: make pg_ctl more friendly