Re: Oversight in reparameterize_path_by_child leading to executor crash
Robert Haas <robertmhaas@gmail.com>
From: Robert Haas <robertmhaas@gmail.com>
To: Richard Guo <guofenglinux@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-15T18:30:08Z
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
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. > 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? I know this is on Tom's to-do list which makes me a bit reluctant to get too involved here, because certainly he knows this code better than I do, maybe better than anyone does, but on the other hand, we shouldn't leave server crashes unfixed for too long, so maybe I can do something to help at least with that part of it. -- Robert Haas EDB: http://www.enterprisedb.com