Re: finish TODOs in to_json_is_immutable, to_jsonb_is_immutable also add tests on it - Mailing list pgsql-hackers

From Andrew Dunstan
Subject Re: finish TODOs in to_json_is_immutable, to_jsonb_is_immutable also add tests on it
Date
Msg-id 60683900-69e2-4c62-addb-e3ad3b88a129@dunslane.net
Whole thread Raw
In response to Re: finish TODOs in to_json_is_immutable, to_jsonb_is_immutable also add tests on it  (jian he <jian.universality@gmail.com>)
List pgsql-hackers
On 2026-03-10 Tu 9:53 PM, jian he wrote:
> On Tue, Mar 10, 2026 at 10:12 PM Andrew Dunstan <andrew@dunslane.net> wrote:
>> OK, here's a v7.
>>
>> . added a break in the loop if we found something mutable
>>
>> . added test for JSON generated columns (was present for JSONB
>> expression indexes but missing for JSON).
>>
>> . added test block demonstrating that range_int (subtype=int) and
>> multirange_int are now correctly treated as immutable, allowing
>> expression indexes via json_array()
>>     and json_object()
>>
> V7 looks good to me.
> one minor issue:
>
> +-- JSON_OBJECTAGG, JSON_ARRAYAGG is aggregate function, can not be
> used in index
> +create index xx on test_mutability(json_objectagg(a: b absent on null
> with unique keys returning jsonb));
> +ERROR:  aggregate functions are not allowed in index expressions
> +LINE 1: create index xx on test_mutability(json_objectagg(a: b absen...
> +                                           ^
>
> +ERROR:  aggregate functions are not allowed in index expressions
> This error case was never exercised in regression tests, so adding it
> here should be fine.
>
> "can not" should be "cannot".
>
>

Thanks. Pushed.


cheers


andrew


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




pgsql-hackers by date:

Previous
From: "Peter 'PMc' Much"
Date:
Subject: Re: Need help debugging SIGBUS crashes
Next
From: Fujii Masao
Date:
Subject: Re: [PATCH] Docs: clarify default values of EXPLAIN BUFFERS and SERIALIZE