aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>1997-01-16 14:56:59 +0000
committerBruce Momjian <bruce@momjian.us>1997-01-16 14:56:59 +0000
commit3a02ccfa1d3e9f643c65fd2d1584f77715b96d36 (patch)
tree675ccf965f94785fd31734dfe665c3ff460c6142 /src
parentb00c2c1d3fa0f5e0cef88743d1243d8c4a857e6d (diff)
downloadpostgresql-3a02ccfa1d3e9f643c65fd2d1584f77715b96d36.tar.gz
postgresql-3a02ccfa1d3e9f643c65fd2d1584f77715b96d36.zip
Change EXPLAIN options to just use VERBOSE.
Diffstat (limited to 'src')
-rw-r--r--src/backend/commands/explain.c25
-rw-r--r--src/backend/parser/gram.y14
-rw-r--r--src/backend/tcop/utility.c4
-rw-r--r--src/include/commands/explain.h4
-rw-r--r--src/include/nodes/parsenodes.h4
-rw-r--r--src/man/explain.l8
6 files changed, 19 insertions, 40 deletions
diff --git a/src/backend/commands/explain.c b/src/backend/commands/explain.c
index 2dbc6938c3b..f129fbab793 100644
--- a/src/backend/commands/explain.c
+++ b/src/backend/commands/explain.c
@@ -7,7 +7,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/commands/explain.c,v 1.7 1996/12/29 19:30:55 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/commands/explain.c,v 1.8 1997/01/16 14:55:58 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -41,7 +41,7 @@ static char *Explain_PlanToString(Plan *plan, ExplainState *es);
*
*/
void
-ExplainQuery(Query *query, List *options, CommandDest dest)
+ExplainQuery(Query *query, bool verbose, CommandDest dest)
{
char *s = NULL, *s2;
Plan *plan;
@@ -68,25 +68,10 @@ ExplainQuery(Query *query, List *options, CommandDest dest)
es = (ExplainState*)malloc(sizeof(ExplainState));
memset(es, 0, sizeof(ExplainState));
- /* parse options */
- while (options) {
- char *ostr = strVal(lfirst(options));
- if (!strcasecmp(ostr, "cost"))
- es->printCost = true;
- else if (!strcasecmp(ostr, "plan"))
- es->printNodes = true;
- else if (!strcasecmp(ostr, "full")) {
- es->printCost = true;
- es->printNodes = true;
- }
- else
- elog(WARN, "Unknown EXPLAIN option: %s", ostr);
-
- options = lnext(options);
- }
+ es->printCost = true; /* default */
- if (!es->printCost && !es->printNodes)
- es->printCost = true; /* default */
+ if (verbose)
+ es->printNodes = true;
es->rtable = query->rtable;
diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y
index a7809b61ccc..d412e4db23e 100644
--- a/src/backend/parser/gram.y
+++ b/src/backend/parser/gram.y
@@ -10,7 +10,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 1.24 1997/01/13 03:44:18 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/parser/gram.y,v 1.25 1997/01/16 14:56:05 momjian Exp $
*
* HISTORY
* AUTHOR DATE MAJOR EVENT
@@ -131,7 +131,7 @@ static Node *makeA_Expr(int oper, char *opname, Node *lexpr, Node *rexpr);
sort_clause, sortby_list, index_params,
name_list, from_clause, from_list, opt_array_bounds, nest_array_bounds,
expr_list, attrs, res_target_list, res_target_list2,
- def_list, opt_indirection, group_clause, groupby_list, explain_options
+ def_list, opt_indirection, group_clause, groupby_list
%type <boolean> opt_inh_star, opt_binary, opt_instead, opt_with_copy,
index_opt_unique, opt_verbose
@@ -1227,21 +1227,15 @@ opt_verbose: VERBOSE { $$ = TRUE; }
*
*****************************************************************************/
-ExplainStmt: EXPLAIN explain_options OptimizableStmt
+ExplainStmt: EXPLAIN opt_verbose OptimizableStmt
{
ExplainStmt *n = makeNode(ExplainStmt);
+ n->verbose = $2;
n->query = (Query*)$3;
- n->options = $2;
$$ = (Node *)n;
}
;
-explain_options: WITH name_list
- { $$ = $2; }
- | /*EMPTY*/
- { $$ = NIL; }
- ;
-
/*****************************************************************************
* *
* Optimizable Stmts: *
diff --git a/src/backend/tcop/utility.c b/src/backend/tcop/utility.c
index 0c5756c1e2b..693dadc8346 100644
--- a/src/backend/tcop/utility.c
+++ b/src/backend/tcop/utility.c
@@ -9,7 +9,7 @@
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/tcop/utility.c,v 1.10 1997/01/13 03:44:38 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/tcop/utility.c,v 1.11 1997/01/16 14:56:21 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -591,7 +591,7 @@ ProcessUtility(Node *parsetree,
commandTag = "EXPLAIN";
CHECK_IF_ABORTED();
- ExplainQuery(stmt->query, stmt->options, dest);
+ ExplainQuery(stmt->query, stmt->verbose, dest);
}
break;
diff --git a/src/include/commands/explain.h b/src/include/commands/explain.h
index e2678615118..cac3c59999c 100644
--- a/src/include/commands/explain.h
+++ b/src/include/commands/explain.h
@@ -5,13 +5,13 @@
*
* Copyright (c) 1994-5, Regents of the University of California
*
- * $Id: explain.h,v 1.1 1996/08/28 07:21:47 scrappy Exp $
+ * $Id: explain.h,v 1.2 1997/01/16 14:56:34 momjian Exp $
*
*-------------------------------------------------------------------------
*/
#ifndef EXPLAIN_H
#define EXPLAIN_H
-extern void ExplainQuery(Query *query, List *options, CommandDest dest);
+extern void ExplainQuery(Query *query, bool verbose, CommandDest dest);
#endif /* EXPLAIN_H*/
diff --git a/src/include/nodes/parsenodes.h b/src/include/nodes/parsenodes.h
index 32929b7bb13..2e1fbeddc96 100644
--- a/src/include/nodes/parsenodes.h
+++ b/src/include/nodes/parsenodes.h
@@ -6,7 +6,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
- * $Id: parsenodes.h,v 1.9 1997/01/13 03:45:02 momjian Exp $
+ * $Id: parsenodes.h,v 1.10 1997/01/16 14:56:45 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -408,7 +408,7 @@ typedef struct VacuumStmt {
typedef struct ExplainStmt {
NodeTag type;
Query *query; /* the query */
- List *options;
+ bool verbose; /* print plan info */
} ExplainStmt;
diff --git a/src/man/explain.l b/src/man/explain.l
index 317026e7bf0..2e15c0e0edb 100644
--- a/src/man/explain.l
+++ b/src/man/explain.l
@@ -1,17 +1,17 @@
.\" This is -*-nroff-*-
.\" XXX standard disclaimer belongs here....
-.\" $Header: /cvsroot/pgsql/src/man/Attic/explain.l,v 1.3 1996/12/29 19:31:16 momjian Exp $
+.\" $Header: /cvsroot/pgsql/src/man/Attic/explain.l,v 1.4 1997/01/16 14:56:59 momjian Exp $
.TH EXPLAIN SQL 11/05/95 PostgreSQL PostgreSQL
.SH NAME
explain \(em explains statement execution details
.SH SYNOPSIS
.nf
-\fBexplain [with\fP \fB{cost|plan|full}]\fR query
+\fBexplain [verbose]\fR query
.fi
.SH DESCRIPTION
This command outputs details about the supplied query. The default
-output is the computed query cost. \f2plan\f1 displays the full query
-plan. \f2full\f1 display both query plan and query cost.
+output is the computed query cost. \f2verbose\f1 displays the full query
+plan and cost.
.PP
The query cost and plan can be affected by running vacuum.