Re: BUG #19003: A SELECT that does not return a valid table
Vik Fearing <vik@postgresfriends.org>
From: Vik Fearing <vik@postgresfriends.org>
To: Tom Lane <tgl@sss.pgh.pa.us>, alexandrebailly1955@gmail.com
Cc: pgsql-bugs@lists.postgresql.org
Date: 2025-07-31T09:17:14Z
Lists: pgsql-bugs
On 30/07/2025 23:34, Tom Lane wrote: > PG Bug reporting form<noreply@postgresql.org> writes: >> SELECT 'John' AS nom,'James' AS nom >> returns a table with attributes nom and nom that I can see in the output. >> Returning a table that contains twice the same column should not be >> permitted. > There is pretty much zero chance that we will enforce that > restriction. It would break too much application code. > Also, it looks to me like there is no such requirement in > the SQL standard. Indeed. In SQL:2023-1 (available free of charge at [1]) says in Subclause 4.6, "Tables": "An operation that references zero or more base tables and returns a table is called a *query*. The result of a query is called a *derived table*." and "Derived tables, other than viewed tables, may contain more than one column with the same name." So, not only is this not a bug we should fix, it is explicitly allowed by the standard. [1] https://www.iso.org/standard/76583.html -- Vik Fearing