AW: XML column causes record to be both NULL and NOT NULL

From: Wilm Hoyer <W(dot)Hoyer(at)dental-vision(dot)de>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: "pgsql-bugs(at)lists(dot)postgresql(dot)org" <pgsql-bugs(at)lists(dot)postgresql(dot)org>
Subject: AW: XML column causes record to be both NULL and NOT NULL
Date: 2023-07-05 06:43:57
Message-ID: 462567f501af4621964bccacaf824590@dental-vision.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs


> Well, it is strange, but it's acting per SQL spec.
> As stated at [1]:

>> 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. Because of this behavior, IS NULL and
>> IS NOT NULL do not always return inverse results for row-valued
>> expressions; in particular, a row-valued expression that contains both
>> null and non-null fields will return false for both tests.

> The fact that the added column is of XML type isn't relevant here; what's relevant is that it has a null value.

> regards, tom lane

> [1] https://www.postgresql.org/docs/current/functions-comparison.html

Thanks for the Explanation. The solution is clear then - just test part of the record or "flatten" the record with a cast to text.

Best regards,
Wilm.

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message PG Bug reporting form 2023-07-05 08:54:32 BUG #18015: missing dependency packages for postgis extension
Previous Message Thomas Munro 2023-07-05 03:35:28 Re: BUG #18009: Postgres Recovery not happening