On 2026-03-10 Tu 9:53 PM, jian he wrote:
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".
Thanks. Pushed. cheers andrew -- Andrew Dunstan EDB: https://www.enterprisedb.com
