aboutsummaryrefslogtreecommitdiff
path: root/src/backend/commands/explain.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/commands/explain.c')
-rw-r--r--src/backend/commands/explain.c68
1 files changed, 64 insertions, 4 deletions
diff --git a/src/backend/commands/explain.c b/src/backend/commands/explain.c
index a816036693a..8bc39884b43 100644
--- a/src/backend/commands/explain.c
+++ b/src/backend/commands/explain.c
@@ -7,7 +7,7 @@
* Portions Copyright (c) 1994-5, Regents of the University of California
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/commands/explain.c,v 1.102 2003/02/09 06:56:26 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/commands/explain.c,v 1.103 2003/02/10 17:06:23 tgl Exp $
*
*-------------------------------------------------------------------------
*/
@@ -308,13 +308,73 @@ explain_outNode(StringInfo str,
pname = "Append";
break;
case T_NestLoop:
- pname = "Nested Loop";
+ switch (((NestLoop *) plan)->join.jointype)
+ {
+ case JOIN_INNER:
+ pname = "Nested Loop";
+ break;
+ case JOIN_LEFT:
+ pname = "Nested Loop Left Join";
+ break;
+ case JOIN_FULL:
+ pname = "Nested Loop Full Join";
+ break;
+ case JOIN_RIGHT:
+ pname = "Nested Loop Right Join";
+ break;
+ case JOIN_IN:
+ pname = "Nested Loop IN Join";
+ break;
+ default:
+ pname = "Nested Loop ??? Join";
+ break;
+ }
break;
case T_MergeJoin:
- pname = "Merge Join";
+ switch (((MergeJoin *) plan)->join.jointype)
+ {
+ case JOIN_INNER:
+ pname = "Merge Join";
+ break;
+ case JOIN_LEFT:
+ pname = "Merge Left Join";
+ break;
+ case JOIN_FULL:
+ pname = "Merge Full Join";
+ break;
+ case JOIN_RIGHT:
+ pname = "Merge Right Join";
+ break;
+ case JOIN_IN:
+ pname = "Merge IN Join";
+ break;
+ default:
+ pname = "Merge ??? Join";
+ break;
+ }
break;
case T_HashJoin:
- pname = "Hash Join";
+ switch (((HashJoin *) plan)->join.jointype)
+ {
+ case JOIN_INNER:
+ pname = "Hash Join";
+ break;
+ case JOIN_LEFT:
+ pname = "Hash Left Join";
+ break;
+ case JOIN_FULL:
+ pname = "Hash Full Join";
+ break;
+ case JOIN_RIGHT:
+ pname = "Hash Right Join";
+ break;
+ case JOIN_IN:
+ pname = "Hash IN Join";
+ break;
+ default:
+ pname = "Hash ??? Join";
+ break;
+ }
break;
case T_SeqScan:
pname = "Seq Scan";