From: | Richard Guo <guofenglinux(at)gmail(dot)com> |
---|---|
To: | Alexandra Wang <alexandra(dot)wang(dot)oss(at)gmail(dot)com> |
Cc: | Álvaro Herrera <alvherre(at)kurilemu(dot)de>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Andy Fan <zhihuifan1213(at)163(dot)com>, wenhui qiu <qiuwenhuifx(at)gmail(dot)com> |
Subject: | Re: Pathify RHS unique-ification for semijoin planning |
Date: | 2025-08-04 01:55:48 |
Message-ID: | CAMbWs481ycmBaae1Q35eejzw44-GtWsEND9_ZQkSaY=VjVhxGQ@mail.gmail.com |
Views: | Whole Thread | Raw Message | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Fri, Aug 1, 2025 at 11:58 PM Alexandra Wang
<alexandra(dot)wang(dot)oss(at)gmail(dot)com> wrote:
> While reviewing the code, the following diff concerns me:
> if (joinrel->consider_parallel &&
> - save_jointype != JOIN_UNIQUE_OUTER &&
> - save_jointype != JOIN_FULL &&
> - save_jointype != JOIN_RIGHT &&
> - save_jointype != JOIN_RIGHT_ANTI &&
> + jointype != JOIN_FULL &&
> + jointype != JOIN_RIGHT &&
> + jointype != JOIN_RIGHT_ANTI &&
> outerrel->partial_pathlist != NIL &&
> bms_is_empty(joinrel->lateral_relids))
>
> What has changed that enabled JOIN_UNIQUE_OUTER to handle partial
> paths? Or is it no longer possible for the outer path to be partial?
It's the latter, as indicated by the Assert in create_unique_paths():
+ /*
+ * There shouldn't be any partial paths for the unique relation;
+ * otherwise, we won't be able to properly guarantee uniqueness.
+ */
+ Assert(unique_rel->partial_pathlist == NIL);
Thanks
Richard
From | Date | Subject | |
---|---|---|---|
Next Message | Richard Guo | 2025-08-04 02:08:08 | Re: Pathify RHS unique-ification for semijoin planning |
Previous Message | jian he | 2025-08-04 01:46:45 | Re: CAST(... ON DEFAULT) - WIP build on top of Error-Safe User Functions |