Fix core dump in transformValuesClause when there are no columns.
authorTom Lane <tgl@sss.pgh.pa.us>
Mon, 9 May 2022 18:15:37 +0000 (14:15 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Mon, 9 May 2022 18:15:37 +0000 (14:15 -0400)
commitfe20afaee8aac7838ed6e4a76baa83e547629582
tree4317539d93de3fc37ef65fcd3898f2b176130369
parent29904f5f2fdafbbb96ef3685fd361053b061aeb1
Fix core dump in transformValuesClause when there are no columns.

The parser code that transformed VALUES from row-oriented to
column-oriented lists failed if there were zero columns.
You can't write that straightforwardly (though probably you
should be able to), but the case can be reached by expanding
a "tab.*" reference to a zero-column table.

Per bug #17477 from Wang Ke.  Back-patch to all supported branches.

Discussion: https://postgr.es/m/17477-0af3c6ac6b0a6ae0@postgresql.org
src/backend/parser/analyze.c
src/test/regress/expected/select.out
src/test/regress/sql/select.sql