--- src/backend/commands/explain.c Tue Mar 3 21:10:34 1998 +++ src/backend/commands/explain.c.orig Thu Feb 26 05:30:58 1998 @@ -23,6 +23,7 @@ #include #include #include +#include typedef struct ExplainState { @@ -117,6 +118,8 @@ static void explain_outNode(StringInfo str, Plan *plan, int indent, ExplainState *es) { + List *l; + Relation relation; char *pname; char buf[1000]; int i; @@ -184,8 +187,12 @@ appendStringInfo(str, pname); switch (nodeTag(plan)) { - case T_SeqScan: case T_IndexScan: + appendStringInfo(str, " using "); + l = ((IndexScan *) plan)->indxid; + relation = RelationIdCacheGetRelation((int) lfirst(l)); + appendStringInfo(str, (RelationGetRelationName(relation))->data); + case T_SeqScan: if (((Scan *) plan)->scanrelid > 0) { RangeTblEntry *rte = nth(((Scan *) plan)->scanrelid - 1, es->rtable);