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

From: Peter Praxmarer <ppraxmarer(at)gmail(dot)com>
To: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
Cc: pgsql-bugs(at)lists(dot)postgresql(dot)org
Subject: Re: BUG: IS NOT NULL on RECORD variable fails in 17.5-dev
Date: 2025-08-07 20:15:06
Message-ID: CABBx1iE1fW3bEGzpxoZObYZqbzvvqS9Fg-Z6S2YAxj0iW6tuow@mail.gmail.com
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
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(dot)g(dot)johnston(at)gmail(dot)com>:

> On Thu, Aug 7, 2025 at 12:44 PM Peter Praxmarer <ppraxmarer(at)gmail(dot)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.
>
>

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Tom Lane 2025-08-07 21:33:34 Re: BUG #19014: Automatic aggressive VACUUM on template0 and template1 pg_shdepend runs every minute
Previous Message PG Bug reporting form 2025-08-07 19:56:35 BUG #19015: insert-returning failure: stable function in select policy doesn't see before-insert trigger change