public inbox for [email protected]  
help / color / mirror / Atom feed
From: Andrew Dunstan <[email protected]>
To: Tom Lane <[email protected]>
To: [email protected]
Cc: [email protected]
Cc: Florents Tselai <[email protected]>
Subject: Re: BUG #19409: Function jsonb_strip_nulls() changed from immutable to stable.
Date: Mon, 16 Feb 2026 11:18:28 -0500
Message-ID: <[email protected]> (raw)
In-Reply-To: <[email protected]>
References: <[email protected]>
	<[email protected]>


On 2026-02-13 Fr 3:18 PM, Tom Lane wrote:
> PG Bug reporting form<[email protected]> writes:
>> ... this fails in PostgreSQL 18, because the jsonb_strip_nulls ( target
>> jsonb [,strip_in_arrays boolean ] ) function changed from immutable to
>> stable.
> A bit of git excavation shows that this changed here:
>
> Author: Andrew Dunstan<[email protected]>
> Branch: master Release: REL_18_BR [4603903d2] 2025-03-05 10:04:02 -0500
>
>      Allow json{b}_strip_nulls to remove null array elements
>      
>      An additional paramater ("strip_in_arrays") is added to these functions.
>      It defaults to false. If true, then null array elements are removed as
>      well as null valued object fields. JSON that just consists of a single
>      null is not affected.
>      
>      Author: Florents Tselai<[email protected]>
>      
>      Discussion:https://postgr.es/m/[email protected]
>
> It looks like a thinko to me, because surely the strip_in_arrays
> parameter did not make the function more mutable than before.
> Nor did a quick search find any discussion of the point in the
> thread.
>
> 			


Yeah. <paperbag>

In penance for this I have worked up a mechanism to generate 
default-setting statements from pg_proc.dat that I will post separately 
about in -hackers. In the meantime, I guess we should fix it in release 
18 and master, with a release note that people might need to do a manual 
update if affected, along the lines of

    update pg_proc set provolatile = 'i' where oid in (3261,3262);


cheers


andrew

--
Andrew Dunstan
EDB:https://www.enterprisedb.com


reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected], [email protected], [email protected], [email protected], [email protected]
  Subject: Re: BUG #19409: Function jsonb_strip_nulls() changed from immutable to stable.
  In-Reply-To: <[email protected]>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox