]> granicus.if.org Git - postgresql/commitdiff
psql: Don't automatically use expanded format when there's 1 column.
authorRobert Haas <rhaas@postgresql.org>
Fri, 11 Mar 2016 13:04:01 +0000 (08:04 -0500)
committerRobert Haas <rhaas@postgresql.org>
Fri, 11 Mar 2016 13:04:01 +0000 (08:04 -0500)
Andreas Karlsson and Robert Haas

doc/src/sgml/ref/psql-ref.sgml
src/bin/psql/print.c

index f2ea63bb6c4ea07efd68137c9b18e1aa381ab366..8a8580411eee1eaac123639addcdb014a779cd60 100644 (file)
@@ -2119,8 +2119,9 @@ lo_import 152801
           column name on the left and the data on the right. This mode is
           useful if the data wouldn't fit on the screen in the
           normal <quote>horizontal</quote> mode.  In the auto setting, the
-          expanded mode is used whenever the query output is wider than the
-          screen, otherwise the regular mode is used.  The auto setting is only
+          expanded mode is used whenever the query output has more than one
+          column and is wider than the screen; otherwise, the regular mode is
+          used.  The auto setting is only
           effective in the aligned and wrapped formats.  In other formats, it
           always behaves as if the expanded mode is off.
           </para>
index 8958903e140a027803b1a1923e04880198c123f6..85dbd300d8d3b5ecdfd6225883c644688568ea22 100644 (file)
@@ -816,9 +816,11 @@ print_aligned_text(const printTableContent *cont, FILE *fout, bool is_pager)
 
        /*
         * If in expanded auto mode, we have now calculated the expected width, so
-        * we can now escape to vertical mode if necessary.
+        * we can now escape to vertical mode if necessary.  If the output has
+        * only one column, the expanded format would be wider than the regular
+        * format, so don't use it in that case.
         */
-       if (cont->opt->expanded == 2 && output_columns > 0 &&
+       if (cont->opt->expanded == 2 && output_columns > 0 && cont->ncolumns > 1 &&
                (output_columns < total_header_width || output_columns < width_total))
        {
                print_aligned_vertical(cont, fout, is_pager);