OSDN Git Service

Adjusted psql echoing options (-a and -e)
authorPeter Eisentraut <peter_e@gmx.net>
Sun, 13 Feb 2000 21:45:15 +0000 (21:45 +0000)
committerPeter Eisentraut <peter_e@gmx.net>
Sun, 13 Feb 2000 21:45:15 +0000 (21:45 +0000)
doc/src/sgml/ref/psql-ref.sgml
src/bin/psql/common.c
src/bin/psql/help.c
src/bin/psql/mainloop.c
src/bin/psql/startup.c
src/bin/psql/variables.c
src/bin/psql/variables.h
src/test/regress/regress.sh
src/test/regress/run_check.sh

index 4d31f42..78cfaf7 100644 (file)
@@ -1,5 +1,5 @@
 <!--
-$Header: /cvsroot/pgsql/doc/src/sgml/ref/psql-ref.sgml,v 1.24 2000/02/10 20:08:55 petere Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/ref/psql-ref.sgml,v 1.25 2000/02/13 21:45:13 petere Exp $
 Postgres documentation
 -->
 
@@ -609,7 +609,7 @@ Tue Oct 26 21:40:57 CEST 1999
        <note>
        <para>
        If you want to see the lines on the screen as they are read you must set
-       the variable <envar>ECHO</envar> to <literal>full</literal>.
+       the variable <envar>ECHO</envar> to <literal>all</literal>.
        </para>
        </note>
         </listitem>
@@ -1190,6 +1190,18 @@ Access permissions for database "test"
   <para>
   <variablelist>
     <varlistentry>
+      <term>-a, --echo-all</term>
+      <listitem>
+      <para>
+      Print all the lines to the screen as they are read. This is more useful for
+      script processing rather than interactive mode.
+      This is equivalent to setting the variable <envar>ECHO</envar> to <literal>all</literal>.
+      </para>
+      </listitem>
+    </varlistentry>
+
+
+    <varlistentry>
       <term>-A, --no-align</term>
       <listitem>
       <para>
@@ -1234,11 +1246,12 @@ Access permissions for database "test"
 
 
     <varlistentry>
-      <term>-e, --echo</term>
+      <term>-e, --echo-queries</term>
       <listitem>
       <para>
-      In non-interactive mode, all lines are printed to the screen as they are read.
-      This is equivalent to setting the variable <envar>ECHO</envar> to <literal>full</literal>.
+      Show all queries that are sent to the backend.
+      This is equivalent to setting the variable <envar>ECHO</envar>
+      to <literal>queries</literal>.
       </para>
       </listitem>
     </varlistentry>
@@ -1621,12 +1634,12 @@ bar
         <term><envar>ECHO</envar></term>
        <listitem>
        <para>
-       If set to <quote><literal>full</literal></quote>, all lines entered or from a script
+       If set to <quote><literal>all</literal></quote>, all lines entered or from a script
         are written to the standard output before they
-       are parsed or executed. To specify this on program startup, in conjunction with the
-       <option>-f</option> option perhaps, use the switch <option>-e</option>.
-        If set to <quote><literal>brief</literal></quote>, <application>psql</application>
-        merely prints all queries as they are sent to the backend.
+       are parsed or executed. To specify this on program startup, use the switch
+        <option>-a</option>. If set to <quote><literal>queries</literal></quote>,
+        <application>psql</application> merely prints all queries as they are sent to the
+        backend. The option for this is <option>-e</option>.
        </para>
        </listitem>
       </varlistentry>
index 084d879..49249c2 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright 2000 by PostgreSQL Global Development Group
  *
- * $Header: /cvsroot/pgsql/src/bin/psql/common.c,v 1.12 2000/02/07 23:10:06 petere Exp $
+ * $Header: /cvsroot/pgsql/src/bin/psql/common.c,v 1.13 2000/02/13 21:45:14 petere Exp $
  */
 #include <c.h>
 #include "common.h"
@@ -382,7 +382,7 @@ SendQuery(const char *query)
     else
     {
         const char * var = GetVariable(pset.vars, "ECHO");
-        if (var && strcmp(var, "brief")==0)
+        if (var && strncmp(var, "queries", strlen(var))==0)
             puts(query);
     }
 
index fe1d76b..ac25208 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright 2000 by PostgreSQL Global Development Group
  *
- * $Header: /cvsroot/pgsql/src/bin/psql/help.c,v 1.17 2000/02/10 20:08:56 petere Exp $
+ * $Header: /cvsroot/pgsql/src/bin/psql/help.c,v 1.18 2000/02/13 21:45:14 petere Exp $
  */
 #include <c.h>
 #include "help.h"
