On 5/27/20 10:00 AM, PG Bug reporting form wrote:
> 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.
I concur.
The second one appears to be wrong; it should also return NULL.
--
Vik Fearing