mirror of
https://github.com/postgres/postgres.git
synced 2025-10-09 00:05:07 -04:00
Don't generate fake "ANY_subquery" aliases, either.
This is just like the previous commit, but for a different invented alias name. Author: Robert Haas <rhaas@postgresql.org> Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us> Discussion: https://postgr.es/m/CA+TgmoYSYmDA2GvanzPMci084n+mVucv0bJ0HPbs6uhmMN6HMg@mail.gmail.com
This commit is contained in:
parent
585e31fcb6
commit
6f79024df3
@ -1397,7 +1397,7 @@ convert_ANY_sublink_to_join(PlannerInfo *root, SubLink *sublink,
|
||||
*/
|
||||
nsitem = addRangeTableEntryForSubquery(pstate,
|
||||
subselect,
|
||||
makeAlias("ANY_subquery", NIL),
|
||||
NULL,
|
||||
use_lateral,
|
||||
false);
|
||||
rte = nsitem->p_rte;
|
||||
|
@ -545,15 +545,15 @@ EXPLAIN (COSTS OFF)
|
||||
SELECT * FROM tab_anti t1 WHERE t1.a IN
|
||||
(SELECT a FROM tab_anti t2 WHERE t2.b IN
|
||||
(SELECT t1.b FROM tab_anti t3 WHERE t2.a > 1 OFFSET 0));
|
||||
QUERY PLAN
|
||||
-------------------------------------------------
|
||||
QUERY PLAN
|
||||
---------------------------------------------------
|
||||
Nested Loop Semi Join
|
||||
-> Seq Scan on tab_anti t1
|
||||
-> Nested Loop Semi Join
|
||||
Join Filter: (t1.a = t2.a)
|
||||
-> Seq Scan on tab_anti t2
|
||||
-> Subquery Scan on "ANY_subquery"
|
||||
Filter: (t2.b = "ANY_subquery".b)
|
||||
-> Subquery Scan on unnamed_subquery
|
||||
Filter: (t2.b = unnamed_subquery.b)
|
||||
-> Result
|
||||
One-Time Filter: (t2.a > 1)
|
||||
-> Seq Scan on tab_anti t3
|
||||
|
@ -1692,14 +1692,14 @@ select * from int4_tbl o where (f1, f1) in
|
||||
-------------------------------------------------------------------
|
||||
Nested Loop Semi Join
|
||||
Output: o.f1
|
||||
Join Filter: (o.f1 = "ANY_subquery".f1)
|
||||
Join Filter: (o.f1 = unnamed_subquery.f1)
|
||||
-> Seq Scan on public.int4_tbl o
|
||||
Output: o.f1
|
||||
-> Materialize
|
||||
Output: "ANY_subquery".f1, "ANY_subquery".g
|
||||
-> Subquery Scan on "ANY_subquery"
|
||||
Output: "ANY_subquery".f1, "ANY_subquery".g
|
||||
Filter: ("ANY_subquery".f1 = "ANY_subquery".g)
|
||||
Output: unnamed_subquery.f1, unnamed_subquery.g
|
||||
-> Subquery Scan on unnamed_subquery
|
||||
Output: unnamed_subquery.f1, unnamed_subquery.g
|
||||
Filter: (unnamed_subquery.f1 = unnamed_subquery.g)
|
||||
-> Result
|
||||
Output: i.f1, ((generate_series(1, 50)) / 10)
|
||||
-> ProjectSet
|
||||
@ -2867,8 +2867,8 @@ ON B.hundred in (SELECT min(c.hundred) FROM tenk2 C WHERE c.odd = b.odd);
|
||||
-> Memoize
|
||||
Cache Key: b.hundred, b.odd
|
||||
Cache Mode: binary
|
||||
-> Subquery Scan on "ANY_subquery"
|
||||
Filter: (b.hundred = "ANY_subquery".min)
|
||||
-> Subquery Scan on unnamed_subquery
|
||||
Filter: (b.hundred = unnamed_subquery.min)
|
||||
-> Result
|
||||
InitPlan 1
|
||||
-> Limit
|
||||
|
Loading…
x
Reference in New Issue
Block a user