]> granicus.if.org Git - postgresql/commitdiff
Revert psql changes to support wrapped expanded mode. That feature is
authorGreg Stark <stark@mit.edu>
Mon, 18 Aug 2014 10:28:57 +0000 (11:28 +0100)
committerGreg Stark <stark@mit.edu>
Mon, 18 Aug 2014 10:44:19 +0000 (11:44 +0100)
nice and we'll keep it in 9.5 but it'll take more time to iron out the
collateral damage on other queries and also on tools like
check_postgres.

revert dbe31616c9be7380b8a88cdfbeaa68dbdcdebc36
revert 6513633b94173fc1d9e2b213c43f9422ddbf5faa

src/bin/psql/print.c
src/test/regress/expected/psql.out
src/test/regress/sql/psql.sql

index 62850d8de5eac9f2c8c4fe7c4b882332f395d519..df7c7bacc88723e97be1111f4912a93179572d8f 100644 (file)
@@ -1161,7 +1161,6 @@ print_aligned_vertical(const printTableContent *cont, FILE *fout)
        struct lineptr *hlineptr,
                           *dlineptr;
        bool            is_pager = false;
-       int                     output_columns = 0;             /* Width of interactive console */
 
        if (cancel_pressed)
                return;
@@ -1235,90 +1234,24 @@ print_aligned_vertical(const printTableContent *cont, FILE *fout)
                        fprintf(fout, "%s\n", cont->title);
        }
 
