Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vqzcP-004dE7-2v for pgsql-bugs@arkaria.postgresql.org; Fri, 13 Feb 2026 20:18:25 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vqzcO-00G8bb-2f for pgsql-bugs@arkaria.postgresql.org; Fri, 13 Feb 2026 20:18:24 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vqzcO-00G8bS-1q for pgsql-bugs@lists.postgresql.org; Fri, 13 Feb 2026 20:18:24 +0000 Received: from sss.pgh.pa.us ([68.162.161.243]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1vqzcL-00000000VAA-016k for pgsql-bugs@lists.postgresql.org; Fri, 13 Feb 2026 20:18:23 +0000 Received: from sss1.sss.pgh.pa.us (localhost [127.0.0.1]) by sss.pgh.pa.us (8.15.2/8.15.2) with ESMTP id 61DKIJ0U562482; Fri, 13 Feb 2026 15:18:19 -0500 From: Tom Lane To: lucio.chiessi@trustly.com cc: pgsql-bugs@lists.postgresql.org, Andrew Dunstan , Florents Tselai Subject: Re: BUG #19409: Function jsonb_strip_nulls() changed from immutable to stable. In-reply-to: <19409-e16cd2605e59a4af@postgresql.org> References: <19409-e16cd2605e59a4af@postgresql.org> Comments: In-reply-to PG Bug reporting form message dated "Fri, 13 Feb 2026 19:51:03 +0000" MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <562480.1771013899.1@sss.pgh.pa.us> Content-Transfer-Encoding: quoted-printable Date: Fri, 13 Feb 2026 15:18:19 -0500 Message-ID: <562481.1771013899@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk PG Bug reporting form 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 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 function= s. 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 = Discussion: https://postgr.es/m/4BCECCD5-4F40-4313-9E98-9E16BEB0B01D@g= mail.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