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/
