Re: BUG: IS NOT NULL on RECORD variable fails in 17.5-dev

Peter Praxmarer <ppraxmarer@gmail.com>

From: Peter Praxmarer <ppraxmarer@gmail.com>
To: "David G. Johnston" <david.g.johnston@gmail.com>
Cc: pgsql-bugs@lists.postgresql.org
Date: 2025-08-07T20:15:06Z
Lists: pgsql-bugs
Thank you!

The behavior I was looking for is:

r IS DISTINCT FROM NULL

Best,
Peter P.


Am Do., 7. Aug. 2025 um 12:54 Uhr schrieb David G. Johnston <
david.g.johnston@gmail.com>:

> On Thu, Aug 7, 2025 at 12:44 PM Peter Praxmarer <ppraxmarer@gmail.com>
> wrote:
>
>>
>> I have discovered what appears to be a severe bug in a development
>> version of PostgreSQL 17 where a populated RECORD variable incorrectly
>> fails an IS NOT NULL check.
>>
>>
> Working as documented.  You probably want to test:  NOT (r IS NULL)
>
> https://www.postgresql.org/docs/current/functions-comparison.html
>
> If the expression is row-valued, then IS NULL is true when the row
> expression itself is null or when all the row's fields are null, while IS
> NOT NULL is true when the row expression itself is non-null and all the
> row's fields are non-null.
>
> David J.
>
>