From da29cc802215e3a01bab0f9fb5dd14c03d6f973d Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Wed, 25 Nov 2009 20:26:31 +0000 Subject: [PATCH] Simplify psql's new linestyle behavior to default to linestyle=ascii all the time, rather than hoping we can tell whether the terminal supports UTF8 characters. Per discussion. --- doc/src/sgml/ref/psql-ref.sgml | 9 ++------- doc/src/sgml/release-8.5.sgml | 5 ++--- src/bin/psql/mbprint.c | 4 ++-- src/bin/psql/mbprint.h | 3 +-- src/bin/psql/print.c | 9 ++++++--- src/test/regress/pg_regress_main.c | 4 ++-- 6 files changed, 15 insertions(+), 19 deletions(-) diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml index d9a455ba8b..dc8a4819df 100644 --- a/doc/src/sgml/ref/psql-ref.sgml +++ b/doc/src/sgml/ref/psql-ref.sgml @@ -1,5 +1,5 @@ @@ -1785,6 +1785,7 @@ lo_import 152801 or unicode. Unique abbreviations are allowed. (That would mean one letter is enough.) + The default setting is ascii. This option only affects the aligned and wrapped output formats. @@ -1826,12 +1827,6 @@ lo_import 152801 Plain ASCII characters work everywhere, but Unicode characters look nicer on displays that recognize them. - - - If this option has not been set, the default behavior is to use - unicode style if the client character set encoding - is UTF-8, otherwise ascii style. - diff --git a/doc/src/sgml/release-8.5.sgml b/doc/src/sgml/release-8.5.sgml index 95a940fa52..5471a42375 100644 --- a/doc/src/sgml/release-8.5.sgml +++ b/doc/src/sgml/release-8.5.sgml @@ -1,4 +1,4 @@ - + Release 8.5alpha2 @@ -410,8 +410,7 @@ 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. + desired. diff --git a/src/bin/psql/mbprint.c b/src/bin/psql/mbprint.c index 2999d56ef6..6671b0a98b 100644 --- a/src/bin/psql/mbprint.c +++ b/src/bin/psql/mbprint.c @@ -3,7 +3,7 @@ * * Copyright (c) 2000-2009, PostgreSQL Global Development Group * - * $PostgreSQL: pgsql/src/bin/psql/mbprint.c,v 1.36 2009/10/13 21:04:01 tgl Exp $ + * $PostgreSQL: pgsql/src/bin/psql/mbprint.c,v 1.37 2009/11/25 20:26:31 tgl Exp $ * * XXX this file does not really belong in psql/. Perhaps move to libpq? * It also seems that the mbvalidate function is redundant with existing @@ -30,7 +30,7 @@ typedef unsigned int pg_wchar; -int +static int pg_get_utf8_id(void) { static int utf8_id = -1; diff --git a/src/bin/psql/mbprint.h b/src/bin/psql/mbprint.h index 4d5376c7cd..4e9d933c94 100644 --- a/src/bin/psql/mbprint.h +++ b/src/bin/psql/mbprint.h @@ -1,4 +1,4 @@ -/* $PostgreSQL: pgsql/src/bin/psql/mbprint.h,v 1.14 2009/10/13 21:04:01 tgl Exp $ */ +/* $PostgreSQL: pgsql/src/bin/psql/mbprint.h,v 1.15 2009/11/25 20:26:31 tgl Exp $ */ #ifndef MBPRINT_H #define MBPRINT_H @@ -9,7 +9,6 @@ struct lineptr int width; }; -extern int pg_get_utf8_id(void); extern unsigned char *mbvalidate(unsigned char *pwcs, int encoding); extern int pg_wcswidth(const unsigned char *pwcs, size_t len, int encoding); extern void pg_wcsformat(unsigned char *pwcs, size_t len, int encoding, struct lineptr * lines, int count); diff --git a/src/bin/psql/print.c b/src/bin/psql/print.c index b7fdc47794..6c21c1628d 100644 --- a/src/bin/psql/print.c +++ b/src/bin/psql/print.c @@ -3,7 +3,7 @@ * * Copyright (c) 2000-2009, PostgreSQL Global Development Group * - * $PostgreSQL: pgsql/src/bin/psql/print.c,v 1.118 2009/11/22 05:20:41 tgl Exp $ + * $PostgreSQL: pgsql/src/bin/psql/print.c,v 1.119 2009/11/25 20:26:31 tgl Exp $ */ #include "postgres_fe.h" @@ -2550,10 +2550,13 @@ setDecimalLocale(void) const printTextFormat * get_line_style(const printTableOpt *opt) { + /* + * Note: this function mainly exists to preserve the convention that + * a printTableOpt struct can be initialized to zeroes to get default + * behavior. + */ if (opt->line_style != NULL) return opt->line_style; - else if (opt->encoding == pg_get_utf8_id()) - return &pg_utf8format; else return &pg_asciiformat; } diff --git a/src/test/regress/pg_regress_main.c b/src/test/regress/pg_regress_main.c index 9dd99bc6b9..e3d1ed3775 100644 --- a/src/test/regress/pg_regress_main.c +++ b/src/test/regress/pg_regress_main.c @@ -11,7 +11,7 @@ * Portions Copyright (c) 1996-2009, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $PostgreSQL: pgsql/src/test/regress/pg_regress_main.c,v 1.7 2009/10/13 21:04:01 tgl Exp $ + * $PostgreSQL: pgsql/src/test/regress/pg_regress_main.c,v 1.8 2009/11/25 20:26:31 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -59,7 +59,7 @@ psql_start_test(const char *testname, add_stringlist_item(expectfiles, expectfile); snprintf(psql_cmd, sizeof(psql_cmd), - SYSTEMQUOTE "\"%s%spsql\" -X -a -q -P linestyle=ascii -d \"%s\" < \"%s\" > \"%s\" 2>&1" SYSTEMQUOTE, + SYSTEMQUOTE "\"%s%spsql\" -X -a -q -d \"%s\" < \"%s\" > \"%s\" 2>&1" SYSTEMQUOTE, psqldir ? psqldir : "", psqldir ? "/" : "", dblist->str,