Re: Pathify RHS unique-ification for semijoin planning
Richard Guo <guofenglinux@gmail.com>
From: Richard Guo <guofenglinux@gmail.com>
To: Alexandra Wang <alexandra.wang.oss@gmail.com>
Cc: Álvaro Herrera <alvherre@kurilemu.de>, PostgreSQL-development <pgsql-hackers@postgresql.org>, Tom Lane <tgl@sss.pgh.pa.us>, Andy Fan <zhihuifan1213@163.com>, wenhui qiu <qiuwenhuifx@gmail.com>
Date: 2025-08-18T06:07:42Z
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 →
-
Simplify relation_has_unique_index_for()
- bf9ee294e567 19 (unreleased) landed
-
Pathify RHS unique-ification for semijoin planning
- 24225ad9aafc 19 (unreleased) landed
-
Convert varatt.h access macros to static inline functions.
- e035863c9a04 19 (unreleased) cited
-
Re-export a few of createplan.c's make_xxx() functions.
- 570be1f73f38 9.6.0 cited
Attachments
- v7-0001-Pathify-RHS-unique-ification-for-semijoin-plannin.patch (application/octet-stream) patch v7-0001
- v7-0002-Simplify-relation_has_unique_index_for.patch (application/octet-stream) patch v7-0002
On Tue, Aug 12, 2025 at 10:43 AM Richard Guo <guofenglinux@gmail.com> wrote: > On Mon, Aug 4, 2025 at 11:08 AM Richard Guo <guofenglinux@gmail.com> wrote: > > The v5 patch does not apply anymore, and here is a new rebase. There > > are two main changes in v6: > > > > * I choose to use the check I proposed earlier to determine whether a > > relation has been unique-ified in costsize.c. > > > > * Now that the only call to relation_has_unique_index_for() that > > supplied an exprlist and oprlist has been removed, the loop handling > > those lists is effectively dead code. 0002 removes that loop and > > simplifies the function accordingly. > Does anyone plan to review this patch further? I intend to push it in > two weeks unless there are any objections or additional comments. Here's the updated version of the patch, which renames the macro IS_UNIQUEIFIED_REL to RELATION_WAS_MADE_UNIQUE, and includes some comment updates as well. I plan to push it soon, barring any objections. This patch removes the last call to make_sort_from_sortclauses(), so I'm wondering if we can safely remove the function itself. Or should we keep it around in case it's used by extensions or might be needed in the future? Thanks Richard