Re: Rename EXISTS-to-ANY converted subplan to exists_to_any

From: solai v <solai(dot)cdac(at)gmail(dot)com>
To: Fujii Masao <masao(dot)fujii(at)gmail(dot)com>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Robert Haas <robertmhaas(at)gmail(dot)com>, Yugo Nagata <nagata(at)sraoss(dot)co(dot)jp>, Pgsql Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Rename EXISTS-to-ANY converted subplan to exists_to_any
Date: 2026-07-17 11:10:29
Message-ID: CAF0whuefnuvSP5aaMBRf8Ca+hqk7DoAjr4tFpW_U17BaQQpjgw@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

I tested this patch on the current HEAD.
Before applying the patch, I observed that the converted subplan was
displayed with the exists_ prefix in the EXPLAIN output.
For example:
Filter: ((ANY (a = (hashed SubPlan exists_2).col1)) OR (a < 0))
SubPlan exists_2
Even though the planner had internally converted the simple EXISTS
subquery into an ANY subplan, the displayed name still used the
exists_ prefix, which could be a little confusing when reading the
execution plan.

After applying the patch, the same query produced:
Filter: ((ANY (a = (hashed SubPlan exists_to_any_1).col1)) OR (a < 0))
SubPlan exists_to_any_1
The new name makes it much clearer that this subplan is the result of
an EXISTS-to-ANY conversion.

I also verified that the query executed successfully before and after
applying the patch. I didn't notice any change in the execution plan
or query results ,the only visible difference was the improved subplan
naming in the EXPLAIN output.
Overall, the patch improves the readability of the user-visible plan
without changing planner behavior.

Regards,
Solai

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Fujii Masao 2026-07-17 11:13:31 Re: Restore check_mut_excl_opts, usage in pg_restore and pg_dumpall
Previous Message Daniel Gustafsson 2026-07-17 10:41:24 Re: doc: clarify wal_sender_shutdown_timeout behavior for small values