@@ -303,35 +303,34 @@ UPDATE test.tmp t SET value = 2
303303WHERE t.id IN (SELECT id
304304 FROM test.tmp2 t2
305305 WHERE id = t.id);
306- QUERY PLAN
307- --------------------------------------------
306+ QUERY PLAN
307+ ------------------------------------------
308308 Update on tmp t
309- -> Seq Scan on tmp t
310- Filter: (SubPlan 1)
311- SubPlan 1
312- -> Custom Scan (RuntimeAppend)
313- Prune by: (t2.id = t.id)
314- -> Seq Scan on tmp2_1 t2
315- Filter: (id = t.id)
316- -> Seq Scan on tmp2_2 t2
317- Filter: (id = t.id)
318- -> Seq Scan on tmp2_3 t2
319- Filter: (id = t.id)
320- -> Seq Scan on tmp2_4 t2
321- Filter: (id = t.id)
322- -> Seq Scan on tmp2_5 t2
323- Filter: (id = t.id)
324- -> Seq Scan on tmp2_6 t2
325- Filter: (id = t.id)
326- -> Seq Scan on tmp2_7 t2
327- Filter: (id = t.id)
328- -> Seq Scan on tmp2_8 t2
329- Filter: (id = t.id)
330- -> Seq Scan on tmp2_9 t2
331- Filter: (id = t.id)
332- -> Seq Scan on tmp2_10 t2
333- Filter: (id = t.id)
334- (26 rows)
309+ -> Nested Loop Semi Join
310+ -> Seq Scan on tmp t
311+ -> Custom Scan (RuntimeAppend)
312+ Prune by: (t.id = t2.id)
313+ -> Seq Scan on tmp2_1 t2
314+ Filter: (t.id = id)
315+ -> Seq Scan on tmp2_2 t2
316+ Filter: (t.id = id)
317+ -> Seq Scan on tmp2_3 t2
318+ Filter: (t.id = id)
319+ -> Seq Scan on tmp2_4 t2
320+ Filter: (t.id = id)
321+ -> Seq Scan on tmp2_5 t2
322+ Filter: (t.id = id)
323+ -> Seq Scan on tmp2_6 t2
324+ Filter: (t.id = id)
325+ -> Seq Scan on tmp2_7 t2
326+ Filter: (t.id = id)
327+ -> Seq Scan on tmp2_8 t2
328+ Filter: (t.id = id)
329+ -> Seq Scan on tmp2_9 t2
330+ Filter: (t.id = id)
331+ -> Seq Scan on tmp2_10 t2
332+ Filter: (t.id = id)
333+ (25 rows)
335334
336335/* Test special rule for CTE; SELECT (PostgreSQL 9.5) */
337336EXPLAIN (COSTS OFF)