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

David G. Johnston <david.g.johnston@gmail.com>

From: "David G. Johnston" <david.g.johnston@gmail.com>
To: Peter Praxmarer <ppraxmarer@gmail.com>
Cc: pgsql-bugs@lists.postgresql.org
Date: 2025-08-07T19:54:07Z
Lists: pgsql-bugs
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.