Re: remove_useless_joins vs. bug #19560 - Mailing list pgsql-hackers

From Tender Wang
Subject Re: remove_useless_joins vs. bug #19560
Date
Msg-id CAHewXNm2sph6Z6QANfu67TTm2TYkbBn6dfoPCe=EeX1fb_LiTQ@mail.gmail.com
Whole thread
In response to Re: remove_useless_joins vs. bug #19560  (Fujii Masao <masao.fujii@gmail.com>)
List pgsql-hackers
Fujii Masao <masao.fujii@gmail.com> 于2026年9月16日周三 13:16写道:
>
> On Wed, Sep 16, 2026 at 9:39 AM Richard Guo <guofenglinux@gmail.com> wrote:
> > Thanks for the report!  I expected some fallout from this commit,
> > though I didn't expect them quite so soon :-)
> >
> > I'll take a look.
>
> Thanks!
>
> And, here's another related issue, though it seems to have been introduced by
> commit 2ebf25e7d70.
>
>
> CREATE TABLE t(a integer PRIMARY KEY);
>
> EXPLAIN (COSTS OFF)
>   SELECT u.c2
>   FROM (
>     SELECT CASE WHEN false THEN r.a END AS c
>     FROM t l LEFT JOIN t r ON l.a = r.a
>   ) s
>   RIGHT JOIN t b ON true
>   CROSS JOIN LATERAL (
>     SELECT (SELECT s.c) AS c2
>     UNION ALL
>     SELECT (SELECT s.c)
>   ) u;
>

It seems root->append_rel_list was not processed in preprocess_subquery_phvs().
I tried a quick fix as follows:

diff --git a/src/backend/optimizer/plan/planner.c
b/src/backend/optimizer/plan/planner.c
index 8d30131855a..fa15855411b 100644
--- a/src/backend/optimizer/plan/planner.c
+++ b/src/backend/optimizer/plan/planner.c
@@ -1643,6 +1643,9 @@ preprocess_subquery_phvs(PlannerInfo *root)
        context.sublevels_up = 0;
        (void) query_tree_walker(root->parse, preprocess_subquery_phvs_walker,
                                                         &context, 0);
+       if (root->append_rel_list != NIL)
+               (void) expression_tree_walker((Node *)
root->append_rel_list, preprocess_subquery_phvs_walker,
+                                                        &context);
 }


--
Thanks,
Tender Wang



pgsql-hackers by date:

Previous
From: "Hayato Kuroda (Fujitsu)"
Date:
Subject: RE: pg_createsubscriber does not check output_plugin_libraries
Next
From: Richard Guo
Date:
Subject: Re: remove_useless_joins vs. bug #19560