Hi Andrew, On Thu, Nov 5, 2026 at 4:41 PM Andrew Dunstan <[email protected]> wrote: > I think the best thing we can do is revert the feature and have > another go in the next development cycle. That leaves us still with > bugs, but stops us from introducing new bugs. > > I propose to do that revert tomorrow.
Agreed. I tried the revert on REL_19_STABLE and master as of de903547c74 and f1e97a29210: git revert applies cleanly, touches only the six files of the original commit and no catalog, builds without warnings, and make check and check-world pass on both. After it, to_json_is_immutable() and to_jsonb_is_immutable() are identical to 18.6's, and of the 330 types I tried in both, the same ones are accepted in a json_array() index. All the 19-only stale cases from this thread are rejected again, including Nik's float8[] and the 24 array variants I posted after it. What can still go stale is what 18.6 already has: types whose cast to json is created or dropped after the index, and float, bytea and geometric values after a change to extra_float_digits or bytea_output. On master, where e75fcc9867f made those output functions stable, only the cast cases remain. One side effect: an index or stored generated column created on a 19 beta or RC with such an expression stays in place after the revert, but a dump of it no longer restores. Once it's in, I'll update the open item. Regards, Manu
