diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml index 212dbfa154..5899bb4fb3 100644 --- a/doc/src/sgml/ref/psql-ref.sgml +++ b/doc/src/sgml/ref/psql-ref.sgml @@ -2038,14 +2038,15 @@ lo_import 152801 The value must be a number. In general, the higher the number the more borders and lines the tables will have, - but this depends on the particular format. In - HTML format, this will translate directly - into the border=... attribute; in - latex and latex-longtable - formats, a value of 3 will add a dividing line between each row; in - the other formats only values 0 (no border), 1 (internal dividing - lines), and 2 (table frame) make sense and values above 2 will be - treated the same as border = 2. + but details depend on the particular format. + In HTML format, this will translate directly + into the border=... attribute. + In most other formats only values 0 (no border), 1 (internal + dividing lines), and 2 (table frame) make sense, and values above 2 + will be treated the same as border = 2. + The latex and latex-longtable + formats additionally allow a value of 3 to add dividing lines + between data rows. @@ -2220,8 +2221,8 @@ lo_import 152801 When the border setting is greater than zero, - this option also determines the characters - with which the border lines are drawn. + the linestyle option also determines the + characters with which the border lines are drawn. Plain ASCII characters work everywhere, but Unicode characters look nicer on displays that recognize them. @@ -2364,31 +2365,34 @@ lo_import 152801 - unicode_border_style + unicode_border_linestyle - Sets the border drawing style for the unicode line style to one - of single or double. + Sets the border drawing style for the unicode + line style to one of single + or double. - unicode_column_style + unicode_column_linestyle - Sets the column drawing style for the unicode line style to one - of single or double. + Sets the column drawing style for the unicode + line style to one of single + or double. - unicode_header_style + unicode_header_linestyle - Sets the header drawing style for the unicode line style to one - of single or double. + Sets the header drawing style for the unicode + line style to one of single + or double. diff --git a/doc/src/sgml/release-9.5.sgml b/doc/src/sgml/release-9.5.sgml index 92443e43c1..9055387832 100644 --- a/doc/src/sgml/release-9.5.sgml +++ b/doc/src/sgml/release-9.5.sgml @@ -2061,12 +2061,12 @@ FIXME: Add more specifics? 2014-09-12 [a2dabf0] Stephe..: Add unicode_{column|header|border}_style to psql --> - Allow column, header, and border control to psql's - Unicode style (Pavel Stehule) + Provide separate column, header, and border linestyle control + in psql's unicode linestyle (Pavel Stehule) - Single or double output is supported; the default is + Single or double lines are supported; the default is single. diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c index 50d3ff5174..72c00c1251 100644 --- a/src/bin/psql/command.c +++ b/src/bin/psql/command.c @@ -2415,11 +2415,11 @@ _align2string(enum printFormat in) } /* - * Parse entered unicode linestyle. Returns true, when entered string is - * known linestyle: single, double else returns false. + * Parse entered unicode linestyle. If ok, update *linestyle and return + * true, else return false. */ static bool -set_unicode_line_style(printQueryOpt *popt, const char *value, size_t vallen, +set_unicode_line_style(const char *value, size_t vallen, unicode_linestyle *linestyle) { if (pg_strncasecmp("single", value, vallen) == 0) @@ -2428,10 +2428,6 @@ set_unicode_line_style(printQueryOpt *popt, const char *value, size_t vallen, *linestyle = UNICODE_LINESTYLE_DOUBLE; else return false; - - /* input is ok, generate new unicode style */ - refresh_utf8format(&(popt->topt)); - return true; } @@ -2517,10 +2513,12 @@ do_pset(const char *param, const char *value, printQueryOpt *popt, bool quiet) { if (!value) ; - else if (!set_unicode_line_style(popt, value, vallen, - &popt->topt.unicode_border_linestyle)) + else if (set_unicode_line_style(value, vallen, + &popt->topt.unicode_border_linestyle)) + refresh_utf8format(&(popt->topt)); + else { - psql_error("\\pset: allowed unicode border linestyle are single, double\n"); + psql_error("\\pset: allowed unicode border linestyles are single, double\n"); return false; } } @@ -2530,10 +2528,12 @@ do_pset(const char *param, const char *value, printQueryOpt *popt, bool quiet) { if (!value) ; - else if (!set_unicode_line_style(popt, value, vallen, - &popt->topt.unicode_column_linestyle)) + else if (set_unicode_line_style(value, vallen, + &popt->topt.unicode_column_linestyle)) + refresh_utf8format(&(popt->topt)); + else { - psql_error("\\pset: allowed unicode column linestyle are single, double\n"); + psql_error("\\pset: allowed unicode column linestyles are single, double\n"); return false; } } @@ -2543,10 +2543,12 @@ do_pset(const char *param, const char *value, printQueryOpt *popt, bool quiet) { if (!value) ; - else if (!set_unicode_line_style(popt, value, vallen, - &popt->topt.unicode_header_linestyle)) + else if (set_unicode_line_style(value, vallen, + &popt->topt.unicode_header_linestyle)) + refresh_utf8format(&(popt->topt)); + else { - psql_error("\\pset: allowed unicode header linestyle are single, double\n"); + psql_error("\\pset: allowed unicode header linestyles are single, double\n"); return false; } } @@ -2871,7 +2873,7 @@ printPsetInfo(const char *param, struct printQueryOpt *popt) else if (strcmp(param, "unicode_header_linestyle") == 0) { - printf(_("Unicode border linestyle is \"%s\".\n"), + printf(_("Unicode header linestyle is \"%s\".\n"), _unicode_linestyle2string(popt->topt.unicode_header_linestyle)); }