aboutsummaryrefslogtreecommitdiff
path: root/src/backend
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend')
-rw-r--r--src/backend/commands/explain.c25
-rw-r--r--src/backend/parser/gram.y14
-rw-r--r--src/backend/tcop/utility.c4
3 files changed, 11 insertions, 32 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;