BUG #16465: Inconsistent results from comparison of row value expressions - Mailing list pgsql-bugs

From PG Bug reporting form
Subject BUG #16465: Inconsistent results from comparison of row value expressions
Date
Msg-id 16465-0ec89f0382fd00db@postgresql.org
Whole thread Raw
Responses Re: BUG #16465: Inconsistent results from comparison of row valueexpressions  (Vik Fearing <vik@postgresfriends.org>)
Re: BUG #16465: Inconsistent results from comparison of row value expressions  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
The following bug has been logged on the website:

Bug reference:      16465
Logged by:          Lukas Eder
Email address:      lukas.eder@gmail.com
PostgreSQL version: 12.2
Operating system:   Debian 12.2-2.pgdg100+1 (Docker)
Description:

Consider this query:

---------------------------------------------------
SELECT (1, NULL::INT) = (1, NULL::INT), A = B
FROM (SELECT (1, NULL::INT) A, (1, NULL::INT) B) T;
---------------------------------------------------

The result is:

?column?|?column?|
--------|--------|
        |true    |

It seems the comparison of row value expressions with respect to NULLs is
inconsistent depending on whether the expressions are compared directly
(first column), or indirectly from derived tables (second column). My
reading of the SQL standard is that the second one is incorrect.


pgsql-bugs by date:

Previous
From: Michael Paquier
Date:
Subject: Re: Re[2]:
Next
From: Daniel Gustafsson
Date:
Subject: Re: error