Re: plan shape work
Richard Guo <guofenglinux@gmail.com>
From: Richard Guo <guofenglinux@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Robert Haas <robertmhaas@gmail.com>,
Alexandra Wang <alexandra.wang.oss@gmail.com>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>,
"bruce@momjian.us" <bruce@momjian.us>, lepihov@gmail.com
Date: 2025-09-13T08:46:09Z
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 →
-
Assign each subquery a unique name prior to planning it.
- 8c49a484e8eb 19 (unreleased) landed
-
Keep track of what RTIs a Result node is scanning.
- f2bae51dfd5b 19 (unreleased) landed
On Sat, Sep 13, 2025 at 12:08 AM Tom Lane <tgl@sss.pgh.pa.us> wrote: > After thinking about this for awhile, I believe that Richard and I > each had half of the right solution ;-). Let me propose some new > terminology in hopes of clarifying matters: > > * A join plan node "starts" an outer join if it performs the > null-extension step corresponding to that OJ (specifically, > if it is the first join doing null-extension over the minimum > RHS of that OJ). > > * A join plan node "completes" an outer join if its output > nulls all the values that that OJ should null when done > according to syntactic order. This new notion makes a lot of sense to me. I feel that it could help us optimize some existing logic, or at least make certain parts of it easier to understand. It might be worth adding to the README, maybe under the section "Relation Identification and Qual Clause Placement", where we explain the idea behind pushed-down joins. - Richard