Intersection or zero-column queries

Victor Yegorov <vyegorov@gmail.com>

From: Victor Yegorov <vyegorov@gmail.com>
To: pgsql-general@postgresql.org
Date: 2017-12-21T23:53:35Z
Lists: pgsql-general
Greetings.

One can issue an empty `SELECT` statement and 1 row without columns will be
returned:

    postgres=# select;
    --
    (1 row)

However, if I'll do `EXCPET` or `INTERSECT` of such queries, I'll get 2
rows:

    postgres=# select except select;
    --
    (2 rows)
    postgres=# select intersect all select;
    --
    (2 rows)

Why is it so?
Should this be reported as a bug?.. ;)


-- 
Victor Yegorov

Commits

  1. Disallow UNION/INTERSECT/EXCEPT over no columns.

  2. Fix UNION/INTERSECT/EXCEPT over no columns.