Re: SELECT INTO without columns or star - Mailing list pgsql-hackers

From Kirk Wolak
Subject Re: SELECT INTO without columns or star
Date
Msg-id CACLU5mTirOfp=_GZQtFsZyabzbbkRvcAakvueUe8OHU42rH5Bg@mail.gmail.com
Whole thread Raw
In response to Re: SELECT INTO without columns or star  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
On Fri, Mar 31, 2023 at 11:26 AM Tom Lane <tgl@sss.pgh.pa.us> wrote:
"David G. Johnston" <david.g.johnston@gmail.com> writes:
> On Fri, Mar 31, 2023 at 8:10 AM Zhang Mingli <zmlpostgres@gmail.com> wrote:
>> When I exec a sql SELECT INTO without columns or * by mistake, it succeeds:

> Yes, a table may have zero columns by design.

Yup, we've allowed that for some time now; see the compatibility comments
at the bottom of the SELECT man page.

psql's display of zero-column results is a bit weird, which maybe
somebody should fix sometime:

regression=# select from generate_series(1,4);
--
(4 rows)

I'd expect four blank lines there.  Expanded format is even less sane:

regression=# \x
Expanded display is on.
regression=# select from generate_series(1,4);
(4 rows)

ISTM that should produce

[ RECORD 1 ]
[ RECORD 2 ]
[ RECORD 3 ]
[ RECORD 4 ]

and no "(4 rows)" footer, because \x mode doesn't normally print that.

This is all just cosmetic of course, but it's still confusing.

                        regards, tom lane

Tom,
  I wouldn't mind working on a patch to fix this... (Especially if it helps the %T get into PSQL<grin>).
I find this output confusing as well.

  Should I start a new email thread: Proposal: Fix psql output when selecting no columns
And get the discussion moving.  I'd like to get a clear answer on what to output.   But I have
become more comfortable with PSQL due to messing with readline for windows, and 2-3 other patches
I've been working on.

Thanks, Kirk
 

pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: SQL/JSON revisited
Next
From: Dmitry Dolgov
Date:
Subject: Re: [RFC] Add jit deform_counter