diff options
author | Bruce Momjian <bruce@momjian.us> | 2002-11-08 19:12:21 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 2002-11-08 19:12:21 +0000 |
commit | b26dfbb0e3204c170e7928b7156521fa18b744bf (patch) | |
tree | c2d9c9cad2ac87267cd2af6936a43797c2b2e32d /src | |
parent | c2b716ab6834b40a6ff6e807b7c5344da224fa6e (diff) | |
download | postgresql-b26dfbb0e3204c170e7928b7156521fa18b744bf.tar.gz postgresql-b26dfbb0e3204c170e7928b7156521fa18b744bf.zip |
Here is a patch that does just that, while maintaining the
"traditional" behavior, so the change should be transparent. Use the
command "\pset pager always" to turn it on. Anything else does the
normal toggle between "on" and "off"
Greg Sabino Mullane
Diffstat (limited to 'src')
-rw-r--r-- | src/bin/psql/command.c | 13 | ||||
-rw-r--r-- | src/bin/psql/common.c | 4 | ||||
-rw-r--r-- | src/bin/psql/help.c | 4 | ||||
-rw-r--r-- | src/bin/psql/help.h | 4 | ||||
-rw-r--r-- | src/bin/psql/print.h | 7 | ||||
-rw-r--r-- | src/bin/psql/startup.c | 4 |
6 files changed, 22 insertions, 14 deletions
diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c index 83ce799e51c..bfe5b45e1ef 100644 --- a/src/bin/psql/command.c +++ b/src/bin/psql/command.c @@ -3,7 +3,7 @@ * * Copyright 2000-2002 by PostgreSQL Global Development Group * - * $Header: /cvsroot/pgsql/src/bin/psql/command.c,v 1.84 2002/10/23 19:23:56 momjian Exp $ + * $Header: /cvsroot/pgsql/src/bin/psql/command.c,v 1.85 2002/11/08 19:12:21 momjian Exp $ */ #include "postgres_fe.h" #include "command.h" @@ -1873,11 +1873,18 @@ do_pset(const char *param, const char *value, printQueryOpt *popt, bool quiet) /* toggle use of pager */ else if (strcmp(param, "pager") == 0) { - popt->topt.pager = !popt->topt.pager; + if (value && strcasecmp(value, "always") == 0) + popt->topt.pager = 2; + else if (popt->topt.pager == 1) + popt->topt.pager = 0; + else + popt->topt.pager = 1; if (!quiet) { - if (popt->topt.pager) + if (popt->topt.pager == 1) puts(gettext("Using pager is on.")); + else if (popt->topt.pager == 2) + puts(gettext("Using pager is always.")); else puts(gettext("Using pager is off.")); } diff --git a/src/bin/psql/common.c b/src/bin/psql/common.c index 55af65a3ae1..fcd898877a2 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.51 2002/10/29 19:35:33 momjian Exp $ + * $Header: /cvsroot/pgsql/src/bin/psql/common.c,v 1.52 2002/11/08 19:12:21 momjian Exp $ */ #include "postgres_fe.h" #include "common.h" @@ -548,7 +548,7 @@ PageOutput(int lines, bool pager) struct winsize screen_size; result = ioctl(fileno(stdout), TIOCGWINSZ, &screen_size); - if (result == -1 || lines > screen_size.ws_row) + if (result == -1 || lines > screen_size.ws_row || pager > 1) { #endif pagerprog = getenv("PAGER"); diff --git a/src/bin/psql/help.c b/src/bin/psql/help.c index 6e5323c01ac..f9dd6145ae2 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.60 2002/10/24 01:33:50 momjian Exp $ + * $Header: /cvsroot/pgsql/src/bin/psql/help.c,v 1.61 2002/11/08 19:12:21 momjian Exp $ */ #include "postgres_fe.h" #include "common.h" @@ -159,7 +159,7 @@ struct winsize #endif void -slashUsage(bool pager) +slashUsage(unsigned short int pager) { FILE *output; diff --git a/src/bin/psql/help.h b/src/bin/psql/help.h index 28a87864661..7b3078dd85d 100644 --- a/src/bin/psql/help.h +++ b/src/bin/psql/help.h @@ -3,14 +3,14 @@ * * Copyright 2000 by PostgreSQL Global Development Group * - * $Header: /cvsroot/pgsql/src/bin/psql/help.h,v 1.10 2002/10/23 19:23:57 momjian Exp $ + * $Header: /cvsroot/pgsql/src/bin/psql/help.h,v 1.11 2002/11/08 19:12:21 momjian Exp $ */ #ifndef HELP_H #define HELP_H void usage(void); -void slashUsage(bool pager); +void slashUsage(unsigned short int pager); void helpSQL(const char *topic, bool pager); diff --git a/src/bin/psql/print.h b/src/bin/psql/print.h index 09ec685bfef..f97bf9ead52 100644 --- a/src/bin/psql/print.h +++ b/src/bin/psql/print.h @@ -3,7 +3,7 @@ * * Copyright 2000 by PostgreSQL Global Development Group * - * $Header: /cvsroot/pgsql/src/bin/psql/print.h,v 1.14 2002/09/04 20:31:36 momjian Exp $ + * $Header: /cvsroot/pgsql/src/bin/psql/print.h,v 1.15 2002/11/08 19:12:21 momjian Exp $ */ #ifndef PRINT_H #define PRINT_H @@ -26,8 +26,9 @@ typedef struct _printTableOpt enum printFormat format; /* one of the above */ bool expanded; /* expanded/vertical output (if supported * by output format) */ - bool pager; /* use pager for output (if to stdout and - * stdout is a tty) */ + unsigned short int pager; /* use pager for output (if to stdout and + * stdout is a tty) + * 0=off 1=on 2=always */ bool tuples_only; /* don't output headers, row counts, etc. */ unsigned short int border; /* Print a border around the table. * 0=none, 1=dividing lines, 2=full */ diff --git a/src/bin/psql/startup.c b/src/bin/psql/startup.c index 16e7ed9c287..3a9ab01e0e5 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.68 2002/10/18 22:05:36 petere Exp $ + * $Header: /cvsroot/pgsql/src/bin/psql/startup.c,v 1.69 2002/11/08 19:12:21 momjian Exp $ */ #include "postgres_fe.h" @@ -137,7 +137,7 @@ main(int argc, char *argv[]) pset.popt.topt.format = PRINT_ALIGNED; pset.queryFout = stdout; pset.popt.topt.border = 1; - pset.popt.topt.pager = true; + pset.popt.topt.pager = 1; pset.popt.default_footer = true; SetVariable(pset.vars, "VERSION", PG_VERSION_STR); |