From: Andrew Dunstan Date: Tue, 17 Feb 2026 20:43:32 +0000 (-0500) Subject: Fix the volatility setting of json{b}_strip_nulls X-Git-Tag: REL_18_3~10 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2f6ee7b389c2b570ac55eb25273872b729d397c8;p=thirdparty%2Fpostgresql.git Fix the volatility setting of json{b}_strip_nulls Commit 4603903d294 unfortunately reset the volatility of these functions to STABLE whereas they had previously been set to IMMUTABLE. We can't force a catalog update in the stable release, although a pg_update would probably do the trick. A simpler fix, though, for affected users is probably a simple catalog surgery along the lines of: UPDATE pg_proc SET provolatile = 'i' WHERE oid in (3261,3262); Applied to 18 only. In master we are planning to get rid of the separate redeclarations for defaults in system_functions.sql. Bug: #19409 Reported-By: Lucio Chiessi Discussion: https://postgr.es/m/19409-e16cd2605e59a4af@postgresql.org --- diff --git a/src/backend/catalog/system_functions.sql b/src/backend/catalog/system_functions.sql index 566f308e443..29696b84b35 100644 --- a/src/backend/catalog/system_functions.sql +++ b/src/backend/catalog/system_functions.sql @@ -611,14 +611,14 @@ CREATE OR REPLACE FUNCTION jsonb_strip_nulls(target jsonb, strip_in_arrays boolean DEFAULT false) RETURNS jsonb LANGUAGE INTERNAL -STRICT STABLE PARALLEL SAFE +STRICT IMMUTABLE PARALLEL SAFE AS 'jsonb_strip_nulls'; CREATE OR REPLACE FUNCTION json_strip_nulls(target json, strip_in_arrays boolean DEFAULT false) RETURNS json LANGUAGE INTERNAL -STRICT STABLE PARALLEL SAFE +STRICT IMMUTABLE PARALLEL SAFE AS 'json_strip_nulls'; -- default normalization form is NFC, per SQL standard