From 9672d38f91f908e8a314d2f4500d9ec6b24d3b02 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Sun, 13 Feb 2000 21:45:15 +0000 Subject: [PATCH] Adjusted psql echoing options (-a and -e) --- doc/src/sgml/ref/psql-ref.sgml | 33 +++++++++++++++++++++++---------- src/bin/psql/common.c | 4 ++-- src/bin/psql/help.c | 4 ++-- src/bin/psql/mainloop.c | 4 ++-- src/bin/psql/startup.c | 24 +++++++++++++----------- src/bin/psql/variables.c | 10 +++++++++- src/bin/psql/variables.h | 7 ++----- src/test/regress/regress.sh | 4 ++-- src/test/regress/run_check.sh | 4 ++-- 9 files changed, 57 insertions(+), 37 deletions(-) diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml index 4d31f426d9..78cfaf7309 100644 --- a/doc/src/sgml/ref/psql-ref.sgml +++ b/doc/src/sgml/ref/psql-ref.sgml @@ -1,5 +1,5 @@ @@ -609,7 +609,7 @@ Tue Oct 26 21:40:57 CEST 1999 If you want to see the lines on the screen as they are read you must set - the variable ECHO to full. + the variable ECHO to all. @@ -1189,6 +1189,18 @@ Access permissions for database "test" + + -a, --echo-all + + + 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 ECHO to all. + + + + + -A, --no-align @@ -1234,11 +1246,12 @@ Access permissions for database "test" - -e, --echo + -e, --echo-queries - In non-interactive mode, all lines are printed to the screen as they are read. - This is equivalent to setting the variable ECHO to full. + Show all queries that are sent to the backend. + This is equivalent to setting the variable ECHO + to queries. @@ -1621,12 +1634,12 @@ bar ECHO - If set to full, all lines entered or from a script + If set to all, 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 perhaps, use the switch . - If set to brief, psql - merely prints all queries as they are sent to the backend. + are parsed or executed. To specify this on program startup, use the switch + . If set to queries, + psql merely prints all queries as they are sent to the + backend. The option for this is . diff --git a/src/bin/psql/common.c b/src/bin/psql/common.c index 084d8790e6..49249c27db 100644 --- a/src/bin/psql/common.c +++ b/src/bin/psql/common.c @@ -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 #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); } diff --git a/src/bin/psql/help.c b/src/bin/psql/help.c index fe1d76bc76..ac252086d4 100644 --- a/src/bin/psql/help.c +++ b/src/bin/psql/help.c @@ -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 #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 Run only single query (or slash command) and exit"); diff --git a/src/bin/psql/mainloop.c b/src/bin/psql/mainloop.c index e16bf782f3..1d5023925d 100644 --- a/src/bin/psql/mainloop.c +++ b/src/bin/psql/mainloop.c @@ -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 #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); diff --git a/src/bin/psql/startup.c b/src/bin/psql/startup.c index fa6e9fbf20..2905e72144 100644 --- a/src/bin/psql/startup.c +++ b/src/bin/psql/startup.c @@ -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 @@ -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; diff --git a/src/bin/psql/variables.c b/src/bin/psql/variables.c index b0523dcb67..e7d67d6dc5 100644 --- a/src/bin/psql/variables.c +++ b/src/bin/psql/variables.c @@ -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 #include "variables.h" @@ -111,6 +111,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) { diff --git a/src/bin/psql/variables.h b/src/bin/psql/variables.h index 2b476dd0c3..521efc51dd 100644 --- a/src/bin/psql/variables.h +++ b/src/bin/psql/variables.h @@ -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); diff --git a/src/test/regress/regress.sh b/src/test/regress/regress.sh index 195b270ce7..aaa8f2e85d 100755 --- a/src/test/regress/regress.sh +++ b/src/test/regress/regress.sh @@ -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. diff --git a/src/test/regress/run_check.sh b/src/test/regress/run_check.sh index d6dd247de6..9314076457 100755 --- a/src/test/regress/run_check.sh +++ b/src/test/regress/run_check.sh @@ -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.