Thread
-
Feature: output index name in explain ...
Zeugswetter Andreas IZ5 <andreas.zeugswetter@telecom.at> — 1998-03-04T10:02:02Z
Since I wanted to know it, I extended explain to output the used (only the first) index on IndexScan. An explain with this patch applied says: template1=> explain select * from pg_class where oid=1; NOTICE: QUERY PLAN: Index Scan using pg_class_oid_index on pg_class (cost=2.03 size=1 width=74) EXPLAIN Does somebody want to add it to CVS please ? Andreas --- 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 <parser/parse_node.h> #include <optimizer/planner.h> #include <access/xact.h> +#include <utils/relcache.h> 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); -
Re: [HACKERS] Feature: output index name in explain ...
Vadim Mikheev <vadim@sable.krasnoyarsk.su> — 1998-03-25T08:52:04Z
Zeugswetter Andreas SARZ wrote: > > Since I wanted to know it, I extended explain to output the used (only the > first) > index on IndexScan. > An explain with this patch applied says: > > template1=> explain select * from pg_class where oid=1; > NOTICE: QUERY PLAN: > Index Scan using pg_class_oid_index on pg_class (cost=2.03 size=1 width=74) I like this. Any objections ? Vadim
-
Re: [HACKERS] Feature: output index name in explain ...
Bruce Momjian <maillist@candle.pha.pa.us> — 1998-03-25T14:46:38Z
> > Zeugswetter Andreas SARZ wrote: > > > > Since I wanted to know it, I extended explain to output the used (only the > > first) > > index on IndexScan. > > An explain with this patch applied says: > > > > template1=> explain select * from pg_class where oid=1; > > NOTICE: QUERY PLAN: > > Index Scan using pg_class_oid_index on pg_class (cost=2.03 size=1 width=74) > > I like this. Any objections ? Love it. -- Bruce Momjian | 830 Blythe Avenue maillist@candle.pha.pa.us | Drexel Hill, Pennsylvania 19026 + If your life is a hard drive, | (610) 353-9879(w) + Christ can be your backup. | (610) 853-3000(h)