diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2009-10-13 21:04:01 +0000 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2009-10-13 21:04:01 +0000 |
commit | 42ec8ad6286be046d86fc9f09bb4cdeefc395bfe (patch) | |
tree | bc2de6234cbc40060ba81d71222d593b0c680efe /src/bin/psql/command.c | |
parent | b14071164366e7efee9dc3a017eb7cb4cfac3428 (diff) |
Add "\pset linestyle ascii/unicode" option to psql, allowing our traditional
ASCII-art style of table output to be upgraded to use Unicode box drawing
characters if desired. By default, psql will use the Unicode characters
whenever client_encoding is UTF8.
The patch forces linestyle=ascii in pg_regress usage, ensuring we don't
break the regression tests in Unicode locales.
Roger Leigh
Diffstat (limited to 'src/bin/psql/command.c')
-rw-r--r-- | src/bin/psql/command.c | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c index cea3942f013..6ce10caa2b8 100644 --- a/src/bin/psql/command.c +++ b/src/bin/psql/command.c @@ -3,7 +3,7 @@ * * Copyright (c) 2000-2009, PostgreSQL Global Development Group * - * $PostgreSQL: pgsql/src/bin/psql/command.c,v 1.209 2009/10/07 22:14:24 alvherre Exp $ + * $PostgreSQL: pgsql/src/bin/psql/command.c,v 1.210 2009/10/13 21:04:01 tgl Exp $ */ #include "postgres_fe.h" #include "command.h" @@ -1788,6 +1788,26 @@ do_pset(const char *param, const char *value, printQueryOpt *popt, bool quiet) printf(_("Output format is %s.\n"), _align2string(popt->topt.format)); } + /* set table line style */ + else if (strcmp(param, "linestyle") == 0) + { + if (!value) + ; + else if (pg_strncasecmp("ascii", value, vallen) == 0) + popt->topt.line_style = &pg_asciiformat; + else if (pg_strncasecmp("unicode", value, vallen) == 0) + popt->topt.line_style = &pg_utf8format; + else + { + psql_error("\\pset: allowed line styles are ascii, unicode\n"); + return false; + } + + if (!quiet) + printf(_("Line style is %s.\n"), + get_line_style(&popt->topt)->name); + } + /* set border style/width */ else if (strcmp(param, "border") == 0) { |