Skip site navigation (1) Skip section navigation (2)

Re: Proposed patch - psql wraps at window width

From: Bryce Nesbitt <bryce2(at)obviously(dot)com>
To: pgsql-patches(at)postgresql(dot)org
Cc: Bryce Nesbitt <bryce2(at)obviously(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Subject: Re: Proposed patch - psql wraps at window width
Date: 2008-04-18 14:42:13
Message-ID: 4808B345.6040807@obviously.com (view raw or flat)
Thread:
Lists: pgsql-hackerspgsql-patches
Peter Eisentraut wrote:
> Bruce Momjian wrote:
>   
>> I checked the use of COLUMNS and it seems bash updates the environment
>> variable when a window is resized.  I added ioctl(TIOCGWINSZ) if COLUMNS
>> isn't set.  We already had a call in print.c for detecting the
>> number of rows on the screen to determine if the pager should
>> be used.  Seems COLUMNS should take precedence over ioctl(), right?    
>
> Considering that the code to determine the row count is undisputed so far, the 
> column count detection should work the same.  That is, we might not need to 
> look at COLUMNS at all.  Unless there is a use case for overriding the column 
> count (instead of just turning off the wrapping).
>   
I asked the folks over at "Experts Exchange" to test the behavior of the 
ioctl and $COLUMNS on various platforms.  I'd been told that I would 
face huge problems if a console was resized.  But the results were 
pretty consistent, and $COLUMNS had no problems with resize:  
http://www.experts-exchange.com/Programming/Open_Source/Q_23243646.html

But appears impossible to override $COLUMNS, on some platforms as the 
readline call sets it.
On many platforms $COLUMNS is null until the call to readline.
OSX does not set $COLUMNS at all.

So I think the ioctl should be used to determine the wrap width for 
terminals, and some other mechanism used for pipes.

There's no way I'd want wrapping as the default for pipe output.  I was 
not bold enough to propose that wrapping be the default behavior for the 
terminal.

                         -Bryce


In response to

Responses

pgsql-hackers by date

Next:From: Alvaro HerreraDate: 2008-04-18 15:27:11
Subject: Re: Coding standards
Previous:From: Gregory StarkDate: 2008-04-18 10:01:22
Subject: Re: Proposed patch - psql wraps at window width

pgsql-patches by date

Next:From: Alvaro HerreraDate: 2008-04-18 15:27:11
Subject: Re: Coding standards
Previous:From: Gregory StarkDate: 2008-04-18 10:01:22
Subject: Re: Proposed patch - psql wraps at window width

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group