On Mon, Nov 30, 2015 at 2:59 PM, Tom Lane <t...@sss.pgh.pa.us> wrote:
> Jeff Janes <jeff.ja...@gmail.com> writes:
>> On Fri, Oct 23, 2015 at 5:11 PM, Jeff Janes <jeff.ja...@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

The wrapping behavior looks good now, and the code is much more understandable.

Thanks,

Jeff


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to