BUG #17408: Duplicate aliases silently fail
The following bug has been logged on the website:
Bug reference: 17408
Logged by: Kevin Potgieter
Email address: porturpotgieter@gmail.com
PostgreSQL version: 13.6
Operating system: Not related
Description:
Hi,
Assigning aliases to columns works perfectly.
eg. "SELECT name AS customer_name FROM customers"
However you are able to assign duplicate aliases which does not cause a
conflict
eg. "SELECT name AS customer_name, surname AS customer_name FROM
customers"
The expectation here is that duplicate aliases would cause the query to fail
due to duplicate column names in the result, however there is no error or
warning.
Regards
Kevin
On Wed, Feb 16, 2022 at 10:46 AM PG Bug reporting form
<noreply@postgresql.org> wrote:
The following bug has been logged on the website:
Bug reference: 17408
Logged by: Kevin Potgieter
Email address: porturpotgieter@gmail.com
PostgreSQL version: 13.6
Operating system: Not related
Description:Hi,
Assigning aliases to columns works perfectly.
eg. "SELECT name AS customer_name FROM customers"
However you are able to assign duplicate aliases which does not cause a
conflicteg. "SELECT name AS customer_name, surname AS customer_name FROM
customers"The expectation here is that duplicate aliases would cause the query to fail
due to duplicate column names in the result, however there is no error or
warning.
This may look weird but the SQL standard allows it. Postgres is only
following what the standard dictates.
Best regards,
Pantelis Theodosiou
Show quoted text
Regards
Kevin
Is it perhaps and option that postgres could warn you in the same way it
warns you when you do an update without a where clause?
On Wed, 16 Feb 2022, 2:02 pm Pantelis Theodosiou, <ypercube@gmail.com>
wrote:
Show quoted text
On Wed, Feb 16, 2022 at 10:46 AM PG Bug reporting form
<noreply@postgresql.org> wrote:The following bug has been logged on the website:
Bug reference: 17408
Logged by: Kevin Potgieter
Email address: porturpotgieter@gmail.com
PostgreSQL version: 13.6
Operating system: Not related
Description:Hi,
Assigning aliases to columns works perfectly.
eg. "SELECT name AS customer_name FROM customers"
However you are able to assign duplicate aliases which does not cause a
conflicteg. "SELECT name AS customer_name, surname AS customer_name FROM
customers"The expectation here is that duplicate aliases would cause the query to
fail
due to duplicate column names in the result, however there is no error or
warning.This may look weird but the SQL standard allows it. Postgres is only
following what the standard dictates.Best regards,
Pantelis TheodosiouRegards
Kevin
On Wed, Feb 16, 2022 at 5:46 PM PG Bug reporting form
<noreply@postgresql.org> wrote:
Assigning aliases to columns works perfectly.
eg. "SELECT name AS customer_name FROM customers"
However you are able to assign duplicate aliases which does not cause a
conflicteg. "SELECT name AS customer_name, surname AS customer_name FROM
customers"The expectation here is that duplicate aliases would cause the query to fail
due to duplicate column names in the result, however there is no error or
warning.
FWIW, if the aliases are referenced higher up in a query, it does
result in error:
WITH dupe_cols AS (SELECT name AS customer_name, surname AS customer_name FROM
customers) SELECT customer_name FROM dupe_cols;
ERROR: column reference "customer_name" is ambiguous
LINE 2: customers) select customer_name from dupe_cols;
--
John Naylor
EDB: http://www.enterprisedb.com
On Wednesday, February 16, 2022, Kevin Potgieter <porturpotgieter@gmail.com>
wrote:
Is it perhaps and option that postgres could warn you in the same way it
warns you when you do an update without a where clause?
We do?
Even if that is true I don’t see the point forma select query.
David J.