-       /*
-        * Choose target output width: \pset columns, or $COLUMNS, or ioctl
-        */
-       if (cont->opt->columns > 0)
-               output_columns = cont->opt->columns;
-       else if ((fout == stdout && isatty(fileno(stdout))) || is_pager)
-       {
-               if (cont->opt->env_columns > 0)
-                       output_columns = cont->opt->env_columns;
-#ifdef TIOCGWINSZ
-               else
-               {
-                       struct winsize screen_size;
-
-                       if (ioctl(fileno(stdout), TIOCGWINSZ, &screen_size) != -1)
-                               output_columns = screen_size.ws_col;
-               }
-#endif
-       }
-
-       if (cont->opt->format == PRINT_WRAPPED)
-       {
-               /*
-                * Calculate the available width to wrap the columns to after
-                * subtracting the maximum header width and separators. At a minimum
-                * enough to print "[ RECORD N ]"
-                */
-               unsigned int width,
-                                       swidth;
-
-               if (opt_border == 0)
-                       swidth = 1;                     /* "header data" */
-               else if (opt_border == 1)
-                       swidth = 3;                     /* "header | data" */
-               else
-                       swidth = 7;                     /* "| header | data |" */
-
-               /* Wrap to maximum width */
-               width = dwidth + swidth + hwidth;
-               if ((output_columns > 0) && (width > output_columns))
-               {
-                       dwidth = output_columns - hwidth - swidth;
-                       width = output_columns;
-               }
-
-               /* Wrap to minimum width */
-               if (!opt_tuples_only)
-               {
-                       int                     delta = 1 + log10(cont->nrows) - width;
-
-                       if (opt_border == 0)
-                               delta += 6;             /* "* RECORD " */
-                       else if (opt_border == 1)
-                               delta += 10;    /* "-[ RECORD  ]" */
-                       else
-                               delta += 15;    /* "+-[ RECORD  ]-+" */
-
-                       if (delta > 0)
-                               dwidth += delta;
-               }
-               else if (dwidth < 3)
-                       dwidth = 3;
-       }
-
        /* print records */
        for (i = 0, ptr = cont->cells; *ptr; i++, ptr++)
        {
                printTextRule pos;
-               int                     dline,
-                                       hline,
+               int                     line_count,
                                        dcomplete,
-                                       hcomplete,
-                                       offset,
-                                       chars_to_output;
+                                       hcomplete;
 
                if (cancel_pressed)
                        break;
 
                if (i == 0)
                        pos = PRINT_RULE_TOP;
+               else if (!(*(ptr + 1)))
+                       pos = PRINT_RULE_BOTTOM;
                else
                        pos = PRINT_RULE_MIDDLE;
 
-               /* Print record header (e.g. "[ RECORD N ]") above each record */
                if (i % cont->ncolumns == 0)
                {
                        if (!opt_tuples_only)
@@ -1337,126 +1270,48 @@ print_aligned_vertical(const printTableContent *cont, FILE *fout)
                pg_wcsformat((const unsigned char *) *ptr, strlen(*ptr), encoding,
                                         dlineptr, dheight);
 
-               /*
-                * Loop through header and data in parallel dealing with newlines and
-                * wrapped lines until they're both exhausted
-                */
-               dline = hline = 0;
+               line_count = 0;
                dcomplete = hcomplete = 0;
-               offset = 0;
-               chars_to_output = dlineptr[dline].width;
                while (!dcomplete || !hcomplete)
                {
-                       /* Left border */
                        if (opt_border == 2)
-                               fprintf(fout, "%s", dformat->leftvrule);
-
-                       /* Header (never wrapped so just need to deal with newlines) */
+                               fprintf(fout, "%s ", dformat->leftvrule);
                        if (!hcomplete)
                        {
-                               int                     swidth,
-                                                       twidth = hwidth + 1;
-
-                               fputs(hline ? format->header_nl_left : " ", fout);
-                               strlen_max_width(hlineptr[hline].ptr, &twidth,
-                                                                encoding);
-                               fprintf(fout, "%-s", hlineptr[hline].ptr);
-
-                               swidth = hwidth - twidth;
-                               if (swidth > 0) /* spacer */
-                                       fprintf(fout, "%*s", swidth, " ");
+                               fprintf(fout, "%-s%*s", hlineptr[line_count].ptr,
+                                               hwidth - hlineptr[line_count].width, "");
 
-                               if (hlineptr[hline + 1].ptr)
-                               {
-                                       /* More lines after this one due to a newline */
-                                       fputs(format->header_nl_right, fout);
-                                       hline++;
-                               }
-                               else
-                               {
-                                       /* This was the last line of the header */
-                                       fputs(" ", fout);
+                               if (!hlineptr[line_count + 1].ptr)
                                        hcomplete = 1;
-                               }
                        }
                        else
-                       {
-                               /* Header exhausted but more data for column */
-                               fprintf(fout, "%*s", hwidth + 2, "");
-                       }
+                               fprintf(fout, "%*s", hwidth, "");
 
-                       /* Separator */
                        if (opt_border > 0)
-                       {
-                               if (offset)
-                                       fputs(format->midvrule_wrap, fout);
-                               else if (!dline)
-                                       fputs(dformat->midvrule, fout);
-                               else if (dline)
-                                       fputs(format->midvrule_nl, fout);
-                               else
-                                       fputs(format->midvrule_blank, fout);
-                       }
+                               fprintf(fout, " %s ", dformat->midvrule);
+                       else
+                               fputc(' ', fout);
 
-                       /* Data */
                        if (!dcomplete)
                        {
-                               int                     target_width,
-                                                       bytes_to_output,
-                                                       swidth;
-
-                               fputs(!dcomplete && !offset ? " " : format->wrap_left, fout);
-
-                               target_width = dwidth;
-                               bytes_to_output = strlen_max_width(dlineptr[dline].ptr + offset,
-                                                                                                  &target_width, encoding);
-                               fputnbytes(fout, (char *) (dlineptr[dline].ptr + offset),
-                                                  bytes_to_output);
-
-                               chars_to_output -= target_width;
-                               offset += bytes_to_output;
-
-                               /* spacer */
-                               swidth = dwidth - target_width;
-                               if (swidth > 0)
-                                       fprintf(fout, "%*s", swidth, "");
-
-                               if (chars_to_output)
-                               {
-                                       /* continuing a wrapped column */
-                                       fputs(format->wrap_right, fout);
-                               }
-                               else if (dlineptr[dline + 1].ptr)
-                               {
-                                       /* reached a newline in the column */
-                                       fputs(format->nl_right, fout);
-                                       dline++;
-                                       offset = 0;
-                                       chars_to_output = dlineptr[dline].width;
-                               }
+                               if (opt_border < 2)
+                                       fprintf(fout, "%s\n", dlineptr[line_count].ptr);
                                else
-                               {
-                                       /* reached the end of the cell */
-                                       fputs(" ", fout);
-                                       dcomplete = 1;
-                               }
-
-                               if (opt_border == 2)
-                                       fputs(dformat->rightvrule, fout);
+                                       fprintf(fout, "%-s%*s %s\n", dlineptr[line_count].ptr,
+                                                       dwidth - dlineptr[line_count].width, "",
+                                                       dformat->rightvrule);
 
-                               fputs("\n", fout);
+                               if (!dlineptr[line_count + 1].ptr)
+                                       dcomplete = 1;
                        }
                        else
                        {
-                               /*
-                                * data exhausted (this can occur if header is longer than the
-                                * data due to newlines in the header)
-                                */
                                if (opt_border < 2)
-                                       fputs("\n", fout);
+                                       fputc('\n', fout);
                                else
-                                       fprintf(fout, "%*s  %s\n", dwidth, "", dformat->rightvrule);
+                                       fprintf(fout, "%*s %s\n", dwidth, "", dformat->rightvrule);
                        }
+                       line_count++;
                }
        }
 
index c7dbd543071b49b214f608fa0a27f8c0a59fcd47..2bbee7df004ee32c507626ecbd04c072d69cdcbc 100644 (file)
@@ -68,947 +68,3 @@ Record separator (recordsep) is <newline>.
 Table attributes (tableattr) unset.
 Title (title) unset.
 Tuples only (tuples_only) is off.
--- test multi-line headers, wrapping, and newline indicators
-prepare q as select array_to_string(array_agg(repeat('x',2*n)),E'\n') as "a
-
-b", array_to_string(array_agg(repeat('y',20-2*n)),E'\n') as "a
-b" from generate_series(1,10) as n(n) group by n>1 ;
-\pset linestyle ascii
-\pset expanded off
-\pset columns 40
-\pset border 0
-\pset format unaligned
-execute q;
-a
-
-b|a
-b
-xx|yyyyyyyyyyyyyyyyyy
-xxxx
-xxxxxx
-xxxxxxxx
-xxxxxxxxxx
-xxxxxxxxxxxx
-xxxxxxxxxxxxxx
-xxxxxxxxxxxxxxxx
-xxxxxxxxxxxxxxxxxx
-xxxxxxxxxxxxxxxxxxxx|yyyyyyyyyyyyyyyy
-yyyyyyyyyyyyyy
-yyyyyyyyyyyy
-yyyyyyyyyy
-yyyyyyyy
-yyyyyy
-yyyy
-yy
-
-(2 rows)
-\pset format aligned
-execute q;
-         a          +        a         +
-                    +        b          
-         b                              
--------------------- ------------------
-xx                   yyyyyyyyyyyyyyyyyy
-xxxx                +yyyyyyyyyyyyyyyy  +
-xxxxxx              +yyyyyyyyyyyyyy    +
-xxxxxxxx            +yyyyyyyyyyyy      +
-xxxxxxxxxx          +yyyyyyyyyy        +
-xxxxxxxxxxxx        +yyyyyyyy          +
-xxxxxxxxxxxxxx      +yyyyyy            +
-xxxxxxxxxxxxxxxx    +yyyy              +
-xxxxxxxxxxxxxxxxxx  +yy                +
-xxxxxxxxxxxxxxxxxxxx 
-(2 rows)
-
-\pset format wrapped
-execute q;
-         a          +        a         +
-                    +        b          
-         b                              
--------------------- ------------------
-xx                   yyyyyyyyyyyyyyyyyy
-xxxx                +yyyyyyyyyyyyyyyy  +
-xxxxxx              +yyyyyyyyyyyyyy    +
-xxxxxxxx            +yyyyyyyyyyyy      +
-xxxxxxxxxx          +yyyyyyyyyy        +
-xxxxxxxxxxxx        +yyyyyyyy          +
-xxxxxxxxxxxxxx      +yyyyyy            +
-xxxxxxxxxxxxxxxx    +yyyy              +
-xxxxxxxxxxxxxxxxxx  +yy                +
-xxxxxxxxxxxxxxxxxxxx 
-(2 rows)
-
-\pset border 1
-\pset format unaligned
-execute q;
-a
-
-b|a
-b
-xx|yyyyyyyyyyyyyyyyyy
-xxxx
-xxxxxx
-xxxxxxxx
-xxxxxxxxxx
-xxxxxxxxxxxx
-xxxxxxxxxxxxxx
-xxxxxxxxxxxxxxxx
-xxxxxxxxxxxxxxxxxx
-xxxxxxxxxxxxxxxxxxxx|yyyyyyyyyyyyyyyy
-yyyyyyyyyyyyyy
-yyyyyyyyyyyy
-yyyyyyyyyy
-yyyyyyyy
-yyyyyy
-yyyy
-yy
-
-(2 rows)
-\pset format aligned
-execute q;
-          a          +|         a         +
-                     +|         b          
-          b           |                    
-----------------------+--------------------
- xx                   | yyyyyyyyyyyyyyyyyy
- xxxx                +| yyyyyyyyyyyyyyyy  +
- xxxxxx              +| yyyyyyyyyyyyyy    +
- xxxxxxxx            +| yyyyyyyyyyyy      +
- xxxxxxxxxx          +| yyyyyyyyyy        +
- xxxxxxxxxxxx        +| yyyyyyyy          +
- xxxxxxxxxxxxxx      +| yyyyyy            +
- xxxxxxxxxxxxxxxx    +| yyyy              +
- xxxxxxxxxxxxxxxxxx  +| yy                +
- xxxxxxxxxxxxxxxxxxxx | 
-(2 rows)
-
-\pset format wrapped
-execute q;
-         a        +|         a         +
-                  +|         b          
-         b         |                    
--------------------+--------------------
- xx                | yyyyyyyyyyyyyyyyyy
- xxxx             +| yyyyyyyyyyyyyyyy  +
- xxxxxx           +| yyyyyyyyyyyyyy    +
- xxxxxxxx         +| yyyyyyyyyyyy      +
- xxxxxxxxxx       +| yyyyyyyyyy        +
- xxxxxxxxxxxx     +| yyyyyyyy          +
- xxxxxxxxxxxxxx   +| yyyyyy            +
- xxxxxxxxxxxxxxxx +| yyyy              +
- xxxxxxxxxxxxxxxxx.| yy                +
-.x                +| 
- xxxxxxxxxxxxxxxxx.| 
-.xxx               | 
-(2 rows)
-
-\pset border 2
-\pset format unaligned
-execute q;
-a
-
-b|a
-b
-xx|yyyyyyyyyyyyyyyyyy
-xxxx
-xxxxxx
-xxxxxxxx
-xxxxxxxxxx
-xxxxxxxxxxxx
-xxxxxxxxxxxxxx
-xxxxxxxxxxxxxxxx
-xxxxxxxxxxxxxxxxxx
-xxxxxxxxxxxxxxxxxxxx|yyyyyyyyyyyyyyyy
-yyyyyyyyyyyyyy
-yyyyyyyyyyyy
-yyyyyyyyyy
-yyyyyyyy
-yyyyyy
-yyyy
-yy
-
-(2 rows)
-\pset format aligned
-execute q;
-+----------------------+--------------------+
-|          a          +|         a         +|
-|                     +|         b          |
-|          b           |                    |
-+----------------------+--------------------+
-| xx                   | yyyyyyyyyyyyyyyyyy |
-| xxxx                +| yyyyyyyyyyyyyyyy  +|
-| xxxxxx              +| yyyyyyyyyyyyyy    +|
-| xxxxxxxx            +| yyyyyyyyyyyy      +|
-| xxxxxxxxxx          +| yyyyyyyyyy        +|
-| xxxxxxxxxxxx        +| yyyyyyyy          +|
-| xxxxxxxxxxxxxx      +| yyyyyy            +|
-| xxxxxxxxxxxxxxxx    +| yyyy              +|
-| xxxxxxxxxxxxxxxxxx  +| yy                +|
-| xxxxxxxxxxxxxxxxxxxx |                    |
-+----------------------+--------------------+
-(2 rows)
-
-\pset format wrapped
-execute q;
-+-----------------+--------------------+
-|        a       +|         a         +|
-|                +|         b          |
-|        b        |                    |
-+-----------------+--------------------+
-| xx              | yyyyyyyyyyyyyyyyyy |
-| xxxx           +| yyyyyyyyyyyyyyyy  +|
-| xxxxxx         +| yyyyyyyyyyyyyy    +|
-| xxxxxxxx       +| yyyyyyyyyyyy      +|
-| xxxxxxxxxx     +| yyyyyyyyyy        +|
-| xxxxxxxxxxxx   +| yyyyyyyy          +|
-| xxxxxxxxxxxxxx +| yyyyyy            +|
-| xxxxxxxxxxxxxxx.| yyyy              +|
-|.x              +| yy                +|
-| xxxxxxxxxxxxxxx.|                    |
-|.xxx            +|                    |
-| xxxxxxxxxxxxxxx.|                    |
-|.xxxxx           |                    |
-+-----------------+--------------------+
-(2 rows)
-
-\pset expanded on
-\pset columns 20
-\pset border 0
-\pset format unaligned
-execute q;
-a
-
-b|xx
-a
-b|yyyyyyyyyyyyyyyyyy
-
-a
-
-b|xxxx
-xxxxxx
-xxxxxxxx
-xxxxxxxxxx
-xxxxxxxxxxxx
-xxxxxxxxxxxxxx
-xxxxxxxxxxxxxxxx
-xxxxxxxxxxxxxxxxxx
-xxxxxxxxxxxxxxxxxxxx
-a
-b|yyyyyyyyyyyyyyyy
-yyyyyyyyyyyyyy
-yyyyyyyyyyyy
-yyyyyyyyyy
-yyyyyyyy
-yyyyyy
-yyyy
-yy
-
-\pset format aligned
-execute q;
-* Record 1           
- a+ xx                   
-  +
- b 
- a+ yyyyyyyyyyyyyyyyyy   
- b 
-* Record 2           
- a+ xxxx                +
-  + xxxxxx              +
- b  xxxxxxxx            +
-    xxxxxxxxxx          +
-    xxxxxxxxxxxx        +
-    xxxxxxxxxxxxxx      +
-    xxxxxxxxxxxxxxxx    +
-    xxxxxxxxxxxxxxxxxx  +
-    xxxxxxxxxxxxxxxxxxxx 
- a+ yyyyyyyyyyyyyyyy    +
- b  yyyyyyyyyyyyyy      +
-    yyyyyyyyyyyy        +
-    yyyyyyyyyy          +
-    yyyyyyyy            +
-    yyyyyy              +
-    yyyy                +
-    yy                  +
-                         
-
-\pset format wrapped
-execute q;
-* Record 1         
- a+ xx                 
-  +
- b 
- a+ yyyyyyyyyyyyyyyyyy 
- b 
-* Record 2         
- a+ xxxx              +
-  + xxxxxx            +
- b  xxxxxxxx          +
-    xxxxxxxxxx        +
-    xxxxxxxxxxxx      +
-    xxxxxxxxxxxxxx    +
-    xxxxxxxxxxxxxxxx  +
-    xxxxxxxxxxxxxxxxxx+
-    xxxxxxxxxxxxxxxxxx.
-   .xx                 
- a+ yyyyyyyyyyyyyyyy  +
- b  yyyyyyyyyyyyyy    +
-    yyyyyyyyyyyy      +
-    yyyyyyyyyy        +
-    yyyyyyyy          +
-    yyyyyy            +
-    yyyy              +
-    yy                +
-                       
-
-\pset border 1
-\pset format unaligned
-execute q;
-a
-
-b|xx
-a
-b|yyyyyyyyyyyyyyyyyy
-
-a
-
-b|xxxx
-xxxxxx
-xxxxxxxx
-xxxxxxxxxx
-xxxxxxxxxxxx
-xxxxxxxxxxxxxx
-xxxxxxxxxxxxxxxx
-xxxxxxxxxxxxxxxxxx
-xxxxxxxxxxxxxxxxxxxx
-a
-b|yyyyyyyyyyyyyyyy
-yyyyyyyyyyyyyy
-yyyyyyyyyyyy
-yyyyyyyyyy
-yyyyyyyy
-yyyyyy
-yyyy
-yy
-
-\pset format aligned
-execute q;
--[ RECORD 1 ]-----------
- a+| xx                   
-  +|
- b |
- a+| yyyyyyyyyyyyyyyyyy   
- b |
--[ RECORD 2 ]-----------
- a+| xxxx                +
-  +| xxxxxx              +
- b | xxxxxxxx            +
-   | xxxxxxxxxx          +
-   | xxxxxxxxxxxx        +
-   | xxxxxxxxxxxxxx      +
-   | xxxxxxxxxxxxxxxx    +
-   | xxxxxxxxxxxxxxxxxx  +
-   | xxxxxxxxxxxxxxxxxxxx 
- a+| yyyyyyyyyyyyyyyy    +
- b | yyyyyyyyyyyyyy      +
-   | yyyyyyyyyyyy        +
-   | yyyyyyyyyy          +
-   | yyyyyyyy            +
-   | yyyyyy              +
-   | yyyy                +
-   | yy                  +
-   |                      
-
-\pset format wrapped
-execute q;
--[ RECORD 1 ]-------
- a+| xx               
-  +|
- b |
- a+| yyyyyyyyyyyyyyyy.
- b |.yy               
--[ RECORD 2 ]-------
- a+| xxxx            +
-  +| xxxxxx          +
- b | xxxxxxxx        +
-   | xxxxxxxxxx      +
-   | xxxxxxxxxxxx    +
-   | xxxxxxxxxxxxxx  +
-   | xxxxxxxxxxxxxxxx+
-   | xxxxxxxxxxxxxxxx.
-   |.xx              +
-   | xxxxxxxxxxxxxxxx.
-   |.xxxx             
- a+| yyyyyyyyyyyyyyyy+
- b | yyyyyyyyyyyyyy  +
-   | yyyyyyyyyyyy    +
-   | yyyyyyyyyy      +
-   | yyyyyyyy        +
-   | yyyyyy          +
-   | yyyy            +
-   | yy              +
-   |                  
-
-\pset border 2
-\pset format unaligned
-execute q;
-a
-
-b|xx
-a
-b|yyyyyyyyyyyyyyyyyy
-
-a
-
-b|xxxx
-xxxxxx
-xxxxxxxx
-xxxxxxxxxx
-xxxxxxxxxxxx
-xxxxxxxxxxxxxx
-xxxxxxxxxxxxxxxx
-xxxxxxxxxxxxxxxxxx
-xxxxxxxxxxxxxxxxxxxx
-a
-b|yyyyyyyyyyyyyyyy
-yyyyyyyyyyyyyy
-yyyyyyyyyyyy
-yyyyyyyyyy
-yyyyyyyy
-yyyyyy
-yyyy
-yy
-
-\pset format aligned
-execute q;
-+-[ RECORD 1 ]-------------+
-| a+| xx                   |
-|  +|                      |
-| b |                      |
-| a+| yyyyyyyyyyyyyyyyyy   |
-| b |                      |
-+-[ RECORD 2 ]-------------+
-| a+| xxxx                +|
-|  +| xxxxxx              +|
-| b | xxxxxxxx            +|
-|   | xxxxxxxxxx          +|
-|   | xxxxxxxxxxxx        +|
-|   | xxxxxxxxxxxxxx      +|
-|   | xxxxxxxxxxxxxxxx    +|
-|   | xxxxxxxxxxxxxxxxxx  +|
-|   | xxxxxxxxxxxxxxxxxxxx |
-| a+| yyyyyyyyyyyyyyyy    +|
-| b | yyyyyyyyyyyyyy      +|
-|   | yyyyyyyyyyyy        +|
-|   | yyyyyyyyyy          +|
-|   | yyyyyyyy            +|
-|   | yyyyyy              +|
-|   | yyyy                +|
-|   | yy                  +|
-|   |                      |
-+---+----------------------+
-
-\pset format wrapped
-execute q;
-+-[ RECORD 1 ]-----+
-| a+| xx           |
-|  +|              |
-| b |              |
-| a+| yyyyyyyyyyyy.|
-| b |.yyyyyy       |
-+-[ RECORD 2 ]-----+
-| a+| xxxx        +|
-|  +| xxxxxx      +|
-| b | xxxxxxxx    +|
-|   | xxxxxxxxxx  +|
-|   | xxxxxxxxxxxx+|
-|   | xxxxxxxxxxxx.|
-|   |.xx          +|
-|   | xxxxxxxxxxxx.|
-|   |.xxxx        +|
-|   | xxxxxxxxxxxx.|
-|   |.xxxxxx      +|
-|   | xxxxxxxxxxxx.|
-|   |.xxxxxxxx     |
-| a+| yyyyyyyyyyyy.|
-| b |.yyyy        +|
-|   | yyyyyyyyyyyy.|
-|   |.yy          +|
-|   | yyyyyyyyyyyy+|
-|   | yyyyyyyyyy  +|
-|   | yyyyyyyy    +|
-|   | yyyyyy      +|
-|   | yyyy        +|
-|   | yy          +|
-|   |              |
-+---+--------------+
-
-\pset linestyle old-ascii
-\pset expanded off
-\pset columns 40
-\pset border 0
-\pset format unaligned
-execute q;
-a
-
-b|a
-b
-xx|yyyyyyyyyyyyyyyyyy
-xxxx
-xxxxxx
-xxxxxxxx
-xxxxxxxxxx
-xxxxxxxxxxxx
-xxxxxxxxxxxxxx
-xxxxxxxxxxxxxxxx
-xxxxxxxxxxxxxxxxxx
-xxxxxxxxxxxxxxxxxxxx|yyyyyyyyyyyyyyyy
-yyyyyyyyyyyyyy
-yyyyyyyyyyyy
-yyyyyyyyyy
-yyyyyyyy
-yyyyyy
-yyyy
-yy
-
-(2 rows)
-\pset format aligned
-execute q;
-         a                   a         
-                    +        b         
-         b          +                  
--------------------- ------------------
-xx                   yyyyyyyyyyyyyyyyyy
-xxxx                 yyyyyyyyyyyyyyyy   
-xxxxxx               yyyyyyyyyyyyyy     
-xxxxxxxx             yyyyyyyyyyyy       
-xxxxxxxxxx           yyyyyyyyyy         
-xxxxxxxxxxxx         yyyyyyyy           
-xxxxxxxxxxxxxx       yyyyyy             
-xxxxxxxxxxxxxxxx     yyyy               
-xxxxxxxxxxxxxxxxxx   yy                 
-xxxxxxxxxxxxxxxxxxxx 
-(2 rows)
-
-\pset format wrapped
-execute q;
-         a                   a         
-                    +        b         
-         b          +                  
--------------------- ------------------
-xx                   yyyyyyyyyyyyyyyyyy
-xxxx                 yyyyyyyyyyyyyyyy   
-xxxxxx               yyyyyyyyyyyyyy     
-xxxxxxxx             yyyyyyyyyyyy       
-xxxxxxxxxx           yyyyyyyyyy         
-xxxxxxxxxxxx         yyyyyyyy           
-xxxxxxxxxxxxxx       yyyyyy             
-xxxxxxxxxxxxxxxx     yyyy               
-xxxxxxxxxxxxxxxxxx   yy                 
-xxxxxxxxxxxxxxxxxxxx 
-(2 rows)
-
-\pset border 1
-\pset format unaligned
-execute q;
-a
-
-b|a
-b
-xx|yyyyyyyyyyyyyyyyyy
-xxxx
-xxxxxx
-xxxxxxxx
-xxxxxxxxxx
-xxxxxxxxxxxx
-xxxxxxxxxxxxxx
-xxxxxxxxxxxxxxxx
-xxxxxxxxxxxxxxxxxx
-xxxxxxxxxxxxxxxxxxxx|yyyyyyyyyyyyyyyy
-yyyyyyyyyyyyyy
-yyyyyyyyyyyy
-yyyyyyyyyy
-yyyyyyyy
-yyyyyy
-yyyy
-yy
-
-(2 rows)
-\pset format aligned
-execute q;
-          a           |         a          
-+                     |+        b          
-+         b           |+                   
-----------------------+--------------------
- xx                   | yyyyyyyyyyyyyyyyyy
- xxxx                 | yyyyyyyyyyyyyyyy   
- xxxxxx               : yyyyyyyyyyyyyy     
- xxxxxxxx             : yyyyyyyyyyyy       
- xxxxxxxxxx           : yyyyyyyyyy         
- xxxxxxxxxxxx         : yyyyyyyy           
- xxxxxxxxxxxxxx       : yyyyyy             
- xxxxxxxxxxxxxxxx     : yyyy               
- xxxxxxxxxxxxxxxxxx   : yy                 
- xxxxxxxxxxxxxxxxxxxx : 
-(2 rows)
-
-\pset format wrapped
-execute q;
-         a         |         a          
-+                  |+        b          
-+        b         |+                   
--------------------+--------------------
- xx                | yyyyyyyyyyyyyyyyyy
- xxxx              | yyyyyyyyyyyyyyyy   
- xxxxxx            : yyyyyyyyyyyyyy     
- xxxxxxxx          : yyyyyyyyyyyy       
- xxxxxxxxxx        : yyyyyyyyyy         
- xxxxxxxxxxxx      : yyyyyyyy           
- xxxxxxxxxxxxxx    : yyyyyy             
- xxxxxxxxxxxxxxxx  : yyyy               
- xxxxxxxxxxxxxxxxx : yy                 
- x                 : 
- xxxxxxxxxxxxxxxxx   
- xxx                 
-(2 rows)
-
-\pset border 2
-\pset format unaligned
-execute q;
-a
-
-b|a
-b
-xx|yyyyyyyyyyyyyyyyyy
-xxxx
-xxxxxx
-xxxxxxxx
-xxxxxxxxxx
-xxxxxxxxxxxx
-xxxxxxxxxxxxxx
-xxxxxxxxxxxxxxxx
-xxxxxxxxxxxxxxxxxx
-xxxxxxxxxxxxxxxxxxxx|yyyyyyyyyyyyyyyy
-yyyyyyyyyyyyyy
-yyyyyyyyyyyy
-yyyyyyyyyy
-yyyyyyyy
-yyyyyy
-yyyy
-yy
-
-(2 rows)
-\pset format aligned
-execute q;
-+----------------------+--------------------+
-|          a           |         a          |
-|+                     |+        b          |
-|+         b           |+                   |
-+----------------------+--------------------+
-| xx                   | yyyyyyyyyyyyyyyyyy |
-| xxxx                 | yyyyyyyyyyyyyyyy   |
-| xxxxxx               : yyyyyyyyyyyyyy     |
-| xxxxxxxx             : yyyyyyyyyyyy       |
-| xxxxxxxxxx           : yyyyyyyyyy         |
-| xxxxxxxxxxxx         : yyyyyyyy           |
-| xxxxxxxxxxxxxx       : yyyyyy             |
-| xxxxxxxxxxxxxxxx     : yyyy               |
-| xxxxxxxxxxxxxxxxxx   : yy                 |
-| xxxxxxxxxxxxxxxxxxxx :                    |
-+----------------------+--------------------+
-(2 rows)
-
-\pset format wrapped
-execute q;
-+-----------------+--------------------+
-|        a        |         a          |
-|+                |+        b          |
-|+       b        |+                   |
-+-----------------+--------------------+
-| xx              | yyyyyyyyyyyyyyyyyy |
-| xxxx            | yyyyyyyyyyyyyyyy   |
-| xxxxxx          : yyyyyyyyyyyyyy     |
-| xxxxxxxx        : yyyyyyyyyyyy       |
-| xxxxxxxxxx      : yyyyyyyyyy         |
-| xxxxxxxxxxxx    : yyyyyyyy           |
-| xxxxxxxxxxxxxx  : yyyyyy             |
-| xxxxxxxxxxxxxxx : yyyy               |
-| x               : yy                 |
-| xxxxxxxxxxxxxxx :                    |
-| xxx                                  |
-| xxxxxxxxxxxxxxx                      |
-| xxxxx                                |
-+-----------------+--------------------+
-(2 rows)
-
-\pset expanded on
-\pset columns 20
-\pset border 0
-\pset format unaligned
-execute q;
-a
-
-b|xx
-a
-b|yyyyyyyyyyyyyyyyyy
-
-a
-
-b|xxxx
-xxxxxx
-xxxxxxxx
-xxxxxxxxxx
-xxxxxxxxxxxx
-xxxxxxxxxxxxxx
-xxxxxxxxxxxxxxxx
-xxxxxxxxxxxxxxxxxx
-xxxxxxxxxxxxxxxxxxxx
-a
-b|yyyyyyyyyyyyyyyy
-yyyyyyyyyyyyyy
-yyyyyyyyyyyy
-yyyyyyyyyy
-yyyyyyyy
-yyyyyy
-yyyy
-yy
-
-\pset format aligned
-execute q;
-* Record 1           
- a  xx                   
-+  
-+b 
- a  yyyyyyyyyyyyyyyyyy   
-+b 
-* Record 2           
- a  xxxx                 
-+   xxxxxx               
-+b  xxxxxxxx             
-    xxxxxxxxxx           
-    xxxxxxxxxxxx         
-    xxxxxxxxxxxxxx       
-    xxxxxxxxxxxxxxxx     
-    xxxxxxxxxxxxxxxxxx   
-    xxxxxxxxxxxxxxxxxxxx 
- a  yyyyyyyyyyyyyyyy     
-+b  yyyyyyyyyyyyyy       
-    yyyyyyyyyyyy         
-    yyyyyyyyyy           
-    yyyyyyyy             
-    yyyyyy               
-    yyyy                 
-    yy                   
-                         
-
-\pset format wrapped
-execute q;
-* Record 1         
- a  xx                 
-+  
-+b 
- a  yyyyyyyyyyyyyyyyyy 
-+b 
-* Record 2         
- a  xxxx               
-+   xxxxxx             
-+b  xxxxxxxx           
-    xxxxxxxxxx         
-    xxxxxxxxxxxx       
-    xxxxxxxxxxxxxx     
-    xxxxxxxxxxxxxxxx   
-    xxxxxxxxxxxxxxxxxx 
-    xxxxxxxxxxxxxxxxxx 
-    xx                 
- a  yyyyyyyyyyyyyyyy   
-+b  yyyyyyyyyyyyyy     
-    yyyyyyyyyyyy       
-    yyyyyyyyyy         
-    yyyyyyyy           
-    yyyyyy             
-    yyyy               
-    yy                 
-                       
-
-\pset border 1
-\pset format unaligned
-execute q;
-a
-
-b|xx
-a
-b|yyyyyyyyyyyyyyyyyy
-
-a
-
-b|xxxx
-xxxxxx
-xxxxxxxx
-xxxxxxxxxx
-xxxxxxxxxxxx
-xxxxxxxxxxxxxx
-xxxxxxxxxxxxxxxx
-xxxxxxxxxxxxxxxxxx
-xxxxxxxxxxxxxxxxxxxx
-a
-b|yyyyyyyyyyyyyyyy
-yyyyyyyyyyyyyy
-yyyyyyyyyyyy
-yyyyyyyyyy
-yyyyyyyy
-yyyyyy
-yyyy
-yy
-
-\pset format aligned
-execute q;
--[ RECORD 1 ]-----------
- a | xx                   
-+  ;
-+b ;
- a | yyyyyyyyyyyyyyyyyy   
-+b ;
--[ RECORD 2 ]-----------
- a | xxxx                 
-+  : xxxxxx               
-+b : xxxxxxxx             
-   : xxxxxxxxxx           
-   : xxxxxxxxxxxx         
-   : xxxxxxxxxxxxxx       
-   : xxxxxxxxxxxxxxxx     
-   : xxxxxxxxxxxxxxxxxx   
-   : xxxxxxxxxxxxxxxxxxxx 
- a | yyyyyyyyyyyyyyyy     
-+b : yyyyyyyyyyyyyy       
-   : yyyyyyyyyyyy         
-   : yyyyyyyyyy           
-   : yyyyyyyy             
-   : yyyyyy               
-   : yyyy                 
-   : yy                   
-   :                      
-
-\pset format wrapped
-execute q;
--[ RECORD 1 ]-------
- a | xx               
-+  ;
-+b ;
- a | yyyyyyyyyyyyyyyy 
-+b ; yy               
--[ RECORD 2 ]-------
- a | xxxx             
-+  : xxxxxx           
-+b : xxxxxxxx         
-   : xxxxxxxxxx       
-   : xxxxxxxxxxxx     
-   : xxxxxxxxxxxxxx   
-   : xxxxxxxxxxxxxxxx 
-   : xxxxxxxxxxxxxxxx 
-   ; xx               
-   : xxxxxxxxxxxxxxxx 
-   ; xxxx             
- a | yyyyyyyyyyyyyyyy 
-+b : yyyyyyyyyyyyyy   
-   : yyyyyyyyyyyy     
-   : yyyyyyyyyy       
-   : yyyyyyyy         
-   : yyyyyy           
-   : yyyy             
-   : yy               
-   :                  
-
-\pset border 2
-\pset format unaligned
-execute q;
-a
-
-b|xx
-a
-b|yyyyyyyyyyyyyyyyyy
-
-a
-
-b|xxxx
-xxxxxx
-xxxxxxxx
-xxxxxxxxxx
-xxxxxxxxxxxx
-xxxxxxxxxxxxxx
-xxxxxxxxxxxxxxxx
-xxxxxxxxxxxxxxxxxx
-xxxxxxxxxxxxxxxxxxxx
-a
-b|yyyyyyyyyyyyyyyy
-yyyyyyyyyyyyyy
-yyyyyyyyyyyy
-yyyyyyyyyy
-yyyyyyyy
-yyyyyy
-yyyy
-yy
-
-\pset format aligned
-execute q;
-+-[ RECORD 1 ]-------------+
-| a | xx                   |
-|+  ;                      |
-|+b ;                      |
-| a | yyyyyyyyyyyyyyyyyy   |
-|+b ;                      |
-+-[ RECORD 2 ]-------------+
-| a | xxxx                 |
-|+  : xxxxxx               |
-|+b : xxxxxxxx             |
-|   : xxxxxxxxxx           |
-|   : xxxxxxxxxxxx         |
-|   : xxxxxxxxxxxxxx       |
-|   : xxxxxxxxxxxxxxxx     |
-|   : xxxxxxxxxxxxxxxxxx   |
-|   : xxxxxxxxxxxxxxxxxxxx |
-| a | yyyyyyyyyyyyyyyy     |
-|+b : yyyyyyyyyyyyyy       |
-|   : yyyyyyyyyyyy         |
-|   : yyyyyyyyyy           |
-|   : yyyyyyyy             |
-|   : yyyyyy               |
-|   : yyyy                 |
-|   : yy                   |
-|   :                      |
-+---+----------------------+
-
-\pset format wrapped
-execute q;
-+-[ RECORD 1 ]-----+
-| a | xx           |
-|+  ;              |
-|+b ;              |
-| a | yyyyyyyyyyyy |
-|+b ; yyyyyy       |
-+-[ RECORD 2 ]-----+
-| a | xxxx         |
-|+  : xxxxxx       |
-|+b : xxxxxxxx     |
-|   : xxxxxxxxxx   |
-|   : xxxxxxxxxxxx |
-|   : xxxxxxxxxxxx |
-|   ; xx           |
-|   : xxxxxxxxxxxx |
-|   ; xxxx         |
-|   : xxxxxxxxxxxx |
-|   ; xxxxxx       |
-|   : xxxxxxxxxxxx |
-|   ; xxxxxxxx     |
-| a | yyyyyyyyyyyy |
-|+b ; yyyy         |
-|   : yyyyyyyyyyyy |
-|   ; yy           |
-|   : yyyyyyyyyyyy |
-|   : yyyyyyyyyy   |
-|   : yyyyyyyy     |
-|   : yyyyyy       |
-|   : yyyy         |
-|   : yy           |
-|   :              |
-+---+--------------+
-
-deallocate q;
index a7d5eeb587a8ad9bff87240cb8271fbff01731c3..99ad5b4a70b97398de8eabfd86524793c433992b 100644 (file)
@@ -40,123 +40,3 @@ select 10 as test01, 20 as test02 from generate_series(1,0) \gset
 
 -- show all pset options
 \pset
-
--- test multi-line headers, wrapping, and newline indicators
-prepare q as select array_to_string(array_agg(repeat('x',2*n)),E'\n') as "a
-
-b", array_to_string(array_agg(repeat('y',20-2*n)),E'\n') as "a
-b" from generate_series(1,10) as n(n) group by n>1 ;
-
-\pset linestyle ascii
-
-\pset expanded off
-\pset columns 40
-
-\pset border 0
-\pset format unaligned
-execute q;
-\pset format aligned
-execute q;
-\pset format wrapped
-execute q;
-
-\pset border 1
-\pset format unaligned
-execute q;
-\pset format aligned
-execute q;
-\pset format wrapped
-execute q;
-
-\pset border 2
-\pset format unaligned
-execute q;
-\pset format aligned
-execute q;
-\pset format wrapped
-execute q;
-
-\pset expanded on
-\pset columns 20
-
-\pset border 0
-\pset format unaligned
-execute q;
-\pset format aligned
-execute q;
-\pset format wrapped
-execute q;
-
-\pset border 1
-\pset format unaligned
-execute q;
-\pset format aligned
-execute q;
-\pset format wrapped
-execute q;
-
-\pset border 2
-\pset format unaligned
-execute q;
-\pset format aligned
-execute q;
-\pset format wrapped
-execute q;
-
-\pset linestyle old-ascii
-
-\pset expanded off
-\pset columns 40
-
-\pset border 0
-\pset format unaligned
-execute q;
-\pset format aligned
-execute q;
-\pset format wrapped
-execute q;
-
-\pset border 1
-\pset format unaligned
-execute q;
-\pset format aligned
-execute q;
-\pset format wrapped
-execute q;
-
-\pset border 2
-\pset format unaligned
-execute q;
-\pset format aligned
-execute q;
-\pset format wrapped
-execute q;
-
-\pset expanded on
-\pset columns 20
-
-\pset border 0
-\pset format unaligned
-execute q;
-\pset format aligned
-execute q;
-\pset format wrapped
-execute q;
-
-\pset border 1
-\pset format unaligned
-execute q;
-\pset format aligned
-execute q;
-\pset format wrapped
-execute q;
-
-\pset border 2
-\pset format unaligned
-execute q;
-\pset format aligned
-execute q;
-\pset format wrapped
-execute q;
-
-deallocate q;