Re: Oversight in reparameterize_path_by_child leading to executor crash
Richard Guo <guofenglinux@gmail.com>
From: Richard Guo <guofenglinux@gmail.com>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Andrei Lepikhov <a.lepikhov@postgrespro.ru>,
Alena Rybakina <lena.ribackina@yandex.ru>, Tom Lane <tgl@sss.pgh.pa.us>, Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2024-01-17T09:01:36Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Postpone reparameterization of paths until create_plan().
- b7e2121ab7d6 17.0 landed
-
Apply band-aid fix for an oversight in reparameterize_path_by_child.
- e031995d5c26 14.11 landed
- 7af96a66f43c 13.14 landed
- 62f120203147 16.2 landed
- 2e822a1d62d0 12.18 landed
- 12ec16d11c8b 15.6 landed
Attachments
- v10-0001-Postpone-reparameterization-of-paths-until-when-creating-plans.patch (application/octet-stream) patch v10-0001
- v10-0001-Avoid-reparameterizing-Paths-when-it-s-not-suitable.patch (application/octet-stream) patch v10-0001
On Tue, Jan 16, 2024 at 2:30 AM Robert Haas <robertmhaas@gmail.com> wrote: > On Mon, Jan 8, 2024 at 3:32 AM Richard Guo <guofenglinux@gmail.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