aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2015-11-03 11:49:21 -0500
committerTom Lane <tgl@sss.pgh.pa.us>2015-11-03 11:49:21 -0500
commita69b0b2c14c614c129e89ae96d6f624375531760 (patch)
tree3c35aac4293c8c6d5133ad8c11d96da9b569d3d8
parent4efe26cbd3ef0d85656bf00ac9e5bd41cc8a2a36 (diff)
downloadpostgresql-a69b0b2c14c614c129e89ae96d6f624375531760.tar.gz
postgresql-a69b0b2c14c614c129e89ae96d6f624375531760.zip
Code + docs review for unicode linestyle patch.
Fix some brain fade in commit a2dabf0e1dda93c8: erroneous variable names in docs, rearrangements that made sentences less clear not more so, undocumented and poorly-chosen-anyway API behaviors of subroutines, bad grammar in error messages, copy-and-paste faults. Albe Laurenz and Tom Lane
-rw-r--r--doc/src/sgml/ref/psql-ref.sgml42
-rw-r--r--doc/src/sgml/release-9.5.sgml6
-rw-r--r--src/bin/psql/command.c36
3 files changed, 45 insertions, 39 deletions
diff --git a/doc/src/sgml/ref/psql-ref.sgml b/doc/src/sgml/ref/psql-ref.sgml
index 212dbfa154c..5899bb4fb39 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 <replaceable class="parameter">value</replaceable> 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
- <acronym>HTML</acronym> format, this will translate directly
- into the <literal>border=...</literal> attribute; in
- <literal>latex</literal> and <literal>latex-longtable</literal>
- 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 <literal>border = 2</literal>.
+ but details depend on the particular format.
+ In <acronym>HTML</acronym> format, this will translate directly
+ into the <literal>border=...</literal> 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 <literal>border = 2</literal>.
+ The <literal>latex</literal> and <literal>latex-longtable</literal>
+ formats additionally allow a value of 3 to add dividing lines
+ between data rows.
</para>
</listitem>
</varlistentry>
@@ -2220,8 +2221,8 @@ lo_import 152801
<para>
When the <literal>border</> setting is greater than zero,
- this option also determines the characters
- with which the border lines are drawn.
+ the <literal>linestyle</literal> option also determines the
+ characters with which the border lines are drawn.
Plain <acronym>ASCII</acronym> characters work everywhere, but
Unicode characters look nicer on displays that recognize them.
</para>
@@ -2364,31 +2365,34 @@ lo_import 152801
</varlistentry>
<varlistentry>
- <term><literal>unicode_border_style</literal></term>
+ <term><literal>unicode_border_linestyle</literal></term>
<listitem>
<para>
- Sets the border drawing style for the <literal>unicode</literal> line style to one
- of <literal>single</literal> or <literal>double</literal>.
+ Sets the border drawing style for the <literal>unicode</literal>
+ line style to one of <literal>single</literal>
+ or <literal>double</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><literal>unicode_column_style</literal></term>
+ <term><literal>unicode_column_linestyle</literal></term>
<listitem>
<para>
- Sets the column drawing style for the <literal>unicode</literal> line style to one
- of <literal>single</literal> or <literal>double</literal>.
+ Sets the column drawing style for the <literal>unicode</literal>
+ line style to one of <literal>single</literal>
+ or <literal>double</literal>.
</para>
</listitem>
</varlistentry>
<varlistentry>
- <term><literal>unicode_header_style</literal></term>
+ <term><literal>unicode_header_linestyle</literal></term>
<listitem>
<para>
- Sets the header drawing style for the <literal>unicode</literal> line style to one
- of <literal>single</literal> or <literal>double</literal>.
+ Sets the header drawing style for the <literal>unicode</literal>
+ line style to one of <literal>single</literal>
+ or <literal>double</literal>.
</para>
</listitem>
</varlistentry>
diff --git a/doc/src/sgml/release-9.5.sgml b/doc/src/sgml/release-9.5.sgml
index 92443e43c19..9055387832a 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
-->
<para>
- Allow column, header, and border control to <application>psql</>'s
- Unicode style (Pavel Stehule)
+ Provide separate column, header, and border linestyle control
+ in <application>psql</>'s unicode linestyle (Pavel Stehule)
</para>
<para>
- Single or double output is supported; the default is
+ Single or double lines are supported; the default is
<literal>single</>.
</para>
</listitem>
diff --git a/src/bin/psql/command.c b/src/bin/psql/command.c
index 50d3ff51745..72c00c1251c 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));
}