From 16dc2703c5413534d4989e08253e8f4fcb0e2aab Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Wed, 5 Apr 2023 16:59:00 -0400 Subject: Support "Right Anti Join" plan shapes. Merge and hash joins can support antijoin with the non-nullable input on the right, using very simple combinations of their existing logic for right join and anti join. This gives the planner more freedom about how to order the join. It's particularly useful for hash join, since we may now have the option to hash the smaller table instead of the larger. Richard Guo, reviewed by Ronan Dunklau and myself Discussion: https://postgr.es/m/CAMbWs48xh9hMzXzSy3VaPzGAz+fkxXXTUbCLohX1_L8THFRm2Q@mail.gmail.com --- src/backend/commands/explain.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/backend/commands/explain.c') diff --git a/src/backend/commands/explain.c b/src/backend/commands/explain.c index 7e48e9c2101..5334c503e12 100644 --- a/src/backend/commands/explain.c +++ b/src/backend/commands/explain.c @@ -1561,6 +1561,9 @@ ExplainNode(PlanState *planstate, List *ancestors, case JOIN_ANTI: jointype = "Anti"; break; + case JOIN_RIGHT_ANTI: + jointype = "Right Anti"; + break; default: jointype = "???"; break; -- cgit v1.2.3