Re: 9.5Beta1 psql wrapped format expanded output - Mailing list pgsql-hackers

From Tom Lane
Subject Re: 9.5Beta1 psql wrapped format expanded output
Date
Msg-id 26599.1448924387@sss.pgh.pa.us
Whole thread Raw
In response to Re: 9.5Beta1 psql wrapped format expanded output  (Jeff Janes <jeff.janes@gmail.com>)
Responses Re: 9.5Beta1 psql wrapped format expanded output  (Jeff Janes <jeff.janes@gmail.com>)
List pgsql-hackers
Jeff Janes <jeff.janes@gmail.com> writes:
> On Fri, Oct 23, 2015 at 5:11 PM, Jeff Janes <jeff.janes@gmail.com> wrote:
>> Why swidth for border 2 is three greater than it is with border 1, I
>> don't really know.

> Now I see why.  Border 2 doesn't just add a '|' on either end of the line,
> but also adds a space to the left end, so that the "column" name is not
> hard up against the preceding '|'

I looked this over and concluded that the real problem was that the logic
that added space for newline/wrap marker columns was many bricks shy of a
load.  For example it had
       if ((opt_border < 2) &&           ((hmultiline &&             (format == &pg_asciiformat_old)) ||
(dmultiline&&             (format != &pg_asciiformat_old))))           iwidth++;            /* for newline indicators
*/

which aside from being nearly unreadable conflated the header wrap column
with the data wrap column; and even if those had identical conditions for
being added, which they don't, you'd need to count two more columns here
not just one.

I rewrote it to correspond more accurately to what the printing logic
actually does, and pushed it as 0e0776bc9.  Let me know if you still see
any problems here.
        regards, tom lane



pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: Remaining 9.5 open items
Next
From: Simon Riggs
Date:
Subject: Re: On-demand running query plans using auto_explain and signals