Re: BUG #19409: Function jsonb_strip_nulls() changed from immutable to stable.

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: lucio(dot)chiessi(at)trustly(dot)com
Cc: pgsql-bugs(at)lists(dot)postgresql(dot)org, Andrew Dunstan <andrew(at)dunslane(dot)net>, Florents Tselai <florents(dot)tselai(at)gmail(dot)com>
Subject: Re: BUG #19409: Function jsonb_strip_nulls() changed from immutable to stable.
Date: 2026-02-13 20:18:19
Message-ID: 562481.1771013899@sss.pgh.pa.us
Views: Whole Thread | Raw Message | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

PG Bug reporting form <noreply(at)postgresql(dot)org> 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 <andrew(at)dunslane(dot)net>
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 <florents(dot)tselai(at)gmail(dot)com>

Discussion: https://postgr.es/m/4BCECCD5-4F40-4313-9E98-9E16BEB0B01D@gmail.com

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.

regards, tom lane

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Sebastian Webber 2026-02-13 20:31:18 17.8 standby crashes during WAL replay from 17.5 primary: "could not access status of transaction"
Previous Message PG Bug reporting form 2026-02-13 19:51:03 BUG #19409: Function jsonb_strip_nulls() changed from immutable to stable.