@@ -72,7 +72,7 @@ usage(void)
        puts(  "Usage:");
     puts(  "  psql [options] [dbname [username]]\n");
     puts(  "Options:");
-/*     puts(  "  -a              Echo all input from script");*/
+       puts(  "  -a              Echo all input from script");
        puts(  "  -A              Unaligned table output mode (-P format=unaligned)");
        puts(  "  -c <query>      Run only single query (or slash command) and exit");
 
index e16bf78..1d50239 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright 2000 by PostgreSQL Global Development Group
  *
- * $Header: /cvsroot/pgsql/src/bin/psql/mainloop.c,v 1.18 2000/02/10 20:08:56 petere Exp $
+ * $Header: /cvsroot/pgsql/src/bin/psql/mainloop.c,v 1.19 2000/02/13 21:45:14 petere Exp $
  */
 #include <c.h>
 #include "mainloop.h"
@@ -217,7 +217,7 @@ MainLoop(FILE *source)
 
                /* echo back if flag is set */
         var = GetVariable(pset.vars, "ECHO");
-        if (var && strcmp(var, "full")==0)
+        if (var && strcmp(var, "all")==0)
             puts(line);
         fflush(stdout);
 
index fa6e9fb..2905e72 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright 2000 by PostgreSQL Global Development Group
  *
- * $Header: /cvsroot/pgsql/src/bin/psql/startup.c,v 1.22 2000/02/07 23:10:06 petere Exp $
+ * $Header: /cvsroot/pgsql/src/bin/psql/startup.c,v 1.23 2000/02/13 21:45:14 petere Exp $
  */
 #include <c.h>
 
@@ -280,17 +280,17 @@ parse_options(int argc, char *argv[], struct adhoc_opts * options)
 #ifdef HAVE_GETOPT_LONG
        static struct option long_options[] =
     {
+        {"echo-all", no_argument, NULL, 'a'},
                {"no-align", no_argument, NULL, 'A'},
                {"command", required_argument, NULL, 'c'},
                {"dbname", required_argument, NULL, 'd'},
-               {"echo", no_argument, NULL, 'e'},
+               {"echo-queries", no_argument, NULL, 'e'},
                {"echo-hidden", no_argument, NULL, 'E'},
                {"file", required_argument, NULL, 'f'},
                {"field-separator", required_argument, NULL, 'F'},
                {"host", required_argument, NULL, 'h'},
                {"html", no_argument, NULL, 'H'},
                {"list", no_argument, NULL, 'l'},
-               {"no-readline", no_argument, NULL, 'n'},
                {"output", required_argument, NULL, 'o'},
                {"port", required_argument, NULL, 'p'},
                {"pset", required_argument, NULL, 'P'},
@@ -320,18 +320,20 @@ parse_options(int argc, char *argv[], struct adhoc_opts * options)
        memset(options, 0, sizeof *options);
 
 #ifdef HAVE_GETOPT_LONG
-       while ((c = getopt_long(argc, argv, "Ac:d:eEf:F:lh:Hno:p:P:qRsStT:uU:v:VWx?", long_options, &optindex)) != -1)
+       while ((c = getopt_long(argc, argv, "aAc:d:eEf:F:lh:Hno:p:P:qRsStT:uU:v:VWx?", long_options, &optindex)) != -1)
 #else /* not HAVE_GETOPT_LONG */
-
        /*
         * Be sure to leave the '-' in here, so we can catch accidental long
         * options.
         */
-       while ((c = getopt(argc, argv, "Ac:d:eEf:F:lh:Hno:p:P:qRsStT:uU:v:VWx?-")) != -1)
+       while ((c = getopt(argc, argv, "aAc:d:eEf:F:lh:Hno:p:P:qRsStT:uU:v:VWx?-")) != -1)
 #endif /* not HAVE_GETOPT_LONG */
        {
                switch (c)
                {
+                       case 'a':
+                               SetVariable(pset.vars, "ECHO", "all");
+                               break;
                        case 'A':
                                pset.popt.topt.format = PRINT_UNALIGNED;
                                break;
@@ -346,10 +348,10 @@ parse_options(int argc, char *argv[], struct adhoc_opts * options)
                                options->dbname = optarg;
                                break;
                        case 'e':
-                               SetVariable(pset.vars, "ECHO", "full");
+                               SetVariable(pset.vars, "ECHO", "queries");
                                break;
                        case 'E':
-                               SetVariable(pset.vars, "ECHO_HIDDEN", "");
+                               SetVariableBool(pset.vars, "ECHO_HIDDEN");
                                break;
                        case 'f':
                                options->action = ACT_FILE;
@@ -402,16 +404,16 @@ parse_options(int argc, char *argv[], struct adhoc_opts * options)
                                        break;
                                }
                        case 'q':
-                               SetVariable(pset.vars, "QUIET", "");
+                               SetVariableBool(pset.vars, "QUIET");
                                break;
             case 'R':
                 pset.popt.topt.recordSep = xstrdup(optarg);
                 break;
                        case 's':
-                               SetVariable(pset.vars, "SINGLESTEP", "");
+                               SetVariableBool(pset.vars, "SINGLESTEP");
                                break;
                        case 'S':
-                               SetVariable(pset.vars, "SINGLELINE", "");
+                               SetVariableBool(pset.vars, "SINGLELINE");
                                break;
                        case 't':
                                pset.popt.topt.tuples_only = true;
index b0523dc..e7d67d6 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright 2000 by PostgreSQL Global Development Group
  *
- * $Header: /cvsroot/pgsql/src/bin/psql/variables.c,v 1.5 2000/01/29 16:58:49 petere Exp $
+ * $Header: /cvsroot/pgsql/src/bin/psql/variables.c,v 1.6 2000/02/13 21:45:14 petere Exp $
  */
 #include <c.h>
 #include "variables.h"
@@ -112,6 +112,14 @@ SetVariable(VariableSpace space, const char *name, const char *value)
 
 
 bool
+SetVariableBool(VariableSpace space, const char *name)
+{
+    return SetVariable(space, name, "");
+}
+
+
+
+bool
 DeleteVariable(VariableSpace space, const char *name)
 {
        struct _variable *current,
index 2b476dd..521efc5 100644 (file)
@@ -3,17 +3,13 @@
  *
  * Copyright 2000 by PostgreSQL Global Development Group
  *
- * $Header: /cvsroot/pgsql/src/bin/psql/variables.h,v 1.5 2000/01/29 16:58:49 petere Exp $
+ * $Header: /cvsroot/pgsql/src/bin/psql/variables.h,v 1.6 2000/02/13 21:45:14 petere Exp $
  */
 
 /*
  * This implements a sort of variable repository. One could also think of it
  * as cheap version of an associative array. In each one of these
  * datastructures you can store name/value pairs.
- *
- * All functions (should) follow the Shit-In-Shit-Out (SISO) principle, i.e.,
- * you can pass them NULL pointers and the like and they will return something
- * appropriate.
  */
 
 #ifndef VARIABLES_H
@@ -37,6 +33,7 @@ VariableSpace CreateVariableSpace(void);
 const char *GetVariable(VariableSpace space, const char *name);
 bool           GetVariableBool(VariableSpace space, const char *name);
 bool           SetVariable(VariableSpace space, const char *name, const char *value);
+bool        SetVariableBool(VariableSpace space, const char *name);
 bool           DeleteVariable(VariableSpace space, const char *name);
 void           DestroyVariableSpace(VariableSpace space);
 
index 195b270..aaa8f2e 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/sh
-# $Header: /cvsroot/pgsql/src/test/regress/Attic/regress.sh,v 1.39 2000/01/09 20:54:36 tgl Exp $
+# $Header: /cvsroot/pgsql/src/test/regress/Attic/regress.sh,v 1.40 2000/02/13 21:45:15 petere Exp $
 #
 if [ $# -eq 0 ]
 then
@@ -30,7 +30,7 @@ fi
 PGTZ="PST8PDT"; export PGTZ
 PGDATESTYLE="Postgres,US"; export PGDATESTYLE
 
-FRONTEND="psql $HOSTLOC -n -e -q"
+FRONTEND="psql $HOSTLOC -a -q"
 
 # ----------
 # Scan resultmap file to find which platform-specific expected files to use.
index d6dd247..9314076 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 #
-# $Header: /cvsroot/pgsql/src/test/regress/Attic/run_check.sh,v 1.7 2000/01/16 20:05:00 petere Exp $
+# $Header: /cvsroot/pgsql/src/test/regress/Attic/run_check.sh,v 1.8 2000/02/13 21:45:15 petere Exp $
 
 # ----------
 # Check call syntax
@@ -86,7 +86,7 @@ PGDATESTYLE="Postgres,US"; export PGDATESTYLE
 # ----------
 # The SQL shell to use during this test
 # ----------
-FRONTEND="$BINDIR/psql $HOSTLOC -n -e -q"
+FRONTEND="$BINDIR/psql $HOSTLOC -a -q"
 
 # ----------
 # Scan resultmap file to find which platform-specific expected files to use.