]> granicus.if.org Git - postgresql/commitdiff
Change EXPLAIN options to just use VERBOSE.
authorBruce Momjian <bruce@momjian.us>
Thu, 16 Jan 1997 14:56:59 +0000 (14:56 +0000)
committerBruce Momjian <bruce@momjian.us>
Thu, 16 Jan 1997 14:56:59 +0000 (14:56 +0000)
src/backend/commands/explain.c
src/backend/parser/gram.y
src/backend/tcop/utility.c
src/include/commands/explain.h
src/include/nodes/parsenodes.h
src/man/explain.l

index 2dbc6938c3b384cbd4501f83702eb6702086c756..f129fbab79397173635733ececf5ac47d6d5e76a 100644 (file)
@@ -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;
 
index a7809b61ccceb578233d6b7bc54dfa61ee5ae733..d412e4db23e3896a150596968d98c4b81f92fff7 100644 (file)
@@ -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:                                                   *
index 0c5756c1e2b969e61314a00fd1b3944783dad138..693dadc8346096cd82dfc360f93a2a6709790b64 100644 (file)
@@ -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;
        
index e26786151185083043a33518336ab637b598308d..cac3c59999c219817c8a7f993de754c3109fb8c5 100644 (file)
@@ -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*/
index 32929b7bb13e73c515b531200186b0248799818c..2e1fbeddc96a657797eb7212ca47e0a4b2f8d207 100644 (file)
@@ -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;
 
 
index 317026e7bf02dc7e1716a153126695a9ddf147b8..2e15c0e0edbde1baf374c864a97947dd2b222b89 100644 (file)
@@ -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.