Thread: Re: [COMMITTERS] pgsql: psql: show proper row count in \x mode for zero-column output

On 3/24/15 9:04 PM, Bruce Momjian wrote:
> psql:  show proper row count in \x mode for zero-column output
> 
> Also, fix pager enable selection for such cases, and other cleanups for
> zero-column output.
> 
> Report by Thom Brown
> 
> Branch
> ------
> master
> 
> Details
> -------
> http://git.postgresql.org/pg/commitdiff/376a0c4547fe98c45476647596ce9c9b394f8415

This change added an extra blank line to the output of a zero-row result.

Compare:

[9.4]
$ psql -X -d postgres -c 'select * from pg_class where false' -x
(No rows)
$

[9.5]
$ psql -X -d postgres -c 'select * from pg_class where false' -x
(0 rows)

$


Was that intentional?




On 6/25/15 9:42 AM, Peter Eisentraut wrote:
> On 3/24/15 9:04 PM, Bruce Momjian wrote:
>> psql:  show proper row count in \x mode for zero-column output
>>
>> Also, fix pager enable selection for such cases, and other cleanups for
>> zero-column output.
>>
>> Report by Thom Brown
>>
>> Branch
>> ------
>> master
>>
>> Details
>> -------
>> http://git.postgresql.org/pg/commitdiff/376a0c4547fe98c45476647596ce9c9b394f8415
>
> This change added an extra blank line to the output of a zero-row result.
>
> Compare:
>
> [9.4]
> $ psql -X -d postgres -c 'select * from pg_class where false' -x
> (No rows)
> $
>
> [9.5]
> $ psql -X -d postgres -c 'select * from pg_class where false' -x
> (0 rows)
>
> $
>
>
> Was that intentional?

That's consistent with what > 0 rows does, so it seems the correct thing 
to do. Going from "(No rows)" to "(0 rows)" is going to break things 
anyway, so I don't see a backwards compatibility issue here.
-- 
Jim Nasby, Data Architect, Blue Treble Consulting, Austin TX
Data in Trouble? Get it in Treble! http://BlueTreble.com



On Thu, Jun 25, 2015 at 10:42:54AM -0400, Peter Eisentraut wrote:
> On 3/24/15 9:04 PM, Bruce Momjian wrote:
> > psql:  show proper row count in \x mode for zero-column output
> > 
> > Also, fix pager enable selection for such cases, and other cleanups for
> > zero-column output.
> > 
> > Report by Thom Brown
> > 
> > Branch
> > ------
> > master
> > 
> > Details
> > -------
> > http://git.postgresql.org/pg/commitdiff/376a0c4547fe98c45476647596ce9c9b394f8415
> 
> This change added an extra blank line to the output of a zero-row result.
> 
> Compare:
> 
> [9.4]
> $ psql -X -d postgres -c 'select * from pg_class where false' -x
> (No rows)
> $
> 
> [9.5]
> $ psql -X -d postgres -c 'select * from pg_class where false' -x
> (0 rows)
> 
> $
> 
> 
> Was that intentional?

I think so. ;-)  We get a blank line for output of rows in -x:
$ psql -X -d postgres -c 'select * from pg_class where 1=1' -x...relispopulated | trelreplident   | nrelfrozenxid   |
0relminmxid    | 0relacl         | {postgres=arwdDxt/postgres,=r/postgres}reloptions     |
 
-->    $

and for no rows without -x:
$ psql -X -d postgres -c 'select * from pg_class where 1=0' relname | relnamespace | reltype | reloftype | relowner |
relam| relfilenode | ...---------+--------------+---------+-----------+----------+-------+-------------+-...(0 rows)
 
-->    $

and when we return rows without -x:
$ psql -X -d postgres -c 'select * from pg_class where 1=1'...s,=r/postgres}  | user_mappings
|       12086 |   12359 |         0 |  ...(311 rows)
 
-->    $

--  Bruce Momjian  <bruce@momjian.us>        http://momjian.us EnterpriseDB
http://enterprisedb.com
 + Everyone has their own god. +