On Tue, Mar 10, 2026 at 10:12 PM Andrew Dunstan <[email protected]> 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".



--
jian
https://www.enterprisedb.com/


Reply via email to